野心家
2025-03-07 930d504c6bdac63950dfda5b463884d2637bd480
src/main/java/com/zy/core/thread/LedThread.java
@@ -5,11 +5,13 @@
import com.core.common.SpringUtils;
import com.zy.asrs.entity.CommandInfo;
import com.zy.asrs.service.CommandInfoService;
import com.zy.asrs.service.DeviceErrorService;
import com.zy.common.entity.Parameter;
import com.zy.common.model.MatDto;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
import com.zy.core.cache.MessageQueue;
import com.zy.core.enums.CommandStatusType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.Task;
import com.zy.core.model.command.LedCommand;
@@ -63,29 +65,29 @@
    public void run() {
        connect();
        close();
        while (true) {
            try {
                Task task = MessageQueue.poll(SlaveType.Led, slave.getId());
                if (task != null) {
                    switch (task.getStep()) {
                        // 写数据
                        case 1:
                            write((List<LedCommand>)task.getData());
                            break;
                        // 复位
                        case 2:
                            reset();
                            break;
                        default:
                            break;
                    }
                }
                Thread.sleep(400);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
//        while (true) {
//            try {
//                Task task = MessageQueue.poll(SlaveType.Led, slave.getId());
//                if (task != null) {
//                    switch (task.getStep()) {
//                        // 写数据
//                        case 1:
//                            write((List<LedCommand>)task.getData());
//                            break;
//                        // 复位
//                        case 2:
//                            reset();
//                            break;
//                        default:
//                            break;
//                    }
//                }
//
//                Thread.sleep(400);
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }
    }
    private void write(List<LedCommand> list) throws Bx5GException {
@@ -116,14 +118,11 @@
            }
            page.newLine("\n");
            //更新指令状态
            CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
            CommandInfo commandInfo = new CommandInfo();
            commandInfo.setWrkNo(command.getWorkNo());
            commandInfo.setCommandStatus(1);
            commandInfo.setStartTime(new Date());
            commandInfo.setDevice("led");
            commandInfo.setCommand(JSON.toJSONString(command));
            commandInfoService.insert(commandInfo);
            CommandInfo commandInfo = command.getCommandInfo();
            commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);
            commandInfoService.updateById(commandInfo);
        }
        // 设置字体
@@ -203,10 +202,13 @@
            screen.turnOn();
        } catch (Exception ignore) {
        }
        DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
        if (connRes) {
            log.info("led连接成功 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
            deviceErrorService.deleteDeviceError("led", slave.getId());
        } else {
            log.error("led连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
            deviceErrorService.addDeviceError("led", slave.getId(), "led连接失败");
        }
        return connRes;
    }