111
啊鑫
2 天以前 8b7abd97e7b69800789134ed8e809e19a5b5ba74
service/Warehouse/MesCgthSqManager.cs
@@ -5,8 +5,8 @@
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SqlSugar;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
namespace NewPdaSqlServer.service.Warehouse;
@@ -24,10 +24,12 @@
    {
        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("申请单号为空");
        var mesInvItemOuts = base.GetSingle(it => it.BillNo == query.billNo && it.Status == true);
        var mesInvItemOuts = base.GetSingle(it =>
            it.BillNo == query.billNo && it.Status == true);
        if (mesInvItemOuts == null) throw new Exception("采购退货申请单不存在或未审核");
        var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty,
        var sql = string.Format(
            @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty,
       dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,A.depot_id,'','') as RecoKw
fROM MES_CGTH_SQ_DETAIL A
         LEFT JOIN MES_CGTH_SQ B ON A.MID = B.ID
@@ -36,10 +38,7 @@
        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
        if(womdabs.Count < 1)
        {
            throw new Exception("该采购退货申请单明细不存在");
        }
        if (womdabs.Count < 1) throw new Exception("该采购退货申请单明细不存在");
        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
@@ -69,11 +68,11 @@
            throw new ApplicationException("GUID转换错误"); // 如果转换失败,则抛出异常
        // 使用SqlSugar框架查询MesInvItemOutItems和MesItems表,根据ItemId进行内连接
        var mesInvItemOutItemsList = Db.Queryable<MesCgthSqDetail, MesItems>(
                (c, s) => new object[]
                {
                    JoinType.Inner, c.ItemId == s.Id // 内连接条件
                }).Where((c, s) => c.Mid == parsedGuid) // 根据ItemOutId过滤
        var mesInvItemOutItemsList = Db
            .Queryable<MesCgthSqDetail, MesItems>((c, s) => new object[]
            {
                JoinType.Inner, c.ItemId == s.Id // 内连接条件
            }).Where((c, s) => c.Mid == parsedGuid) // 根据ItemOutId过滤
            .Select<MesCgthSqDetail>((c, s) =>
                new MesCgthSqDetail // 选择并映射到MesInvItemOutItems对象
                {
@@ -104,7 +103,8 @@
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            if (query.userName.IsNullOrEmpty()) throw new Exception("用户名不允许为空");
            if (query.billNo.IsNullOrEmpty()) throw new Exception("申请单号不允许为空");            if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空");
            if (query.billNo.IsNullOrEmpty()) throw new Exception("申请单号不允许为空");
            if (query.barcode.IsNullOrEmpty()) throw new Exception("条码不允许为空");
            using (var cmd = new SqlCommand("[prc_pda_CGTH]", conn))
            {
@@ -172,7 +172,7 @@
        var _strMsg = "";
        var _intSum = "";
        var _cfBar = "";//拆分后条码
        var _cfBar = ""; //拆分后条码
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            using (var cmd = new SqlCommand("[prc_pda_CGTH_CF]", conn))
@@ -208,8 +208,8 @@
                    var dto = new ProductionPickDto
                    {
                        daa001 = query.billNo,
                        barcode = query.barcode,//原条码
                        cfBarcode = _cfBar//拆分后条码
                        barcode = query.barcode, //原条码
                        cfBarcode = _cfBar //拆分后条码
                    };
                    return dto;
@@ -228,7 +228,7 @@
    /// <summary>
    /// 采购扫码验退
    ///     采购扫码验退
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
@@ -237,7 +237,8 @@
    /// <exception cref="Exception"></exception>
    public dynamic ScanCgyt(dynamic query)
    {
        if (query == null) throw new ArgumentNullException(nameof(query), "参数对象不能为 null");
        if (query == null)
            throw new ArgumentNullException(nameof(query), "参数对象不能为 null");
        // 2. 使用 string.IsNullOrEmpty 直接判断字符串属性(避免 NullReferenceException)
        if (string.IsNullOrEmpty(query.userName?.ToString()))
@@ -253,11 +254,16 @@
                cmd.CommandType = CommandType.StoredProcedure;
                var parameters = new SqlParameter[]
                {
                    new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName },
                    new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = query.barcode },
                    new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
                    new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output },
                    new("@po_ygdh", SqlDbType.NVarChar, 200) { Direction = ParameterDirection.Output }
                    new("@pi_user", SqlDbType.NVarChar, 100)
                        { Value = query.userName },
                    new("@pi_barcode", SqlDbType.NVarChar, 100)
                        { Value = query.barcode },
                    new("@po_outMsg", SqlDbType.NVarChar, 2000)
                        { Direction = ParameterDirection.Output },
                    new("@po_outSum", SqlDbType.Int)
                        { Direction = ParameterDirection.Output },
                    new("@po_ygdh", SqlDbType.NVarChar, 200)
                        { Direction = ParameterDirection.Output }
                };
                cmd.Parameters.AddRange(parameters);
@@ -267,7 +273,7 @@
                var result = new
                {
                    result = parameters[3].Value.ToString(),
                    barcode = query.barcode,
                    query.barcode,
                    ytdh = parameters[4].Value.ToString(),
                    msg = parameters[2].Value.ToString()
                };
@@ -281,7 +287,7 @@
    }
    /// <summary>
    /// 删除验退单
    ///     删除验退单
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
@@ -290,7 +296,8 @@
    /// <exception cref="Exception"></exception>
    public dynamic deleteCgyt(dynamic query)
    {
        if (query == null) throw new ArgumentNullException(nameof(query), "参数对象不能为 null");
        if (query == null)
            throw new ArgumentNullException(nameof(query), "参数对象不能为 null");
        // 2. 使用 string.IsNullOrEmpty 直接判断字符串属性(避免 NullReferenceException)
        if (string.IsNullOrEmpty(query.userName?.ToString()))
@@ -306,10 +313,14 @@
                cmd.CommandType = CommandType.StoredProcedure;
                var parameters = new SqlParameter[]
                {
                    new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName },
                    new("@pi_ytdh", SqlDbType.NVarChar, 100) { Value = query.ytdh },
                    new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
                    new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }
                    new("@pi_user", SqlDbType.NVarChar, 100)
                        { Value = query.userName },
                    new("@pi_ytdh", SqlDbType.NVarChar, 100)
                        { Value = query.ytdh },
                    new("@po_outMsg", SqlDbType.NVarChar, 2000)
                        { Direction = ParameterDirection.Output },
                    new("@po_outSum", SqlDbType.Int)
                        { Direction = ParameterDirection.Output }
                };
                cmd.Parameters.AddRange(parameters);
