package com.zy.asrs.entity; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.service.BasBoxTypeService; import com.zy.common.utils.Synchro; import com.zy.system.entity.User; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; @Data @TableName("man_review_detl") public class ReviewDetl implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "是否显示") @ExcelIgnore @TableField(exist = false) private Boolean show; /** * ID */ @ApiModelProperty(value = "ID") @TableId(value = "id", type = IdType.AUTO) @ExcelIgnore private Long id; /** * 订单内码 */ @ApiModelProperty(value = "订单内码") @ExcelIgnore @TableField("order_id") private Long orderId; /** * 单据编号 */ @ApiModelProperty(value = "单据编号") @TableField("order_no") @ExcelProperty("单据编号") private String orderNo; /** * 数量 */ @ApiModelProperty(value = "数量") @ExcelProperty("净重") private Double anfme; /** * 作业数量 *
* 入库 : 组托完成,组托档、工作档、入库完成数量 * 出库 : 工作档、出库完成数量 */ @ApiModelProperty(value = "作业数量") @TableField("work_qty") @ExcelIgnore private Double workQty; /** * 完成数量 *
     * 入库 : qty 👆
     * 出库 : qty 👆
     */
    @ApiModelProperty(value = "完成数量")
    @ExcelIgnore
    private Double qty;
    /**
     * 商品编码
     */
    @ApiModelProperty(value = "商品编码")
    @ExcelProperty("物料编码")
    private String matnr;
    /**
     * 商品名称
     */
    @ApiModelProperty(value = "商品名称")
    @ExcelProperty("物料名称")
    private String maktx;
    /**
     * 批号
     */
    @ApiModelProperty(value = "批号")
    @ExcelProperty("批次号")
    private String batch;
    /**
     * 规格
     */
    @ApiModelProperty(value = "规格")
    @ExcelProperty("规格型号")
    private String specs;
    /**
     * 型号
     */
    @ApiModelProperty(value = "型号")
    @ExcelProperty("卷号")
    private String model;
    /**
     * 颜色
     */
    @ApiModelProperty(value = "颜色")
    @ExcelIgnore
    private String color;
    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌")
    @ExcelIgnore
    private String brand;
    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    @ExcelIgnore
    private String unit;
    /**
     * 单价
     */
    @ApiModelProperty(value = "单价")
    @ExcelIgnore
    private Double price;
    /**
     * sku
     */
    @ApiModelProperty(value = "sku")
    @ExcelIgnore
    private String sku;
    /**
     * 单位量
     */
    @ApiModelProperty(value = "单位量")
    @ExcelIgnore
    private Double units;
    /**
     * 条码
     */
    @ApiModelProperty(value = "条码")
    @ExcelIgnore
    private String barcode;
    /**
     * 产地
     */
    @ApiModelProperty(value = "产地")
    @ExcelIgnore
    private String origin;
    /**
     * 厂家 、、江铜:暂存库位号
     */
    @ApiModelProperty(value = "厂家")
    @ExcelIgnore
    private String manu;
    /**
     * 生产日期
     */
    @ApiModelProperty(value = "生产日期")
    @ExcelIgnore
    @TableField("manu_date")
    private String manuDate;
    /**
     * 品项数
     */
    @ApiModelProperty(value = "品项数")
    @ExcelIgnore
    @TableField("item_num")
    private String itemNum;
    /**
     * 安全库存量
     */
    @ApiModelProperty(value = "安全库存量")
    @ExcelIgnore
    @TableField("safe_qty")
    private Double safeQty;
    /**
     * 重量
     */
    @ApiModelProperty(value = "重量")
    @ExcelIgnore
    private Double weight;
    /**
     * 长度
     */
    @ApiModelProperty(value = "长度")
    @ExcelIgnore
    private Double length;
    /**
     * 体积
     */
    @ApiModelProperty(value = "体积")
    @ExcelIgnore
    private Double volume;
    /**
     * 三方编码
     */
    @ApiModelProperty(value = "三方编码")
    @TableField("three_code")
    @ExcelProperty("复核人")
    private String threeCode;
    /**
     * 供应商
     */
    @ApiModelProperty(value = "供应商")
    @ExcelIgnore
    private String supp;
    /**
     * 供应商编码
     */
    @ApiModelProperty(value = "供应商编码")
    @ExcelIgnore
    @TableField("supp_code")
    private String suppCode;
    /**
     * 是否批次 1: 是  0: 否
     */
    @ApiModelProperty(value = "是否批次 1: 是  0: 否  ")
    @TableField("be_batch")
    @ExcelIgnore
    private Integer beBatch;
    /**
     * 保质期
     */
    @ApiModelProperty(value = "保质期")
    @TableField("dead_time")
    @ExcelProperty("出库日期")
    private String deadTime;
    /**
     * 预警天数
     */
    @ApiModelProperty(value = "预警天数")
    @ExcelIgnore
    @TableField("dead_warn")
    private Integer deadWarn;
    /**
     * 制购 1: 制造  2: 采购  3: 外协  、、江铜:是否确认   1: 确认  2: 未确认
     */
    @ApiModelProperty(value = "制购 1: 制造  2: 采购  3: 外协  ")
    @ExcelIgnore
    private Integer source;
    /**
     * 要求检验 1: 是  0: 否
     */
    @ApiModelProperty(value = "要求检验 1: 是  0: 否  ")
    @ExcelIgnore
    private Integer inspect;
    @ExcelProperty("是否复核")
    @TableField(exist = false)
    private String inspect$;
    /**
     * 危险品 1: 是  0: 否
     */
    @ApiModelProperty(value = "危险品 1: 是  0: 否  ")
    @ExcelIgnore
    private Integer danger;
    /**
     * 状态 1: 正常  0: 禁用
     */
    @ApiModelProperty(value = "状态 1: 正常  0: 禁用  ")
    @ExcelIgnore
    private Integer status;
    /**
     * 添加人员
     */
    @ApiModelProperty(value = "添加人员")
    @ExcelIgnore
    @TableField("create_by")
    private Long createBy;
    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    @ExcelIgnore
    @TableField("create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value = "修改人员")
    @ExcelIgnore
    @TableField("update_by")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("update_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("复核时间")
    private Date updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @ExcelProperty("复核备注")
    private String memo;
    @ApiModelProperty(value = "退库标记")
    @ExcelIgnore
    @TableField("tk_type")
    private Integer tkType;
    /**
     * 卷信息ID
     */
    @ApiModelProperty(value = "卷信息ID")
    @ExcelIgnore
    @TableField("roll_up")
    private Long rollUp;
    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.selectById(this.createBy);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        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.selectById(this.updateBy);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        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 getQty$() {
        if (getAnfme().equals(getQty())) {
            return "已完成";
        }
        return "未完成";
    }
    public String getInspect$() {
        if (Cools.isEmpty(this.inspect)) {
            return "未复核";
        }
        if (this.inspect == 1) {
            return "已复核";
        } else {
            return "未复核";
        }
    }
    public Double getEnableQty() {
        if (null != this.anfme && this.workQty != null) {
            return this.anfme - this.workQty;
        }
//        if (null != this.anfme && this.qty != null) {
//            return this.anfme - this.qty;
//        }
        return null;
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
    public String getBrand$() {
        BasBoxTypeService basBoxTypeService = SpringUtils.getBean(BasBoxTypeService.class);
        BasBoxType basBoxType = basBoxTypeService.selectOne(new EntityWrapper