From 29de86cadafc88d13b51ab4d07aa2d12de6dcab0 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期四, 18 七月 2024 10:15:54 +0800 Subject: [PATCH] 更新erp生产订单接口 --- MES.Service/service/BasicData/MesRohInManager.cs | 440 ++++++++++++++++++++++++++---------------------------- 1 files changed, 214 insertions(+), 226 deletions(-) diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs index 384fc85..35acb3c 100644 --- a/MES.Service/service/BasicData/MesRohInManager.cs +++ b/MES.Service/service/BasicData/MesRohInManager.cs @@ -1,66 +1,74 @@ 锘縰sing MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; -using MES.Service.util; using SqlSugar; -namespace MES.Service.service.BasicData +namespace MES.Service.service.BasicData; + +public class MesRohInManager : Repository<MesRohIn> { - public class MesRohInManager : Repository<MesRohIn> + private readonly MesRohInDataManager rohInDataManager = new(); + + // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 RohIn 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔 + public bool Save(RohIn rohIn) { - private readonly MesRohInDataManager rohInDataManager = new(); + var rohInErpRohIn = rohIn.ErpRohIn; + var mesRohIn = GetMesRohIn(rohInErpRohIn); + var mesRohInDatas = + GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type); - // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 RohIn 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔 - public bool Save(RohIn rohIn) + return UseTransaction(db => { - var rohInErpRohIn = rohIn.ErpRohIn; - var mesRohIn = GetMesRohIn(rohInErpRohIn); - var mesRohInDatas = - GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type); - - return UseTransaction(db => + switch (rohInErpRohIn.Type) { - switch (rohInErpRohIn.Type) - { - // case "2": - // return InsertData(db, mesRohIn, mesRohInDatas, - // rohInErpRohIn.FBILLTYPE) - // ? 1 - // : 0; - case "3": - return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0; - case "2": - case "4": - return SaveOrUpdateData(db, mesRohIn, mesRohInDatas) - ? 1 - : 0; - default: - throw new NotImplementedException( - $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷"); - } - }) > 0; - } + // case "2": + // return InsertData(db, mesRohIn, mesRohInDatas, + // rohInErpRohIn.FBILLTYPE) + // ? 1 + // : 0; + case "3": + return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0; + case "2": + case "4": + return SaveOrUpdateData(db, mesRohIn, mesRohInDatas) + ? 1 + : 0; + default: + throw new NotImplementedException( + $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷"); + } + }) > 0; + } - // 鎻掑叆鏁版嵁鐨勬柟娉� - private bool InsertData(SqlSugarScope db, MesRohIn mesRohIn, - List<MesRohInData> mesRohInDatas, string FBILLTYPE) + // 鎻掑叆鏁版嵁鐨勬柟娉� + private bool InsertData(SqlSugarScope db, MesRohIn mesRohIn, + List<MesRohInData> mesRohInDatas, string FBILLTYPE) + { + switch (FBILLTYPE) { - switch (FBILLTYPE) + case "A": { - case "A": + var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); + + if (mesRohIn.Id != null) base.DeleteById(mesRohIn.Id); + + if (decimals.Length > 0) + db.Deleteable<MesRohInData>().In(decimals).ExecuteCommand(); + + var insert = base.Insert(mesRohIn); + var insertRange = + rohInDataManager.InsertRange(mesRohInDatas); + + if (insert && insertRange) return true; + throw new NotImplementedException("鎻掑叆澶辫触"); + } + case "B": + { + var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); + if (base.DeleteById(mesRohIn.Id) && db + .Deleteable<MesRohInData>().In(decimals) + .ExecuteCommand() > 0) { - var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); - - if (mesRohIn.Id != null) - { - base.DeleteById(mesRohIn.Id); - } - - if (decimals.Length > 0) - { - db.Deleteable<MesRohInData>().In(decimals).ExecuteCommand(); - } - var insert = base.Insert(mesRohIn); var insertRange = rohInDataManager.InsertRange(mesRohInDatas); @@ -68,207 +76,187 @@ if (insert && insertRange) return true; throw new NotImplementedException("鎻掑叆澶辫触"); } - case "B": - { - var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); - if (base.DeleteById(mesRohIn.Id) && db - .Deleteable<MesRohInData>().In(decimals) - .ExecuteCommand() > 0) - { - var insert = base.Insert(mesRohIn); - var insertRange = - rohInDataManager.InsertRange(mesRohInDatas); - if (insert && insertRange) return true; - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - break; - } + break; } - - throw new NotImplementedException("閲囪喘璁㈠崟绫诲瀷閿欒"); } - // 鏇存柊鏁版嵁鐨勬柟娉� - private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn, - List<MesRohInData> mesRohInDatas) - { - var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); - var update = base.DeleteById(mesRohIn.Id); - var insertOrUpdate = db - .Deleteable<MesRohInData>().In(decimals) - .ExecuteCommand() > 0; + throw new NotImplementedException("閲囪喘璁㈠崟绫诲瀷閿欒"); + } - if (update && insertOrUpdate) return true; - throw new NotImplementedException("鏇存柊澶辫触"); - } + // 鏇存柊鏁版嵁鐨勬柟娉� + private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn, + List<MesRohInData> mesRohInDatas) + { + var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); + var update = base.DeleteById(mesRohIn.Id); + var insertOrUpdate = db + .Deleteable<MesRohInData>().In(decimals) + .ExecuteCommand() > 0; - // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶 - private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn, - List<MesRohInData> mesRohInDatas) - { - - if (mesRohIn.Id != null) - { - base.DeleteById(mesRohIn.Id); - } + if (update && insertOrUpdate) return true; + throw new NotImplementedException("鏇存柊澶辫触"); + } - if (mesRohInDatas.Count > 0) - { - db.Deleteable<MesRohInData>().Where(s=>s.ErpId == mesRohIn.EbelnK3id).ExecuteCommand(); - } + // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶 + private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn, + List<MesRohInData> mesRohInDatas) + { + if (mesRohIn.Id != null) base.DeleteById(mesRohIn.Id); - var orUpdate = base.Insert(mesRohIn); - var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas); - if (orUpdate && baOrUpdate) return true; - throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); - } + if (mesRohInDatas.Count > 0) + db.Deleteable<MesRohInData>() + .Where(s => s.ErpId == mesRohIn.EbelnK3id).ExecuteCommand(); - // 鎵归噺淇濆瓨璁板綍鐨勬柟娉� - public bool SaveList(List<RohIn> rohIns) - { - var result = rohIns.Select(Save).ToList(); - return result.All(b => b); - } + var orUpdate = base.Insert(mesRohIn); + var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas); + if (orUpdate && baOrUpdate) return true; + throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); + } - // 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉� - public MesRohIn GetMesRohIn(ErpRohIn rohIn) - { - var eid = Convert.ToDecimal(rohIn.id); - var mesRohIn = new MesRohIn(); + // 鎵归噺淇濆瓨璁板綍鐨勬柟娉� + public bool SaveList(List<RohIn> rohIns) + { + var result = rohIns.Select(Save).ToList(); + return result.All(b => b); + } - var single = base.GetSingle(it => it.EbelnK3id == eid); - if (single != null) mesRohIn.Id = single.Id; + // 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉� + public MesRohIn GetMesRohIn(ErpRohIn rohIn) + { + var eid = Convert.ToDecimal(rohIn.id); + var mesRohIn = new MesRohIn(); - mesRohIn.EbelnK3id = eid; - mesRohIn.BillNo = rohIn.FBillNo; - mesRohIn.DocumentStatus = rohIn.FDocumentStatus; - mesRohIn.DocumentType = rohIn.FBillTypeID; - mesRohIn.BusinessType = rohIn.FBusinessType; + var single = base.GetSingle(it => it.EbelnK3id == eid); + if (single != null) mesRohIn.Id = single.Id; - if (rohIn.FDate != null) - mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate, + mesRohIn.EbelnK3id = eid; + mesRohIn.BillNo = rohIn.FBillNo; + mesRohIn.DocumentStatus = rohIn.FDocumentStatus; + mesRohIn.DocumentType = rohIn.FBillTypeID; + mesRohIn.BusinessType = rohIn.FBusinessType; + + if (rohIn.FDate != null) + mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate, + "yyyy-MM-dd HH:mm:ss", null); + + mesRohIn.Supplier = rohIn.FSupplierId; + mesRohIn.CloseStatus = rohIn.FCloseStatus; + mesRohIn.PurchaseOrg = rohIn.FPurchaseOrgId; + mesRohIn.PurchaseDept = rohIn.FPurchaseDeptId; + mesRohIn.PurchaseGroup = rohIn.FPurchaserGroupId; + mesRohIn.QtyAcceptance = rohIn.Facctype; + mesRohIn.Purchaser = rohIn.FPurchaserId; + mesRohIn.QualityReq = rohIn.F_UNW_Remarks_zlyq; + mesRohIn.SettlementParty = rohIn.FSettleId; + mesRohIn.PaymentParty = rohIn.FChargeId; + mesRohIn.Email = rohIn.FProviderEMail; + mesRohIn.TransportMethod = rohIn.F_UNW_Text_ysfs; + mesRohIn.Remarks = rohIn.F_UNW_BZ; + mesRohIn.FixtureMoldProcurement = rohIn.F_UNW_Combo_zjmj; + mesRohIn.CancellationStatus = rohIn.FCancelStatus; + mesRohIn.CancellationPerson = rohIn.FCancellerId; + + if (rohIn.FCancelDate != null) + mesRohIn.CancellationDate = + DateTime.ParseExact(rohIn.FCancelDate, "yyyy-MM-dd HH:mm:ss", null); - mesRohIn.Supplier = rohIn.FSupplierId; - mesRohIn.CloseStatus = rohIn.FCloseStatus; - mesRohIn.PurchaseOrg = rohIn.FPurchaseOrgId; - mesRohIn.PurchaseDept = rohIn.FPurchaseDeptId; - mesRohIn.PurchaseGroup = rohIn.FPurchaserGroupId; - mesRohIn.QtyAcceptance = rohIn.Facctype; - mesRohIn.Purchaser = rohIn.FPurchaserId; - mesRohIn.QualityReq = rohIn.F_UNW_Remarks_zlyq; - mesRohIn.SettlementParty = rohIn.FSettleId; - mesRohIn.PaymentParty = rohIn.FChargeId; - mesRohIn.Email = rohIn.FProviderEMail; - mesRohIn.TransportMethod = rohIn.F_UNW_Text_ysfs; - mesRohIn.Remarks = rohIn.F_UNW_BZ; - mesRohIn.FixtureMoldProcurement = rohIn.F_UNW_Combo_zjmj; - mesRohIn.CancellationStatus = rohIn.FCancelStatus; - mesRohIn.CancellationPerson = rohIn.FCancellerId; + mesRohIn.CreateBy = rohIn.FCreatorId; - if (rohIn.FCancelDate != null) - mesRohIn.CancellationDate = - DateTime.ParseExact(rohIn.FCancelDate, - "yyyy-MM-dd HH:mm:ss", null); + if (rohIn.FCreateDate != null) + mesRohIn.CreateDate = DateTime.ParseExact(rohIn.FCreateDate, + "yyyy-MM-dd HH:mm:ss", null); - mesRohIn.CreateBy = rohIn.FCreatorId; + mesRohIn.LastupdateBy = rohIn.FModifierId; - if (rohIn.FCreateDate != null) - mesRohIn.CreateDate = DateTime.ParseExact(rohIn.FCreateDate, - "yyyy-MM-dd HH:mm:ss", null); + if (rohIn.FModifyDate != null) + mesRohIn.LastupdateDate = DateTime.ParseExact(rohIn.FModifyDate, + "yyyy-MM-dd HH:mm:ss", null); - mesRohIn.LastupdateBy = rohIn.FModifierId; + mesRohIn.ErpCheckBy = rohIn.FApproverId; + mesRohIn.ErpCheckDate = rohIn.FApproveDate; + mesRohIn.Changereason = rohIn.FCHANGEREASON; - if (rohIn.FModifyDate != null) - mesRohIn.LastupdateDate = DateTime.ParseExact(rohIn.FModifyDate, - "yyyy-MM-dd HH:mm:ss", null); + return mesRohIn; + } - mesRohIn.ErpCheckBy = rohIn.FApproverId; - mesRohIn.ErpCheckDate = rohIn.FApproveDate; - mesRohIn.Changereason = rohIn.FCHANGEREASON; - - return mesRohIn; - } - - // 灏� ErpRohinData 瀵硅薄杞崲涓� MesRohInData 瀵硅薄鐨勬柟娉� - public List<MesRohInData> GetMesRohInDatas( - List<ErpRohinData> erpRohinDatas, string type) + // 灏� ErpRohinData 瀵硅薄杞崲涓� MesRohInData 瀵硅薄鐨勬柟娉� + public List<MesRohInData> GetMesRohInDatas( + List<ErpRohinData> erpRohinDatas, string type) + { + return erpRohinDatas.Select(s => { - return erpRohinDatas.Select(s => + var entity = new MesRohInData { - var entity = new MesRohInData - { - EbelnK3id = Convert.ToDecimal(s.id), - ErpId = Convert.ToDecimal(s.Eid), - BillNo = s.FBillNo, - SalesOrderId = s.F_UNW_Text_xsddh, - ItemId = s.FMaterialId, - PurchaseUnit = s.FUnitId, - PurchaseQty = Convert.ToDecimal(s.FQty), - InventoryUnit = s.FStockUnitID, - PricingUnit = s.FPriceUnitId, - PricingQty = Convert.ToDecimal(s.FPriceUnitQty), - DeliveryDate = s.FDeliveryDate != null - ? DateTime.ParseExact(s.FDeliveryDate, - "yyyy-MM-dd HH:mm:ss", null) - : null, - EarliestDeliveryDate = s.FDeliveryEarlyDate != null - ? DateTime.ParseExact(s.FDeliveryEarlyDate, - "yyyy-MM-dd HH:mm:ss", null) - : null, - LatestDeliveryDate = s.FDeliveryLastDate != null - ? DateTime.ParseExact(s.FDeliveryLastDate, - "yyyy-MM-dd HH:mm:ss", null) - : null, - IsGift = s.FGiveAway, - Remarks = s.FEntryNote, - SupplierItemCode = s.FSupMatId, - SupplierItemName = s.FSupMatName, - OutsourcingOrderId = s.FSUBREQBILLNO, - BatchNumber = s.FLot, - BusinessClose = s.FMRPCloseStatus, - BusinessFreeze = s.FMRPFreezeStatus, - Freezer = s.FFreezerId, - FreezeTime = s.FFreezeDate != null - ? DateTime.ParseExact(s.FFreezeDate, - "yyyy-MM-dd HH:mm:ss", null) - : null, - BusinessTerminate = s.FMRPTerminateStatus, - Terminator = s.FTerminaterId, - TerminateTime = s.FTerminateDate != null - ? DateTime.ParseExact(s.FTerminateDate, - "yyyy-MM-dd HH:mm:ss", null) - : null, - TotalReceivedQty = Convert.ToDecimal(s.FReceiveQty), - RemainingReceivedQty = - Convert.ToDecimal(s.FRemainReceiveQty), - TotalStoredQty = Convert.ToDecimal(s.FStockInQty), - RemainingStoredQty = Convert.ToDecimal(s.FRemainStockINQty), - TotalReturnedQty = Convert.ToDecimal(s.FMrbQty), - ReturnableReceivedQty = Convert.ToDecimal(s.FCHECKRETQTY), - ReturnableStoredQty = Convert.ToDecimal(s.FSTOCKRETQTY), - SourceDocumentType = s.FSrcBillTypeId, - SourceDocumentId = s.FSrcBillNo, - DemandTrackingId = s.FReqTraceNo, - PlanTrackingId = s.FMtoNo, - ChangeFlag = s.FChangeFlag, - DemandSource = s.FDEMANDTYPE, - DemandDocumentId = s.FDEMANDBILLNO, - DemandDocumentLineId = s.FDEMANDBILLENTRYSEQ, - PurchaseOrderLineNumber = s.PurchaseOrderLineNumber, - Demand = s.Demand, - Receiving = s.Receiving, - Settlement = s.Settlement - }; + EbelnK3id = Convert.ToDecimal(s.id), + ErpId = Convert.ToDecimal(s.Eid), + BillNo = s.FBillNo, + SalesOrderId = s.F_UNW_Text_xsddh, + ItemId = s.FMaterialId, + PurchaseUnit = s.FUnitId, + PurchaseQty = Convert.ToDecimal(s.FQty), + InventoryUnit = s.FStockUnitID, + PricingUnit = s.FPriceUnitId, + PricingQty = Convert.ToDecimal(s.FPriceUnitQty), + DeliveryDate = s.FDeliveryDate != null + ? DateTime.ParseExact(s.FDeliveryDate, + "yyyy-MM-dd HH:mm:ss", null) + : null, + EarliestDeliveryDate = s.FDeliveryEarlyDate != null + ? DateTime.ParseExact(s.FDeliveryEarlyDate, + "yyyy-MM-dd HH:mm:ss", null) + : null, + LatestDeliveryDate = s.FDeliveryLastDate != null + ? DateTime.ParseExact(s.FDeliveryLastDate, + "yyyy-MM-dd HH:mm:ss", null) + : null, + IsGift = s.FGiveAway, + Remarks = s.FEntryNote, + SupplierItemCode = s.FSupMatId, + SupplierItemName = s.FSupMatName, + OutsourcingOrderId = s.FSUBREQBILLNO, + BatchNumber = s.FLot, + BusinessClose = s.FMRPCloseStatus, + BusinessFreeze = s.FMRPFreezeStatus, + Freezer = s.FFreezerId, + FreezeTime = s.FFreezeDate != null + ? DateTime.ParseExact(s.FFreezeDate, + "yyyy-MM-dd HH:mm:ss", null) + : null, + BusinessTerminate = s.FMRPTerminateStatus, + Terminator = s.FTerminaterId, + TerminateTime = s.FTerminateDate != null + ? DateTime.ParseExact(s.FTerminateDate, + "yyyy-MM-dd HH:mm:ss", null) + : null, + TotalReceivedQty = Convert.ToDecimal(s.FReceiveQty), + RemainingReceivedQty = + Convert.ToDecimal(s.FRemainReceiveQty), + TotalStoredQty = Convert.ToDecimal(s.FStockInQty), + RemainingStoredQty = Convert.ToDecimal(s.FRemainStockINQty), + TotalReturnedQty = Convert.ToDecimal(s.FMrbQty), + ReturnableReceivedQty = Convert.ToDecimal(s.FCHECKRETQTY), + ReturnableStoredQty = Convert.ToDecimal(s.FSTOCKRETQTY), + SourceDocumentType = s.FSrcBillTypeId, + SourceDocumentId = s.FSrcBillNo, + DemandTrackingId = s.FReqTraceNo, + PlanTrackingId = s.FMtoNo, + ChangeFlag = s.FChangeFlag, + DemandSource = s.FDEMANDTYPE, + DemandDocumentId = s.FDEMANDBILLNO, + DemandDocumentLineId = s.FDEMANDBILLENTRYSEQ, + PurchaseOrderLineNumber = s.PurchaseOrderLineNumber, + Demand = s.Demand, + Receiving = s.Receiving, + Settlement = s.Settlement + }; - var single = rohInDataManager.GetSingle(it => - it.EbelnK3id == entity.EbelnK3id); - if (single != null) entity.Id = single.Id; + var single = rohInDataManager.GetSingle(it => + it.EbelnK3id == entity.EbelnK3id); + if (single != null) entity.Id = single.Id; - return entity; - }).ToList(); - } + return entity; + }).ToList(); } } \ No newline at end of file -- Gitblit v1.9.3