#
zjj
2024-06-19 f11ce451cef38b58a189e92d943566282e6a316c
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
@@ -63,9 +63,9 @@
        try {
            readStatus();
            //提升机处于运行状态,将标记置为false
            //提升机处于运行状态,将标记置为true
            if (liftProtocol.getRun()) {
                liftProtocol.setPakMk(false);
                liftProtocol.setPakMk(true);
            }
        } catch (Exception e) {
            OutputQueue.LIFT.offer(MessageFormat.format("【{0}】读取提升机状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), device.getId(), device.getIp(), device.getPort()));
@@ -345,10 +345,11 @@
        // 判断提升机是否自动、就绪、空闲、未锁定
        if (this.liftProtocol.getModel()
                && !this.liftProtocol.getRun()
                && this.liftProtocol.getPakMk()
                && this.liftProtocol.getReady()
//                && this.liftProtocol.getPakMk()
                && this.liftProtocol.getErrorCode().equals("0")
                && this.liftProtocol.getProtocolStatusType().equals(LiftProtocolStatusType.IDLE)
                && (this.liftProtocol.getProtocolStatusType().equals(LiftProtocolStatusType.IDLE)
                || this.liftProtocol.getProtocolStatusType().equals(LiftProtocolStatusType.WAITING))
                && !extend.getLock()
        ) {
            return true;
@@ -357,6 +358,36 @@
    }
    @Override
    public boolean isDeviceIdle() {
        return isDeviceIdle(null);
    }
    @Override
    public boolean isDeviceIdle(ExecuteSupport support) {
        if (null != support) {
            Boolean judgement = support.judgement();
            if (judgement != null && !judgement) {
                return true;
            }
        }
        // 判断提升机是否自动、就绪、空闲
        if (this.liftProtocol.getModel()
                && !this.liftProtocol.getRun()
                && this.liftProtocol.getErrorCode().equals("0")
        ) {
            if (this.liftProtocol.getTaskNo() == 0) {
                //无任务情况下检测是否就绪
                if (!this.liftProtocol.getReady()) {
                    return false;
                }
            }
            return true;
        }
        return false;
    }
    @Override
    public boolean setProtocolStatus(LiftProtocolStatusType status) {
        this.liftProtocol.setProtocolStatus(status);
        return true;