package com.zy.asrs.entity; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.service.BasWrkStatusService; import com.zy.system.entity.User; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; @Data @TableName("wcs_devp_task") public class DevpTask implements Serializable { private static final long serialVersionUID = 1L; /** * wms任务号 */ @ApiModelProperty(value = "wms任务号") @TableId(value = "task_no", type = IdType.INPUT) @TableField("task_no") private String taskNo; /** * 任务状态 1: 接收 2: 派发 3: 完结 4: 取消 */ @ApiModelProperty(value = "任务状态 1: 接收 2: 派发 5: 完结 4: 取消 ") private Integer status; /** * 任务号 */ @ApiModelProperty(value = "任务号") @TableField("wrk_no") private Integer wrkNo; /** * 任务时间(接收时间) */ @ApiModelProperty(value = "任务时间(接收时间)") @TableField("create_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 起点 */ @ApiModelProperty(value = "起点") @TableField("start_point") private String startPoint; /** * 终点 */ @ApiModelProperty(value = "终点") @TableField("target_point") private String targetPoint; /** * 修改人员 */ @ApiModelProperty(value = "修改人员") @TableField("modi_user") private Long modiUser; /** * 修改时间 */ @ApiModelProperty(value = "修改时间") @TableField("modi_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date modiTime; /** * 备注 */ @ApiModelProperty(value = "备注") private String memo; /** * 条码 */ @ApiModelProperty(value = "条码") private String barcode; /** * 派发时间 */ @ApiModelProperty(value = "派发时间") @TableField("assign_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date assignTime; /** * 执行时间 */ @ApiModelProperty(value = "执行时间") @TableField("execute_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date executeTime; /** * 完结时间 */ @ApiModelProperty(value = "完结时间") @TableField("complete_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date completeTime; /** * 取消时间 */ @ApiModelProperty(value = "取消时间") @TableField("cancel_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date cancelTime; /** * 工作状态 */ @ApiModelProperty(value = "工作状态") @TableField("wrk_sts") private Integer wrkSts; public DevpTask() { } public String getStatus$() { if (null == this.status) { return null; } switch (this.status) { case 1: return "接收"; case 2: return "派发"; case 3: return "步序完成"; case 4: return "取消"; case 5: return "完结"; default: return String.valueOf(this.status); } } public String getCreateTime$() { if (Cools.isEmpty(this.createTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getModiUser$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.modiUser); if (!Cools.isEmpty(user)) { return String.valueOf(user.getUsername()); } return null; } public String getModiTime$() { if (Cools.isEmpty(this.modiTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); } public String getAssignTime$() { if (Cools.isEmpty(this.assignTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.assignTime); } public String getExecuteTime$() { if (Cools.isEmpty(this.executeTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.executeTime); } public String getCompleteTime$() { if (Cools.isEmpty(this.completeTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.completeTime); } public String getCancelTime$() { if (Cools.isEmpty(this.cancelTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.cancelTime); } public String getWrkSts$() { BasWrkStatusService service = SpringUtils.getBean(BasWrkStatusService.class); BasWrkStatus basWrkStatus = service.selectById(this.wrkSts); if (!Cools.isEmpty(basWrkStatus)) { return String.valueOf(basWrkStatus.getWrkDesc()); } return null; } /** * 获取持续时间 */ public String getDurationTime() { if (Cools.isEmpty(this.createTime)) { return ""; } Date endDate = new Date(); if (!Cools.isEmpty(this.assignTime)) { endDate = this.assignTime; } //用来获取两个时间相差的毫秒数 long l = this.createTime.getTime() - endDate.getTime(); //分别计算相差的天、小时、分、秒 long day = l / (24 * 60 * 60 * 1000); long hour = (l / (60 * 60 * 1000) - day * 24); long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60); long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); return Math.abs(day) + "天" + Math.abs(hour) + "小时" + Math.abs(min) + "分" + Math.abs(s) + "秒"; } }