package com.zy.acs.manager.manager.entity;
|
|
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.zy.acs.common.enums.AgvStatusType;
|
import com.zy.acs.framework.common.Cools;
|
import com.zy.acs.framework.common.SpringUtils;
|
import com.zy.acs.manager.manager.service.AgvService;
|
import com.zy.acs.manager.manager.service.CodeService;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
|
import java.io.Serializable;
|
import java.util.Date;
|
import java.util.Optional;
|
|
@Data
|
@TableName("man_agv_detail")
|
public class AgvDetail implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* ID
|
*/
|
@ApiModelProperty(value= "ID")
|
@TableId(value = "id", type = IdType.AUTO)
|
private Long id;
|
|
/**
|
* 编号
|
*/
|
@ApiModelProperty(value= "编号")
|
private String uuid;
|
|
/**
|
* Agv
|
*/
|
@ApiModelProperty(value= "Agv")
|
private Long agvId;
|
|
/**
|
* 标题
|
*/
|
@ApiModelProperty(value= "标题")
|
private String title;
|
|
/**
|
* 定位点 1: 是 0: 否
|
*/
|
@ApiModelProperty(value= "定位点 1: 是 0: 否")
|
private Integer pos;
|
|
/**
|
* 条码
|
*/
|
@ApiModelProperty(value= "条码")
|
private Long code;
|
|
/**
|
* 邻接条码
|
*/
|
@ApiModelProperty(value= "邻接条码")
|
private Long lastCode;
|
|
/**
|
* 地面码偏移
|
*/
|
@ApiModelProperty(value= "地面码偏移")
|
private String codeOffsert;
|
|
/**
|
* 直行距离
|
*/
|
@ApiModelProperty(value= "直行距离")
|
private Double straightVal;
|
|
/**
|
* 当前角度
|
*/
|
@ApiModelProperty(value= "当前角度")
|
private Double agvAngle;
|
|
/**
|
* 陀螺仪角度
|
*/
|
@ApiModelProperty(value= "陀螺仪角度")
|
private Double gyroAngle;
|
|
/**
|
* 编码器角度
|
*/
|
@ApiModelProperty(value= "编码器角度")
|
private Double encoderAngle;
|
|
/**
|
* 当前高度
|
*/
|
@ApiModelProperty(value= "当前高度")
|
private Integer high;
|
|
/**
|
* 传感器状态
|
*/
|
@ApiModelProperty(value= "传感器状态")
|
private Long sensorSts;
|
|
/**
|
* 电压
|
*/
|
@ApiModelProperty(value= "电压")
|
private Integer vol;
|
|
/**
|
* 电量
|
*/
|
@ApiModelProperty(value= "电量")
|
private Integer soc;
|
|
/**
|
* 健康
|
*/
|
@ApiModelProperty(value= "健康")
|
private Integer soh;
|
|
/**
|
* 电池故障
|
*/
|
@ApiModelProperty(value= "电池故障")
|
private Integer batteryFail;
|
|
/**
|
* 温度
|
*/
|
@ApiModelProperty(value= "温度")
|
private String tempe;
|
|
/**
|
* 电机故障
|
*/
|
@ApiModelProperty(value= "电机故障")
|
private String motorFail;
|
|
/**
|
* 故障标识
|
*/
|
@ApiModelProperty(value= "故障标识")
|
private String failSign;
|
|
/**
|
* 开机时间
|
*/
|
@ApiModelProperty(value= "开机时间")
|
private Integer bootTime;
|
|
/**
|
* 工作时间
|
*/
|
@ApiModelProperty(value= "工作时间")
|
private Integer workTime;
|
|
/**
|
* 累计里程
|
*/
|
@ApiModelProperty(value= "累计里程")
|
private Double workDistance;
|
|
/**
|
* 暂存数量
|
*/
|
@ApiModelProperty(value= "暂存数量")
|
private String backpack;
|
|
/**
|
* 密码
|
*/
|
@ApiModelProperty(value= "密码")
|
private String password;
|
|
/**
|
* 状态
|
*/
|
@ApiModelProperty(value= "状态")
|
private Integer status;
|
|
@TableField(exist = false)
|
private AgvStatusType agvStatus;
|
|
/**
|
* 是否删除 1: 是 0: 否
|
*/
|
@ApiModelProperty(value= "是否删除 1: 是 0: 否 ")
|
private Integer deleted;
|
|
/**
|
* 租户
|
*/
|
@ApiModelProperty(value= "租户")
|
private Long tenantId;
|
|
/**
|
* 添加人员
|
*/
|
@ApiModelProperty(value= "添加人员")
|
private Long createBy;
|
|
/**
|
* 添加时间
|
*/
|
@ApiModelProperty(value= "添加时间")
|
private Date createTime;
|
|
/**
|
* 修改人员
|
*/
|
@ApiModelProperty(value= "修改人员")
|
private Long updateBy;
|
|
/**
|
* 修改时间
|
*/
|
@ApiModelProperty(value= "修改时间")
|
private Date updateTime;
|
|
/**
|
* 备注
|
*/
|
@ApiModelProperty(value= "备注")
|
private String memo;
|
|
public AgvDetail() {}
|
|
public String getAgvId$(){
|
AgvService service = SpringUtils.getBean(AgvService.class);
|
Agv agv = service.getById(this.agvId);
|
if (!Cools.isEmpty(agv)){
|
return String.valueOf(agv.getUuid());
|
}
|
return null;
|
}
|
|
public String getCode$(){
|
CodeService service = SpringUtils.getBean(CodeService.class);
|
Code code = service.getById(this.code);
|
if (!Cools.isEmpty(code)){
|
return String.valueOf(code.getData());
|
}
|
return null;
|
}
|
|
public String getLastCode$(){
|
CodeService service = SpringUtils.getBean(CodeService.class);
|
Code code = service.getById(this.lastCode);
|
if (!Cools.isEmpty(code)){
|
return String.valueOf(code.getUuid());
|
}
|
return null;
|
}
|
|
public Boolean getPosBool(){
|
if (null == this.pos){ return null; }
|
switch (this.pos){
|
case 1:
|
return true;
|
case 0:
|
return false;
|
default:
|
return null;
|
}
|
}
|
|
public void setStatus(int status) {
|
this.status = status;
|
this.agvStatus = AgvStatusType.get(status);
|
}
|
|
public String getStatusDesc(){
|
return Optional.ofNullable(this.agvStatus).map(status -> status.desc).orElse("");
|
}
|
|
public Long getRecentCode() {
|
// if (this.code != null) {
|
// return this.code;
|
// }
|
// if (this.lastCode != null) {
|
// return this.lastCode;
|
// }
|
if (this.pos == 1) {
|
return this.code;
|
}
|
if (this.pos == 0) {
|
return this.lastCode;
|
}
|
return null;
|
}
|
|
}
|