南骏 池
2025-02-07 8dd9fc1a302394e1511f44ec35127e42fd20c1ea
1.条码拆分
已添加2个文件
已修改1个文件
150 ■■■■■ 文件已修改
Controllers/Warehouse/MesBarCFController.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/service/WarehouseQuery.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/MesBarCFManager.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Warehouse/MesBarCFController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using System.Dynamic;
using Microsoft.AspNetCore.Mvc;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service.Warehouse;
using NewPdaSqlServer.util;
namespace NewPdaSqlServer.Controllers.Warehouse;
[ApiController]
[Route("api/[controller]")]
public class MesBarCFController : ControllerBase
{
    private readonly MesBarCFManager m = new();
    /// <summary>
    ///     èŽ·å–æ¡ç ä¿¡æ¯å’Œç‰©æ–™ä¿¡æ¯
    /// </summary>
    /// <returns></returns>
    [HttpPost("GetBarInfo")]
    public ResponseResult GetBarInfo(WarehouseQuery unity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetBarInfo(unity);
            resultInfos.tbMesItems = m.GetItemNo(resultInfos.tbBillList.ItemId);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     èŽ·å–æ¡ç ä¿¡æ¯å’Œç‰©æ–™ä¿¡æ¯
    /// </summary>
    /// <returns></returns>
    [HttpPost("BarCF")]
    public ResponseResult BarCF(WarehouseQuery unity)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.BarCF(unity);
            return new ResponseResult
            {
                status = 0,
                message = resultInfos.tbBillList,
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
Dto/service/WarehouseQuery.cs
@@ -28,6 +28,9 @@
    public decimal? Num { get; set; }
    public decimal? Fum { get; set; }
    //拆分数量
    public decimal? CfNum { get; set; }
    public string? itemNo { get; set; }
    public string? message { get; set; }
}
service/Warehouse/MesBarCFManager.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
using System.Data;
using System.Data.SqlClient;
using Masuit.Tools;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using SqlSugar;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
namespace NewPdaSqlServer.service.Warehouse;
public class MesBarCFManager : Repository<MesCgthSq>
{
    public MesInvItemStocks GetBarInfo(WarehouseQuery unity)
    {
        return Db.Queryable<MesInvItemStocks>()
            .Where(s => s.ItemBarcode == unity.barcode)
            .First(); // è¿”回第一行数据,如果没有则返回 null
    }
    public MesItems GetItemNo(decimal strItemId)
    {
        return Db.Queryable<MesItems>()
            .Where(s => s.Id == strItemId)
            .First();
    }
    public string BarCF(WarehouseQuery unity)
    {
        var _strMsg = "";
        var _intSum = "";
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            if (unity.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空");
            if (unity.CfNum <= 0) throw new Exception("拆分数量需大于等于0");
            if (unity.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空");
            using (var cmd = new SqlCommand("[prc_pda_bar_cf]", conn))
            {
                try
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    {
                        new("@outMsg", SqlDbType.NVarChar, 300),
                        new("@outSum", SqlDbType.NVarChar, 300),
                        new("@barcode_new", SqlDbType.NVarChar, 300),
                        new("@c_user", unity.userName),
                        new("@p_old_barcode", unity.barcode),
                        new("@p_qty", unity.CfNum),
                    };
                    parameters[0].Direction = ParameterDirection.Output;
                    parameters[1].Direction = ParameterDirection.Output;
                    parameters[2].Direction = ParameterDirection.Output;
                    foreach (var parameter in parameters)
                        cmd.Parameters.Add(parameter);
                    cmd.ExecuteNonQuery();
                    _strMsg = parameters[0].Value.ToString();
                    _intSum = parameters[1].Value.ToString();
                    var result = Convert.ToInt32(_intSum);
                    if (result <= 0) throw new Exception(_strMsg);
                    return _strMsg;
                    //return 0;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
    }
}