From d471478f1b3373a9001ab9ebc4eb7f52384a4ec3 Mon Sep 17 00:00:00 2001
From: Tjiny <Tjinyu23@163.com>
Date: 星期四, 29 五月 2025 17:11:37 +0800
Subject: [PATCH] 2025/5/29提交

---
 HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs                 |    8 +++
 HH.WCS.Mobox3.RiDong/models/Task.cs                                 |    5 ++
 HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml |    2 
 HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs                |   26 ++++++++++++-
 HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs                         |    3 -
 HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs                  |    2 
 HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs                    |   11 ++++-
 HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs             |   14 ++++++
 8 files changed, 60 insertions(+), 11 deletions(-)

diff --git a/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml b/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml
index b2bdec2..6c0b863 100644
--- a/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml
+++ b/HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
   </component>
 </project>
\ No newline at end of file
diff --git a/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs b/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs
index eda1848..bde33f0 100644
--- a/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs
+++ b/HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs
@@ -194,8 +194,19 @@
             }
             
             db.Updateable(cntrItemDetails).UpdateColumns(p => new { p.N_ALR_ENTR }).ExecuteCommand();
+            
+            var container = AdoSqlMethod<Container>.QueryFirst(p => p.S_CODE == task.S_CNTR_CODE);
+            
+            container.C_ENABLE = 'Y';
+            container.N_DETAIL_COUNT = 0;
+            container.S_TYPE = null;
+            
+            AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE });
+            
 
             OutWareHouseService.ResultDeterminationGuideOut(task);
+            
+            
         }
         // 鎸囧紩鍑哄簱
         else if (task.N_TYPE == 7)
@@ -209,8 +220,9 @@
             
             container.C_ENABLE = 'Y';
             container.N_DETAIL_COUNT = 0;
+            container.S_TYPE = null;
             
-            AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT });
+            AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE });
         }
     }
 
diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs b/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs
index bd9d9ed..315e901 100644
--- a/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs
+++ b/HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs
@@ -24,8 +24,8 @@
     /// <returns></returns>
     internal static string GenerateTaskNo(string snType, string prefix)
     {
-        var id = SYSHelper.GetSerialNumber(snType, prefix);
         var date = DateTime.Now.ToString("yyMMdd");
+        var id = SYSHelper.GetSerialNumber(snType, prefix + date);
         return $"{prefix}{date}{id.ToString().PadLeft(4, '0')}";
     }
 
diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs b/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs
index 77d4303..52c1f39 100644
--- a/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs
+++ b/HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs
@@ -173,7 +173,28 @@
             // 鏌ヨ鍑烘墍鏈夎浼樺厛绾х殑鍙敤璐т綅
             var locations = sqlSugarClient.Queryable<Location>()
                 .Where(p => p.N_PRIORITY == priority && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList();
-                
+            
+            // 浼樺厛鏌ヨ浠婃棩浠戒换鍔′腑鏈畬鎴愮殑锛堢瓑寰咃紝鎵ц涓級
+            var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today);
+
+            if (notQueryList.Count > 0)
+            {
+                var groupBy = notQueryList.GroupBy(p=>p.N_ROADWAY);
+
+                foreach (var item in groupBy)
+                {
+                    if (item.Key == 1 || item.Key == 2 || item.Key == 3 ||
+                        item.Key == 4)
+                    {
+                        locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList();
+                    }
+                    else if (item.Key == 5 && item.ToList().Count >= 3)
+                    {
+                        locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList();
+                    }
+                }
+            }
+            
             // 瀛樺湪璇ヤ紭鍏堢骇鐨勫彲鐢ㄨ揣浣�             if (locations.Count > 0)
             {
@@ -199,7 +220,8 @@
                     .Where(p => p.N_PRIORITY == i && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList();
                 
                 // 浼樺厛鏌ヨ浠婃棩浠戒换鍔′腑鏈畬鎴愮殑锛堢瓑寰咃紝鎵ц涓級
-                var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today);
+                var notQueryList = AdoSqlMethod<Operation>
+                    .QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today && (p.N_TYPE == 1 || p.N_TYPE == 3));
 
                 if (notQueryList.Count > 0)
                 {
diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs b/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs
index 7aaf2c8..f5356b6 100644
--- a/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs
+++ b/HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs
@@ -74,6 +74,8 @@
             S_DC_NO = operation.S_DC_NO,
             // 浣滀笟绫诲瀷
             S_OP_NAME = operation.S_OP_DEF_NAME,
+            // 宸烽亾
+            N_ROADWAY = operation.N_ROADWAY,
         };
 
         tasks.Add(task1);
