代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
´úÂë¹ÜÀí/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 } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvPodBerthAndMatDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ using 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; } } } ´úÂë¹ÜÀí/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); } } ´úÂë¹ÜÀí/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($"æªæ¾å°åéAGV任塿¥å£,è¯·æ£æ¥æ¥å£é ç½®"); 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; } } } ´úÂë¹ÜÀí/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) {