From 26807a70f3e2c7780ad82cbb12721ea0134a032e Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 15 一月 2025 14:24:21 +0800 Subject: [PATCH] AGV储位绑定重发 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs | 19 +++++++++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs | 26 +++++++++++++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs | 7 +++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 3 + 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs | 48 ++++++++++++++++++++++++ 5 files changed, 102 insertions(+), 1 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" index 87f2e46..f5ef2f3 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs" @@ -43,6 +43,11 @@ /// WMS鏄惁绉诲簱鍒ゆ柇 /// </summary> [Description("WMS鏄惁绉诲簱鍒ゆ柇")] - WMSIsReloaction + WMSIsReloaction, + /// <summary> + /// AGV鍌ㄤ綅缁戝畾鏌ヨ + /// </summary> + [Description("AGV鍌ㄤ綅缁戝畾鏌ヨ")] + Agv_CSJPodBerthAndMat } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs" new file mode 100644 index 0000000..9c42a4e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs" @@ -0,0 +1,48 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_DTO.Agv +{ + public class AgvPodBerthAndMatDTO + { + /// <summary> + /// 璇锋眰缂栧彿 + /// </summary> + public string ReqCode { get; set; } + /// <summary> + /// 璇锋眰鏃堕棿鎴� + /// </summary> + public string ReqTime { get; set; } + /// <summary> + /// 瀹㈡埛绔紪鍙� + /// </summary> + public string ClientCode { get; set; } + /// <summary> + /// 浠ょ墝鍙� + /// </summary> + public string TokenCode { get; set; } + /// <summary> + /// 璐ф灦缂栧彿 + /// </summary> + public string PodCode { get; set; } + /// <summary> + /// 鐗╂枡鎵规 + /// </summary> + public string MaterialLot { get; set; } + /// <summary> + /// 浣嶇疆缂栧彿 + /// </summary> + public string PositionCode { get; set; } + /// <summary> + /// 鍖哄煙缂栧彿 + /// </summary> + public string AreaCode { get; set; } + /// <summary> + /// 鍦板浘绠�绉� + /// </summary> + public string MapShortName { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" index 94f4966..08daff0 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" @@ -28,6 +28,7 @@ using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Enums; +using WIDESEAWCS_DTO.Agv; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_Model.Models; @@ -227,5 +228,7 @@ /// <param name="roadwayNos"></param> /// <returns></returns> WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos); + + WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs" index 5fa9778..153dccf 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs" @@ -9,6 +9,7 @@ using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_DTO.Agv; namespace WIDESEAWCS_TaskInfoService { @@ -90,5 +91,30 @@ { return new AgvResponseContent(); } + public WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat) + { + WebResponseContent content = new WebResponseContent(); + try + { + string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == PodBerthAndMat.ToString())?.ApiAddress; + if (string.IsNullOrEmpty(apiAddress)) + return WebResponseContent.Instance.Error($"鏈壘鍒板彂閫丄GV浠诲姟鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�"); + string response = HttpHelper.Post(apiAddress, agvPodModel.Serialize()); + AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>(); + if (agvContent.Code == "0") + { + content.OK(agvContent.Message); + } + else + { + content.Error(agvContent.Message); + } + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" index a56bf1b..c3ae198 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" @@ -11,6 +11,7 @@ using WIDESEAWCS_Model.Models; using static Dm.net.buffer.ByteArrayBuffer; using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_DTO.Agv; namespace WIDESEAWCS_Tasks { @@ -71,6 +72,24 @@ } } _taskService.UpdateData(newTasks); + //鍑哄簱缁戝畾鏌ヨ + Dt_Task outBound = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.Exception.ObjToInt() && nameof(AGV_CSJJob).Contains(x.DeviceCode) && x.TaskType==TaskTypeEnum.Outbound.ObjToInt()).ToList().OrderBy(x => x.Grade).ThenBy(x=>x.CreateDate).First(); + if (outBound != null) + { + AgvPodBerthAndMatDTO andMatDTO = new AgvPodBerthAndMatDTO() + { + ReqCode = Guid.NewGuid().ToString().Replace("-", ""), + PositionCode=outBound.TargetAddress + }; + WebResponseContent content = _taskService.AgvPodBerthAndMat(andMatDTO); + if (content.Status) + { + outBound.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt(); + outBound.ExceptionMessage = ""; + //agvTask.Remark = content.Data.ObjToString(); + _taskService.UpdateTask(outBound, TaskStatusEnum.AGV_Execute); + } + } } catch (Exception ex) { -- Gitblit v1.9.3