package cn.cslg.pas.common.core.base;

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

public class Constants {

    public static final String ADMIN_USERNAME = "admin";

    public static final String PROJECT_INFO_FILE_NAME = "project.json";
    public static final String PROJECT_REPORT_DIRECTORY_NAME = "project-report";
    public static final String PROJECT_REPORT_FILE_NAME = "project-report.json";
    public static final String PROJECT_FILE_DIRECTORY_NAME = "project-file";
    public static final String PROJECT_FILE_FILE_NAME = "project-file.json";
    public static final String PROJECT_PATENT_LINK_FILE_NAME = "project-patent-link.json";
    public static final String PATENT_IMAGE_DIRECTORY_NAME = "patent-image";
    public static final String PATENT_IMAGE_FILE_NAME = "patent-image.json";
    public static final String PATENT_INSTRUCTION_DIRECTORY_NAME = "patent-instruction";
    public static final String PATENT_INSTRUCTION_FILE_NAME = "patent-instruction.json";
    public static final String PATENT_APPLICANT_MERGE_LINK_FILE_NAME = "patent-applicant-merge-link.json";
    public static final String PATENT_APPLICANT_FILE_NAME = "patent-applicant.json";
    public static final String PATENT_APPLICANT_LINK_FILE_NAME = "patent-applicant-link.json";
    public static final String PATENT_FILE_NAME = "patent.json";
    public static final String PATENT_ID_PATENT_NO_FILE_NAME = "patent-id-patentno.json";
    public static final String PATENT_AFFAIR_FILE_NAME = "patent-affair.json";
    public static final String PATENT_AGENCY_FILE_NAME = "patent-agency.json";
    public static final String PATENT_AGENT_LINK_FILE_NAME = "patent-agent-link.json";
    public static final String PATENT_AGENT_FILE_NAME = "patent-agent.json";
    public static final String PATENT_INSTRUCTION_TEXT_FILE_NAME = "patent-instruction-text.json";
    public static final String PATENT_INVENTOR_LINK_FILE_NAME = "patent-inventor-link.json";
    public static final String PATENT_INVENTOR_MERGE_FILE_NAME = "patent-inventor-merge.json";
    public static final String PATENT_INVENTOR_FILE_NAME = "patent-inventor.json";
    public static final String PATENT_LICENSOR_FILE_NAME = "patent-licensor.json";
    public static final String PATENT_PLEDGE_FILE_NAME = "patent-pledge.json";
    public static final String PATENT_RIGHT_FILE_NAME = "patent-right.json";
    public static final String PATENT_FAMILY_LINK_FILE_NAME = "patent-family-link.json";
    public static final String PATENT_FAMILY_FILE_NAME = "patent-family.json";
    public static final String PATENT_CLASS_NUMBER_FILE_NAME = "patent-class-number.json";
    public static final String PATENT_LABEL_FILE_NAME = "patent-label.json";
    public static final String PROJECT_FIELD_FILE_NAME = "project-field.json";
    public static final String PROJECT_FIELD_OPTION_FILE_NAME = "project-field-option.json";
    public static final String PROJECT_FIELD_TREE_FILE_NAME = "project-field-tree.json";
    public static final String PROJECT_FIELD_TEXT_FILE_NAME = "project-field-text.json";
    public static final String PROJECT_FIELD_PATENT_LINK_FILE_NAME = "project-field-patent-link.json";

    public static final String API_VERSION_V2 = "/api/v2";

    public static final Integer PATENT_CLASS_NUMBER_IPC = 1;
    public static final Integer PATENT_CLASS_NUMBER_CPC = 2;
    public static final Integer PATENT_CLASS_NUMBER_UPC = 3;
    public static final Integer PATENT_CLASS_NUMBER_LOC = 4;

    /**
     * 分隔符-竖线
     */
    public static final String SEPARATOR_VERTICAL_BAR = " | ";

    /**
     * 系统字段类型-查询检索
     */
    public static final String SYSTEM_FIELD_QUERY = "query";

    /**
     * 系统字段类型-专利导出
     */
    public static final String SYSTEM_FIELD_EXPORT = "export";

    /**
     * 系统字段类型-专利列表
     */
    public static final String SYSTEM_FIELD_PATENT_LIST = "list";

    /**
     * 系统字段类型-专题库字段
     */
    public static final String SYSTEM_FIELD_PROJECT = "project";

    /**
     * 专题库导入专利任务名称
     */
    public static final Integer TASK_IMPORT_PATENT = 1;

    /**
     * 专利说明书导入任务名称
     */
    public static final Integer TASK_IMPORT_PATENT_INSTRUCTION = 3;

    /**
     * 专利导出任务名称
     */
    public static final Integer TASK_EXPORT_PATENT = 2;

    /**
     * 日期位移值
     */
    public static final Map<String, Integer> DATE_OFFSET = new HashMap<String, Integer>() {{
        put("月", -1);
        put("季", -3);
        put("半年", -6);
        put("年", -12);
        put("2年", -24);
        put("3年", -36);
        put("5年", -60);
    }};

    /**
     * 专利类型
     */
    public static final String PATENT_TYPE = "PATENT_TYPE";

    /**
     * 机构类型
     */
    public static final String ORGAN_TYPE = "ORGAN_TYPE";

    /**
     * 许可人/被许可人
     */
    public static final String LICENSOR_TYPE = "LICENSOR_TYPE";

    /**
     * 简单法律状态
     */
    public static final String PATENT_SIMPLE_STATUS = "PATENT_SIMPLE_STATUS";

    /**
     * 国家
     */
    public static final String COUNTRIES = "COUNTRIES";

    /**
     * 法律状态
     */
    public static final String PATENT_STATUS = "PATENT_STATUS";

    /**
     * 企业应用场景
     */
    public static final String ENTERPRISE_APPLICATION_SCENARIO = "ENTERPRISE_APPLICATION_SCENARIO";

    /**
     * 调查类型
     */
    public static final String INVESTIGATION_TYPE = "INVESTIGATION_TYPE";

}
