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/HH.WCS.Mobox3.NFLZ.csproj |    1 
 HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs  |   15 ++++++-
 HH.WCS.Mobox3.NongFuLinZhi/util/Settings.cs          |   11 +++++
 HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs    |   14 +++++-
 HH.WCS.Mobox3.NongFuLinZhi/config/config.json        |    6 +++
 HH.WCS.Mobox3.NongFuLinZhi/models/LocationExt.cs     |   27 +++++++++++++
 HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs           |   12 +++++
 7 files changed, 79 insertions(+), 7 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj b/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj
index 82d7a29..c3b041a 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj
+++ b/HH.WCS.Mobox3.NongFuLinZhi/HH.WCS.Mobox3.NFLZ.csproj
@@ -159,6 +159,7 @@
     <Compile Include="dispatch\HanAo.cs" />
     <Compile Include="core\Monitor.cs" />
     <Compile Include="dispatch\NDCApi.cs" />
+    <Compile Include="models\LocationExt.cs" />
     <Compile Include="models\SegmentTable.cs" />
     <Compile Include="models\RowComparsionTable.cs" />
     <Compile Include="models\RowLock.cs" />
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/config/config.json b/HH.WCS.Mobox3.NongFuLinZhi/config/config.json
index 81ea337..aaa035d 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/config/config.json
+++ b/HH.WCS.Mobox3.NongFuLinZhi/config/config.json
@@ -66,5 +66,11 @@
             "Extend": [ "", "" ],
             "enable": 1
         }
+    ],
+    "DXSite": [
+        {
+            "loc": "1",
+            "site": 1
+        }
     ]
 }
\ No newline at end of file
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs
index 3eb085f..a788b46 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs
@@ -65,7 +65,17 @@
                                 var endinfo = db.Queryable<Location>().Where(it => it.S_CODE == end.S_CODE).First();
                                 int startLayer = startinfo.N_CURRENT_NUM;
                                 int endlayer = endinfo.N_CURRENT_NUM + 1;
