From 74ab9465837f8a6f9eae854059e9783eff24e173 Mon Sep 17 00:00:00 2001 From: sjz <1240968267@qq.com> Date: 星期一, 14 七月 2025 18:06:24 +0800 Subject: [PATCH] 多组织修改 --- MES.Service/service/BasicData/SalesReturnNoticeManager.cs | 120 ++++++++++++++++++++++++++--------------------------------- 1 files changed, 53 insertions(+), 67 deletions(-) diff --git a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs index c4cca56..bb891dd 100644 --- a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs +++ b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs @@ -1,10 +1,8 @@ -锘縰sing MES.Service.DB; -using System.Data; -using System.Globalization; +锘縰sing System.Globalization; +using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; -using DbType = System.Data.DbType; namespace MES.Service.service.BasicData; @@ -14,27 +12,27 @@ private readonly SalesReturnDetailManager _SalesReturnDetailManager = new(); + //ErpSalesRerurn public bool Save(ErpSalesRerurn SalesReturn) { var erpSalesReturnDto = SalesReturn.OrderDto; var mesSalesReturn = ConvertErpToSalesReturn(SalesReturn.OrderDto); - var mesSalesReturnDatas = ConvertErpToSalesReturnDetail(SalesReturn.Items); + var mesSalesReturnDatas = + ConvertErpToSalesReturnDetail(SalesReturn.Items); return UseTransaction(db => { switch (erpSalesReturnDto.Type) { - // case "2": - // return InsertData(db, mesSalesReturn, mesSalesReturnDatas, - // rohInErpRohIn.FBILLTYPE) - // ? 1 - // : 0; case "3": - return UpdateData(db, mesSalesReturn, mesSalesReturnDatas) ? 1 : 0; + return UpdateData(db, mesSalesReturn, mesSalesReturnDatas) + ? 1 + : 0; case "2": case "4": - return SaveOrUpdateData(db, mesSalesReturn, mesSalesReturnDatas, erpSalesReturnDto.Type) + return SaveOrUpdateData(db, mesSalesReturn, + mesSalesReturnDatas, erpSalesReturnDto.Type) ? 1 : 0; default: @@ -49,28 +47,30 @@ { var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray(); var update = base.DeleteById(mesSalesReturn.Id); - var insertOrUpdate = db - .Deleteable<SalesReturnNoticeDetail>().In(decimals) - .ExecuteCommand() > 0; + var insertOrUpdate = db.Deleteable<SalesReturnNoticeDetail>() + .In(decimals).ExecuteCommand() > 0; if (update && insertOrUpdate) return true; throw new NotImplementedException("鏇存柊澶辫触"); } // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶 - private bool SaveOrUpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn, - List<SalesReturnNoticeDetail> mesSalesReturnDatas,string type) + private bool SaveOrUpdateData(SqlSugarScope db, + SalesReturnNotice mesSalesReturn, + List<SalesReturnNoticeDetail> mesSalesReturnDatas, string type) { if (mesSalesReturn.Id != null) base.DeleteById(mesSalesReturn.Id); if (mesSalesReturnDatas.Count > 0) db.Deleteable<SalesReturnNoticeDetail>() - .Where(s => s.ErpHeadId == mesSalesReturn.ErpId).ExecuteCommand(); + .Where(s => s.ErpHeadId == mesSalesReturn.ErpId) + .ExecuteCommand(); var orUpdate = base.Insert(mesSalesReturn); - var baOrUpdate = _SalesReturnDetailManager.InsertRange(mesSalesReturnDatas); - if (orUpdate && baOrUpdate) return true; - + var baOrUpdate = + _SalesReturnDetailManager.InsertRange(mesSalesReturnDatas); + if (orUpdate && baOrUpdate) return true; + throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); } @@ -82,8 +82,7 @@ return result.All(b => b); } - private SalesReturnNotice ConvertErpToSalesReturn( - ErpSalesReturnDto erpDto) + private SalesReturnNotice ConvertErpToSalesReturn(ErpSalesReturnDto erpDto) { DateTime parsedDate; @@ -91,11 +90,8 @@ DateTime? ParseDateTime(string dateStr) { if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", - CultureInfo.InvariantCulture, - DateTimeStyles.None, - out parsedDate)) - return parsedDate; - + CultureInfo.InvariantCulture, DateTimeStyles.None, + out parsedDate)) return parsedDate; return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull } @@ -108,15 +104,13 @@ Currency = erpDto.FSettleCurrld, // 缁撶畻甯佸埆 SalesDept = erpDto.FSaleDeptId, //閿�鍞儴闂� ReturnCustomer = erpDto.FRetcustId, // 閫�璐у鎴� - TaobaoRemark = erpDto.F_UNW_LargeText_TBKHBZ, // 娣樺疂瀹㈡埛澶囨敞 ReturnReason = erpDto.FRetcustReason, // 閫�璐у師鍥� DeliveryLocation = erpDto.FHeadLocId, // 浜よ揣鍦扮偣 InventoryDept = erpDto.FRetDeptId, // 搴撳瓨閮ㄩ棬 InventoryGroup = erpDto.FStockerGroupId, // 搴撳瓨缁� WarehouseManager = erpDto.FStockerId, // 浠撶鍛� SalesGroup = erpDto.FSaleGroupId, // 閿�鍞粍 - SalesPerson = erpDto.FSalesManId,//閿�鍞憳 - ExpressNo = erpDto.F_UNW_Text_KDDH, // 蹇�掑崟鍙� + SalesPerson = erpDto.FSalesManId, //閿�鍞憳 Receiver = erpDto.FReceiveCusId, // 鏀惰揣鏂� ReceiverContact = erpDto.FReceiveCusContact, // 鏀惰揣鏂硅仈绯讳汉 ReceiverAddress = erpDto.FReceiveAddress, // 鏀惰揣鏂瑰湴鍧� @@ -135,8 +129,7 @@ CancelledBy = erpDto.FCancellerId, // 浣滃簾浜� CancelDate = ParseDateTime(erpDto.FCancelDate) ?? null, // 浣滃簾鏃ユ湡 CloseStatus = erpDto.FBillCloseStatus, // 鍏抽棴鐘舵�� - BillStatus = erpDto.FDocumentStatus //鍗曟嵁鐘舵�� - + BillStatus = erpDto.FDocumentStatus //鍗曟嵁鐘舵�� }; var single = base.GetSingle(it => it.ErpId == erpDto.ErpID); @@ -147,57 +140,52 @@ private List<SalesReturnNoticeDetail> ConvertErpToSalesReturnDetail( List<ErpSalesReturnDetailDto> erpDtoList) - + { - var salesOrderSubList = - new List<SalesReturnNoticeDetail>(); + var salesOrderSubList = new List<SalesReturnNoticeDetail>(); DateTime parsedDate; + // 鏃堕棿鏍煎紡杞崲鍑芥暟锛孍RP鏃堕棿鏍煎紡涓� "yyyy-MM-dd HH:mm:ss" DateTime? ParseDateTime(string dateStr) { if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", - CultureInfo.InvariantCulture, - DateTimeStyles.None, - out parsedDate)) - return parsedDate; + CultureInfo.InvariantCulture, DateTimeStyles.None, + out parsedDate)) return parsedDate; + return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull } - foreach (var erpDto in erpDtoList) { var salesOrderSub = new SalesReturnNoticeDetail { - ErpLineId = erpDto.ErpID,//ERP琛孖D - ErpHeadId = erpDto.EHID,//ERP澶碔D - SalesOrderId = erpDto.F_UNW_Text_xsddh,//閿�鍞鍗曞彿 - MaterialId = erpDto.FMaterialId,//鐗╂枡缂栧彿 - MaterialName = erpDto.FMaterialName,// 鐗╂枡鍚嶇О - MaterialSpecification = erpDto.FMaterialModel,//瑙勬牸鍨嬪彿 - SalesUnitId = erpDto.FUnitID,//閿�鍞崟浣� - SalesQuantity = Convert.ToDecimal(erpDto.FQty),//閿�鍞暟閲� - IsFree = erpDto.FIsFree,//鏄惁璧犲搧 - ReturnDate = ParseDateTime(erpDto.FDeliverydate),//閫�璐ф棩鏈� - Warehouse = erpDto.FStockId,//浠撳簱 - PlanTrackingNumber = erpDto.FMtoNo,//璁″垝璺熻釜鍙� - LotNumber = erpDto.FLot,//鎵瑰彿 - Note = erpDto.FEntryDescription,//澶囨敞 - ReturnType = erpDto.FRmType,//閫�璐х被鍨� - SalesClerk = erpDto.F_UNW_Base_GDY,//璺熷崟鍛� - InventoryUnit = erpDto.FStockUnitID,//搴撳瓨鍗曚綅 - InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty),//搴撳瓨鏁伴噺 - MaterialCategory = erpDto.FMaterialType,//鐗╂枡绫诲埆 - OwnerTypeId = erpDto.FOwnerTypeID,//璐т富绫诲瀷 - OwnerId = erpDto.FOwnerId,//璐т富 + ErpLineId = erpDto.ErpID, //ERP琛孖D + ErpHeadId = erpDto.EHID, //ERP澶碔D + MaterialId = erpDto.FMaterialId, //鐗╂枡缂栧彿 + MaterialName = erpDto.FMaterialName, // 鐗╂枡鍚嶇О + MaterialSpecification = erpDto.FMaterialModel, //瑙勬牸鍨嬪彿 + SalesUnitId = erpDto.FUnitID, //閿�鍞崟浣� + SalesQuantity = Convert.ToDecimal(erpDto.FQty), //閿�鍞暟閲� + IsFree = Convert.ToDecimal(erpDto.FIsFree), //鏄惁璧犲搧 + ReturnDate = ParseDateTime(erpDto.FDeliverydate), //閫�璐ф棩鏈� + Warehouse = erpDto.FStockId, //浠撳簱 + PlanTrackingNumber = erpDto.FMtoNo, //璁″垝璺熻釜鍙� + LotNumber = erpDto.FLot, //鎵瑰彿 + Note = erpDto.FEntryDescription, //澶囨敞 + ReturnType = erpDto.FRmType, //閫�璐х被鍨� + InventoryUnit = erpDto.FStockUnitID, //搴撳瓨鍗曚綅 + InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty), //搴撳瓨鏁伴噺 + MaterialCategory = erpDto.FMaterialType, //鐗╂枡绫诲埆 + OwnerTypeId = erpDto.FOwnerTypeID, //璐т富绫诲瀷 + OwnerId = erpDto.FOwnerId, //璐т富 SourceBillType = erpDto.FSrcType, SourceBillNo = erpDto.FSrcBillNo, OrderBillNo = erpDto.FOrderNo, - SalesOrder = erpDto.F_XSHTH, - CustOrder = erpDto.F_ZJXF_Text_re5_lee - + SalesOrder = erpDto.F_XSHTH, + CustOrder = erpDto.F_ZJXF_Text_re5_lee }; var single = _SalesReturnDetailManager.GetSingle(it => @@ -209,6 +197,4 @@ return salesOrderSubList; } - - } \ No newline at end of file -- Gitblit v1.9.3