package com.yiboshi.science.param.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yiboshi.science.base.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 年度设置表DTO
 *
 * @author lkl
 * @version 2021-08-26
 */
@Data
@EqualsAndHashCode(callSuper=true)
@ApiModel(description = "批次表DTO")
public class ComBatchDTO extends BaseDTO {
    /** 年度 */
    @ApiModelProperty(value = "年度", position = 2)
    private Integer year;
    /** 批次 */
    @ApiModelProperty(value = "批次", position = 3)
    private Integer batch;
    /** 批次类型 1科研项目申报  2重点学科申报 */
    @ApiModelProperty(value = "批次类型", position = 4)
    private Integer projType;
    /** 申报开始时间 */
    @ApiModelProperty(value = "申报开始时间", position = 4)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportStart;
    /** 申报结束时间 */
    @ApiModelProperty(value = "申报结束时间", position = 5)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportEnd;
    /** 单位上报到州市级行政单位开始时间 */
    @ApiModelProperty(value = "单位上报到州市级行政单位开始时间", position = 6)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date unitStart;
    /** 单位上报到州市级行政单位结束时间 */
    @ApiModelProperty(value = "单位上报到州市级行政单位结束时间", position = 7)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date unitEnd;
    /** 州市级行政单位报到省卫健委开始时间 */
    @ApiModelProperty(value = "州市级行政单位报到省卫健委开始时间", position = 8)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date prefectureStart;
    /** 州市级行政单位报到省卫健委结束时间 */
    @ApiModelProperty(value = "州市级行政单位报到省卫健委结束时间", position = 9)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date prefectureEnd;
    /** 省直单位报到省卫健委开始时间 */
    @ApiModelProperty(value = "省直单位报到省卫健委开始时间", position = 10)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date provinceStart;
    /** 省直单位报到省卫健委结束时间 */
    @ApiModelProperty(value = "省直单位报到省卫健委结束时间", position = 11)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date provinceEnd;

    /** 专家审核开始时间 */
    @ApiModelProperty(value = "专家审核开始时间", position = 12)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expertStart;
    /** 专家审核结束时间 */
    @ApiModelProperty(value = "专家审核结束时间", position = 13)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expertEnd;
    /** 备注 */
    @ApiModelProperty(value = "备注", position = 14)
    @Length(max=200, message = "备注长度不能大于200")
    private String remark;
    /** description */
    @ApiModelProperty(value = "description", position = 15)
    private String description ;
    /** 获取或设置一个值，该值指示是否禁用 */
    @ApiModelProperty(value = "是否禁用", position = 16)
    private Boolean disabled ;

    /** 获取或设置一个值，该值指示审核通过按钮是否禁用 */
    @ApiModelProperty(value = "审核通过按钮是否禁用", position = 17)
    private Boolean btnPassed;
    /** 获取或设置一个值，该值指示返回修改按钮是否禁用 */
    @ApiModelProperty(value = "返回修改按钮是否禁用", position = 18)
    private Boolean btnReturn;
    /** 获取或设置一个值，该值指示审核不通过按钮是否禁用 */
    @ApiModelProperty(value = "审核不通过按钮是否禁用", position = 19)
    private Boolean btnUnpassed;
}