From e3ee006de3ccd8940ad2a600c03675cd2ac5e2cb Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期五, 27 六月 2025 17:38:42 +0800 Subject: [PATCH] 合肥佳通优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs | 77 +++++++++++++++++++++++++++++++++++++- 1 files changed, 75 insertions(+), 2 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 94f4928..0d6c69c 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/wms/LocationHelper.cs @@ -293,11 +293,11 @@ Location loc = new Location(); var db = new SqlHelper<object>().GetInstance(); string CntrCodeWith = ""; - if (type.Trim() == "PM") + if (type.Trim().Contains("MA")) { CntrCodeWith = "MA"; } - else if (type.Trim() == "PN") + else if (type.Trim().Contains("NA")) { CntrCodeWith = "NA"; } @@ -619,18 +619,91 @@ var location = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == loc).First(); try { + LogHelper.Info($"BindingLoc锛氬紑濮嬭В缁戝鍣細{JsonConvert.SerializeObject(cntrs)}"); db.BeginTran(); var lcrList = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == loc).ToList(); + //if (!string.IsNullOrEmpty(location.S_NOTE) && lcrList.Count > 0) + //{ + // if (location.S_NOTE == "鍙犵洏" || location.S_NOTE.Trim() == "鐗囪兌鍫嗗彔浣�) + // { + // LogHelper.Info("鍙犵洏璐т綅鍒犻櫎鎵樼洏"); + // cntrs = lcrList.Select(a => a.S_CNTR_CODE).ToList(); + + // } + //} + if (lcrList.Count > 0) + { + cntrs = lcrList.Select(a => a.S_CNTR_CODE).ToList(); + } var 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.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand(); + LogHelper.Info($"BindingLoc锛氳В缁戝鍣細{JsonConvert.SerializeObject(cntrs)}鎴愬姛"); db.CommitTran(); res = true; } catch (Exception ex) { + LogHelper.Info($"BindingLoc Error:{ex}"); + db.RollbackTran(); + } + return res; + } + + /// <summary> + /// 搴撲綅娓呯┖ + /// </summary> + /// <param name="loc"></param> + /// <param name="cntrs"></param> + /// <returns></returns> + public static bool Clear(string loc, List<string> cntrs) + { + var res = false; + var db = new SqlHelper<object>().GetInstance(); + + try + { + var location = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == loc).First(); + if (location == null) + { + LogHelper.Info($"Clear锛氳揣浣嶏細{loc}璐т綅琛ㄦ煡璇㈤敊璇紝璇峰亣鏌ヨ揣浣嶈〃"); + return res; + } + LogHelper.Info($"Clear锛氬紑濮嬭В缁戝鍣細{JsonConvert.SerializeObject(cntrs)}"); + 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(); + } + 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; + db.Updateable(location).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand(); + LogHelper.Info($"Clear锛氬紑濮嬪垹闄ゅ鍣ㄧ墿鏂欙細{JsonConvert.SerializeObject(cntrs)}"); + var CntrItem = db.Queryable<CntrItemDetail>().Where(a => cntrs.Contains(a.S_CNTR_CODE.Trim())).First(); + if (CntrItem != null) + { + db.Deleteable<CntrItemDetail>().Where(it => cntrs.Contains(it.S_CNTR_CODE)).ExecuteCommand(); + } + else + { + LogHelper.Info($"Clear=銆嬫墭鐩�{JsonConvert.SerializeObject(cntrs)}鏃犵墿鏂欐暟鎹�); + + } + LogHelper.Info($"BindingLoc锛氳В缁戝鍣細{JsonConvert.SerializeObject(cntrs)}鎴愬姛"); + db.CommitTran(); + res = true; + } + catch (Exception ex) + { + LogHelper.Info($"BindingLoc Error:{ex}"); db.RollbackTran(); } return res; -- Gitblit v1.9.1