From 94018ba848c6fc56c8555881e8d92b9c88164222 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期五, 14 二月 2025 08:44:23 +0800
Subject: [PATCH] 11

---
 StandardPda/MES.Service/service/BasicData/MesRohInManager.cs |   43 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
index 67e8fab..b651a77 100644
--- a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
@@ -1,6 +1,7 @@
 锘縰sing MES.Service.DB;
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
+using MES.Service.util;
 using SqlSugar;
 
 namespace MES.Service.service.BasicData;
@@ -96,6 +97,16 @@
         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;
@@ -104,7 +115,7 @@
         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;
@@ -127,7 +138,6 @@
         mesRohIn.Changereason = rohIn.PubDescSeg2;
         mesRohIn.ReceiveOrg = Convert.ToDecimal(rohIn.FReceiveOrgId);
         mesRohIn.Remarks = rohIn.Remarks;
-
         mesRohIn.SrcDocType = rohIn.FSrcDocType;
         mesRohIn.SrcDoc = rohIn.FSrcDoc;
         mesRohIn.TradePathName = rohIn.FTradePathName;
@@ -137,7 +147,7 @@
         mesRohIn.Version = rohIn.FVersion;
 
         //浣滃簾鐨勭浉鍏冲瓧娈�
-        // mesRohIn.CancellationStatus = rohIn.FCancelStatus;
+        mesRohIn.CancellationStatus = rohIn.FCancelStatus;
         // mesRohIn.CancellationPerson = rohIn.FCancellerId;
         //
         // if (rohIn.FCancelDate != null)
@@ -152,7 +162,7 @@
     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
             {
@@ -163,7 +173,7 @@
                 BusinessFreeze = s.FStatus,
                 PurchaseOrderLineNumber = s.FSeq,
                 SalesOrderId = s.FDemandBillEntrySeq,
-                ItemId = s.FMaterialId,
+
                 PurchaseUnit = s.FUnitId,
                 PurchaseQty = Convert.ToDecimal(s.FQty),
                 PricingUnit = s.FPriceUnitId,
@@ -191,7 +201,6 @@
                 DemandDocumentId = s.FDemandBillNo,
                 DemandDocumentLineId = s.FDemandBillEntrySeq,
                 RdProject = s.RdProject,
-                Project = s.Project,
                 ProjectPurchaser = s.ProjectPurchaser
             };
 
@@ -199,6 +208,28 @@
                 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