package cn.ezhizao.project.business.technologicalProcessDetailDrawing.domain;

import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
import cn.ezhizao.framework.web.domain.BaseEntity;
import cn.ezhizao.project.business.product.domain.BizProduct;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringExclude;


/**
 * 电子图纸对象 biz_technological_process_detail_drawing
 *
 * @author ezhizao
 * @date 2024-05-30
 */
@Data
@TableName(value = "biz_technological_process_detail_drawing")
public class BizTechnologicalProcessDetailDrawing extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @Excel(name="id")
    private Long id;

    @Excel(name = "产品描述")
    @TableField(exist = false)
    private String description;
    @Excel(name = "规格")
    @TableField(exist = false)
    private String specification;
    @Excel(name = "客户")
    @TableField(exist = false)
    private String companyAlias;
    @Excel(name = "工艺版本")
    @ApiModelProperty(value = "工艺版本编码")
    private String productVersion;
    @Excel(name = "工序名称")
    @TableField(exist = false)
    private String processAlias;
    /** 图纸名称 */
    @Excel(name = "图纸名称")
    @ApiModelProperty(value = "图纸名称")
    private String drawingName;



    /** 制作人id */
    @ApiModelProperty(value = "${comment}")
    private Long producerId;
    @Excel(name = "制作人")
    @ApiModelProperty(value = "制作人")
    private String producer;
    @Excel(name = "制作人编号")
    @TableField(exist = false)
    @ApiModelProperty(value = "制作人编号")
    private String producerCode;
    /** 租户id，厂别或类型1:Ⅰ类2：Ⅱ类 */
    @ApiModelProperty(value = "${comment}")
    private Long tenantId;
    /** 产品id */
    @ApiModelProperty(value = "${comment}")
    private Long productId;

    @ApiModelProperty(value = "工序编码")
    private String processCode;

    /** 工艺工序id */
    @ApiModelProperty(value = "${comment}")
    private Long technologicalProcessDetailId;

    /** 批准人id */
    @ApiModelProperty(value = "${comment}")
    private Long issuerId;

    /** 替换前图纸Id */
    @ApiModelProperty(value = "${comment}")
    private Long parentId;
    /** 审核人id */
    @ApiModelProperty(value = "${comment}")
    private Long reviewerId;
    @Excel(name="审核人")
    @ApiModelProperty(value = "审核人")
    private String reviewer;
    @Excel(name="审核人编号")
    @TableField(exist = false)
    @ApiModelProperty(value = "审核人")
    private String reviewerCode;
    @Excel(name="批准人编号")
    @TableField(exist = false)
    @ApiModelProperty(value = "批准人")
    private String issuerCode;
    @Excel(name="批准人")
    @ApiModelProperty(value = "批准人")
    private String issuer;
    /** 审核人id */
    @ApiModelProperty(value = "${comment}")
    private Long voidedId;
    @ApiModelProperty(value = "作废人")
    private String voided;

    @ApiModelProperty(value = "图纸状态：0：待审核，1待批准，2：待发行，3：作废")
    private Integer status;
    @Excel(name = "重标识")
    @ApiModelProperty(value = "标识")
    private Boolean  identification;
    @Excel(name = "D标识")
    @ApiModelProperty(value = "D标识")
    private Boolean  markD;
    @ApiModelProperty(value = "废弃标识")
    private Integer  abandoned;
    @ApiModelProperty(value = "${comment}")
    private Long userNgId;
    @ApiModelProperty(value = "NG人")
    private String NgUser;
    /** 工艺版本id */
    @TableField(exist = false)
    @ApiModelProperty(value = "${comment}")
    private Long technologicalProcessId;
    /** 图纸地址 */
    @ApiModelProperty(value = "图纸地址")
    private String url;



    /** 会签类型 */
    @ApiModelProperty(value = "会签类型")
    private String pattern;
    //用于查询虚拟字段
    /** 判断是否覆盖 */
    @TableField(exist = false)
    private Boolean type;

    @TableField(exist = false)
    private BizProduct product;
    @TableField(exist = false)
    private String technologyVersion;

    @TableField(exist = false)
    private String drawingNumber;
    @TableField(exist = false)
    private Integer recordsType;
    @TableField(exist = false)
    private  Integer recordsAbandoned;
    @TableField(exist = false)
    private String message;

}
