From 8361a150d223eb6d4935b5e2e97811055b35d9c2 Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期一, 16 六月 2025 17:33:13 +0800
Subject: [PATCH] 创建任务修改

---
 wms/TaskHelper.cs |  201 ++++++++++++++++++++++++++------------------------
 1 files changed, 105 insertions(+), 96 deletions(-)

diff --git a/wms/TaskHelper.cs b/wms/TaskHelper.cs
index 489a7b9..e26dd41 100644
--- a/wms/TaskHelper.cs
+++ b/wms/TaskHelper.cs
@@ -219,6 +219,7 @@
                     CreateOneTask(operation);
                     break;
                 case 7:
+                    //鍑哄簱涓ゆ浠诲姟
                     CreateOutTowTask(operation);
                     break;
                 case 9:
@@ -437,107 +438,115 @@
 
             var ConnectionLoc = LocationHelper.GetLocOne(operation.CONNECTION);
 
-
-            // 浠诲姟1
-            var task1 = new WMSTask()
+            var count = LocationHelper.GetConnectionTaskCount(operation.CONNECTION);
+            LogHelper.Info($"CreateOneTask 浣滀笟:{operation.S_CODE},鎺ラ┏浣�{operation.CONNECTION}锛屼换鍔℃暟閲忥細{count}", "浠诲姟");
+            if (count<4)
             {
-                // 浣滀笟缂栫爜
-                S_OP_CODE = operation.S_CODE,
-                // 浠诲姟鍙�-                S_CODE = operation.S_CODE + "_1",
-                // 浠诲姟绫诲瀷
-                N_TYPE = operation.N_TYPE,
-                // 浠诲姟绫诲瀷
-                S_TYPE = operation.S_TYPE,
-                // 璧风偣璐т綅
-                S_START_LOC = operation.S_START_LOC,
-                // 璧风偣搴撳尯
-                S_START_AREA = operation.S_START_AREA,
-                // 缁堢偣璐т綅
-                S_END_LOC = operation.CONNECTION,
-                // 缁堢偣搴撳尯
-                S_END_AREA = ConnectionLoc.S_AREA_CODE,
-                // 璁惧绫诲瀷
-                N_SCHEDULE_TYPE = 2,
-                // 璁惧绫诲瀷
-                S_SCHEDULE_TYPE = "wcs",
-                // 瀹瑰櫒缂栫爜
-                S_CNTR_CODE = operation.S_CNTR_CODE,
-                //浠诲姟鐘舵�
-                S_B_STATE = "鏈墽琛�,
-                // 浼樺厛绾�-                N_PRIORITY = operation.N_PRIORITY,
-                //宸ヨ绫诲瀷
-                TOOLSTYPE = operation.TOOLSTYPE,
-                //璧风偣搴撳尯鍚嶇О
-                S_START_AREA_NAME = operation.S_START_AREA_NAME,
-                //缁堢偣搴撳尯鍚嶇О
-                S_END_AREA_NAME = operation.CONNECTION_AREA,
-            };
 
-            // 浠诲姟2
-            var task2 = new WMSTask()
-            {
-                // 浣滀笟缂栫爜
-                S_OP_CODE = operation.S_CODE,
-                // 浠诲姟鍙�-                S_CODE = operation.S_CODE + "_2",
-                // 浠诲姟绫诲瀷
-                N_TYPE = operation.N_TYPE,
-                // 浠诲姟绫诲瀷
-                S_TYPE = operation.S_TYPE,
-                // 璧风偣璐т綅
-                S_START_LOC = operation.CONNECTION,
-                // 璧风偣搴撳尯
-                S_START_AREA = ConnectionLoc.S_AREA_CODE,
-                // 缁堢偣璐т綅
-                S_END_LOC = operation.S_END_LOC,
-                // 缁堢偣搴撳尯
-                S_END_AREA = operation.S_END_AREA,
-                // 璁惧绫诲瀷
-                N_SCHEDULE_TYPE = 3,
-                // 璁惧绫诲瀷
-                S_SCHEDULE_TYPE = "agv",
-                // 瀹瑰櫒缂栫爜
-                S_CNTR_CODE = operation.S_CNTR_CODE,
-                //浠诲姟鐘舵�
-                S_B_STATE = "鏈墽琛�,
-                // 浼樺厛绾�-                N_PRIORITY = operation.N_PRIORITY,
-                //宸ヨ绫诲瀷
-                TOOLSTYPE = operation.TOOLSTYPE,
-                //璧风偣搴撳尯鍚嶇О
-                S_START_AREA_NAME = operation.CONNECTION_AREA,
-                //缁堢偣搴撳尯鍚嶇О
-                S_END_AREA_NAME = operation.S_END_AREA_NAME,
-            };
-
-            try
-            {
-                // 淇敼浣滀笟鐘舵�涓烘墽琛屼腑
-                operation.N_B_STATE = 1;
-                operation.S_B_STATE = "鎵ц";
-
-                if (CreateTask(task1) && CreateTask(task2))
+                // 浠诲姟1
+                var task1 = new WMSTask()
                 {
-                    LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2);
-                    LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1);
-                    LocationHelper.LockLoc(operation.CONNECTION, "鍏ュ簱閿�, 1);
-                    LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟");
-                    var db = new SqlHelper<object>().GetInstance();
-                    db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand();
-                }
-                else
-                {
-                    LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓澶辫触", "浠诲姟");
-                }
+                    // 浣滀笟缂栫爜
+                    S_OP_CODE = operation.S_CODE,
+                    // 浠诲姟鍙�+                    S_CODE = operation.S_CODE + "_1",
+                    // 浠诲姟绫诲瀷
+                    N_TYPE = operation.N_TYPE,
+                    // 浠诲姟绫诲瀷
+                    S_TYPE = operation.S_TYPE,
+                    // 璧风偣璐т綅
+                    S_START_LOC = operation.S_START_LOC,
+                    // 璧风偣搴撳尯
+                    S_START_AREA = operation.S_START_AREA,
+                    // 缁堢偣璐т綅
+                    S_END_LOC = operation.CONNECTION,
+                    // 缁堢偣搴撳尯
+                    S_END_AREA = ConnectionLoc.S_AREA_CODE,
+                    // 璁惧绫诲瀷
+                    N_SCHEDULE_TYPE = 2,
+                    // 璁惧绫诲瀷
+                    S_SCHEDULE_TYPE = "wcs",
+                    // 瀹瑰櫒缂栫爜
+                    S_CNTR_CODE = operation.S_CNTR_CODE,
+                    //浠诲姟鐘舵�
+                    S_B_STATE = "鏈墽琛�,
+                    // 浼樺厛绾�+                    N_PRIORITY = operation.N_PRIORITY,
+                    //宸ヨ绫诲瀷
+                    TOOLSTYPE = operation.TOOLSTYPE,
+                    //璧风偣搴撳尯鍚嶇О
+                    S_START_AREA_NAME = operation.S_START_AREA_NAME,
+                    //缁堢偣搴撳尯鍚嶇О
+                    S_END_AREA_NAME = operation.CONNECTION_AREA,
+                };
 
