package com.gxwebsoft.ai.constants;

import java.util.HashMap;
import java.util.Map;

/**
 * 审计内容11-历史审计问题整改常量类
 */
public class AuditContent11HistoryConstants {
    
    // 审计类型分类
    public static final String AUDIT_TYPE_INTERNAL = "内部审计";
    public static final String AUDIT_TYPE_EXTERNAL = "外部审计";
    public static final String AUDIT_TYPE_SPECIAL = "专项审计";
    public static final String AUDIT_TYPE_ECONOMIC = "经济责任审计";
    
    // 整改状态
    public static final String STATUS_COMPLETED = "已完成";
    public static final String STATUS_IN_PROGRESS = "整改中";
    public static final String STATUS_NOT_STARTED = "未整改";
    public static final String STATUS_PARTIAL = "部分整改";
    
    // 审计重点分类
    public static final String FOCUS_SYSTEM_MECHANISM = "制度机制建立情况";
    public static final String FOCUS_HISTORICAL_ISSUES = "历史遗留问题处理";
    public static final String FOCUS_RECTIFICATION_EFFECT = "整改数量及效果";
    public static final String FOCUS_SYSTEM_IMPROVEMENT = "制度完善情况";
    public static final String FOCUS_SELF_RECTIFICATION = "自行发现整改情况";
    
    // 审计方法关键词
    public static final String METHOD_REVIEW_REPORT = "审阅审计报告";
    public static final String METHOD_REVIEW_RECTIFICATION = "审阅整改报告";
    public static final String METHOD_VERIFY_RECTIFICATION = "核实整改情况";
    public static final String METHOD_INTERVIEW = "个别访谈";
    public static final String METHOD_REVIEW_DOCS = "查阅相关资料";
    
    // 分类描述
    public static final Map<String, String> FOCUS_DESCRIPTIONS = new HashMap<>();
    static {
        FOCUS_DESCRIPTIONS.put(FOCUS_SYSTEM_MECHANISM, "是否有处理历史遗留问题的制度机制");
        FOCUS_DESCRIPTIONS.put(FOCUS_HISTORICAL_ISSUES, "任期内是否有处理非任期的历史遗留问题");
        FOCUS_DESCRIPTIONS.put(FOCUS_RECTIFICATION_EFFECT, "对历次审计检查发现的问题整改的数量及效果");
        FOCUS_DESCRIPTIONS.put(FOCUS_SYSTEM_IMPROVEMENT, "历次审计检查发现问题后是否有完善相关制度");
        FOCUS_DESCRIPTIONS.put(FOCUS_SELF_RECTIFICATION, "历次审计没有发现的问题是否自行发现并整改完善");
    }
    
    // 审计方法描述
    public static final Map<String, String> METHOD_DESCRIPTIONS = new HashMap<>();
    static {
        METHOD_DESCRIPTIONS.put(METHOD_REVIEW_REPORT, "审阅任职期间审计报告");
        METHOD_DESCRIPTIONS.put(METHOD_REVIEW_RECTIFICATION, "审阅整改情况报告");
        METHOD_DESCRIPTIONS.put(METHOD_VERIFY_RECTIFICATION, "对提出问题整改情况逐一进行核实");
        METHOD_DESCRIPTIONS.put(METHOD_INTERVIEW, "通过个别访谈了解情况");
        METHOD_DESCRIPTIONS.put(METHOD_REVIEW_DOCS, "查阅相关资料了解单位存在的历年遗留问题和处理情况");
    }
    
    // 关键词权重（用于知识检索排序）
    public static final Map<String, Integer> KEYWORD_WEIGHTS = new HashMap<>();
    static {
        KEYWORD_WEIGHTS.put("审计发现问题", 10);
        KEYWORD_WEIGHTS.put("问题整改", 9);
        KEYWORD_WEIGHTS.put("整改情况", 9);
        KEYWORD_WEIGHTS.put("整改报告", 8);
        KEYWORD_WEIGHTS.put("审计报告", 8);
        KEYWORD_WEIGHTS.put("历史遗留问题", 9);
        KEYWORD_WEIGHTS.put("制度机制", 7);
        KEYWORD_WEIGHTS.put("整改措施", 7);
        KEYWORD_WEIGHTS.put("整改责任人", 6);
        KEYWORD_WEIGHTS.put("整改完成", 6);
        KEYWORD_WEIGHTS.put("审计年度", 5);
        KEYWORD_WEIGHTS.put("审计类型", 5);
        KEYWORD_WEIGHTS.put("经济责任审计", 6);
    }
    
    // 整改要求常见关键词
    public static final String[] RECTIFICATION_REQUIREMENT_KEYWORDS = {
        "限期整改", "建立机制", "完善制度", "责任追究", "资金追回",
        "规范管理", "加强内控", "落实责任", "建立台账", "跟踪检查"
    };
    
    // 整改措施常见关键词
    public static final String[] RECTIFICATION_MEASURES_KEYWORDS = {
        "修订制度", "完善流程", "加强培训", "调整人员", "资金归还",
        "建立台账", "完善手续", "强化监督", "责任追究", "定期检查"
    };
    
    private AuditContent11HistoryConstants() {
        // 防止实例化
    }
}