From 5b6a0b390fc0ca7a5519ad6fb9a27bbca80e3cad Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期四, 29 五月 2025 17:29:28 +0800 Subject: [PATCH] 空托修改 --- process/TaskProcess.cs | 179 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 115 insertions(+), 64 deletions(-) diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index c847b92..e00b8f6 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -59,7 +59,7 @@ 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}"); LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } @@ -227,28 +227,32 @@ //鏌ユ壘缁欏畾缁堢偣 var end = LocationHelper.GetLoc(kt.Location_To); - //LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "鏀归亾瀹夊叏浜や簰"); - //if (end == null || end.S_LOCK_STATE != "鏃�) - //{ - // LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣澶辫触锛岀粓鐐�{kt.Location_To},娌℃壘鍒版垨鏈夐攣", "鏀归亾瀹夊叏浜や簰"); - //} - TaskHelper.Fail(wcsTask); - TaskProcess.OperateStatus(wcsTask, 7); - LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1); - db.BeginTran(); - //鏀逛竴娈典换鍔$粓鐐�- task.S_END_LOC = end.S_CODE; - task.S_END_AREA = end.S_AREA_CODE; - db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC,it.S_END_AREA}).ExecuteCommand(); - kt.Status = "Y"; - db.Updateable(kt).UpdateColumns(it => new { it.Status }).ExecuteCommand(); - db.CommitTran(); - var site = LocationHelper.GetAgvSiteZc(end.S_CODE); - LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�锛�涓�", "鏀归亾瀹夊叏浜や簰"); - NDCApi.ChangeOrderParam(task.S_CODE, 2, site); - NDCApi.ChangeOrderParam(task.S_CODE, 6, "1"); - NDCApi.ChangeOrderParam(task.S_CODE, 4, "0"); - return; + if (end.S_LOCK_STATE=="鏃� && end.N_CURRENT_NUM==0) + { + //LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "鏀归亾瀹夊叏浜や簰"); + //if (end == null || end.S_LOCK_STATE != "鏃�) + //{ + // LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣澶辫触锛岀粓鐐�{kt.Location_To},娌℃壘鍒版垨鏈夐攣", "鏀归亾瀹夊叏浜や簰"); + //} + TaskHelper.Fail(wcsTask); + TaskProcess.OperateStatus(wcsTask, 7); + LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1); + db.BeginTran(); + //鏀逛竴娈典换鍔$粓鐐�+ task.S_END_LOC = end.S_CODE; + task.S_END_AREA = end.S_AREA_CODE; + db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand(); + kt.Status = "Y"; + db.Updateable(kt).UpdateColumns(it => new { it.Status }).ExecuteCommand(); + db.CommitTran(); + var site = LocationHelper.GetAgvSiteZc(end.S_CODE); + LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�锛�涓�", "鏀归亾瀹夊叏浜や簰"); + NDCApi.ChangeOrderParam(task.S_CODE, 2, site); + NDCApi.ChangeOrderParam(task.S_CODE, 6, "1"); + NDCApi.ChangeOrderParam(task.S_CODE, 4, "0"); + return; + } + } } @@ -297,9 +301,9 @@ { flag = false; - LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鎺ラ┏浣峽con.S_CODE}鍙敤锛屼笉闇�鏀归亾锛岀洿鎺ヤ慨鏀瑰弬鏁�涓�锛�涓�", "鏀归亾瀹夊叏浜や簰"); + LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鎺ラ┏浣峽con.S_CODE}鍙敤锛屼笉闇�鏀归亾锛岀洿鎺ヤ慨鏀瑰弬鏁�涓�锛�涓�024", "鏀归亾瀹夊叏浜や簰"); NDCApi.ChangeOrderParam(task.S_CODE, 6, "1"); - NDCApi.ChangeOrderParam(task.S_CODE, 4, "0"); + NDCApi.ChangeOrderParam(task.S_CODE, 4, "1024"); break; } } @@ -446,7 +450,25 @@ ndcParme.Add(new param() { name = "From", value = start.ToString() }); ndcParme.Add(new param() { name = "To", value = end.ToString() }); ndcParme.Add(new param() { name = "FUNC", value = "0" }); - ndcParme.Add(new param() { name = "DATA", value = "0" }); + + + var work = TaskHelper.GetWmsWork(mst.S_OP_CODE); + if (work==null) + { + LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屾病鎵惧埌浣滀笟:{mst.S_OP_CODE}", "NDC"); + } + + if (string.IsNullOrEmpty(work.CONNECTION)) + { + ndcParme.Add(new param() { name = "DATA", value = "0" }); + } + else { + ndcParme.Add(new param() { name = "DATA", value = "768" }); + } + + + + ndcParme.Add(new param() { name = "Ctype", value = "0" }); @@ -1094,7 +1116,7 @@ result.success = false; return result; } - var endTask = TaskHelper.GetTaskByStartLoc(zd); + var endTask = TaskHelper.GetTaskByEndLoc(zd); if (endTask != null) { result.errMsg = "缁堢偣鏈夋墽琛屼腑浠诲姟"; @@ -1261,9 +1283,6 @@ throw new Exception($"鎵樼洏{model.TOOLS_NO}宸茬粡鍒涘缓浣滀笟锛岃鍕块噸澶嶇敵璇�); } } - - - //鎵樼洏鏄庣粏鏁伴噺 @@ -1581,11 +1600,38 @@ LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); - if (end == null || end.S_LOCK_STATE != "鏃�) + if (end == null) { - LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To},娌℃壘鍒版垨鏈夐攣", "Mes浠诲姟涓嬪彂"); - throw new Exception($"缁堢偣:{model.Location_To},娌℃壘鍒版垨鏈夐攣"); + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To},娌℃壘鍒�, "Mes浠诲姟涓嬪彂"); + throw new Exception($"缁堢偣:{model.Location_To},娌℃壘鍒�); } + + + var unlimitedLocation = TaskHelper.GetMesKtLoc(); + + //鏍囪缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟 + var endLocFlag = true; + + foreach (var item in unlimitedLocation) + { + //鍑哄簱缁堢偣璐т綅鍦ㄩ厤缃噷 鍙互鏃犻檺鍒朵笅浠诲姟 + if (item.Loc.Contains(model.Location_To)) + { + endLocFlag = false; + break; + } + } + + if (endLocFlag) + { + var endTask = TaskHelper.GetTaskByEndLoc(model.Location_To); + if (endTask != null) + { + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}", "Mes浠诲姟涓嬪彂"); + throw new Exception($"缁堢偣:{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}"); + } + } + //鏌ユ壘璧风偣 @@ -1634,36 +1680,36 @@ } else if (workFlow.FLOWCODE == "7") { //瀵绘壘绔嬪簱鍖虹┖鎵�- start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA); - if (start == null) - { - strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA); - var itemFlag = LocationHelper.FindStartcolByLoclistAndcntrFlag(strrtList, workFlow.STARTAREA); - LogHelper.Info($"ZCSendTask绌烘墭鍑哄簱浠诲姟娌℃壘鍒拌捣鐐癸紝鏍¢獙鏄惁鏈夊簱瀛樹絾鏄澶囨姤璀itemFlag}", "Mes浠诲姟涓嬪彂"); + //start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA); + //if (start == null) + //{ + // strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA); + // var itemFlag = LocationHelper.FindStartcolByLoclistAndcntrFlag(strrtList, workFlow.STARTAREA); + // LogHelper.Info($"ZCSendTask绌烘墭鍑哄簱浠诲姟娌℃壘鍒拌捣鐐癸紝鏍¢獙鏄惁鏈夊簱瀛樹絾鏄澶囨姤璀itemFlag}", "Mes浠诲姟涓嬪彂"); - if (itemFlag) + // if (itemFlag) + // { + // result.errMsg = "绌烘墭鍑哄簱浣滀笟鏈夊簱瀛樹絾璁惧鎶ヨ"; + // result.errCode = 2001; + // result.success = true; + // return result; + // } + //} + + //绌烘墭鍑哄厛缂撳瓨鍒扮┖鎵樿〃 + + //鍏堟煡璇㈡湁娌℃湁鍚岀粓鐐圭紦瀛樼殑璁板綍 + + if (endLocFlag) { + var ktTask = TaskHelper.GetMesKtTask(end.S_CODE); + if (ktTask != null) { - result.errMsg = "绌烘墭鍑哄簱浣滀笟鏈夊簱瀛樹絾璁惧鎶ヨ"; - result.errCode = 2001; - result.success = true; - return result; + LogHelper.Info($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�缁堢偣{end.S_CODE}宸叉湁缂撳瓨", "Mes浠诲姟涓嬪彂"); + throw new Exception($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�缁堢偣{end.S_CODE}宸叉湁缂撳瓨"); } } - } - - LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂"); - - if (workFlow.FLOWCODE == "7" && start == null) - { - //绌烘墭鍑烘病鎵惧埌璧风偣锛屽厛缂撳瓨鍒扮┖鎵樿〃 - - //鍏堟煡璇㈡湁娌℃湁鍚岀粓鐐规湭缂撳瓨鐨勮褰�- - var ktTask = TaskHelper.GetMesKtTask(end.S_CODE); - if (ktTask != null) { - throw new Exception($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�缁堢偣{end.S_CODE}宸叉湁缂撳瓨"); - } + MesKtTask req = new MesKtTask() { @@ -1672,7 +1718,8 @@ Priority = model.Priority, CreateDate = DateTime.Now, BUSI_TYPE = model.BUSI_TYPE, - TOOLS_TPYE = model.TOOLS_TPYE, + TOOLS_TPYE = TOOLSTYPE, + task_no=model.task_no, Status = "N" }; @@ -1682,6 +1729,10 @@ result.errMsg = "绌烘墭鍑哄簱缂撳瓨鎴愬姛"; result.errCode = 0; result.success = true; + mesRes.errCode = result.errCode; + mesRes.errMsg = result.errMsg; + //淇濆瓨mes璁板綍 + CreatMesRes(mesRes); return result; } else @@ -1689,17 +1740,17 @@ LogHelper.Info($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�, "Mes浠诲姟涓嬪彂"); throw new Exception($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�); } - - - } - else { + + + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂"); + if (start == null) { LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岃捣鐐瑰簱鍖簕workFlow.STARTAREA},娌℃壘鍒拌捣鐐�, "Mes浠诲姟涓嬪彂"); throw new Exception($"璧风偣搴撳尯{workFlow.STARTAREA},娌℃壘鍒拌捣鐐�); } - } + -- Gitblit v1.9.1