@@ -136,7 +138,8 @@
             S_OP_NAME = operation.S_OP_DEF_NAME,
             // 閰嶇洏鍗曞彿
             S_DC_NO = operation.S_DC_NO,
-            // 浠诲姟鍚嶇О
+            // 宸烽亾
+            N_ROADWAY = operation.N_ROADWAY,
         };
 
         tasks.Add(task1);
@@ -169,7 +172,9 @@
             // 浠诲姟鍚嶇О
             S_OP_NAME = operation.S_OP_DEF_NAME,
             // 閰嶇洏鍗曞彿
-            S_DC_NO = operation.S_DC_NO
+            S_DC_NO = operation.S_DC_NO,
+            // 宸烽亾
+            N_ROADWAY = operation.N_ROADWAY,
         };
 
         tasks.Add(task2);
@@ -470,7 +475,7 @@
                         {
                             model.N_B_STATE = 2;
                             model.S_B_STATE = "鍑哄簱浣滀笟宸插垱寤�;
-
+ 
                             AdoSqlMethod<TN_Distribution_CNTR>.UpdateFirstTran(sqlSugarClient, model,
                                 p => new { p.N_B_STATE, p.S_B_STATE });
 
diff --git a/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs b/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs
index c523409..a5add26 100644
--- a/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs
+++ b/HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs
@@ -3,6 +3,7 @@
 using EasyModbus;
 using HH.WCS.Mobox3.RiDong.apiMethod;
 using HH.WCS.Mobox3.RiDong.models;
+using HH.WCS.Mobox3.RiDong.util;
 using S7.Net.Types;
 using Task = HH.WCS.Mobox3.RiDong.models.Task;
 
@@ -53,12 +54,17 @@
                 .QueryList(p =>
                     p.N_B_STATE == 0 && p.N_SCHEDULE_TYPE == 2 &&
                     (p.N_TYPE == 2 || p.N_TYPE == 4 || p.N_TYPE == 5 || p.N_TYPE == 6 || p.N_TYPE == 7));
+            
+            
+            // 鎺掑簭
+            tasks = tasks.OrderBy(p=>p.N_ROADWAY).ThenBy(p=>p.T_CREATE).ToList();
+            
 
             foreach (var task in tasks)
             {
                 // 鍒ゆ柇鏈夋病鏈夊凡鎺ㄩ�鐨勪换鍔★紝鏈夌殑璇濅笉鎺ㄩ�锛屾病鏈夊氨鎺ㄩ�
                 // if(AdoSqlMethod<Task>.QueryCount(p=>(p.N_B_STATE == 1 || p.N_B_STATE == 2) && p.N_SCHEDULE_TYPE == 2 ))
-                
+                LogHelper.Info($"褰撳墠鎺ㄩ�浠诲姟鍦ㄧ{task.N_ROADWAY}宸烽亾");
                 // 鍑哄簱AGV涓嶅仛闄愬埗鐩存帴鎺ㄩ�
                 if (TaskHelper.SendTaskFromAGV(task))
                 {
diff --git a/HH.WCS.Mobox3.RiDong/models/Task.cs b/HH.WCS.Mobox3.RiDong/models/Task.cs
index f6c8b8a..b1df4e7 100644
--- a/HH.WCS.Mobox3.RiDong/models/Task.cs
+++ b/HH.WCS.Mobox3.RiDong/models/Task.cs
@@ -109,6 +109,11 @@
     /// </summary>
     public string S_DC_NO { get; set; }
 
+    /// <summary>
+    /// 宸烽亾 
+    /// </summary>
+    public int N_ROADWAY{ get; set; }
+
     internal static string GetStateStr(int state)
     {
         //0绛夊緟	  1宸叉帹閫�    2鎵ц    3瀹屾垚    4閿欒
diff --git a/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs b/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs
index ace66e0..c7853eb 100644
--- a/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs
+++ b/HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs
@@ -37,9 +37,8 @@
                 if (cntrInfo.C_ENABLE == 'N')
                 {
                     cntrInfo.C_ENABLE = 'Y';
-                    cntrInfo.S_TYPE = null;
                     AdoSqlMethod<Container>.UpdateFirstTran(querySqlSugarClient, cntrInfo,
-                        p => new { p.C_ENABLE, p.T_MODIFY, p.S_TYPE });
+                        p => new { p.C_ENABLE, p.T_MODIFY });
 
                     var cirList = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE == cntr).ToList();
 

--
Gitblit v1.9.1