From e1a97fc8b29f063e96e3ebbae2f07ee95b276069 Mon Sep 17 00:00:00 2001 From: lss <Lss@HanInfo> Date: 星期四, 05 六月 2025 17:25:31 +0800 Subject: [PATCH] 合肥佳通优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs | 211 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 180 insertions(+), 31 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs index cd60f55..c86d343 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs @@ -162,19 +162,19 @@ startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); if (startloc != null) { + Start = startloc.S_CODE; var CntrRel = LocationHelper.GetLocCntrRel(startloc.S_CODE).FirstOrDefault(); if (CntrRel != null) { - Start = startloc.S_CODE; CntrCode = CntrRel.S_CNTR_CODE; } - else - { - result.code = "1"; - result.msg = $"鏍规嵁璧风偣{Start},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�; - AddErrorInfo("鎵樼洏鏌ユ壘澶辫触", result.msg, Source); - return result; - } + //else + //{ + // result.code = "1"; + // result.msg = $"鏍规嵁璧风偣{Start},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�; + // AddErrorInfo("鎵樼洏鏌ユ壘澶辫触", result.msg, Source); + // return result; + //} } @@ -273,9 +273,16 @@ LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); if (WCSHelper.CreateTask(wcsTask)) { - LocationHelper.LockLoc(End, 2); + // LocationHelper.LockLoc(End, 2); LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else if (startArea.N_FLOOR != endArea.N_FLOOR) @@ -333,8 +340,15 @@ { // LocationHelper.LockLoc(Start, 1); - LocationHelper.LockLoc(End, 2); + //LocationHelper.LockLoc(End, 2); LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } @@ -351,6 +365,7 @@ } else if (taskData.taskType == 5)//绉诲簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟锛屽苟缁戝畾鎵樼洏 { + note = "鍑哄簱"; //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 if (CreateCntrIteminfo(partData, taskData)) { @@ -551,9 +566,16 @@ LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); if (WCSHelper.CreateTask(wcsTask)) { - LocationHelper.LockLoc(Start, 2); - LocationHelper.LockLoc(End, 1); + // LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else @@ -889,9 +911,16 @@ LogHelper.Info("鍒涘缓鍏ュ钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask)); if (WCSHelper.CreateTask(wcsTask)) { - LocationHelper.LockLoc(Start, 2); - LocationHelper.LockLoc(End, 1); + //LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else @@ -1065,8 +1094,15 @@ if (WCSHelper.CreateTask(wcsTask)) { LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); - LocationHelper.LockLoc(Start, 2); - LocationHelper.LockLoc(End, 1); + //LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else @@ -1211,7 +1247,7 @@ var whcode = Settings.wareLoc.Where(a => a.AreaCode == startloc.S_WH_CODE).FirstOrDefault(); if (whcode != null) { - if (startloc.S_NOTE == "PM" || string.IsNullOrEmpty(startloc.S_NOTE)) + if ( string.IsNullOrEmpty(startloc.S_NOTE)) { areacode = whcode.PMK; } @@ -1288,15 +1324,22 @@ N_END_LAYER = endlayer, Z_TYPE = 5 }; - LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask)); + LogHelper.Info("鍒涘缓绌烘墭鍥炲簱浠诲姟锛� + JsonConvert.SerializeObject(wcsTask)); if (WCSHelper.CreateTask(wcsTask)) { - LocationHelper.LockLoc(startloc.S_CODE, 2); - LocationHelper.LockLoc(loc.S_CODE, 1); + //LocationHelper.LockLoc(startloc.S_CODE, 2); + //LocationHelper.LockLoc(loc.S_CODE, 1); // 绌烘墭鍥炲簱鍒ゆ柇鎵樼洏鏈夋棤缁戝畾鐗╂枡淇℃伅 濡傛灉鏈夊垯鍒犻櫎 var itemcntr = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).First(); if (itemcntr != null) { db.Deleteable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).ExecuteCommand(); } LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else @@ -1431,12 +1474,19 @@ Z_TYPE = 5 }; - LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask)); + LogHelper.Info("鍒涘缓鍛煎彨绌烘墭浠诲姟锛� + JsonConvert.SerializeObject(wcsTask)); if (WCSHelper.CreateTask(wcsTask)) { - LocationHelper.LockLoc(Start, 2); - LocationHelper.LockLoc(End, 1); + //LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else @@ -1670,8 +1720,8 @@ LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask)); if (WCSHelper.CreateTask(wcsTask)) { - LocationHelper.LockLoc(Start, 2); - LocationHelper.LockLoc(End, 1); + //LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); //鍒涘缓浠诲姟鎴愬姛 鏇存柊浣欐枡淇℃伅 var CntrItem = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == model.Rfid).First(); if (CntrItem != null) @@ -1684,6 +1734,13 @@ db.Updateable(CntrItem).UpdateColumns(a => new { a.F_WEIGHT, a.S_BS_TYPE }).ExecuteCommand(); } LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else @@ -1897,9 +1954,16 @@ LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); if (WCSHelper.CreateTask(wcsTask)) { - LocationHelper.LockLoc(Start, 2); - LocationHelper.LockLoc(End, 1); + //LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } else @@ -2030,9 +2094,16 @@ if (WCSHelper.CreateTask(wcsTask) && WCSHelper.CreateTask(wcsTask1)) { - LocationHelper.LockLoc(startloc.S_CODE, 2); - LocationHelper.LockLoc(endloc.S_CODE, 1); + //LocationHelper.LockLoc(startloc.S_CODE, 2); + //LocationHelper.LockLoc(endloc.S_CODE, 1); LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; } } @@ -2130,6 +2201,73 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> + internal static Result ClearLocCntr(ClearTask model) + { + Result result = new Result() { code = "200", msg = "搴撲綅娓呴櫎鎴愬姛" }; + string Source = "MES"; + if (model == null) + { + result.code = "1"; + result.msg = "鍙傛暟涓簄ull"; + AddErrorInfo("鍙傛暟涓虹┖", result.msg, Source); + return result; + } + string loc = model.LocationNum; + var db = new SqlHelper<object>().GetInstance(); + try + { + var location = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == loc).First(); + if (location != null) + { + var loccntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == loc).First(); + + if (loccntr != null) + { + + string cntrcode = loccntr.S_CNTR_CODE; + var CntrItem = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == cntrcode).First(); + if (CntrItem != null) + { + if (LocationHelper.UnBindingLoc(loc, new List<string>() { cntrcode })) + { + LogHelper.Info($"娓呴櫎鎵樼洏璐т綅鍏崇郴鎴愬姛"); + } + } + else + { + LogHelper.Info($"ClearLocCntr 鎵樼洏{cntrcode}鏃犵墿鏂欑粦瀹氬叧绯�); + } + + } + else + { + LogHelper.Info($"ClearLocCntr 璐т綅{loc}鏃犳墭鐩樿揣浣嶇粦瀹氬叧绯�); + } + } + else + { + result.code = "1"; + result.msg = $"鏍规嵁璐т綅:{loc}鎵句笉鍒拌揣浣嶅叧绯�; + AddErrorInfo("璐т綅涓虹┖", result.msg, Source); + return result; + } + } + catch (Exception ex) + { + LogHelper.Info($"ClearLocCntr Error锛歿ex}"); + db.Ado.CommitTran(); + result.code = "1"; + result.msg = $"Error锛歿ex}"; + return result; + + } + + return result; + } /// <summary> + /// 搴撲綅娓呯┖ + /// </summary> + /// <param name="model"></param> + /// <returns></returns> internal static Result ClearLoc(ClearTask model) { Result result = new Result() { code = "200", msg = "搴撲綅娓呴櫎鎴愬姛" }; @@ -2160,7 +2298,18 @@ LocationHelper.UnBindingLoc(loc, new List<string>() { cntrcode }); // db.Deleteable<LocCntrRel>().Where(it => it.S_LOC_CODE.Trim() == loc).ExecuteCommand(); - db.Deleteable<CntrItemDetail>().Where(it => it.S_CNTR_CODE.Trim() == cntrcode).ExecuteCommand(); + if (db.Deleteable<CntrItemDetail>().Where(it => it.S_CNTR_CODE == cntrcode).ExecuteCommand() > 0) + { + LogHelper.Info($"ClearLoc 搴撲綅娓呴櫎鎴愬姛"); + } + else + { + LogHelper.Info($"ClearLoc 搴撲綅娓呴櫎澶辫触"); + result.code = "1"; + result.msg = "搴撲綅娓呴櫎澶辫触"; + AddErrorInfo("搴撲綅娓呴櫎澶辫触", result.msg, Source); + return result; + } } else @@ -2480,7 +2629,7 @@ lock (_lockLocation) { - var loc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == jtcode.Trim() && a.S_NOTE == cntrType && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0).First(); + var loc = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == jtcode.Trim() && a.S_NOTE == cntrType && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0&&a.S_LOCK_STATE=="鏃�).First(); if (loc != null) { End = loc; -- Gitblit v1.9.1