´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs
@@ -97,16 +97,30 @@ #region 海康AGVå ¶ä»ä»»å¡ç¶æ /// <summary> /// AGVå¾ ç»§ç»æ§è¡,AGVå¾ è¿å ¥è¾éçº¿å£ /// </summary> [Description("AGVå¾ ç»§ç»æ§è¡")] AGV_WaitToExecute, /// <summary> /// AGVè¿å ¥è¾é线å£ä¸ /// </summary> [Description("AGVè¿å ¥è¾é线å£ä¸")] AGV_ToExecute, /// <summary> /// æçå·ç¡®è®¤ä¸ /// </summary> [Description("æçå·ç¡®è®¤ä¸")] CheckPalletCodeing, /// <summary> /// AGVå¾ ç»§ç»æ§è¡ /// æçå·ç¡®è®¤å®æ /// </summary> [Description("AGVå¾ ç»§ç»æ§è¡")] AGV_WaitToExecute, [Description("æçå·ç¡®è®¤å®æ")] CheckPalletCodeFinish, ///// <summary> ///// AGVå/æ¾è´§ä¸ ///// </summary> //[Description("AGVå/æ¾è´§ä¸")] //AGV_ToPuting, #endregion #region ååè½¦å ¶ä»ä»»å¡ç¶æ ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/AGV/HIKROBOT/HIKROBOTReturn.cs
@@ -1,4 +1,5 @@ using Newtonsoft.Json; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using System; using System.Collections.Generic; using System.Linq; @@ -15,8 +16,8 @@ /// <summary> /// è¿åç /// </summary> public int code { get; set; } public bool message { get; set; } public string code { get; set; } public string message { get; set; } public object data { get; set; } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/IQCResultDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEAWCS_DTO.WMS { /// <summary> /// è´¨æ£ç»æåé¦ /// </summary> public class IQCResultDTO { /// <summary> /// ç«å°å· /// </summary> public string StationCode { get; set; } /// <summary> /// æç®±æ¡ç /// </summary> public string ContainerCode { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -274,5 +274,7 @@ /// <param name="wMSMoveLocationFeedback"></param> /// <returns></returns> public WebResponseContent WcsMovingDataBack(WMSMoveLocationFeedback wMSMoveLocationFeedback); WebResponseContent ContainerRequest(WMSContainerFlow wMSContainerFlow); WebResponseContent IQCResult(IQCResultDTO iQC); } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
@@ -150,7 +150,7 @@ public DateTime? Dispatchertime { get; set; } /// <summary> /// 夿³¨ /// 夿³¨,海康AGVä»»å¡å· /// </summary> [ImporterHeader(Name = "夿³¨")] [ExporterHeader(DisplayName = "夿³¨")] ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/WMS/WMSController.cs
@@ -22,10 +22,6 @@ _stationMangerService = stationMangerService; } /// <summary> /// WMSä¸åä»»å¡ /// </summary> @@ -35,6 +31,18 @@ public WMSReturn ReceiveWMSTask([FromBody] List<WMSTasksDTO> taskDTOs) { WebResponseContent content = _taskService.ReceiveWMSTask(taskDTOs); return WMSReturnMethod.ReturnWMS(content); } /// <summary> /// 容卿µå¨è¯·æ± /// </summary> /// <param name="taskDTOs"></param> /// <returns></returns> [HttpPost, Route("ContainerRequest"), AllowAnonymous] public WMSReturn ContainerRequest([FromBody] WMSContainerFlow wMSContainerFlow) { WebResponseContent content = _taskService.ContainerRequest(wMSContainerFlow); return WMSReturnMethod.ReturnWMS(content); } @@ -51,14 +59,14 @@ } /// <summary> /// ä¿®æ¹ä»»å¡ä¼å 级 /// è´¨æ£ç»æåé¦ /// </summary> /// <param name="updateTaskPriority"></param> /// <param name="iQC"></param> /// <returns></returns> [HttpPost, Route("UpdateWMSTaskPriority"), AllowAnonymous] public WMSReturn UpdateWMSTaskPriority([FromBody] WMSUpdateTaskPriority updateTaskPriority) [HttpPost, Route("IQCResult"), AllowAnonymous] public WMSReturn IQCResult([FromBody] IQCResultDTO iQC) { WebResponseContent content = _taskService.UpdateWMSTaskPriority(updateTaskPriority); WebResponseContent content = _taskService.IQCResult(iQC); return WMSReturnMethod.ReturnWMS(content); } @@ -67,10 +75,22 @@ /// </summary> /// <param name="WMSUpdateLocationArea"></param> /// <returns></returns> [HttpPost, Route("ModifyWMSLayoutZone"), AllowAnonymous] public WMSReturn ModifyWMSLayoutZone([FromBody] WMSUpdateLocationArea wMSUpdateLocationArea) [HttpPost, Route("UpdateArea"), AllowAnonymous] public WMSReturn UpdateArea([FromBody] WMSUpdateLocationArea wMSUpdateLocationArea) { WebResponseContent content = _taskService.ModifyWMSLayoutZone(wMSUpdateLocationArea); return WMSReturnMethod.ReturnWMS(content); } /// <summary> /// ä¿®æ¹ä»»å¡ä¼å 级 /// </summary> /// <param name="updateTaskPriority"></param> /// <returns></returns> [HttpPost, Route("UpdateTaskGrade"), AllowAnonymous] public WMSReturn UpdateTaskGrade([FromBody] WMSUpdateTaskPriority updateTaskPriority) { WebResponseContent content = _taskService.UpdateWMSTaskPriority(updateTaskPriority); return WMSReturnMethod.ReturnWMS(content); } @@ -79,8 +99,8 @@ /// </summary> /// <param name="AreaCode">åºåå·</param> /// <returns></returns> [HttpPost, Route("LocationInquiry"), AllowAnonymous] public WMSReturn LocationInquiry(string AreaCode) [HttpPost, Route("QueryStation"), AllowAnonymous] public WMSReturn QueryStation(string AreaCode) { WebResponseContent content = _taskService.LocationInquiry(AreaCode); return WMSReturnMethod.ReturnWMS(content); ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -33,7 +33,7 @@ "DBSeedEnable": false, "QuartzDBSeedEnable": false, "LogDeubgEnable": true, //æ¯å¦è®°å½è°è¯æ¥å¿ "PrintSql": true, //æå°SQLè¯å¥ "PrintSql": false, //æå°SQLè¯å¥ "LogAOPEnable": true, //æ¯å¦è®°å½AOPæ¥å¿ "WebSocketEnable": true, //æ¯å¦å¼å¯WebSocketæå¡ "WebSocketPort": 9296 //WebSocketæå¡ç«¯å£ ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -966,5 +966,15 @@ { throw new NotImplementedException(); } public WebResponseContent ContainerRequest(WMSContainerFlow wMSContainerFlow) { throw new NotImplementedException(); } public WebResponseContent IQCResult(IQCResultDTO iQC) { throw new NotImplementedException(); } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs
@@ -5,7 +5,10 @@ using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_DTO; using WIDESEAWCS_DTO.AGV.HIKROBOT; using WIDESEAWCS_DTO.RGV.FOURBOT; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_Tasks @@ -13,25 +16,73 @@ public partial class TaskJob { #region å¤ç海康AGVä»»å¡ /// <summary> /// å¤ç海康ä¸åç±»åçä»»å¡ï¼è¿è¡ä¸åçä¸å¡é»è¾å¤çï¼é å¥ä»»å¡:ä¿®æ¹å¹³åºè´§ä½ä¿¡æ¯/æ¢å±ä»»å¡è®°å½å°è½¦ä¿¡æ¯(å°è½¦ä½ç½®å±)ï¼åºå ¥åºä»»å¡å¤çåºä½ä¿¡æ¯ï¼ /// </summary> /// <param name="tasks"></param> public void HIKROBOTTask(List<Dt_Task> tasks) { foreach (var item in tasks) { SendHIKROBOTTask(item); var content = SendHIKROBOTTask(item); } } #endregion #region å¤çæµ·åº·å¾ ç»§ç»æ§è¡ä»»å¡ public void SendAGVWaitToExecuteTask(List<Dt_Task> tasks) { foreach (var item in tasks) { var content = SendHIKROBOTTask(item); } } #endregion #region ä¸å海康AGVä»»å¡ public void SendHIKROBOTTask(Dt_Task task) public WebResponseContent SendHIKROBOTTask(Dt_Task task) { WebResponseContent content = new WebResponseContent(); HIKROBOTTaskSubmit hIKROBOTTaskSubmit = new HIKROBOTTaskSubmit(); try { hIKROBOTTaskSubmit.taskType = ""; hIKROBOTTaskSubmit.targetRoute = new List<TargetRouteDto> { new TargetRouteDto() }; hIKROBOTTaskSubmit.initPriority = task.Grade; Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(HIKROBOTTaskSubmit)) ?? throw new Exception("æªæ¾å°æµ·åº·AGVä»»å¡ä¸åæ¥å£é 置信æ¯ï¼è¯·æ£æ¥æ¥å£é ç½®"); #region ä»»å¡ä¿¡æ¯è½¬æ¢ HIKROBOTTaskSubmit hIKROBOTTaskSubmit = new HIKROBOTTaskSubmit() { taskType = "", initPriority = task.Grade, targetRoute = new List<TargetRouteDto> { new TargetRouteDto { type= "SITE", code=task.CurrentAddress, operation="COLLECT",//åè´§ }, new TargetRouteDto { type= "SITE", code=task.NextAddress, operation="DELIVERY",//éè´§ } } }; #endregion string response = HttpHelper.Post(apiInfo.ApiAddress, hIKROBOTTaskSubmit.Serialize()); var hIKROBOTReturn = response.DeserializeObject<HIKROBOTReturn>(); if (hIKROBOTReturn.code == "SUCCESS") { var data = hIKROBOTReturn.data.ToString().DeserializeObject<HIKROBOTReturnData>(); content.OK(data: data); //task.Remark = data.robotTaskCode; } else { throw new Exception(hIKROBOTReturn.message); } //_taskService.UpdateData(task); } catch (Exception ex) { @@ -41,6 +92,7 @@ { } return content; } #endregion } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs
@@ -85,8 +85,14 @@ if (Tasks.Count > 0) SendOutTask(Tasks); #endregion #region ä¸åæçç¡®è®¤çæµ·åº·AGVä»»å¡ #region ä¸åå¤è®¾å 许è¿å ¥ç海康AGVä»»å¡ Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.AGV_WaitToExecute).ToList(); if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks); #endregion #region ä¸åæçç¡®è®¤å®æçæµ·åº·AGVä»»å¡ Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish).ToList(); if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks); #endregion } catch (Exception ex)