´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/00a56665-6752-4d06-b9b6-0852d20709ee.vsidxBinary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7a005823-c1a7-4703-9472-7a90323886f9.vsidxBinary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/APIEnum/APIEnum.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEAWCS_Common.APIEnum { public enum APIEnum { [Description("AGVåé任塿¥å£")] AgvSendTask, [Description("AGVå®å ¨ä¿¡å·åå¤")] AgvSecureReply } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvResponseContent.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_DTO.Agv { public class AgvResponseContent { /// <summary> /// è¿åç /// </summary> public string Code { get; set; } /// <summary> /// è¿åæ¶æ¯ /// </summary> public string Message { get; set; } /// <summary> /// 请æ±ç¼å· /// </summary> public string ReqCode { get; set; } /// <summary> /// èªå®ä¹è¿åï¼è¿åä»»å¡åå·ï¼ /// </summary> public string Data { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvSecureApplyDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_DTO.Agv { public class AgvSecureApplyDTO { /// <summary> /// 请æ±ç¼å· æ¯ä¸ªè¯·æ±é½è¦ä¸ä¸ªå¯ä¸ç¼å·,åä¸ä¸ªè¯·æ±éå¤æäº¤ä½¿ç¨åä¸ç¼å· /// </summary> public string ReqCode { get; set; } /// <summary> /// ç®æ ä½ /// </summary> public string WbCode { get; set; } /// <summary> /// ä»»å¡åå· /// </summary> public string TaskCode { get; set; } /// <summary> /// æ¹æ¬¡ /// </summary> public string MaterialLot { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvSecureReplyDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,56 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_DTO.Agv { public class AgvSecureReplyDTO { /// <summary> /// 请æ±ç¼å· æ¯ä¸ªè¯·æ±é½è¦ä¸ä¸ªå¯ä¸ç¼å·,åä¸ä¸ªè¯·æ±éå¤æäº¤,使ç¨åä¸ç¼å· /// </summary> public string ReqCode { get; set; } /// <summary> /// è¯·æ±æ¶é´ æ ¼å¼:yyyy-MM-dd HH:mm:ss /// </summary> public string ReqTime { get; set; } /// <summary> /// 客æ·ç«¯ç¼å· /// </summary> public string ClientCode { get; set; } /// <summary> /// 令çå· ç±è°åº¦ç³»ç»é¢å /// </summary> public string TokenCode { get; set; } /// <summary> /// å·¥ä½ä½ ä¸RCS-2000端é ç½®çä½ç½®åç§°ä¸è´ /// </summary> public string WbCode { get; set; } /// <summary> /// è½½å ·ç¼å· /// </summary> public string podCode { get; set; } /// <summary> /// AGVç¼å· /// </summary> public string agvCode { get; set; } /// <summary> /// ä»»å¡å· /// </summary> public string taskCode { get; set; } /// <summary> /// ä¸ä¸ä¸ªåä»»å¡åºå æå®ç¬¬å 个åä»»å¡å¼å§æ§è¡,æ ¡éªå任塿§è¡æ¯å¦æ£ç¡®,ä¸å¡«é»è®¤æ§è¡ä¸ä¸ä¸ªåä»»å¡ã /// </summary> public string taskSeq { get; set; } /// <summary> /// ä¸ä¸ä¸ªä½ç½®ä¿¡æ¯ /// positionCode:ä½ç½®ç¼å· /// type:对象类åå®ä¹: /// 00:代表 nextPositionCodeæ¯ä¸ä¸ªä½ç½® /// 02:代表 nextPositionCodeæ¯ä¸ä¸ªçç¥ /// </summary> public object nextPositionCode { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvTaskDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_DTO.Agv { /// <summary> /// AGVä»»å¡ /// </summary> public class AgvTaskDTO { /// <summary> /// 请æ±ç¼å· æ¯ä¸ªè¯·æ±é½è¦ä¸ä¸ªå¯ä¸ç¼å·,åä¸ä¸ªè¯·æ±éå¤æäº¤,使ç¨åä¸ç¼å· /// </summary> public string ReqCode { get; set; } /// <summary> /// ä»»å¡ç±»å /// </summary> public string TaskTyp { get; set; } /// <summary> /// å·¥ä½ä½ /// </summary> public string WbCode { get; set; } /// <summary> /// ä½ç½®è·¯å¾ /// </summary> public List<object> PositionCodePath { get; set; } /// <summary> /// è½½å ·ç¼å· /// </summary> public string PodCode { get; set; } /// <summary> /// è½½å ·ç±»å /// </summary> public string PodTyp { get; set; } /// <summary> /// ç©ææ¹æ¬¡ /// </summary> public string MaterialLot { get; set; } /// <summary> /// ä¼å 级(1~127)æå¤§ä¼å 级æé« 为空æ¶,éç¨ä»»å¡æ¨¡æ¿çä¼å 级 /// </summary> public string Priority { get; set; } /// <summary> /// AGVä»»å¡å· /// </summary> public string TaskCode { get; set; } /// <summary> /// AGV设å¤ç¼å· å¡«å坿宿ä¸ç¼å·çAGVæ§è¡è¯¥ä»»å¡ /// </summary> public string AgvCode { get; set; } /// <summary> /// AGV设å¤ç±»å /// </summary> public string AgvTyp { get; set; } /// <summary> /// åºå/çç¥<br/> /// æéè´§æ¶ä»¥åæ ¹æ®ç©ææ¹æ¬¡æéè´§æ¶æ¶çå è¿å åºè§åï¼æ¯æä»¥ä¸4个å¼ï¼<br/> /// 1ï¼æç §è´§æ¶å°è¾¾å¨ä½çæ¶é´é¡ºåºï¼å è¿å åº<br/> /// 2ï¼æç §è´§æ¶å°è¾¾å¨ä½çæ¶é´é¡ºåºï¼å è¿ååº<br/> /// 9ï¼æç §è´§æ¶ç»å®ç©ææ¹æ¬¡çæ¶é´é¡ºåºï¼å è¿å åº<br/> /// 10ï¼æç §è´§æ¶ç»å®ç©ææ¹æ¬¡çæ¶é´é¡ºåºï¼å è¿ååº<br/> /// </summary> public string PositionSelStrategy { get; set; } /// <summary> /// èªå®ä¹å段 /// </summary> public string Data { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Agv/AgvUpdateDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,111 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEA_DTO.Agv { public class AgvUpdateDTO { /// <summary> /// 请æ±ç¼å· æ¯ä¸ªè¯·æ±é½è¦ä¸ä¸ªå¯ä¸ç¼å·,åä¸ä¸ªè¯·æ±éå¤æäº¤ä½¿ç¨åä¸ç¼å· /// </summary> public string ReqCode { get; set; } /// <summary> /// è¯·æ±æ¶é´ æ ¼å¼:yyyy-MM-dd HH:mm:ss /// </summary> public string ReqTime { get; set; } /// <summary> /// ä½ç½®Xåæ ä»»å¡å®ææ¶æå¼ /// </summary> public int CooX { get; set; } /// <summary> /// ä½ç½®Yåæ ä»»å¡å®ææ¶æå¼ /// </summary> public int CooY { get; set; } /// <summary> /// å½åä½ç½®ç¼å·<br/> /// ä»»å¡å¼å§ï¼è¯¥ä½ç½®ä¸ºä»»å¡èµ·ç¹<br/> /// èµ°åºå¨ä½ï¼è¯¥ä½ç½®ä¸ºä»»å¡èµ·ç¹<br/> /// ä»»å¡ååæ¶ï¼è¯¥ä½ç½®ä¸ºå·¥ä½ä½ç¼å·<br/> /// ä»»å¡ç»æï¼è¯¥ä½ç½®ä¸ºä»»å¡ç»ç¹<br/> /// åæ¾ç³è¯·ï¼åæ¾æç®±çç¹<br/> /// </summary> public string CurrentPositionCode { get; set; } /// <summary> /// èªå®ä¹å段 /// </summary> public string Data { get; set; } /// <summary> /// å°å¾ç¼å· /// </summary> public string MapCode { get; set; } /// <summary> /// å°ç ç¼å· ä»»å¡å®ææ¶æå¼ /// </summary> public string MapDataCode { get; set; } /// <summary> /// ä»ä½ç¼ç å车ä¸CTU任塿¶æå¼ /// </summary> public string StgBinCode { get; set; } /// <summary> /// æ¹æ³å<br/> /// start : ä»»å¡å¼å§<br/> /// outbin : èµ°åºå¨ä½<br/> /// end : ä»»å¡ç»æ<br/> /// cancel : ä»»å¡ååæ¶<br/> /// applyï¼CTUæç®±åæ¾ç³è¯·<br/> /// </summary> public string Method { get; set; } /// <summary> /// è½½å ·ç¼å· /// </summary> public string PodCode { get; set; } /// <summary> /// è½½å ·æ¹å /// </summary> public string PodDir { get; set; } /// <summary> /// ç©ææ¹æ¬¡å· /// </summary> public string MaterialLot { get; set; } /// <summary> /// ç©æç±»å /// </summary> public string MaterialType { get; set; } /// <summary> /// AGVç¼å· /// </summary> public string RobotCode { get; set; } /// <summary> /// ä»»å¡åå· /// </summary> public string TaskCode { get; set; } /// <summary> /// å·¥ä½å°ç¼å· ä»»å¡å®ææ¶æå¼,ä¸çæä»»å¡åæ¥å£ä¸çwbCodeä¸è´ /// </summary> public string WbCode { get; set; } /// <summary> /// 容å¨ç¼å· /// </summary> public string CtnrCode { get; set; } /// <summary> /// 容å¨ç±»å /// </summary> public string CtnrType { get; set; } /// <summary> /// å··éç¼å· /// </summary> public string RoadWayCode { get; set; } /// <summary> /// å··éå 顺åºå·<br/> /// å··éå°¾æ¯0便¬¡å°å··é头便¬¡éå¢1 /// </summary> public string Seq { get; set; } /// <summary> /// 设å¤ç¼å· /// </summary> public string EqpCode { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -22,6 +22,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_DTO.Agv; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; @@ -118,12 +119,35 @@ /// <param name="taskNum">ä»»å¡å·</param> /// <returns>è¿åå¤çç»æ</returns> WebResponseContent TaskStatusRecovery(int taskNum); /// <summary> /// 忻任å¡ç¶æ /// </summary> /// <param name="taskNum">ä»»å¡å·</param> /// <returns>è¿åå¤çç»æ</returns> WebResponseContent RollbackTaskStatusToLast(int taskNum); /// <summary> /// åéAGVä»»å¡ /// </summary> /// <param name="taskModel"></param> /// <returns></returns> WebResponseContent AgvSendTask(AgvTaskDTO taskModel); /// <summary> /// å®å ¨ä¿¡å·ç³è¯· /// </summary> /// <param name="secureApplyModel"></param> /// <returns></returns> AgvResponseContent AgvSecureApply(AgvSecureApplyDTO secureApplyModel); /// <summary> /// å®å ¨ä¿¡å·åå¤ WCS-AGV /// </summary> /// <param name="secureModel"></param> /// <returns></returns> WebResponseContent AgvSecureReply(AgvSecureReplyDTO secureReplyModel); /// <summary> /// AGVä»»å¡ç¶æå·æ° /// </summary> /// <param name="agvUpdateModel"></param> /// <returns></returns> AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel); } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,40 @@ using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.DB.Models; namespace WIDESEAWCS_Model.Models { [SugarTable(nameof(Dt_ApiInfo), "æ¥å£ä¿¡æ¯")] public class Dt_ApiInfo : BaseEntity { /// <summary> /// ä¸»é® /// </summary> [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主é®")] public int Id { get; set; } /// <summary> /// æ¥å£ç¼å· /// </summary> [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "æ¥å£ç¼å·")] public string ApiCode { get; set; } /// <summary> /// æ¥å£åç§° /// </summary> [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "æ¥å£åç§°")] public string ApiName { get; set; } /// <summary> /// æ¥å£å°å /// </summary> [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "æ¥å£å°å")] public string ApiAddress { get; set; } /// <summary> /// 夿³¨ /// </summary> [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "夿³¨")] public string Remark { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,91 @@ using Autofac.Core; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_DTO.Agv; using WIDESEAWCS_Common.APIEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.Helper; namespace WIDESEAWCS_TaskInfoService { public partial class TaskService { /// <summary> /// åéAGVä»»å¡ /// </summary> /// <param name="taskModel"></param> /// <returns></returns> public WebResponseContent AgvSendTask(AgvTaskDTO taskModel) { WebResponseContent content = new WebResponseContent(); try { string apiAddress = AppSettings.Get(APIEnum.AgvSendTask.ToString()); string response = HttpHelper.Post(apiAddress, taskModel.Serialize()); AgvResponseContent agvContent= response.DeserializeObject<AgvResponseContent>(); if (agvContent.Code=="200") { content.OK(agvContent.Message); } else { content.Error(agvContent.Message); } } catch (Exception ex) { content.Error(ex.Message); } return content; } /// <summary> /// å®å ¨ä¿¡å·ç³è¯· AGV-WCS /// </summary> public AgvResponseContent AgvSecureApply(AgvSecureApplyDTO secureApplyModel) { return new AgvResponseContent(); } /// <summary> /// å®å ¨ä¿¡å·åå¤ WCS-AGV /// </summary> /// <param name="secureModel"></param> /// <returns></returns> public WebResponseContent AgvSecureReply(AgvSecureReplyDTO secureReplyModel) { WebResponseContent content = new WebResponseContent(); try { string apiAddress = AppSettings.Get(APIEnum.AgvSecureReply.ToString()); string response = HttpHelper.Post(apiAddress, secureReplyModel.Serialize()); AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>(); if (agvContent.Code == "200") { content.OK(agvContent.Message); } else { content.Error(agvContent.Message); } } catch (Exception ex) { content.Error(ex.Message); } return content; } /// <summary> /// AGVä»»å¡ç¶æå·æ° /// </summary> /// <param name="agvUpdateModel"></param> /// <returns></returns> public AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel) { return new AgvResponseContent(); } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -41,7 +41,7 @@ namespace WIDESEAWCS_TaskInfoService { public class TaskService : ServiceBase<Dt_Task, ITaskRepository>, ITaskService public partial class TaskService : ServiceBase<Dt_Task, ITaskRepository>, ITaskService { private readonly IRouterService _routerService; private readonly ITaskExecuteDetailService _taskExecuteDetailService; ´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/2c5380f0-67c1-41e2-940e-3a1dd36603f2.vsidxBinary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7a833a68-07df-4786-a4b8-e9726236f98d.vsidxBinary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/94b1eced-02e0-42fa-a704-73db3cda704b.vsidxBinary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/fde68f49-1fc8-44c8-8785-4d80e9e536c1.vsidxBinary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_ApiInfo.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,40 @@ using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.DB.Models; namespace WIDESEA_Model.Models { [SugarTable(nameof(Dt_ApiInfo), "æ¥å£ä¿¡æ¯")] public class Dt_ApiInfo : BaseEntity { /// <summary> /// ä¸»é® /// </summary> [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主é®")] public int Id { get; set; } /// <summary> /// æ¥å£ç¼å· /// </summary> [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "æ¥å£ç¼å·")] public string ApiCode { get; set; } /// <summary> /// æ¥å£åç§° /// </summary> [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "æ¥å£åç§°")] public string ApiName { get; set; } /// <summary> /// æ¥å£å°å /// </summary> [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "æ¥å£å°å")] public string ApiAddress { get; set; } /// <summary> /// 夿³¨ /// </summary> [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "夿³¨")] public string Remark { get; set; } } }