package com.srs.diagnostic.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.srs.common.core.domain.BaseEntity;

@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "DiaFillOutReport" , description = "报表填写")
@TableName("dia_report_submissions")

public class DiaFillOutReport extends BaseEntity{
    private static final long serialVersionUID=1L;

    /**
     * 自增ID
     */
    @ApiModelProperty("自增记录ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户填写的未完成原因
     */
    @ApiModelProperty("用户填写的未完成原因")
    @TableField("reason_for_incompletion")
    private String reasonForIncompletion;

    /**
     * 用户填写的完成情况
     */
    @ApiModelProperty("用户填写的完成情况")
    @TableField("completion_status")
    private String completionStatus;

    /**
     * 用户填写的改进措施
     */
    @ApiModelProperty("用户填写的改进措施")
    @TableField("improvement_actions")
    private String improvementActions;


    /**
     * userid
     */
    @ApiModelProperty("用户ID")
    @TableField("user_id")
    private Long userId;



    /**
     * 关联
     */
    @ApiModelProperty("关联")
    @TableField("relId")
    private Long relId;

    /**
     * 报表名称（冗余存储）
     */
    @ApiModelProperty("报表名称（冗余存储）")
    @TableField("reportName")
    private String reportName;


    /**
     * 学号/工号（关联
     */
    @ApiModelProperty("学号/工号（关联")
    @TableField("stu_no")
    private String stuNo;

    /**
     * 用户姓名（冗余存储）
     */
    @ApiModelProperty("用户姓名（冗余存储）")
    @TableField("student_name")
    private String studentName;

    /**
     * 提交人类型：0
     */
    @ApiModelProperty("提交人类型：0")
    @TableField("submitter_type")
    private String submitterType;

    /**
     * 学院ID（关联
     */
    @ApiModelProperty("学院ID（关联")
    @TableField("college_id")
    private Long collegeId;

    /**
     * 学院名称（冗余存储）
     */
    @ApiModelProperty("学院名称（冗余存储）")
    @TableField("college_name")
    private String collegeName;

    /**
     * 状态：0
     */
    @ApiModelProperty("状态：0")
    @TableField("status")
    private String status;

    /**
     * 最后操作人ID
     */
    @ApiModelProperty("最后操作人ID")
    @TableField("operator_id")
    private Long operatorId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField("created_at")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @TableField("updated_at")
    private Date updatedAt;

    /**
     * 关联
     */
    @ApiModelProperty("关联")
    @TableField("report_id")
    private Long reportId;

    /**
     * 维度ID（二级节点）
     */
    @ApiModelProperty("维度ID（二级节点）")
    @TableField("dimension_id")
    private Long dimensionId;

    /**
     * 维度名称（冗余存储）
     */
    @ApiModelProperty("维度名称（冗余存储）")
    @TableField("dimension_name")
    @Excel(name = "维度名称" , readConverterExp = "冗=余存储")
    private String dimensionName;

    /**
     * 质控点ID（三级节点）
     */
    @ApiModelProperty("质控点ID（三级节点）")
    @TableField("quality_control_point_id")
    private Long qualityControlPointId;

    /**
     * 质控点名称
     */
    @ApiModelProperty("质控点名称")
    @TableField("quality_control_point_name")
    @Excel(name = "质控点名称")
    private String qualityControlPointName;

    /**
     * 指标ID（四级节点）
     */
    @ApiModelProperty("指标ID（四级节点）")
    @TableField("indicator_id")
    private Long indicatorId;

    /**
     * 指标名称
     */
    @ApiModelProperty("指标名称")
    @TableField("indicator_name")
    @Excel(name = "指标名称")
    private String indicatorName;

    /**
     * 学校合格标准
     */
    @ApiModelProperty("学校合格标准")
    @TableField("school_qualified_standard")
    @Excel(name = "学校合格标准")
    private String schoolQualifiedStandard;

    /**
     * 二级学院标准
     */
    @ApiModelProperty("二级学院标准")
    @TableField("secondary_college_standard")
    @Excel(name = "二级学院标准")
    private String secondaryCollegeStandard;

    /**
     * 个人目标规划
     */
    @ApiModelProperty("个人目标规划")
    @TableField("personal_target_standard")
    @Excel(name = "个人目标规划")
    private String personalTargetStandard;

    /**
     * 提交状态
     */
    @ApiModelProperty("提交状态")
    @TableField("details_status")
    private String detailsStatus;

    /**
     * 部门deptId
     */
    @ApiModelProperty("deptId")
    private Long deptId;

    //roleName
    @ApiModelProperty("roleName")
    private String roleName;

    //dept_name
    @ApiModelProperty("dept_name")
    private String deptName;


}
