From 7adfb8fc17ad13b72c4f53a3aafce04b74459c50 Mon Sep 17 00:00:00 2001
From: wbc <2597324127@qq.com>
Date: 星期四, 17 七月 2025 12:56:41 +0800
Subject: [PATCH] 科技项目ID转换

---
 StandardPda/MES.Service/service/WomcaaManager.cs |  100 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 81 insertions(+), 19 deletions(-)

diff --git a/StandardPda/MES.Service/service/WomcaaManager.cs b/StandardPda/MES.Service/service/WomcaaManager.cs
index 3100366..8dbec7d 100644
--- a/StandardPda/MES.Service/service/WomcaaManager.cs
+++ b/StandardPda/MES.Service/service/WomcaaManager.cs
@@ -57,7 +57,30 @@
             .IgnoreColumnsNull()
             .ExecuteCommand() > 0;
 
-        if (orUpdate && baOrUpdate) return true;
+
+        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("鏇存柊澶辫触");
     }
 
@@ -81,8 +104,6 @@
             Erpid = Convert.ToInt64(dto.Id),
             Caa001 = dto.FBillNo,
             Caa021 = dto.FWorkShopID,
-            RoutingId = dto.FRoutingId,
-            WorkShopId = dto.FREMWorkShopId,
             DepotCode = dto.FStockId,
             CreateDate = dto.FDate,
             Caa004 = dto.FBillType,
@@ -104,13 +125,7 @@
             Caa013 = dto.FBomId,
 
             CreateType = dto.FCreateType,
-            Caa018 = !string.IsNullOrEmpty(dto.PLAN_ID)
-                ? Convert.ToInt64(dto.PLAN_ID)
-                : null,
-            Caa019 = !string.IsNullOrEmpty(dto.PLAN_SEQ)
-                ? Convert.ToInt64(dto.PLAN_SEQ)
-                : null,
-            Caa020 = dto.PLAN_NUM,
+            Caa020 = dto.FBillNo,
             SrcBillType = dto.FSrcBillType,
             SrcBillNo = dto.FSrcBillNo,
             SrcBillentryseq = dto.FSrcBillEntrySeq,
@@ -120,23 +135,49 @@
             CloseType = dto.FCloseType,
             SrcSplitBillno = dto.FSrcSplitBillNo,
             Caa016 = dto.FDescription,
-            //BTBZ = dto.BTBZ,  
             PrdOrg = dto.FPrdOrgId,
-            TrustOrg = dto.FEnTrustOrgId
-            //Typea = dto.TypeA
+            TrustOrg = dto.FEnTrustOrgId,
+            Bomtype = dto.FBOMType,
+            Bommaster = dto.FBOMMaster,
+            Bomaltrnate = dto.FBOMAlternate,
+            Bomeffedate = dto.FBOMEffeDate,
+            Routingalternate = dto.FRoutingAlternate,
+            Routingeffedate = dto.FRoutingEffeDate,
+            Mrpqty = dto.FMRPQty,
+            Actualstartdate = dto.FActualStartDate,
+            Actualcompletedate = dto.FActualCompleteDate,
+            Mosourcedoctype = dto.FMOSourceDocType,
+            Project = dto.FProject,
+            Ownerorg = dto.FOwnerOrg,
+            Createdby =  dto.FCreatedBy,
+            Createdon = dto.FCreatedOn,
+            Totalstartqty =  dto.FTotalStartQty,
+            Totalcompleteqty = dto.FTotalCompleteQty,
+            Totalrcvqty = dto.FTotalRcvQty,
+            Totalreworkingqty = dto.FTotalReworkingQty,
+            Reasonforrework = dto.FReasonForRework,
+            Isforcewholeset = dto.FIsForceWholeSet,
+            PREVMO = dto.FPrevMO,
+            Typea = dto.TypeA
         };
 
 
         var single = base.GetSingle(it => it.Erpid == entity.Erpid);
         if (single != null) entity.Id = single.Id;
