package com.scm.contract.model.print;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

/**
 * @author zuo
 * @date 2024/6/25 16:21
 */

@Data
public class PrintCode {

    /**
     * id
     */
    @TableId
    private String id;

    /**
     * 订单详表id
     */
    @TableField(value = "`detailId`")
    private String detailId;

    /**
     * 企业代码
     */
    @TableField(value = "`enterpriseCode`")
    private String enterpriseCode;

    /**
     * 物料编码
     */
    @TableField(value = "`materielCode`")
    private String materielCode;

    /**
     * 物料描述
     */
    @TableField(value = "`materielDescribe`")
    private String materielDescribe;

    /**
     * 商品编码
     */
    @TableField(value = "`goodsCode`")
    private String goodsCode;

    /**
     * 商品名称
     */
    @TableField(value = "`goodsName`")
    private String goodsName;

    /**
     * 供应商编码
     */
    @TableField(value = "`providerCode`")
    private String providerCode;

    /**
     * 供应商编码
     */
    @TableField(value = "`providerName`")
    private String providerName;


    /**
     * 标签类型
     */
    @TableField(value = "`tagType`")
    private String tagType;

    /**
     * 供应商编码
     */
    @TableField(value = "`minimumPackingNumber`")
    private Integer minimumPackingNumber;

    /**
     * 加密后编码
     */
    @TableField(value = "`qrCode`")
    private String qrCode;

    /**
     * 流水号
     */
    @TableField(value = "`serialNumber`")
    private String serialNumber;

    /**
     * 校验码
     */
    @TableField(value = "`verificationCode`")
    private String verificationCode;

    /**
     * 是否已经交付（0 未交付 ，1已交付）
     */
    @TableField(value = "`isDeliverGoods`")
    private Integer isDeliverGoods;

    /**
     * 是否重打中
     */
    @TableField(exist = false)
    private Boolean isReprinting;

    public PrintCode() {
    }

    public PrintCode(PrintCode printCode) {
        this.id = printCode.getId();
        this.detailId = printCode.getDetailId();
        this.enterpriseCode = printCode.getEnterpriseCode();
        this.materielCode = printCode.getMaterielCode();
        this.materielDescribe = printCode.getMaterielDescribe();
        this.goodsCode = printCode.getGoodsCode();
        this.goodsName = printCode.getGoodsName();
        this.providerCode = printCode.getProviderCode();
        this.providerName = printCode.getProviderName();
        this.tagType = printCode.getTagType();
        this.minimumPackingNumber = printCode.getMinimumPackingNumber();
        this.qrCode = printCode.getQrCode();
        this.serialNumber = printCode.getSerialNumber();
        this.verificationCode = printCode.getVerificationCode();
        this.isDeliverGoods = printCode.getIsDeliverGoods();
    }
}
