package com.qmth.distributed.print.business.bean.result.report;

import com.qmth.distributed.print.business.bean.dto.report.CourseTargetWebDto;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @Description: 试卷蓝图result
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2024/2/19
 */
public class PaperStructDimensionResult implements Serializable {

    @ApiModelProperty(value = "大题号")
    @NotNull(message = "大题号不能为空")
    @Range(min = 1L, message = "大题号最小为1")
    private Integer mainNumber;

    @ApiModelProperty(value = "小题号")
    @NotNull(message = "小题号不能为空")
    @Range(min = 1L, message = "小题号最小为1")
    private Integer subNumber;

    @ApiModelProperty(value = "试卷编码")
    private String paperNumber;

    @ApiModelProperty(value = "分数")
    @NotNull(message = "分数不能为空")
    private Double score;

    @ApiModelProperty(value = "课程目标名称")
    @NotNull(message = "课程目标名称不能为空")
    private String courseTargetName;

    @ApiModelProperty(value = "课程目标集合")
    @NotEmpty(message = "课程目标集合不能为空")
    private List<CourseTargetWebDto> targetList = new ArrayList<>();

    public PaperStructDimensionResult() {

    }

    public PaperStructDimensionResult(Integer mainNumber, Integer subNumber, String paperNumber, Double score) {
        this.mainNumber = mainNumber;
        this.subNumber = subNumber;
        this.paperNumber = paperNumber;
        this.score = score;
    }

    public String getPaperNumber() {
        return paperNumber;
    }

    public void setPaperNumber(String paperNumber) {
        this.paperNumber = paperNumber;
    }

    public String getCourseTargetName() {
        return courseTargetName;
    }

    public void setCourseTargetName(String courseTargetName) {
        this.courseTargetName = courseTargetName;
    }

    public Integer getMainNumber() {
        return mainNumber;
    }

    public void setMainNumber(Integer mainNumber) {
        this.mainNumber = mainNumber;
    }

    public Integer getSubNumber() {
        return subNumber;
    }

    public void setSubNumber(Integer subNumber) {
        this.subNumber = subNumber;
    }

    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public List<CourseTargetWebDto> getTargetList() {
        return targetList;
    }

    public void setTargetList(List<CourseTargetWebDto> targetList) {
        this.targetList = targetList;
    }
}
