From 8893638de46547923e0684220df3d9782f7ec283 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 10 3月 2025 11:01:49 +0800
Subject: [PATCH] 缓存岛需要加个批次号条件、可以选择某个批次出
---
CC/iWareSql/DataAccess/TaskHandler.cs | 142 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 140 insertions(+), 2 deletions(-)
diff --git a/CC/iWareSql/DataAccess/TaskHandler.cs b/CC/iWareSql/DataAccess/TaskHandler.cs
index 9a4526a..c1607a4 100644
--- a/CC/iWareSql/DataAccess/TaskHandler.cs
+++ b/CC/iWareSql/DataAccess/TaskHandler.cs
@@ -14,17 +14,91 @@
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)
+ 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.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+ ) && x.Upi == UPI
+ ).ToList();
+
+ if (isExist?.Count() > 0)
+ {
+ return false;
+ }
+ return true;
+ }
+ /// <summary>
+ /// 楠岃瘉 鏈哄櫒浜虹紦瀛樺矝鏄惁瀛樺湪宸蹭笅鍙戠殑浠诲姟
+ /// </summary>
+ /// <param name="wmsDB"></param>
+ /// <returns></returns>
+ public static bool ValidateIssueOutTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB)
+ {
+ var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
+ && (
+ x.RbTaskType == (int)RbTaskTypeEnum.鍏ュ簱浠诲姟
+ ||
+ (x.RbTaskType == (int)RbTaskTypeEnum.榻愬寘鍑哄簱浠诲姟 || x.RbTaskType == (int)RbTaskTypeEnum.寮哄埗鍑哄簱浠诲姟)
+ )
+ ).ToList();
+
+ if (isExist?.Count() > 0)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// 楠岃瘉 鏄惁瀛樺湪鏈粨鏉熺殑 鍑哄簱 浠诲姟
+ /// </summary>
+ /// <param name="wmsDB"></param>
+ /// <returns></returns>
+ public static bool ValidateIssueTaskForNoFinishTaskByOutStore(WmsDBModel.WmsDBModel wmsDB)
+ {
+ 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();
@@ -36,5 +110,69 @@
}
+ /// <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 == 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;
+ }
+ return true;
+ }
+ /// <summary>
+ /// 楠岃瘉 鏈哄櫒浜虹紦瀛樺矝鏄惁瀛樺湪 鏈粨鏉� 鐨勫嚭搴撲换鍔�
+ /// </summary>
+ /// <param name="wmsDB"></param>
+ /// <returns>true:涓嶅瓨鍦� false锛氬瓨鍦�</returns>
+ public static bool ValidateNoFinishOutTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB)
+ {
+ 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;
+ }
+
+ /// <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