From 6d5b845378c568a7f403ac5ffd5d5aec4639e7a8 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 13 八月 2025 11:02:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/ServerBootstrap.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 7f8e82d..a5cfd84 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -1,12 +1,16 @@ package com.zy.core; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; 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.entity.LocMast; import com.zy.asrs.service.BasLiftService; import com.zy.asrs.service.DeviceConfigService; +import com.zy.asrs.service.LocMastService; +import com.zy.asrs.utils.Utils; import com.zy.common.utils.RedisUtil; import com.zy.core.action.ShuttleAction; import com.zy.core.cache.MessageQueue; @@ -14,6 +18,7 @@ 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; @@ -51,6 +56,8 @@ private DeviceMsgUtils deviceMsgUtils; @Autowired private BasLiftService basLiftService; + @Autowired + private LocMastService locMastService; @PostConstruct @Async @@ -72,6 +79,12 @@ .eq("device_type", String.valueOf(SlaveType.ForkLift))); for (DeviceConfig forkLift : forkLiftList) { MessageQueue.init(SlaveType.ForkLift, forkLift.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()); } // 鍒濆鍖栧洓鍚戠┛姊溅mq List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() @@ -114,6 +127,37 @@ } } + // 鍒濆鍖栨彁鍗囨満 + 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("鏈厤缃彁鍗囨満鏁版嵁"); + } + + ThreadHandler thread = null; + if (deviceConfig.getThreadImpl().equals("NyLiftThread")) { + thread = new NyLiftThread(deviceConfig, basLift.getPoint$(), basLift.getStationList$(), redisUtil); + } else { + throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�"); + } + + new Thread(thread).start(); + SlaveConnection.put(SlaveType.Lift, deviceConfig.getDeviceNo(), thread); + + String locNo = Utils.getLocNo(basLift.getPoint$().getRow(), basLift.getPoint$().getBay(), 1); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo)); + JSONObject point = JSON.parseObject(locMast.getQrCodeValue()); + deviceConfig.setOtherData(point.getInteger("x") + "-" + point.getInteger("y")); + if (deviceConfig.getFake() == 1) { + fakeDevices.add(deviceConfig); + }else { + allDevices.add(deviceConfig); + } + } + // 鍒濆鍖栧洓鍚戠┛姊溅 News.info("鍒濆鍖栧洓鍚戠┛姊溅......................................................"); List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() -- Gitblit v1.9.1