package com.sundot.airport.common.dto;

import java.math.BigDecimal;

/**
 * <b>功能名：</b>QuestionAllocationDTO<br>
 * <b>说明：</b> 题目分配详情DTO <br>
 * <b>著作权：</b> Copyright (C) 2025 SUNDOT CORPORATION<br>
 * <b>修改履历：
 *
 * @author Simon Lin
 */
public class QuestionAllocationDTO {

    /**
     * 模块名称
     */
    private String moduleName;

    /**
     * 排名（1=TOP1, 2=TOP2, 3=TOP3）
     */
    private Integer ranking;

    /**
     * 配置的占比
     */
    private BigDecimal configuredRatio;

    /**
     * 计划分配题目数
     */
    private Integer plannedCount;

    /**
     * 实际分配题目数
     */
    private Integer actualCount;

    /**
     * 实际占比
     */
    private BigDecimal actualRatio;

    /**
     * 该模块题库总数
     */
    private Integer availableCount;

    /**
     * 分配说明
     */
    private String allocationNote;

    public QuestionAllocationDTO() {
    }

    public String getModuleName() {
        return moduleName;
    }

    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    public Integer getRanking() {
        return ranking;
    }

    public void setRanking(Integer ranking) {
        this.ranking = ranking;
    }

    public BigDecimal getConfiguredRatio() {
        return configuredRatio;
    }

    public void setConfiguredRatio(BigDecimal configuredRatio) {
        this.configuredRatio = configuredRatio;
    }

    public Integer getPlannedCount() {
        return plannedCount;
    }

    public void setPlannedCount(Integer plannedCount) {
        this.plannedCount = plannedCount;
    }

    public Integer getActualCount() {
        return actualCount;
    }

    public void setActualCount(Integer actualCount) {
        this.actualCount = actualCount;
    }

    public BigDecimal getActualRatio() {
        return actualRatio;
    }

    public void setActualRatio(BigDecimal actualRatio) {
        this.actualRatio = actualRatio;
    }

    public Integer getAvailableCount() {
        return availableCount;
    }

    public void setAvailableCount(Integer availableCount) {
        this.availableCount = availableCount;
    }

    public String getAllocationNote() {
        return allocationNote;
    }

    public void setAllocationNote(String allocationNote) {
        this.allocationNote = allocationNote;
    }

    @Override
    public String toString() {
        return "QuestionAllocationDTO{" +
                "moduleName='" + moduleName + '\'' +
                ", ranking=" + ranking +
                ", configuredRatio=" + configuredRatio +
                ", plannedCount=" + plannedCount +
                ", actualCount=" + actualCount +
                ", actualRatio=" + actualRatio +
                ", availableCount=" + availableCount +
                ", allocationNote='" + allocationNote + '\'' +
                '}';
    }
}
