From 16749e23b489ee24f993fe9e87346680b7bcf63a Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期五, 10 十月 2025 21:14:49 +0800 Subject: [PATCH] 代码提交 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs | 221 ++---------------------------------------------------- 1 files changed, 11 insertions(+), 210 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" index 2390e9f..068735d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" @@ -6,9 +6,11 @@ using WIDESEAWCS_Core; using WIDESEAWCS_DTO.AGV; using WIDESEAWCS_ITaskInfoRepository; +using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; using WIDESEAWCS_Tasks; +using WIDESEAWCS_Tasks.AGV; using WIDESEAWCS_Tasks.ConveyorLineJob; using WIDESEAWCS_Tasks.ElevatorJob; @@ -19,10 +21,14 @@ public class AGVController : ControllerBase { private readonly ITaskRepository _taskRepository; + private readonly ITaskService _taskService; + private readonly IAGVSignal _signal; - public AGVController(ITaskRepository taskRepository) + public AGVController(ITaskRepository taskRepository,ITaskService taskService,IAGVSignal signal) { _taskRepository = taskRepository; + _taskService = taskService; + _signal = signal; } /// <summary> @@ -30,217 +36,12 @@ /// </summary> /// <param name="receiveDTO"></param> /// <returns></returns> - [HttpPost, Route("AGVStatusReport"), AllowAnonymous] - public WebResponseContent AGVStatusReport(AGVReceiveDTO receiveDTO) => SignalInteraction(receiveDTO); - - #region AGV涓庤澶囦俊鍙蜂氦浜� - - /// <summary> - /// AGV--璁惧浜や簰 - /// </summary> - /// <returns></returns> - public WebResponseContent SignalInteraction(AGVReceiveDTO receiveDTO) + [HttpPost, HttpGet,Route("AGVStatusReport"), AllowAnonymous] + public WebResponseContent AGVStatusReport([FromBody] AGVReceiveDTO receiveDTO) { - WebResponseContent content = new WebResponseContent(); - try - { - var task = _taskRepository.QueryFirst(t => t.TaskNum == receiveDTO.TaskNum); - if (task == null) - { - return content.Error("鏈壘鍒颁换鍔�"); - } - MethodInfo? method = GetType().GetMethod(receiveDTO.Status); - if (method != null) - { - CommonConveyorLine? commonConveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.DeviceCode) as CommonConveyorLine; - CommonElevator? elevator = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.DeviceCode) as CommonElevator; - if (elevator == null && commonConveyorLine == null) - return content.Error("鏈壘鍒拌澶�"); - else - return content = (WebResponseContent)method.Invoke(this, new object[] { task, commonConveyorLine, elevator }); - - } - else - { - throw new Exception($"鏈壘鍒拌鐘舵�亄receiveDTO.Status}瀹氫箟"); - } - } - catch (Exception ex) - { - return content.Error(ex.Message); - } + return _signal.SignalInteraction(receiveDTO); } - /// <summary> - /// 鏀捐揣瀹屾垚 - /// </summary> - /// <param name="task"></param> - /// <returns></returns> - public WebResponseContent PutFinish(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) - { - WebResponseContent content = new WebResponseContent(); - try - { - if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) - { - elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1); - elevator.SetValue(ElevatorDBName.StartCommand, 1); - content.OK(); - } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) - { - if (task.DeviceCode.Contains("TSJ")) - { - elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1); - elevator.SetValue(ElevatorDBName.StartCommand, 1); - content.OK(); - } - else - { - commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "101"); - commonConveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTaskNum, 9990, "101"); - } - } - else - { - throw new Exception("浠诲姟鐘舵�佸紓甯�"); - } - } - catch (Exception ex) - { - content.Error(ex.Message); - } - return content; - } - - /// <summary> - /// 鍙栬揣瀹屾垚 - /// </summary> - /// <param name="task"></param> - /// <returns></returns> - public WebResponseContent PickUpFinish(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) - { - WebResponseContent content = new WebResponseContent(); - try - { - if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) - { - if (task.DeviceCode.Contains("TSJ")) - { - elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1); - elevator.SetValue(ElevatorDBName.StartCommand, 1); - content.OK(); - } - else - { - commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "101"); - content.OK(); - } - - } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) - { - if (task.DeviceCode.Contains("TSJ")) - { - elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1); - elevator.SetValue(ElevatorDBName.StartCommand, 1); - content.OK(); - } - } - else - { - throw new Exception("浠诲姟鐘舵�佸紓甯�"); - } - } - catch (Exception ex) - { - content.Error(ex.Message); - } - return content; - } - - /// <summary> - /// 璇锋眰鍙栬揣 - /// </summary> - /// <param name="task"></param> - /// <returns></returns> - public WebResponseContent RequestPickUp(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) - { - WebResponseContent content = new WebResponseContent(); - try - { - if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) - { - int AllowPickUp = 0; - if (task.DeviceCode.Contains("TSJ")) - AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp); - else - AllowPickUp = commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "101"); - - content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁稿彇璐�"); - - } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) - { - int AllowPickUp = 0; - if (task.DeviceCode.Contains("TSJ")) - AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp); - - content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁稿彇璐�"); - } - else - { - throw new Exception("浠诲姟鐘舵�佸紓甯�"); - } - } - catch (Exception ex) - { - content.Error(ex.Message); - } - return content; - } - - /// <summary> - /// 璇锋眰鏀捐揣 - /// </summary> - /// <param name="task"></param> - /// <returns></returns> - public WebResponseContent RequestPut(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) - { - WebResponseContent content = new WebResponseContent(); - try - { - if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) - { - int AllowPickUp = 0; - if (task.DeviceCode.Contains("TSJ")) - AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut); - - content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁告斁璐�"); - - } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) - { - int AllowPickUp = 0; - if (task.DeviceCode.Contains("TSJ")) - AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut); - else - AllowPickUp = commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "101"); - - content = AllowPickUp == 1 ? content.OK() : content.Error("璁惧涓嶅厑璁告斁璐�"); - } - else - { - throw new Exception("浠诲姟鐘舵�佸紓甯�"); - } - } - catch (Exception ex) - { - content.Error(ex.Message); - } - return content; - } - - #endregion + } } -- Gitblit v1.9.3