From c258d3f29d6849270460f50de01af36aca8c2225 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期五, 04 七月 2025 17:26:29 +0800
Subject: [PATCH] 11

---
 HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs |   59 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
index e604cac..97110a5 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
@@ -684,7 +684,7 @@
             if (mst.S_TYPE.Contains("婊℃墭涓嬬嚎"))
             {
                 LogHelper.Info($"绌烘墭浠诲姟鐢熸垚澶勭悊锛屼换鍔$被鍨嬶細{mst.S_TYPE}");
-                string areaName = mst.S_TYPE.Contains("搴撳瓨") ? "鐡惰儦闈炲嵆浜х┖妗� : "鐡惰儦鍗充骇绌烘";
+                string areaName = mst.S_TYPE.Contains("搴撳瓨") ? "鐡跺澂闈炲嵆浜х┖妗� : "鐡跺澂鍗充骇绌烘";
                 var areaInfo = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).First();
                 if(areaInfo != null)
                 {
@@ -729,14 +729,14 @@
                 {
                     if (bcpW.S_UsingNow == "Y")
                     {
-                        LogHelper.Info($"鐡惰儦鍗充骇婊℃ 鏌ユ壘");
-                        startArea = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦鍗充骇婊℃" && a.enable == 1).FirstOrDefault().areaCode;
+                        LogHelper.Info($"鐡跺澂鍗充骇婊℃ 鏌ユ壘");
+                        startArea = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂鍗充骇婊℃" && a.enable == 1).FirstOrDefault().areaCode;
                         startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea);
                     }
                     else
                     {
-                        LogHelper.Info($"鐡惰儦缈绘枟鏈洪潪鍗充骇婊℃ 鏌ユ壘");
-                        string areaName = bcpW.S_PLineNo.Split('-')[1].Substring(0, 1) + "鍙风摱鑳氱炕鏂楁満闈炲嵆浜ф弧妗�;
+                        LogHelper.Info($"鐡跺澂缈绘枟鏈洪潪鍗充骇婊℃ 鏌ユ壘");
+                        string areaName = bcpW.S_PLineNo.Split('-')[1].Substring(0, 1) + "鍙风摱鍧炕鏂楁満闈炲嵆浜ф弧妗�;
                         startArea = Settings.areaInfos.Where(a => a.areaName == areaName && a.enable == 1).FirstOrDefault().areaCode;
                         startLoca = DeviceProcess.getFDSXArea(db, bcpW, startArea);
                     }
@@ -1109,8 +1109,13 @@
                         }
                         if (mst.N_END_LAYER > 1)
                         {
-                            Extend2 = db.Queryable<LocationExt>().Where(a => a.S_LOC_CODE == mst.S_START_LOC && a.N_LAYER == mst.N_END_LAYER).First().S_AGV_SITE;
+                            Extend2 = db.Queryable<LocationExt>().Where(a => a.S_LOC_CODE == mst.S_END_LOC && a.N_LAYER == mst.N_END_LAYER).First().S_AGV_SITE;
                         }
+                        if(mst.S_TYPE == "鐡跺澂闈炴�浜цˉ婊℃" || mst.S_TYPE == "鐡剁洊闈炴�浜цˉ婊℃" || mst.S_TYPE == "鐡跺澂闈炴�浜цˉ绌烘" || mst.S_TYPE == "鐡剁洊闈炴�浜цˉ绌烘" || mst.S_TYPE == "娉ㄥ鍗充骇婊℃墭涓嬬嚎锛堢摱鍧級")
+                        {
+                            Extend2 = Settings.dXSites.Where(it => it.loc == mst.S_END_LOC).First().site.ToString();
+                        }
+
                         Extend3 = "0";
                         // 鑾峰彇 浠诲姟鍙傛暟4 DATA 鏁版嵁
                         string startLayerValue = Convert.ToString(startLayer, 16).ToUpper();
