From a99ceecce8c9a2521ac1fc167f4eff764cbdb123 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期一, 19 五月 2025 17:35:18 +0800 Subject: [PATCH] bug优化 --- process/TaskProcess.cs | 130 +++++++++++++++++++++++++++++++------------ 1 files changed, 94 insertions(+), 36 deletions(-) diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index 72934f9..b89a122 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -124,10 +124,10 @@ return; } - var wcsTask = TaskHelper.GetTask(mst.S_OP_CODE + "_2"); + var wcsTask = TaskHelper.GetTaskByWorkNo(mst.S_OP_CODE,"wcs"); if (wcsTask == null) { - LogHelper.Info($"鍒ゆ柇宸烽亾鍙敤澶辫触锛屾病鎵惧埌瀵瑰簲{mst.S_OP_CODE + "_2"}浠诲姟", "鏀归亾瀹夊叏浜や簰"); + LogHelper.Info($"鍒ゆ柇宸烽亾鍙敤澶辫触锛屾病鎵惧埌瀵瑰簲{mst.S_OP_CODE}鐨剋cs浠诲姟", "鏀归亾瀹夊叏浜や簰"); return; } //鍒ゆ柇绌烘墭缂撳瓨銆佹帴椹充綅鍜屽贩閬撴槸鍚﹀彲鐢�涓嶅彲鐢ㄩ渶瑕佹敼閬�@@ -138,8 +138,8 @@ //寮�叧鍏抽棬鐢宠 DeviceProcess.Door(mst, forkliftNo, state); } - else if (state == 1013) { - LogHelper.Info($"绛夊緟浜や簰锛屼换鍔″彿={mst.S_CODE}锛屽嵏璐т氦绠℃垚鍔燂紝淇敼鍙傛暟", "瀹夊叏浜や簰"); + else if (state == 1002) { + LogHelper.Info($"绛夊緟浜や簰锛屼换鍔″彿={mst.S_CODE}", "瀹夊叏浜や簰"); //绛夊緟rfid鏍¢獙 var rfidFlag = TaskHelper.GetRfid(mst.S_CODE); @@ -289,7 +289,7 @@ foreach (var item in usableConnectionList.available) { var con = LocationHelper.GetLoc(item); - if (con.S_CODE.Contains(task.S_END_LOC) && con.C_ENABLE=="Y") + if (con.S_CODE.Contains(task.S_END_LOC)) { flag = false; @@ -791,8 +791,8 @@ try { - var task = TaskHelper.GetTask(model.task_no + "_1"); - var wcsTask = TaskHelper.GetTask(model.task_no + "_2"); + var task = TaskHelper.GetTaskByWorkNo(model.task_no, "agv"); + var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no,"wcs"); if (task != null && wcsTask != null) { if (task.S_B_STATE.Trim() == "鏈墽琛�) @@ -856,7 +856,7 @@ else { result.errCode = 1; - result.errMsg = "浠诲姟涓嶅瓨鍦�; + result.errMsg = $"{model.task_no}浠诲姟涓嶅瓨鍦�; result.success = false; } } @@ -1280,6 +1280,9 @@ //鎺ラ┏浣� var connection = ""; + //鎺ラ┏浣嶅簱鍖哄悕绉�+ var connectionArea = ""; + //濡傛灉闇�涓嬪彂wcs绔嬪簱锛屽垯闇�瀵绘壘鍙敤鎺ラ┏浣� if (workFlow.SENDWCS == "Y") { @@ -1305,13 +1308,16 @@ var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); if (usableConnectionList != null && usableConnectionList.code == "0") { - foreach (var item in usableConnectionList.available) + //鏍规嵁鎺ラ┏浣嶄换鍔℃暟閲忚幏鍙栧潎琛℃帴椹充綅闆嗗悎浼樺厛浠诲姟鏁板皯鐨勬帴椹充綅 + var balanceConnectionList = LocationHelper.GetBalanceConnectionList(usableConnectionList.available); + foreach (var item in balanceConnectionList) { - var con = LocationHelper.GetLoc(item); - if (con.N_CURRENT_NUM < 2 && con.C_ENABLE == "Y") + if (item.loc.N_CURRENT_NUM<2) { - connection = con.S_CODE; + connection = item.loc.S_CODE; + connectionArea = item.loc.S_AREA_Name; LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂"); + break; } } } @@ -1381,10 +1387,10 @@ } - LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); if (end == null) { - LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐�, "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐�, "Mes浠诲姟涓嬪彂"); throw new Exception($"缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�); } @@ -1482,8 +1488,13 @@ //浼樺厛绾� N_PRIORITY = model.Priority, //宸ヨ绫诲瀷 - TOOLSTYPE = TOOLSTYPE - + TOOLSTYPE = TOOLSTYPE, + //璧风偣搴撳尯鍚嶇О + S_START_AREA_NAME = start.S_AREA_Name, + //璧风偣搴撳尯鍚嶇О + S_END_AREA_NAME = end.S_AREA_Name, + //璧风偣搴撳尯鍚嶇О + CONNECTION_AREA = connectionArea, }; //鍒涘缓浣滀笟 @@ -1508,6 +1519,10 @@ //鎺ラ┏浣� var connection = ""; + + //鎺ラ┏浣嶅簱鍖�+ var connectionArea = ""; + //鏌ユ壘缁欏畾缁堢偣 var end = LocationHelper.GetLoc(model.Location_To); @@ -1534,6 +1549,19 @@ else { //鏍规嵁鍒跺搧缂栧彿瀵绘壘绔嬪簱鍖哄搴旂墿鏂欐墭鐩� start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY); + if (start==null) + { + + var itemFlag = LocationHelper.FindStartcolByLoclistAndItemFlag(strrtList, model.PROD_NO, workFlow.STARTAREA); + LogHelper.Info($"ZCSendTask婊℃墭鍑哄簱浠诲姟娌℃壘鍒拌捣鐐癸紝鏍¢獙鏄惁鏈夊簱瀛樹絾鏄澶囨姤璀itemFlag}", "Mes浠诲姟涓嬪彂"); + if (itemFlag) + { + result.errMsg = "婊℃墭鍑哄簱浣滀笟鏈夊簱瀛樹絾璁惧鎶ヨ"; + result.errCode = 2001; + result.success = true; + return result; + } + } } @@ -1541,6 +1569,19 @@ else if (workFlow.FLOWCODE == "7") { //瀵绘壘绔嬪簱鍖虹┖鎵� start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA); + if (start == null) + { + var itemFlag = LocationHelper.FindStartcolByLoclistAndcntrFlag(strrtList, workFlow.STARTAREA); + LogHelper.Info($"ZCSendTask绌烘墭鍑哄簱浠诲姟娌℃壘鍒拌捣鐐癸紝鏍¢獙鏄惁鏈夊簱瀛樹絾鏄澶囨姤璀itemFlag}", "Mes浠诲姟涓嬪彂"); + + if (itemFlag) + { + result.errMsg = "绌烘墭鍑哄簱浣滀笟鏈夊簱瀛樹絾璁惧鎶ヨ"; + result.errCode = 2001; + result.success = true; + return result; + } + } } @@ -1613,29 +1654,43 @@ //姝e紡浠g爜锛岃皟鐢ㄦ帴鍙e鎵惧彲鐢ㄦ帴椹充綅 var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION); - var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); - if (usableConnectionList != null && usableConnectionList.code == "0") + //var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); + //if (usableConnectionList != null && usableConnectionList.code == "0") + //{ + // foreach (var item in usableConnectionList.available) + // { + // var con = LocationHelper.GetLoc(item); + // if (con.C_ENABLE == "Y" && con.N_CURRENT_NUM < 2) + // { + // connection = con.S_CODE; + // connectionArea = con.S_AREA_Name; + // LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂"); + // } + // } + //} + //else + //{ + // LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂"); + // throw new Exception($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�); + //} + + //鏍规嵁鎺ラ┏浣嶄换鍔℃暟閲忚幏鍙栧潎琛℃帴椹充綅闆嗗悎浼樺厛浠诲姟鏁板皯鐨勬帴椹充綅 + var balanceConnectionList = LocationHelper.GetBalanceConnectionList(connectionList); + foreach (var item in balanceConnectionList) { - foreach (var item in usableConnectionList.available) + if (item.loc.N_CURRENT_NUM < 2) { - var con = LocationHelper.GetLoc(item); - if (con.S_LOCK_STATE == "鏃� && con.N_CURRENT_NUM < 2) - { - connection = con.S_CODE; - LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂"); - } + connection = item.loc.S_CODE; + connectionArea = item.loc.S_AREA_Name; + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂"); + break; } - } - else - { - LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂"); - throw new Exception($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�); } if (connection == "") { - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂"); - throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�); + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂"); + throw new Exception($"ZCSendTask鍑哄簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�); } } @@ -1669,7 +1724,13 @@ //浼樺厛绾� N_PRIORITY = model.Priority, //宸ヨ绫诲瀷 - TOOLSTYPE = TOOLSTYPE + TOOLSTYPE = TOOLSTYPE, + //璧风偣搴撳尯鍚嶇О + S_START_AREA_NAME = start.S_AREA_Name, + //璧风偣搴撳尯鍚嶇О + S_END_AREA_NAME = end.S_AREA_Name, + //璧风偣搴撳尯鍚嶇О + CONNECTION_AREA = connectionArea }; //鍒涘缓浣滀笟 @@ -1734,9 +1795,6 @@ result.success = false; return result; } - - return result; - } -- Gitblit v1.9.1