From 1b4deb836c68efb689e13d3512888ae04fc99f09 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期五, 11 七月 2025 17:26:12 +0800 Subject: [PATCH] 11 --- HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 111 insertions(+), 2 deletions(-) diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs index 8bf9e63..fd850f0 100644 --- a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs +++ b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs @@ -1306,6 +1306,10 @@ .ToList(); if (locInfo.Count > 0) { + if(areaName == "鐡跺澂鍗充骇婊℃缂撳瓨") + { + locInfo = locInfo.Where(a => a.N_ROW == 1 || a.N_ROW == 2).ToList(); + } LogHelper.Info($"鍏ュ簱绠楁硶02:鏌ヨ鍒板彲鍏ヨ揣浣嶇殑鏁伴噺涓猴細{locInfo.Count}"); foreach (var a in locInfo) { @@ -1437,6 +1441,10 @@ var locList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == it.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) { + if(areaName == "鐡跺澂鍗充骇婊℃缂撳瓨" && string.IsNullOrEmpty(itemCode)) + { + locList = locList.Where(a => a.N_ROW == 3).ToList(); + } LogHelper.Info($"鍑哄簱绠楁硶02:鏌ヨ鍒板彲鍑鸿揣浣嶆暟閲忥細{locList.Count}"); foreach (var a in locList) { @@ -1629,7 +1637,60 @@ { LogHelper.Info($"{endAreaName}鏈厤缃�); } - + if(result == null) + { + if(endAreaName == "缈绘枟鏈哄簱瀛樼┖鎵樹笅绾匡紙鐡跺澂锛�) + { + //鐡跺澂闈炲嵆浜х┖鎵樹笅绾�濡傛灉闈炲嵆浜х┖妗嗗簱鍖烘棤娉曞叆搴擄紝鍒欎笅绾垮埌鐡跺澂鍗充骇婊℃缂撳瓨 4 5 鎺�+ 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_ROW == 4 || a.N_ROW == 5) && a.N_CURRENT_NUM == 0).OrderBy(a => a.N_ROW).OrderBy(a => a.N_COL).Take(1).PartitionBy(a => a.N_ROW).ToList(); + if (locList.Count > 0) + { + foreach (var a in locList) + { + var rowInfo = db.Queryable<RowLock>().Where(b => b.S_AREA_CODE == a.S_AREA_CODE && b.S_ROW == a.S_ROW && a.S_LOCK_STATE == "鏃�).First(); + if (rowInfo != null && a.S_LOCK_STATE == "鏃�) + { + result = a; + break; + } + + } + } + } + else + { + LogHelper.Info("鐡跺澂鍗充骇婊℃缂撳瓨鏈厤缃�); + } + } + if(endAreaName == "缈绘枟鏈哄嵆浜х┖鎵樹笅绾匡紙鐡跺澂锛�) + { + //鐡跺澂鍗充骇绌烘墭涓嬬嚎 濡傛灉鍗充骇绌烘搴撳尯鏃犳硶鍏ュ簱锛屽垯涓嬬嚎鍒扮摱鍧嵆浜ф弧妗嗙紦瀛�3 鎺�+ 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_ROW == 3 && a.N_CURRENT_NUM == 0).OrderBy(a => a.N_COL).First(); + if (locInfo != null ) + { + var rowInfo = db.Queryable<RowLock>().Where(b => b.S_AREA_CODE == locInfo.S_AREA_CODE && b.S_ROW == locInfo.S_ROW && locInfo.S_LOCK_STATE == "鏃�).First(); + if (rowInfo != null && locInfo.S_LOCK_STATE == "鏃�) + { + result = locInfo; + } + } + } + else + { + LogHelper.Info("鐡跺澂鍗充骇婊℃缂撳瓨鏈厤缃�); + } + if(result == null) + { + BCPEmptyOut(db, "缈绘枟鏈哄簱瀛樼┖鎵樹笅绾匡紙鐡跺澂锛�); + } + } + } return result; } @@ -1865,7 +1926,23 @@ { var cir = new LocCntrRel { S_LOC_CODE = loc, S_CNTR_CODE = cntrCode, S_SRC = deviceName }; if (db.Insertable<LocCntrRel>(cir).ExecuteCommand() > 0) LogHelper.Info($"璐т綅瀹瑰櫒琛ㄧ粦瀹氭垚鍔燂紝璐т綅鍙凤細{loc}锛屾墭鐩樺彿锛歿cntrCode}"); - BindCntrItem(cntrCode, itemCode, batchNo, itemlayer); + var Con = db.Queryable<Container>().Where(a => a.S_CODE == cntrCode).First(); + if(Con == null) + { + if(db.Insertable<Container>(new Container + { + S_CODE = cntrCode, + N_TYPE = 1, + N_DETAIL_COUNT = 1 + }).ExecuteCommand() > 0) + { + LogHelper.Info($"瀹瑰櫒琛ㄧ粦瀹氭垚鍔燂紝鎵樼洏鍙凤細{cntrCode}"); + } + } + if (!string.IsNullOrEmpty(itemCode)) + { + BindCntrItem(cntrCode, itemCode, batchNo, itemlayer); + } } } }); @@ -2378,6 +2455,38 @@ } } + /// <summary> + /// 璁$畻鐡跺澂闈炲嵆浜х┖鎵樿捣鐐�+ /// </summary> + /// <returns></returns> + internal static Location FJCKTLoc() + { + var db = new SqlHelper<object>().GetInstance(); + Location result = null; + //鍦ㄧ摱鍧嵆浜ф弧妗�鏌ヨ 4 5涓ゆ帓鐨勭┖妗�+ 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_ROW == 4 || a.N_ROW == 5) && a.N_CURRENT_NUM > 0).OrderBy(a => a.N_ROW).OrderByDescending(a => a.N_COL).Take(1).PartitionBy(a => a.N_ROW).ToList(); + if(locList.Count > 0) + { + foreach (var a in locList) + { + var rowInfo = db.Queryable<RowLock>().Where(b => b.S_AREA_CODE == a.S_AREA_CODE && b.S_ROW == a.S_ROW && b.S_LOCK_STATE == "鏃�).First(); + if(rowInfo != null && a.S_LOCK_STATE == "鏃�) + { + result = a; + break; + } + } + } + } + if(result == null) + { + result = TaskProcess.BCPInOrOut(db, false, "鐡跺澂搴撳尯", ""); + } + return result; + } } } -- Gitblit v1.9.1