package com.zy.asrs.wms.asrs.entity;
|
|
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 com.fasterxml.jackson.annotation.JsonAnyGetter;
|
import com.zy.asrs.common.utils.Synchro;
|
import com.zy.asrs.framework.common.Cools;
|
import com.zy.asrs.framework.common.SpringUtils;
|
import com.zy.asrs.wms.asrs.service.LocService;
|
import com.zy.asrs.wms.asrs.service.MatService;
|
import com.zy.asrs.wms.system.entity.Host;
|
import com.zy.asrs.wms.system.entity.User;
|
import com.zy.asrs.wms.system.service.HostService;
|
import com.zy.asrs.wms.system.service.UserService;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.springframework.format.annotation.DateTimeFormat;
|
|
import java.io.Serializable;
|
import java.lang.reflect.Field;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
@Data
|
@TableName("view_man_loc_detl")
|
public class ViewLocDetl implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* ID
|
*/
|
@ApiModelProperty(value= "ID")
|
@TableId(value = "id", type = IdType.AUTO)
|
private Long id;
|
|
/**
|
* 库位
|
*/
|
@ApiModelProperty(value= "库位")
|
private Long locId;
|
|
/**
|
* 库位号
|
*/
|
@ApiModelProperty(value= "库位号")
|
private String locNo;
|
|
/**
|
* 商品
|
*/
|
@ApiModelProperty(value= "商品")
|
private Long matId;
|
|
/**
|
* 商品编号
|
*/
|
@ApiModelProperty(value= "商品编号")
|
private String matnr;
|
|
/**
|
* 订单号
|
*/
|
@ApiModelProperty(value= "订单号")
|
private String orderNo;
|
|
/**
|
* 批号
|
*/
|
@ApiModelProperty(value= "批号")
|
private String batch;
|
|
/**
|
* 数量
|
*/
|
@ApiModelProperty(value= "数量")
|
private Double anfme;
|
|
/**
|
* 所属机构
|
*/
|
@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 ViewLocDetl() {}
|
|
public ViewLocDetl(Long locId, String locNo, Long matId, String matnr, String orderNo, String batch, Double anfme, Long hostId, Integer status, Integer deleted, Date createTime, Long createBy, Date updateTime, Long updateBy, String memo) {
|
this.locId = locId;
|
this.locNo = locNo;
|
this.matId = matId;
|
this.matnr = matnr;
|
this.orderNo = orderNo;
|
this.batch = batch;
|
this.anfme = anfme;
|
this.hostId = hostId;
|
this.status = status;
|
this.deleted = deleted;
|
this.createTime = createTime;
|
this.createBy = createBy;
|
this.updateTime = updateTime;
|
this.updateBy = updateBy;
|
this.memo = memo;
|
}
|
|
// LocDetl locDetl = new LocDetl(
|
// null, // 库位
|
// null, // 库位号[非空]
|
// null, // 物料
|
// null, // 商品编号
|
// null, // 订单号
|
// null, // 批号
|
// null, // 数量
|
// null, // 扩展
|
// null, // 所属机构
|
// null, // 状态
|
// null, // 是否删除
|
// null, // 添加时间
|
// null, // 添加人员
|
// null, // 修改时间
|
// null, // 修改人员
|
// null // 备注
|
// );
|
|
public String getLocId$(){
|
LocService service = SpringUtils.getBean(LocService.class);
|
Loc loc = service.getById(this.locId);
|
if (!Cools.isEmpty(loc)){
|
return String.valueOf(loc.getLocNo());
|
}
|
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 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<LocDetlField> 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 (LocDetlField locDetlField : list) {
|
if (keys.contains(locDetlField.getName())) {
|
continue;
|
}
|
dynamicFields.put(locDetlField.getName(), locDetlField.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);
|
}
|
|
}
|