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 | 319 ++++++++++++++++++++++++++++------------------------ 1 files changed, 172 insertions(+), 147 deletions(-) diff --git a/StandardPda/MES.Service/service/WomcaaManager.cs b/StandardPda/MES.Service/service/WomcaaManager.cs index c3199ae..014a5fc 100644 --- a/StandardPda/MES.Service/service/WomcaaManager.cs +++ b/StandardPda/MES.Service/service/WomcaaManager.cs @@ -1,19 +1,12 @@ -锘縰sing Dm; -using MES.Service.DB; +锘縰sing MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; -using System.Net.NetworkInformation; -using System.Runtime.CompilerServices; namespace MES.Service.service; public class WomcaaManager : Repository<Womcaa> { - //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� - - //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 WomcaaManager.cs - private readonly WomcabManager _womcabManager = new(); public bool SaveList(List<ErpWOM> rohIns) @@ -37,14 +30,13 @@ return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; case "2": case "4": - //kyy 2024-09-13 鍙樻洿 case "5": return SaveOrUpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; default: throw new NotImplementedException( - $"type娌℃湁{womErpCaa.Type}杩欎釜绫诲瀷"); + $"type绫诲瀷涓簕womErpCaa.Type}鐨勪笉瀛樺湪"); } }) > 0; } @@ -58,17 +50,38 @@ db.Deleteable<Womcab>() .Where(s => s.Eid == mesWomcaa.Erpid).ExecuteCommand(); - //鍗曟潯鎻掑叆蹇界暐绌哄瓧娈� var orUpdate = db.Insertable(mesWomcaa) .IgnoreColumns(true).ExecuteCommand() > 0; - //鎵归噺鎻掑叆蹇界暐绌哄瓧娈� var baOrUpdate = db.Insertable(mesWomcabs).PageSize(1) .IgnoreColumnsNull() .ExecuteCommand() > 0; - if (orUpdate && baOrUpdate) return true; - throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); + + 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("鏇存柊澶辫触"); } private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa, @@ -86,130 +99,85 @@ private Womcaa MapErpCAAtoWomcaa(ErpCAA dto) { - //string jabs="0"; - - //var entity = new Womcaa - //{ - // Erpid = Convert.ToDecimal(dto.Id), - // Caa001 = dto.FBillNo, - // Caa004 = dto.FBillType, - // Caa005 = dto.FConveyDate, - // Caa006 = dto.FMaterialId, - // Caa009 = dto.FUnitId, - // Caa010 = dto.FPlanStartDate, - // Caa011 = dto.FPlanFinishDate, - // Caa012 = Convert.ToDecimal(dto.FQty), - // Caa013 = dto.FBomId, - // Caa015 = dto.FSaleOrderNo, - // Caa015Head = dto.FSaleOrderEntrySeq, - // Caa016 = dto.FDescription, - // Caa017 = 0, - // Caa018 = Convert.ToDecimal(dto.PLAN_ID), - // Caa019 = dto.PLAN_SEQ, - // Caa020 = dto.PLAN_NUM, - // Caa021 = dto.FWorkShopID, - // Fstatus = 0, - // Caa022 = Convert.ToDecimal(dto.FQty), - // Caa023 = dto.FStatus, - // Caa024 = 0, - // RoutingId = dto.FRoutingId, - // WorkShopId = dto.FREMWorkShopId, - // DepotCode = dto.FStockId, - // CreateDate = dto.FDate, - // WorkGroupId = dto.FWorkGroupId, - // PlanId = dto.FPlannerID, - // StockInlimith = dto.FStockInLimitH, - // StockInlimitl = dto.FStockInLimitL, - // Mtono = dto.FMTONO, - // Lot = dto.FLot, - // CreateType = dto.FCreateType, - // SrcBillType = dto.FSrcBillType, - // SrcBillNo = dto.FSrcBillNo, - // SrcBillentryseq = dto.FSrcBillEntrySeq, - // SaleOrderNo = dto.FSaleOrderNo, - // SaleOrderEntryseq = dto.FSaleOrderEntrySeq, - // ForceCloserid = dto.FForceCloserId, - // CloseType = dto.FCloseType, - // SrcSplitBillno = dto.FSrcSplitBillNo, - // F_ZSXG_KH = dto.F_ZSXG_KH, - // F_ZJXF_YHRQ = dto.F_ZJXF_YHRQ, - // PrdOrg = dto.erP_SCZZ, - // TrustOrg = dto.erP_WTZZ, - // TbTime = DateTime.Now, - // JaBs = "0" - //}; - - //if (dto.Type == "5") - //{ - // entity.IsXg = 1; - //} - //else - //{ - // entity.IsXg = 0; - //} - - //if (dto.FStatus == "6" || dto.FStatus == "7") - //{ - // entity.JaBs = "1"; - // entity.JaTime = DateTime.Now; - //} - var entity = new Womcaa { - Erpid = Convert.ToInt32(dto.Id), /// ERPID - Caa001 = dto.FBillNo, /// 鍗曞彿 - Caa021 = dto.FWorkShopID, /// 宸ヤ綔杞﹂棿 - RoutingId = dto.FRoutingId, /// 宸ヨ壓璺嚎 - WorkShopId = dto.FREMWorkShopId, /// 浜х嚎 - DepotCode = dto.FStockId, /// 浠撳簱 - CreateDate = dto.FDate, /// 鍗曟嵁鏃ユ湡 - Caa004 = dto.FBillType, /// 鍗曟嵁绫诲瀷 - Caa023 = dto.FStatus, /// 鐘舵�� 瀹屽伐锛屾湭瀹屽伐 - Caa006 = dto.FMaterialId, /// 浜у搧缂栫爜 - Caa009 = dto.FUnitId, /// 鍗曚綅 + Erpid = Convert.ToInt64(dto.Id), + Caa001 = dto.FBillNo, + Caa021 = dto.FWorkShopID, + DepotCode = dto.FStockId, + CreateDate = dto.FDate, + Caa004 = dto.FBillType, + Caa023 = dto.FStatus, + Caa006 = dto.FMaterialId, + Caa009 = dto.FUnitId, Caa012 = !string.IsNullOrEmpty(dto.FQty) ? Convert.ToDecimal(dto.FQty) - : null, /// 鏁伴噺 - WorkGroupId = dto.FWorkGroupId, /// 璁″垝缁� - PlanId = dto.FPlannerID, /// 璁″垝鍛� - Caa010 = dto.FPlanStartDate, /// 棰勮寮�宸ユ椂闂� - Caa011 = dto.FPlanFinishDate, /// 棰勮瀹屽伐鏃堕棿 - Caa005 = dto.FConveyDate, /// 寮�鍗曟棩鏈� - StockInlimith = dto.FStockInLimitH, /// 鍏ュ簱涓婇檺 - StockInlimitl = dto.FStockInLimitL, /// 鍏ュ簱涓嬮檺 - Mtono = dto.FMTONO, /// 璁″垝璺熻釜鍙� - Lot = dto.FLot, /// 鎵瑰彿 - Caa013 = dto.FBomId, /// BOM鐗堟 + : null, + WorkGroupId = dto.FWorkGroupId, + PlanId = dto.FPlannerID, + Caa010 = dto.FPlanStartDate, + Caa011 = dto.FPlanFinishDate, + Caa005 = dto.FConveyDate, + StockInlimith = dto.FStockInLimitH, + StockInlimitl = dto.FStockInLimitL, + Mtono = dto.FMTONO, + Lot = dto.FLot, + Caa013 = dto.FBomId, - CreateType = dto.FCreateType, /// 鐢熸垚鏂瑰紡 - Caa018 = !string.IsNullOrEmpty(dto.PLAN_ID) - ? Convert.ToInt32(dto.PLAN_ID) - : null, /// ERP婧愬崟ID - Caa019 = dto.PLAN_SEQ, /// ERP婧愬崟琛屽彿 - Caa020 = dto.PLAN_NUM, /// ERP婧愬崟鍗曞彿(浠诲姟鍗曞彿) - SrcBillType = dto.FSrcBillType, /// 婧愬崟绫诲瀷 - SrcBillNo = dto.FSrcBillNo, /// 婧愬崟缂栧彿 - SrcBillentryseq = dto.FSrcBillEntrySeq, /// 婧愬崟鍒嗗綍琛屽彿 - SaleOrderNo = dto.FSaleOrderNo, /// 闇�姹傚崟鎹彿 - SaleOrderEntryseq = dto.FSaleOrderEntrySeq, /// 闇�姹傚崟鎹鍙� - ForceCloserid = dto.FForceCloserId, /// 缁撴浜� - CloseType = dto.FCloseType, /// 缁撴绫诲瀷 - SrcSplitBillno = dto.FSrcSplitBillNo, /// 婧愭媶鍒嗚鍗曠紪鍙� - Caa016 = dto.FDescription, /// 澶囨敞 - BTBZ = dto.BTBZ, /// 澶囨敞 - PrdOrg = dto.FPrdOrgId, /// 鐢熶骇缁勭粐ID - TrustOrg = dto.FEnTrustOrgId, /// 濮旀墭缁勭粐ID - Typea = dto.TypeA, /// 鍗曟嵁鐘舵�� - - - //娌冨皵鏂板 - WR_F_SCDD_SCTZD = dto.F_SCDD_SCTZD, - WR_F_SCDD_XH = dto.F_SCDD_XH + CreateType = dto.FCreateType, + Caa020 = dto.FBillNo, + SrcBillType = dto.FSrcBillType, + SrcBillNo = dto.FSrcBillNo, + SrcBillentryseq = dto.FSrcBillEntrySeq, + SaleOrderNo = dto.FSaleOrderNo, + SaleOrderEntryseq = dto.FSaleOrderEntrySeq, + ForceCloserid = dto.FForceCloserId, + CloseType = dto.FCloseType, + SrcSplitBillno = dto.FSrcSplitBillNo, + Caa016 = dto.FDescription, + PrdOrg = dto.FPrdOrgId, + 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; } @@ -222,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 = 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