From 8accda250de2a637336a40e04085e1a0cb556c5c Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期一, 23 六月 2025 17:30:36 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs | 74 ++++++++++++++++++++----------------- 1 files changed, 40 insertions(+), 34 deletions(-) diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs index be99608..18f2d22 100644 --- a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs +++ b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs @@ -514,14 +514,13 @@ { LogHelper.Info($"鏌ヨ鍒版墽琛屼腑鐨勫伐鍗曪紝宸ュ崟绫诲瀷锛歿workInfo.S_PLineNo}"); string startArea = ""; - string endArea = ""; string fullTaskType = ""; string emptyTaskType = ""; if (workInfo.S_UsingNow == "Y") { LogHelper.Info("鍗充骇鍗崇敤宸ュ崟"); //鍗充骇鍗崇敤鍦ㄨ捣鐐逛负绾胯竟 - var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂鍗充骇鍗崇敤A" && a.enable == 1).FirstOrDefault(); + var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦鍗充骇婊℃" && a.enable == 1).FirstOrDefault(); if (bcpInfo != null) { startArea = bcpInfo.areaCode; @@ -533,7 +532,8 @@ { LogHelper.Info("闈炲嵆浜у嵆鐢ㄥ伐鍗�); //闈炲嵆浜у嵆鐢ㄨ捣鐐逛负搴撳尯 - var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂闈炲嵆浜у嵆鐢� && a.enable == 1).FirstOrDefault(); + string areaName = plc.deviceName.Split('-')[1].Substring(0, 1) + "鍙风摱鑳氱炕鏂楁満闈炲嵆浜ф弧妗�; + var bcpInfo = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).FirstOrDefault(); if (bcpInfo != null) { startArea = bcpInfo.areaCode; @@ -541,8 +541,6 @@ fullTaskType = "缈绘枟鏈哄簱瀛樻弧鎵樹笂绾匡紙鐡跺澂锛�; emptyTaskType = "缈绘枟鏈哄簱瀛樼┖鎵樹笅绾匡紙鐡跺澂锛�; } - - endArea = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂绌烘墭" && a.enable == 1).FirstOrDefault().areaCode; if (data.Length == 6) { @@ -576,23 +574,19 @@ //鍒濆鐘舵�锛屾棤鎵樼洏锛岀洿鎺ヤ笂婊℃墭(闈炲嵆浜у嵆鐢ㄩ渶瑕佹牎楠�濂楄瀹屾垚锛屽嵆浜у嵆鐢ㄧ洿鎺ヤ娇鐢� if (workInfo.S_UsingNow == "Y") { - LogHelper.Info($"鐡跺澂鍗充骇鍗崇敤A搴撳尯鏌ユ壘"); + LogHelper.Info($"鐡惰儦鍗充骇婊℃ 鏌ユ壘"); startLoca = getFDSXArea(db, workInfo, startArea); - if (startLoca == null) - { - LogHelper.Info($"鐡跺澂鍗充骇鍗崇敤A搴撳尯鏈壘鍒版弧鎵橈紝鍘荤摱鍧嵆浜у嵆鐢˙搴撳尯鏌ユ壘"); - startLoca = TaskProcess.BCPInOrOut(db, false, "鐡跺澂鍗充骇鍗崇敤B", workInfo.S_ItemCode); - } } else { + LogHelper.Info($"鐡惰儦缈绘枟鏈洪潪鍗充骇婊℃ 鏌ユ壘"); startLoca = getFDSXArea(db, workInfo, startArea); } if (startLoca != null) { //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(startLoca.S_CODE, locCode, "鍑哄簱", fullTaskType, startLoca.LocCntrRel.S_CNTR_CODE); + WMSHelper.CreateOpTask(startLoca.S_CODE, locCode, "鍑哄簱", fullTaskType, startLoca.LocCntrRel.S_CNTR_CODE, "", "", workInfo.S_WorkNo); } } else @@ -600,7 +594,7 @@ LogHelper.Info($"鐡跺澂缈绘枟鏈轰笂鏈夌┖鎵樼洏锛岀敓鎴愮┖鎵樹笅绾夸换鍔★紝鐡跺澂缈绘枟鏈虹偣浣嶏細{plc.TN_Location[0]}"); //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(locCode, "", "鍏ュ簱", emptyTaskType, plcLoca.S_CNTR_CODE); + WMSHelper.CreateOpTask(locCode, "", "鍏ュ簱", emptyTaskType, plcLoca.S_CNTR_CODE, "", "", workInfo.S_WorkNo); } } } @@ -643,12 +637,11 @@ { LogHelper.Info($"鏌ヨ鍒版墽琛屼腑鐨勫伐鍗曪紝宸ュ崟绫诲瀷锛歿workInfo.S_PLineNo}"); string startArea = ""; - string endArea = ""; string fullTaskType = ""; string emptyTaskType = ""; LogHelper.Info("闈炲嵆浜у嵆鐢ㄥ伐鍗�); //闈炲嵆浜у嵆鐢ㄨ捣鐐逛负搴撳尯 - var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "鐡剁洊闈炲嵆浜у嵆鐢� && a.enable == 1).FirstOrDefault(); + var bcpInfo = Settings.areaInfos.Where(a => a.areaName == "鐡剁洊闈炲嵆浜ф弧妗� && a.enable == 1).FirstOrDefault(); if (bcpInfo != null) { startArea = bcpInfo.areaCode; @@ -657,7 +650,6 @@ fullTaskType = "缈绘枟鏈哄簱瀛樻弧鎵樹笂绾匡紙鐡剁洊锛�; emptyTaskType = "缈绘枟鏈哄簱瀛樼┖鎵樹笅绾匡紙鐡剁洊锛�; - endArea = Settings.areaInfos.Where(a => a.areaName == "鐡剁洊绌烘墭" && a.enable == 1).FirstOrDefault().areaCode; if (data.Length == 6) { if (data.Substring(0, 2) == "11") @@ -690,14 +682,14 @@ if (startLoca != null) { //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(startLoca.S_CODE, locCode, "鍑哄簱", fullTaskType, startLoca.LocCntrRel.S_CNTR_CODE); + WMSHelper.CreateOpTask(startLoca.S_CODE, locCode, "鍑哄簱", fullTaskType, startLoca.LocCntrRel.S_CNTR_CODE,"","",workInfo.S_WorkNo); } } else { - LogHelper.Info($"鐡剁洊缈绘枟鏈轰笂鏈夌┖鎵樼洏锛岀敓鎴愮┖鎵樹笅绾夸换鍔★紝鐡剁洊缈绘枟鏈虹偣浣嶏細{plc.TN_Location[0]}"); + LogHelper.Info($"鐡剁洊缈绘枟鏈轰笂鏈夌┖鎵樼洏锛岀敓鎴愮┖鎵樹笅绾夸换鍔★紝鐡剁洊缈绘枟鏈虹偣浣嶏細{locCode}"); //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(plc.TN_Location[0],"", "鍏ュ簱", emptyTaskType, plcLoca.S_CNTR_CODE); + WMSHelper.CreateOpTask(locCode, "", "鍏ュ簱", emptyTaskType, plcLoca.S_CNTR_CODE,"","",workInfo.S_WorkNo); } } } @@ -716,6 +708,7 @@ { foreach(var a in locList) { + LogHelper.Info($"getFDSXArea:鏌ヨ鍒板綋鍓嶈揣浣嶉攣鐘舵�锛歿a.S_LOCK_STATE},璐т綅缂栫爜锛歿a.S_CODE}"); if(a.S_LOCK_STATE == "鏃�) { var cntrInfo = db.Queryable<LocCntrRel>().Where(b => b.S_LOC_CODE == a.S_CODE).First(); @@ -724,20 +717,28 @@ var itemInfo = db.Queryable<CntrItemRel>().Where(b => b.S_CNTR_CODE == cntrInfo.S_CNTR_CODE).First(); if(itemInfo != null) { - if(itemInfo.S_ITEM_CODE == workInfo.S_ItemCode) + LogHelper.Info($"getFDSXArea:鏌ヨ鍒扮墿鏂欑紪鐮侊細{itemInfo.S_ITEM_CODE}"); + if (itemInfo.S_ITEM_CODE == workInfo.S_ItemCode) { result = a; break; } } - + else + { + LogHelper.Info($"getFDSXArea:褰撳墠鎵樼洏鏈粦瀹氱墿鏂欙紝鎵樼洏缂栫爜锛歿cntrInfo.S_CNTR_CODE}"); + } + } + else + { + LogHelper.Info($"getFDSXArea:褰撳墠璐т綅鏈粦瀹氭墭鐩�); } } } } else { - LogHelper.Info($"涓烘煡璇㈠埌鍙兘婊℃墭锛屽簱鍖虹紪鐮侊細{startArea}"); + LogHelper.Info($"getFDSXArea:鏈煡璇㈠埌鍙敤婊℃墭锛屽簱鍖虹紪鐮侊細{startArea}"); } return result; } @@ -845,7 +846,7 @@ if (startLoca != null) { //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(startLoca.S_CODE, deviceBit, "鍑哄簱", taskType, startLoca.LocCntrRel.S_CNTR_CODE); + WMSHelper.CreateOpTask(startLoca.S_CODE, deviceBit, "鍑哄簱", taskType, startLoca.LocCntrRel.S_CNTR_CODE, "", "", workInfo.S_WorkNo); } else { @@ -866,10 +867,10 @@ else { cntrCode = cntrInfo.S_CNTR_CODE; - TaskProcess.BindCntrItem(deviceBit, cntrCode, workInfo.S_ItemCode, ""); + TaskProcess.BindCntrItem(cntrCode, workInfo.S_ItemCode, "", ""); } //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(deviceBit, "", "鍏ュ簱", taskType, cntrCode); + WMSHelper.CreateOpTask(deviceBit, "", "鍏ュ簱", taskType, cntrCode,"","",workInfo.S_WorkNo); } } } @@ -930,7 +931,8 @@ LogHelper.Info($"鏌ヨ缈绘枟鏈哄厑璁稿彇绌轰俊鍙�鍏佽鍙栫┖淇″彿={LineState[mst.S_START_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰"); if ((LineState[mst.S_START_LOC.Trim()].status == "112100" || LineState[mst.S_START_LOC.Trim()].status == "112200") && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10) { - NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); + //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); + NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 18, "1101"); TaskProcess.sendSing(mst, 1101); } } @@ -939,17 +941,18 @@ LogHelper.Info($"鏌ヨ杈撻�绾垮厑璁稿彇婊′俊鍙�鍏佽鍙栨弧淇″彿={LineState[mst.S_START_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰"); if (mst.S_TYPE.Contains("婊℃墭涓嬬嚎")) { - if ((LineState[mst.S_START_LOC.Trim()].status == "1122" || LineState[mst.S_START_LOC.Trim()].status == "1221") && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10) + if ((LineState[mst.S_START_LOC.Trim()].status.Substring(4,2) == "01" || LineState[mst.S_START_LOC.Trim()].status.Substring(6,2) == "02") && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10) { - NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); - TaskProcess.sendSing(mst, 1101); + //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); + NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 18, "1101"); } } else { if (LineState[mst.S_START_LOC.Trim()].status == "1220" && DateTime.Now.Subtract(LineState[mst.S_START_LOC.Trim()].modify).TotalSeconds < 10) { - NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); + //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1101, 18); + NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 18, "1101"); TaskProcess.sendSing(mst, 1101); } } @@ -972,7 +975,8 @@ LogHelper.Info($"鏌ヨ缈绘枟鏈哄厑璁镐笂婊′俊鍙�鍏佽涓婃弧淇″彿={LineState[mst.S_END_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰"); if ((LineState[mst.S_END_LOC.Trim()].status == "112100" || LineState[mst.S_END_LOC.Trim()].status == "112200") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10) { - NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); + //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); + NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 18, "1103"); TaskProcess.sendSing(mst, 1103); } } @@ -981,9 +985,10 @@ LogHelper.Info($"鏌ヨ杈撻�绾垮厑璁歌ˉ绌轰俊鍙�鍏佽琛ョ┖淇″彿={LineState[mst.S_END_LOC.Trim()].status} 鏃堕棿闂撮殧={DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds}", "瀹夊叏浜や簰"); if (mst.S_TYPE.Contains("绌烘墭涓婄嚎")) { - if ((LineState[mst.S_END_LOC.Trim()].status == "1122" || LineState[mst.S_END_LOC.Trim()].status == "1221") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10) + if ((LineState[mst.S_END_LOC.Trim()].status.Substring(4,2) == "01" || LineState[mst.S_END_LOC.Trim()].status.Substring(6,2) == "02") && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10) { - NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); + //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); + NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 18, "1103"); TaskProcess.sendSing(mst, 1103); } } @@ -991,7 +996,8 @@ { if (LineState[mst.S_END_LOC.Trim()].status == "1021" && DateTime.Now.Subtract(LineState[mst.S_END_LOC.Trim()].modify).TotalSeconds < 10) { - NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); + //NDCHelper.ChangeParam(mst.S_CODE.Trim(), 1103, 18); + NDCApi.ChangeOrderParam(mst.S_CODE.Trim(), 18, "1103"); TaskProcess.sendSing(mst, 1103); } } -- Gitblit v1.9.1