package org.jeecg.modules.stm.metric.entity;

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 com.fasterxml.jackson.annotation.JsonFormat;
 
 
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 监测报告
 * @Author: jeecg-boot
 * @Date:   2024-01-04
 * @Version: V1.0
 */
@Data
@TableName("metric_stat_report")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
 
public class MetricStatReport implements Serializable {
    private static final long serialVersionUID = 1L;

	/**pk*/
	@TableId(type = IdType.AUTO)

    private Integer id;
	/**标题*/
	@Excel(name = "主标题", width = 15)

    private String title;

    @Excel(name = "副标题", width = 15)

    private String subtitle;
	/**报告日期*/
	@Excel(name = "报告日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy")

    private Date reportDate;
	/**开始日期*/
	@Excel(name = "开始日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")

    private Date stDate;
	/**结束日期*/
	@Excel(name = "结束日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")

    private Date endDate;
	/**报告部门*/
	@Excel(name = "报告部门", width = 15)

    @Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
    private String reportDepart;
	/**统计指标数*/
	@Excel(name = "统计指标数", width = 15)

    private Integer statTargetNum;
	/**低风险指标数*/
	@Excel(name = "低风险指标数", width = 15)

    private Integer riskLowNum;
	/**中风险指标数*/
	@Excel(name = "中风险指标数", width = 15)

    private Integer riskMediumNum;
	/**高风险指标数*/
	@Excel(name = "高风险指标数", width = 15)

    private Integer riskHighNum;

    @Excel(name = "其他(未填写)", width = 15)

    private Integer riskOtherNum;

    /**报告类型*/
    @Excel(name = "报告类型", width = 15)

    @Dict(dicCode="metric_sta_report_tp")
    private Integer tp;

    @Excel(name = "文件保存路径", width = 15)

    private String filepath;

    @Excel(name = "创建时间", width = 15)

    private Date createTime;

    @Excel(name = "创建人", width = 15)

    private String createUser;


    @Dict(dicCode="metric_sta_method")
    private Integer statMethod;

    @TableField(exist = false)
    private String[] otherData;

}
