From 829eabf256e29392ca63f6da48829dba3b075dfe Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期五, 24 一月 2025 08:59:53 +0800
Subject: [PATCH] 资料,优化程序

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/PageDataOptions.cs |   67 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 15 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/PageDataOptions.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/PageDataOptions.cs"
index 5ce5196..00eaf4f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/PageDataOptions.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseModels/PageDataOptions.cs"
@@ -5,6 +5,7 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Core.Const;
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
 using WIDESEA_Core.Utilities;
@@ -72,7 +73,27 @@
                     LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition();
                     if (expressionType == LinqExpressionType.Equal)
                     {
-                        where += $"{searchParametersList[i].Name} = '{results[j].Item3}'";
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.Equal} '{results[j].Item3}'";
+                    }
+                    else if (expressionType == LinqExpressionType.ThanOrEqual)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.ThanOrEqual} '{searchParametersList[i].Value}'";
+                    }
+                    else if (expressionType == LinqExpressionType.LessThanOrEqual)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.LessOrequal} '{searchParametersList[i].Value}'";
+                    }
+                    else if (expressionType == LinqExpressionType.GreaterThan)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.GT} '{searchParametersList[i].Value}'";
+                    }
+                    else if (expressionType == LinqExpressionType.LessThan)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.LT} '{searchParametersList[i].Value}'";
+                    }
+                    else if (expressionType == LinqExpressionType.Contains)
+                    {
+                        where += $"{searchParametersList[i].Name} {HtmlElementType.like} '%{searchParametersList[i].Value}%'";
                     }
                     else
                     {
@@ -97,26 +118,42 @@
 
         public Dictionary<string, OrderByType> GetPageDataSort(PropertyInfo[] propertyInfo)
         {
-            if (!string.IsNullOrEmpty(Sort))
+            try
             {
-                if (Sort.Contains(","))
+                if (!string.IsNullOrEmpty(Sort))
                 {
-                    List<string> sortArr = Sort.Split(",").Where(x => propertyInfo.Any(p => p.Name == x)).ToList();
-                    Dictionary<string, OrderByType> sortDic = new Dictionary<string, OrderByType>();
-                    foreach (var item in sortArr)
+                    if (Sort.Contains(","))
                     {
-                        sortDic[item] = Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc;
-                    }
-                    return sortDic;
-                }
-                else if (propertyInfo.Any(x => x.Name == Sort.FirstLetterToLower() || x.Name == Sort.FirstLetterToUpper()))
-                {
-                    return new Dictionary<string, OrderByType> {
+                        List<string> sortArr = Sort.Split(",").Where(x => propertyInfo.Any(p => p.Name == x)).ToList();
+                        Dictionary<string, OrderByType> sortDic = new Dictionary<string, OrderByType>();
+                        foreach (var item in sortArr)
                         {
-                            Sort,Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc
-                        } };
+                            sortDic[item] = Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc;
+                        }
+                        return sortDic;
+                    }
+                    else if (propertyInfo.Any(x => x.Name == Sort.FirstLetterToLower() || x.Name == Sort.FirstLetterToUpper()))
+                    {
+                        Dictionary<string, OrderByType> result = new Dictionary<string, OrderByType>();
+
+                        if (Order == "asc")
+                        {
+                            result.Add(Sort, OrderByType.Asc);
+                        }
+                        else
+                        {
+                            result.Add(Sort, OrderByType.Desc);
+                        }
+
+                        return result;
+                    }
                 }
             }
+            catch (Exception ex)
+            {
+
+                throw;
+            }
             return new Dictionary<string, OrderByType> { { "CreateDate", Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc } };
         }
     }

--
Gitblit v1.9.3