package com.gxwebsoft.ai.constants;

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

/**
 * 八项规定制度常量类
 */
public class AuditContent1EightRegConstants {
    
    // 八项规定分类定义
    public static final String CATEGORY_RESEARCH = "改进调查研究";
    public static final String CATEGORY_MEETINGS = "精简会议活动";
    public static final String CATEGORY_DOCUMENTS = "精简文件简报";
    public static final String CATEGORY_VISITS = "规范出访活动";
    public static final String CATEGORY_GUARD_WORK = "改进警卫工作";
    public static final String CATEGORY_NEWS_REPORT = "改进新闻报道";
    public static final String CATEGORY_PUBLICATIONS = "严格文稿发表";
    public static final String CATEGORY_ECONOMY = "厉行勤俭节约";
    
    // 分类描述
    public static final Map<String, String> CATEGORY_DESCRIPTIONS = new HashMap<>();
    static {
        CATEGORY_DESCRIPTIONS.put(CATEGORY_RESEARCH, "改进调查研究相关要求");
        CATEGORY_DESCRIPTIONS.put(CATEGORY_MEETINGS, "精简会议活动相关要求");
        CATEGORY_DESCRIPTIONS.put(CATEGORY_DOCUMENTS, "精简文件简报相关要求");
        CATEGORY_DESCRIPTIONS.put(CATEGORY_VISITS, "规范出访活动相关要求");
        CATEGORY_DESCRIPTIONS.put(CATEGORY_GUARD_WORK, "改进警卫工作相关要求");
        CATEGORY_DESCRIPTIONS.put(CATEGORY_NEWS_REPORT, "改进新闻报道相关要求");
        CATEGORY_DESCRIPTIONS.put(CATEGORY_PUBLICATIONS, "严格文稿发表相关要求");
        CATEGORY_DESCRIPTIONS.put(CATEGORY_ECONOMY, "厉行勤俭节约相关要求");
    }
    
    // 政策内容 - 中共中央八项规定
    public static final Map<String, String> POLICY_CONTENTS = new HashMap<>();
    static {
        POLICY_CONTENTS.put(CATEGORY_RESEARCH,
            "中央政治局全体同志要改进调查研究，到基层调研要深入了解真实情况，总结经验、研究问题、解决困难、指导工作，向群众学习、向实践学习，多同群众座谈，多同干部谈心，多商量讨论，多解剖典型。");
        
        POLICY_CONTENTS.put(CATEGORY_MEETINGS,
            "要精简会议活动，切实改进会风，严格控制以中央名义召开的各类全国性会议和举行的重大活动，不开泛泛部署工作和提要求的会，未经中央批准一律不出席各类剪彩、奠基活动和庆祝会、纪念会、表彰会、博览会、研讨会及各类论坛;提高会议实效，开短会、讲短话，力戒空话、套话。");
            
        POLICY_CONTENTS.put(CATEGORY_DOCUMENTS,
            "要精简文件简报，切实改进文风，没有实质内容、可发可不发的文件、简报一律不发。");
            
        POLICY_CONTENTS.put(CATEGORY_VISITS,
            "要规范出访活动，从外交工作大局需要出发合理安排出访活动，严格控制出访随行人员，严格按照规定乘坐交通工具，一般不安排中资机构、华侨华人、留学生代表等到机场迎送。");
            
        POLICY_CONTENTS.put(CATEGORY_GUARD_WORK,
            "要改进警卫工作，坚持有利于联系群众的原则，减少交通管制，一般情况下不得封路、不清场闭馆。");
            
        POLICY_CONTENTS.put(CATEGORY_NEWS_REPORT,
            "要改进新闻报道，中央政治局同志出席会议和活动应根据工作需要、新闻价值、社会效果决定是否报道，进一步压缩报道的数量、字数、时长。");
            
        POLICY_CONTENTS.put(CATEGORY_PUBLICATIONS,
            "要严格文稿发表，除中央统一安排外，个人不公开出版著作、讲话单行本，不发贺信、贺电，不题词、题字。");
            
        POLICY_CONTENTS.put(CATEGORY_ECONOMY,
            "要厉行勤俭节约，严格遵守廉洁从政有关规定，严格执行住房、车辆配备等有关工作和生活待遇的规定。");
    }
    
