kyy
2025-07-24 799a463b41e84aa265f109035c08892614ea9fd8
MES.Service/service/WomcaaManager.cs
@@ -48,7 +48,7 @@
        }) > 0;
    }
   private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,
    private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,
        List<Womcab> mesWomcabs)
    {
        if (mesWomcaa.Id != null) base.DeleteById(mesWomcaa.Id);
@@ -63,16 +63,16 @@
        //单条插入忽略空字段
        var orUpdate = db.Insertable(mesWomcaa)
            .IgnoreColumns(true).ExecuteCommand() > 0;
        //批量插入数据库时忽略空字段
        var baOrUpdate = db.Insertable(mesWomcabs).PageSize(1)
            .IgnoreColumnsNull()
            .ExecuteCommand() > 0;
     // 定义输入参数
        // 定义输入参数
        var inputParam = mesWomcaa.Erpid;
        // // 2024-12-09定义输出参数
       var outputResult = new SugarParameter("p_flag", null,
        var outputResult = new SugarParameter("p_flag", null,
            DbType.Int32, ParameterDirection.Output,
            4000);
        var outputMessage = new SugarParameter("p_text", null,
@@ -86,11 +86,12 @@
            outputMessage
        };
   // 使用 SqlSugar 执行存储过程
        Db.Ado.ExecuteCommand("BEGIN PRC_UPDATE_DAA1(:P_ID,:p_flag,:p_text); END;",
        // 使用 SqlSugar 执行存储过程
        Db.Ado.ExecuteCommand(
            "BEGIN PRC_UPDATE_DAA1(:P_ID,:p_flag,:p_text); END;",
            // new SugarParameter("P_ID", inputParam, DbType.Decimal)
            parameters.ToArray());
        // 2024-12-09获取输出参数的值
        var resultValue = outputResult.Value?.ToString();
        var messageValue = outputMessage.Value?.ToString();
@@ -107,20 +108,16 @@
        var decimals = mesWomcabs.Select(s => s.Id).Distinct().ToArray();
        var update = false;
        if (mesWomcaa.Id != null)
        {
            update = base.DeleteById(mesWomcaa.Id);
        }
        if (mesWomcaa.Id != null) update = base.DeleteById(mesWomcaa.Id);
        var array = decimals.Where(s => s.HasValue).Select(s => s.Value).ToArray();
        var array = decimals.Where(s => s.HasValue).Select(s => s.Value)
            .ToArray();
        var insertOrUpdate = false;
        if (array.Length > 0)
        {
            insertOrUpdate = db
                .Deleteable<Womcab>().In(decimals)
                .ExecuteCommand() > 0;
        }
        if (update && insertOrUpdate) return true;
        throw new NotImplementedException("更新失败");
@@ -159,7 +156,7 @@
            SrcBillType = dto.FSrcBillType, ///     源单类型
            SrcBillNo = dto.FSrcBillNo, ///     源单编号
            SrcBillentryseq = dto.FSrcBillEntrySeq, ///     源单分录行号
            SaleOrderNo = dto.FSaleOrderNo, ///     需求单据号
            SaleOrderNo = dto.F_XIFG_Text_qtr, ///    销售订单号
            SaleOrderEntryseq = dto.FSaleOrderEntrySeq, ///     需求单据行号
            ForceCloserid = dto.FForceCloserId, ///     结案人
            CloseType = dto.FCloseType, ///     结案类型
@@ -173,7 +170,7 @@
                ? Convert.ToDecimal(dto.PLAN_SEQ)
                : null, ///     ERP源单行号
            Caa020 = dto.PLAN_NUM, ///     ERP源单单号(任务单号)
            Caa015 = dto.F_UNW_Text_xsddh, ///     销售订单号
            Caa015 = dto.FSaleOrderNo, ///   需求单据号
            Caa024 = !string.IsNullOrEmpty(dto.Caa024)
                ? Convert.ToDecimal(dto.Caa024)
                : null, //已入库数量
@@ -190,7 +187,9 @@
            //Caa024 = !string.IsNullOrEmpty(dto.FStockInQuaAuxQty)
            //? Convert.ToDecimal(dto.FStockInQuaAuxQty)
            // : null,//合格品入库数量
            ErpUpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //当前时间
            ErpUpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), //当前时间
            FbillNo = dto.F_XIFG_Text_zzjxqd, //组织间需求单
            Moid = Convert.ToDecimal(dto.moid) ///     生产订单分录内嘛
        };
        var single = base.GetSingle(it => it.Erpid == entity.Erpid);
@@ -223,20 +222,29 @@
                     : null, /// 组成用量 */
                //Cab009 = dto.FUnitID,/// 单位
                //2024-11-15 14:05 用料清单克转千克
                Cab006 = !string.IsNullOrEmpty(dto.FNeedQty) && int.TryParse(dto.FUnitID, out int unitId)
                    ? (unitId == 10097 ? Convert.ToDecimal(dto.FNeedQty) / 1000 : Convert.ToDecimal(dto.FNeedQty))
                    : (decimal?)null,
                Cab007 = !string.IsNullOrEmpty(dto.FPickedQty) && int.TryParse(dto.FUnitID, out int pickedQty)
                    ? (pickedQty == 10097
                        ? Convert.ToDecimal(dto.FPickedQty) / 1000
                        : Convert.ToDecimal(dto.FPickedQty))
                    : (decimal?)null,
                Cab009 = int.TryParse(dto.FUnitID, out int unitId1)
                    ? (unitId1 == 10097 ? (10095).ToString() : (Convert.ToDecimal(dto.FUnitID)).ToString())
                Cab006 = !string.IsNullOrEmpty(dto.FNeedQty) &&
                         int.TryParse(dto.FUnitID, out var unitId)
                    ? unitId == 10097
                        ? Convert.ToDecimal(dto.FNeedQty) / 1000
                        : Convert.ToDecimal(dto.FNeedQty)
                    : null,
                Cab012 = !string.IsNullOrEmpty(dto.FStdQty) && int.TryParse(dto.FUnitID, out int fStdQty)
                    ? (fStdQty == 10097 ? Convert.ToDecimal(dto.FStdQty) / 1000 : Convert.ToDecimal(dto.FStdQty))
                    : (decimal?)null,
                Cab007 = !string.IsNullOrEmpty(dto.FPickedQty) &&
                         int.TryParse(dto.FUnitID, out var pickedQty)
                    ? pickedQty == 10097
                        ? Convert.ToDecimal(dto.FPickedQty) / 1000
                        : Convert.ToDecimal(dto.FPickedQty)
                    : null,
                Cab009 = int.TryParse(dto.FUnitID, out var unitId1)
                    ? unitId1 == 10097
                        ? 10095.ToString()
                        : Convert.ToDecimal(dto.FUnitID).ToString()
                    : null,
                Cab012 = !string.IsNullOrEmpty(dto.FStdQty) &&
                         int.TryParse(dto.FUnitID, out var fStdQty)
                    ? fStdQty == 10097
                        ? Convert.ToDecimal(dto.FStdQty) / 1000
                        : Convert.ToDecimal(dto.FStdQty)
                    : null,
                PositionNo = dto.FPositionNO, /// 位置号 
                SupplyOrganization = dto.FChildSupplyOrgId, /// 供应组织 
                IssuingOrganization = dto.FSUPPLYORG, /// 发料组织 
@@ -261,11 +269,12 @@
                CustomerItemNumber = dto.F_XIFG_Text_re5, /// 客户货号 
                PackingListNumber = dto.F_XIFG_Text_apv, /// 包装单号 
                MainProduct = dto.F_XIFG_Base_re5, /// 主产品 
                MainProductQty = Convert.ToDecimal(dto.F_XIFG_Qty_apv), /// 主产品数量
                MainProductQty =
                    Convert.ToDecimal(dto.F_XIFG_Qty_apv), /// 主产品数量
                ParentItemName = dto.F_XIFG_Base_apv, /// 父项物料名称
                Cab020 = !string.IsNullOrEmpty(dto.FACTUALPICKOTY)
                    ? Convert.ToDecimal(dto.FACTUALPICKOTY)
                    : null, //实领数量
                    : null //实领数量
            };
            var entity = Db.Queryable<Womcab>()