From 960b33fa24c47a330e51a2c24859d681ae62caeb Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 16 四月 2026 10:09:49 +0800
Subject: [PATCH] 重构任务与库存模型,增强日志管理与区域接口
---
Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_Tasks/ESS/ESSSignal.cs | 74 +++++++++++++++++++++++++++++--------
1 files changed, 58 insertions(+), 16 deletions(-)
diff --git a/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/AGVSignal.cs b/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_Tasks/ESS/ESSSignal.cs
similarity index 84%
rename from Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/AGVSignal.cs
rename to Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_Tasks/ESS/ESSSignal.cs
index b9da5ff..ae15f58 100644
--- a/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/AGVSignal.cs
+++ b/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_Tasks/ESS/ESSSignal.cs
@@ -1,6 +1,8 @@
-锘縰sing AutoMapper;
+锘縰sing AngleSharp.Io;
+using AutoMapper;
using LogLibrary.Log;
using Newtonsoft.Json;
+using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_DTO.AGV;
@@ -11,10 +13,11 @@
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_Tasks.ConveyorLineJob;
+using TaskStatus = WIDESEAWCS_DTO.AGV.TaskStatus;
namespace WIDESEAWCS_Tasks.AGV
{
- public class AGVSignal:IAGVSignal
+ public class ESSSignal:IESSSignal
{
private readonly ITaskRepository _taskRepository;
private readonly ITask_HtyRepository _taskhtyRepository;
@@ -22,7 +25,7 @@
private readonly IDt_StationManagerRepository _stationManagerRepository;
private readonly IMapper _mapper;
- public AGVSignal(ITaskRepository taskRepository, ITaskService taskService,IDt_StationManagerRepository stationManagerRepository,ITask_HtyRepository taskhtyRepository, IMapper mapper)
+ public ESSSignal(ITaskRepository taskRepository, ITaskService taskService,IDt_StationManagerRepository stationManagerRepository,ITask_HtyRepository taskhtyRepository, IMapper mapper)
{
_taskRepository = taskRepository;
_taskService = taskService;
@@ -30,28 +33,40 @@
_taskhtyRepository = taskhtyRepository;
_mapper = mapper;
}
- #region AGV涓庤澶囦俊鍙蜂氦浜�
+ #region ESS浠诲姟鐘舵�佸洖璋�
/// <summary>
- /// AGV--璁惧浜や簰
+ /// ESS浠诲姟鐘舵�佸洖璋�
/// </summary>
/// <returns></returns>
- public WebResponseContent SignalInteraction(AGVReceiveDTO receiveDTO)
+ public WebResponseContent TaskStatusCallback(StatusCallbackRequest result)
{
WebResponseContent content = new WebResponseContent();
try
{
- LogFactory.WriteInfo($"AGV鐘舵�佷笂鎶�", $"鍙傛暟銆恵JsonConvert.SerializeObject(receiveDTO)}銆憑Environment.NewLine}{Environment.NewLine}");
- var task = _taskRepository.QueryFirst(t => t.TaskNum == Convert.ToInt32(receiveDTO.orderId));
+ var task = _taskRepository.QueryFirst(t => t.TaskNum == Convert.ToInt32(result.TaskCode));
if (task == null)
{
return content.Error("鏈壘鍒颁换鍔�");
}
-
- CommonConveyorLine? commonConveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1001") as CommonConveyorLine;
- CommonElevator? elevator = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ1") as CommonElevator;
- switch (receiveDTO.status)
+ switch (result.EventType)
{
+ case EventType.tote_load:
+ content.OK();
+ break;
+ case EventType.tote_unload:
+ content.OK();
+ break;
+ case EventType.robot_reach:
+ content.OK();
+ break;
+ case EventType.task:
+ content = RobotTaskStatusCallback(result, task);
+ break;
+ case EventType.task_allocated:
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ break;
+
//case 20:
// content = RequestPickUp(task, commonConveyorLine, elevator);
// break;
@@ -65,10 +80,9 @@
// content = PutFinish(task, commonConveyorLine, elevator);
// break;
default:
- content.Error("鏈煡鐘舵��");
+ content.Error($"鏈煡鐨勪簨浠剁被鍨�: {result.EventType}");
break;
}
- LogFactory.WriteInfo($"AGV鐘舵�佷笂鎶�", $"杩斿洖鍙傛暟銆恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}");
return content;
}
catch (Exception ex)
@@ -77,6 +91,34 @@
}
}
+ public WebResponseContent RobotTaskStatusCallback(StatusCallbackRequest result,Dt_Task task)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ switch (result.Status)
+ {
+ case TaskStatus.cancel:
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ break;
+ case TaskStatus.success:
+ break;
+ case TaskStatus.suspend:
+ break;
+ default:
+ break;
+ }
+ content.OK();
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+ #endregion
+
+ #region ESS浠诲姟鐘舵�佸洖璋�
///// <summary>
///// 鏀捐揣瀹屾垚
///// </summary>
@@ -297,9 +339,9 @@
// _taskRepository.UpdateData(task);
// content.Error("璁惧涓嶅厑璁稿彇璐�");
// }
-
+
// }
-
+
// }
// catch (Exception ex)
// {
--
Gitblit v1.9.3