From fdb948154f070ce648ed4ee0b7e15d556a8b5886 Mon Sep 17 00:00:00 2001 From: wbc <2597324127@qq.com> Date: 星期五, 06 十二月 2024 16:05:17 +0800 Subject: [PATCH] 销售退货通知单完善、销售收货通知单增加 --- MES.Service/service/BasicData/SalesReturnNoticeManager.cs | 175 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 89 insertions(+), 86 deletions(-) diff --git a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs index bca2db2..d715bf2 100644 --- a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs +++ b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs @@ -8,7 +8,7 @@ namespace MES.Service.service.BasicData; -public class SalesReturnManager : Repository<SalesReturn> +public class SalesReturnNoticeManager : Repository<SalesReturnNotice> { //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� @@ -44,13 +44,13 @@ }) > 0; } - private bool UpdateData(SqlSugarScope db, SalesReturn mesSalesReturn, - List<SalesReturnDetail> mesSalesReturnDatas) + private bool UpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn, + List<SalesReturnNoticeDetail> mesSalesReturnDatas) { var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray(); var update = base.DeleteById(mesSalesReturn.Id); var insertOrUpdate = db - .Deleteable<SalesReturnDetail>().In(decimals) + .Deleteable<SalesReturnNoticeDetail>().In(decimals) .ExecuteCommand() > 0; if (update && insertOrUpdate) return true; @@ -58,14 +58,14 @@ } // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶 - private bool SaveOrUpdateData(SqlSugarScope db, SalesReturn mesSalesReturn, - List<SalesReturnDetail> 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<SalesReturnDetail>() - .Where(s => s.EHID == mesSalesReturn.ErpID).ExecuteCommand(); + db.Deleteable<SalesReturnNoticeDetail>() + .Where(s => s.ErpHeadId == mesSalesReturn.ErpId).ExecuteCommand(); var orUpdate = base.Insert(mesSalesReturn); var baOrUpdate = _SalesReturnDetailManager.InsertRange(mesSalesReturnDatas); @@ -82,8 +82,8 @@ return result.All(b => b); } - private SalesReturn ConvertErpToSalesReturn( - ErpSalesRerurnDto erpDto) + private SalesReturnNotice ConvertErpToSalesReturn( + ErpSalesReturnDto erpDto) { DateTime parsedDate; @@ -99,103 +99,106 @@ return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull } - var salesOrder = new SalesReturn + var salesOrder = new SalesReturnNotice { BillNo = erpDto.FBillNo, - ErpID = Convert.ToDecimal(erpDto.ErpID), + ErpId = erpDto.ErpID, FDate = ParseDateTime(erpDto.FDate) ?? null, - BillTypeId = erpDto.FBillTypeID, // 鍗曟嵁绫诲瀷 - DocumentStatus = erpDto.FDocumentStatus, // 鍗曟嵁鐘舵�� - BusinessType = erpDto.FBusinessType, // 涓氬姟绫诲瀷 - HeadDeliveryWay = erpDto.FHeadDeliveryWay, // 浜よ揣鏂瑰紡 - HeadLocId = erpDto.FHEADLOCID, // 浜よ揣鍦扮偣 - UnWTextKhdd = erpDto.F_UNW_Text_KHDD, // 瀹㈡埛璁㈠崟 - UnWDateKhxq = ParseDateTime(erpDto.F_UNW_Date_KHXQ) ?? null, // 瀹㈡埛闇�姹備氦鏈� - UnWBasePropertyKhdj = erpDto.F_UNW_BaseProperty_KHDJ, // 瀹㈡埛绛夌骇 - CustId = erpDto.FCustId, // 瀹㈡埛 - UnWLargetextTbkhbz = erpDto.F_UNW_LargeText_TBKHBZ, // 娣樺疂瀹㈡埛澶囨敞 - CloseStatus = erpDto.FCloseStatus, // 鍏抽棴鐘舵�� - SaleDeptId = erpDto.FSaleDeptId, // 閿�鍞儴闂� - SalerId = erpDto.FSalerId, // 閿�鍞憳 - ChangeReason = erpDto.FChangeReason, // 鍙樻洿鍘熷洜 - Note = erpDto.FNote, // 澶囨敞 - UnWRemarksKhjHdd = erpDto.F_UNW_Remarks_KHJHDD, // 瀹㈡埛浜よ揣鍦扮偣 - SettleId = erpDto.FSettleId, // 缁撶畻鏂� - ApproverId = erpDto.FApproverId, // 瀹℃牳浜� - LinkMan = erpDto.FLinkMan, // 鏀惰揣浜哄鍚� - ChargeId = erpDto.FChargeId, // 浠樻鏂� - LinkPhone = erpDto.FLinkPhone, // 鑱旂郴鐢佃瘽 - CreatorId = erpDto.FCreatorId, // 鍒涘缓浜� - CreateDate = ParseDateTime(erpDto.FCreateDate) ?? null, // 鍒涘缓鏃ユ湡 - ModifierId = erpDto.FModifierId, // 鏈�鍚庝慨鏀逛汉 - ModifyDate = ParseDateTime(erpDto.FModifyDate) ?? null, // 鏈�鍚庝慨鏀规棩鏈� - ApproveDate = ParseDateTime(erpDto.FApproveDate) ?? null, // 瀹℃牳鏃ユ湡 - CloserId = erpDto.FCloserId, // 鍏抽棴浜� + BillType = erpDto.FBillTypeID, // 鍗曟嵁绫诲瀷 + 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, // 蹇�掑崟鍙� + Receiver = erpDto.FReceiveCusId, // 鏀惰揣鏂� + ReceiverContact = erpDto.FReceiveCusContact, // 鏀惰揣鏂硅仈绯讳汉 + ReceiverAddress = erpDto.FReceiveAddress, // 鏀惰揣鏂瑰湴鍧� + ReceiverName = erpDto.FLinkMan, // 鏀惰揣鏂瑰鍚� + SettleParty = erpDto.FSettleCurrld, // 缁撶畻鏂� + CreatedBy = erpDto.FCreatorId, // 鍒涘缓浜� + CreatedDate = ParseDateTime(erpDto.FCreateDate) ?? null, // 鍒涘缓鏃堕棿 + ModifiedBy = erpDto.FModifierId, // 淇敼浜� + ModifiedDate = ParseDateTime(erpDto.FModifyDate) ?? null, // 淇敼鏃堕棿 + ClosedBy = erpDto.FCloserId, // 鍏抽棴浜� + CloseReason = erpDto.FCloseReason, // 鍏抽棴鍘熷洜 CloseDate = ParseDateTime(erpDto.FCloseDate) ?? null, // 鍏抽棴鏃ユ湡 - ChangeDate = ParseDateTime(erpDto.FChangeDate) ?? null, // 鍙樻洿鏃ユ湡 + ApprovedBy = erpDto.FApproverId, // 瀹℃牳浜� + ApprovedDate = ParseDateTime(erpDto.FApproveDate) ?? null, // 瀹℃牳鏃ユ湡 CancelStatus = erpDto.FCancelStatus, // 浣滃簾鐘舵�� - CancellerId = erpDto.FCancellerId, // 浣滃簾浜� - VersionNo = Convert.ToDouble(erpDto.FVersionNo), // 鐗堟湰鍙� - ChangerId = erpDto.FChangerId, // 鍙樻洿浜� - EntryNote = erpDto.FEntryNote // 澶囨敞 - //ParseDateTime() ?? null - //long.Parse() - //Convert.ToDecimal() - //Convert.ToDouble() + CancelledBy = erpDto.FCancellerId, // 浣滃簾浜� + CancelDate = ParseDateTime(erpDto.FCancelDate) ?? null, // 浣滃簾鏃ユ湡 + CloseStatus = erpDto.FBillCloseStatus, // 鍏抽棴鐘舵�� + }; - var single = base.GetSingle(it => it.ErpID == Convert.ToDecimal(erpDto.ErpID)); + var single = base.GetSingle(it => it.ErpId == erpDto.ErpID); if (single != null) salesOrder.Id = single.Id; return salesOrder; } - private List<SalesReturnDetail> ConvertErpToSalesReturnDetail( - List<ErpSalesRerurnDetailDto> erpDtoList) + private List<SalesReturnNoticeDetail> ConvertErpToSalesReturnDetail( + List<ErpSalesReturnDetailDto> erpDtoList) + { var salesOrderSubList = - new List<SalesReturnDetail>(); + 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; + + return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull + } + + foreach (var erpDto in erpDtoList) { - var salesOrderSub = new SalesReturnDetail + var salesOrderSub = new SalesReturnNoticeDetail { - ErpID = Convert.ToDecimal(erpDto.ErpID), - EHID = Convert.ToDecimal(erpDto.EHID), - MaterialId = erpDto.FMaterialId, - UnitId = erpDto.FUnitID, - Qty = Convert.ToDecimal(erpDto.FQty), - PriceUnitId = erpDto.FPriceUnitId, - PriceUnitQty = Convert.ToDecimal(erpDto.FPriceUnitQty), - DeliveryDate = Convert.ToDateTime(erpDto.FDeliveryDate), - IsFree = erpDto.FIsFree, - SalesReturnNo = erpDto.F_UNW_Text_xsddh, - SalesFollowUp = erpDto.F_UNW_Base_GDY, - OwnerTypeId = erpDto.FOwnerTypeId, - OwnerId = erpDto.FOwnerId, - EntryNote = erpDto.FEntryNote, - MtoNo = erpDto.FMtoNo, - Lot = erpDto.FLot, - DeliveryMaxQty = Convert.ToDecimal(erpDto.FDeliveryMaxQty), - DeliveryMinQty = Convert.ToDecimal(erpDto.FDeliveryMinQty), - OutLmtUnitId = erpDto.FOutLmtUnitID, - MrpCloseStatus = erpDto.FMrpCloseStatus, - MrpTerminateStatus = erpDto.FMrpTerminateStatus, - TerminateDate = Convert.ToDateTime(erpDto.FTerminateDate), - TerminaterId = erpDto.FTerminatorId, - SrcType = erpDto.FSrcType, - SrcBillNo = erpDto.FSrcBillNo, - DeliQty = Convert.ToDecimal(erpDto.FDeliQty), - StockOutQty = Convert.ToDecimal(erpDto.FStockOutQty), - BaseRetNoticeQty = Convert.ToDecimal(erpDto.FBaseRetNoticeQty), - BaseReturnQty = Convert.ToDecimal(erpDto.FBaseReturnQty), - BaseRemainOutQty = Convert.ToDecimal(erpDto.FBaseRemainOutQty), - BASEARQTY = Convert.ToDecimal(erpDto.FBASEARQTY), + 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,//璐т富 + SourceBillType = erpDto.FSrcType, + SourceBillNo = erpDto.FSrcBillNo, + OrderBillNo = erpDto.FOrderNo }; var single = _SalesReturnDetailManager.GetSingle(it => - it.ErpID == Convert.ToDecimal(salesOrderSub.ErpID)); + it.ErpLineId == salesOrderSub.ErpLineId); if (single != null) salesOrderSub.Id = single.Id; salesOrderSubList.Add(salesOrderSub); @@ -204,5 +207,5 @@ return salesOrderSubList; } - #endregion + } \ No newline at end of file -- Gitblit v1.9.3