package com.zy.core.model.protocol; 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; /** * Created by vincent on 2020/8/7 */ @Data public class SteProtocol { /** * 设备号 */ private Short steNo; /** * 1 = 联机模式 * 0 = 脱机模式 */ public Short mode; /** IDLE(0, "空闲"), MOVING(1, "作业中"), SOS(2, "报警"), WAITING(3, "任务完成等待WCS确认"), */ public Short status; public SteStatusType statusType; /** * 正在执行任务 */ public Boolean execute; /** * 任务完成,等待WCS确认 */ public Boolean waiting; /** * 异常码1 */ public Short alarm; /** * 异常码2 */ public Short alarm0; /** * 电池电量 */ public Float charge; /** * 满电 */ public Boolean fullCharge; /** * 低电量 */ public Boolean lowCharge; /** * 电池馈电 0,欠电,1低电 2满电 */ public Short feed; /** * 当前位置 1,近点,2远点,3A点,4B点 */ public Short loca; public SteLocaType locaType; /** * 近点距离 */ public Double closer; /** * 当前速度 */ public Double speed; /** * 高低位 0,低位,1高位 */ public Short pos; /** * 有货 0,没货,1有货 */ public Short load; /** * 在轨道上 0不在,1在 */ public Short track; /** * 任务号 */ public Integer taskNo = 0; /** * 任务类型 */ public Short taskType; /** * 排 */ public Short row; /** * 列 */ public Short bay; /** * 层 */ public Short lev; /** * 过账指令任务号 */ public Integer hisTaskNo; /** * 过账指令状态 * 0初始 1执行完成 2删除 */ public Short hisTaskStatus; public SteHisTaskStatusType hisTaskStatusType; /** * 盘点数量 */ public Short checkQty; /** * 就绪状态 0未就绪 1就绪 */ public Short ready; /** * 打开充电桩号 */ public Short chargeNo; /** * 心跳指令 1-2每秒切换一次 */ public Short heart; /** * 堆垛机禁止运行 1运行,0禁止 */ public Short crnStopRun; /** * 堆垛机禁止伸叉 1运行,0禁止 */ public Short crnStopFork; /** * 堆垛机搬移允许 0不允许 1允许 */ public Short crnAllowRun; public void setStatus(Short status){ this.status = status; this.statusType = SteStatusType.get(status); } public void setStatus(SteStatusType type){ this.statusType = type; 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); } public void setHisTaskStatus(SteHisTaskStatusType type){ this.hisTaskStatusType = type; this.hisTaskStatus = SteHisTaskStatusType.get(type).id.shortValue(); } /** * 最近一次入出库类型 * I:入库 * O:出库 */ private String lastIo = "I"; public BasSte toSqlModel(BasSte basSte){ if (alarm!=null) { basSte.setSteErr(alarm.longValue()); } basSte.setWrkNo(taskNo); return basSte; } }