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.ForkLiftIoModeType;
|
import com.zy.core.enums.ForkLiftProtocolStatusType;
|
import com.zy.core.enums.ForkLiftTaskModeType;
|
import com.zy.core.enums.RedisKeyType;
|
import lombok.Data;
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* 货叉提升机
|
*/
|
@Slf4j
|
@Data
|
public class ForkLiftProtocol implements Cloneable {
|
|
/**
|
* 提升机号
|
*/
|
private Integer liftNo;
|
|
/**
|
* 模式0手动 1单机 2联机
|
*/
|
private Integer model;
|
|
/**
|
* 任务号
|
*/
|
private Integer taskNo = 0;
|
|
/**
|
* PLC任务号
|
*/
|
private Integer wrkNo;
|
|
/**
|
* 任务状态
|
*/
|
private Integer protocolStatus = ForkLiftProtocolStatusType.NONE.id;
|
|
/**
|
* 任务状态枚举
|
*/
|
private ForkLiftProtocolStatusType protocolStatusType = ForkLiftProtocolStatusType.NONE;
|
|
/**
|
* 任务模式
|
*/
|
private Integer taskMode = ForkLiftTaskModeType.NONE.id;
|
|
/**
|
* 任务模式枚举
|
*/
|
private ForkLiftTaskModeType modeType = ForkLiftTaskModeType.NONE;
|
|
/**
|
* 取货数据
|
*/
|
private Integer pick;
|
|
/**
|
* 放货数据
|
*/
|
private Integer put;
|
|
/**
|
* 出入库模式
|
*/
|
private Integer iOMode = ForkLiftIoModeType.NONE.id;
|
|
/**
|
* 出入库模式枚举
|
*/
|
private ForkLiftIoModeType iOModeType = ForkLiftIoModeType.NONE;
|
|
/**
|
* 故障码
|
*/
|
private Integer errorCode;
|
|
/**
|
* 作业标记
|
*/
|
private Boolean pakMk = false;
|
|
/**
|
* 指令下发时间
|
*/
|
private Long sendTime = 0L;
|
|
/**
|
* 日志采集时间
|
*/
|
private Long deviceDataLog = System.currentTimeMillis();
|
|
/**
|
* 扩展字段
|
*/
|
private Object extend;
|
|
/**
|
* 设置任务状态
|
*/
|
public void setProtocolStatus(Integer status) {
|
this.protocolStatus = status;
|
this.protocolStatusType = ForkLiftProtocolStatusType.get(status);
|
}
|
|
/**
|
* 设置任务状态
|
*/
|
public void setProtocolStatus(ForkLiftProtocolStatusType status) {
|
this.protocolStatus = status.id;
|
this.protocolStatusType = status;
|
}
|
|
/**
|
* 设置任务模式
|
*/
|
public void setTaskMode(Integer taskMode) {
|
this.taskMode = taskMode;
|
this.modeType = ForkLiftTaskModeType.get(taskMode);
|
}
|
|
/**
|
* 设置任务模式
|
*/
|
public void setMode(ForkLiftTaskModeType taskMode) {
|
this.taskMode = taskMode.id;
|
this.modeType = taskMode;
|
}
|
|
/**
|
* 设置出入库模式
|
*/
|
public void setIOMode(Integer ioMode) {
|
this.iOMode = ioMode;
|
this.iOModeType = ForkLiftIoModeType.get(ioMode);
|
}
|
|
/**
|
* 设置出入库模式
|
*/
|
public void setIOMode(ForkLiftIoModeType ioMode) {
|
this.iOMode = ioMode.id;
|
this.iOModeType = ioMode;
|
}
|
|
/**
|
* 错误码
|
*/
|
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();
|
}
|
|
public Integer getTaskNo() {
|
RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
|
if (null != redisUtil) {
|
Object o = redisUtil.get(RedisKeyType.FORK_LIFT_FLAG.key + this.liftNo);
|
if (!Cools.isEmpty(o)) {
|
this.taskNo = Integer.parseInt(String.valueOf(o));
|
}
|
}
|
return this.taskNo == null ? 0 : this.taskNo;
|
}
|
|
public synchronized void setSyncTaskNo(Integer taskNo) {
|
RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
|
if (null != redisUtil) {
|
redisUtil.set(RedisKeyType.FORK_LIFT_FLAG.key + this.liftNo, taskNo);
|
this.taskNo = taskNo;
|
}
|
}
|
|
public String getModel$() {
|
if (this.model == null) {
|
return "";
|
}
|
|
String name = "";
|
if (this.model == 0) {
|
name = "手动";
|
} else if (this.model == 1) {
|
name = "单机";
|
}else if (this.model == 2) {
|
name = "联机";
|
}
|
return name;
|
}
|
|
public String getProtocolStatus$() {
|
if (this.protocolStatus == null) {
|
return "";
|
}
|
|
return ForkLiftProtocolStatusType.get(this.protocolStatus).desc;
|
}
|
|
public String getTaskMode$() {
|
if (this.taskMode == null) {
|
return "";
|
}
|
|
return ForkLiftTaskModeType.get(this.taskMode).desc;
|
}
|
|
public String getIOMode$() {
|
if (this.iOMode == null) {
|
return "";
|
}
|
|
return ForkLiftIoModeType.get(this.iOMode).desc;
|
}
|
|
@Override
|
public ForkLiftProtocol clone() {
|
try {
|
return (ForkLiftProtocol) super.clone();
|
} catch (CloneNotSupportedException e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
|
}
|