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/core/WMSCore.cs |  104 ++++++++++++++++------------------------------------
 1 files changed, 32 insertions(+), 72 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs
index 8977c7f..a788b46 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/core/WMSCore.cs
@@ -35,84 +35,16 @@
         }
 
         /// <summary>
-        /// 閬嶅巻鍒嗘嫞鍗曟槑缁嗗垱寤哄嚭搴撲綔涓�-        /// </summary>
-        internal static void CheckSortingTask()
-        {
-            var db = new SqlHelper<object>().GetInstance();
-            //new SortingOrder().N_B_STATE
-            //閬嶅巻N_B_STATE = 3鐨勫垎鎷e崟鍒涘缓浣滀笟
-            //鎴�閬嶅巻鍒嗘嫞鍗曟槑缁嗗垱寤哄垎鎷d綔涓氾紝鍥犱负涓�釜鍒嗘嫞鍗曢噷闈㈢殑鏄庣粏閮芥槸鎵归噺鐢熸垚鐨�-            var list = WMSHelper.GetWaitingSortingOperationList();
-            LogHelper.Info($"鑾峰彇閰嶇洏鏁伴噺 {list.Count}");
-            if (list.Count > 0)
-            {
-                list.ForEach(a =>
-                {
-                    var startloc = db.Queryable<Location>().Where(it => it.S_CODE == a.S_LOC_CODE).First();
-                    if (startloc != null && startloc.S_LOCK_STATE == "鍏跺畠閿�)
-                    {
-
-                        Location endbit = null;
-                      
-                        //璁$畻鎵樼洏杩涜鍑哄簱
-
-                        if (endbit != null)
-                        {
-                            var optask = new WMSTask
-                            {
-                                S_CODE = WMSHelper.GenerateTaskNo(),
-                                S_START_LOC = a.S_LOC_CODE,
-                                S_START_AREA = startloc.S_AREA_CODE,
-                                S_START_WH = startloc.S_WH_CODE,
-                                S_END_LOC = endbit.S_CODE,
-                                S_END_AREA = endbit.S_AREA_CODE,
-                                S_END_WH = endbit.S_WH_CODE,
-                                S_STATION_LOC = a.S_OUT_TO,
-                                S_TYPE = "鍑哄簱",
-                                N_TYPE = 2,
-                                N_B_STATE = 0,
-                                S_CNTR_CODE = a.S_CNTR_CODE,
-                                S_OP_DEF_NAME = a.S_BS_TYPE
-                            };
-                            var note = Settings.Tasktypes.Where(it => it.StartArea == optask.S_START_AREA && it.EndArea == optask.S_END_AREA).FirstOrDefault();
-                            if (note != null)
-                            {
-                                optask.S_NOTE = note.TaskType;
-                            }
-                            var res = db.Insertable(optask).ExecuteCommand() > 0;
-                            if (res)
-                            {
-                                startloc.N_LOCK_STATE = 2;
-                                startloc.S_LOCK_STATE = "鍑哄簱閿�;
-                                db.Updateable(startloc).UpdateColumns(it => new { it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand();
-                                LocationHelper.LockLoc(endbit.S_CODE, 1);
-                                a.N_B_STATE = 2;
-                                a.S_B_STATE = "浣滀笟鍚姩";
-                                db.Updateable(a).UpdateColumns(it => new { it.S_B_STATE, it.N_B_STATE }).ExecuteCommand();
-                            }
-                        }
-                        else LogHelper.Info($"閰嶇洏 鏈壘鍒板彲鐢ㄥ垎鎷h揣浣�);
-                    }
-                    else LogHelper.Info($"閰嶇洏 鏈壘鍒板嚭搴撳彛搴撳尯缂栫爜{a.S_EXIT_AREA_CODE} 瀵瑰簲鐨勯厤缃枃浠�);
-
-                });
-            }
-
-
-        }
-
-        /// <summary>
         /// 浣滀笟鍚姩锛屽垱寤哄瓙浠诲姟
         /// </summary>
         internal static void Start()
         {
-            LogHelper.Info($"浣滀笟鍚姩 鍒涘缓瀛愪换鍔�);
+            //LogHelper.Info($"浣滀笟鍚姩 鍒涘缓瀛愪换鍔�);
             var db = new SqlHelper<object>().GetInstance();
             List<WMSTask> list = WMSHelper.GetWaitingOperationList();
-            LogHelper.Info($"鑾峰彇浠诲姟鏁版嵁 鏁伴噺{list.Count}");
             if (list.Count > 0)
             {
+                LogHelper.Info($"鑾峰彇浠诲姟鏁版嵁 鏁伴噺{list.Count}");
                 //濡傛灉鏄嚭搴撶殑浣滀笟閿佸畾鎵樼洏鐨勬椂鍊欏凡缁忔槑纭捣鐐逛簡锛屽鏋滃彂璐у崟鎴栧垎鎷e崟鎸囧畾浜嗙粓鐐癸紝
                 //濡傛灉娌℃湁浣滀笟銆佷换鍔$殑椤哄簭闄愬埗灏卞彲浠ュ惎鍔紝鍒涘缓瀛愪换鍔′簡
                 foreach (var a in list)
@@ -131,6 +63,23 @@
                                 LocationHelper.LockLoc(end.S_CODE, 1);
                                 var startinfo = db.Queryable<Location>().Where(it => it.S_CODE == a.S_START_LOC).First();
                                 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 == "鐡剁洊闈炴�浜цˉ绌烘")
+                                {
+                                    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;
+                                }
                                 var wcsTask = new WCSTask
                                 {
                                     S_OP_CODE = a.S_CODE,
@@ -144,10 +93,15 @@
                                     S_END_AREA = endinfo.S_AREA_CODE,
                                     S_END_WH = endinfo.S_WH_CODE,
                                     S_SCHEDULE_TYPE = "NDC",
+                                    S_WORK_MODE = "agv",
                                     N_CNTR_COUNT = 1,
                                     S_CNTR_CODE = a.S_CNTR_CODE,
                                     N_START_LAYER = startinfo.N_CURRENT_NUM,
-                                    N_END_LAYER = endinfo.N_CURRENT_NUM + 1
+                                    N_END_LAYER = endinfo.N_CURRENT_NUM + 1,
+                                    S_TRAY_TYPE = a.S_TRAY_TYPE,
+                                    S_WORK_NO = a.S_WORK_NO,
+                                    S_ITEM_CODE = a.S_ITEM_CODE,
+                                    S_NOTE = a.S_NOTE
                                 };
                                 if (WCSHelper.CreateTask(wcsTask))
                                 {
@@ -188,11 +142,17 @@
                                     S_END_AREA = endinfo.S_AREA_CODE,
                                     S_END_WH = endinfo.S_WH_CODE,
                                     S_SCHEDULE_TYPE = "NDC",
+                                    S_WORK_MODE = "agv",
                                     N_CNTR_COUNT = 1,
                                     S_CNTR_CODE = a.S_CNTR_CODE,
                                     N_START_LAYER = startinfo.N_CURRENT_NUM,
-                                    N_END_LAYER = endinfo.N_CURRENT_NUM + 1
+                                    N_END_LAYER = endinfo.N_CURRENT_NUM + 1,
+                                    S_TRAY_TYPE = a.S_TRAY_TYPE,
+                                    S_WORK_NO = a.S_WORK_NO,
+                                    S_ITEM_CODE = a.S_ITEM_CODE,
+                                    S_NOTE = a.S_NOTE
                                 };
+                                
 
                                 if (WCSHelper.CreateTask(wcsTask))
                                 {

--
Gitblit v1.9.1