From 80b87b4168415e34da04c75ad6dfea05bb4d97f3 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期一, 12 五月 2025 18:36:55 +0800 Subject: [PATCH] 空托修改 --- process/TaskProcess.cs | 142 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 115 insertions(+), 27 deletions(-) diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index 0c74448..a9a515f 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -206,11 +206,54 @@ { LogHelper.Info($"鍒ゆ柇宸烽亾鍙敤澶辫触锛屾病鎵惧埌瀵瑰簲{task.S_OP_CODE + "_2"}浠诲姟", "鏀归亾瀹夊叏浜や簰"); throw new Exception($"鍒ゆ柇宸烽亾鍙敤澶辫触,娌℃壘鍒板搴攞task.S_OP_CODE + "_2"}浠诲姟"); - } //鍒ゆ柇鎺ラ┏浣嶅彲鐢� var flag = true; + + //绌烘墭鍏ュ簱鍒ゆ柇绌烘墭鍑虹紦瀛樿〃锛屾湁瀵瑰簲璁板綍鐩存帴鏀归亾鍒扮紦瀛樿〃缁堢偣 + if (workFlow.FLOWCODE=="3") { + var kt = db.Queryable<MesKtTask>().Where(e => e.TOOLS_TPYE==task.TOOLSTYPE && e.Status=="N").First(); + if (kt == null) + { + LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}娌℃壘鍒扮┖鎵樺嚭缂撳瓨璁板綍锛屼笉闇�鏀归亾锛岀洿鎺ヤ慨鏀瑰弬鏁�涓�", "鏀归亾瀹夊叏浜や簰"); + NDCApi.ChangeOrderParam(task.S_CODE, 6, "1"); + return; + } + else { + + LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鎵惧埌绌烘墭鍑虹紦瀛樿褰�"+JsonConvert.SerializeObject(kt), "鏀归亾瀹夊叏浜や簰"); + + //鏌ユ壘缁欏畾缁堢偣 + 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},娌℃壘鍒版垨鏈夐攣", "鏀归亾瀹夊叏浜や簰"); + //} + + LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1); + var endLoc = LocationHelper.GetLocOne(task.S_END_LOC); + endLoc.N_LOCK_STATE = 0; + endLoc.S_LOCK_STATE = "鏃�; + db.BeginTran(); + db.Updateable(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand(); + //鏀逛竴娈典换鍔$粓鐐�+ task.S_END_LOC = end.S_CODE; + db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC }).ExecuteCommand(); + kt.Status = "Y"; + db.Updateable(kt).UpdateColumns(it => new { it.Status }).ExecuteCommand(); + db.CommitTran(); + + WcsTask.WcsCancellTask(wcsTask); + 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"); + + } + + } if (workFlow.FLOWNAME.Contains("鍏ュ簱")) { @@ -1198,10 +1241,10 @@ //鏌ユ壘璧风偣 var start = LocationHelper.GetLoc(model.Location_From); - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂璧风偣淇℃伅"+JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂璧风偣淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂"); - if (start == null || start.S_LOCK_STATE!="鏃�) { + if (start == null || start.S_LOCK_STATE != "鏃�) { LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂澶辫触锛岃捣鐐�{model.Location_From},娌℃壘鍒版垨鏈夐攣", "Mes浠诲姟涓嬪彂"); throw new Exception($"璧风偣:{model.Location_From},娌℃壘鍒版垨鏈夐攣"); } @@ -1210,7 +1253,7 @@ var connection = ""; //濡傛灉闇�涓嬪彂wcs绔嬪簱锛屽垯闇�瀵绘壘鍙敤鎺ラ┏浣�- if (workFlow.SENDWCS=="Y") { + if (workFlow.SENDWCS == "Y") { //娴嬭瘯榛樿鍙栦竴涓帴椹充綅 //var connectionList = LocationHelper.GetAllLocList1(workFlow.CONNECTION); @@ -1250,7 +1293,7 @@ throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�); } - if (connection=="") + if (connection == "") { LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂"); throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�); @@ -1271,20 +1314,20 @@ else if (workFlow.FLOWCODE == "3") { //绌烘墭鍏�浼樺厛鍏ョ紦瀛樺尯锛屾病鏈夊叆绔嬪簱鍖�- var ktHcq = Settings.EmptyPalletBufferArea; + //var ktHcq = Settings.EmptyPalletBufferArea; cntrCount = 0; - var endList1 = LocationHelper.GetAllLocList1(ktHcq); - end = LocationHelper.FindEndcolByLoc(endList1, ktHcq); - LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟瀵绘壘绌烘墭缂撳瓨鍖虹粓鐐逛俊鎭� + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); - if (end == null) - { + //var endList1 = LocationHelper.GetAllLocList1(ktHcq); + //end = LocationHelper.FindEndcolByLoc(endList1, ktHcq); + //LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟瀵绘壘绌烘墭缂撳瓨鍖虹粓鐐逛俊鎭� + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); + //if (end == null) + //{ LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟娌℃壘鍒扮┖鎵樼紦瀛樺尯缁堢偣,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂"); end = LocationHelper.FindEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY); - } - else - { - connection = ""; - } + //} + //else + //{ + // connection = ""; + //} } else if (workFlow.FLOWCODE == "2") { @@ -1310,7 +1353,7 @@ } - LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); if (end == null) { LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐�, "Mes浠诲姟涓嬪彂"); @@ -1318,7 +1361,7 @@ } //娣诲姞鎵樼洏鐗╂枡鍏宠仈琛�- if (cntrCount!=0) + if (cntrCount != 0) { CntrItemRel rel = new CntrItemRel(); rel.S_ITEM_CODE = model.PROD_NO; @@ -1360,7 +1403,7 @@ rel.itemFeature = model.PROD_TECH; ContainerHelper.CreateCntrItem(rel); } - + //娣诲姞鎵樼洏 @@ -1370,13 +1413,13 @@ cntr1.N_DETAIL_COUNT = cntrCount; cntr1.S_TYPE = ""; - LogHelper.Info($"娣诲姞瀹瑰櫒淇℃伅"+JsonConvert.SerializeObject(cntr1), "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"娣诲姞瀹瑰櫒淇℃伅" + JsonConvert.SerializeObject(cntr1), "Mes浠诲姟涓嬪彂"); if (ContainerHelper.CreateCntr(cntr1)) { - LogHelper.Info($"娣诲姞瀹瑰櫒淇℃伅鎴愬姛" , "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"娣诲姞瀹瑰櫒淇℃伅鎴愬姛", "Mes浠诲姟涓嬪彂"); } else { - LogHelper.Info($"娣诲姞瀹瑰櫒淇℃伅澶辫触" , "Mes浠诲姟涓嬪彂"); + LogHelper.Info($"娣诲姞瀹瑰櫒淇℃伅澶辫触", "Mes浠诲姟涓嬪彂"); } @@ -1416,12 +1459,17 @@ }; //鍒涘缓浣滀笟 - if (WMSHelper.CreateWmsWork(operation)) { + if (WMSHelper.CreateWmsWork(operation)) + { LogHelper.Info($"ZCSendTask鍏ュ簱浣滀笟鍒涘缓鎴愬姛{operation.S_CODE}", "Mes浠诲姟涓嬪彂"); result.errMsg = "鍏ュ簱浣滀笟鍒涘缓鎴愬姛"; result.errCode = 0; result.success = true; return result; + } + else { + LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂鍒涘缓浣滀笟澶辫触", "Mes浠诲姟涓嬪彂"); + throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂鍒涘缓浣滀笟澶辫触"); } @@ -1460,7 +1508,7 @@ start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY); } - + } else if (workFlow.FLOWCODE == "7") { //瀵绘壘绔嬪簱鍖虹┖鎵�@@ -1470,11 +1518,47 @@ LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂"); - if (start == null) + if (workFlow.FLOWCODE == "7" && start == null) { - LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岃捣鐐瑰簱鍖簕workFlow.STARTAREA},娌℃壘鍒拌捣鐐�, "Mes浠诲姟涓嬪彂"); - throw new Exception($"璧风偣搴撳尯{workFlow.STARTAREA},娌℃壘鍒拌捣鐐�); + //绌烘墭鍑烘病鎵惧埌璧风偣锛屽厛缂撳瓨鍒扮┖鎵樿〃 + + MesKtTask req = new MesKtTask() + { + Location_From_Area = workFlow.STARTAREA, + Location_To = end.S_CODE, + Priority = model.Priority, + CreateDate = DateTime.Now, + BUSI_TYPE = model.BUSI_TYPE, + TOOLS_TPYE = model.TOOLS_TPYE, + Status = "N" + }; + + if (TaskHelper.CreateMesKtTask(req)) + { + LogHelper.Info($"ZCSendTask绌烘墭鍑哄垱寤烘垚鍔�, "Mes浠诲姟涓嬪彂"); + result.errMsg = "绌烘墭鍑哄簱缂撳瓨鎴愬姛"; + result.errCode = 0; + result.success = true; + return result; + } + else + { + LogHelper.Info($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�, "Mes浠诲姟涓嬪彂"); + throw new Exception($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�); + } + + + } + else { + if (start == null) + { + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岃捣鐐瑰簱鍖簕workFlow.STARTAREA},娌℃壘鍒拌捣鐐�, "Mes浠诲姟涓嬪彂"); + throw new Exception($"璧风偣搴撳尯{workFlow.STARTAREA},娌℃壘鍒拌捣鐐�); + } + } + + //鑾峰彇鎵樼洏鐮� var cntrCode = LocationHelper.GetLocCntrCode(start.S_CODE); @@ -1569,6 +1653,10 @@ result.success = true; return result; } + else { + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂鍒涘缓浣滀笟澶辫触", "Mes浠诲姟涓嬪彂"); + throw new Exception($"ZCSendTask鍑哄簱浠诲姟涓嬪彂鍒涘缓浣滀笟澶辫触"); + } } else { -- Gitblit v1.9.1