| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestExtend.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs
@@ -234,7 +234,7 @@ } else { WriteError(nameof(TestJob), "åæ°é误,æªä¼ é设å¤åæ°æè®¾å¤ç±»åé误"); WriteError(nameof(TSJJob), "åæ°é误,æªä¼ é设å¤åæ°æè®¾å¤ç±»åé误"); } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs
@@ -32,10 +32,8 @@ try { Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("æªæ¾å°åå车任å¡ä¸åæ¥å£é 置信æ¯ï¼è¯·æ£æ¥æ¥å£é ç½®"); int i = 0; foreach (var task in tasks) { i++; fOURBOTnewMovePodTask = new() { priority = task.Grade, @@ -70,6 +68,11 @@ catch (Exception ex) { task.ExceptionMessage = ex.Message; content.Error(ex.Message); } finally { _trackloginfoService.AddTrackLog(fOURBOTnewMovePodTask, content, "ä¸ååå车æ°å»ºå ¥åºä»»å¡", "", ""); } } var uptasks = tasks.Where(task => string.IsNullOrEmpty(task.ExceptionMessage)).ToList(); @@ -79,6 +82,7 @@ { foreach (var item in errortasks) { Thread.Sleep(500); _taskService.ErrorTaskFeedback(item, true); } } @@ -87,10 +91,6 @@ catch (Exception ex) { content.Error(ex.Message); } finally { _trackloginfoService.AddTrackLog(fOURBOTnewMovePodTask, content, "ä¸ååå车æ°å»ºå ¥åºä»»å¡", "", ""); } } @@ -183,7 +183,9 @@ }; requestData = request; // ä¿åè¯·æ±æ°æ®ç¨äºæ¥å¿ //content.candidatePodIDs = tasks.Select(x => x.PalletCode).ToList(); string response = HttpHelper.Post(apiInfo.ApiAddress, request.Serialize()); string response = HttpHelper.Post("http://127.0.0.1:4523/m2/6165241-5857331-default/440906899?apifoxApiId=440906899", request.Serialize()); //string response = HttpHelper.Post(apiInfo.ApiAddress, request.Serialize()); FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); content.OK(data: fOURBOTReturn); if (fOURBOTReturn.returnCode == 0) @@ -608,7 +610,7 @@ { foreach (var item in tasks) { var takes = _taskService.Repository.QueryFirst(x => x.Roadway == item.Roadway && x.TaskType == (int)TaskTypeEnum.CPMoveInventory); var takes = _taskService.Repository.QueryFirst(x => x.Roadway == item.Roadway && x.TaskType == (int)TaskTypeEnum.CPMoveInventory && (x.TaskState == (int)TaskStatusEnum.RGV_NewMoveTask || x.TaskState == (int)TaskStatusEnum.RGV_MoveTaskSend)); if (takes == null) { item.TaskState = (int)TaskStatusEnum.RGV_WaitSend; ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestExtend.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,162 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Common.LocationEnum; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Common; using WIDESEAWCS_Model.Models; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_QuartzJob; namespace WIDESEAWCS_Tasks { public partial class TestJob { /// <summary> /// åå车质æ£ä»»å¡ /// </summary> /// <param name="device"></param> public void SXCTasks(OtherDevice device) { #region ååè½¦ä»»å¡ List<Dt_Task> Uptasks = new List<Dt_Task>(); var taskList = _taskService.Repository.QueryData(x => x.TaskType == TaskTypeEnum.CPInbound.ObjToInt() && x.TaskState == TaskStatusEnum.CheckShapeing.ObjToInt()); //ä»»å¡çç®æ å°å对äºç«å°å·ï¼ foreach (var task in taskList) { if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress)) { device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress); //å读åè´¨æ£ç»æ var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress); //å·¦è¶ å®½è¦å var R_LeftOverWidthWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_LeftOverWidthWarning, task.SourceAddress); //å³è¶ 宽è¦å var R_RightWideWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_RightWideWarning, task.SourceAddress); //è¶ é«è¦å var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress); if (qualityResult) { //å¦æè´¨æ£éè¿äºï¼å°±æä»»å¡ç¶ææ¹ä¸ºè´¨æ£å®æ task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt(); task.ExceptionMessage = ""; Uptasks.Add(task); } else { task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt(); task.ExceptionMessage = "夿£å¤±è´¥"; if (R_LeftOverWidthWarning) task.ExceptionMessage += ",å·¦è¶ å®½"; if (R_RightWideWarning) task.ExceptionMessage += ",å³è¶ 宽"; if (R_ExtremeWarning) task.ExceptionMessage += ",è¶ é«"; Uptasks.Add(task); //åå ¥å¤ä½ä¿¡å· //device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress); } //åå ¥åæ¢è´¨æ£ä¿¡å· device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress); Thread.Sleep(500); device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress); } //else //{ // //åå ¥åæ¢è´¨æ£ä¿¡å· // device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress); // device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); //} else { task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt(); task.ExceptionMessage = "æªæ£æµå°è´¨æ£å®æä¿¡å·"; Uptasks.Add(task); } } if (Uptasks.Count > 0) { _taskService.UpdateData(Uptasks); } #endregion } /// <summary> /// 海康AGV1-6æ¥¼ä»»å¡ /// </summary> /// <param name="device"></param> public void KHTasks(OtherDevice device) { List<Dt_Task> Uptasks = new List<Dt_Task>(); var AGVtaskList = _taskService.Repository.QueryData(x => x.TaskState == TaskStatusEnum.AGV_WaitToExecute.ObjToInt() && (x.TaskType == TaskTypeEnum.Q3RK.ObjToInt() || x.TaskType == TaskTypeEnum.Q3CK.ObjToInt()));//1-6å6-1æ¥¼ä»»å¡ foreach (var item in AGVtaskList) { var address = item.TaskType == TaskTypeEnum.Q3RK.ObjToInt() ? item.TargetAddress : item.SourceAddress; var stationManger = _stationMangerService.Repository.QueryFirst(x => x.StationCode == address); if (stationManger == null) { item.ExceptionMessage = $"æªæ¾å°ã{address}ãç«å°ä¿¡æ¯"; Uptasks.Add(item); continue; } var StockAvailableSymbol = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_StockAvailableSymbol, address); if (item.TaskType == TaskTypeEnum.Q3RK.ObjToInt()) { if (StockAvailableSymbol) { item.ExceptionMessage = $"{address}ç«å°å çµæ£æµæè´§ï¼"; Uptasks.Add(item); continue; } if (stationManger.IsOccupied == (int)LocationStatusEnum.Lock) { item.ExceptionMessage = $"ç«å°æè´§ï¼"; Uptasks.Add(item); continue; } } else { if (!StockAvailableSymbol) { item.ExceptionMessage = $"{address}ç«å°å çµæ£æµæ è´§ï¼"; Uptasks.Add(item); continue; } if (stationManger.IsOccupied == (int)LocationStatusEnum.Free) { item.ExceptionMessage = $"ç«å°æ è´§ï¼"; Uptasks.Add(item); continue; } } //intoè¿å ¥ä¸æ¥¼ä½ç½®çæ¶åï¼åå ¥è¿å ¥ä¿¡å· device.SetValue(QualityInspectionCommandEnum.RequestToEnter, true, address); if (!device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.Blocking, address)) { item.ExceptionMessage = $"{address}ç«å°å æ ä¸ä¸ºtrueï¼1ï¼!"; Uptasks.Add(item); continue; } var result = _taskService.Hikvisiontaskscontinue(item.WMSTaskNum); if (result.Status == false) { if (item.ExceptionMessage != result.Message) { item.ExceptionMessage = result.Message; Uptasks.Add(item); } continue; } item.TaskState = (int)TaskStatusEnum.AGV_ToExecute; item.ExceptionMessage = ""; Uptasks.Add(item); } if (Uptasks.Count > 0) { _taskService.UpdateData(Uptasks); } } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs
@@ -28,7 +28,7 @@ namespace WIDESEAWCS_Tasks { [DisallowConcurrentExecution] public class TestJob : JobBase, IJob public partial class TestJob : JobBase, IJob { private readonly ITaskService _taskService; private readonly IStationMangerService _stationMangerService; @@ -51,127 +51,11 @@ // _taskService.Repository ä»å¨å±ï¼è¿è¡æ°æ®åºè®¿é®- try { #region ååè½¦ä»»å¡ List<Dt_Task> Uptasks = new List<Dt_Task>(); var taskList = _taskService.Repository.QueryData(x => x.TaskType == TaskTypeEnum.CPInbound.ObjToInt() && x.TaskState == TaskStatusEnum.CheckShapeing.ObjToInt()); //ä»»å¡çç®æ å°å对äºç«å°å·ï¼ foreach (var task in taskList) { if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress)) { device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress); //å读åè´¨æ£ç»æ var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress); //å·¦è¶ å®½è¦å var R_LeftOverWidthWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_LeftOverWidthWarning, task.SourceAddress); //å³è¶ 宽è¦å var R_RightWideWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_RightWideWarning, task.SourceAddress); //è¶ é«è¦å var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress); if (qualityResult) { //å¦æè´¨æ£éè¿äºï¼å°±æä»»å¡ç¶ææ¹ä¸ºè´¨æ£å®æ task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt(); task.ExceptionMessage = ""; Uptasks.Add(task); } else { task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt(); task.ExceptionMessage = "夿£å¤±è´¥"; if (R_LeftOverWidthWarning) task.ExceptionMessage += ",å·¦è¶ å®½"; if (R_RightWideWarning) task.ExceptionMessage += ",å³è¶ 宽"; if (R_ExtremeWarning) task.ExceptionMessage += ",è¶ é«"; Uptasks.Add(task); //åå ¥å¤ä½ä¿¡å· //device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress); } //åå ¥åæ¢è´¨æ£ä¿¡å· device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress); Thread.Sleep(500); device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress); } //else //{ // //åå ¥åæ¢è´¨æ£ä¿¡å· // device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress); // device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); //} else { task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt(); task.ExceptionMessage = "æªæ£æµå°è´¨æ£å®æä¿¡å·"; Uptasks.Add(task); } } #endregion SXCTasks(device); var AGVtaskList = _taskService.Repository.QueryData(x => x.TaskState == TaskStatusEnum.AGV_WaitToExecute.ObjToInt() && (x.TaskType == TaskTypeEnum.Q3RK.ObjToInt() || x.TaskType == TaskTypeEnum.Q3CK.ObjToInt()));//1-6å6-1æ¥¼ä»»å¡ foreach (var item in AGVtaskList) { var address = item.TaskType == TaskTypeEnum.Q3RK.ObjToInt() ? item.TargetAddress : item.SourceAddress; var stationManger = _stationMangerService.Repository.QueryFirst(x => x.StationCode == address); if (stationManger == null) { item.ExceptionMessage = $"æªæ¾å°ã{address}ãç«å°ä¿¡æ¯"; Uptasks.Add(item); continue; } var StockAvailableSymbol = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_StockAvailableSymbol, address); if (item.TaskType == TaskTypeEnum.Q3RK.ObjToInt()) { if (StockAvailableSymbol) { item.ExceptionMessage = $"{address}ç«å°å çµæ£æµæè´§ï¼"; Uptasks.Add(item); continue; } if (stationManger.IsOccupied == (int)LocationStatusEnum.Lock) { item.ExceptionMessage = $"ç«å°æè´§ï¼"; Uptasks.Add(item); continue; } } else { if (!StockAvailableSymbol) { item.ExceptionMessage = $"{address}ç«å°å çµæ£æµæ è´§ï¼"; Uptasks.Add(item); continue; } if (stationManger.IsOccupied == (int)LocationStatusEnum.Free) { item.ExceptionMessage = $"ç«å°æ è´§ï¼"; Uptasks.Add(item); continue; } } //intoè¿å ¥ä¸æ¥¼ä½ç½®çæ¶åï¼åå ¥è¿å ¥ä¿¡å· device.SetValue(QualityInspectionCommandEnum.RequestToEnter, true, address); if (!device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.Blocking, address)) { item.ExceptionMessage = $"{address}ç«å°å æ ä¸ä¸ºtrueï¼1ï¼!"; Uptasks.Add(item); continue; } var result = _taskService.Hikvisiontaskscontinue(item.WMSTaskNum); if (result.Status == false) { if (item.ExceptionMessage != result.Message) { item.ExceptionMessage = result.Message; Uptasks.Add(item); } continue; } item.TaskState = (int)TaskStatusEnum.AGV_ToExecute; item.ExceptionMessage = ""; Uptasks.Add(item); } KHTasks(device); _taskService.UpdateData(Uptasks); //WriteInfo(device.DeviceName, "infoLog"); //WriteDebug(device.DeviceName, "debugLog");