From d2c19eb1f1d03dc494259f3df95bc63230c791a1 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期四, 03 七月 2025 16:20:39 +0800 Subject: [PATCH] 添加任务删除功能并简化代码逻辑在 `ITaskService.cs` 中新增 `Delete` 方法以支持任务删除,并在 `TaskService.cs` 中实现该方法,适配任务并调用基类删除逻辑。同时,优化了 `RequestInbound.cs` 中的 `CreateAndSendEmptyTrayTask` 和 `RequestWmsTask` 方法,移除冗余注释和不必要的查询,提升代码可读性和维护性。 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs | 138 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 116 insertions(+), 22 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs index 7b5b5b2..e273c4e 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs @@ -60,6 +60,73 @@ } + //protected string ValidatePageOptions(PageDataOptions options) + //{ + // options = options ?? new PageDataOptions(); + // string where = ""; + // List<SearchParameters> searchParametersList = new List<SearchParameters>(); + // if (options.Filter != null && options.Filter.Count > 0) + // { + // searchParametersList.AddRange(options.Filter); + // } + // else if (!string.IsNullOrEmpty(options.Wheres)) + // { + // try + // { + // searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>(); + // options.Filter = searchParametersList; + // } + // catch { } + // } + // QueryRelativeList?.Invoke(searchParametersList); + + // for (int i = 0; i < searchParametersList.Count; i++) + // { + // if (string.IsNullOrEmpty(searchParametersList[i].Value)) + // { + // continue; + // } + + // PropertyInfo property = TProperties.Where(c => c.Name.ToUpper() == searchParametersList[i].Name.ToUpper()).FirstOrDefault(); + + // if (property == null) continue; + + // List<(bool, string, object)> results = property.ValidationValueForDbType(searchParametersList[i].Value.Split(',')).ToList(); + // if (results == null || results.Count() == 0) + // { + // continue; + // } + // for (int j = 0; j < results.Count(); j++) + // { + // if (j == 0) + // { + // where += "("; + // } + // LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition(); + // if (expressionType == LinqExpressionType.Equal) + // { + // where += $"{searchParametersList[i].Name} like '%{results[j].Item3}%'"; + // } + // else + // { + // where += $"{searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{results[j].Item3}'"; + // } + + // if (j == results.Count() - 1) + // { + // where += ")"; + // } + // else + // { + // where += " or "; + // } + // } + // if (i < searchParametersList.Count - 1) + // where += " and "; + // } + // return where; + //} + protected string ValidatePageOptions(PageDataOptions options) { options = options ?? new PageDataOptions(); @@ -91,38 +158,65 @@ if (property == null) continue; - List<(bool, string, object)> results = property.ValidationValueForDbType(searchParametersList[i].Value.Split(',')).ToList(); - if (results == null || results.Count() == 0) + (bool, string, object) result = property.ValidationVal(searchParametersList[i].Value); + if (!result.Item1) { continue; } - for (int j = 0; j < results.Count(); j++) - { - if (j == 0) - { - where += "("; - } - LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition(); - if (expressionType == LinqExpressionType.Equal) - { - where += $"{searchParametersList[i].Name} like '%{results[j].Item3}%'"; - } - else - { - where += $"{searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{results[j].Item3}'"; - } - if (j == results.Count() - 1) + LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition(); + if (expressionType == LinqExpressionType.Equal) + { + if (string.IsNullOrEmpty(where)) { - where += ")"; + // 閽堝瀛楃涓茬被鍨嬬殑瀛楁浣跨敤妯$硦鏌ヨ + //where += $"{searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'"; + if (searchParametersList[i].Value.ToLower() == "true" || searchParametersList[i].Value.ToLower() == "false") + { + where += $" {searchParametersList[i].Name} = '{searchParametersList[i].Value.ToLower()}'"; + } + else + { + where += $"[{searchParametersList[i].Name}] like '%{searchParametersList[i].Value}%'"; + } } else { - where += " or "; + // 閽堝甯冨皵绫诲瀷瀛楁杩涜绮剧‘鏌ヨ + if (searchParametersList[i].Value.ToLower() == "true" || searchParametersList[i].Value.ToLower() == "false") + { + where += $" and {searchParametersList[i].Name} = '{searchParametersList[i].Value.ToLower()}'"; + } + else + { + where += $" and [{searchParametersList[i].Name}] like '%{searchParametersList[i].Value}%'"; + } } } - if (i < searchParametersList.Count - 1) - where += " and "; + else + { + if (searchParametersList[i].DisplayType.GetLinqCondition() == LinqExpressionType.ThanOrEqual) + { + if (string.IsNullOrEmpty(where)) + where += $"{searchParametersList[i].Name} >= '{searchParametersList[i].Value}'"; + else + where += $" and {searchParametersList[i].Name} {searchParametersList[i].DisplayType.GetLinqCondition()} '{searchParametersList[i].Value}'"; + } + else if (searchParametersList[i].DisplayType.GetLinqCondition() == LinqExpressionType.LessThanOrEqual) + { + if (string.IsNullOrEmpty(where)) + where += $"{searchParametersList[i].Name} <= '{searchParametersList[i].Value}'"; + else + where += $" and {searchParametersList[i].Name} <= '{searchParametersList[i].Value}'"; + } + else + { + if (string.IsNullOrEmpty(where)) + where += $"{searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{searchParametersList[i].Value}'"; + else + where += $" and {searchParametersList[i].Name} {searchParametersList[i].DisplayType} '{searchParametersList[i].Value}'"; + } + } } return where; } -- Gitblit v1.9.3