| | |
| | | using Microsoft.AspNetCore.Components.Routing; |
| | | using HslCommunication.WebSocket; |
| | | using Microsoft.AspNetCore.Components.Routing; |
| | | using Newtonsoft.Json; |
| | | using Quartz; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Enums; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_DTO.Equipment; |
| | | using WIDESEAWCS_IBasicInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane.Enum; |
| | | using WIDESEAWCS_Tasks.StackerCraneJob; |
| | | using WIDESEAWCS_Tasks; |
| | | using WIDESEAWCS_Core; |
| | | using SqlSugar.Extensions; |
| | | using WIDESEAWCS_Tasks.ConveyorLineJob; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane; |
| | | using WIDESEAWCS_Tasks.StackerCraneJob; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_Tasks.åæåº; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | |
| | | private readonly IRouterService _routerService; |
| | | private readonly IRouterRepository _routerRepository; |
| | | private readonly IStationMangerRepository _stationMangerRepository; |
| | | private WebSocketServer _webSocketServer; |
| | | |
| | | public StackerCraneJob_YLSC2(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository) |
| | | public StackerCraneJob_YLSC2(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, WebSocketServer webSocketServer) |
| | | { |
| | | _taskService = taskService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | |
| | | _routerService = routerService; |
| | | _stationMangerRepository = stationMangerRepository; |
| | | _routerRepository = routerRepository; |
| | | _webSocketServer = webSocketServer; |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | |
| | | } |
| | | } |
| | | } |
| | | // 设置设å¤ç¼å·ï¼å端ç¨äºè¯å«å åæº |
| | | YL_DB yL_DB = new YL_DB(); |
| | | yL_DB.R_PP_Status = commonStackerCrane.DeviceCode; |
| | | // 设置å åæºç¶æ |
| | | yL_DB.YL_Status = commonStackerCrane.StackerCraneStatusValue switch |
| | | { |
| | | StackerCraneStatus.Fault => 0, |
| | | StackerCraneStatus.Normal => 1, |
| | | StackerCraneStatus.EmergencyStop => 2, |
| | | StackerCraneStatus.Unkonw => 3, |
| | | }; |
| | | yL_DB.YL_AutoStatus = commonStackerCrane.StackerCraneAutoStatusValue switch |
| | | { |
| | | StackerCraneAutoStatus.SemiAutomatic => 1, |
| | | StackerCraneAutoStatus.Maintenance => 2, |
| | | StackerCraneAutoStatus.Automatic => 3, |
| | | StackerCraneAutoStatus.Manual => 4, |
| | | StackerCraneAutoStatus.Unkonw => 5, |
| | | }; |
| | | yL_DB.YL_WorkStatus = commonStackerCrane.StackerCraneWorkStatusValue switch |
| | | { |
| | | StackerCraneWorkStatus.Standby => 1, |
| | | StackerCraneWorkStatus.PickUpCompleted => 2, |
| | | StackerCraneWorkStatus.PickUp => 3, |
| | | StackerCraneWorkStatus.Putting => 5, |
| | | StackerCraneWorkStatus.WorkCompleted => 9, |
| | | }; |
| | | yL_DB.YL_TaskNum = commonStackerCrane.CurrentTaskNum; |
| | | yL_DB.YL_WorkType = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType); |
| | | yL_DB.YL_Row = commonStackerCrane.Communicator.Read<short>("DB1000.46"); |
| | | yL_DB.YL_Column = commonStackerCrane.Communicator.Read<short>("DB1000.48.0"); |
| | | yL_DB.YL_Layer = commonStackerCrane.Communicator.Read<short>("DB1000.50.0"); |
| | | // è¯»åæ¥è¦ä¿¡æ¯ |
| | | short stackerError2 = commonStackerCrane.Communicator.Read<short>("DB1000.54.0"); |
| | | yL_DB.StackerAlarm = stackerError2 == 0 ? "æ " : $"æ¥è¦ä»£ç : {stackerError2}"; |
| | | // åºååå¹¶åéæ°æ® |
| | | string ylDB = JsonConvert.SerializeObject(yL_DB); |
| | | _webSocketServer.PublishAllClientPayload(ylDB); |
| | | |
| | | #region è°ç¨äºä»¶æ»çº¿éç¥å端 |
| | | |
| | | EquipmentDTO equipmentDTO = new EquipmentDTO(); |
| | | object obj = new |
| | | { |
| | | commonStackerCrane.DeviceName, |
| | | commonStackerCrane.DeviceCode, |
| | | StackerCraneAutoStatus.Automatic, |
| | | StackerCraneStatus.Normal, |
| | | StackerCraneWorkStatus.Standby, |
| | | TaskNum = commonStackerCrane.CurrentTaskNum, |
| | | WorkType = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType), |
| | | StackerAlarm = commonStackerCrane.Communicator.Read<short>("DB1000.54.0"), |
| | | }; |
| | | equipmentDTO.StackerDataJson = obj.Serialize(); |
| | | _webSocketServer.PublishAllClientPayload(equipmentDTO.Serialize()); |
| | | |
| | | #endregion |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | |
| | | return WebResponseContent.Instance.Error($"è¾é线åºåºç«ç¹æªé
ç½®,{task.NextAddress}"); |
| | | } |
| | | bool depth = false; |
| | | if (task.Grade>0 && task.TaskType==TaskTypeEnum.PrintYLOutbound.ObjToInt()) |
| | | if (task.Grade > 0 && task.TaskType==TaskTypeEnum.PrintYLOutbound.ObjToInt()) |
| | | { |
| | | depth = true; |
| | | } |
| | |
| | | { |
| | | task.ExceptionMessage = "åºåºç«å°æ æ³ä¸å"; |
| | | _taskRepository.UpdateData(task); |
| | | WriteInfo(task.DeviceCode, $"åºåºç«å°æ æ³ä¸å"); |
| | | } |
| | | } |
| | | else |