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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
import com.zy.asrs.common.utils.Synchro;
|
import com.zy.asrs.wms.asrs.entity.param.FieldParam;
|
import com.zy.asrs.wms.asrs.service.*;
|
import com.zy.asrs.wms.system.entity.Host;
|
import com.zy.asrs.wms.system.entity.User;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import java.util.Date;
|
|
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
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;
|
|
@Data
|
@TableName("man_task_detl")
|
public class TaskDetl 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: 否 ")
|
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;
|
|
/**
|
* 波次ID
|
*/
|
@ApiModelProperty(value= "波次ID")
|
private Long waveId;
|
|
public TaskDetl() {}
|
|
public TaskDetl(Long taskId,String taskNo,Double anfme,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.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;
|
}
|
|
// TaskDetl taskDetl = new TaskDetl(
|
// null, // 任务ID
|
// null, // 任务编号
|
// null, // 数量
|
// null, // 批号
|
// null, // 托盘码
|
// null, // 订单ID
|
// null, // 订单编号
|
// null, // 明细ID
|
// null, // 物料ID
|
// null, // 所属机构
|
// null, // 状态
|
// null, // 是否删除
|
// null, // 添加时间
|
// null, // 添加人员
|
// null, // 修改时间
|
// null, // 修改人员
|
// null // 备注
|
// );
|
|
public String getTaskId$(){
|
TaskService service = SpringUtils.getBean(TaskService.class);
|
Task task = service.getById(this.taskId);
|
if (!Cools.isEmpty(task)){
|
return String.valueOf(task.getId());
|
}
|
return null;
|
}
|
|
public String getOrderId$() {
|
OrderService service = SpringUtils.getBean(OrderService.class);
|
Order order = service.getById(this.orderId);
|
if (!Cools.isEmpty(order)) {
|
return String.valueOf(order.getId());
|
}
|
return null;
|
}
|
|
public Order getOrder$() {
|
OrderService service = SpringUtils.getBean(OrderService.class);
|
Order order = service.getById(this.orderId);
|
if (!Cools.isEmpty(order)) {
|
return order;
|
}
|
return null;
|
}
|
|
public String getDetlId$(){
|
OrderDetlService service = SpringUtils.getBean(OrderDetlService.class);
|
OrderDetl orderDetl = service.getById(this.detlId);
|
if (!Cools.isEmpty(orderDetl)){
|
return String.valueOf(orderDetl.getId());
|
}
|
return null;
|
}
|
|
public OrderDetl getDetl$(){
|
OrderDetlService service = SpringUtils.getBean(OrderDetlService.class);
|
OrderDetl orderDetl = service.getById(this.detlId);
|
if (!Cools.isEmpty(orderDetl)){
|
return orderDetl;
|
}
|
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.getMatnr());
|
}
|
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 Wave getWave$(){
|
WaveService service = SpringUtils.getBean(WaveService.class);
|
Wave wave = service.getById(this.waveId);
|
if (!Cools.isEmpty(wave)){
|
return wave;
|
}
|
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<String, Object> dynamicFields = new HashMap<>();
|
|
@JsonAnyGetter
|
public Map<String,Object> getDynamicFields() {
|
return dynamicFields;
|
}
|
|
public void syncField(List<TaskDetlField> list) {
|
ArrayList<String> keys = new ArrayList<>();
|
Field[] fields = this.getClass().getFields();
|
for (Field field : fields) {
|
keys.add(field.getName());
|
}
|
|
Map<String, Object> dynamicFields = new HashMap<>();
|
for (TaskDetlField taskDetlField : list) {
|
if (keys.contains(taskDetlField.getName())) {
|
continue;
|
}
|
dynamicFields.put(taskDetlField.getName(), taskDetlField.getValue());
|
}
|
|
this.dynamicFields = dynamicFields;
|
}
|
|
public void syncFieldMap(Map<String, Object> map) {
|
ArrayList<String> keys = new ArrayList<>();
|
Field[] fields = this.getClass().getDeclaredFields();
|
for (Field field : fields) {
|
keys.add(field.getName());
|
}
|
keys.add("detlId");
|
|
Map<String, Object> dynamicFields = new HashMap<>();
|
for (Map.Entry<String, Object> 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);
|
}
|
|
//获取索引字段
|
public List<FieldParam> getUniqueField() {
|
MatFieldService service = SpringUtils.getBean(MatFieldService.class);
|
|
List<FieldParam> list = new ArrayList<>();
|
for (MatField matField : service.list(new LambdaQueryWrapper<MatField>().eq(MatField::getUnique, 1))) {
|
FieldParam param = new FieldParam();
|
param.setName(matField.getName());
|
param.setValue(dynamicFields.get(matField.getName()));
|
list.add(param);
|
}
|
return list;
|
}
|
|
|
}
|