From 85ba3b8ad0bead0baf95d4623f4804c404721bac Mon Sep 17 00:00:00 2001
From: CRZ <1278080563@qq.com>
Date: 星期六, 20 十二月 2025 18:03:13 +0800
Subject: [PATCH] 任务单推送修改和销售订单修改

---
 MES.Service/service/WomcaaManager.cs |   41 +++++++++++++++++++++--------------------
 1 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index c3a37d9..bf6cfd0 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -219,11 +219,17 @@
     {
         var womcabList = new List<Womcab>();
 
-        foreach (var dto in dtoList)
+        // ========== 淇:鎸� 鍗曞彿+鍗曞埆+鐗╂枡缂栧彿 鍘婚噸,閬垮厤WOMDAB閲嶅 ==========
+        // 濡傛灉鏈夐噸澶嶈褰�,鍙栨渶鍚庝竴鏉�
+        var distinctList = dtoList
+            .GroupBy(x => new { x.FBillNo, x.FBillNoType, x.FMaterialID2 })
+            .Select(g => g.Last())
+            .ToList();
+
+        foreach (var dto in distinctList)
         {
             var womcab = new Womcab
             {
-
                 Cab001 = dto.FBillNo,
                 Cab002 = dto.FBillNoType,
                 Cab003 = dto.FMaterialID2,
@@ -242,10 +248,7 @@
                 Cab014 = dto.FIsKeyItem,
                 Numerator = dto.FNumerator,
                 Denominator = dto.FDenominator
-
             };
-
-
 
             womcabList.Add(womcab);
         }
@@ -267,20 +270,8 @@
 
         return UseTransaction(db =>
         {
-            // 鍒犻櫎涓昏〃鏁版嵁
-            var deleteMain = db.Deleteable<Womcaa>()
-                .Where(it => it.Caa001 == data.FBillNo && it.SrcBillType == data.FBillTypeID)
-                .ExecuteCommand() > 0;
-
-            // 鍒犻櫎瀛愯〃鏁版嵁
-            var deleteDetail = db.Deleteable<Womcab>()
-                .Where(it => it.Cab001 == data.FBillNo && it.Cab002 == data.FBillTypeID)
-                .ExecuteCommand() > 0;
-
-            if (!deleteMain || !deleteDetail)
-                throw new Exception("鍒犻櫎澶辫触锛氫富琛ㄦ垨瀛愯〃璁板綍涓嶅瓨鍦�");
-
-            // 璋冪敤瀛樺偍杩囩▼杩涜鍚庣画澶勭悊
+            // ========== 淇:鍏堣皟鐢ㄥ瓨鍌ㄨ繃绋�(姝ゆ椂WOMCAB鏁版嵁杩樺湪),鍐嶅垹闄OMCAA鍜學OMCAB ==========
+            // 瀛樺偍杩囩▼PRC_DELETE_DAA闇�瑕佽鍙朩OMCAB鏁版嵁鏉ュ垹闄ゅ搴旂殑WOMDAB
             var inputParam1 = new SugarParameter("P_WORK_NO", data.FBillNo);
             var inputParam2 = new SugarParameter("P_WORK_TYPE", data.FBillTypeID);
             var outParam1 = new SugarParameter("C_RESULT", null, true); // 杈撳嚭鍙傛暟
@@ -298,9 +289,19 @@
                 //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊�
                 db.Ado.RollbackTran();
                 throw new Exception(message);
-
             }
 
+            // 瀛樺偍杩囩▼鎵ц鎴愬姛鍚�,鍐嶅垹闄OMCAA鍜學OMCAB
+            // 鍒犻櫎瀛愯〃鏁版嵁
+            db.Deleteable<Womcab>()
+                .Where(it => it.Cab001 == data.FBillNo && it.Cab002 == data.FBillTypeID)
+                .ExecuteCommand();
+
+            // 鍒犻櫎涓昏〃鏁版嵁
+            db.Deleteable<Womcaa>()
+                .Where(it => it.Caa001 == data.FBillNo && it.SrcBillType == data.FBillTypeID)
+                .ExecuteCommand();
+
             return 1;
         }) > 0;
     }

--
Gitblit v1.9.3