|  |  | 
 |  |  | 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.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 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_loc_detl") | 
 |  |  | public class LocDetl 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 LocDetl() {} | 
 |  |  |  | 
 |  |  |     public LocDetl(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); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 |  |  | package com.zy.asrs.wms.asrs.entity;
 | 
 |  |  | 
 | 
 |  |  | import java.lang.reflect.Field;
 | 
 |  |  | import java.text.SimpleDateFormat;
 | 
 |  |  | import java.util.*;
 | 
 |  |  | 
 | 
 |  |  | import com.baomidou.mybatisplus.annotation.TableField;
 | 
 |  |  | 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.framework.common.DateUtils;
 | 
 |  |  | import com.zy.asrs.wms.asrs.entity.dto.MatnrDetlDto;
 | 
 |  |  | import com.zy.asrs.wms.asrs.service.LocService;
 | 
 |  |  | import com.zy.asrs.wms.asrs.service.MatFieldService;
 | 
 |  |  | 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 lombok.experimental.Delegate;
 | 
 |  |  | 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_loc_detl")
 | 
 |  |  | public class LocDetl 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;
 | 
 |  |  | 
 | 
 |  |  |     /**
 | 
 |  |  |      * 已预约库存(平库中使用)
 | 
 |  |  |      */
 | 
 |  |  |     private Double workQty;
 | 
 |  |  | 
 | 
 |  |  |     /**
 | 
 |  |  |      * 订单号
 | 
 |  |  |      */
 | 
 |  |  |     @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: 否  ")
 | 
 |  |  |     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;
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  |     /**
 | 
 |  |  |      * 库存冻结 1: 冻结  0: 正常
 | 
 |  |  |      */
 | 
 |  |  |     @ApiModelProperty(value= "库存冻结 1: 冻结  0: 正常")
 | 
 |  |  |     private Integer freeze;
 | 
 |  |  | 
 | 
 |  |  |     @ApiModelProperty("物料信息")
 | 
 |  |  |     @TableField(exist = false)
 | 
 |  |  |     private MatnrDetlDto mats;
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  |     public LocDetl() {}
 | 
 |  |  | 
 | 
 |  |  |     public LocDetl(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 getFreeze$(){
 | 
 |  |  |         if (null == this.freeze){ return null; }
 | 
 |  |  |         switch (this.freeze){
 | 
 |  |  |             case 1:
 | 
 |  |  |                 return "冻结";
 | 
 |  |  |             case 0:
 | 
 |  |  |                 return "正常";
 | 
 |  |  |             default:
 | 
 |  |  |                 return String.valueOf(this.freeze);
 | 
 |  |  |         }
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     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);
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     public List<Map<String, Object>> getDynamicFieldsList() {
 | 
 |  |  |         MatFieldService service = SpringUtils.getBean(MatFieldService.class);
 | 
 |  |  |         List<MatField> matFields = service.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
 | 
 |  |  |         HashMap<String, Object> fieldMap = new HashMap<>();
 | 
 |  |  |         for (MatField matField : matFields) {
 | 
 |  |  |             fieldMap.put(matField.getName(), matField.getDescribe());
 | 
 |  |  |         }
 | 
 |  |  | 
 | 
 |  |  |         List<Map<String, Object>> list = new ArrayList<>();
 | 
 |  |  |         for (Map.Entry<String, Object> entry : dynamicFields.entrySet()) {
 | 
 |  |  |             HashMap<String, Object> map = new HashMap<>();
 | 
 |  |  |             map.put("key", entry.getKey());
 | 
 |  |  |             map.put("value", entry.getValue());
 | 
 |  |  |             map.put("desc", fieldMap.get(entry.getKey()));
 | 
 |  |  |             list.add(map);
 | 
 |  |  |         }
 | 
 |  |  |         return list;
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  | }
 |