-        
+
         //Caa006 = dto.FMaterialId,
         var mesLinkU9 = Db.Queryable<MesLinkU9>()
             .Where(x => x.U9Id == dto.FMaterialId
                         && x.OrgId == dto.FPrdOrgId
                         && x.TableType == "MES_ITEMS").First();
 
+        var mesLinkU9_xm = Db.Queryable<MesLinkU9>()
+           .Where(x => x.U9Id == Convert.ToString(dto.FProject)
+                       && x.OrgId == dto.FPrdOrgId
+                       && x.TableType == "MES_PROJECT").First();
+
         if (mesLinkU9 != null) entity.Caa006 = mesLinkU9.MesId;
+        if (mesLinkU9_xm != null) entity.Project = Convert.ToInt64(mesLinkU9_xm.MesId);
 
         return entity;
     }
@@ -167,7 +208,6 @@
                 PositionNo = dto.FPositionNO,
                 SupplyOrganization = dto.FChildSupplyOrgId,
                 IssuingOrganization = dto.FSupplyOrg,
-                OwnerId = dto.FOwnerID,
                 Mtono = dto.FMTONO,
                 Lot = dto.FLot,
                 DepotCode = dto.FStockID,
@@ -183,7 +223,7 @@
                 UseRate = !string.IsNullOrEmpty(dto.FUseRate)
                     ? Convert.ToDecimal(dto.FUseRate)
                     : null,
-                MaterialType = dto.FMaterialType,
+              
                 Cab014 = !string.IsNullOrEmpty(dto.FIsKeyItem)
                     ? Convert.ToInt64(dto.FIsKeyItem)
                     : null,
@@ -205,22 +245,44 @@
                 Scraprate = !string.IsNullOrEmpty(dto.FScrapRate)
                     ? Convert.ToDecimal(dto.FScrapRate)
                     : null,
+                Project  = dto.FProject,
+                Bomreqqty = dto.FBOMReqQty,
+                Materialtype = dto.FMaterialType,
+                IsOverIssue = dto.FIsOverIssue,
+                StandardMaterialscale = dto.FStandardMaterialScale,
+                Fixedmaterialnum = dto.FFixedMaterialNum,
+                IsSubstitute = dto.FIsSubstitute,
+                Substituteditem = dto.FSubstitutedItem,
+                Issueuom = dto.FIssueUOM,
+                Qpa = dto.FQPA,
+                Scraptype = dto.FScrapType,
+                Bfopportunity = dto.FBFOpportunity,
+                Supplywh = dto.FSupplyWh,
+                Mocompletesetcheck = dto.FMOCompleteSetCheck,
+                Mostartsetcheck = dto.FMOStartSetCheck,
+                Iscoupleissue = dto.FIsCoupleIssue,
+                FDescription  = dto.FDescription,
                 TypeB = dto.TypeB
-                // WR_F_XIFG_Base_qtr = dto.F_XIFG_Base_qtr,
-                // WR_F_XIFG_Base_83g = dto.F_XIFG_Base_83g
+
             };
 
             var entity = Db.Queryable<Womcab>()
                 .Where(s => s.Erpid == womcab.Erpid).Single();
             if (entity != null) womcab.Id = entity.Id;
-            
+
             //Cab003 = dto.FMaterialID
             var mesLinkU9 = Db.Queryable<MesLinkU9>()
                 .Where(x => x.U9Id == dto.FMaterialID
                             && x.OrgId == "1002011210000095"
                             && x.TableType == "MES_ITEMS").First();
 
+            var mesLinkU9_xm = Db.Queryable<MesLinkU9>()
+         .Where(x => x.U9Id == Convert.ToString(dto.FProject)
+                     && x.OrgId == "1002011210000095"
+                     && x.TableType == "MES_PROJECT").First();
+
             if (mesLinkU9 != null) womcab.Cab003 = mesLinkU9.MesId;
+            if (mesLinkU9_xm != null) entity.Project = mesLinkU9_xm.MesId;
 
             womcabList.Add(womcab);
         }

--
Gitblit v1.9.3