From d0cc37c3c11859cc55f30624692dca55be2b8a32 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 29 十二月 2025 07:26:51 +0800
Subject: [PATCH] 变更及代码优化
---
项目代码/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs | 85 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 82 insertions(+), 3 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
index c9d6b61..68f68b3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
@@ -5,6 +5,7 @@
using System.Text.RegularExpressions;
using WIDESEA_DTO.Agv;
using WIDESEA_External.Model;
+using WIDESEAWCS_Common.APIEnum;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Enums;
@@ -277,6 +278,10 @@
_taskService.UpdateTask(task, TaskStatusEnum.AGV_Finish);
PutFinish(oldAddress, task.TaskNum);
}
+ else if (task.TaskType == TaskTypeEnum.WFBLMYLBackInbound.ObjToInt() || task.TaskType == TaskTypeEnum.WFBYLInbound.ObjToInt())
+ {
+ _taskService.TaskCompleted(task.TaskNum);
+ }
else
{
task.CurrentAddress = dt_Station.StationCode;
@@ -510,7 +515,7 @@
/// <summary>
/// 鑾峰彇妗佹灦鏀炬枡淇″彿
/// </summary>
- public W_TrussCartonDB GetCartonPut(string StationCode)
+ private W_TrussCartonDB GetCartonPut(string StationCode)
{
switch (StationCode)
{
@@ -533,7 +538,7 @@
/// <summary>
/// 鑾峰彇妗佹灦璇锋眰淇″彿
/// </summary>
- public W_TrussCartonDB GetCartonRequest(string StationCode)
+ private W_TrussCartonDB GetCartonRequest(string StationCode)
{
switch (StationCode)
{
@@ -557,7 +562,7 @@
/// <summary>
/// 鑾峰彇妗佹灦杩涘叆淇″彿
/// </summary>
- public R_TrussCartonDB GetCarton(string StationCode)
+ private R_TrussCartonDB GetCarton(string StationCode)
{
switch (StationCode)
{
@@ -713,5 +718,79 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+ /// <summary>
+ /// AGV纭瀹屾垚鎺ュ彛(鍙栨斁)
+ /// </summary>
+ /// <param name="code"></param>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("AGVFinish"), AllowAnonymous]
+ public WebResponseContent AGVFinish(string address,int taskNum)
+ {
+ try
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x=>x.TaskNum==taskNum && x.DeviceCode=="AGV");
+ if (task==null)
+ {
+ return WebResponseContent.Instance.Error($"{taskNum}AGV浠诲姟涓嶅瓨鍦�");
+ }
+ //鑾峰彇瀵瑰簲鐨勫潗鏍囩偣
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x=>x.AGVStationCode== address);
+ if (stationManger==null)
+ {
+ return WebResponseContent.Instance.Error($"{address}AGV鍦板潃缂栧彿涓嶅瓨鍦�");
+ }
+ if (task.TaskState == TaskStatusEnum.AGV_Executing.ObjToInt())//鍙栬揣
+ {
+ if (task.CurrentAddress != stationManger.StationCode)
+ {
+ return WebResponseContent.Instance.Error($"{taskNum}AGV浠诲姟鍙栬揣鍦板潃缂栧彿涓嶆槸{address}");
+ }
+ AgvFinishDTO agvFinishDTO = new AgvFinishDTO()
+ {
+ ReceiveTaskID = task.TaskNum.ToString(),
+ Variables = new List<PointDetail>()
+ {
+ new PointDetail()
+ {
+ Code="isPick",
+ Value="true"
+ }
+ }
+ };
+ //鍙戦�丄GV瀹屾垚閫氱煡
+ WebResponseContent content = _taskService.AGVFinish(agvFinishDTO);
+ if (!content.Status)
+ throw new Exception(content.Message);
+ }
+ else//鏀捐揣
+ {
+ if (task.NextAddress != stationManger.StationCode)
+ {
+ return WebResponseContent.Instance.Error($"{taskNum}AGV浠诲姟鏀捐揣鍦板潃缂栧彿涓嶆槸{address}");
+ }
+ AgvFinishDTO agvFinishDTO = new AgvFinishDTO()
+ {
+ ReceiveTaskID = task.TaskNum.ToString(),
+ Variables = new List<PointDetail>()
+ {
+ new PointDetail()
+ {
+ Code="isDown",
+ Value="true"
+ }
+ }
+ };
+ //鍙戦�丄GV瀹屾垚閫氱煡
+ WebResponseContent content = _taskService.AGVFinish(agvFinishDTO);
+ if (!content.Status)
+ throw new Exception(content.Message);
+ }
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
--
Gitblit v1.9.3