From 7195016afc472307e4db0b415e45c9d4275bdb02 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 30 十月 2025 17:27:32 +0800
Subject: [PATCH] 1
---
项目代码/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