自动化立体仓库 - WCS系统
Junjie
2023-03-31 87c4efe93e6fe31a9c989b4aa5cc0c8f559b845d
src/main/java/com/zy/core/model/protocol/LiftProtocol.java
@@ -1,5 +1,13 @@
package com.zy.core.model.protocol;
import com.core.common.SpringUtils;
import com.zy.asrs.service.BasShuttleService;
import com.zy.core.News;
import com.zy.core.enums.LiftProtocolStatusType;
import com.zy.core.enums.ShuttleErrorCodeType;
import com.zy.core.enums.ShuttleProtocolStatusType;
import com.zy.core.enums.ShuttleStatusType;
import com.zy.core.model.command.LiftAssignCommand;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -19,6 +27,21 @@
     * 任务号
     */
    private Short taskNo = 0;
    /**
     * 四向穿梭车号
     */
    private Short shuttleNo = 0;
    /**
     * 当前提升机状态(内部自我维护)
     */
    private Integer protocolStatus = 1;
    /**
     * 当前提升机状态枚举
     */
    private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.IDLE;
    /**
     * 层
@@ -161,8 +184,51 @@
     */
    private Short liftActualSpeed;
    /**
     * 作业标记
     */
    private Boolean pakMk = true;
    /**
     * 任务命令
     */
    private LiftAssignCommand assignCommand;
    public Short getLiftLockShortValue() {
        return liftLock ? (short) 1 : (short) 0;
    }
    /**
     * 设置提升机状态
     */
    public void setProtocolStatus(Integer status) {
        this.protocolStatus = status;
        this.protocolStatusType = LiftProtocolStatusType.get(status);
    }
    /**
     * 设置提升机状态
     */
    public void setProtocolStatus(LiftProtocolStatusType status) {
        this.protocolStatus = status.id;
        this.protocolStatusType = status;
    }
    // 是否处于空闲待命状态
    public Boolean isIdle() {
        boolean res = this.taskNo == 0
                && !this.liftLock
                && this.ready
                && !this.running
                && this.mode
                && this.pakMk.equals(true)
                ;
        return res;
    }
    public void setPositionArrivalFeedback(Short position) {
        this.lev = position;//层高
        this.positionArrivalFeedback = position;//位置到达反馈
    }
}