package com.zt.plat.module.qms.business.bus.dal.dataobject;

import lombok.*;
import java.util.*;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 委检登记业务 DO
*
* @author 后台管理
*/
@TableName("t_bsn_smp_entt_reg")
@KeySequence("t_bsn_smp_entt_reg_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承：isBusiness=true 时继承 BusinessBaseDO，否则继承 BaseDO
*/
public class BusinessSampleEntrustRegistrationDO extends BusinessBaseDO {



    /**
    * ID
    */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
    * 委托ID
    */
    @TableField("ENTT_ID")
    private Long entrustId;
    /**
    * 委托单号
    */
    @TableField("ENTT_NUM")
    private String entrustNumber;
    /**
    * 委托单位/送样单位
    */
    @TableField("ENTT_UNT")
    private String entrustUnit;
    /**
    * 委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托
    */
    @TableField("CFG_ENTT_SRC_ID")
    private Long configEntrustSourceId;
    /**
    * 样品数量
    */
    @TableField("SMP_QTY")
    private Integer sampleQuantity;
    /**
    * 任务数量
    */
    @TableField("TSK_QTY")
    private Integer taskQuantity;
    /**
    * 已完成任务数量
    */
    @TableField("TSK_FIND_QTY")
    private Integer taskFinishedQuantity;
    /**
    * 余样要求,【字典】【jy_sample_entrust_remaine_requirement】余样返回、放弃
    */
    @TableField("RMNE_SMP_REQM")
    private String remaineSampleRequirement;
    /**
    * 创建方式,手动创建-manual、外部系统创建-interface
    */
    @TableField("CRT_WY")
    private String createWay;
    /**
    * 委托类型,委托登记-entrust_registration、检验委托-entrust_inspection
    */
    @TableField("ENTT_TP")
    private String entrustType;
    /**
    * 委托时间
    */
    @TableField("ENTT_TM")
    private LocalDateTime entrustTime;
    /**
    * 送样人
    */
    @TableField("SMP_SNDR")
    private String sampleSender;
    /**
    * 送样日期
    */
    @TableField("SMP_SND_DT")
    private LocalDateTime sampleSendDate;
    /**
    * 收样人
    */
    @TableField("SMP_RCVR")
    private String sampleReceiver;
    /**
    * 收样日期
    */
    @TableField("SMP_RCV_DT")
    private LocalDateTime sampleReceiveDate;
    /**
    * 样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体
    */
    @TableField("SMP_STS")
    private String sampleStatus;
    /**
    * 扩展信息数据集ID,T_DAT_COLT_FLD
    */
    @TableField("EXT_INF_DAT_COLT_ID")
    private Long externalInfomationDataCollectionId;
    /**
    * 扩展信息
    */
    @TableField("EXT_INF")
    private String externalInfomation;
    /**
    * 委托单模板ID
    */
    @TableField("CFG_RPT_TMPL_ID")
    private Long configReportTemplateId;
    /**
    * 委托单模板key
    */
    @TableField("CFG_RPT_TMPL_KY")
    private String configReportTemplateKey;
    /**
    * 电话
    */
    @TableField("TEL")
    private String tel;
    /**
    * 传真
    */
    @TableField("FAX")
    private String fax;
    /**
    * 通讯地址
    */
    @TableField("ADR")
    private String address;
    /**
    * 邮编
    */
    @TableField("PSTL")
    private String postal;
    /**
    * E-mail
    */
    @TableField("EM")
    private String email;
    /**
    * 委托检测类别,【字典】【jy_sample_entrust_category】一般委托、仲裁委托
    */
    @TableField("ENTT_CTGR")
    private String entrustCategory;
    /**
    * 样品类别(装港/卸港),【字典】【jy_sample_entrust_category】装港样、卸港样
    */
    @TableField("SMP_CTGR")
    private String sampleCategory;
    /**
    * 样品来源,【字典】【jy_sample_entrust_origin】送样、邮寄、现场取样
    */
    @TableField("SMP_ORGN")
    private String sampleOrigin;
    /**
    * 保密要求,【字典】【jy_sample_entrust_secrecy_requirement】要求对样品和文件保密、无保密要求
    */
    @TableField("SCRY_REQR")
    private String secrecyRequire;
    /**
    * 检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择
    */
    @TableField("ASY_MTHD")
    private String assayMethod;
    /**
    * 是否物料检测标准登记,0-否，1-是
    */
    @TableField("IS_MTRL_ASY_STD")
    private Integer isMaterialAssayStandard;
    /**
    * 登记状态,in_progress-登记中、submit-已提交
    */
    @TableField("REG_STS")
    private String registrationStatus;
    /**
    * 数据校验状态,success-数据校验成功、fail-数据校验失败
    */
    @TableField("DAT_CHK_STS")
    private String dataCheckStatus;
    /**
    * 检验状态,unchecked-未检验；checked-已检验
    */
    @TableField("ASY_STS")
    private String assayStatus;
    /**
    * 数据回报状态,unreturned-未回报；returned-已回报
    */
    @TableField("DAT_STS")
    private String dataStatus;
    /**
    * 报告IDs
    */
    @TableField("DOC_MAIN_ID")
    private String documentMainId;
    /**
    * 报告发送方式,【字典】【jy_sample_entrust_send_way】自取、邮寄、电话、传真、E-mail
    */
    @TableField("DOC_SND_WY")
    private String documentSendWay;
    /**
    * 报告发送人
    */
    @TableField("DOC_PUBR")
    private String documentPublisher;
    /**
    * 报告发送日期
    */
    @TableField("DOC_PUBR_DT")
    private LocalDateTime documentPublisherDate;
    /**
    * 报告接收人
    */
    @TableField("DOC_RCVR")
    private String documentReceiver;
    /**
    * 报告接收日期
    */
    @TableField("DOC_RCV_DT")
    private LocalDateTime documentReceiveDate;
    /**
    * 所属部门
    */
    @TableField("SYS_DEPT_CD")
    private String systemDepartmentCode;
    /**
    * 乐观锁
    */
    @TableField("UPD_CNT")
    private Integer updateCount;
    /**
    * 备注
    */
    @TableField("RMK")
    private String remark;


    //================扩展字段====================
    //委托来源
    @TableField(exist = false)
    private String configEntrustSourceName;

}