From a5019b475f8620dba3b495da983f4db9e32f7ca8 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期四, 10 七月 2025 08:18:36 +0800
Subject: [PATCH] AOI

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

diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index 928bde2..a569556 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -24,7 +24,7 @@
     public bool Save(ErpWOM wom)
     {
         var womErpCaa = wom.ErpCaa;
-        var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa);
+        var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa, wom.ErpCabs[0].FXSHTBH, wom.ErpCabs[0].F_ZJXF_HSDJ);
         var mesWomcabs =
             MapErpCABtoWomcab(wom.ErpCabs);
 
@@ -58,6 +58,7 @@
         }
         var orUpdate = base.Insert(mesWomcaa);
         var baOrUpdate = _womcabManager.InsertRange(mesWomcabs);
+        db.Ado.CommitTran();
         if (orUpdate && baOrUpdate)
         {
             //瀹氫箟杈撳叆鍙傛暟
@@ -73,11 +74,11 @@
             if (result == 1)
             {
                 //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊�
-                db.Ado.RollbackTran();
+                //db.Ado.RollbackTran();
                 throw new Exception(message);
             }
             // 鎻愪氦浜嬪姟
-            db.Ado.CommitTran();
+            //db.Ado.CommitTran();
             return true;
         }
         throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
@@ -85,14 +86,41 @@
 
     private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
     {
-        if (mesWomcaa.Id != null) base.DeleteById(mesWomcaa.Id);
+        if (mesWomcaa.Id != null) 
+        {
+            base.DeleteById(mesWomcaa.Id);
+        }
 
-        if (mesWomcabs.Count > 0)
+        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;
+        db.Ado.CommitTran();
+        if (orUpdate && baOrUpdate)
+        {
+            //瀹氫箟杈撳叆鍙傛暟
+            var inputParam1 = new SugarParameter("P_WORK_NO", mesWomcaa.Caa001);
+            // 瀹氫箟杈撳嚭鍙傛暟
+            var outParam1 = new SugarParameter("c_Result", null, true);
+            var outParam2 = new SugarParameter("C_MSG", null, true);
+            // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+            Db.Ado.ExecuteCommand("BEGIN PRC_UPDATE_DAA(:P_WORK_NO,:c_Result,:C_MSG); END;", inputParam1, outParam1, outParam2);
+            // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+            int result = int.Parse((string)outParam1.Value);
+            string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value;
+            if (result == 1)
+            {
+                //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊�
+                //db.Ado.RollbackTran();
+                throw new Exception(message);
+            }
+            // 鎻愪氦浜嬪姟
+            //db.Ado.CommitTran();
+            return true;
+        }
         throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
     }
 
@@ -106,7 +134,7 @@
         throw new NotImplementedException("鏇存柊澶辫触");
     }
 
-    private Womcaa MapErpCAAtoWomcaa(ErpCAA dto)
+    private Womcaa MapErpCAAtoWomcaa(ErpCAA dto,string? fxshtbh,string? hsdj)
     {
         string jabs="0";
 
@@ -122,7 +150,7 @@
             Caa011 = dto.FPlanFinishDate,
             Caa012 = Convert.ToDecimal(dto.FQty),
             Caa013 = dto.FBomId,
-            Caa015 = dto.FXSHTH,
+            Caa015 = fxshtbh,
             Caa015Head = dto.FSaleOrderEntrySeq,
             Caa016 = dto.FDescription,
             Caa017 = 0,
@@ -148,7 +176,7 @@
             SrcBillType = dto.FSrcBillType,
             SrcBillNo = dto.FSrcBillNo,
             SrcBillentryseq = dto.FSrcBillEntrySeq,
-            SaleOrderNo = dto.FXSHTH,
+            SaleOrderNo = dto.FSaleOrderNo,
             SaleOrderEntryseq = dto.FSaleOrderEntrySeq,
             ForceCloserid = dto.FForceCloserId,
             CloseType = dto.FCloseType,
@@ -158,7 +186,10 @@
             PrdOrg = dto.erP_SCZZ,
             TrustOrg = dto.erP_WTZZ,
             TbTime = DateTime.Now,
-            JaBs = "0"
+            JaBs = "0",
+            SupplierId=dto.SupplierId,
+            FinishedProduct=dto.FinishedProduct,
+            F_ZJXF_HSDJ= hsdj
         };
 
         if (dto.Type == "5")
@@ -225,7 +256,6 @@
 
             womcabList.Add(womcab);
         }
-
         return womcabList;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3