自动化立体仓库 - WCS系统
zjj
2023-11-22 7d06cea49f39ab2bc9177833d0ab2a04bd53e3eb
src/main/java/com/zy/core/thread/LedThread.java
@@ -2,6 +2,10 @@
import com.alibaba.fastjson.JSON;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.CommandInfo;
import com.zy.asrs.service.CommandInfoService;
import com.zy.asrs.service.DeviceErrorService;
import com.zy.common.entity.Parameter;
import com.zy.common.model.MatDto;
import com.zy.core.Slave;
@@ -23,6 +27,7 @@
import onbon.bx05.utils.DisplayStyleFactory;
import java.awt.*;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -40,7 +45,7 @@
    TextCaptionBxArea area;
    DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
    private Set<Integer> workNos = new HashSet<>();
    private boolean ledMk = true;
    private boolean ledMk = false;
    private boolean resetStatus = false;    // 复位状态
    public LedThread(Slave slave) {
@@ -96,14 +101,27 @@
        TextBxPage page = new TextBxPage();
        for (LedCommand command : list) {
            page.newLine(command.getTitle() +"("+command.getWorkNo()+")");
            page.newLine("源库位:"+command.getSourceLocNo());
            page.newLine("库位:"+ (command.getIoType() < 100 ? command.getLocNo() : command.getSourceLocNo()));
            page.newLine("目标站:"+command.getStaNo());
            if (!command.isEmptyMk()) {
                for (MatDto matDto : command.getMatDtos()) {
                    page.newLine(matDto.getMaknx() + "【数量" + matDto.getCount() +"】");
                    //去掉小数点
                    String strQty = matDto.getCount().toString();
                    int idx = strQty.lastIndexOf(".");
                    if(idx >= 0){
                        strQty.substring(0,idx);
                    }
                    page.newLine(matDto.getMaknx() + "[数量" + strQty +"]");
//                    page.newLine(matDto.getMaknx() + "【数量" + matDto.getCount() +"】");
                }
            }
            page.newLine("\n");
            //更新指令状态
            CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
            CommandInfo commandInfo = command.getCommandInfo();
            commandInfo.setCommandStatus(2);
            commandInfoService.updateById(commandInfo);
        }
        // 设置字体
@@ -126,9 +144,9 @@
    }
    private void reset() throws Bx5GException {
//        if (!connect()) {
//            return;
//        }
        if (!connect()) {
            return;
        }
//        if (resetStatus) {
//            return;
//        }
@@ -139,20 +157,21 @@
        // 创建一个数据页
        TextBxPage page = new TextBxPage();
        List<String> list = null;
        try {
            String ledDefaultMsg = Parameter.get().getLedDefaultMsg();
            list = JSON.parseArray(ledDefaultMsg, String.class);
        } catch (Exception ignore) {
        }
        if (!Cools.isEmpty(list)) {
            for (String str : list) {
                page.newLine(str);
            }
        } else {
            page.newLine("自动化立体仓库");
            page.newLine("西格邁股份有限公司");
        }
//        List<String> list = null;
//        try {
//            String ledDefaultMsg = Parameter.get().getLedDefaultMsg();
//            list = JSON.parseArray(ledDefaultMsg, String.class);
//        } catch (Exception ignore) {
//        }
//        if (!Cools.isEmpty(list)) {
//            for (String str : list) {
//                page.newLine(str);
//            }
//        } else {
//            page.newLine("自动化立体仓库");
//            page.newLine("西格迈股份有限公司");
//        }
        page.newLine("力源智能仓储");
        // 设置字体
        page.setFont(new Font("宋体",Font.PLAIN,13));
@@ -182,10 +201,13 @@
            screen.turnOn();
        } catch (Exception ignore) {
        }
        DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
        if (connRes) {
            log.info("led连接成功 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
            deviceErrorService.deleteDeviceError("led", slave.getId());
        } else {
            log.error("led连接失败!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
            deviceErrorService.addDeviceError("led", slave.getId(), "led连接失败");
        }
        return connRes;
    }
@@ -198,6 +220,13 @@
    public static void main(String[] args) throws Exception {
        String strQty = "1234";
        int index = strQty.lastIndexOf(".");
        if(index>=0) {
            strQty=strQty.substring(0, index);
        }
        System.out.println("2==>>"+strQty);
        Bx5GEnv.initial(3000);
        Bx5GScreenClient screen = new Bx5GScreenClient("my");
        DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);