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<Integer> workNos = new HashSet<>();
|
private boolean ledMk = false;
|
private boolean resetStatus = false; // 复位状态
|
|
// 显示器
|
private StringBuffer stringBuffer = new StringBuffer();
|
private List<LedCommand> 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<LedCommand> 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;
|
}
|
}
|