From 34f22dd5f386f225131447247a1d1ad098e4ddc7 Mon Sep 17 00:00:00 2001
From: 展杰 <1240968267@qq.com>
Date: 星期三, 21 八月 2024 11:03:10 +0800
Subject: [PATCH] womcab 添加损耗字段

---
 MES.Service/service/WomcaaManager.cs |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index 354a2c3..1e2727b 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -23,9 +23,7 @@
     {
         var womErpCaa = wom.ErpCaa;
         var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa);
-        var mesWomcabs =
-            MapErpCABtoWomcab(wom.ErpCabs);
-
+        var mesWomcabs =MapErpCABtoWomcab(wom.ErpCabs);
         return UseTransaction(db =>
         {
             switch (womErpCaa.Type)
@@ -34,6 +32,7 @@
                     return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
                 case "2":
                 case "4":
+                case "5":
                     return SaveOrUpdateData(db, mesWomcaa, mesWomcabs)
                         ? 1
                         : 0;
@@ -48,11 +47,9 @@
         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);
         if (orUpdate && baOrUpdate) return true;
@@ -74,12 +71,11 @@
 
     private Womcaa MapErpCAAtoWomcaa(ErpCAA dto)
     {
-        return new Womcaa
+        var entity = new Womcaa
         {
             Erpid = Convert.ToDecimal(dto.Id),
             Caa001 = dto.FBillNo,
-            WorkShopId = dto.FWorkShopID0,
-            RoutingId = dto.FRoutingId,
+            Caa021 = dto.FWorkShopID,
             DepotCode = dto.FStockId,
             CreateDate = dto.FDate,
             Caa004 = dto.FBillType,
@@ -99,7 +95,6 @@
             Mtono = dto.FMTONO,
             Lot = dto.FLot,
             Caa013 = dto.FBomId,
-            Caa015 = dto.F_UNW_Text_xsddh,
             CreateType = dto.FCreateType,
             SrcBillType = dto.FSrcBillType,
             SrcBillNo = dto.FSrcBillNo,
@@ -109,8 +104,16 @@
             ForceCloserid = dto.FForceCloserId,
             CloseType = dto.FCloseType,
             SrcSplitBillno = dto.FSrcSplitBillNo,
-            Caa016 = dto.FMemoItem
+            Caa016 = dto.FDESCRIPTION,
+            Caa018 = Convert.ToDecimal(dto.PLAN_ID),
+            Caa019 = Convert.ToDecimal(dto.PLAN_SEQ),
+            Caa020 = dto.PLAN_NUM
         };
+
+        var single = base.GetSingle(it => it.Erpid == entity.Erpid);
+        if (single != null) entity.Id = single.Id;
+
+        return entity;
     }
 
     private List<Womcab> MapErpCABtoWomcab(List<ErpCAB> dtoList)
@@ -121,11 +124,12 @@
         {
             var womcab = new Womcab
             {
-                Erpid = Convert.ToDecimal(dto.ID),
+                Erpid = Convert.ToDecimal(dto.FENTRYID),
                 Cab001 = dto.FBillNo,
-                Cab003 = dto.FMaterialID2,
-                Cab006 = !string.IsNullOrEmpty(dto.FNeedQty2)
-                    ? Convert.ToDecimal(dto.FNeedQty2)
+                Cab002 = dto.FSeq,
+                Cab003 = dto.FMaterialID,
+                Cab006 = !string.IsNullOrEmpty(dto.FNeedQty)
+                    ? Convert.ToDecimal(dto.FNeedQty)
                     : null,
                 Cab007 = !string.IsNullOrEmpty(dto.FPickedQty)
                     ? Convert.ToDecimal(dto.FPickedQty)
@@ -136,7 +140,6 @@
                 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)
@@ -145,9 +148,13 @@
                 Cab014 = dto.FIsKeyItem,
                 Numerator = dto.FNumerator,
                 Denominator = dto.FDenominator,
-                Eid = Convert.ToDecimal(dto.PID)
+                Eid = Convert.ToDecimal(dto.FID)
             };
 
+            var entity = Db.Queryable<Womcab>()
+                .Where(s => s.Erpid == womcab.Erpid).Single();
+            if (entity != null) womcab.Id = entity.Id;
+
             womcabList.Add(womcab);
         }
 

--
Gitblit v1.9.3