From 648f4270f4f56c5ca284dbcfa650de05e46a7052 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期三, 16 七月 2025 17:20:59 +0800 Subject: [PATCH] 11111 --- HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs | 72 +++++++++++++++++++++-------------- 1 files changed, 43 insertions(+), 29 deletions(-) diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs index 76b0b40..82ae89b 100644 --- a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs +++ b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs @@ -107,7 +107,7 @@ } /// <summary> - /// 鐡跺澂缈绘枟鏈洪潪鎬ヤ骇婊℃鍖鸿ˉ婊℃墭 + /// 鐡跺澂缈绘枟鏈洪潪鍗充骇婊℃鍖鸿ˉ婊℃墭 /// </summary> internal static void PPFDFullIn() { @@ -132,7 +132,7 @@ { string cntrCode = getCntrCode(db,location); //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ婊℃", cntrCode, "鐡跺澂"); + WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炲嵆浜цˉ婊℃", cntrCode, "鐡跺澂"); } } } @@ -206,7 +206,7 @@ { string cntrCode = getCntrCode(db, location); //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炴�浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊"); + WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炲嵆浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊"); } } if (itemCount.Count == 2) @@ -252,7 +252,7 @@ { string cntrCode = getCntrCode(db, location); //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炴�浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊"); + WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炲嵆浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊"); } } } @@ -263,7 +263,7 @@ { string cntrCode = getCntrCode(db, location); //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炴�浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊"); + WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炲嵆浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊"); } } } @@ -293,36 +293,49 @@ var LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0).ToList(); if(LocList.Count <= 1) { - var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炴�浜цˉ绌烘" && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷").First(); + LogHelper.Info($"鐡跺澂闈炲嵆浜цˉ绌烘 {JsonConvert.SerializeObject(LocList)}"); + var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炲嵆浜цˉ绌烘" && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷").First(); if(taskInfo == null) { - //闇�浠庡簱鍖鸿ˉ鍏呯┖鎵�- Location location = TaskProcess.FJCKTLoc(); - var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).OrderBy(a => a.N_ROW).First(); - if (location != null && locInfo != null) + var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "鐡跺澂闈炲嵆浜цˉ绌烘" && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First(); + if(wmsTask == null) { - string cntrCode = getCntrCode(db, location); - //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ绌烘", cntrCode, "鐡跺澂"); + //闇�浠庡簱鍖鸿ˉ鍏呯┖鎵�+ Location location = TaskProcess.FJCKTLoc(); + var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).OrderBy(a => a.N_ROW).First(); + if (location != null && locInfo != null) + { + string cntrCode = getCntrCode(db, location); + //鍒涘缓浣滀笟 + WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炲嵆浜цˉ绌烘", cntrCode, "鐡跺澂"); + } } } } + LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY).ToList(); if (LocList.Count > 2) { - var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炴�浜х┖妗嗗叆搴� && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷" && a.S_B_STATE != "鍗歌揣瀹屾垚" && a.S_B_STATE != "寮�鍗歌揣" && a.S_B_STATE != "鍙栬揣瀹屾垚").First(); + //鍒ゆ柇浠诲姟鏄惁瀛樺湪 + LogHelper.Info($"鐡跺澂闈炲嵆浜х┖鎵樺叆搴�{JsonConvert.SerializeObject(LocList)}"); + var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炲嵆浜х┖妗嗗叆搴� && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷" && a.S_B_STATE != "鍗歌揣瀹屾垚" && a.S_B_STATE != "寮�鍗歌揣" && a.S_B_STATE != "鍙栬揣瀹屾垚").First(); if(taskInfo == null) { - //闇�灏嗙┖鎵樿浆杩愬埌搴撳尯 - foreach (var a in LocList) + //鍒ゆ柇浣滀笟鏄惁瀛樺湪 + var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "鐡跺澂闈炲嵆浜х┖妗嗗叆搴� && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First(); + if(wmsTask == null) { - if (a.S_LOCK_STATE == "鏃�) + //闇�灏嗙┖鎵樿浆杩愬埌搴撳尯 + foreach (var a in LocList) { - //鐢熸垚浠诲姟 - string cntrCode = getCntrCode(db, a); - //鍒涘缓浣滀笟 - WMSHelper.CreateOpTask(a.S_CODE, "", "鍏ュ簱", "鐡跺澂闈炴�浜х┖妗嗗叆搴�, cntrCode, "鐡跺澂"); - break; + if (a.S_LOCK_STATE == "鏃�) + { + //鐢熸垚浠诲姟 + string cntrCode = getCntrCode(db, a); + //鍒涘缓浣滀笟 + WMSHelper.CreateOpTask(a.S_CODE, "", "鍏ュ簱", "鐡跺澂闈炲嵆浜х┖妗嗗叆搴�, cntrCode, "鐡跺澂"); + break; + } } } } @@ -345,7 +358,7 @@ // { // string cntrCode = getCntrCode(db, location); // //鍒涘缓浣滀笟 - // WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ绌烘", cntrCode, "鐡跺澂"); + // WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炲嵆浜цˉ绌烘", cntrCode, "鐡跺澂"); // } // } // } @@ -358,15 +371,16 @@ } - internal static void PGFDFullInJC() + internal static void PPFDFullInJC() { var db = new SqlHelper<object>().GetInstance(); - var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "鍐滃か鏋楄姖-鐡跺澂鏈� && a.S_UsingNow == "Y" && a.S_WorkState == "鎵ц涓�).First(); + var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo.Contains("鐡跺澂缈绘枟鏈�) && a.S_UsingNow == "Y" && a.S_WorkState == "鎵ц涓�).First(); if(workInfo != null) { var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂鍗充骇婊℃" && a.enable == 1).FirstOrDefault(); if(areaInfo != null) { + //濡傛灉搴撳尯鏄┖鐨勶紝骞朵笖娌℃湁鏈夐攣鐨勫氨琛ュ厖绌烘墭 var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == 0 && a.S_LOCK_STATE == "鏃�).First(); if (locInfo != null) { @@ -376,7 +390,7 @@ { //鍒涘缓浣滀笟 string cntrCode = getCntrCode(db, startLoca); - WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo.S_CODE, "鍑哄簱", "鐡跺澂鎬ヤ骇琛ユ弧妗�, cntrCode, ""); + WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo.S_CODE, "鍑哄簱", "鐡跺澂鍗充骇琛ユ弧妗�, cntrCode, ""); } } } @@ -393,7 +407,7 @@ { //鍒涘缓浣滀笟 string cntrCode = getCntrCode(db, startLoca); - WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo[0].S_CODE, "鍑哄簱", "鐡跺澂鎬ヤ骇琛ョ┖妗�, cntrCode, ""); + WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo[0].S_CODE, "鍑哄簱", "鐡跺澂鍗充骇琛ョ┖妗�, cntrCode, ""); } } } @@ -433,7 +447,7 @@ { var rowInfo = db.Queryable<RowLock>().Where(a => a.S_AREA_CODE == endloc.S_AREA_CODE && a.S_ROW == endloc.S_ROW).First(); LogHelper.Info($"鐡剁洊灏忓寘瑁呯洊杞繍锛氭煡璇㈤攣淇℃伅锛岃揣浣嶉攣锛歿endloc.S_LOCK_STATE},鎺掗攣锛歿JsonConvert.SerializeObject(rowInfo)}"); - if(rowInfo!=null && rowInfo.S_LOCK_STATE == "鏃� && endloc.S_LOCK_STATE == "鏃�) + if(rowInfo != null && rowInfo.S_LOCK_STATE == "鏃� && endloc.S_LOCK_STATE == "鏃�) { endLoca = endloc; break; @@ -455,7 +469,7 @@ if (startLoca != null) { string cntrCode = getCntrCode(db, startLoca); - WMSHelper.CreateOpTask(startLoca.S_CODE, endLoca.S_CODE, "鍑哄簱", "鐡剁洊闈炴�浜цˉ婊℃灏忓寘瑁�, cntrCode, ""); + WMSHelper.CreateOpTask(startLoca.S_CODE, endLoca.S_CODE, "鍑哄簱", "鐡剁洊闈炲嵆浜цˉ婊℃灏忓寘瑁�, cntrCode, ""); } } } -- Gitblit v1.9.1