From c467a598f23fd81cf624e0abc5f012fb5c9c6ada Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期五, 25 四月 2025 09:54:00 +0800
Subject: [PATCH] 1
---
CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 141 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 141 insertions(+), 0 deletions(-)
diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index fd00670..58f94ff 100644
--- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -276,6 +276,36 @@
#endregion 鍑哄簱浠诲姟瀹屾垚
+ #region 鐏浠诲姟瀹屾垚
+ public async Task<WebResponseContent> CompleteOutFireAlarmTaskAsync(Dt_Task task, DtStockInfo stock)
+ {
+ WebResponseContent content = new WebResponseContent();
+ (var loc, var tas) = UpdateStockAndTaskStatus(stock, task);
+ var taskHty = task.Adapt<Dt_Task_Hty>();
+ taskHty.FinishTime = DateTime.Now;
+ taskHty.OperateType = App.User.UserName != null ? (int)OperateTypeEnum.浜哄伐瀹屾垚 : (int)OperateTypeEnum.鑷姩瀹屾垚;
+ taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System";
+
+ DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>();
+ stockInfo_Hty.ModifyDate = DateTime.Now;
+
+ // 浜嬪姟澶勭悊
+ await _unitOfWorkManage.UseTranAsync(async () =>
+ {
+ if (task.TaskType != (int)TaskOutboundTypeEnum.OutQuality)
+ {
+ await DeleteStockInfoAsync(stock.Id);
+ await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);
+ await AddStockInfoHtyAsync(stockInfo_Hty);
+ await UpdateLocationAsync(loc); //璐ㄦ浠诲姟闇�瑕佹寔缁攣瀹氬簱浣�
+ }
+ await DeleteTaskAsync(task.TaskId);
+ await AddTaskHtyAsync(taskHty);
+ });
+ return content.OK("浠诲姟瀹屾垚鎴愬姛", task.Remark);
+ }
+ #endregion
+
#region 绉诲簱浠诲姟瀹屾垚
/// <summary>
@@ -596,6 +626,11 @@
case (int)TaskOutboundTypeEnum.OutNG:
LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", "");
return await CompleteStackTaskAsync(task, stock);
+
+ case (int)TaskOutboundTypeEnum.OutFireAlarm:
+
+ LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鐏浠诲姟", "");
+ return await CompleteOutFireAlarmTaskAsync(task, stock);
case (int)TaskRelocationTypeEnum.Relocation:
return await CompleteTransferTaskAsync(task, stock);
@@ -1611,6 +1646,74 @@
#endregion
+ #region 澶у睆鎺ュ彛
+
+ /// <summary>
+ /// 鑾峰彇浠诲姟淇℃伅
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent GetTaskInfo()
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ var task = BaseDal.QueryData(x => true).ToList();
+ var newTask = task.Select(x => new
+ {
+ x.PalletCode,
+ x.Roadway,
+ x.SourceAddress,
+ x.TargetAddress,
+ x.ProductionLine,
+ TaskType = new List<string> { GetTaskTypeDesc(x.TaskType) }[0], // 姣忎釜浠诲姟鐙珛鐢熸垚 TaskType
+ TaskState = new List<string> { GetTaskStateDesc(x.TaskState) }[0] // 姣忎釜浠诲姟鐙珛鐢熸垚 TaskState
+ }).ToList();
+
+ return content.OK(data: newTask);
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 鑾峰彇搴撳瓨淇℃伅
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent GetStockInfo()
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ var now = DateTime.Now;
+ var startOfDay = new DateTime(now.Year, now.Month, now.Day);
+ var endOfDay = startOfDay.AddDays(1);
+ var filteredItems = _stockInfoRepository.Db.Queryable<DtStockInfo>()
+ .Where(x => x.OutboundTime >= startOfDay && x.OutboundTime < endOfDay && x.IsFull)
+ .Includes(x => x.StockInfoDetails)
+ .ToList();
+
+ var result = filteredItems
+ .GroupBy(x => x.AreaCode)
+ .Select(g => new GroupedStockInfo
+ {
+ AreaCode = g.Key,
+ TotalQuantity = g.Sum(item => item.StockInfoDetails?.Count ?? 0),
+ Items = g.ToList()
+ })
+ .ToList();
+ return content.OK(data: result);
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+
+
+ #endregion
+
#endregion 澶栭儴鎺ュ彛鏂规硶
#region 鍐呴儴璋冪敤鏂规硶
@@ -1788,6 +1891,44 @@
#region private 鍐呴儴鏂规硶
+
+ /// <summary>
+ /// 鑾峰彇浠诲姟绫诲瀷鎻忚堪鏂规硶
+ /// </summary>
+ /// <param name="taskType"></param>
+ /// <returns></returns>
+ private string GetTaskTypeDesc(int taskType)
+ {
+ return taskType switch
+ {
+ (int)TaskInboundTypeEnum.Inbound => TaskInboundTypeEnum.Inbound.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskInboundTypeEnum.InTray => TaskInboundTypeEnum.InTray.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskInboundTypeEnum.InNG => TaskInboundTypeEnum.InNG.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskInboundTypeEnum.InQuality => TaskInboundTypeEnum.InQuality.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutboundTypeEnum.OutTray => TaskOutboundTypeEnum.OutTray.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutboundTypeEnum.Outbound => TaskOutboundTypeEnum.Outbound.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutboundTypeEnum.OutNG => TaskOutboundTypeEnum.OutNG.GetIntegralRuleTypeEnumDesc(),
+ };
+ }
+
+ // 瀹氫箟鑾峰彇浠诲姟鐘舵�佹弿杩版柟娉�
+ private string GetTaskStateDesc(int? taskState)
+ {
+ return taskState switch
+ {
+ (int)TaskInStatusEnum.InNew => TaskInStatusEnum.InNew.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskInStatusEnum.Line_InExecuting => TaskInStatusEnum.Line_InExecuting.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskInStatusEnum.Line_InFinish => TaskInStatusEnum.Line_InFinish.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskInStatusEnum.SC_InExecuting => TaskInStatusEnum.SC_InExecuting.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskInStatusEnum.SC_InFinish => TaskInStatusEnum.SC_InFinish.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutStatusEnum.OutNew => TaskOutStatusEnum.OutNew.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutStatusEnum.SC_OutExecuting => TaskOutStatusEnum.SC_OutExecuting.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutStatusEnum.SC_OutFinish => TaskOutStatusEnum.SC_OutFinish.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutStatusEnum.Line_OutExecuting => TaskOutStatusEnum.Line_OutExecuting.GetIntegralRuleTypeEnumDesc(),
+ (int)TaskOutStatusEnum.Line_OutFinish => TaskOutStatusEnum.Line_OutFinish.GetIntegralRuleTypeEnumDesc(),
+ };
+ }
+
/// <summary>
/// 鍒涘缓鍘嗗彶浠诲姟璁板綍
/// </summary>
--
Gitblit v1.9.3