package com.zy.asrs.wms.asrs.entity; import com.baomidou.mybatisplus.annotation.TableLogic; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.zy.asrs.common.utils.Synchro; import com.zy.asrs.wms.asrs.service.MatService; import com.zy.asrs.wms.asrs.service.OrderDetlLogService; import com.zy.asrs.wms.asrs.service.OrderLogService; import com.zy.asrs.wms.asrs.service.TaskLogService; import com.zy.asrs.wms.system.entity.Host; import com.zy.asrs.wms.system.entity.User; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; 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 java.io.Serializable; import java.util.Date; @Data @TableName("man_task_detl_log") public class TaskDetlLog implements Serializable { private static final long serialVersionUID = 1L; /** * ID */ @ApiModelProperty(value= "ID") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 任务ID */ @ApiModelProperty(value= "任务ID") private Long taskId; /** * 任务编号 */ @ApiModelProperty(value= "任务编号") private String taskNo; /** * 数量 */ @ApiModelProperty(value= "数量") private Double anfme; /** * 库存 */ @ApiModelProperty(value= "库存") private Double stock; /** * 批号 */ @ApiModelProperty(value= "批号") private String batch; /** * 托盘码 */ @ApiModelProperty(value= "托盘码") private String barcode; /** * 订单ID */ @ApiModelProperty(value= "订单ID") private Long orderId; /** * 订单编号 */ @ApiModelProperty(value= "订单编号") private String orderNo; /** * 明细ID */ @ApiModelProperty(value= "明细ID") private Long detlId; /** * 物料ID */ @ApiModelProperty(value= "物料ID") private Long matId; /** * 商品编号 */ @ApiModelProperty(value= "商品编号") private String matnr; /** * 所属机构 */ @ApiModelProperty(value= "所属机构") private Long hostId; /** * 状态 1: 正常 0: 禁用 */ @ApiModelProperty(value= "状态 1: 正常 0: 禁用 ") private Integer status; /** * 是否删除 1: 是 0: 否 */ @ApiModelProperty(value= "是否删除 1: 是 0: 否 ") @TableLogic 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; public TaskDetlLog() {} public TaskDetlLog(Long taskId,String taskNo,Double anfme,Double stock,String batch,String barcode,Long orderId,String orderNo,Long detlId,Long matId,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) { this.taskId = taskId; this.taskNo = taskNo; this.anfme = anfme; this.stock = stock; this.batch = batch; this.barcode = barcode; this.orderId = orderId; this.orderNo = orderNo; this.detlId = detlId; this.matId = matId; this.hostId = hostId; this.status = status; this.deleted = deleted; this.createTime = createTime; this.createBy = createBy; this.updateTime = updateTime; this.updateBy = updateBy; this.memo = memo; } // TaskDetlLog taskDetlLog = new TaskDetlLog( // null, // 任务ID // null, // 任务编号 // null, // 数量 // null, // 库存 // null, // 批号 // null, // 托盘码 // null, // 订单ID // null, // 订单编号 // null, // 明细ID // null, // 物料ID // null, // 所属机构 // null, // 状态 // null, // 是否删除 // null, // 添加时间 // null, // 添加人员 // null, // 修改时间 // null, // 修改人员 // null // 备注 // ); public String getTaskId$(){ TaskLogService service = SpringUtils.getBean(TaskLogService.class); TaskLog taskLog = service.getById(this.taskId); if (!Cools.isEmpty(taskLog)){ return String.valueOf(taskLog.getId()); } return null; } public String getOrderId$(){ OrderLogService service = SpringUtils.getBean(OrderLogService.class); OrderLog orderLog = service.getById(this.orderId); if (!Cools.isEmpty(orderLog)){ return String.valueOf(orderLog.getId()); } return null; } public String getDetlId$(){ OrderDetlLogService service = SpringUtils.getBean(OrderDetlLogService.class); OrderDetlLog orderDetlLog = service.getById(this.detlId); if (!Cools.isEmpty(orderDetlLog)){ return String.valueOf(orderDetlLog.getId()); } return null; } public String getMatId$(){ MatService service = SpringUtils.getBean(MatService.class); Mat mat = service.getById(this.matId); if (!Cools.isEmpty(mat)){ return String.valueOf(mat.getId()); } return null; } public Mat getMat$(){ MatService service = SpringUtils.getBean(MatService.class); Mat mat = service.getById(this.matId); if (!Cools.isEmpty(mat)){ return mat; } return null; } public TaskLog getTask$(){ TaskLogService service = SpringUtils.getBean(TaskLogService.class); TaskLog taskLog = service.getById(this.getTaskId()); if (!Cools.isEmpty(taskLog)){ return taskLog; } return null; } 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); } //动态扩展字段 public transient Map dynamicFields = new HashMap<>(); @JsonAnyGetter public Map getDynamicFields() { return dynamicFields; } public void syncField(List list) { ArrayList keys = new ArrayList<>(); Field[] fields = this.getClass().getFields(); for (Field field : fields) { keys.add(field.getName()); } Map dynamicFields = new HashMap<>(); for (TaskDetlFieldLog taskDetlFieldLog : list) { if (keys.contains(taskDetlFieldLog.getName())) { continue; } dynamicFields.put(taskDetlFieldLog.getName(), taskDetlFieldLog.getValue()); } this.dynamicFields = dynamicFields; } public void syncFieldMap(Map map) { ArrayList keys = new ArrayList<>(); Field[] fields = this.getClass().getDeclaredFields(); for (Field field : fields) { keys.add(field.getName()); } keys.add("detlId"); Map dynamicFields = new HashMap<>(); for (Map.Entry entry : map.entrySet()) { if (keys.contains(entry.getKey())) { continue; } dynamicFields.put(entry.getKey(), entry.getValue()); } this.dynamicFields = dynamicFields; } public String getFieldString(String key) { return dynamicFields.get(key).toString(); } public void setField(String key, Object value) { dynamicFields.put(key, value); } }