From 8706d6948d9a922d8e5adce27f49790ad4ac1d71 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 10 3月 2025 16:38:59 +0800
Subject: [PATCH] 【缓存岛齐包管理】的缺包列表中明细,没有显示出 缺包的数据

---
 CC/iWareSql/DataAccess/TaskHandler.cs |   96 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 84 insertions(+), 12 deletions(-)

diff --git a/CC/iWareSql/DataAccess/TaskHandler.cs b/CC/iWareSql/DataAccess/TaskHandler.cs
index 55ab793..c1607a4 100644
--- a/CC/iWareSql/DataAccess/TaskHandler.cs
+++ b/CC/iWareSql/DataAccess/TaskHandler.cs
@@ -14,18 +14,50 @@
     public class TaskHandler
     {
         /// <summary>
+        /// 楠岃瘉 鏄惁瀛樺湪鏌愪釜UPI鐨勬湭缁撴潫鐨勭殑浠诲姟
+        /// </summary>
+        /// <param name="wmsDB"></param>
+        /// <returns></returns>
+        public static bool ValidateIssueTaskForNoFinishTaskByUpi(WmsDBModel.WmsDBModel wmsDB, string UPI, bool isNeedAutoFinishTak)
+        {
+            var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.宸插畬鎴�
+                 && x.TaskStatus != (int)TaskStatusEnum.宸插彇娑�
+                 && x.Upi == UPI
+              ).ToList();
+
+            if (isExist?.Count() > 0)
+            {
+                if (isNeedAutoFinishTak)
+                {
+                    using (WmsDBModel.WmsDBModel new_wmsDB = new WmsDBModel.WmsDBModel())
+                    {
+                        var updateTask = new_wmsDB.wms_rbline_task.Where(x => x.Id == isExist.First().Id).FirstOrDefault();
+                        if (updateTask != null)
+                        {
+                            updateTask.TaskStatus = (int)TaskStatusEnum.宸插畬鎴�;
+                            updateTask.TaskMsg = "浠诲姟琚郴缁熷湪鍚堝寘宸ヤ綅鑷姩瀹屾垚(1)";
+                            new_wmsDB.SaveChanges();
+                        }
+                    }
+                }
+                return false;
+            }
+            return true;
+        }
+
+        /// <summary>
         /// 楠岃瘉 鏈哄櫒浜虹紦瀛樺矝鏄惁瀛樺湪宸蹭笅鍙戠殑浠诲姟
         /// </summary>
         /// <param name="wmsDB"></param>
         /// <returns></returns>
-        public static bool ValidateIssueTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB,string UPI)
+        public static bool ValidateIssueTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB, string UPI)
         {
             var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
                 && (
                   x.RbTaskType == (int)RbTaskTypeEnum.鍏ュ簱浠诲姟
                   ||
-                   x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
-                )&&x.UPI== UPI
+                  (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+                ) && x.Upi == UPI
               ).ToList();
 
             if (isExist?.Count() > 0)
@@ -45,8 +77,8 @@
                 && (
                   x.RbTaskType == (int)RbTaskTypeEnum.鍏ュ簱浠诲姟
                   ||
-                   x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
-                ) 
+                   (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+                )
               ).ToList();
 
             if (isExist?.Count() > 0)
@@ -55,25 +87,48 @@
             }
             return true;
         }
+
         /// <summary>
-        /// 楠岃瘉 鐮佹澘鏄惁鏈夋墽琛屼腑浠诲姟
+        /// 楠岃瘉 鏄惁瀛樺湪鏈粨鏉熺殑 鍑哄簱 浠诲姟
         /// </summary>
         /// <param name="wmsDB"></param>
         /// <returns></returns>
-        public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB,string str)
+        public static bool ValidateIssueTaskForNoFinishTaskByOutStore(WmsDBModel.WmsDBModel wmsDB)
         {
-            var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
-                && x.RbTaskType == (int)RbTaskTypeEnum.鐮佹澘浠诲姟 && x.UPI == str).ToList();
+            var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.宸插畬鎴�
+                 && x.TaskStatus != (int)TaskStatusEnum.宸插彇娑�
+                  && (
+                   (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+                )
+              ).ToList();
+
             if (isExist?.Count() > 0)
             {
                 return false;
             }
             return true;
         }
-        public static bool ValidateIssueTaskForBZ21(WmsDBModel.WmsDBModel wmsDB,string str)
+
+
+        /// <summary>
+        /// 楠岃瘉 鐮佹澘鏄惁鏈夋墽琛屼腑浠诲姟
+        /// </summary>
+        /// <param name="wmsDB"></param>
+        /// <returns></returns>
+        public static bool ValidateIssueTaskForBZ12(WmsDBModel.WmsDBModel wmsDB, string UPI)
         {
             var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
-                && x.RbTaskType == (int)RbTaskTypeEnum.澶规澘浠诲姟&&x.UPI==str).ToList();
+                && x.RbTaskType == (int)RbTaskTypeEnum.鐮佹澘浠诲姟 && x.Upi == UPI).ToList();
+            if (isExist?.Count() > 0)
+            {
+                return false;
+            }
+            return true;
+        }
+        public static bool ValidateIssueTaskForBZ21(WmsDBModel.WmsDBModel wmsDB, string str)
+        {
+            var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
+                && x.RbTaskType == (int)RbTaskTypeEnum.鍚堝寘浠诲姟 && x.Upi == str).ToList();
             if (isExist?.Count() > 0)
             {
                 return false;
@@ -90,7 +145,7 @@
             var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.宸插畬鎴�
                 && x.TaskStatus != (int)TaskStatusEnum.宸插彇娑�
                 && (
-                   x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
+                  (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
                 )
               ).ToList();
 
@@ -101,6 +156,23 @@
             return true;
         }
 
+        /// <summary>
+        /// 楠岃瘉 鐮佹澘浠诲姟鏄惁瀛樺湪 鏈粨鏉�  鐨勪换鍔�
+        /// </summary>
+        /// <param name="wmsDB"></param>
+        /// <returns>true:涓嶅瓨鍦� false锛氬瓨鍦�</returns>
+        public static bool ValidateNoFinishOutTaskFor鐮佹澘浠诲姟(WmsDBModel.WmsDBModel wmsDB)
+        {
+            var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus != (int)TaskStatusEnum.宸插畬鎴�
+                && x.TaskStatus != (int)TaskStatusEnum.宸插彇娑�
+                && x.RbTaskType == (int)RbTaskTypeEnum.鐮佹澘浠诲姟
+              ).ToList();
 
+            if (isExist?.Count() > 0)
+            {
+                return false;
+            }
+            return true;
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3