sjz
2025-04-21 74d068d0bf8a55fd8c910b46de8d3e0c0fc2ecf7
MES.Service/service/WomcaaManager.cs
@@ -4,6 +4,7 @@
using SqlSugar;
namespace MES.Service.service;
using DbType = System.Data.DbType;
public class WomcaaManager : Repository<Womcaa>
{
@@ -16,6 +17,7 @@
    public bool SaveList(List<ErpWOM> rohIns)
    {
        var result = rohIns.Select(Save).ToList();
        return result.All(b => b);
    }
@@ -23,7 +25,9 @@
    {
        var womErpCaa = wom.ErpCaa;
        var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa);
        var mesWomcabs =MapErpCABtoWomcab(wom.ErpCabs);
        var mesWomcabs =
            MapErpCABtoWomcab(wom.ErpCabs);
        return UseTransaction(db =>
        {
            switch (womErpCaa.Type)
@@ -32,7 +36,6 @@
                    return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
                case "2":
                case "4":
                case "5":
                    return SaveOrUpdateData(db, mesWomcaa, mesWomcabs)
                        ? 1
                        : 0;
@@ -47,13 +50,25 @@
        List<Womcab> mesWomcabs)
    {
        if (mesWomcaa.Id != null) base.DeleteById(mesWomcaa.Id);
        if (mesWomcabs.Count > 0)
            db.Deleteable<Womcab>()
                .Where(s => s.Eid == mesWomcaa.Erpid).ExecuteCommand();
        var orUpdate = base.Insert(mesWomcaa);
        var baOrUpdate = _womcabManager.InsertRange(mesWomcabs);
        var inputParam = mesWomcaa.Erpid;
        // 使用 SqlSugar 执行存储过程
        Db.Ado.ExecuteCommand(
            "BEGIN PRC_UPDATE_DAA(:P_ID); END;",
            new SugarParameter("P_ID", inputParam,
                DbType.Decimal));
        if (orUpdate && baOrUpdate) return true;
        throw new NotImplementedException("插入或更新失败");
    }
    private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa,
@@ -75,7 +90,9 @@
        {
            Erpid = Convert.ToDecimal(dto.Id),
            Caa001 = dto.FBillNo,
            Caa021 = dto.FWorkShopID,
            Caa021 = dto.FWorkShopID0,
            RoutingId = dto.FRoutingId,
            WorkShopId = dto.FREMWorkShopId,
            DepotCode = dto.FStockId,
            CreateDate = dto.FDate,
            Caa004 = dto.FBillType,
@@ -95,6 +112,7 @@
            Mtono = dto.FMTONO,
            Lot = dto.FLot,
            Caa013 = dto.FBomId,
            Caa015 = dto.F_UNW_Text_xsddh,
            CreateType = dto.FCreateType,
            SrcBillType = dto.FSrcBillType,
            SrcBillNo = dto.FSrcBillNo,
@@ -104,10 +122,11 @@
            ForceCloserid = dto.FForceCloserId,
            CloseType = dto.FCloseType,
            SrcSplitBillno = dto.FSrcSplitBillNo,
            Caa016 = dto.FDESCRIPTION,
            Caa018 = Convert.ToDecimal(dto.PLAN_ID),
            Caa019 = Convert.ToDecimal(dto.PLAN_SEQ),
            Caa020 = dto.PLAN_NUM
            Caa016 = dto.FMemoItem,
            Caa018 = Convert.ToDecimal(dto.planId),
            Caa019 = Convert.ToDecimal(dto.planSeq),
            Caa020 = dto.planNum,
            Fmoentryid = Convert.ToDecimal(dto.FMOENTRYID)
        };
        var single = base.GetSingle(it => it.Erpid == entity.Erpid);
@@ -124,12 +143,12 @@
        {
            var womcab = new Womcab
            {
                Erpid = Convert.ToDecimal(dto.FENTRYID),
                Erpid = Convert.ToDecimal(dto.ID),
                Cab001 = dto.FBillNo,
                Cab002 = dto.FSeq,
                Cab003 = dto.FMaterialID,
                Cab006 = !string.IsNullOrEmpty(dto.FNeedQty)
                    ? Convert.ToDecimal(dto.FNeedQty)
                Cab003 = dto.FMaterialID2,
                Cab006 = !string.IsNullOrEmpty(dto.FNeedQty2)
                    ? Convert.ToDecimal(dto.FNeedQty2)
                    : null,
                Cab007 = !string.IsNullOrEmpty(dto.FPickedQty)
                    ? Convert.ToDecimal(dto.FPickedQty)
@@ -140,6 +159,7 @@
                Lot = dto.FLot,
                DepotCode = dto.FStockID,
                IssueType = dto.FIssueType,
                Cab008 = dto.F_UNW_Text_tpgy,
                Cab009 = dto.FUnitID,
                SupplyType = dto.FSupplyType,
                Cab012 = !string.IsNullOrEmpty(dto.FStdQty)
@@ -148,7 +168,9 @@
                Cab014 = dto.FIsKeyItem,
                Numerator = dto.FNumerator,
                Denominator = dto.FDenominator,
                Eid = Convert.ToDecimal(dto.FID)
                Eid = Convert.ToDecimal(dto.PID),
                SCRAPQTY = Convert.ToDecimal(dto.FFixScrapQty),
                SCRAPRATE = Convert.ToDecimal(dto.FScrapRate)
            };
            var entity = Db.Queryable<Womcab>()