From 63e94e068622d4ef843cee0d19d4f2d231316304 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期五, 25 七月 2025 17:20:38 +0800
Subject: [PATCH] 完善查询语句, 日志记录的封装

---
 wms/LocationHelper.cs |  203 ++------------------------------------------------
 1 files changed, 9 insertions(+), 194 deletions(-)

diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs
index fea5c42..e8d318e 100644
--- a/wms/LocationHelper.cs
+++ b/wms/LocationHelper.cs
@@ -11,7 +11,7 @@
 
 namespace HH.WCS.Mobox3.DSZSH.wms {
     /// <summary>
-    /// 璐т綅甯姪绫伙紙鍖呭惈璐т綅-瀹瑰櫒鍏崇郴鐨勫鐞嗭級
+    /// 璐т綅甯姪绫�鍖呭惈璐т綅-瀹瑰櫒鍏崇郴鐨勫鐞� 
     /// </summary>
     public class LocationHelper
     {
@@ -77,25 +77,19 @@
         /// <param name="loc"></param>
         /// <param name="isEmpty">鏄惁灞炰簬浜哄伐绌烘墭鍖哄埌绌烘墭缂撳瓨搴撳尯</param>
         /// <returns></returns>
-        internal static string GetAgvSite(string loc, bool isEmpty = false)
-        {
+        internal static string GetAgvSite(string loc, bool isEmpty = false) {
             var site = "0";
-            if (_locationDict.Keys.Contains(loc.Trim()) && !isEmpty)
-            {
+            if (_locationDict.Keys.Contains(loc.Trim()) && !isEmpty) {
                 var Location = _locationDict[loc.Trim()];
                 site = Location.S_AGV_SITE;
             }
-            else
-            {
+            else {
                 var Location = GetLoc(loc.Trim());
-                if (Location != null)
-                {
+                if (Location != null) {
                     site = Location.S_AGV_SITE;
 
-                    if (isEmpty)
-                    {
-                        if (Location.N_CURRENT_NUM == 0)
-                        {
+                    if (isEmpty) {
+                        if (Location.N_CURRENT_NUM == 0) {
                             site = Location.S_AGV_SITE;
                         }
                     }
@@ -104,190 +98,11 @@
             return site;
         }
 
-        internal static TN_Location GetLoc(string code)
-        {
+        internal static TN_Location GetLoc(string code) {
             var db = new SqlHelper<object>().GetInstance();
             return db.Queryable<TN_Location>().Where(a => a.S_CODE.Trim() == code).First();
         }
 
-        /// <summary>
-        /// 鍙栬揣瀹岃В閿佽捣鐐癸紝鍗歌揣瀹岃В閿佺粓鐐癸紝鍙楠岄攣鐨勬潵婧愶紝涔熷彲浠ヤ笉鏍¢獙
-        /// </summary>
-        /// <param name="loc"></param>
-        /// <returns></returns>
-        public static bool UnLockLoc(string loc)
-        {
-            LogHelper.Info("UnLockLoc:" + loc);
-            var res = false;
-            var db = new SqlHelper<object>().GetInstance();
-            var model = db.Queryable<TN_Location>().Where(a => a.S_CODE == loc).First();
-            if (model != null)
-            {
-                model.S_LOCK_STATE = "鏃�;
-                model.N_LOCK_STATE = 0;
-                model.S_LOCK_OP = "";
-                model.T_MODIFY = System.DateTime.Now;
-                res = db.Updateable(model).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() > 0;
-                LogHelper.Info("UnLockLoc:瑙i攣缁撴灉" + res);
-            }
-            else
-            {
-                LogHelper.Info("UnLockLoc 澶辫触" + loc);
-            }
-            return res;
-        }
-
-        /// <summary>
-        /// 璐т綅瑙g粦瀹瑰櫒
-        /// </summary>
-        /// <param name="loc"></param>
-        /// <param name="cntrs"></param>
-        /// <returns></returns>
-        public static string UnBindingLoc(string loc, List<string> cntrs)
-        {
-            var db = new SqlHelper<object>().GetInstance();
-            var logs = $"璐т綅锛歿loc}锛屽鍣細{JsonConvert.SerializeObject(cntrs)}";
-            try
-            {
-                var lcrList = db.Queryable<TN_Loc_Container>().Where(a => cntrs.Contains(a.S_CNTR_CODE) && a.S_LOC_CODE == loc).ToList();
-                if (lcrList.Count == 0)
-                {
-                    LogHelper.Info($"璐т綅鏃犻渶瑙g粦瀹瑰櫒锛屽湪鏁版嵁搴撲腑鏈壘鍒皗JsonConvert.SerializeObject(cntrs)}鐩稿叧鐨勮揣浣嶅鍣ㄥ叧绯昏〃淇℃伅");
-                }
-                cntrs = lcrList.Select(a => a.S_CNTR_CODE).ToList();
-
-                var log = JsonConvert.SerializeObject(cntrs);
-                var location = db.Queryable<TN_Location>().First(a => a.S_CODE == loc);
-                if (location != null)
-                {
-                    location.N_CURRENT_NUM = 0;
-                    location.S_LOCK_STATE = "鏃�;
-                    location.N_LOCK_STATE = 0;
-
-                    using (var tran = db.Ado.UseTran())
-                    {
-                        if (db.Deleteable<TN_Loc_Container>().Where(it => cntrs.Contains(it.S_CNTR_CODE) && it.S_LOC_CODE == loc).ExecuteCommand() > 0)
-                        {
-                            LogHelper.Info($"鍒犻櫎璐т綅瀹瑰櫒鍏崇郴琛ㄦ垚鍔燂紝{log}");
-                        }
-                        else
-                        {
-                            tran.RollbackTran();
-
-                            LogHelper.Info($"鍒犻櫎璐т綅瀹瑰櫒鍏崇郴琛ㄥけ璐ワ紝{log}");
-
-                            return "璐т綅瑙g粦瀹瑰櫒澶辫触锛� + logs;
-                        }
-
-                        log = JsonConvert.SerializeObject(location);
-                        if (db.Updateable(location).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand() > 0)
-                        {
-                            tran.CommitTran();
-
-                            LogHelper.Info($"鏇存柊璐т綅琛ㄦ垚鍔燂紝{log}");
-                        }
-                        else
-                        {
-                            tran.RollbackTran();
-
-                            LogHelper.Info($"鏇存柊璐т綅琛ㄥけ璐ワ紝{log}");
-
-                            return "璐т綅瑙g粦瀹瑰櫒澶辫触锛� + logs;
-                        }
-                    }
-                }
-                else
-                {
-                    LogHelper.Info($"鍦ㄦ暟鎹簱涓湭鎵惧埌璇ヨ揣浣嶏紝鏃犻渶鏇存柊锛岃揣浣嶏細{loc}");
-                }
-                return "璐т綅瑙g粦瀹瑰櫒鎴愬姛锛� + logs;
-            }
-            catch (Exception ex)
-            {
-                LogHelper.Info($"鍙戠敓浜嗗紓甯革紝璐т綅瑙g粦瀹瑰櫒澶辫触锛寋ex.Message}");
-                return "璐т綅缁戝畾瀹瑰櫒澶辫触锛� + logs;
-            }
-        }
-
-        /// <summary>
-        /// 璐т綅缁戝畾瀹瑰櫒
-        /// </summary>
-        /// <param name="loc"></param>
-        /// <param name="cntrs"></param>
-        /// <returns></returns>
-        public static string BindingLoc(string loc, List<string> cntrs)
-        {
-            var db = new SqlHelper<object>().GetInstance();
-            var logs = $"璐т綅锛歿loc}锛屽鍣細{JsonConvert.SerializeObject(cntrs)}";
-            try
-            {
-                // 鍒犻櫎宸茬粡缁戝畾杩囩殑瀹瑰櫒璁板綍
-                var lcrList = db.Queryable<TN_Loc_Container>().Where(a => cntrs.Contains(a.S_CNTR_CODE) && a.S_LOC_CODE == loc).ToList();
-                if (lcrList.Count > 0) {
-                    cntrs = cntrs.Except(lcrList.Select(a => a.S_CNTR_CODE).ToList()).ToList();
-                }
-
-                var bindLocCntList = new List<TN_Loc_Container>();
-                foreach (var item in cntrs) {
-                    // 閽堝瀹瑰櫒绫诲瀷娣诲姞鐨勬柊閫昏緫
-                    var cntr = db.Queryable<TN_Container>().Where(c => c.S_CODE == item).First();
-
-                    if (cntr == null) {
-                        LogHelper.Info($"璐т綅瑙g粦鏃讹紝瀹瑰櫒{item}娌℃湁鍦ㄥ鍣ㄤ俊鎭〃涓煡鍒帮紝涓嶈褰曞鍣ㄧ被鍨�);
-                        bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item });
-                    }
-                    else {
-                        bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item, S_CNTR_TYPE = cntr.S_TYPE });
-                    }
-                }
-
-                var log = JsonConvert.SerializeObject(bindLocCntList);
-
-                using (var tran = db.Ado.UseTran())
-                {
-                    if (db.Insertable(bindLocCntList).ExecuteCommand() <= 0) {
-                        db.RollbackTran();
-                        LogHelper.Info($"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄥけ璐ワ紝{log}");
-                        return "璐т綅缁戝畾瀹瑰櫒澶辫触锛� + logs;
-                    }
-                    LogHelper.Info($"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄦ垚鍔燂紝{log}");
-
-                    var location = db.Queryable<TN_Location>().First(a => a.S_CODE == loc);
-                    if (location != null)
-                    {
-                        location.N_CURRENT_NUM += cntrs.Count;
-                        location.S_LOCK_STATE = "鏃�;
-                        location.N_LOCK_STATE = 0;
-                        log = JsonConvert.SerializeObject(location);
-
-                        if (db.Updateable(location).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand() > 0)
-                        {
-                            db.CommitTran();
-
-                            LogHelper.Info($"鏇存柊璐т綅琛ㄦ垚鍔燂紝{log}");
-                        }
-                        else
-                        {
-                            db.RollbackTran();
-
-                            LogHelper.Info($"鏇存柊璐т綅琛ㄥけ璐ワ紝{log}");
-
-                            return "璐т綅缁戝畾瀹瑰櫒澶辫触锛� + logs;
-                        }
-                    }
-                    else
-                    {
-                        db.RollbackTran();
-                        LogHelper.Info($"鏈壘鍒拌璐т綅{loc}锛屾垨鑰呭凡閿佸畾锛寋log}");
-                    }
-                }
-                return "璐т綅缁戝畾瀹瑰櫒鎴愬姛锛� + logs;
-            }
-            catch (Exception ex)
-            {
-                LogHelper.Info($"鍙戠敓浜嗗紓甯革紝璐т綅缁戝畾瀹瑰櫒澶辫触锛�);
-                return "璐т綅缁戝畾瀹瑰櫒澶辫触锛� + ex.Message;
-            }
-        }
+        
     }
 }

--
Gitblit v1.9.1