@@ -319,7 +330,7 @@
                var result = new
                {
                    result = parameters[3].Value.ToString(),
                    msg = parameters[2].Value.ToString(),
                    msg = parameters[2].Value.ToString()
                };
                if (result.result == "-1")
@@ -331,18 +342,19 @@
    }
    /// <summary>
    /// 获取验退单已扫物料信息
    ///     获取验退单已扫物料信息
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    public dynamic getYtItem(string ytdh)
    {
        if (string.IsNullOrEmpty(ytdh?.ToString()))
        if (string.IsNullOrEmpty(ytdh))
            throw new ArgumentException("验退单号不允许为空", nameof(ytdh));
        var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) };
        var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity
        var sql1 =
            @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity
FROM MES_INV_ITEM_CGYT_ITEMS A
         LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID
        LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id
@@ -359,18 +371,19 @@
    }
    /// <summary>
    /// 获取验退单已扫条码信息
    ///     获取验退单已扫条码信息
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    public dynamic getYtBarInfo(string ytdh)
    {
        if (string.IsNullOrEmpty(ytdh?.ToString()))
        if (string.IsNullOrEmpty(ytdh))
            throw new ArgumentException("验退单号不允许为空", nameof(ytdh));
        var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) };
        var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE
        var sql1 =
            @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE
FROM MES_INV_ITEM_CGYT_C_DETAILS A
         LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID
        LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id