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; } }