From c97e67b2b569bf9845acbe6a088b7a2b0f8d6a11 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期二, 05 八月 2025 09:22:15 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/ServerBootstrap.java | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 003d514..7f8e82d 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -8,14 +8,19 @@ import com.zy.asrs.service.BasLiftService; import com.zy.asrs.service.DeviceConfigService; import com.zy.common.utils.RedisUtil; +import com.zy.core.action.ShuttleAction; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; +import com.zy.core.task.ShuttleExecuteScheduler; +import com.zy.core.thread.TrafficControlThread; import com.zy.core.thread.impl.NyShuttleThread; +import com.zy.core.thread.impl.TrafficControlImplThread; import com.zy.core.thread.impl.ZyForkLiftThread; import com.zy.core.utils.DeviceMsgUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; @@ -31,12 +36,17 @@ @Component public class ServerBootstrap { + @Value("${deviceExecuteConfig.threadControlCount}") + private int threadControlCount; + @Autowired private MainProcess mainProcess; @Autowired private RedisUtil redisUtil; @Autowired private DeviceConfigService deviceConfigService; + @Autowired + private ShuttleAction shuttleAction; @Autowired private DeviceMsgUtils deviceMsgUtils; @Autowired @@ -61,14 +71,16 @@ List<DeviceConfig> forkLiftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() .eq("device_type", String.valueOf(SlaveType.ForkLift))); for (DeviceConfig forkLift : forkLiftList) { - MessageQueue.init(SlaveType.ForkLift, forkLift); + MessageQueue.init(SlaveType.ForkLift, forkLift.getDeviceNo()); } // 鍒濆鍖栧洓鍚戠┛姊溅mq List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() .eq("device_type", String.valueOf(SlaveType.Shuttle))); for (DeviceConfig shuttle : shuttleList) { - MessageQueue.init(SlaveType.Shuttle, shuttle); + MessageQueue.init(SlaveType.Shuttle, shuttle.getDeviceNo()); } + + MessageQueue.init(SlaveType.TrafficControl, 1); } private void initThread(){ @@ -128,6 +140,13 @@ //璁惧鍒濆鍖栧畬姣� deviceMsgUtils.sendDeviceConfig(JSON.toJSONString(allDevices)); deviceMsgUtils.sendFakeDeviceConfig(JSON.toJSONString(fakeDevices)); + + TrafficControlThread trafficControlThread = new TrafficControlImplThread(redisUtil); + new Thread(trafficControlThread).start(); + SlaveConnection.put(SlaveType.TrafficControl, 1, trafficControlThread); + + ShuttleExecuteScheduler shuttleExecuteScheduler = new ShuttleExecuteScheduler(shuttleAction, deviceConfigService, redisUtil, threadControlCount); + new Thread(shuttleExecuteScheduler).start(); } -- Gitblit v1.9.1