package org.jeecg.modules.financeManage.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;

/**
 * @Description: 样本储存收入确认
 * @author： jeecg-boot
 * @date：   2020-08-10
 * @version： V1.0
 */
@Data
@TableName("fd_sample_storage_revenue_recognition")
public class FdSampleStorageRevenueRecognition implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**主键id*/
	@TableId(type = IdType.UUID)
	private String id;
	/**合同方id*/
	@Excel(name = "合同方id", width = 15)
	private String contractPartyId;
	/**合同方名称*/
	@Excel(name = "合同方名称", width = 15)
	private String contractPartyName;
	/**客户id*/
	@Excel(name = "客户id", width = 15)
	private String customerId;
	/**客户名称*/
	@Excel(name = "客户名称", width = 15)
	private String customerName;
	/**合同号*/
	@Excel(name = "合同号", width = 15)
	private String code;
	/**生物分析负责人id*/
	@Excel(name = "生物分析负责人id", width = 15)
	private String pfBioanalysisPiId;
	/**生物分析负责人名称*/
	@Excel(name = "生物分析负责人名称", width = 15)
	private String pfBioanalysisPiName;
	/**临床负责人id*/
	@Excel(name = "临床负责人id", width = 15)
	private String pfClinicalPiId;
	/**临床负责人名称*/
	@Excel(name = "临床负责人名称", width = 15)
	private String pfClinicalPiName;
	/**合同id*/
	@Excel(name = "合同id", width = 15)
	private String contractId;
	/**项目档案id*/
	@Excel(name = "项目档案id", width = 15)
	private String projectFileId;
	/**项目档案状态id*/
	@Excel(name = "项目档案状态id", width = 15)
	private String pfStatusId;
	/**项目档案状态名称*/
	@Excel(name = "项目档案状态名称", width = 15)
	private String pfStatusName;
	/**结算状态id*/
	@Excel(name = "结算状态id", width = 15)
	private String settlementStatusId;
	/**结算状态名称*/
	@Excel(name = "结算状态名称", width = 15)
	private String settlementStatusName;
	/**实验地点id*/
	@Excel(name = "实验地点id", width = 15)
	private String labAddressId;
	/**实验地点名称*/
	@Excel(name = "实验地点名称", width = 15)
	private String labAddressName;
	/**化合物*/
	@Excel(name = "化合物", width = 15)
	private String compoundName;
	/**样本储存费含税*/
	@Excel(name = "样本储存费含税", width = 15)
	private Double sampleStorageFeeTax;
	/**样本储存费不含税*/
	@Excel(name = "样本储存费不含税", width = 15)
	private Double sampleStorageFeeNotTax;
	/**税率*/
	@Excel(name = "税率", width = 15)
	private String taxRate;
	/**样本储存描述*/
	@Excel(name = "样本储存描述", width = 15)
	private String sampleStorageDescription;
	/**摊销时间*/
	@Excel(name = "摊销时间", width = 15)
	private String amortizationTime;
	/**按月摊销的收入*/
	@Excel(name = "按月摊销的收入", width = 15)
	private Double incomeMonth;
	/**开始确认收入日期*/
	@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 Date startConfirmationDate;
	/**结束确认收入日期*/
	@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 Date endConfirmationDate;
	/**累计确认月份*/
	@Excel(name = "累计确认月份", width = 15)
	private String cumulativeConfirmationMonth;
	/**累计确认金额*/
	@Excel(name = "累计确认金额", width = 15)
	private Double accumulatedConfirmedAmount;
	/**上月累计确认金额*/
	@Excel(name = "上月累计确认金额", width = 15)
	private Double accumulatedConfirmedAmountLast;
	//收入确认时间（月份）
	private String incomeDateMonth;
	/**删除标记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;
	//基质类型id
	private String matrixTypeId;
	//基质类型名称
	private String matrixTypeName;

	//报价id
	@TableField(exist = false)
	private String quotationId;
}
