From 1581189aad05d97267d240a65e0215f4946130e5 Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期四, 12 三月 2026 15:29:30 +0800
Subject: [PATCH] feat: 新增异常任务处理按钮 fix: 修复任务取消bug,按照分组取消。 refactor: 重构日志为文本,减少数据库压力
---
项目代码/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs | 61 ++++++++++++++++++++++++------
1 files changed, 48 insertions(+), 13 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
index f34f16d..628fd01 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
@@ -2,7 +2,9 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
+using System.IO;
using System.Text;
+using WIDESEA_External.Model;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
@@ -12,6 +14,7 @@
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_TaskInfoService;
using WIDESEAWCS_Tasks;
using WIDESEAWCS_Tasks.DBNames;
@@ -33,7 +36,7 @@
}
[HttpPost, Route("ReceiveTask"), AllowAnonymous]
- public WebResponseContent ReceiveWMSTask([FromBody] WMSTaskDTO taskDTO)
+ public WMSReceiveTaskContent ReceiveWMSTask([FromBody] WMSTaskDTO taskDTO)
{
return Service.ReceiveWMSTask(taskDTO);
}
@@ -81,23 +84,36 @@
byte[] bytesPick = commonConveyorLine.Communicator.Read("2", 5);
string PickBarCode = Encoding.UTF8.GetString(bytesPick).Replace("\0", "").Replace("\\0", "");
if (containerFlowDTO.ContainerCode != PickBarCode) throw new Exception($"浼犲叆鏂欑鐮亄containerFlowDTO.ContainerCode}锛岃緭閫佹枡绠辩爜{PickBarCode}鏁版嵁閿欒");
- if (containerFlowDTO.Direction == "100")
- {
- WebResponseContent responseContent = Service.ContainerFlow(containerFlowDTO, stationManger.StationDeviceCode, stationManger.PickStationCode);
- if (!responseContent.Status) throw new Exception(responseContent.Message);
- }
+ //if (containerFlowDTO.Direction == "100")
+ //{
+ // WebResponseContent responseContent = Service.ContainerFlow(containerFlowDTO, stationManger.StationDeviceCode, stationManger.PickStationCode);
+ // if (!responseContent.Status) throw new Exception(responseContent.Message);
+ //}
+ WriteLog.Write_Log("涓�鏈熷鍣ㄦ祦鍔ㄥ叆搴撴帴鍙�", "浠诲姟淇℃伅", $"杩斿洖杈撻�佺嚎{stationManger.PickStationCode}", $"杩斿洖缁欒緭閫佺嚎鐨勪换鍔′俊鎭細{containerFlowDTO.ToJson()}");
commonConveyorLine.Communicator.Write("22", (containerFlowDTO.Direction == "100" ? new byte[] { 1, 0 } : new byte[] { 2, 0 }));
}
else
{
+
CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
string PickBarCode = commonConveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, stationManger.StationCode).Trim();
+
if (containerFlowDTO.ContainerCode != PickBarCode) throw new Exception($"浼犲叆鏂欑鐮亄containerFlowDTO.ContainerCode}锛岃緭閫佹枡绠辩爜{PickBarCode}鏁版嵁閿欒");
+
if (containerFlowDTO.Direction == "100")
{
- WebResponseContent responseContent = Service.ContainerFlow(containerFlowDTO, stationManger.StationDeviceCode, stationManger.PickStationCode);
- if (!responseContent.Status) throw new Exception(responseContent.Message);
+ short W_PickToHode = commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.W_PickToHode, stationManger.StationCode);
+ if (W_PickToHode == 300)
+ {
+ WebResponseContent responseContent = Service.ContainerFlow(containerFlowDTO, stationManger.StationDeviceCode, stationManger.PickStationCode);
+ if (!responseContent.Status) throw new Exception(responseContent.Message);
+ }
+ else
+ {
+ throw new Exception($"浼犲叆鏂欑鐮亄containerFlowDTO.ContainerCode}锛岃緭閫佹枡鐘舵�侊細{W_PickToHode}锛屼笉婊¤冻鍏ュ簱鏉′欢");
+ }
}
+ WriteLog.Write_Log("浜屾湡瀹瑰櫒娴佸姩鍏ュ簱鎺ュ彛", "浠诲姟淇℃伅", $"杩斿洖杈撻�佺嚎{stationManger.PickStationCode}", $"杩斿洖缁欒緭閫佺嚎鐨勪换鍔′俊鎭細{containerFlowDTO.ToJson()}");
commonConveyorLine.SetValue(ConveyorLineDBName.W_PickToHode, (short)containerFlowDTO.Direction.ObjToInt(), stationManger.StationCode);
}
content.OK();
@@ -115,7 +131,7 @@
/// <returns></returns>
[HttpPost, HttpGet, Route("InitLight"), AllowAnonymous]
public WebResponseContent InitLight()
- {
+ {
return Service.InitLight();
}
/// <summary>
@@ -160,16 +176,35 @@
{
return Service.TaskCompleted(taskNum);
}
+ /// <summary>
+ /// 浜哄伐鎵嬪姩鍙栨秷鎸囧畾浠诲姟
+ /// </summary>
+ /// <param name="taskNum">浠诲姟缂栧彿</param>
+ /// <returns>鎿嶄綔缁撴灉</returns>
+ [HttpPost, HttpGet, Route("ManualTaskCancellation"), AllowAnonymous]
+ public WebResponseContent ManualTaskCancellation(int taskNum)
+ {
+ return Service.ManualTaskCancellation(taskNum);
+ }
+ /// WMS浠诲姟鍙栨秷鍚屾
+ /// </summary>
+ /// <param name="taskCancels"></param>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("CancelTask"), AllowAnonymous]
+ public WebResponseContent CancelTask([FromBody] List<TaskCancel> taskCancels)
+ {
+ return Service.TaskCancel(taskCancels); ;
+ }
/// <summary>
- /// WMS浠诲姟鍙栨秷鍚屾
+ /// 鎶婁换鍔″紓甯�900淇敼涓篈GV鎵ц涓�300
/// </summary>
/// <param name="taskNum"></param>
/// <returns></returns>
- [HttpPost, HttpGet, Route("CancelTask"), AllowAnonymous]
- public WebResponseContent CancelTask(List<TaskCancel> taskCancels)
+ [HttpPost, HttpGet, Route("ResetAllExceptionTask"), AllowAnonymous]
+ public WebResponseContent ResetAllExceptionTask(int taskNum)
{
- return WebResponseContent.Instance.Error();
+ return Service.ResetAllExceptionTask(taskNum);
}
}
}
--
Gitblit v1.9.3