From f31edb8fa31c6608d34d303e750890f7eea1930b Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期二, 26 八月 2025 14:08:02 +0800
Subject: [PATCH] 首检获取检验项目前 删除原有检验项

---
 MES.Service/service/SalesOrder/SalesOrderManager.cs |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/MES.Service/service/SalesOrder/SalesOrderManager.cs b/MES.Service/service/SalesOrder/SalesOrderManager.cs
index 89ff28b..6ae1bb0 100644
--- a/MES.Service/service/SalesOrder/SalesOrderManager.cs
+++ b/MES.Service/service/SalesOrder/SalesOrderManager.cs
@@ -34,6 +34,7 @@
                     return UpdateData(db, mesSalesOrder, mesSalesOrderDatas) ? 1 : 0;
                 case "2":
                 case "4":
+                case "5":
                     return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDatas, erpSalesOrderDto.Type)
                         ? 1
                         : 0;
@@ -82,6 +83,23 @@
         return result.All(b => b);
     }
 
+    //鑷姩鏄犲皠瀛楁
+    public static void MapProperties<T>(T target, object source)
+    {
+        var targetProps = typeof(T).GetProperties();
+        var sourceProps = source.GetType().GetProperties();
+
+        foreach (var targetProp in targetProps)
+        {
+            var sourceProp = sourceProps.FirstOrDefault(p => p.Name == targetProp.Name && p.PropertyType == targetProp.PropertyType);
+            if (sourceProp != null)
+            {
+                var value = sourceProp.GetValue(source);
+                targetProp.SetValue(target, value);
+            }
+        }
+    }
+
     private SalesOrder ConvertErpToSalesOrder(
         ErpSalesOrder erpDto1)
     {
@@ -99,7 +117,9 @@
             return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
         }
         var erpDto = erpDto1.OrderDto;
-        var salesOrder = new SalesOrder
+        var salesOrder = new SalesOrder();
+        MapProperties(salesOrder, erpDto);
+        /*var salesOrder = new SalesOrder
         {
             Id = erpDto.Id,
             Erpid = erpDto.Erpid,
@@ -143,7 +163,7 @@
             //long.Parse()
             //Convert.ToDecimal()
             //Convert.ToDouble()
-        };
+        };*/
 
         var single = base.GetSingle(it => it.Erpid == erpDto.Erpid);
         if (single != null) salesOrder.Id = single.Id;
@@ -160,7 +180,9 @@
 
         foreach (var erpDto in erpDtoList.Items)
         {
-            var salesOrderSub = new SalesOrderDetail
+            var salesOrderSub = new SalesOrderDetail();
+            MapProperties(salesOrderSub, erpDto);
+            /*var salesOrderSub = new SalesOrderDetail
             {
                 Id = erpDto.Id,
                 Erpid = erpDto.Erpid,
@@ -196,7 +218,7 @@
                 Fmapid = erpDto.Fmapid,
                 Fmapname = erpDto.Fmapname,
                 Fmapspec = erpDto.Fmapspec
-            };
+            };*/
 
             var single = _SalesOrderDetailManager.GetSingle(it =>
                 it.Erpid == salesOrderSub.Erpid);

--
Gitblit v1.9.3