From ca54eceeebeceea3b6c75e3dbfa3b715806c6106 Mon Sep 17 00:00:00 2001 From: 刘磊 <1161824510@qq.com> Date: 星期五, 15 十一月 2024 16:38:23 +0800 Subject: [PATCH] 1 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 69 +++++++++++++++++++++++++++------- 1 files changed, 54 insertions(+), 15 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs index 6d107ed..e9d9278 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs @@ -1,15 +1,14 @@ -锘縰sing Microsoft.AspNetCore.Components.Routing; +锘縰sing HslCommunication; +using Newtonsoft.Json; using Quartz; -using System; -using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using WIDESEAWCS_Common.TaskEnum; -using WIDESEAWCS_Core.Enums; +using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_DTO.MOM; +using WIDESEAWCS_IProcessRepository; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; +using WIDESEAWCS_Model; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; using WIDESEAWCS_QuartzJob.DeviceBase; @@ -27,20 +26,21 @@ private readonly ITaskExecuteDetailService _taskExecuteDetailService; private readonly ITaskRepository _taskRepository; private readonly IRouterService _routerService; + private readonly IProcessRepository _processRepository; - public CommonStackerCraneJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService) + public CommonStackerCraneJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IProcessRepository processRepository) { _taskService = taskService; _taskExecuteDetailService = taskExecuteDetailService; _taskRepository = taskRepository; _routerService = routerService; + _processRepository = processRepository; } public Task Execute(IJobExecutionContext context) { try { - // speStackerCrane.GetStackerCraneStatus<StackerCraneAutoStatus>(); // speStackerCrane.GetStackerCraneStatus<StackerCraneWorkStatus>(); // speStackerCrane.GetStackerCraneStatus<StackerCraneStatus>(); @@ -48,7 +48,8 @@ CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); if (commonStackerCrane != null) { - Console.Out.WriteLine(commonStackerCrane.DeviceName); + //EqptAlive(commonStackerCrane); + //Console.Out.WriteLine(commonStackerCrane.DeviceName); if (!commonStackerCrane.IsEventSubscribed) { commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢 @@ -154,6 +155,10 @@ task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); } } + else if (task == null) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } return task; } @@ -172,10 +177,10 @@ if (device != null) { CommonConveyorLine conveyorLine = (CommonConveyorLine)device; - if (conveyorLine.IsOccupied(router.ChildPosi))//鍑哄簱绔欏彴鏈鍗犵敤 - { - return task; - } + //if (conveyorLine.IsOccupied(router.ChildPosi))//鍑哄簱绔欏彴鏈鍗犵敤 + //{ + return task; + //} } else { @@ -203,6 +208,7 @@ stackerCraneTaskCommand.TaskNum = task.TaskNum; stackerCraneTaskCommand.WorkType = 1; stackerCraneTaskCommand.TrayType = 0; + stackerCraneTaskCommand.StartCommand = 1; if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔� { List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); @@ -292,5 +298,38 @@ } return stackerCraneTaskCommand; } + + + /// <summary> + /// 璁惧蹇冭烦 + /// </summary> + /// <param name="commonStackerCrane"></param> + public async void EqptAlive(CommonStackerCrane commonStackerCrane) + { + if (commonStackerCrane.StackerOnline) + { + BasicDto dto = new BasicDto + { + EmployeeNo = "T00001", + EquipmentCode = commonStackerCrane.DeviceCode, + RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), + SessionId = Guid.NewGuid().ToString(), + Software = commonStackerCrane.DeviceName, + }; + var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", dto.ToJsonString()); + if (respone != null) + { + var result = JsonConvert.DeserializeObject<ResponseEqptAliveDto>(respone); + if (result != null && result.Success) + { + if (result.KeyFlag == "99") + commonStackerCrane.StackerOnline = true; + else if (result.KeyFlag == "98") + commonStackerCrane.StackerOnline = false; + } + } + } + } + } -} +} \ No newline at end of file -- Gitblit v1.9.3