package com.zy.core.model.protocol;
|
|
import com.core.common.Cools;
|
import com.core.common.SpringUtils;
|
import com.zy.asrs.entity.BasLiftErr;
|
import com.zy.asrs.service.BasLiftErrService;
|
import com.zy.common.utils.RedisUtil;
|
import com.zy.core.enums.LiftProtocolStatusType;
|
import com.zy.core.enums.RedisKeyType;
|
import lombok.Data;
|
import lombok.extern.slf4j.Slf4j;
|
|
@Slf4j
|
@Data
|
public class LiftProtocol implements Cloneable {
|
|
//**********************必须存在属性**********************
|
/**
|
* 提升机号
|
*/
|
private Integer liftNo;
|
|
/**
|
* 任务号
|
*/
|
private Integer taskNo;
|
|
/**
|
* 四向穿梭车号
|
*/
|
private Integer shuttleNo = 0;
|
|
/**
|
* 当前提升机状态(内部自我维护)
|
*/
|
private Integer protocolStatus = -1;
|
|
/**
|
* 当前提升机状态枚举
|
*/
|
private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.NONE;
|
|
/**
|
* 模式 => 自动/手动
|
*/
|
private Boolean model;
|
|
/**
|
* 运行状态
|
*/
|
private Boolean run;
|
|
/**
|
* 就绪状态
|
*/
|
private Boolean ready;
|
|
/**
|
* 前超限
|
*/
|
private Boolean frontOverrun;
|
|
/**
|
* 后超限
|
*/
|
private Boolean backOverrun;
|
|
/**
|
* 左超限
|
*/
|
private Boolean leftOverrun;
|
|
/**
|
* 右超限
|
*/
|
private Boolean rightOverrun;
|
|
/**
|
* 超高
|
*/
|
private Boolean overHeight;
|
|
/**
|
* 超重
|
*/
|
private Boolean overWeight;
|
|
/**
|
* 有托盘
|
*/
|
private Boolean hasTray;
|
|
/**
|
* 有小车
|
*/
|
private Boolean hasCar;
|
|
/**
|
* 故障
|
*/
|
private Boolean error;
|
|
/**
|
* 故障码
|
*/
|
private String errorCode;
|
|
/**
|
* 任务地址
|
*/
|
private Short taskAddress;
|
|
/**
|
* 目的地址
|
*/
|
private Short distAddress;
|
|
/**
|
* 已完成的任务号
|
*/
|
private String completeTaskNo;
|
|
/**
|
* 层
|
*/
|
private Integer lev;
|
|
/**
|
* 作业标记
|
*/
|
private Boolean pakMk = true;
|
|
/**
|
* 指令下发时间
|
*/
|
private Long sendTime = 0L;
|
|
/**
|
* 日志采集时间
|
*/
|
private Long deviceDataLog = System.currentTimeMillis();
|
|
/**
|
* 扩展字段
|
*/
|
private Object extend;
|
|
public String getRun$() {
|
if (this.run == null) {
|
return "未知";
|
}
|
|
return this.run ? "运行中" : "空闲";
|
}
|
|
public String getReady$() {
|
if (this.ready == null) {
|
return "未知";
|
}
|
|
return this.ready ? "就绪" : "未就绪";
|
}
|
|
public String getModel$() {
|
if (this.model == null) {
|
return "未知";
|
}
|
|
return this.model ? "自动" : "手动";
|
}
|
|
public String getHasTray$() {
|
if (this.hasTray == null) {
|
return "未知";
|
}
|
|
return this.hasTray ? "Y" : "N";
|
}
|
|
public String getHasCar$() {
|
if (this.hasCar == null) {
|
return "未知";
|
}
|
|
return this.hasCar ? "Y" : "N";
|
}
|
|
public String getFrontOverrun$() {
|
if (this.frontOverrun == null) {
|
return "未知";
|
}
|
|
return this.frontOverrun ? "Y" : "N";
|
}
|
|
public String getBackOverrun$() {
|
if (this.backOverrun == null) {
|
return "未知";
|
}
|
|
return this.backOverrun ? "Y" : "N";
|
}
|
|
public String getLeftOverrun$() {
|
if (this.leftOverrun == null) {
|
return "未知";
|
}
|
|
return this.leftOverrun ? "Y" : "N";
|
}
|
|
public String getRightOverrun$() {
|
if (this.rightOverrun == null) {
|
return "未知";
|
}
|
|
return this.rightOverrun ? "Y" : "N";
|
}
|
|
public String getOverHeight$() {
|
if (this.overHeight == null) {
|
return "未知";
|
}
|
|
return this.overHeight ? "Y" : "N";
|
}
|
|
public String getOverWeight$() {
|
if (this.overWeight == null) {
|
return "未知";
|
}
|
|
return this.overWeight ? "Y" : "N";
|
}
|
|
public String getProtocolStatus$() {
|
if (this.protocolStatusType == null) {
|
return "未知";
|
}
|
|
return this.protocolStatusType.desc;
|
}
|
|
/**
|
* 设置提升机状态
|
*/
|
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 synchronized void setTaskNo(Integer taskNo) {
|
RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
|
if (null != redisUtil) {
|
redisUtil.set(RedisKeyType.LIFT_FLAG.key + this.liftNo, taskNo);
|
this.taskNo = taskNo;
|
}
|
}
|
|
public Integer getTaskNo() {
|
RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
|
if (null != redisUtil) {
|
Object o = redisUtil.get(RedisKeyType.LIFT_FLAG.key + this.liftNo);
|
if (!Cools.isEmpty(o)) {
|
this.taskNo = Integer.valueOf(String.valueOf(o));
|
}
|
}
|
return this.taskNo == null ? 0 : this.taskNo;
|
}
|
|
/**
|
* 错误码
|
*/
|
public String getErrCode$() {
|
if (this.errorCode == null) {
|
return "";
|
}
|
BasLiftErrService basLiftErrService = SpringUtils.getBean(BasLiftErrService.class);
|
BasLiftErr basLiftErr = basLiftErrService.selectById(this.errorCode);
|
if (basLiftErr == null) {
|
return String.valueOf(this.errorCode);
|
}
|
return basLiftErr.getErrName();
|
}
|
|
@Override
|
public LiftProtocol clone() {
|
try {
|
return (LiftProtocol) super.clone();
|
} catch (CloneNotSupportedException e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
}
|