package com.xinelu.manage.vo.statistics;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @description: 问卷任务统计返回值
 * @author: zh
 * @create: 2024-12-22
 **/
@Data
public class QuestionnaireTaskStatisticsVo {

    /**
     * 问卷提交结果信息表id
     */
    @ApiModelProperty(value = "问卷提交结果信息表id")
    private Long questionSubmitResultId;

    /**
     * 问卷选项id
     */
    @ApiModelProperty(value = "问卷选项id")
    private Long questionSubmitId;

    /**
     * 问卷表id
     */
    @ApiModelProperty(value = "问卷表id")
    private Long questionInfoId;

    /**
     * 题目序号
     */
    @ApiModelProperty(value = "题目序号")
    private BigDecimal questionNumber;

    /**
     * 题目类型，单选题：MULTIPLE_CHOICE，多选题：MULTIPLE_CHOICE_QUESTIONS，填空题：FILL_IN_THE_BLANKS，打分题：SCORING_QUESTIONS，
     * 组合单选题：COMBINATION_RADIO_SUBJECT，组合多选题：COMBINATION_MULTIPLE_SUBJECT，组合填空题：COMBINATION_BLANKS_SUBJECT，
     * 组合打分题：COMBINATION_SCORING_SUBJECT，日期填空题：DATE_BLANKS_SUBJECT，时间填空题：TIME_BLANKS_SUBJECT
     */
    @ApiModelProperty(value = "题目类型，单选题：MULTIPLE_CHOICE，多选题：MULTIPLE_CHOICE_QUESTIONS，填空题：FILL_IN_THE_BLANKS，打分题：SCORING_QUESTIONS， 组合单选题：COMBINATION_RADIO_SUBJECT，组合多选题：COMBINATION_MULTIPLE_SUBJECT，组合填空题：COMBINATION_BLANKS_SUBJECT， 组合打分题：COMBINATION_SCORING_SUBJECT，日期填空题：DATE_BLANKS_SUBJECT，时间填空题：TIME_BLANKS_SUBJECT")
    private String questionType;

    /**
     * 题目名称
     */
    @ApiModelProperty(value = "题目名称")
    private String questionName;

    /**
     * 问卷选项提交结果信息表id
     */
    @ApiModelProperty(value = "问卷选项提交结果信息表id")
    private Long patientQuestionOptionResult;

    /**
     * 问卷选项信息表id
     */
    @ApiModelProperty(value = "问卷选项信息表id")
    private Long questionSubjectOptionId;

    /**
     * 问卷选项名称
     */
    @ApiModelProperty(value = "问卷选项名称")
    private String optionName;

    /**
     * 问卷选项排序
     */
    @ApiModelProperty(value = "问卷选项排序")
    private Long optionSort;

    /**
     * 问卷选项是否选择
     */
    @ApiModelProperty(value = "问卷选项是否选择")
    private Integer optionChooseSign;

    /**
     * 填写问卷总数
     */
    private Long total;

    /**
     * 选项结合
     */
    private List<QuestionnaireTaskOptionStatisticsVo> questionnaireTaskOptionStatisticsVos;

    /**
     * 问卷标题(上层数据使用)
     */
    @ApiModelProperty(value = "问卷标题")
    private String questionnaireName;

    /**
     * 创建时间(上层数据使用)
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 填写问卷总数
     */
    private Long manageRouteNodeId;

    /**
     * 选择比例
     */
    private BigDecimal choiceProportion;
}