package com.zy.asrs.wcs.rcs.thread.impl; import com.zy.asrs.wcs.core.domain.dto.MatDto; import com.zy.asrs.wcs.core.utils.RedisUtil; import com.zy.asrs.wcs.rcs.entity.Device; import com.zy.asrs.wcs.rcs.model.command.LedCommand; import com.zy.asrs.wcs.rcs.thread.LedThread; import lombok.extern.slf4j.Slf4j; import java.util.HashSet; import java.util.List; import java.util.Set; @Slf4j @SuppressWarnings("all") public class NormalLedThread implements LedThread, Runnable { private Device device; private RedisUtil redisUtil; private Set workNos = new HashSet<>(); private boolean ledMk = false; private boolean resetStatus = false; // 复位状态 // 显示器 private StringBuffer stringBuffer = new StringBuffer(); private List commandList; private StringBuffer errorMsg = new StringBuffer(); public NormalLedThread(Device device, RedisUtil redisUtil) { this.device = device; this.redisUtil = redisUtil; } @Override public void run() { } public void write(List list) { commandList = list; StringBuilder sb = new StringBuilder(); for (LedCommand command : list) { sb.append(command.getTitle()).append("(").append(command.getWorkNo()).append(")").append("\n"); sb.append("源库位:").append(command.getSourceLocNo()).append("\n"); sb.append("目标站:").append(command.getStaNo()).append("\n"); if (!command.isEmptyMk()) { for (MatDto matDto : command.getMatDtos()) { sb.append("物料编码:").append(matDto.getMatNo()).append("\n"); sb.append("名称:").append(matDto.getMaknx()).append("\n"); sb.append("数量:").append(matDto.getCount()).append("\n"); sb.append("规格:").append(matDto.getSpecs()).append("\n"); } } sb.append("\n"); } stringBuffer.delete(0, stringBuffer.length()); stringBuffer.append(sb.toString()); errorReset(); } public void reset() { commandList = null; stringBuffer.delete(0, stringBuffer.length()); errorMsg.delete(0, errorMsg.length()); } public void error(String msg) { errorMsg.delete(0, errorMsg.length()); errorMsg.append(msg); } public void errorReset() { this.errorMsg.delete(0, errorMsg.length()); } @Override public boolean connect() { return true; } @Override public void close() { } @Override public void setLedMk(boolean mk) { this.ledMk = mk; } @Override public boolean isLedMk() { return this.ledMk; } }