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; 
 | 
    } 
 | 
} 
 |