@@ -1285,7 +1290,7 @@
             if (action)
             {
                 //鐡剁洊搴撳尯锛屼袱灞傚瘑闆嗗瀷搴撳尯  绌烘弧鍦ㄥ悓涓�釜搴撳尯锛岄渶瑕佸尯鍒嗕笉鍚屾帓
-                var areaInfo = Settings.areaInfos.Where(a => a.areaName.Contains(areaName) && a.enable == 1).OrderBy(a => a.pri).ToList();
+                var areaInfo = Settings.areaInfos.Where(a => a.areaName.Contains(areaName) && a.enable == 1).OrderByDescending(a => a.pri).ToList();
                 if (areaInfo.Count > 0)
                 {
                     foreach(var it in areaInfo)
@@ -1423,7 +1428,7 @@
             }
             else
             {
-                var areaInfo = Settings.areaInfos.Where(a => a.areaName.Contains(areaName) && a.enable == 1).OrderBy(a => a.pri).ToList();
+                var areaInfo = Settings.areaInfos.Where(a => a.areaName.Contains(areaName) && a.enable == 1).OrderByDescending(a => a.pri).ToList();
                 if(areaInfo.Count > 0)
                 {
                     foreach(var it in areaInfo)
@@ -1487,7 +1492,7 @@
             if(usingNow == "Y")
             {
                 //鍗充骇鍗崇敤
-                var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦鍗充骇绌烘" && 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 > 0 && a.S_LOCK_STATE == "鏃�).Includes(a => a.LocCntrRel).First();
@@ -1498,13 +1503,13 @@
                 }
                 else
                 {
-                    LogHelper.Info("鐡惰儦鍗充骇绌烘鏈厤缃�);
+                    LogHelper.Info("鐡跺澂鍗充骇绌烘鏈厤缃�);
                 }
             }
             else
             {
                 //闈炲嵆浜у嵆鐢�-                var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦闈炲嵆浜х┖妗� && a.enable == 1).FirstOrDefault();
+                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();
@@ -1524,7 +1529,7 @@
                 }
                 else
                 {
-                    LogHelper.Info("鐡惰儦闈炲嵆浜х┖妗嗘湭閰嶇疆");
+                    LogHelper.Info("鐡跺澂闈炲嵆浜х┖妗嗘湭閰嶇疆");
                 }
             }
             
@@ -1546,7 +1551,7 @@
             if (taskName.Contains("鍗充骇"))
             {
                 //娉ㄥ鏈烘�浜у嵆鐢ㄤ笅绾匡紝棣栧厛涓嬬嚎鍒板嵆浜у嵆鐢ㄦ弧妗嗙嚎杈癸紝婊$湺绾胯竟婊′簡锛屼笅鍒板嵆浜у嵆鐢ㄦ弧妗嗙紦瀛樺尯锛屾弧妗嗙紦瀛樺尯婊′簡锛屼笅鍒板叆搴撴帴椹冲爢鍙犱綅
-                var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦鍗充骇婊℃" && 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_ROW).First();
@@ -1557,11 +1562,11 @@
                 }
                 else
                 {
-                    LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鑳氬嵆浜ф弧妗�鏈厤缃�);
+                    LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鍧嵆浜ф弧妗�鏈厤缃�);
                 }
                 if (result == null)
                 {
-                    result = TaskProcess.BCPInOrOut(db, true, "鐡惰儦鍗充骇婊℃缂撳瓨", itemCode);
+                    result = TaskProcess.BCPInOrOut(db, true, "鐡跺澂鍗充骇婊℃缂撳瓨", itemCode);
                 }
                 if(result == null)
                 {
@@ -1578,7 +1583,7 @@
         private static Location getJBLoc(SqlSugarClient db, Location result)
         {
             //娉ㄥ鏈洪潪鍗充骇鍗崇敤涓嬬嚎锛屼笅鍒板叆搴撴帴椹冲爢鍙犱綅
-            var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦鍏ュ簱鎺ラ┏" && 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();
@@ -1593,7 +1598,7 @@
             }
             else
             {
-                LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鑳氬叆搴撴帴椹�鏈厤缃�);
+                LogHelper.Info($"鐡跺澂娉ㄥ婊℃墭涓嬬嚎锛氱摱鍧叆搴撴帴椹�鏈厤缃�);
             }
 
             return result;
@@ -1610,7 +1615,7 @@
         {
             Location result = null;
 
-            string endAreaName = taskName.Contains("鐡剁洊") ? "鐡剁洊闈炲嵆浜х┖妗� : taskName.Contains("搴撳瓨") ? "鐡惰儦闈炲嵆浜х┖妗� : "鐡惰儦鍗充骇绌烘";
+            string endAreaName = taskName.Contains("鐡剁洊") ? "鐡剁洊闈炲嵆浜х┖妗� : taskName.Contains("搴撳瓨") ? "鐡跺澂闈炲嵆浜х┖妗� : "鐡跺澂鍗充骇绌烘";
             var areaInfo = Settings.areaInfos.Where(a => a.areaName == endAreaName && a.enable == 1).FirstOrDefault();
             if (areaInfo != null)
             {
@@ -1860,7 +1865,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);
+                        }
                     }
                 }
             });

--
Gitblit v1.9.1