| | |
| | | package com.zy.core; |
| | | |
| | | import com.zy.utils.News; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.CrnSlave; |
| | | import com.zy.core.model.DevpSlave; |
| | | import com.zy.core.model.LedSlave; |
| | | import com.zy.core.model.RgvSlave; |
| | | import com.zy.core.model.RFIDSlave; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.thread.*; |
| | | import com.zy.core.thread.BarcodeThread; |
| | | import com.zy.core.thread.LedThread; |
| | | import com.zy.core.thread.RFIDThread; |
| | | import com.zy.core.thread.SiemensCrnThread; |
| | | import com.zy.core.thread.SiemensDevpThread; |
| | | import com.zy.utils.News; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | |
| | | for (Slave led : slaveProperties.getLed()) { |
| | | MessageQueue.init(SlaveType.Led, led); |
| | | } |
| | | // 初始化RFID读写器mq |
| | | for (Slave rfid : slaveProperties.getRfid()) { |
| | | MessageQueue.init(SlaveType.Rfid, rfid); |
| | | } |
| | | // 初始化磅称mq |
| | | // for (Slave scale : slaveProperties.getScale()) { |
| | | // MessageQueue.init(SlaveType.Scale, scale); |
| | |
| | | SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread); |
| | | } |
| | | // 初始化穿梭车线程 |
| | | log.info("初始化RGV线程..................................................."); |
| | | for (RgvSlave rgv : slaveProperties.getRgv()) { |
| | | RgvThread rgvThread = new RgvThread(rgv); |
| | | new Thread((Runnable) rgvThread).start(); |
| | | SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread); |
| | | } |
| | | // log.info("初始化RGV线程..................................................."); |
| | | // for (RgvSlave rgv : slaveProperties.getRgv()) { |
| | | // RgvThread rgvThread = new RgvThread(rgv); |
| | | // new Thread((Runnable) rgvThread).start(); |
| | | // SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread); |
| | | // } |
| | | // 初始化输送线线程 |
| | | News.info("初始化输送线线程..................................................."); |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | |
| | | new Thread(ledThread).start(); |
| | | SlaveConnection.put(SlaveType.Led, led.getId(), ledThread); |
| | | } |
| | | // 初始化RFID读写器线程 |
| | | // 注意:如果RFID设备配置了autoConnect=true,将由RFIDAutoConnectService管理,这里跳过 |
| | | News.info("初始化RFID读写器线程..................................................."); |
| | | for (RFIDSlave rfid : slaveProperties.getRfid()) { |
| | | // 如果启用了自动连接,跳过RFIDThread的创建(由RFIDAutoConnectService管理) |
| | | if (rfid.getAutoConnect() != null && rfid.getAutoConnect()) { |
| | | News.info("RFID设备[{}]已启用自动连接,跳过RFIDThread初始化", rfid.getId()); |
| | | continue; |
| | | } |
| | | RFIDThread rfidThread = new RFIDThread(rfid); |
| | | new Thread(rfidThread).start(); |
| | | SlaveConnection.put(SlaveType.Rfid, rfid.getId(), rfidThread); |
| | | } |
| | | // 初始化磅秤线程 |
| | | // News.info("初始化磅秤线程..................................................."); |
| | | // for (Slave scale : slaveProperties.getScale()) { |