From 736fb5782d375908a9097780743913193ffde494 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期四, 03 七月 2025 17:28:14 +0800
Subject: [PATCH] 完善部分日志内容,优化查询语句和日志打印代码

---
 wms/LocationHelper.cs |   72 ++++++++++++++++++++++++++++-------
 1 files changed, 57 insertions(+), 15 deletions(-)

diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs
index 67fcff2..714a1bc 100644
--- a/wms/LocationHelper.cs
+++ b/wms/LocationHelper.cs
@@ -145,7 +145,7 @@
 
             if (loc != null && loc.N_LOCK_STATE == 0) {
                 loc.N_LOCK_STATE = 2; // 璧风偣鍑哄簱閿�-                loc.S_LOCK_STATE = TN_Location.GetLockStateStr(2); // 璧风偣鍑哄簱閿�+                loc.S_LOCK_STATE = GetLockStateStr(2); // 璧风偣鍑哄簱閿�                 loc.S_LOCK_OP = lockSource;
                 loc.T_MODIFY = System.DateTime.Now;
             }
@@ -172,7 +172,7 @@
 
             if (loc != null && loc.N_LOCK_STATE == 0) {
                 loc.N_LOCK_STATE = 1; // 缁堢偣鍑哄簱閿�-                loc.S_LOCK_STATE = TN_Location.GetLockStateStr(1); // 缁堢偣鍑哄簱閿�+                loc.S_LOCK_STATE = GetLockStateStr(1); // 缁堢偣鍑哄簱閿�                 loc.S_LOCK_OP = lockSource;
                 loc.T_MODIFY = System.DateTime.Now;
             }
@@ -180,22 +180,38 @@
             return true;
         }
 
-        /// <summary>
-        /// 鏋勫缓璐т綅鏌ヨ琛ㄨ揪寮忥細褰撳墠鏁伴噺銆佽揣鍖恒�鍚嶇О
-        /// </summary>
-        /// <param name="db"></param>
-        /// <param name="nCurrentNum"></param>
-        /// <param name="areas"></param>
-        /// <param name="name"></param>
-        /// <returns></returns>
-        public static ISugarQueryable<TN_Location> GetLocQuery(SqlSugarClient db, int nCurrentNum = 0, List<string> areas = null, string name = null) {
-            var query = db.Queryable<TN_Location>()
-                .Where(l => l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.C_ENABLE == "Y" && l.N_CURRENT_NUM == nCurrentNum);
+        private static string GetLockStateStr(int lockState) {
+            var str = "";
+            switch (lockState) {
+                case 0: str = "鏃�; break;
+                case 1: str = "鍏ュ簱閿�; break;
+                case 2: str = "鍑哄簱閿�; break;
+                case 3: str = "鍏跺畠閿�; break;
+            }
+            return str;
+        }
 
-            if (areas != null && !areas.Any()) {
+        /// <summary>
+        /// 鏋勫缓璐т綅鏌ヨ琛ㄨ揪寮忥細褰撳墠閿佺姸鎬併�鏁伴噺銆佽揣鍖恒�鍚嶇О锛堥粯璁ょ瓫閫夊凡鍚敤璐т綅锛�+        /// </summary>
+        /// <param name="db">璋冪敤鍖哄煙鐨勬暟鎹簱Client</param>
+        /// <param name="lockState">閿佺姸鎬侊紝榛樿涓�锛屽皬浜�鏃朵笉绛涢�</param>
+        /// <param name="curNum">褰撳墠鏁伴噺锛岄粯璁や负-1锛屽皬浜�鏃朵笉绛涢�</param>
+        /// <param name="areas">鎵�湪搴撳尯鍒楄〃锛岄粯璁や负null锛屼负null鎴栦负绌烘椂涓嶇瓫閫�/param>
+        /// <param name="name">璐т綅鍚嶇О锛岄粯璁や负null锛屼负null鎴栦负绌烘椂涓嶇瓫閫�/param>
+        /// <returns></returns>
+        public static ISugarQueryable<TN_Location> Query(SqlSugarClient db, int lockState = 0, int curNum = -1, List<string> areas = null, string name = null) {
+            var query = db.Queryable<TN_Location>().Where(l => l.C_ENABLE == "Y"); // 宸插惎鐢�+
+            if (lockState >= 0) {
+                query = query.Where(l => l.N_LOCK_STATE == lockState && l.S_LOCK_STATE == GetLockStateStr(lockState));
+            }
+            if (curNum >= 0) {
+                query = query.Where(l => l.N_CURRENT_NUM == curNum);
+            }
+            if (areas != null && areas.Count == 0) {
                 query = query.Where(l => areas.Contains(l.S_AREA_CODE));
             }
-
             if (!string.IsNullOrEmpty(name)) {
                 query = query.Where(l => l.S_CODE == name);
             }
@@ -204,6 +220,32 @@
         }
 
         /// <summary>
+        /// 鏋勫缓璐т綅鏌ヨ鐨勮姹備俊鎭�+        /// </summary>
+        /// <param name="lockState"></param>
+        /// <param name="curNum"></param>
+        /// <param name="areas"></param>
+        /// <returns></returns>
+        public static string Require(int lockState = 0, int curNum = -1, List<string> areas = null) {
+            var res = "璐т綅瑕佹眰锛�;
+            var index = 1;
+            if (lockState >= 0) {
+                res += $"({index})閿佺姸鎬�'{GetLockStateStr(lockState)}';";
+                index++;
+            }
+            if (curNum >= 0) {
+                res += $"({index})褰撳墠瀹瑰櫒鏁伴噺={curNum};";
+                index++;
+            }
+            if (areas != null && areas.Count != 0) {
+                res += $"({index})鎵�湪搴撳尯=['{string.Join("','", areas)}'];";
+                index++;
+            }
+
+            return res;
+        }
+
+        /// <summary>
         /// 鍙栬揣瀹岃В閿佽捣鐐癸紝鍗歌揣瀹岃В閿佺粓鐐癸紝鍙楠岄攣鐨勬潵婧愶紝涔熷彲浠ヤ笉鏍¢獙
         /// </summary>
         /// <param name="loc"></param>

--
Gitblit v1.9.1