From cde56aae50adc11ff8db84e424d873843c566bfd Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 24 二月 2025 23:40:41 +0800
Subject: [PATCH] 优化WCS移库逻辑

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs"
index 6eab3f8..939ca84 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs"
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing SqlSugar;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Reflection;
@@ -9,18 +10,14 @@
 {
     public static class ObjectExtension
     {
-        public static IEnumerable<T> DicToIEnumerable<T>(this List<Dictionary<string, object>> dicList)
+        public static List<T> DicToIEnumerable<T>(this List<Dictionary<string, object>> dicList)
         {
+            List<T> list = new List<T>();
             foreach (Dictionary<string, object> dic in dicList)
             {
-                T model = Activator.CreateInstance<T>();
-                foreach (PropertyInfo property in model.GetType().GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance))
-                {
-                    if (!dic.TryGetValue(property.Name, out object value)) continue;
-                    property.SetValue(model, value?.ToString().ChangeType(property.PropertyType), null);
-                }
-                yield return model;
+                list.Add(dic.DicToModel<T>());
             }
+            return list;
         }
 
         public static T DicToModel<T>(this Dictionary<string, object> dic)
@@ -29,8 +26,9 @@
             PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance);
             foreach (var property in propertyInfos)
             {
+
                 object value = null;
-                if (!dic.TryGetValue(property.Name, out value)) 
+                if (!dic.TryGetValue(property.Name, out value))
                 {
                     if (!dic.TryGetValue(property.Name.FirstLetterToUpper(), out value))
                     {
@@ -40,6 +38,11 @@
                         }
                     }
                 };
+                SugarColumn? sugarColumn = property.GetCustomAttribute<SugarColumn>();
+                if (sugarColumn != null && sugarColumn.IsIdentity && (value == null || value.Equals("")))
+                {
+                    continue;
+                }
                 property.SetValue(model, value?.ToString().ChangeType(property.PropertyType));
             }
             return model;

--
Gitblit v1.9.3