From fbb0bc175c8788f2f6ce4202d2630b01506bff80 Mon Sep 17 00:00:00 2001 From: sjz <1240968267@qq.com> Date: 星期五, 13 六月 2025 11:40:36 +0800 Subject: [PATCH] 发货通知单新增客户编码和客户名称。生产订单添加含税单价 --- MES.Service/service/WomcaaManager.cs | 102 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 84 insertions(+), 18 deletions(-) diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs index 7b09e4b..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); @@ -33,35 +33,98 @@ switch (womErpCaa.Type) { case "3": - return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; + return DeleteData(db, mesWomcaa, mesWomcabs) ? 1 : 0; case "1": case "2": case "4": + return SaveOrUpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; case "5": - return SaveOrUpdateData(db, mesWomcaa, mesWomcabs) - ? 1 - : 0; + return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; default: throw new NotImplementedException( $"type娌℃湁{womErpCaa.Type}杩欎釜绫诲瀷"); } }) > 0; } - - private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs) + private bool UpdateData(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) + { 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("鎻掑叆鎴栨洿鏂板け璐�"); } - private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs) + private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs) + { + if (mesWomcaa.Id != null) + { + base.DeleteById(mesWomcaa.Id); + } + + if (mesWomcabs.Count > 0) + { + db.Deleteable<Womcab>().Where(s => s.Eid == mesWomcaa.Erpid).ExecuteCommand(); + } + + var orUpdate = base.Insert(mesWomcaa); + var baOrUpdate = _womcabManager.InsertRange(mesWomcabs); + 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("鎻掑叆鎴栨洿鏂板け璐�"); + } + + private bool DeleteData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs) { var decimals = mesWomcabs.Select(s => s.Id).ToArray(); var update = base.DeleteById(mesWomcaa.Id); @@ -71,7 +134,7 @@ throw new NotImplementedException("鏇存柊澶辫触"); } - private Womcaa MapErpCAAtoWomcaa(ErpCAA dto) + private Womcaa MapErpCAAtoWomcaa(ErpCAA dto,string? fxshtbh,string? hsdj) { string jabs="0"; @@ -87,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, @@ -113,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, @@ -123,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") @@ -180,7 +246,8 @@ SCRAPQTY = Convert.ToDecimal(dto.FFixScrapQty), SCRAPRATE = Convert.ToDecimal(dto.FScrapRate), SalesOrder=dto.FXSHTBH, - F_ZJXF_YHRQ=dto.F_ZJXF_YHRQ + F_ZJXF_YHRQ=dto.F_ZJXF_YHRQ, + ProcNo=dto.F_ZJXF_SSGX }; var entity = Db.Queryable<Womcab>() @@ -189,7 +256,6 @@ womcabList.Add(womcab); } - return womcabList; } } \ No newline at end of file -- Gitblit v1.9.3