From c01f7222dcd48a7263ee414287469c754e7de22c Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期五, 12 四月 2024 10:17:35 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/Four-Way-Rack' into Four-Way-Rack --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 0 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java new file mode 100644 index 0000000..a63e648 --- /dev/null +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java @@ -0,0 +1,69 @@ +package com.zy.asrs.wcs.core.map.websocket; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.asrs.wcs.core.map.entity.MapWsShuttleVo; +import com.zy.asrs.wcs.core.map.entity.MapWsVo; +import com.zy.asrs.wcs.core.model.enums.DeviceCtgType; +import com.zy.asrs.wcs.core.service.BasShuttleService; +import com.zy.asrs.wcs.rcs.cache.SlaveConnection; +import com.zy.asrs.wcs.rcs.entity.Device; +import com.zy.asrs.wcs.rcs.model.enums.SlaveType; +import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol; +import com.zy.asrs.wcs.rcs.service.DeviceService; +import com.zy.asrs.wcs.rcs.service.DeviceTypeService; +import com.zy.asrs.wcs.rcs.thread.ShuttleThread; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by vincent on 4/11/2024 + */ +@Component +public class MapRealTimeDataScheduler { + + @Autowired + private DeviceTypeService deviceTypeService; + @Autowired + private DeviceService deviceService; + @Autowired + private BasShuttleService basShuttleService; + + @Scheduled(cron = "0/1 * * * * ? ") + public void sync() { + MapWsVo wsVo = new MapWsVo(); + // shuttle + wsVo.setShuttleVos(syncShuttle()); + MapWebSocket.broadcast(JSON.toJSONString(wsVo)); + } + + private List<MapWsShuttleVo> syncShuttle() { + List<MapWsShuttleVo> shuttleVos = new ArrayList<>(); + + List<Device> deviceList = deviceService.list(new LambdaQueryWrapper<Device>().eq(Device::getDeviceType, DeviceCtgType.SHUTTLE.val())); + for (Device device : deviceList) { +// basShuttleService. + ShuttleThread thread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getId().intValue()); + if (null == thread) { + continue; + } + ShuttleProtocol protocol = thread.getStatus(); + if (null == protocol) { + continue; + } + + MapWsShuttleVo shuttleVo = new MapWsShuttleVo(); +// shuttleVo.setShuttleNo(); + + + shuttleVos.add(shuttleVo); + } + + return shuttleVos; + } + +} -- Gitblit v1.9.1