-                                if (a.S_OP_DEF_NAME == "鎺ラ┏浣嶅叆搴� || a.S_OP_DEF_NAME == "鐡剁洊绌烘墭鍏ュ簱" || a.S_OP_DEF_NAME == "鐡跺澂闈炴�浜цˉ婊℃" || a.S_OP_DEF_NAME == "鐡剁洊闈炴�浜цˉ婊℃")
+                                if(a.S_OP_DEF_NAME == "鐡跺澂闈炴�浜цˉ婊℃" || a.S_OP_DEF_NAME == "鐡剁洊闈炴�浜цˉ婊℃" || a.S_OP_DEF_NAME == "鐡跺澂闈炴�浜цˉ绌烘" || a.S_OP_DEF_NAME == "鐡剁洊闈炴�浜цˉ绌烘")
+                                {
+                                    startLayer = 1;
+                                    endlayer = Settings.dXSites.Where(it => it.loc == a.S_END_LOC).First().site;
+                                }
+                                if(a.S_OP_DEF_NAME == "娉ㄥ鍗充骇婊℃墭涓嬬嚎锛堢摱鍧級")
+                                {
+                                    endlayer = Settings.dXSites.Where(it => it.loc == a.S_END_LOC).First().site;
+                                }
+
+                                if (a.S_OP_DEF_NAME == "鎺ラ┏浣嶅叆搴� || a.S_OP_DEF_NAME == "鐡剁洊绌烘墭鍏ュ簱")
                                 {
                                     startLayer = 1;
                                     endlayer = 1;
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/models/LocationExt.cs b/HH.WCS.Mobox3.NongFuLinZhi/models/LocationExt.cs
new file mode 100644
index 0000000..6756fa3
--- /dev/null
+++ b/HH.WCS.Mobox3.NongFuLinZhi/models/LocationExt.cs
@@ -0,0 +1,27 @@
+using HH.WCS.Mobox3.NFLZ.models;
+using SqlSugar;
+using System;
+
+namespace HH.WCS.Mobox3.NFLZ {
+
+    [SugarTable("LocationExt")]
+    public class LocationExt : BaseModel 
+    {
+        /// <summary>
+        /// 璐т綅
+        /// </summary>
+        public string S_LOC_CODE { get; set; }
+        /// <summary>
+        /// 灞傛暟
+        /// </summary>
+        public int N_LAYER { get; set; }
+        /// <summary>
+        /// agv绔欑偣
+        /// </summary>
+        public string S_AGV_SITE { get; set; }
+        /// <summary>
+        /// 鏍囪瘑
+        /// </summary>
+        public string S_PICKUP_POINT { get; set; }
+    }
+}
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
index f061deb..18f2d22 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/process/DeviceProcess.cs
@@ -708,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();
@@ -716,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;
         }
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
index 068ddfe..84f4f6a 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/process/TaskProcess.cs
@@ -715,7 +715,7 @@
                 string startArea = "";
                 LinZhiBCPWorkOrder bcpW = null;
                 bcpW = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_WorkNo == mst.S_WORK_NO && a.S_WorkState == "鎵ц涓�).First();
-
+                LogHelper.Info($"婊℃墭浠诲姟鐢熸垚澶勭悊,宸ュ崟锛歿JsonConvert.SerializeObject(bcpW)}");
                 if (mst.S_TYPE.Contains("鐡剁洊"))
                 {
                     //鐡剁洊鏃犲嵆浜у嵆鐢ㄥ拰闈炲嵆浜у嵆鐢�@@ -1101,8 +1101,16 @@
                         TsNo = 1;
                         // 鍧洊浠诲姟涓嬪彂鍙傛暟鑾峰彇
                         // 鑾峰彇璧风粓鐐圭殑AGV绔欑偣
-                        Extend1 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_START_LOC && a.N_LAYER == mst.N_START_LAYER).First().S_AGV_SITE;
-                        Extend2 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_END_LOC && a.N_LAYER == mst.N_END_LAYER).First().S_AGV_SITE;
+                        Extend1 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_START_LOC).First().S_AGV_SITE;
+                        Extend2 = db.Queryable<Location>().Where(a => a.S_CODE == mst.S_END_LOC).First().S_AGV_SITE;
+                        if (mst.N_START_LAYER > 1)
+                        {
+                            Extend1 = db.Queryable<LocationExt>().Where(a => a.S_LOC_CODE == mst.S_START_LOC && a.N_LAYER == mst.N_START_LAYER).First().S_AGV_SITE;
+                        }
+                        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;
+                        }
                         Extend3 = "0";
                         // 鑾峰彇 浠诲姟鍙傛暟4 DATA 鏁版嵁
                         string startLayerValue = Convert.ToString(startLayer, 16).ToUpper();
diff --git a/HH.WCS.Mobox3.NongFuLinZhi/util/Settings.cs b/HH.WCS.Mobox3.NongFuLinZhi/util/Settings.cs
index 193c667..c9cae19 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/util/Settings.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/util/Settings.cs
@@ -24,6 +24,7 @@
         public static List<pPZSJSite> pPZSJSites { get; set; } = new List<pPZSJSite>();
         public static List<thirdPartyUrl> thirdPartyUrls { get; set; } = new List<thirdPartyUrl>();
         public static List<httpApiVerify> httpApiVerifys { get; set; } = new List<httpApiVerify>();
+        public static List<dXSite> dXSites { get; set; } = new List<dXSite>();
 
         public static int port { get; set; }
         public static string WHCode { get; set; }
@@ -108,6 +109,10 @@
                             {
                                 httpApiVerifys = JsonConvert.DeserializeObject<List<httpApiVerify>>(keyValue.Value.ToString());
                             }
+                            if (keyValue.Name == "DXSite")
+                            {
+                                dXSites = JsonConvert.DeserializeObject<List<dXSite>>(keyValue.Value.ToString());
+                            }
                         }
                     }
                 }
@@ -126,6 +131,12 @@
             public string Project { get; set; }
             public string[] Extend { get; set; }
             public int enable { get; set; }
+        }   
+
+        public class dXSite
+        {
+            public string loc { get; set; }
+            public int site { get; set; }
         }           
         public class thirdPartyUrl
         {

--
Gitblit v1.9.1