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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
    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_asy_rpt_dat")
@KeySequence("t_bsn_asy_rpt_dat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承：isBusiness=true 时继承 BusinessBaseDO，否则继承 BaseDO
*/
public class BusinessAssayReportDataDO extends BusinessBaseDO {



    /**
    * ID
    */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
    * 报表类型ID
    */
    @TableField("CFG_RPT_TP_ID")
    private Long configReportTypeId;
    /**
    * 报表配置ID
    */
    @TableField("CFG_SMP_RPT_ID")
    private Long configSampleReportId;
    /**
    * 样品主样ID
    */
    @TableField("BSN_BSE_SMP_ID")
    private Long businessBaseSampleId;
    /**
    * 样品编号
    */
    @TableField("SMP_CD")
    private String sampleCode;
    /**
    * 数据来源
    */
    @TableField("DAT_SRC")
    private String dataSource;
    /**
    * 分析数据
    */
    @TableField("ASY_DAT")
    private String assayData;
    /**
     * 是否已全部上报（0-否，1-是）
     */
    @TableField("IS_ALL_RPOD")
    private Integer isAllReported;
    /**
     * 已上报数据来源
     */
    @TableField("RPOD_SRC")
    private String reportedSource;
    /**
    * 流程code
    */
    @TableField("RPT_FLW_CD")
    private String reportFlowCode;
    /**
    * 报告数据明细id
    */
    @TableField("DOC_DAT_ID")
    private Long documentDataId;
    /**
    * 所属部门
    */
    @TableField("SYS_DEPT_CD")
    private String systemDepartmentCode;
    /**
    * 乐观锁
    */
    @TableField("UPD_CNT")
    private Integer updateCount;
    /**
    * 备注
    */
    @TableField("RMK")
    private String remark;

    //==================扩展字段===========
    //样品名称
    @TableField(exist = false)
    private String sampleName;

    //样品大类名称
    @TableField(exist = false)
    private String baseSampleName;

    //样品创建时间
    @TableField(exist = false)
    private LocalDateTime baseSampleCreateTime;

    //样品类型key
    @TableField(exist = false)
    private String sampleTypeKey;

    //委托样品名称
    @TableField(exist = false)
    private String entrustSampleName;

    //委托样品编号
    @TableField(exist = false)
    private String entrustSampleCode;

    //委托明细排序
    @TableField(exist = false)
    private Integer entrustDetailSort;
}