    // 实施细则内容 - 中央八项规定实施细则
    public static final Map<String, String> IMPLEMENTATION_DETAILS = new HashMap<>();
    static {
        IMPLEMENTATION_DETAILS.put(CATEGORY_RESEARCH,
            "注重实际效果。安排中央政治局委员到基层调研要紧紧围绕调研主题，实事求是地安排考查内容，为领导同志深入基层、深入群众、深入实际创造条件。\n" +
            "减少陪同人员。中央政治局常委到地方考察调研，陪同的中央和国家机关有关部门负责同志不超过5人，省(自治区、直辖市)陪同的负责同志不超过3人。\n" +
            "简化接待工作。中央政治局委员在地方考察调研期间，不张贴悬挂横幅标语，不安排群众迎送，不铺设迎宾地毯，不摆放花草，不组织专场文艺表演。");
            
        IMPLEMENTATION_DETAILS.put(CATEGORY_MEETINGS,
            "减少会议活动。各地区各部门要本着务实高效的原则，严格清理、切实减少各类会议活动，能不开的坚决不开，可以合并的坚决合并。\n" +
            "控制会议活动规模和时间。严格控制各类会议活动规模，减少参加人员。各部门召开的全国性会议，只安排与会议内容密切相关的部门参加，人数不超过300人，时间不超过2天。\n" +
            "严格控制会议活动经费。各地区各部门举办会议活动，要严格执行有关规定，厉行节约，反对铺张浪费。严禁提高会议用餐、住宿标准，严禁组织高消费娱乐、健身活动。");
            
        IMPLEMENTATION_DETAILS.put(CATEGORY_DOCUMENTS,
            "减少各类文件简报。凡国家法律法规和党内法规已作出明确规定的，一律不再制发文件。没有实质内容、可发可不发的文件简报，一律不发。\n" +
            "提高文件简报的质量和时效。各地区各部门应严格按照中央办公厅、国务院办公厅的有关要求，对文件和简报资料的报送程序和格式进行规范。");
            
        IMPLEMENTATION_DETAILS.put(CATEGORY_VISITS,
            "合理安排出访。围绕外交工作需要合理制定年度出访总体方案，中央政治局委员每人每年出访不超过1次，时间不超过10天。\n" +
            "控制随行人员。严格根据工作需要安排陪同人员和工作人员。\n" +
            "规范乘机安排。严格按照规定乘坐交通工具。\n" +
            "简化机场迎送和接待工作。中央政治局委员出访，各有关驻外使领馆不安排中资机构、华侨华人和留学生代表到机场迎送。");
            
        IMPLEMENTATION_DETAILS.put(CATEGORY_GUARD_WORK,
            "改进警卫工作。中央政治局委员的警卫工作，要坚持有利于联系群众的原则，实行内紧外松的警卫方式，减少扰民。中央政治局委员出行时要减少交通管制，不得封路。");
            
        IMPLEMENTATION_DETAILS.put(CATEGORY_NEWS_REPORT,
            "简化中央政治局委员出席会议活动新闻报道。要根据工作需要、新闻价值、社会效果决定是否报道。出席一般性会议和活动不作报道。\n" +
            "精简全国性会议活动新闻报道。经中央批准举办的全国性会议活动，除中共中央总书记外，中央政治局常委出席的，文字稿不超过1000字。\n" +
            "规范中央政治局委员考察调研活动新闻报道。考察调研活动新闻报道要多反映群众关心的实质性内容，更好贴近实际、贴近生活、贴近群众。");
            
        IMPLEMENTATION_DETAILS.put(CATEGORY_PUBLICATIONS,
            "规范其他新闻报道。经中央批准，中央政治局常委和从中央政治局常委职务上退下来的同志出版著作等作品，由新华社播发简短出版消息。");
            
        IMPLEMENTATION_DETAILS.put(CATEGORY_ECONOMY,
            "严格控制会议活动经费。各地区各部门举办会议活动，要严格执行有关规定，厉行节约，反对铺张浪费。\n" +
            "简化机场迎送和接待工作。驻外使领馆和其他驻外机构一律不得向代表团赠送礼品，外方所赠礼品应严格按国家有关规定处理。");
    }
    
    
    // 审计建议内容 - 新增的审计建议
    public static final Map<String, String> AUDIT_SUGGESTIONS = new HashMap<>();
    static {
        AUDIT_SUGGESTIONS.put(CATEGORY_RESEARCH,
            "如审查后认定：确为缺少系统性规范和调研记录。建议：\n" +
            "1.补足制度短板，系统性规范公司层面调研工作管理要求；\n" +
            "2.强化过程管理与材料归档，确保调研活动可视、可查、可评，切实发挥服务决策、解决问题的实效。");
        
        AUDIT_SUGGESTIONS.put(CATEGORY_MEETINGS,
            "如审查确认被审计单位存在未严格遵循《中央八项规定》中关于'精简会议活动'的规定，可提出审计建议：\n" +
            "建议减少不必要的会议数量，提高会议质量和效率，避免因频繁开会而造成人力资源浪费。在召开会议前，应明确会议的具体目的和议题，避免无目标、无计划的会议。");
        
        AUDIT_SUGGESTIONS.put(CATEGORY_VISITS,
            "如审查确认被审计单位存在未严格遵循《中央八项规定》中关于'轻车简从''不得扰民'的要求，可提出审计建议：\n" +
            "切实规范领导人员公务出行管理，严格贯彻落实'轻车简从''不得扰民'等要求。明确规定考察线路须事前报备、严格控制随员及车辆规模、严禁超标接待与礼仪迎送、严禁使用警车等非必要车辆疏导清场。责立健全常态化监管与问责机制，确保有关规定执行到位，对违规行为严肃追责。");
        
        AUDIT_SUGGESTIONS.put(CATEGORY_GUARD_WORK,
            "如审查确认被审计单位存在未严格遵循《中央八项规定》中关于'轻车简从''不得扰民'的要求，可提出审计建议：\n" +
            "切实规范领导人员公务出行管理，严格贯彻落实'轻车简从''不得扰民'等要求。明确规定考察线路须事前报备、严格控制随员及车辆规模、严禁超标接待与礼仪迎送、严禁使用警车等非必要车辆疏导清场。责立健全常态化监管与问责机制，确保有关规定执行到位，对违规行为严肃追责。");
        
        AUDIT_SUGGESTIONS.put(CATEGORY_ECONOMY,
            "如审查后认定：确为会议活动经费超支。可提出审计建议：\n" +
            "强化会议活动经费预算控制，严查支出明细，杜绝超标准住宿餐饮、高消费活动、豪华布置及纪念品发放。\n\n" +
            "其他建议：\n" +
            "1.各直属企业定期对内部控制情况开展实质性评价，杜绝形式主义。\n" +
            "2.上级公司强化对下属企业的监督与检查，保障相关制度有效执行。");
    }

    // 关键词权重
    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("文件简报", 9);
        KEYWORD_WEIGHTS.put("出访活动", 9);
        KEYWORD_WEIGHTS.put("警卫工作", 9);
        KEYWORD_WEIGHTS.put("新闻报道", 9);
        KEYWORD_WEIGHTS.put("文稿发表", 9);
        KEYWORD_WEIGHTS.put("勤俭节约", 9);
        KEYWORD_WEIGHTS.put("实施细则", 8);
        KEYWORD_WEIGHTS.put("接待标准", 7);
        KEYWORD_WEIGHTS.put("经费管理", 7);
    }
    
    private AuditContent1EightRegConstants() {
        // 防止实例化
    }
}