自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-09-19 be88cb18eeca37171e1dad3ce7d5209700a42d29
src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -2,6 +2,7 @@
import com.zy.asrs.entity.BasSte;
import com.zy.core.enums.SteHisTaskStatusType;
import com.zy.core.enums.SteLocaType;
import com.zy.core.enums.SteStatusType;
import lombok.Data;
@@ -33,6 +34,11 @@
    public SteStatusType statusType;
    /**
     * 任务号
     */
    public Short taskNo = 0;
    /**
     * 正在执行任务
     */
    public Boolean execute;
@@ -46,18 +52,18 @@
    /**
     * 异常码1
     */
    public Integer alarm;
    public Short alarm;
    /**
     * 异常码2
     */
    public Integer alarm0;
    public Short alarm0;
    /**
     * 电池电量
     */
    public Short charge;
    public Float charge = 0.0F;
    /**
     * 满电
@@ -70,15 +76,16 @@
    public Boolean lowCharge;
    /**
     * 电池馈电     0,正常,1馈电
     * 电池馈电    0,欠电,1低电 2满电
     */
    public Short feed;
    /**
     * 当前位置     1,近点,2远点,3A点,4B点
     */
    public Short loca;
    public SteLocaType locaType;
    /**
     * 近点距离
@@ -88,7 +95,7 @@
    /**
     * 当前速度
     */
    public Double speed;
    public Double speed = 0.0D;
    /**
     * 高低位 0,低位,1高位
@@ -104,11 +111,6 @@
     * 在轨道上 0不在,1在
     */
    public Short track;
    /**
     * 任务号
     */
    public Integer taskNo = 0;
    /**
     * 任务类型
@@ -188,6 +190,16 @@
        this.status = SteStatusType.get(type).id.shortValue();
    }
    public void setLoca(Short loca){
        this.loca = loca;
        this.locaType = SteLocaType.get(loca);
    }
    public void setLoca(SteLocaType type){
        this.locaType = type;
        this.loca = SteLocaType.get(type).id.shortValue();
    }
    public void setHisTaskStatus(Short hisTaskStatus){
        this.hisTaskStatus = hisTaskStatus;
        this.hisTaskStatusType = SteHisTaskStatusType.get(hisTaskStatus);
@@ -205,12 +217,26 @@
     */
    private String lastIo = "I";
    private String pakMk = "-";
    public BasSte toSqlModel(BasSte basSte){
        if (alarm!=null) {
            basSte.setSteErr(alarm.longValue());
        }
        basSte.setWrkNo(taskNo);
        basSte.setWrkNo(taskNo.intValue());
        return basSte;
    }
    // 是否处于空闲待命状态
    public Boolean isIdle() {
        return this.statusType.equals(SteStatusType.IDLE)
                && this.pakMk.equals("N")
                && !isAlarm();
    }
    // 是否处于报警状态
    public Boolean isAlarm() {
        return this.alarm > 1;
    }
}