From cad9f911a2f0c7a14d62f1503aadd279423caccc Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期二, 22 七月 2025 16:40:32 +0800
Subject: [PATCH] 退料单接口BUG修复

---
 StandardPda/MES.Service/service/WomcaaManager.cs |  119 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 102 insertions(+), 17 deletions(-)

diff --git a/StandardPda/MES.Service/service/WomcaaManager.cs b/StandardPda/MES.Service/service/WomcaaManager.cs
index 76e5a52..0498475 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,15 +135,50 @@
             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,
+            TsDate = DateTime.Now,
+            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;
     }
@@ -159,7 +209,6 @@
                 PositionNo = dto.FPositionNO,
                 SupplyOrganization = dto.FChildSupplyOrgId,
                 IssuingOrganization = dto.FSupplyOrg,
-                OwnerId = dto.FOwnerID,
                 Mtono = dto.FMTONO,
                 Lot = dto.FLot,
                 DepotCode = dto.FStockID,
@@ -175,7 +224,7 @@
                 UseRate = !string.IsNullOrEmpty(dto.FUseRate)
                     ? Convert.ToDecimal(dto.FUseRate)
                     : null,
-                MaterialType = dto.FMaterialType,
+              
                 Cab014 = !string.IsNullOrEmpty(dto.FIsKeyItem)
                     ? Convert.ToInt64(dto.FIsKeyItem)
                     : null,
@@ -197,15 +246,51 @@
                 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_TDL = Db.Queryable<MesLinkU9>()
+               .Where(x => x.U9Id == Convert.ToString(dto.FSubstitutedItem)
+                           && 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_TDL != null) womcab.Substituteditem = Convert.ToInt64(mesLinkU9_TDL.MesId);
+            if (mesLinkU9_xm != null) womcab.Project = mesLinkU9_xm.MesId;
+
             womcabList.Add(womcab);
         }
 

--
Gitblit v1.9.3