From 48c1de18235020edff108339ed1d12bade8a2b90 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期一, 08 十二月 2025 16:37:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/ServerBootstrap.java | 158 +++++++++++++++++-----------------------------------
1 files changed, 52 insertions(+), 106 deletions(-)
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index 7e69029..9cf6d99 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -1,33 +1,24 @@
package com.zy.core;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasLift;
import com.zy.asrs.entity.DeviceConfig;
-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.NyLiftThread;
-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 com.zy.core.thread.impl.ZySiemensCrnThread;
+import com.zy.core.thread.impl.ZyStationThread;
+import com.zy.core.thread.impl.ZyRgvThread;
+
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;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
-import java.util.ArrayList;
import java.util.List;
/**
@@ -37,21 +28,12 @@
@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
- private BasLiftService basLiftService;
@PostConstruct
@Async
@@ -68,120 +50,84 @@
}
private void initMq(){
- // 鍒濆鍖栬揣鍙夋彁鍗囨満mq
- List<DeviceConfig> forkLiftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
- .eq("device_type", String.valueOf(SlaveType.ForkLift)));
- for (DeviceConfig forkLift : forkLiftList) {
- MessageQueue.init(SlaveType.ForkLift, forkLift.getDeviceNo());
+ // 鍒濆鍖栧爢鍨涙満mq
+ List<DeviceConfig> crnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Crn)));
+ for (DeviceConfig crn : crnList) {
+ MessageQueue.init(SlaveType.Crn, crn.getDeviceNo());
}
- // 鍒濆鍖栨彁鍗囨満mq
- List<DeviceConfig> liftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
- .eq("device_type", String.valueOf(SlaveType.Lift)));
- for (DeviceConfig lift : liftList) {
- MessageQueue.init(SlaveType.Lift, lift.getDeviceNo());
+ // 鍒濆鍖朢gv灏忚溅mq
+ List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Rgv)));
+ for (DeviceConfig rgv : rgvList) {
+ MessageQueue.init(SlaveType.Rgv, rgv.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.getDeviceNo());
+ // 鍒濆鍖栬緭閫佺嚎mq
+ List<DeviceConfig> devpList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Devp)));
+ for (DeviceConfig devp : devpList) {
+ MessageQueue.init(SlaveType.Devp, devp.getDeviceNo());
}
-
- MessageQueue.init(SlaveType.TrafficControl, 1);
+ // 鍒濆鍖栨潯鐮佹壂鎻忎华mq
+ List<DeviceConfig> barcodeList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Barcode)));
+ for (DeviceConfig barcode : barcodeList) {
+ MessageQueue.init(SlaveType.Barcode, barcode.getDeviceNo());
+ }
+ // 鍒濆鍖朙ed鐏痬q
+ List<DeviceConfig> ledList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Led)));
+ for (DeviceConfig led : ledList) {
+ MessageQueue.init(SlaveType.Led, led.getDeviceNo());
+ }
}
private void initThread(){
- List<DeviceConfig> allDevices = new ArrayList<>();
- List<DeviceConfig> fakeDevices = new ArrayList<>();
-
- // 鍒濆鍖栬揣鍙夋彁鍗囨満
- News.info("鍒濆鍖栬揣鍙夋彁鍗囨満........................................................");
- List<DeviceConfig> forkLiftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
- .eq("device_type", String.valueOf(SlaveType.ForkLift)));
- for (DeviceConfig deviceConfig : forkLiftList) {
- BasLift basLift = basLiftService.selectOne(new EntityWrapper<BasLift>().eq("lift_no", deviceConfig.getDeviceNo()));
- if (basLift == null) {
- throw new CoolException("鏈厤缃揣鍙夋彁鍗囨満鏁版嵁");
- }
-
+ News.info("鍒濆鍖栧爢鍨涙満........................................................");
+ List<DeviceConfig> crnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Crn)));
+ for (DeviceConfig deviceConfig : crnList) {
ThreadHandler thread = null;
- if (deviceConfig.getThreadImpl().equals("ZyForkLiftThread")) {
- thread = new ZyForkLiftThread(deviceConfig, basLift.getStationList$(), redisUtil);
+ if (deviceConfig.getThreadImpl().equals("ZySiemensCrnThread")) {
+ thread = new ZySiemensCrnThread(deviceConfig, redisUtil);
} else {
throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
}
new Thread(thread).start();
- SlaveConnection.put(SlaveType.ForkLift, deviceConfig.getDeviceNo(), thread);
-
- if (deviceConfig.getFake() == 1) {
- fakeDevices.add(deviceConfig);
- }else {
- allDevices.add(deviceConfig);
- }
+ SlaveConnection.put(SlaveType.Crn, deviceConfig.getDeviceNo(), thread);
}
- // 鍒濆鍖栨彁鍗囨満
- News.info("鍒濆鍖栨彁鍗囨満........................................................");
- List<DeviceConfig> liftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
- .eq("device_type", String.valueOf(SlaveType.Lift)));
- for (DeviceConfig deviceConfig : liftList) {
- BasLift basLift = basLiftService.selectOne(new EntityWrapper<BasLift>().eq("lift_no", deviceConfig.getDeviceNo()));
- if (basLift == null) {
- throw new CoolException("鏈厤缃彁鍗囨満鏁版嵁");
- }
-
+ News.info("鍒濆鍖栬緭閫佺珯........................................................");
+ List<DeviceConfig> devpList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Devp)));
+ for (DeviceConfig deviceConfig : devpList) {
ThreadHandler thread = null;
- if (deviceConfig.getThreadImpl().equals("NyLiftThread")) {
- thread = new NyLiftThread(deviceConfig, basLift.getPoint$(), basLift.getStationList$(), redisUtil);
+ if (deviceConfig.getThreadImpl().equals("ZyStationThread")) {
+ thread = new ZyStationThread(deviceConfig, redisUtil);
} else {
throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
}
new Thread(thread).start();
- SlaveConnection.put(SlaveType.Lift, deviceConfig.getDeviceNo(), thread);
-
- deviceConfig.setOtherData(basLift.getPoint$());
- if (deviceConfig.getFake() == 1) {
- fakeDevices.add(deviceConfig);
- }else {
- allDevices.add(deviceConfig);
- }
+ SlaveConnection.put(SlaveType.Devp, deviceConfig.getDeviceNo(), thread);
}
- // 鍒濆鍖栧洓鍚戠┛姊溅
- News.info("鍒濆鍖栧洓鍚戠┛姊溅......................................................");
- List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
- .eq("device_type", String.valueOf(SlaveType.Shuttle)));
- for (DeviceConfig deviceConfig : shuttleList) {
+ News.info("鍒濆鍖朢GV........................................................");
+ List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.Rgv)));
+ for (DeviceConfig deviceConfig : rgvList) {
ThreadHandler thread = null;
- if (deviceConfig.getThreadImpl().equals("NyShuttleThread")) {
- thread = new NyShuttleThread(deviceConfig, redisUtil);
+ if (deviceConfig.getThreadImpl().equals("ZyRgvThread")) {
+ thread = new ZyRgvThread(deviceConfig, redisUtil);
} else {
throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
}
new Thread(thread).start();
- SlaveConnection.put(SlaveType.Shuttle, deviceConfig.getDeviceNo(), thread);
-
- if (deviceConfig.getFake() == 1) {
- fakeDevices.add(deviceConfig);
- }else {
- allDevices.add(deviceConfig);
- }
+ SlaveConnection.put(SlaveType.Rgv, deviceConfig.getDeviceNo(), thread);
}
-
- //璁惧鍒濆鍖栧畬姣�
- 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