From 1c7dbaaa6da761231b4a6efe75d2ea83a286741c Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期一, 04 十一月 2024 10:20:40 +0800 Subject: [PATCH] 生产订单接口 --- MES.Service/service/BasicData/MesRohInManager.cs | 150 ++++++++++++++++++------------------------------- 1 files changed, 56 insertions(+), 94 deletions(-) diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs index c6a5935..b8853e7 100644 --- a/MES.Service/service/BasicData/MesRohInManager.cs +++ b/MES.Service/service/BasicData/MesRohInManager.cs @@ -14,77 +14,38 @@ { var rohInErpRohIn = rohIn.ErpRohIn; var mesRohIn = GetMesRohIn(rohInErpRohIn); - var mesRohInDatas = GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type); + var mesRohInDatas = + GetMesRohInDatas(rohIn.ErpRohinDatas); return UseTransaction(db => { - switch (rohInErpRohIn.Type) + return rohInErpRohIn.Type switch { - case "2": - case "4": - case "5": - return SaveOrUpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0; - case "3": - return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0; - default: - throw new NotImplementedException( - $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷"); - } + "2" or "4" or "5" => SaveOrUpdateData(db, mesRohIn, + mesRohInDatas) + ? 1 + : 0, + "3" => UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0, + _ => throw new NotImplementedException( + $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷") + }; }) > 0; } - // 鎻掑叆鏁版嵁鐨勬柟娉� - private bool InsertData(SqlSugarScope db, MesRohIn mesRohIn, - List<MesRohInData> mesRohInDatas, string FBILLTYPE) - { - switch (FBILLTYPE) - { - 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 insert = base.Insert(mesRohIn); - var insertRange = - rohInDataManager.InsertRange(mesRohInDatas); - - if (insert && insertRange) return true; - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - 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 decimals = mesRohInDatas.Select(s => s.Guid).ToArray(); + + var update = db.Deleteable<MesRohIn>() + .Where(a => a.Guid == mesRohIn.Guid) + .ExecuteCommand() > 0; + var insertOrUpdate = db - .Deleteable<MesRohInData>().In(decimals) + .Deleteable<MesRohInData>() + .Where(s => decimals.Contains(s.Guid)) .ExecuteCommand() > 0; if (update && insertOrUpdate) return true; @@ -95,14 +56,22 @@ private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn, List<MesRohInData> mesRohInDatas) { - if (mesRohIn.Id != null) base.DeleteById(mesRohIn.Id); + if (mesRohIn.Guid != null) + db.Deleteable<MesRohIn>().Where(s => s.Guid == mesRohIn.Guid) + .ExecuteCommand(); if (mesRohInDatas.Count > 0) db.Deleteable<MesRohInData>() .Where(s => s.ErpId == mesRohIn.EbelnK3id).ExecuteCommand(); - var orUpdate = base.Insert(mesRohIn); - var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas); + var orUpdate = db.Insertable(mesRohIn) + .IgnoreColumns(true).ExecuteCommand() > 0; + + + var baOrUpdate = db.Insertable(mesRohInDatas).PageSize(1) + .IgnoreColumnsNull() + .ExecuteCommand() > 0; + if (orUpdate && baOrUpdate) return true; throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); } @@ -115,13 +84,14 @@ } // 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉� - public MesRohIn GetMesRohIn(ErpRohIn rohIn) + private MesRohIn GetMesRohIn(ErpRohIn rohIn) { - var eid = Convert.ToDecimal(rohIn.id); + var eid = long.Parse(rohIn.id); var mesRohIn = new MesRohIn(); + var single = base.GetSingle(it => it.EbelnK3id == eid); - if (single != null) mesRohIn.Id = single.Id; + if (single != null) mesRohIn.Guid = single.Guid; mesRohIn.EbelnK3id = eid; mesRohIn.BillNo = rohIn.FBillNo; @@ -138,15 +108,11 @@ 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_XIFG_Text_qtr1; - // mesRohIn.FixtureMoldProcurement = rohIn.F_UNW_Combo_zjmj; + mesRohIn.Email = rohIn.FProviderEMail; + mesRohIn.Remarks = rohIn.Remarks; mesRohIn.CancellationStatus = rohIn.FCancelStatus; mesRohIn.CancellationPerson = rohIn.FCancellerId; @@ -169,22 +135,28 @@ mesRohIn.ErpCheckBy = rohIn.FApproverId; mesRohIn.ErpCheckDate = rohIn.FApproveDate; - mesRohIn.Changereason = rohIn.FCHANGEREASON; - mesRohIn.FPREARRIVALDATE = rohIn.FPREARRIVALDATE != null - ? DateTime.ParseExact(rohIn.FPREARRIVALDATE, + mesRohIn.Changereason = rohIn.FChangeReason; + mesRohIn.Prearrivaldate = rohIn.Prearrivaldate != null + ? DateTime.ParseExact(rohIn.Prearrivaldate, "yyyy-MM-dd HH:mm:ss", null) : null; - mesRohIn.FRECEIVEORGID = rohIn.FRECEIVEORGID; + mesRohIn.ReceiveOrgId = rohIn.FReceiveOrgId; + mesRohIn.ProviderId = rohIn.FProviderId; - mesRohIn.remark1 = rohIn.F_XIFG_PrintTimes_qtr; + mesRohIn.Anred = rohIn.FTContact; + mesRohIn.Telf1 = rohIn.Fmobilephone; + mesRohIn.FixedTelephone = rohIn.FixedTelephone; + mesRohIn.Address = rohIn.Address; + mesRohIn.Acctype = rohIn.Acctype; + return mesRohIn; } // 灏� ErpRohinData 瀵硅薄杞崲涓� MesRohInData 瀵硅薄鐨勬柟娉� - public List<MesRohInData> GetMesRohInDatas( - List<ErpRohinData> erpRohinDatas, string type) + private List<MesRohInData> GetMesRohInDatas( + List<ErpRohinData> erpRohinDatas) { return erpRohinDatas.Select(s => { @@ -193,12 +165,12 @@ EbelnK3id = Convert.ToDecimal(s.id), ErpId = Convert.ToDecimal(s.Eid), BillNo = s.FBillNo, - SalesOrderId = s.F_XIFG_Text_k79, - OrderLineId = s.FSEQ, 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) @@ -212,7 +184,7 @@ "yyyy-MM-dd HH:mm:ss", null) : null, IsGift = s.FGiveAway, - Remarks = s.Fnote, + Remarks = s.FEntryNote, SupplierItemCode = s.FSupMatId, SupplierItemName = s.FSupMatName, OutsourcingOrderId = s.FSUBREQBILLNO, @@ -236,7 +208,8 @@ TotalStoredQty = Convert.ToDecimal(s.FStockInQty), //绱鍏ュ簱鏁� RemainingStoredQty = Convert.ToDecimal(s.FRemainStockINQty), TotalReturnedQty = Convert.ToDecimal(s.FMrbQty), - ReturnableReceivedQty = Convert.ToDecimal(s.FCHECKRETQTY), //鏀舵枡鍙��鏁� + ReturnableReceivedQty = + Convert.ToDecimal(s.FCHECKRETQTY), //鏀舵枡鍙��鏁� ReturnableStoredQty = Convert.ToDecimal(s.FSTOCKRETQTY), //搴撳瓨鍙��鏁� SourceDocumentType = s.FSrcBillTypeId, SourceDocumentId = s.FSrcBillNo, @@ -254,23 +227,12 @@ Receiving = s.FReceiveOrgId, Settlement = s.FSETTLEORGID, DemandDepartment = s.FRequireDeptId, - ReceivingDepartment = s.FReceiveDeptId, - FPREARRIVALDATE = s.FPREARRIVALDATE != null - ? DateTime.ParseExact(s.FPREARRIVALDATE, - "yyyy-MM-dd HH:mm:ss", null) - : null, - Remark1 = s.F_XIFG_Text_ne1, - Remark2 = s.F_XIFG_Text_6oq, - Remark3 = s.F_XIFG_Base_c1c, - Remark4 = s.F_XIFG_Text_qtr4, - FdemandbillnoLine = s.FdemandbillnoLine, - ElectricalProductModel = s.ElectricalProductModel, - ElectricalProductName = s.ElectricalProductName + ReceivingDepartment = s.FReceiveDeptId }; var single = rohInDataManager.GetSingle(it => it.EbelnK3id == entity.EbelnK3id); - if (single != null) entity.Id = single.Id; + if (single != null) entity.Guid = single.Guid; return entity; }).ToList(); -- Gitblit v1.9.3