package com.vincent.rsf.server.manager.entity; import java.text.SimpleDateFormat; import java.util.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.server.system.constant.DictTypeCode; import com.vincent.rsf.server.system.entity.DictData; import com.vincent.rsf.server.system.service.DictDataService; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableLogic; import java.text.SimpleDateFormat; import java.util.Date; 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.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.server.system.service.UserService; import com.vincent.rsf.server.system.entity.User; import java.io.Serializable; import java.util.Date; @Data @Accessors(chain = true) @TableName("man_purchase") public class Purchase implements Serializable { private static final long serialVersionUID = 1L; /** * ID */ @ApiModelProperty(value= "ID") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 采购单号 */ @ApiModelProperty(value= "采购单号") private String code; /** * 单据类型 */ @ApiModelProperty(value= "单据类型") private String type; @ApiModelProperty(value = "erp主单标识") private String platId; /** * 单据来源 */ @ApiModelProperty(value= "单据来源") private String source; /** * 预计到达时间 */ @ApiModelProperty(value= "预计到达时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date preArr; /** * 需求数量 */ @ApiModelProperty(value= "需求数量") private Double anfme; /** * 已收货数量 */ @ApiModelProperty(value= "已收货数量") private Double qty; /** * 已收货数量 */ @ApiModelProperty(value= "收货中数量") private Double workQty; /** * 收货道口 */ @ApiModelProperty(value= "收货道口") private String channel; /** * erp单号 */ @ApiModelProperty(value= "erp单号") private String platCode; /** * 计划收货时间 */ @ApiModelProperty(value= "计划收货时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date startTime; /** * 计划收货结束时间 */ @ApiModelProperty(value= "计划收货结束时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date endTime; /** * 项目编码 */ @ApiModelProperty(value= "项目编码") private String project; /** * 状态 1: 正常 0: 冻结 */ @ApiModelProperty(value= "状态 1: 正常 0: 冻结 ") private Integer status; /** * 是否删除 1: 是 0: 否 */ @ApiModelProperty(value= "是否删除 1: 是 0: 否 ") @TableLogic private Integer deleted; /** * 租户 */ @ApiModelProperty(value= "租户") private Integer tenantId; /** * 添加人员 */ @ApiModelProperty(value= "添加人员") private Long createBy; /** * 添加时间 */ @ApiModelProperty(value= "添加时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 修改人员 */ @ApiModelProperty(value= "修改人员") private Long updateBy; /** * 修改时间 */ @ApiModelProperty(value= "修改时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * 备注 */ @ApiModelProperty(value= "备注") private String memo; public Purchase() {} public Purchase(String code,String type,String source,String platId ,Date preArr,Double anfme,Double qty,Double workQty,String channel,String platCode,Date startTime,Date endTime,String project,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { this.code = code; this.type = type; this.source = source; this.platId = platId; this.preArr = preArr; this.anfme = anfme; this.qty = qty; this.workQty = workQty; this.channel = channel; this.platCode = platCode; this.startTime = startTime; this.endTime = endTime; this.project = project; this.status = status; this.deleted = deleted; this.tenantId = tenantId; this.createBy = createBy; this.createTime = createTime; this.updateBy = updateBy; this.updateTime = updateTime; this.memo = memo; } // Purchase purchase = new Purchase( // null, // 采购单号 // null, // 单据类型[非空] // null, // 单据来源[非空] // null, // 预计到达时间 // null, // 需求数量[非空] // null, // 已收货数量[非空] // null, // 已收货数量[非空] // null, // 收货道口 // null, // erp单号 // null, // 计划收货时间 // null, // 计划收货结束时间 // null, // 项目编码 // null, // 状态[非空] // null, // 是否删除[非空] // null, // 租户 // null, // 添加人员 // null, // 添加时间[非空] // null, // 修改人员 // null, // 修改时间[非空] // null // 备注 // ); public String getType$() { if (Cools.isEmpty(this.type)) { return ""; } DictDataService dictDataService = SpringUtils.getBean(DictDataService.class); DictData dictDatas = dictDataService.getOne(new LambdaQueryWrapper() .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_ORDER_TYPE) .eq(DictData::getValue, this.type)); if (Objects.isNull(dictDatas) || Objects.isNull(dictDatas.getLabel())) { return null; } return dictDatas.getLabel(); } public String getPreArr$(){ if (Cools.isEmpty(this.preArr)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.preArr); } public String getStartTime$(){ if (Cools.isEmpty(this.startTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime); } public String getEndTime$(){ if (Cools.isEmpty(this.endTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.endTime); } 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 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 getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } 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 String getUpdateTime$(){ if (Cools.isEmpty(this.updateTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public Boolean getStatusBool(){ if (null == this.status){ return null; } switch (this.status){ case 1: return true; case 0: return false; default: return null; } } }