+                // 浠诲姟2
+                var task2 = new WMSTask()
+                {
+                    // 浣滀笟缂栫爜
+                    S_OP_CODE = operation.S_CODE,
+                    // 浠诲姟鍙�+                    S_CODE = operation.S_CODE + "_2",
+                    // 浠诲姟绫诲瀷
+                    N_TYPE = operation.N_TYPE,
+                    // 浠诲姟绫诲瀷
+                    S_TYPE = operation.S_TYPE,
+                    // 璧风偣璐т綅
+                    S_START_LOC = operation.CONNECTION,
+                    // 璧风偣搴撳尯
+                    S_START_AREA = ConnectionLoc.S_AREA_CODE,
+                    // 缁堢偣璐т綅
+                    S_END_LOC = operation.S_END_LOC,
+                    // 缁堢偣搴撳尯
+                    S_END_AREA = operation.S_END_AREA,
+                    // 璁惧绫诲瀷
+                    N_SCHEDULE_TYPE = 3,
+                    // 璁惧绫诲瀷
+                    S_SCHEDULE_TYPE = "agv",
+                    // 瀹瑰櫒缂栫爜
+                    S_CNTR_CODE = operation.S_CNTR_CODE,
+                    //浠诲姟鐘舵�
+                    S_B_STATE = "鏈墽琛�,
+                    // 浼樺厛绾�+                    N_PRIORITY = operation.N_PRIORITY,
+                    //宸ヨ绫诲瀷
+                    TOOLSTYPE = operation.TOOLSTYPE,
+                    //璧风偣搴撳尯鍚嶇О
+                    S_START_AREA_NAME = operation.CONNECTION_AREA,
+                    //缁堢偣搴撳尯鍚嶇О
+                    S_END_AREA_NAME = operation.S_END_AREA_NAME,
+                };
+
+                try
+                {
+                    // 淇敼浣滀笟鐘舵�涓烘墽琛屼腑
+                    operation.N_B_STATE = 1;
+                    operation.S_B_STATE = "鎵ц";
+
+                    if (CreateTask(task1) && CreateTask(task2))
+                    {
+                        LocationHelper.LockLoc(operation.S_START_LOC, "鍑哄簱閿�, 2);
+                        LocationHelper.LockLoc(operation.S_END_LOC, "鍏ュ簱閿�, 1);
+                        LocationHelper.LockLoc(operation.CONNECTION, "鍏ュ簱閿�, 1);
+                        LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟");
+                        var db = new SqlHelper<object>().GetInstance();
+                        db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand();
+                    }
+                    else
+                    {
+                        LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓澶辫触", "浠诲姟");
+                    }
+
+                }
+                catch (Exception e)
+                {
+                    LogHelper.Info("CreateOneTask寮傚父淇℃伅" + e.Message, "浠诲姟");
+                    throw;
+                }
             }
-            catch (Exception e)
-            {
-                LogHelper.Info("CreateOneTask寮傚父淇℃伅" + e.Message, "浠诲姟");
-                throw;
-            }
+
+
+
         }
 
 

--
Gitblit v1.9.1