package com.zy.asrs.wms.asrs.entity; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.*; import java.text.SimpleDateFormat; import java.util.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.wms.asrs.entity.param.FieldParam; import com.zy.asrs.wms.asrs.service.WaveDetlService; import com.zy.asrs.wms.system.entity.Host; import com.zy.asrs.wms.system.entity.User; import com.zy.asrs.wms.utils.Utils; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableLogic; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.SpringUtils; import com.zy.asrs.wms.system.service.UserService; import com.zy.asrs.wms.system.service.HostService; import com.zy.asrs.common.utils.Synchro; import java.io.Serializable; import java.util.Date; @Data @TableName("man_wave") public class Wave 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 waveNo; /** * 波次类型 0: 手动 1: 自动 */ @ApiModelProperty(value= "波次类型 0: 手动 1: 自动 ") private Integer waveType; /** * 波次状态 0: 初始化 1: 生成任务 2: 任务播种 3: 完成 */ @ApiModelProperty(value= "波次状态 0: 初始化 1: 生成任务 2: 任务播种 3: 完成 ") private Integer waveStatus; /** * 所属机构 */ @ApiModelProperty(value= "所属机构") private Long hostId; /** * 状态 1: 正常 0: 禁用 */ @ApiModelProperty(value= "状态 1: 正常 0: 禁用 ") private Integer status; /** * 是否删除 1: 是 0: 否 */ @ApiModelProperty(value= "是否删除 1: 是 0: 否 ") private Integer deleted; /** * 添加时间 */ @ApiModelProperty(value= "添加时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 添加人员 */ @ApiModelProperty(value= "添加人员") private Long createBy; /** * 修改时间 */ @ApiModelProperty(value= "修改时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * 修改人员 */ @ApiModelProperty(value= "修改人员") private Long updateBy; /** * 备注 */ @ApiModelProperty(value= "备注") private String memo; @TableField(exist = false) private Boolean generateTask; public Wave() {} public Wave(String waveNo,Integer waveType,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) { this.waveNo = waveNo; this.waveType = waveType; this.hostId = hostId; this.status = status; this.deleted = deleted; this.createTime = createTime; this.createBy = createBy; this.updateTime = updateTime; this.updateBy = updateBy; this.memo = memo; } // Wave wave = new Wave( // null, // 波次号 // null, // 波次类型 // null, // 所属机构 // null, // 状态 // null, // 是否删除 // null, // 添加时间 // null, // 添加人员 // null, // 修改时间 // null, // 修改人员 // null // 备注 // ); public String getWaveType$(){ if (null == this.waveType){ return null; } switch (this.waveType){ case 0: return "手动"; case 1: return "自动"; default: return String.valueOf(this.waveType); } } public String getWaveStatus$(){ if (null == this.waveStatus){ return null; } switch (this.waveStatus){ case 0: return "初始化"; case 1: return "生成任务"; case 2: return "任务播种"; case 3: return "完成"; default: return String.valueOf(this.waveStatus); } } public List getWaveDetlList(){ if (null == this.id){ return null; } WaveDetlService service = SpringUtils.getBean(WaveDetlService.class); List waveDetls = service.list(new LambdaQueryWrapper().eq(WaveDetl::getWaveId, id)); if (waveDetls.isEmpty()) { return null; } for (WaveDetl waveDetl : waveDetls) { String fieldParams = waveDetl.getFieldParams(); List list = JSON.parseArray(fieldParams, FieldParam.class); waveDetl.setDynamicFields(list); } return waveDetls; } public String getHostId$(){ HostService service = SpringUtils.getBean(HostService.class); Host host = service.getById(this.hostId); if (!Cools.isEmpty(host)){ return String.valueOf(host.getName()); } return null; } public String getStatus$(){ if (null == this.status){ return null; } switch (this.status){ case 1: return "正常"; case 0: return "禁用"; default: return String.valueOf(this.status); } } public String getDeleted$(){ if (null == this.deleted){ return null; } switch (this.deleted){ case 1: return "是"; case 0: return "否"; default: return String.valueOf(this.deleted); } } public String getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getCreateBy$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.getById(this.createBy); if (!Cools.isEmpty(user)){ return String.valueOf(user.getNickname()); } return null; } public String getUpdateTime$(){ if (Cools.isEmpty(this.updateTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public String getUpdateBy$(){ UserService service = SpringUtils.getBean(UserService.class); User user = service.getById(this.updateBy); if (!Cools.isEmpty(user)){ return String.valueOf(user.getNickname()); } return null; } public void sync(Object source) { Synchro.Copy(source, this); } }