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 | 200 ++----------------------------------------------- 1 files changed, 9 insertions(+), 191 deletions(-) diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs index 3ab86d1..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,187 +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 UnbindLocCntr(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