package com.sundot.airport.common.dto;

import java.math.BigDecimal;

/**
 * <b>功能名：</b>ModuleStatisticsDTO<br>
 * <b>说明：</b> 模块统计DTO（用于薄弱模块分析） <br>
 * <b>著作权：</b> Copyright (C) 2025 SUNDOT CORPORATION<br>
 * <b>修改履历：
 *
 * @author Simon Lin
 */
public class ModuleStatisticsDTO {

    /**
     * 模块ID（二级分类的qc_id）
     */
    private String moduleId;

    /**
     * 模块名称（二级分类名称）
     */
    private String moduleName;

    /**
     * 错题数
     */
    private Integer wrongCount;

    /**
     * 巡检问题数
     */
    private Integer problemCount;

    /**
     * 综合影响分 = 错题数 × 错题权重 + 巡检问题数 × 巡检问题权重
     */
    private BigDecimal influenceScore;

    public ModuleStatisticsDTO() {
        this.wrongCount = 0;
        this.problemCount = 0;
        this.influenceScore = BigDecimal.ZERO;
    }

    public String getModuleId() {
        return moduleId;
    }

    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }

    public String getModuleName() {
        return moduleName;
    }

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

    public Integer getWrongCount() {
        return wrongCount;
    }

    public void setWrongCount(Integer wrongCount) {
        this.wrongCount = wrongCount;
    }

    public Integer getProblemCount() {
        return problemCount;
    }

    public void setProblemCount(Integer problemCount) {
        this.problemCount = problemCount;
    }

    public BigDecimal getInfluenceScore() {
        return influenceScore;
    }

    public void setInfluenceScore(BigDecimal influenceScore) {
        this.influenceScore = influenceScore;
    }

    @Override
    public String toString() {
        return "ModuleStatisticsDTO{" +
                "moduleId='" + moduleId + '\'' +
                ", moduleName='" + moduleName + '\'' +
                ", wrongCount=" + wrongCount +
                ", problemCount=" + problemCount +
                ", influenceScore=" + influenceScore +
                '}';
    }
}
