From 8276722de62e0be1e68adf65f150686a236268bd Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期五, 18 七月 2025 10:08:44 +0800
Subject: [PATCH] 产测接口代码提交

---
 StandardPda/MES.Service/service/WomcaaManager.cs |  170 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 139 insertions(+), 31 deletions(-)

diff --git a/StandardPda/MES.Service/service/WomcaaManager.cs b/StandardPda/MES.Service/service/WomcaaManager.cs
index 91db2b7..014a5fc 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("鏇存柊澶辫触");
     }
 
@@ -78,11 +101,9 @@
     {
         var entity = new Womcaa
         {
-            Erpid = Convert.ToInt32(dto.Id),
+            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,11 +125,7 @@
             Caa013 = dto.FBomId,
 
             CreateType = dto.FCreateType,
-            Caa018 = !string.IsNullOrEmpty(dto.PLAN_ID)
-                ? Convert.ToInt32(dto.PLAN_ID)
-                : null,
-            Caa019 = Convert.ToInt32(dto.PLAN_SEQ),
-            Caa020 = dto.PLAN_NUM,
+            Caa020 = dto.FBillNo,
             SrcBillType = dto.FSrcBillType,
             SrcBillNo = dto.FSrcBillNo,
             SrcBillentryseq = dto.FSrcBillEntrySeq,
@@ -118,15 +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;
     }
@@ -139,43 +190,100 @@
         {
             var womcab = new Womcab
             {
-                Erpid = Convert.ToDecimal(dto.ID),
+                Erpid = !string.IsNullOrEmpty(dto.ID)
+                    ? Convert.ToDecimal(dto.ID)
+                    : throw new Exception("瀛愯〃id涓嶅厑璁镐负绌�"),
                 Cab001 = dto.FBillNo,
                 Cab002 = dto.FSeq,
                 Cab003 = dto.FMaterialID,
-                Cab006 = Convert.ToDecimal(dto.FNeedQty),
-                //MustQty = Convert.ToDecimal(dto.FMustQty),
-                Cab007 = Convert.ToDecimal(dto.FPickedQty),
+                Cab006 = !string.IsNullOrEmpty(dto.FNeedQty)
+                    ? Convert.ToDecimal(dto.FNeedQty)
+                    : null,
+                MustQty = !string.IsNullOrEmpty(dto.FMustQty)
+                    ? Convert.ToDecimal(dto.FMustQty)
+                    : null,
+                Cab007 = !string.IsNullOrEmpty(dto.FPickedQty)
+                    ? Convert.ToDecimal(dto.FPickedQty)
+                    : null,
                 PositionNo = dto.FPositionNO,
                 SupplyOrganization = dto.FChildSupplyOrgId,
                 IssuingOrganization = dto.FSupplyOrg,
-                OwnerId = dto.FOwnerID,
                 Mtono = dto.FMTONO,
                 Lot = dto.FLot,
                 DepotCode = dto.FStockID,
                 IssueType = dto.FIssueType,
                 Cab009 = dto.FUnitID,
                 SupplyType = dto.FSupplyType,
-                Cab012 = Convert.ToDecimal(dto.FStdQty),
-                // Freplacegroup = Convert.ToInt32(dto.FReplaceGroup),
-                // UseRate = Convert.ToDecimal(dto.FUseRate),
-                // MaterialType = dto.FMaterialType,
-                Cab014 = Convert.ToInt32(dto.FIsKeyItem),
-                Numerator = Convert.ToDecimal(dto.FNumerator),
-                Denominator = Convert.ToDecimal(dto.FDenominator),
-                Pid = Convert.ToDecimal(dto.FID),
-                Eid = Convert.ToDecimal(dto.FID)
-                // SCRAPQTY = Convert.ToDecimal(dto.FFixScrapQty),
-                // SCRAPRATE = Convert.ToDecimal(dto.FScrapRate),
-                // Typeb = dto.TypeB,
-                // WR_F_XIFG_Base_qtr = dto.F_XIFG_Base_qtr,
-                // WR_F_XIFG_Base_83g = dto.F_XIFG_Base_83g
+                Cab012 = !string.IsNullOrEmpty(dto.FStdQty)
+                    ? Convert.ToDecimal(dto.FStdQty)
+                    : null,
+                FreplaceGroup = !string.IsNullOrEmpty(dto.FReplaceGroup)
+                    ? Convert.ToInt64(dto.FReplaceGroup)
+                    : null,
+                UseRate = !string.IsNullOrEmpty(dto.FUseRate)
+                    ? Convert.ToDecimal(dto.FUseRate)
+                    : null,
+              
+                Cab014 = !string.IsNullOrEmpty(dto.FIsKeyItem)
+                    ? Convert.ToInt64(dto.FIsKeyItem)
+                    : null,
+                Numerator = !string.IsNullOrEmpty(dto.FNumerator)
+                    ? Convert.ToDecimal(dto.FNumerator)
+                    : null,
+                Denominator = !string.IsNullOrEmpty(dto.FDenominator)
+                    ? Convert.ToDecimal(dto.FDenominator)
+                    : null,
+                Pid = !string.IsNullOrEmpty(dto.FID)
+                    ? Convert.ToDecimal(dto.FID)
+                    : throw new Exception("鐖秈d涓嶅厑璁镐负绌�"),
+                Eid = !string.IsNullOrEmpty(dto.FID)
+                    ? Convert.ToDecimal(dto.FID)
+                    : throw new Exception("鐖秈d涓嶅厑璁镐负绌�"),
+                Scrapqty = !string.IsNullOrEmpty(dto.FFixScrapQty)
+                    ? Convert.ToDecimal(dto.FFixScrapQty)
+                    : null,
+                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
+
             };
 
             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) womcab.Project = mesLinkU9_xm.MesId;
+
             womcabList.Add(womcab);
         }
 

--
Gitblit v1.9.3