From b466b3135cd7f3b08f570efda0ffb691daff5270 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 05 十二月 2025 18:15:16 +0800
Subject: [PATCH] 一期输送线代码及AGV请求等
---
项目代码/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs | 95 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 76 insertions(+), 19 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 dcc11dc..6c5807b 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,6 +2,7 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
+using System.Text;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
@@ -22,28 +23,21 @@
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IRouterExtension _routerExtension;
- //private readonly WebSocketServer _webSocketServer;
private readonly IStationMangerRepository _stationMangerRepository;
- public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension/*, WebSocketServer webSocketServer*/, IStationMangerRepository stationMangerRepository) : base(service)
+ public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension, IStationMangerRepository stationMangerRepository) : base(service)
{
_httpContextAccessor = httpContextAccessor;
_routerExtension = routerExtension;
_stationMangerRepository=stationMangerRepository;
- //_webSocketServer = webSocketServer;
}
[HttpPost, Route("ReceiveTask"), AllowAnonymous]
- public WebResponseContent ReceiveWMSTask([FromBody] List<WMSTaskDTO> taskDTOs)
+ public WebResponseContent ReceiveWMSTask([FromBody] WMSTaskDTO taskDTO)
{
- return Service.ReceiveWMSTask(taskDTOs);
+ return Service.ReceiveWMSTask(taskDTO);
}
- [HttpPost, HttpGet, Route("RequestAssignLocation"), AllowAnonymous]
- public string? RequestAssignLocation(int taskNum, string roadwayNo)
- {
- return Service.RequestAssignLocation(taskNum, roadwayNo);
- }
[HttpPost, HttpGet, Route("UpdateTaskExceptionMessage")]
public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message)
@@ -62,26 +56,89 @@
{
return Service.RollbackTaskStatusToLast(taskNum);
}
-
+ /// <summary>
+ /// 瀹瑰櫒娴佸姩鎺ュ彛
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("ContainerFlow"), AllowAnonymous]
+ public WebResponseContent ContainerFlow([FromBody] ContainerFlowDTO containerFlowDTO)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x=>x.PickStationCode==containerFlowDTO.SlotCode) ?? throw new Exception($"{containerFlowDTO.SlotCode}鎷i�変綅缃笉瀛樺湪");
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+ if (device == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶噞stationManger.StationDeviceCode}");
+ }
+ if (stationManger.StationDeviceCode== "CL1" || stationManger.StationDeviceCode == "CL2")
+ {
+ OtherDevice commonConveyorLine = (OtherDevice)device;
+ byte[] bytesPick = commonConveyorLine.Communicator.Read("12", 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);
+ if (!responseContent.Status) throw new Exception(responseContent.Message);
+ }
+ commonConveyorLine.Communicator.Write("22", (short)(containerFlowDTO.Direction == "100" ? 256 : 512));
+ }
+ 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);
+ if (!responseContent.Status) throw new Exception(responseContent.Message);
+ }
+ commonConveyorLine.SetValue(ConveyorLineDBName.W_PickToHode, (short)containerFlowDTO.Direction.ObjToInt(), stationManger.StationCode);
+ }
+ content.OK();
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+ /// <summary>
+ /// 鐢宠鍏ュ簱
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("RequestInTask"), AllowAnonymous]
+ public WebResponseContent RequestInTask(string stationCode, string barCode)
+ {
+ return Service.RequestInTask(stationCode, barCode);
+ }
[HttpPost, HttpGet, Route("GetRouteEndPoint"), AllowAnonymous]
public WebResponseContent GetRouteEndPoint(string startPoint, int routeType)
{
return WebResponseContent.Instance.OK(data: _routerExtension.GetEndPoint(startPoint, routeType));
- }
- [HttpPost, HttpGet, Route("AssignCPRoadwayNo"), AllowAnonymous]
- public WebResponseContent AssignCPRoadwayNo()
- {
- return Service.AssignCPRoadwayNo();
}
/// <summary>
/// WMS浠诲姟瀹屾垚鍚屾
/// </summary>
/// <param name="taskNum"></param>
/// <returns></returns>
- [HttpPost, HttpGet, Route("RecWMSTaskCompleted"), AllowAnonymous]
- public WebResponseContent RecWMSTaskCompleted(int taskNum)
+ [HttpPost, HttpGet, Route("RecTaskCompleted"), AllowAnonymous]
+ public WebResponseContent RecTaskCompleted(int taskNum)
{
- return Service.RecWMSTaskCompleted(taskNum);
+ return Service.TaskCompleted(taskNum);
+ }
+
+ /// <summary>
+ /// WMS浠诲姟鍙栨秷鍚屾
+ /// </summary>
+ /// <param name="taskNum"></param>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("CancelTask"), AllowAnonymous]
+ public WebResponseContent CancelTask(List<TaskCancel> taskCancels)
+ {
+ return WebResponseContent.Instance.Error();
}
}
}
--
Gitblit v1.9.3