From f9ee14fbfe22a0a56350580838bb6e4b57f829dc Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期二, 29 七月 2025 17:28:13 +0800 Subject: [PATCH] 等待交互修改 --- process/TaskProcess.cs | 148 ++++++++++++++++++++++++++++-------------------- 1 files changed, 86 insertions(+), 62 deletions(-) diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index 89acc60..cf8c3ec 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -54,13 +54,13 @@ if (load) { Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); - LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); + LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}","瑙i攣"); LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } else { Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); - LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); + LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}","瑙i攣"); LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } @@ -71,7 +71,7 @@ /// </summary> /// <param name="mst"></param> internal static void CacheBitCancelUpdate(WMSTask mst) { - + LogHelper.Info($"CacheBitCancelUpdate瑙i攣锛氫换鍔″彿锛歿mst.S_CODE}", "瑙i攣"); LocationHelper.UnLockLoc(mst.S_START_LOC); LocationHelper.UnLockLoc(mst.S_END_LOC); @@ -142,42 +142,42 @@ else if (state == 1004) { LogHelper.Info($"绛夊緟浜や簰锛屼换鍔″彿={mst.S_CODE}", "瀹夊叏浜や簰"); - var wcsCode = ""; + //var wcsCode = ""; - if (mst.S_TYPE.Contains("鍏ュ簱")|| mst.S_TYPE.Contains("鍥炲簱")) - { - wcsCode = mst.S_CODE.Replace(@"_1", "_2"); - } + //if (mst.S_TYPE.Contains("鍏ュ簱")|| mst.S_TYPE.Contains("鍥炲簱")) + //{ + // wcsCode = mst.S_CODE.Replace(@"_1", "_2"); + //} - if (mst.S_TYPE.Contains("鍑哄簱")) - { - wcsCode = mst.S_CODE.Replace(@"_2", "_1"); - } + //if (mst.S_TYPE.Contains("鍑哄簱")) + //{ + // wcsCode = mst.S_CODE.Replace(@"_2", "_1"); + //} - LogHelper.Info($"绛夊緟浜や簰锛屾煡璇㈡牎楠屼换鍔″彿={wcsCode}", "瀹夊叏浜や簰"); - //绛夊緟rfid鏍¢獙 - var rfidFlag = TaskHelper.GetRfid(wcsCode); + //LogHelper.Info($"绛夊緟浜や簰锛屾煡璇㈡牎楠屼换鍔″彿={wcsCode}", "瀹夊叏浜や簰"); + ////绛夊緟rfid鏍¢獙 + //var rfidFlag = TaskHelper.GetRfid(wcsCode); - LogHelper.Info($"绛夊緟浜や簰锛屼换鍔″彿={mst.S_CODE}锛孯FID鏍¢獙淇℃伅"+JsonConvert.SerializeObject(rfidFlag), "瀹夊叏浜や簰"); - if (rfidFlag!=null) - { - if (rfidFlag.S_RESULT.Contains("鎴愬姛")) - { - LogHelper.Info($"浠诲姟鍙�{mst.S_CODE}锛岀瓑寰呬氦绠℃垚鍔燂紝淇敼鍙傛暟6涓�,4涓�", "瀹夊叏浜や簰"); - NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0"); - NDCApi.ChangeOrderParam(mst.S_CODE, 6, "1"); - } - else { - var startSite = LocationHelper.GetAgvSiteZc(mst.S_START_LOC); - var endSite = LocationHelper.GetAgvSiteZc(mst.S_END_LOC); - LogHelper.Info($"浠诲姟{mst.S_CODE}RFID鏍¢獙澶辫触锛屾敼鍙傛暟1涓簕startSite},鏀瑰弬鏁�涓簕endSite}锛屽弬鏁�涓�锛�涓�", "瀹夊叏浜や簰"); - NDCApi.ChangeOrderParam(mst.S_CODE, 1, startSite); - NDCApi.ChangeOrderParam(mst.S_CODE, 2, endSite); - NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0"); - Thread.Sleep(1000); - NDCApi.ChangeOrderParam(mst.S_CODE, 6, "2"); - } - } + //LogHelper.Info($"绛夊緟浜や簰锛屼换鍔″彿={mst.S_CODE}锛孯FID鏍¢獙淇℃伅"+JsonConvert.SerializeObject(rfidFlag), "瀹夊叏浜や簰"); + //if (rfidFlag!=null) + //{ + // if (rfidFlag.S_RESULT.Contains("鎴愬姛")) + // { + // LogHelper.Info($"浠诲姟鍙�{mst.S_CODE}锛岀瓑寰呬氦绠℃垚鍔燂紝淇敼鍙傛暟6涓�,4涓�", "瀹夊叏浜や簰"); + // NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0"); + // NDCApi.ChangeOrderParam(mst.S_CODE, 6, "1"); + // } + // else { + // var startSite = LocationHelper.GetAgvSiteZc(mst.S_START_LOC); + // var endSite = LocationHelper.GetAgvSiteZc(mst.S_END_LOC); + // LogHelper.Info($"浠诲姟{mst.S_CODE}RFID鏍¢獙澶辫触锛屾敼鍙傛暟1涓簕startSite},鏀瑰弬鏁�涓簕endSite}锛屽弬鏁�涓�锛�涓�", "瀹夊叏浜や簰"); + // NDCApi.ChangeOrderParam(mst.S_CODE, 1, startSite); + // NDCApi.ChangeOrderParam(mst.S_CODE, 2, endSite); + // NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0"); + // Thread.Sleep(1000); + // NDCApi.ChangeOrderParam(mst.S_CODE, 6, "2"); + // } + //} } } @@ -245,9 +245,6 @@ try { - - - //绌烘墭鍏ュ簱鍒ゆ柇绌烘墭鍑虹紦瀛樿〃锛屾湁瀵瑰簲璁板綍鐩存帴鏀归亾鍒扮紦瀛樿〃缁堢偣 if (workFlow.FLOWCODE=="3") { var kt = db.Queryable<MesKtTask>().Where(e => e.TOOLS_TPYE==task.TOOLSTYPE && e.Status=="N").OrderBy(a=>a.CreateDate).First(); @@ -1015,6 +1012,29 @@ return result; } + if (work.S_B_STATE == "绛夊緟") + { + work.N_B_STATE = 7; + work.S_B_STATE = "鍙栨秷"; + work.T_MODIFY = DateTime.Now; + work.T_END_TIME = DateTime.Now; + var db = new SqlHelper<object>().GetInstance(); + db.Updateable(work).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_MODIFY, it.T_END_TIME }).ExecuteCommand(); + + LogHelper.Info($"cancelTask1鍙栨秷{model.task_no}锛岃В閿�, "瑙i攣"); + LocationHelper.UnLockLoc(work.S_START_LOC); + LocationHelper.UnLockLoc(work.S_END_LOC); + if (!string.IsNullOrEmpty(work.CONNECTION)) + { + LocationHelper.UnLockLoc(work.CONNECTION); + } + result.errCode = 0; + result.errMsg = "鍙栨秷鎴愬姛"; + result.success = true; + return result; + } + + //浣滀笟娌℃湁鎺ラ┏浣嶏紝涓�浠诲姟鍙栨秷 if (string.IsNullOrEmpty(work.CONNECTION)) { if (task != null) @@ -1029,6 +1049,7 @@ //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 TaskHelper.opMesTask(task, 3); TaskHelper.Fail(task); + TaskProcess.CacheBitCancelUpdate(task); ContainerHelper.delCntr(task.S_CNTR_CODE); @@ -1086,23 +1107,18 @@ { //浜屾浠诲姟鍙栨秷 - if (task.S_TYPE.Contains("鍑哄簱")) - { + if (wcsTask != null) { LogHelper.Info($"cancelTask1鍙栨秷Wcs浠诲姟{wcsTask.S_CODE}", "鍙栨秷"); - if (wcsTask.S_B_STATE.Trim() == "鏈墽琛� && task.S_B_STATE.Trim() == "鏈墽琛�) + if (wcsTask.S_B_STATE.Trim() == "鏈墽琛�) { //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 - TaskHelper.opMesTask(task, 3); - TaskHelper.Fail(task); - TaskProcess.OperateStatus(task,7); TaskHelper.Fail(wcsTask); TaskProcess.OperateStatus(wcsTask, 7); result.errCode = 0; result.errMsg = "鍙栨秷鎴愬姛"; result.success = true; - return result; } else { @@ -1113,9 +1129,8 @@ return result; } } - } - else - { + + if (task.S_B_STATE.Trim() == "鏈墽琛�) { //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 @@ -1164,8 +1179,7 @@ result.errCode = 1; result.errMsg = "浠诲姟宸茬粡缁撴潫"; result.success = false; - } - } + } } } catch (Exception ex) @@ -1521,9 +1535,7 @@ - var workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE); - - + var workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE); if (workFlow == null) @@ -1533,7 +1545,7 @@ } else { - LogHelper.Info($"浣滀笟娴佺▼淇℃伅" + JsonConvert.SerializeObject(workFlow), "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"鍑哄簱浣滀笟娴佺▼淇℃伅" + JsonConvert.SerializeObject(workFlow), "Mes浠诲姟涓嬪彂"); } //鍑哄簱浠诲姟 @@ -1855,7 +1867,10 @@ } workFlow = TaskHelper.selectWorkFlowByEndArea(model.BUSI_TYPE, end.S_AREA_CODE); - TOOLSTYPE = workFlow.TOOLSTYPE; + if (workFlow != null) + { + TOOLSTYPE = workFlow.TOOLSTYPE; + } } LogHelper.Info($"浣滀笟{model.task_no}锛屽伐瑁呯被鍨媨TOOLSTYPE}", "Mes浠诲姟涓嬪彂"); @@ -1939,7 +1954,7 @@ if (TOOLSTYPE == "25" || TOOLSTYPE == "35") { LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂"); - balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO); + balanceLocList = LocationHelper.RoadWayBalance1ByItem(endList, model.PROD_NO); } else { balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); @@ -2121,7 +2136,7 @@ cntr1.S_CODE = cntrCode; cntr1.C_ENABLE = "Y"; cntr1.N_DETAIL_COUNT = cntrCount; - cntr1.S_TYPE = ""; + cntr1.S_TYPE = TOOLSTYPE; LogHelper.Info($"娣诲姞瀹瑰櫒淇℃伅" + JsonConvert.SerializeObject(cntr1), "Mes浠诲姟涓嬪彂"); if (ContainerHelper.CreateCntr(cntr1)) @@ -2169,7 +2184,7 @@ S_START_AREA_NAME = start.S_AREA_Name, //璧风偣搴撳尯鍚嶇О S_END_AREA_NAME = end.S_AREA_Name, - //璧风偣搴撳尯鍚嶇О + //鎺ラ┏搴撳尯鍚嶇О CONNECTION_AREA = connectionArea, }; @@ -2178,9 +2193,10 @@ { if (connection != "") { + LogHelper.Info($"{operation.S_CODE}閿佽揣浣�, "涓婇攣"); LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2); LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1); - LocationHelper.LockLoc(operation.CONNECTION, "鍏朵粬閿�, 3); + LocationHelper.LockLoc(operation.CONNECTION, "鍏跺畠閿�, 3); } @@ -2224,6 +2240,8 @@ } + //LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟寮�", "Mes浠诲姟涓嬪彂"); + var unlimitedLocation = TaskHelper.GetMesKtLoc(); //鏍囪缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟 @@ -2239,17 +2257,20 @@ } } + //LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟endLocFlag淇℃伅{endLocFlag}", "Mes浠诲姟涓嬪彂"); if (endLocFlag) { var endTask = TaskHelper.GetTaskByEndLoc(model.Location_To); + + //LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟endTask淇℃伅"+JsonConvert.SerializeObject(endTask), "Mes浠诲姟涓嬪彂"); if (endTask != null) { LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}", "Mes浠诲姟涓嬪彂"); throw new Exception($"缁堢偣:{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}"); } } - + // LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟瀹屾垚", "Mes浠诲姟涓嬪彂"); //鏌ユ壘璧风偣 List<Location> strrtList; @@ -2264,9 +2285,10 @@ else { strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA); + } - + //LogHelper.Info($"CSendTask鍑哄簱浠诲姟鑾峰彇璧风偣璐т綅闆嗗悎瀹屾垚", "Mes浠诲姟涓嬪彂"); if (workFlow.FLOWCODE == "9" || workFlow.FLOWCODE == "4" || workFlow.FLOWCODE == "6") { @@ -2278,6 +2300,8 @@ else { //鏍规嵁鍒跺搧缂栧彿瀵绘壘绔嬪簱鍖哄搴旂墿鏂欐墭鐩�+ + LogHelper.Info($"CSendTask鍑哄簱浠诲姟鏍规嵁鍒跺搧缂栧彿瀵绘壘绔嬪簱鍖哄搴旂墿鏂欐墭鐩�, "Mes浠诲姟涓嬪彂"); start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY,workFlow.CONNECTION); if (start == null) { @@ -2467,7 +2491,7 @@ S_START_AREA_NAME = start.S_AREA_Name, //璧风偣搴撳尯鍚嶇О S_END_AREA_NAME = end.S_AREA_Name, - //璧风偣搴撳尯鍚嶇О + //鎺ラ┏搴撳尯鍚嶇О CONNECTION_AREA = connectionArea }; -- Gitblit v1.9.1