From 8cb4f66c6cf5639280a27e0ef28360cd46842197 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期二, 17 六月 2025 17:34:06 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs | 101 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 69 insertions(+), 32 deletions(-) diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs index 788c9d7..0fb1a31 100644 --- a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs +++ b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs @@ -33,13 +33,13 @@ { 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}"); - LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); + LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList(),mst.S_TYPE); } 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}"); - LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); + LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList(),mst.S_TYPE); } } @@ -1436,22 +1436,53 @@ return result; } - internal static Location getMStartLoc(SqlSugarClient db) + internal static Location getMStartLoc(SqlSugarClient db, string usingNow) { Location result = null; - var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂娉ㄥ鏈虹┖鎵� && a.enable == 1).FirstOrDefault(); - if(areaInfo != null) + if(usingNow == "Y") { - var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "鏃�).Includes(a => a.LocCntrRel).First(); - if(locInfo != null) + //鍗充骇鍗崇敤 + var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦鍗充骇绌烘" && a.enable == 1).FirstOrDefault(); + if (areaInfo != null) { - result = locInfo; + var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0 && a.S_LOCK_STATE == "鏃�).Includes(a => a.LocCntrRel).First(); + if (locInfo != null) + { + result = locInfo; + } + } + else + { + LogHelper.Info("鐡惰儦鍗充骇绌烘鏈厤缃�); } } else { - LogHelper.Info("鐡跺澂娉ㄥ鏈虹┖鎵樻湭閰嶇疆"); + //闈炲嵆浜у嵆鐢�+ var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦闈炲嵆浜х┖妗� && a.enable == 1).FirstOrDefault(); + if (areaInfo != null) + { + var locList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0).OrderBy(a => a.N_ROW).OrderByDescending(a => a.N_COL).Take(1).PartitionBy(a => a.N_ROW).Includes(a => a.LocCntrRel).ToList(); + if(locList.Count > 0) + { + foreach(var a in locList) + { + int row = a.N_ROW; + var lockInfo = db.Queryable<Location>().Where(b => b.S_AREA_CODE == areaInfo.areaCode && b.N_ROW == row && b.S_LOCK_STATE.Contains("閿�)).First(); + if(lockInfo == null) + { + result = a; + break; + } + } + } + } + else + { + LogHelper.Info("鐡惰儦闈炲嵆浜х┖妗嗘湭閰嶇疆"); + } } + return result; } @@ -1469,55 +1500,59 @@ LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱被鍨嬶細{taskName}锛岀墿鏂欑紪鐮侊細{itemCode}"); if (taskName.Contains("鍗充骇")) { - //鍗充骇鍗崇敤宸ュ崟锛屼笅绾垮埌鍗充骇鍗崇敤搴撳尯 - //鍗充骇鍗崇敤搴撳尯鏈変袱涓嚎杈瑰簱锛屽鏋滃嵆浜у嵆鐢ˋ搴撳尯婊★紝鍒欐斁鍒板嵆浜у嵆鐢˙搴撳尯,鑻ュ嵆浜у嵆鐢ㄥ簱鍖洪兘婊★紝鍒欐斁鍒扮摱鍧簱鍖�- var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂鍗充骇鍗崇敤A" && a.enable == 1).FirstOrDefault(); + //娉ㄥ鏈烘�浜у嵆鐢ㄤ笅绾匡紝棣栧厛涓嬬嚎鍒板嵆浜у嵆鐢ㄦ弧妗嗙嚎杈癸紝婊$湺绾胯竟婊′簡锛屼笅鍒板嵆浜у嵆鐢ㄦ弧妗嗙紦瀛樺尯锛屾弧妗嗙紦瀛樺尯婊′簡锛屼笅鍒板叆搴撴帴椹冲爢鍙犱綅 + 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 < a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).OrderBy(a => a.N_COL).First(); + 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(locInfo != null) { result = locInfo; } - } else { - LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鍧嵆浜у嵆鐢ˋ 鏈厤缃�); + LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鑳氬嵆浜ф弧妗�鏈厤缃�); } if (result == null) { - result = TaskProcess.BCPInOrOut(db, true, "鐡跺澂鍗充骇鍗崇敤B", itemCode); + result = TaskProcess.BCPInOrOut(db, true, "鐡惰儦鍗充骇婊℃缂撳瓨鍖�, itemCode); } if(result == null) { - result = TaskProcess.BCPInOrOut(db, true, "鐡跺澂搴撳尯", itemCode); + //result = TaskProcess.BCPInOrOut(db, true, "鐡跺澂搴撳尯", itemCode); + result = getJBLoc(db, result); } } else { - //闈炲嵆浜у嵆鐢ㄥ伐鍗曪紝涓嬬嚎鍒伴潪鍗充骇鍗崇敤搴撳尯 - //闈炲嵆浜у嵆鐢ㄥ簱鍖哄彧鏈変竴涓嚎杈瑰簱锛屽鏋滅嚎杈瑰簱婊★紝鍒欐斁鍒扮摱鍧簱鍖�- 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 < a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).OrderBy(a => a.N_COL).First(); - if (locInfo != null) - { - result = locInfo; - } + result = getJBLoc(db, result); + } + return result; + } + private static Location getJBLoc(SqlSugarClient db, Location result) + { + //娉ㄥ鏈洪潪鍗充骇鍗崇敤涓嬬嚎锛屼笅鍒板叆搴撴帴椹冲爢鍙犱綅 + 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 < a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).OrderBy(a => a.N_COL).First(); + if (locInfo != null) + { + result = locInfo; } else { - LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鍧潪鍗充骇鍗崇敤 鏈厤缃�); - } - if (result == null) - { - result = TaskProcess.BCPInOrOut(db, true, "鐡跺澂搴撳尯", itemCode); + LogHelper.Info("鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鍧叆搴撴帴椹充綅鏆傛椂鏈煡璇㈠埌鍙敤璐т綅"); } } + else + { + LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鑳氬叆搴撴帴椹�鏈厤缃�); + } + return result; } @@ -2472,5 +2507,7 @@ } } } + + } } -- Gitblit v1.9.1