#
luxiaotao1123
2020-09-03 dd343b83ac99decfed0a79c4185c281d8b7b4013
src/main/java/com/zy/core/thread/LedThread.java
@@ -1,5 +1,6 @@
package com.zy.core.thread;
import com.zy.common.model.MatDto;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
import com.zy.core.cache.MessageQueue;
@@ -9,6 +10,7 @@
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import onbon.bx05.Bx5GEnv;
import onbon.bx05.Bx5GException;
import onbon.bx05.Bx5GScreen;
import onbon.bx05.Bx5GScreenClient;
import onbon.bx05.area.TextCaptionBxArea;
@@ -31,13 +33,21 @@
    private Slave slave;
    private Bx5GScreenClient screen;
    ProgramBxFile pf;
    TextCaptionBxArea area;
    DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
    private Set<Integer> workNos = new HashSet<>();
    public LedThread(Slave slave) {
        this.slave = slave;
        try {
            Bx5GEnv.initial(3000);
            screen = new Bx5GScreenClient("MyScreen");
            screen = new Bx5GScreenClient("my");
            screen.turnOn();
            pf = new ProgramBxFile( 0, screen.getProfile());
            pf.setFrameShow(false);
            // 分别输入X,Y,width,height
            area = new TextCaptionBxArea( 0,0,192,128,screen.getProfile());
        } catch (Exception e) {
            e.printStackTrace();
            log.info("led连接构造器错误 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
@@ -74,8 +84,7 @@
        boolean connRes = false;
        try {
            connRes = screen.connect(slave.getIp(),slave.getPort());
        } catch (Exception e) {
            e.printStackTrace();
        } catch (Exception ignore) {
        }
        if (connRes) {
            log.info("led连接成功 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
@@ -91,15 +100,27 @@
    }
    private void write(List<LedCommand> list) {
    private void write(List<LedCommand> list) throws Bx5GException {
        // 创建一个数据页
        TextBxPage page = new TextBxPage();
        for (LedCommand command : list) {
            page.newLine("出库任务("+command.getWorkNo()+")");
            page.newLine("源库位:"+command.getSourceLocNo());
            page.newLine("目标站:"+command.getStaNo());
            for (MatDto matDto : command.getMatDtos()) {
                page.newLine(matDto.getMaknx() + "【数量" + matDto.getCount() +"】");
            }
            page.newLine("\n");
        }
        // 设置字体
        page.setFont(new Font("宋体",Font.PLAIN,12));
        // 设置显示特技为快速打出
        page.setDisplayStyle(styles[6]);
        area.addPage(page);
        pf.addArea(area);
        // 更新节目
        screen.writeProgram(pf);
    }