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