package com.gxwebsoft.ai.constants;

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

/**
 * 支出情况表常量类
 */
public class AuditContent1ExpenseConstants {
    
    // 支出类型分类
    public static final String EXPENSE_TYPE_RECEPTION = "公务接待";
    public static final String EXPENSE_TYPE_OVERSEAS = "出国";
    public static final String EXPENSE_TYPE_VEHICLE = "公车运行维护";
    public static final String EXPENSE_TYPE_MEETING = "会议培训费";
    
    // 年度范围
    public static final int[] YEAR_RANGE = {2020, 2021, 2022, 2023};
    
    // 分类描述
    public static final Map<String, String> EXPENSE_DESCRIPTIONS = new HashMap<>();
    static {
        EXPENSE_DESCRIPTIONS.put(EXPENSE_TYPE_RECEPTION, "公务接待费用支出情况");
        EXPENSE_DESCRIPTIONS.put(EXPENSE_TYPE_OVERSEAS, "出国（出境）费用支出情况");
        EXPENSE_DESCRIPTIONS.put(EXPENSE_TYPE_VEHICLE, "公车运行维护费用支出情况");
        EXPENSE_DESCRIPTIONS.put(EXPENSE_TYPE_MEETING, "会议、培训费用支出情况");
    }
    
    // 数据格式要求
    public static final String DATA_FORMAT_REQUIREMENT = 
        "每条记录应包含以下字段：\n" +
        "- expenseType：支出类型（公务接待/出国/公车运行维护/会议培训费）\n" +
        "- year：年份（2020-2023）\n" +
        "- finalStatementAmount：决算报表数（单位：元）\n" +
        "- initialBudgetAmount：年初预算数（单位：元）\n" +
        "- changePercentage：增减情况（%）\n" +
        "- budgetRatio：占年初预算比例（%）\n" +
        "- remark：备注信息\n" +
        "- dataSource：数据来源文件\n" +
        "- workPaperIndex：相关文件索引";
    
    // 关键词权重
    public static final Map<String, Integer> KEYWORD_WEIGHTS = new HashMap<>();
    static {
        KEYWORD_WEIGHTS.put("决算", 10);
        KEYWORD_WEIGHTS.put("预算", 10);
        KEYWORD_WEIGHTS.put("公务接待", 9);
        KEYWORD_WEIGHTS.put("出国", 9);
        KEYWORD_WEIGHTS.put("公车", 9);
        KEYWORD_WEIGHTS.put("会议", 8);
        KEYWORD_WEIGHTS.put("培训", 8);
        KEYWORD_WEIGHTS.put("支出", 8);
        KEYWORD_WEIGHTS.put("费用", 7);
        KEYWORD_WEIGHTS.put("财务报表", 9);
        KEYWORD_WEIGHTS.put("年度报告", 8);
        KEYWORD_WEIGHTS.put("预算执行", 8);
        KEYWORD_WEIGHTS.put("财务分析", 7);
    }
    
    // 数据来源关键词
    public static final String[] DATA_SOURCE_KEYWORDS = {
        "决算报表", "预算报表", "财务报告", "年度报告", 
        "预算执行情况", "经费使用情况", "支出明细", "费用分析"
    };
    
    private AuditContent1ExpenseConstants() {
        // 防止实例化
    }
}