From cb25acc46bf41863e068b6f968f1592b7a14d1c9 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期六, 13 九月 2025 08:12:14 +0800 Subject: [PATCH] 功能更新优化 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/油墨仓/CommonHoisterJob.cs | 53 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 46 insertions(+), 7 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs" index d94d4dd..854d077 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs" @@ -1,9 +1,11 @@ -锘縰sing Quartz; +锘縰sing Autofac.Core; +using Quartz; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Common; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_IBasicInfoRepository; @@ -93,9 +95,11 @@ task.NextAddress = locationCode; task.DeviceCode = stationManger.StackerCraneCode; task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt(); - _taskRepository.UpdateData(task); - bool isWrite = hoister.SetValue(HoisterDBName.RequestIn, false, deviceChildCode); + if (isWrite) + { + _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute, deviceCode: task.DeviceCode, targetAddress: task.TargetAddress, currentAddress: task.CurrentAddress, nextAddress: task.NextAddress); + } } else { @@ -104,16 +108,31 @@ } else if (leisure && !tray && !requestIn && !inbounding && !requestOut && !outbounding) { - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType)); + Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == deviceChildCode); + if (stationManger == null) + { + WriteError(hoister.DeviceName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,璁惧缂栧彿:{deviceChildCode}"); + break; + } + if (stationManger.StationType != StationTypeEnum.StationType_InboundAndOutbound.ObjToInt()) + { + continue; + } + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.TaskType != TaskTypeEnum.MesOutbound.ObjToInt() && x.Roadway== stationManger.StackerCraneCode); if (task != null) { + task.TaskState=TaskStatusEnum.HT_Executing.ObjToInt(); bool isWrite = hoister.SetValue(HoisterDBName.RequestOut, true, deviceChildCode); + if (isWrite) + { + _taskService.UpdateTask(task, TaskStatusEnum.HT_Executing); + } WriteError(hoister.DeviceName, $"璇锋眰鍑哄簱,璁惧缂栧彿:{deviceChildCode},浠诲姟鍙�:{task.TaskNum}"); } } else if (!leisure && !tray && !requestIn && !inbounding && requestOut && outbounding) { - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType)); + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.HT_Executing.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType)); if (task != null) { Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == deviceChildCode); @@ -127,15 +146,35 @@ task.NextAddress = stationManger.StackerCraneStationCode; ; task.DeviceCode = stationManger.StackerCraneCode; task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt(); - _taskRepository.UpdateData(task); - bool isWrite = hoister.SetValue(HoisterDBName.RequestOut, false, deviceChildCode); + if (isWrite) + { + _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute, deviceCode: task.DeviceCode, targetAddress: task.TargetAddress, nextAddress: task.NextAddress); + } } else { WriteError(hoister.DeviceName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,{deviceChildCode}"); } } + if (deviceChildCode == "9001") + { + StackerCraneJob_YM.yMReadData.R_YM_Tray1 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Tray, deviceChildCode); + StackerCraneJob_YM.yMReadData.R_YM_Leisure1 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Leisure, deviceChildCode); + StackerCraneJob_YM.yMReadData.W_YM_RequestIn1 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.RequestIn, deviceChildCode); + StackerCraneJob_YM.yMReadData.W_YM_RequestOut1 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.RequestOut, deviceChildCode); + StackerCraneJob_YM.yMReadData.R_YM_Inbounding1 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Inbounding, deviceChildCode); + StackerCraneJob_YM.yMReadData.R_YM_Outbounding1 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Outbounding, deviceChildCode); + } + else if (deviceChildCode == "9002") + { + StackerCraneJob_YM.yMReadData.R_YM_Tray2 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Tray, deviceChildCode); + StackerCraneJob_YM.yMReadData.R_YM_Leisure2 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Leisure, deviceChildCode); + StackerCraneJob_YM.yMReadData.W_YM_RequestIn2 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.RequestIn, deviceChildCode); + StackerCraneJob_YM.yMReadData.W_YM_RequestOut2 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.RequestOut, deviceChildCode); + StackerCraneJob_YM.yMReadData.R_YM_Inbounding2 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Inbounding, deviceChildCode); + StackerCraneJob_YM.yMReadData.R_YM_Outbounding2 = hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Outbounding, deviceChildCode); + } } } } -- Gitblit v1.9.3