From 0ac65b10a59bcca5b22bcf03086c8aaa36a8a525 Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期四, 12 六月 2025 20:42:41 +0800 Subject: [PATCH] 1,签收送货单接口,添加签收人;2.来料检接口,添加到货时间字段 --- StandardPda/MES.Service/service/BasicData/MesRohInManager.cs | 146 ++++++++++++++++++++++-------------------------- 1 files changed, 68 insertions(+), 78 deletions(-) diff --git a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs index dfe434e..f185e91 100644 --- a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs +++ b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs @@ -1,8 +1,8 @@ 锘縰sing MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; +using MES.Service.util; using SqlSugar; -using System.Security.AccessControl; namespace MES.Service.service.BasicData; @@ -15,7 +15,8 @@ { var rohInErpRohIn = rohIn.ErpRohIn; var mesRohIn = GetMesRohIn(rohInErpRohIn); - var mesRohInDatas = GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type); + var mesRohInDatas = + GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type); return UseTransaction(db => { @@ -25,15 +26,15 @@ mesRohInDatas) ? 1 : 0, - "3" => UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0, + "3" => DeleteData(db, mesRohIn, mesRohInDatas) ? 1 : 0, _ => throw new NotImplementedException( $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷") }; }) > 0; } - + // 鏇存柊鏁版嵁鐨勬柟娉� - private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn, + private bool DeleteData(SqlSugarScope db, MesRohIn mesRohIn, List<MesRohInData> mesRohInDatas) { var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); @@ -68,7 +69,7 @@ //var orUpdate = base.Insert(mesRohIn); //var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas); var orUpdate = db.Insertable(mesRohIn) - .IgnoreColumns(true).ExecuteCommand() > 0; + .IgnoreColumns(true).ExecuteCommand() > 0; var baOrUpdate = db.Insertable(mesRohInDatas).PageSize(1) @@ -88,41 +89,34 @@ } // 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉� - public MesRohIn GetMesRohIn(ErpRohIn rohIn) + private MesRohIn GetMesRohIn(ErpRohIn rohIn) { - var eid = Convert.ToDecimal(rohIn.id); + var eid = rohIn.id; var mesRohIn = new MesRohIn(); var single = base.GetSingle(it => it.EbelnK3id == eid); if (single != null) mesRohIn.Id = single.Id; + var mesLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.U9Id == rohIn.FSupplierId + && s.OrgId == rohIn.FReceiveOrgId + && s.TableType == "MES_SUPPLIER").First(); + + if (mesLinkU9 != null) mesRohIn.Supplier = mesLinkU9.MesId; + mesRohIn.EbelnK3id = eid; mesRohIn.BillNo = rohIn.FBillNo; mesRohIn.DocumentStatus = rohIn.FDocumentStatus; - mesRohIn.DocumentType = rohIn.FBillTypeID; + 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.PurchaseDate = DateTime.ParseExact(rohIn.FDate, + "yyyy-MM-dd HH:mm:ss", null); + mesRohIn.CloseStatus = rohIn.FCloseStatus; mesRohIn.PurchaseOrg = rohIn.FPurchaseOrgId; mesRohIn.PurchaseDept = rohIn.FPurchaseDeptId; - mesRohIn.PurchaseGroup = rohIn.FPurchaserGroupId; mesRohIn.Purchaser = rohIn.FPurchaserId; - - //鏂板 楠屾敹鏂瑰紡 - mesRohIn.ACCTYPE = rohIn.Acctype; - - mesRohIn.SettlementParty = rohIn.FSettleId; - mesRohIn.PaymentParty = rohIn.FChargeId; - //mesRohIn.Email = rohIn.FProviderEMail; - 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.CreateBy = rohIn.FCreatorId; @@ -136,78 +130,59 @@ mesRohIn.LastupdateDate = DateTime.ParseExact(rohIn.FModifyDate, "yyyy-MM-dd HH:mm:ss", null); - mesRohIn.ErpCheckBy = rohIn.FApproverId; mesRohIn.ErpCheckDate = rohIn.FApproveDate; - mesRohIn.Changereason = rohIn.FChangeReason; + mesRohIn.Changereason = rohIn.PubDescSeg2; + mesRohIn.ReceiveOrg = rohIn.FReceiveOrgId; + mesRohIn.Remarks = rohIn.Remarks; + mesRohIn.SrcDocType = rohIn.FSrcDocType; + mesRohIn.SrcDoc = rohIn.FSrcDoc; + mesRohIn.TradePathName = rohIn.FTradePathName; + mesRohIn.SubType = rohIn.FSubType; + mesRohIn.IsReDo = short.Parse(rohIn.FIsReDo ?? "0"); + mesRohIn.PrivateDescSeg1 = rohIn.PrivateDescSeg1; + mesRohIn.Version = rohIn.FVersion; - //if (rohIn.Prearrivaldate != null) - // mesRohIn.Prearrivaldate = DateTime.ParseExact(rohIn.Prearrivaldate, - // "yyyy-MM-dd HH:mm:ss", null); - - mesRohIn.ReceiveOrg = Convert.ToDecimal(rohIn.FReceiveOrgId); + //浣滃簾鐨勭浉鍏冲瓧娈� + 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); return mesRohIn; } // 灏� ErpRohinData 瀵硅薄杞崲涓� MesRohInData 瀵硅薄鐨勬柟娉� - public List<MesRohInData> GetMesRohInDatas( + private List<MesRohInData> GetMesRohInDatas( List<ErpRohinData> erpRohinDatas, string type) { - return erpRohinDatas.Select(s => + return erpRohinDatas.DistinctByConcurrent(x => x.id).Select(s => { var entity = new MesRohInData { - EbelnK3id = Convert.ToDecimal(s.id), - ErpId = Convert.ToDecimal(s.Eid), + EbelnK3id = s.id, + ErpId = s.Eid, BillNo = s.FBillNo, OrderLineId = s.FSeq, + BusinessFreeze = s.FStatus, PurchaseOrderLineNumber = s.FSeq, SalesOrderId = s.FDemandBillEntrySeq, - 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, Demand = s.FRequireOrgId, Receiving = s.FReceiveOrgId, - ReceivingDepartment = s.FReceiveDeptId, - Settlement = s.FEntrySettleOrgId, + ReceivingDept = s.FReceiveDeptId, DemandOrg = s.FRequireOrgId, ReceivingOrg = s.FReceiveOrgId, - SettlementOrg = s.FEntrySettleOrgId, 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), @@ -219,23 +194,38 @@ 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, - DemandDept = s.FRequireDeptId, - FCGDDSctzda = s.F_CGDD_SCTZDA, - FCGDDXHA = s.F_CGDD_XHA, - FXifgTextApv = s.F_XIFG_Text_apv - + RdProject = s.RdProject, + ProjectPurchaser = s.ProjectPurchaser }; + + if (s.FDeliveryDate != null) + entity.DeliveryDate = + DateTime.ParseExact(s.FDeliveryDate, + "yyyy-MM-dd HH:mm:ss", null); var single = rohInDataManager.GetSingle(it => it.EbelnK3id == entity.EbelnK3id); if (single != null) entity.Id = single.Id; + //ItemId = s.FMaterialId, + var mesLinkU9 = Db.Queryable<MesLinkU9>() + .Where(x => x.U9Id == s.FMaterialId + && x.OrgId == s.FReceiveOrgId + && x.TableType == "MES_ITEMS").First(); + + if (mesLinkU9 != null) entity.ItemId = mesLinkU9.MesId; + + + var mesLinkU92 = Db.Queryable<MesLinkU9>() + .Where(x => x.U9Id == s.Project + && x.OrgId == s.FReceiveOrgId + && x.TableType == "MES_PROJECT").First(); + + if (mesLinkU92 != null) entity.Project = mesLinkU92.MesId; + return entity; }).ToList(); } -- Gitblit v1.9.3