package org.jeecg.modules.projectManagement.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.validation.constraints.NotEmpty;

/**
 * @Description: 项目报价明细
 * @author： jeecg-boot
 * @date：   2019-05-20
 * @version： V1.0
 */
@Data
@TableName("fd_project_quotation_detail")
public class FdProjectQuotationDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**主键*/
	@TableId(type = IdType.UUID)
	private java.lang.String id;
	/**项目报价单id*/
	@Excel(name = "项目报价单id", width = 15)
	private java.lang.String quotationId;
	/**研究类型*/
	@Excel(name = "研究类型", width = 15)
	@NotEmpty(message = "研究类型不可为空")
	private java.lang.String studyType;
	/**受试人数*/
	@Excel(name = "受试人数", width = 15)
	@NotEmpty(message = "受试人数不可为空")
	private java.lang.String subjectNumber;
	/**阶段*/
	@Excel(name = "阶段", width = 15)
	@NotEmpty(message = "阶段不可为空")
	private java.lang.String period;
	/**采样数/阶段*/
	@Excel(name = "采样数/阶段", width = 15)
	@NotEmpty(message = "采样数/阶段不可为空")
	private java.lang.String samplesPeriod;

	/**总采样数*/
	@Excel(name = "总采样数", width = 15)
	private String totalSamples;

	/**总样本数*/
	@Excel(name = "总样本数", width = 15)
	private String totalSample;

	/**采样截至时间*/
	@Excel(name = "采样截至时间", width = 20, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@NotEmpty(message = "采样截至时间不可为空")
	private java.util.Date samplesTime;
	/**OPV数/阶段*/
	@Excel(name = "OPV数/阶段", width = 15)
	@NotEmpty(message = "OPV数/阶段不可为空")
	private java.lang.String opvPeriod;
	/**清洗期/天*/
	@Excel(name = "清洗期/天", width = 15)
	@NotEmpty(message = "清洗期/天不可为空")
	private java.lang.String cleaningPeriod;
	/**住院天数*/
	@Excel(name = "住院天数", width = 15)
	@NotEmpty(message = "住院天数不可为空")
	private java.lang.String hospitalization;
	/**是否启用0正常1停用*/
	@Excel(name = "是否启用0正常1停用", width = 15)
	private java.lang.String enable;
	/**删除标记0正常1删除*/
	@Excel(name = "删除标记0正常1删除", width = 15)
	private java.lang.String delFlag;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
	private java.lang.String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date createTime;
	/**最后修改人*/
	@Excel(name = "最后修改人", width = 15)
	private java.lang.String updateBy;
	/**最后修改时间*/
	@Excel(name = "最后修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date updateTime;
	/**自定义字段1*/
	@Excel(name = "自定义字段1", width = 15)
	private java.lang.String def1;
	/**自定义字段2*/
	@Excel(name = "自定义字段2", width = 15)
	private java.lang.String def2;
	/**自定义字段3*/
	@Excel(name = "自定义字段3", width = 15)
	private java.lang.String def3;
	/**自定义字段4*/
	@Excel(name = "自定义字段4", width = 15)
	private java.lang.String def4;
	/**自定义字段5*/
	@Excel(name = "自定义字段5", width = 15)
	private java.lang.String def5;

	//方法数量
	private String showPeriod;

	//报告数量
	private String presentationPeriod;

	//分析批样本数
	private String analysisSample;

	//长稳时间点
	private String longTimePoint;

	//ISR
	private String isr;

	//每份样本每月费用
	private String monthlyExpenses;

	//样本存储月份
	private String storageMonth;

	//每份样本标签费
	private String labelFee;

	//每批样本运输费用
	private String transportationExpenses;

	//运输次数
	private String transportationFrequency;

	//采样截取时间（小时）
	private String samplesTimeHour;

	//基质id
	private String matrixTypeId;

	//基质名称
	private String matrixTypeName;

	//化合物名称
	private String compoundName;

	//用于复制获取模板项id
	@TableField(exist = false)
	private String pid;

	//确证实验样品分析--大分子
	private String confirmativeAnalysis;
	//滴度实验样品分析--大分子
	private String titerAnalysis;

	//标签名
	private String tagName;

	//排序
	private Integer sort;
}
