#
whycq
2024-06-30 0a71eb4f8fce7f3dd4ac87e6735ff540a50266a2
src/main/java/com/zy/core/thread/LedThread.java
@@ -1,9 +1,7 @@
package com.zy.core.thread;
import com.alibaba.fastjson.JSON;
import com.core.common.Cools;
import com.zy.common.entity.Parameter;
import com.zy.common.model.MatDto;
import com.zy.common.utils.News;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
import com.zy.core.cache.MessageQueue;
@@ -63,7 +61,7 @@
    @Override
    @SuppressWarnings({"InfiniteLoopStatement", "unchecked"})
    public void run() {
        connect();
//        connect();
        close();
        while (true) {
            try {
@@ -116,17 +114,18 @@
        TextBxPage page = new TextBxPage();
        for (LedCommand command : list) {
            page.newLine(command.getTitle() +"("+command.getWorkNo()+")");
            page.newLine("库位:"+ (command.getIoType() < 100 ? command.getLocNo() : command.getSourceLocNo()));
            page.newLine("目标站:"+command.getStaNo());
            if (!command.isEmptyMk()) {
                for (MatDto matDto : command.getMatDtos()) {
                    //去掉小数点
                    String strQty = matDto.getCount().toString();
                    int idx = strQty.lastIndexOf(".");
                    if(idx >= 0){
                        strQty.substring(0,idx);
                        strQty = strQty.substring(0,idx);
                    }
                    page.newLine(matDto.getMaknx() + "[数量" + strQty +"]");
                    page.newLine(matDto.getMatnr());
                    page.newLine(matDto.getMaknx());
                    page.newLine("[数量:" + strQty +  "/" +  matDto.getTotal().intValue()+"]");
//                    page.newLine(matDto.getMaknx() + "[数量" + strQty +"]");
//                    page.newLine(matDto.getMaknx() + "【数量" + matDto.getCount() +"】");
                }
            }
@@ -143,7 +142,7 @@
        area.addPage(page);
        pf.addArea(area);
        if (pf.validate() != null) {
            log.info("pf out of range");
            News.info("Led"+" - 2"+" - pf out of range");
        } else {
            // 更新节目
            screen.writeProgram(pf);
@@ -193,7 +192,7 @@
        pf.addArea(area);
        // 更新节目
        if (pf.validate() != null) {
            log.info("pf out of range");
            News.info("Led"+" - 3"+" - pf out of range");
        } else {
            // 更新节目
            screen.writeProgram(pf);
@@ -201,6 +200,7 @@
        }
        close();
    }
    private void write7(List<LedCommand> list) {
        commandList = list;
@@ -211,8 +211,9 @@
            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.getMatnr()).append("\n");
                    sb.append("数量:").append(matDto.getCount()).append("\n");
                    sb.append("规格:").append(matDto.getSpecs()).append("\n");
                }
            }
            sb.append("\n");
@@ -249,16 +250,16 @@
        } catch (Exception ignore) {
        }
        if (connRes) {
            log.info("led连接成功 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
            News.info("Led"+" - 4"+" - led连接成功 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        } else {
            log.error("led连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
            News.error("Led"+" - 5"+" - led连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        }
        return connRes;
    }
    @Override
    public void close() {
        screen.disconnect();
    }
@@ -308,7 +309,7 @@
            // 更新节目
            if (pf.validate() != null) {
                System.out.println("pf out of range");
                log.info("pf out of range");
                News.info("Led"+" - 6"+" - pf out of range");
            } else {
                // 更新节目
                screen.writeProgram(pf);
@@ -318,36 +319,6 @@
        // 继开与控制器之间的链接
//        screen.disconnect();
    }
    public static void main1(String[] args) throws Exception {