From 60f86b0fba3ab82e245654cddfa5abc62fe1f9e8 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期二, 16 九月 2025 11:33:29 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/StackerCraneJob_YLSC3.cs | 72 ++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 31 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs" index 7d04c5c..af1e0ea 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs" @@ -20,9 +20,11 @@ using WIDESEAWCS_Tasks.StackerCraneJob; using WIDESEAWCS_Tasks; using WIDESEAWCS_Core; -using SqlSugar.Extensions; using WIDESEAWCS_Tasks.ConveyorLineJob; using WIDESEAWCS_QuartzJob.Repository; +using WIDESEAWCS_Core.Helper; +using HslCommunication.WebSocket; +using WIDESEAWCS_DTO.Equipment; namespace WIDESEAWCS_Tasks { @@ -36,8 +38,9 @@ private readonly IRouterService _routerService; private readonly IRouterRepository _routerRepository; private readonly IStationMangerRepository _stationMangerRepository; + private WebSocketServer _webSocketServer; - public StackerCraneJob_YLSC3(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository) + public StackerCraneJob_YLSC3(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository,WebSocketServer webSocketServer) { _taskService = taskService; _taskExecuteDetailService = taskExecuteDetailService; @@ -45,6 +48,7 @@ _routerService = routerService; _stationMangerRepository = stationMangerRepository; _routerRepository = routerRepository; + _webSocketServer = webSocketServer; } public Task Execute(IJobExecutionContext context) @@ -76,7 +80,6 @@ commonStackerCrane.LastTaskType = task.TaskType; task.Dispatchertime = DateTime.Now; task.ExceptionMessage = ""; - //_taskService.UpdateTask(task, TaskStatusEnum.SC_Executing); _taskService.UpdateTaskStatusToNext(task); commonStackerCrane.Communicator.Write("DB1000.20.0", true); //寤舵椂1s @@ -86,6 +89,25 @@ } } } + + #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) @@ -141,33 +163,21 @@ //鍘熸枡涓�妤煎嚭搴撲笅鍙戠嚎浣撻�昏緫 if (stationManger.StationDeviceCode == "CL1_YL") { - IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); - if (device != null) - { - OtherDevice conveyorLine = (OtherDevice)device; - conveyorLine.SetValue(ConveyorLineDBName.TaskNum, taskNum, stationManger.StationCode); - conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, router.NextPosi, stationManger.StationCode); - conveyorLine.SetValue(ConveyorLineDBName.ResponState, 86, stationManger.StationCode); - - // 鍫嗗灈鏈哄畬鎴� - _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi); - } - else - { - WriteInfo(deviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞彂閫佽緭閫佺嚎鍑哄簱淇″彿"); - _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞彂閫佽緭閫佺嚎鍑哄簱淇″彿"); - return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞彂閫佽緭閫佺嚎鍑哄簱淇″彿"); - } - }//鍘熸枡浜屾ゼ鍑哄簱涓嬪彂绾夸綋閫昏緫 - else + // 鍫嗗灈鏈哄畬鎴� + _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi); + } + else//鍘熸枡浜屾ゼ鍑哄簱涓嬪彂绾夸綋閫昏緫 { IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); if (device != null) { CommonConveyorLine conveyorLine = (CommonConveyorLine)device; - conveyorLine.SetValue(WR_CLineYLDB.WR_Task, taskNum, stationManger.StationCode); - conveyorLine.SetValue(WR_CLineYLDB.WR_ToHode, router.NextPosi, stationManger.StationCode); - conveyorLine.SetValue(WR_CLineYLDB.WR_Reresult, 86, stationManger.StationCode); + conveyorLine.SetValue(ConveyorLineDBName.TaskNum, taskNum, stationManger.StationCode); + conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, router.NextPosi, stationManger.StationCode); + conveyorLine.SetValue(ConveyorLineDBName.Width, task.TaskLength, stationManger.StationCode); + conveyorLine.SetValue(ConveyorLineDBName.Height, task.HeightType, stationManger.StationCode); + conveyorLine.SetValue(ConveyorLineDBName.Barcode, task.PalletCode, stationManger.StationCode); + conveyorLine.SetValue(ConveyorLineDBName.ResponState, 86, stationManger.StationCode); _taskService.UpdateTaskStatusToNext(task); } else @@ -377,9 +387,9 @@ string[] targetCodes = task.NextAddress.Split("-"); if (targetCodes.Length == 3) { - stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]); - stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]); - stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]); + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); } else { @@ -390,9 +400,9 @@ string[] sourceCodes = task.CurrentAddress.Split("-"); if (sourceCodes.Length == 5) { - stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]); - stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); - stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); + stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]); } else { -- Gitblit v1.9.3