package com.njcn.product.advance.responsility.pojo.constant;

/**
 * 计算模式枚举
 * 
 * @author hongawen
 * @version 1.0
 */
public enum CalculationMode {
    /**
     * 完整计算模式
     * 使用电压和功率数据计算相关系数和责任
     */
    FULL_CALCULATION(0, "完整计算模式"),
    
    /**
     * 部分重算模式
     * 使用已有的动态相关系数计算责任
     */
    PARTIAL_RECALCULATION(1, "部分重算模式");
    
    private final int code;
    private final String description;
    
    CalculationMode(int code, String description) {
        this.code = code;
        this.description = description;
    }
    
    public int getCode() {
        return code;
    }
    
    public String getDescription() {
        return description;
    }
    
    public static CalculationMode fromCode(int code) {
        for (CalculationMode mode : values()) {
            if (mode.code == code) {
                return mode;
            }
        }
        throw new IllegalArgumentException("Invalid calculation mode code: " + code);
    }
}