| 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<WaveDetl> getWaveDetlList(){  | 
|         if (null == this.id){ return null; }  | 
|         WaveDetlService service = SpringUtils.getBean(WaveDetlService.class);  | 
|         List<WaveDetl> waveDetls = service.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, id));  | 
|         if (waveDetls.isEmpty()) {  | 
|             return null;  | 
|         }  | 
|         for (WaveDetl waveDetl : waveDetls) {  | 
|             String fieldParams = waveDetl.getFieldParams();  | 
|             List<FieldParam> 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);  | 
|     }  | 
| }  |