From 457b75b642a1fdaa7158e5b047cabc5d7ae16333 Mon Sep 17 00:00:00 2001
From: xxyy <cathay_xy@163.com>
Date: 星期一, 10 三月 2025 10:10:13 +0800
Subject: [PATCH] 修复和优化 Dt_TaskService.cs 中的任务请求逻辑

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
index 329d55b..aa0da5e 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
@@ -31,7 +31,7 @@
         public ISqlSugarClient Db => BaseDal.Db;
 
         private PropertyInfo[] _propertyInfo { get; set; } = null;
-        private PropertyInfo[] TProperties
+        public PropertyInfo[] TProperties
         {
             get
             {
@@ -130,9 +130,30 @@
                 if (expressionType == LinqExpressionType.Equal)
                 {
                     if (string.IsNullOrEmpty(where))
-                        where += $"{searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'";
+                    {
+                        // 閽堝瀛楃涓茬被鍨嬬殑瀛楁浣跨敤妯$硦鏌ヨ
+                        //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 += $" and {searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'";
+                    {
+                        // 閽堝甯冨皵绫诲瀷瀛楁杩涜绮剧‘鏌ヨ
+                        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}%'";
+                        }
+                    }
                 }
                 else
                 {
@@ -151,7 +172,7 @@
         /// <param name="pageData"></param>
         /// <param name="propertyInfo"></param>
         /// <returns></returns>
-        private Dictionary<string, OrderByType> GetPageDataSort(PageDataOptions pageData, PropertyInfo[] propertyInfo)
+        public Dictionary<string, OrderByType> GetPageDataSort(PageDataOptions pageData, PropertyInfo[] propertyInfo)
         {
             if (!string.IsNullOrEmpty(pageData.Sort))
             {
@@ -165,11 +186,11 @@
                     }
                     return sortDic;
                 }
-                else if (propertyInfo.Any(x => x.Name == pageData.Sort))
+                else if (propertyInfo.Any(x => x.Name.ToUpper() == pageData.Sort.ToUpper()))
                 {
                     return new Dictionary<string, OrderByType> {
                         {
-                            pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc
+                            pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString().ToLower()? OrderByType.Asc : OrderByType.Desc
                         } };
                 }
             }

--
Gitblit v1.9.3