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