From a8be8f9371b6fc03b66d212b2902d08f93b087dd Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期三, 02 七月 2025 13:55:55 +0800 Subject: [PATCH] 新增任务查询方法并优化逻辑在 `ITaskService.cs` 中添加了新的 `QueryExecutingConveyorLineTask` 方法,支持根据托盘号和下一地址查询任务,同时调整了原有方法的参数以保留旧功能。在 `TaskService.cs` 中新增重载方法,允许根据下一地址和条形码查询任务。在 `CommonConveyorLine_GWJob.cs` 中更新了 `ConveyorLineOutFinish` 方法,简化了任务查询逻辑并删除了多余的注释代码。同时,增加了对 `taskNext` 的处理逻辑,确保在任务未找到时的相应处理,并更新在途数据的逻辑,提升数据一致性和准确性。 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs | 31 ++++++++++++++++++++++++++----- 1 files changed, 26 insertions(+), 5 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs index 6e000c3..781918a 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/ObjectExtension.cs @@ -21,21 +21,42 @@ public static T DicToModel<T>(this Dictionary<string, object> dic) { + //T model = Activator.CreateInstance<T>(); + //PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance); + + //Dictionary<string, object> upperDic = dic.ToDictionary(k => k.Key.ToUpper(), v => v.Value); + + //foreach (var property in propertyInfos) + //{ + // object value = null; + // if (!upperDic.TryGetValue(property.Name.ToUpper(), out value)) + // { + // continue; + // } + // property.SetValue(model, value?.ToString().ChangeType(property.PropertyType)); + //} + //return model; + T model = Activator.CreateInstance<T>(); PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance); - - Dictionary<string, object> upperDic = dic.ToDictionary(k => k.Key.ToUpper(), v => v.Value); - foreach (var property in propertyInfos) { object value = null; - if (!upperDic.TryGetValue(property.Name.ToUpper(), out value)) + if (!dic.TryGetValue(property.Name, out value)) { - continue; + if (!dic.TryGetValue(property.Name.FirstLetterToUpper(), out value)) + { + if (!dic.TryGetValue(property.Name.FirstLetterToLower(), out value)) + { + continue; + } + } } + ; property.SetValue(model, value?.ToString().ChangeType(property.PropertyType)); } return model; + } } } -- Gitblit v1.9.3