package com.vincent.rsf.server.manager.entity; import com.baomidou.mybatisplus.annotation.*; import java.text.SimpleDateFormat; import java.util.Date; 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 com.baomidou.mybatisplus.annotation.TableLogic; 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; import java.util.Objects; @Data @Accessors(chain = true) @TableName("man_check_diff_item") public class CheckDiffItem 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 checkId; @ApiModelProperty("任务ID") private Long taskId; @ApiModelProperty("任务明细ID") private Long taskItemId; /** * 盘点单 */ @ApiModelProperty(value= "盘点单") private String orderCode; /** * 物料名称 */ @ApiModelProperty(value= "物料名称") private String maktx; /** * 物料编码 */ @ApiModelProperty(value= "物料编码") private String matnrCode; /** * 规格 */ @ApiModelProperty(value= "规格") private String spec; /** * 型号 */ @ApiModelProperty(value= "型号") private String model; /** * 托盘码 */ @ApiModelProperty(value= "托盘码") private String barcode; /** * 批次 */ @ApiModelProperty(value= "批次") private String batch; /** * 帐面库存 */ @ApiModelProperty(value= "帐面库存") private Double anfme; /** * 盘点库存 */ @ApiModelProperty(value= "盘点库存") private Double checkQty; /** * 差异原因 */ @ApiModelProperty(value= "差异原因") private String reason; @ApiModelProperty("执行状态") private Integer exceStatus; /** * 状态 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 CheckDiffItem() {} public CheckDiffItem(Long checkId,String orderCode,String maktx,String matnrCode,String spec,String model,String barcode,String batch,Double anfme,Double checkQty,String reason,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { this.checkId = checkId; this.orderCode = orderCode; this.maktx = maktx; this.matnrCode = matnrCode; this.spec = spec; this.model = model; this.barcode = barcode; this.batch = batch; this.anfme = anfme; this.checkQty = checkQty; this.reason = reason; this.status = status; this.deleted = deleted; this.tenantId = tenantId; this.createBy = createBy; this.createTime = createTime; this.updateBy = updateBy; this.updateTime = updateTime; this.memo = memo; } 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 getExceStatus$() { if (Cools.isEmpty(this.exceStatus)) { return ""; } DictDataService dictDataService = SpringUtils.getBean(DictDataService.class); DictData dictData = dictDataService.getOne(new LambdaQueryWrapper() .eq(DictData::getDictTypeCode, DictTypeCode.SYS_CHECK_DIFF_EXCE_STATUS) .eq(DictData::getValue, this.exceStatus)); if (Objects.isNull(dictData)) { return null; } return dictData.getLabel(); } public Double getDiffQty() { if (checkQty.compareTo(0.0) <= 0) { return 0.0; } Double diffQty = Math.round((this.checkQty - this.anfme) * 1000) / 1000.0; return diffQty; } 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; } } }