From 121a380d651097586384ee0ac70943ce1fc13583 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期三, 09 七月 2025 17:32:58 +0800 Subject: [PATCH] 金坛入库修改 --- process/TaskProcess.cs | 210 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 136 insertions(+), 74 deletions(-) diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index e88f347..8fff495 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -353,10 +353,9 @@ { endList = LocationHelper.GetAllLocList1(workFlow.ENDAREA); } - + balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); - balanceConnectionList = LocationHelper.GetConnectionListByst(usableConnectionList.available); @@ -367,7 +366,7 @@ //LogHelper.Info($"鏀归亾瀹夊叏浜や簰item淇℃伅" + JsonConvert.SerializeObject(item), "鏀归亾瀹夊叏浜や簰"); foreach (var item1 in balanceConnectionList) { - if (item1.CONNEC_ROADWAY == item.N_ROADWAY && item1.N_CURRENT_NUM < 2) + if (item1.CONNEC_ROADWAY == item.N_ROADWAY) { connection = item1; @@ -383,6 +382,7 @@ } } } + if (connection == null) { @@ -523,17 +523,34 @@ if (mst.S_TYPE.Contains("鍑哄簱")) { - var wcsTask = TaskHelper.GetTaskByWork("wcs", mst.S_OP_CODE); - if (wcsTask == null) { - LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屾病鎵惧埌浣滀笟:{mst.S_OP_CODE}瀵瑰簲鐨勫嚭搴撲换鍔�, "NDC"); + //鏌ユ壘瀵瑰簲浣滀笟锛屾槸鎺ラ┏浣嶅氨鏌ヨ瀵瑰簲绔嬪簱浠诲姟 + + + var wmsWork = TaskHelper.GetWmsWork(mst.S_OP_CODE); + + if (wmsWork==null) + { + LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屾病鎵惧埌浣滀笟:{mst.S_OP_CODE}", "NDC"); return false; } - if (wcsTask.S_B_STATE=="鏈墽琛�) + if (!string.IsNullOrEmpty(wmsWork.CONNECTION)) { - LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽搴旂殑Wcs鍑哄簱浠诲姟鏈墽琛岋紝鏆備笉鎺ㄩ�", "NDC"); - return false; + var wcsTask = TaskHelper.GetTaskByWork("wcs", mst.S_OP_CODE); + if (wcsTask == null) + { + LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屾病鎵惧埌浣滀笟:{mst.S_OP_CODE}瀵瑰簲鐨勫嚭搴撲换鍔�, "NDC"); + return false; + } + + if (wcsTask.S_B_STATE == "鏈墽琛�) + { + LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽搴旂殑Wcs鍑哄簱浠诲姟鏈墽琛岋紝鏆備笉鎺ㄩ�", "NDC"); + return false; + } } + //鎺ラ┏浣嶄袱涓猘gv浠诲姟锛宎浠诲姟鍙栬揣瀹屾垚 鎺ㄩ�b浠诲姟 + } @@ -755,6 +772,13 @@ LogHelper.Info("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡鐗╂枡淇℃伅", "鐗╂枡缁戝畾瑙g粦"); throw new Exception("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡鐗╂枡淇℃伅"); } + var Tray = db.Queryable<Container>().Where(e => e.S_CODE == model.TOOLS_NO).ToList(); + if (Tray.Count() > 0) + { + LogHelper.Info("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡瀹瑰櫒淇℃伅", "鐗╂枡缁戝畾瑙g粦"); + throw new Exception("鏌ヨ鍒拌宸ヨ鎵樼洏鐮佸凡缁忕粦瀹氫簡瀹瑰櫒淇℃伅"); + } + var Locations = db.Queryable<Location>().Where(e => e.S_CODE == model.LOCATION_CODE)?.First(); if (Locations == null) { @@ -905,7 +929,7 @@ { db.RollbackTran(); LogHelper.Info("鐗╂枡缁戝畾瑙g粦寮傚父:" + e.Message, "鐗╂枡缁戝畾瑙g粦"); - result.errMsg = "鐗╂枡缁戝畾瑙g粦寮傚父"; + result.errMsg = "鐗╂枡缁戝畾瑙g粦寮傚父" + e.Message; result.errCode = 1; result.success = false; return result; @@ -1482,72 +1506,114 @@ { //姝e紡浠g爜锛岃皟鐢ㄦ帴鍙e鎵惧彲鐢ㄦ帴椹充綅 - var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION); - var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); - if (usableConnectionList != null && usableConnectionList.code == "0") + //var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION); + //var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList); + //if (usableConnectionList != null && usableConnectionList.code == "0") + //{ + // var balanceConnectionList = LocationHelper.GetConnectionListByst(usableConnectionList.available); + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍙敤鎺ラ┏浣� + JsonConvert.SerializeObject(balanceConnectionList), "Mes浠诲姟涓嬪彂"); + + // if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2") + // { + // //婊℃墭鍏�+ // balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); + + // if (TOOLSTYPE == "25" || TOOLSTYPE == "35") { + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂"); + // balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO); + // } + + + + // } + // else if (workFlow.FLOWCODE == "3") + // { + // //绌烘墭鍏ョ珛搴撳尯 + // cntrCount = 0; + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂"); + // balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); + // } + + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘缁堢偣鏁伴噺{balanceLocList.Count}", "Mes浠诲姟涓嬪彂"); + + // foreach (var item in balanceLocList) + // { + // if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM == 0) + // { + // // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂item淇℃伅" + JsonConvert.SerializeObject(item), "Mes浠诲姟涓嬪彂"); + // foreach (var item1 in balanceConnectionList) + // { + // if (item1.CONNEC_ROADWAY == item.N_ROADWAY) + // { + // connection = item1.S_CODE; + // connectionArea = item1.S_AREA_Name; + // end = item; + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂"); + // break; + // } + // } + // if (end!=null) + // { + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂"); + // break; + // } + // } + // } + // if (connection == "") + // { + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂"); + // throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅"); + // } + //} + //else + //{ + // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂"); + // throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�); + //} + + + if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2") { - var balanceConnectionList = LocationHelper.GetConnectionListByst(usableConnectionList.available); - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍙敤鎺ラ┏浣� + JsonConvert.SerializeObject(balanceConnectionList), "Mes浠诲姟涓嬪彂"); + //婊℃墭鍏� - if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2") + if (TOOLSTYPE == "25" || TOOLSTYPE == "35") { - //婊℃墭鍏�- balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); - - if (TOOLSTYPE == "25" || TOOLSTYPE == "35") { - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂"); - balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO); - } - - + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂"); + end = LocationHelper.FindBalanceEndcolByLocListItem(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no, model.PROD_NO); } - else if (workFlow.FLOWCODE == "3") - { - //绌烘墭鍏ョ珛搴撳尯 - cntrCount = 0; - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂"); - balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); + else { + end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no); } - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘缁堢偣鏁伴噺{balanceLocList.Count}", "Mes浠诲姟涓嬪彂"); - - foreach (var item in balanceLocList) - { - if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM == 0) - { - // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂item淇℃伅" + JsonConvert.SerializeObject(item), "Mes浠诲姟涓嬪彂"); - foreach (var item1 in balanceConnectionList) - { - if (item1.CONNEC_ROADWAY == item.N_ROADWAY && item1.N_CURRENT_NUM < 2) - { - connection = item1.S_CODE; - connectionArea = item1.S_AREA_Name; - end = item; - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂"); - break; - } - } - if (end!=null) - { - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂"); - break; - } - } - } - if (connection == "") - { - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂"); - throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅"); - } } - else + else if (workFlow.FLOWCODE == "3") { - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂"); - throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�); + //绌烘墭鍏ョ珛搴撳尯 + cntrCount = 0; + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂"); + end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no); } - + if (end == null) + { + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐瑰贩閬撴垨鎺ラ┏浣嶄笉鍙敤", "Mes浠诲姟涓嬪彂"); + throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�宸烽亾鎴栨帴椹充綅涓嶅彲鐢�); + } + + var jb = LocationHelper.GetConnectionByEnd(workFlow.CONNECTION, end.N_ROADWAY); + + if (jb==null) + { + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂"); + throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅"); + } + + + connection = jb.S_CODE; + connectionArea = jb.S_AREA_Name; + + } else { if (workFlow.FLOWCODE == "3") @@ -1575,16 +1641,14 @@ } } - - - - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); if (end == null) { - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐�, "Mes浠诲姟涓嬪彂"); - throw new Exception($"缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�); + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐�, "Mes浠诲姟涓嬪彂"); + throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�); } + + //娣诲姞鎵樼洏鐗╂枡鍏宠仈琛� if (cntrCount != 0) @@ -1932,7 +1996,7 @@ var balanceConnectionList = LocationHelper.GetBalanceConnectionList(connectionList); foreach (var item in balanceConnectionList) { - if (item.loc.N_CURRENT_NUM < 2 && item.loc.CONNEC_ROADWAY==start.N_ROADWAY) + if (item.loc.CONNEC_ROADWAY==start.N_ROADWAY) { connection = item.loc.S_CODE; connectionArea = item.loc.S_AREA_Name; @@ -2018,8 +2082,6 @@ LogHelper.Info("ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛孴ask_type涓嶇瓑浜�鎴�", "Mes浠诲姟涓嬪彂"); throw new Exception("Task_type涓嶇瓑浜�鎴�"); } - - } catch (Exception ex) -- Gitblit v1.9.1