From 2f8733caf7ae5c94483fa332e0d3af69b61a0eb0 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期四, 03 七月 2025 23:09:25 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 40 insertions(+), 4 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs index 0d6c69c..6238641 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs @@ -332,7 +332,7 @@ Dictionary<int, string> dics = new Dictionary<int, string>(); foreach (var deviceInfo in devices) { - int mst = db.Queryable<WCSTask>().Where(a => a.S_TYPE.Contains("鐢垫") && state.Contains(a.S_B_STATE)).Count(); + int mst = db.Queryable<WCSTask>().Where(a => a.S_TYPE.Contains("鐢垫") && state.Contains(a.S_B_STATE) && a.S_END_LOC == deviceInfo.TN_Location).Count(); dics.Add(mst, deviceInfo.TN_Location); } if (dics.Count > 0) @@ -662,7 +662,7 @@ { var res = false; var db = new SqlHelper<object>().GetInstance(); - + try { var location = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == loc).First(); @@ -681,7 +681,7 @@ var count = db.Deleteable<LocCntrRel>().Where(it => cntrs.Contains(it.S_CNTR_CODE.Trim()) && it.S_LOC_CODE.Trim() == loc).ExecuteCommand(); LogHelper.Info($"Clear锛氬紑濮嬪垹闄ゅ鍣細{JsonConvert.SerializeObject(cntrs)}"); db.Deleteable<Container>().Where(it => cntrs.Contains(it.S_CODE)).ExecuteCommand(); - + location.N_CURRENT_NUM = lcrList.Count - count; location.S_LOCK_STATE = "鏃�; location.N_LOCK_STATE = 0; @@ -708,7 +708,43 @@ } return res; } - + /// <summary> + /// 瑙i攣璐т綅锛屽垹闄よ揣浣嶆墭鐩�+ /// </summary> + /// <param name="loc"></param> + /// <returns></returns> + public static bool UnlockLocDeleteCntrs(string loc) + { + var res = false; + var db = new SqlHelper<object>().GetInstance(); + List<string> cntrs = null;int count = 0; + var location = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == loc).First(); + try + { + db.BeginTran(); + var lcrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == loc).ToList(); + if (lcrList.Count > 0) + { + cntrs = lcrList.Select(a => a.S_CNTR_CODE).ToList(); + LogHelper.Info($"UnlockLocDeleteCntrs锛氳揣浣峽loc}锛氭煡璇㈢粦瀹氭墭鐩榹cntrs}"); + LogHelper.Info($"UnlockLocDeleteCntrs锛氬紑濮嬪垹闄ゅ鍣細{JsonConvert.SerializeObject(cntrs)}"); + count = db.Deleteable<LocCntrRel>().Where(it => cntrs.Contains(it.S_CNTR_CODE.Trim()) && it.S_LOC_CODE.Trim() == loc).ExecuteCommand(); + + } + + location.N_CURRENT_NUM = lcrList.Count - count; + location.S_LOCK_STATE = "鏃�; + location.N_LOCK_STATE = 0; + db.Updateable(location).UpdateColumns(it => new { it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand(); + db.CommitTran(); + res = true; + } + catch (Exception ex) + { + db.RollbackTran(); + } + return res; + } /// <summary> /// 瑙i攣璐т綅 /// </summary> -- Gitblit v1.9.1