package com.artfess.cqxy.search.enums;

import com.artfess.cqxy.universal.enums.FileTypeEnum;
import org.apache.commons.lang3.StringUtils;

/**
 * @author Limuhua
 * @date 2022/3/22 16:15
 */
public enum FunctionEnum {

    zero("Accessory","附件","BIZ_ACCESSORY","","/biz/universal/accessory/v1/getPageBySourceId","", "附件信息"),

    one("projectManagentSub","项目管理","biz_project_management","/projectManagentSub","/biz/projectManagement/pm/v1/page","/biz/projectManagement/pm/v1/detail/", "项目管理>项目管理"),

    two("decisionBasis","决策依据","biz_decision_basis","/decisionBasis","/biz/projectApproval/decisionBasis/v1/page","/biz/projectApproval/decisionBasis/v1/detail/", "决策立项>决策依据"),

    three("projectInitiationSub","项目立项","biz_project_establishment","/projectInitiationSub","/biz/projectApproval/projectEstablishment/v1/page","/biz/projectApproval/projectEstablishment/v1/detail/", "决策立项>项目立项"),

    four("FeasibilityStudyReply","可研批复","biz_feasibility_study_reply","/FeasibilityStudyReply","/biz/feasiblePlan/feasibilityStudyReply/v1/page","/biz/feasiblePlan/feasibilityStudyReply/v1/detail/", "可研规划>可研批复"),

    five("SiteSelection","选址","biz_planning_selection_site","/Plan#SiteSelection","/biz/feasiblePlan/planningApproval/site/v1/page","/biz/feasiblePlan/planningApproval/site/v1/detail/", "可研规划>规划许可>选址"),

    six("Land","土地","biz_planning_selection_land","/Plan#Land","/biz/feasiblePlan/planningApproval/land/v1/page","/biz/feasiblePlan/planningApproval/land/v1/detail/", "可研规划>规划许可>土地"),

    seven("UseLand","用地","biz_planning_use_land","/Plan#UseLand","/biz/feasiblePlan/planningApproval/useLand/v1/page","/biz/feasiblePlan/planningApproval/useLand/v1/detail/", "可研规划>规划许可>用地"),

    eight("PorjectPlanning","工程规划","biz_planning_engineering","/Plan#PorjectPlanning","/biz/feasiblePlan/planningApproval/porjectPlanning/v1/page","/biz/feasiblePlan/planningApproval/porjectPlanning/v1/detail/", "可研规划>规划许可>工程规划"),

    nine("preliminaryDesign","初步设计","biz_preliminary_design","/preliminaryDesign","/biz/designEstimate/constructionDrawingDesign/v1/page","/biz/designEstimate/constructionDrawingDesign/v1/detail/", "设计概算>初步设计"),

    ten("estimate","概算批复","biz_estimate","/estimate","/biz/designEstimate/estimate/v1/page","/biz/designEstimate/estimate/v1/detail/", "设计概算>概算批复"),

    eleven("constructionDrawingDesign","施工图设计","biz_construction_drawing_design","/constructionDrawingDesign","/biz/designEstimate/constructionDrawingDesign/v1/page","/biz/designEstimate/constructionDrawingDesign/v1/detail/", "设计概算>施工图设计"),

    twelve("biddingManagement","招标信息","biz_bidding_management","/biddingManagement","/biz/bidManagement/biddingManagement/v1/page","/biz/biddingManagement/bidManagement/v1/detail/", "招投标>招标信息"),

    thirteen("tenderingManagement","投标信息","biz_bid_management","/tenderingManagement","/biz/bidManagement/bidManagement/v1/page","/biz/bidManagement/bidManagement/v1/detail/", "招投标>投标信息"),

    forteen("contractInformation","合同管理","biz_contract","/contractInformation","/biz/contract/v1/page","/biz/contract/v1/detail/", "合同管理"),

    fivteen("constructionPermit","施工许可","biz_construction_permit","/constructionPermit","/biz/constructionPermit/cp/v1/page","/biz/constructionPermit/cp/v1/detail/", "施工许可"),

    sicteen("changeManagement","变更管理","BIZ_CHANGE_MANAGEMENT","/changeManagement","/biz/processManagement/changeManagement/v1/page","/biz/processManagement/changeManagement/v1/detail/", "施工管理>变更管理"),

    seventeen("qualityInspection","质量巡检","BIZ_QUALITY_INSPECTION","/qualityAssurance#qualityInspection","/biz/processManagement/qualityRectification/v1/page","/biz/processManagement/qualityRectification/v1/detail/", "施工管理>质量管理>质量巡检"),

    eighteen("qualityRectification","质量整改","BIZ_QUALITY_INSPECTION","/qualityAssurance#qualityRectification","/biz/processManagement/qualityRectification/v1/page","/biz/processManagement/qualityRectification/v1/detail/", "施工管理>质量管理>质量整改"),

    ninteen("securityManagement","安全管理","biz_quality_rectification","/securityManagement","/biz/processManagement/securityManage/v1/page","/biz/processManagement/securityManage/v1/detail/", "施工管理>安全管理"),

    twenty("monthlyEngineeringReport","工程月报","BIZ_PROGRESS_MANAGE_REPORT","/scheduleManagement#monthlyEngineeringReport","/biz/processManagement/progressManageReport/v1/page","/biz/processManagement/progressManageReport/v1/detail", "施工管理>进度管理>工程月报"),

    twentyOne("paymentApproval","支付审批","BIZ_PROGRESS_MANAGE","/scheduleManagement#paymentApproval","/biz/processManagement/progressManage/v1/page","/biz/processManagement/progressManage/v1/detail/", "施工管理>进度管理>支付审批"),

    twentyTwo("epidemicPreventionControl","疫情防控","BIZ_PROGRESS_MANAGE_EPIDEMIC_CONTROL","/epidemicPreventionControl","/biz/processManagement/progressManageEpidemicControl/v1/page","/biz/processManagement/progressManageEpidemicControl/v1/detail/", "施工管理>疫情防控"),

    twentyThree("preAcceptance","预验收","biz_pre_acceptance","/preAcceptance","/biz/completionAcceptance/preAcceptance/v1/page","/biz/completionAcceptance/preAcceptance/v1/detail/", "竣工验收>预验收"),

    twentyFour("jointFilingAcceptance","备案验收","BIZ_RECORD_ACCEPTANCE","/jointFilingAcceptance","/biz/completionAcceptance/acceptanceSettlement/v1/page","/biz/completionAcceptance/acceptanceSettlement/v1/detail/", "竣工验收>备案验收"),

    twentyFive("settlement","结算","biz_acceptance_settlement","/settlement","/biz/completionAcceptance/acceptanceSettlement/v1/page","/biz/completionAcceptance/acceptanceSettlement/v1/detail/", "竣工验收>结算"),

    twentySix("finalaccounts","决算","biz_acceptance_final_accounts","/finalaccounts","/biz/completionAcceptance/acceptanceFinalAccounts/v1/page","/biz/completionAcceptance/acceptanceFinalAccounts/v1/detail/", "竣工验收>决算"),

    twentySeven("transfer","移交","biz_acceptance_final_transfer","/transfer","/biz/completionAcceptance/preAcceptance/v1/page","/biz/completionAcceptance/preAcceptance/v1/detail/", "竣工验收>移交"),

    twentyEight("unitProjectAcceptance","单位工程验收","BIZ_UNIT_PROJECT_ACCEPTANCE","/unitProjectAcceptance","/biz/completionAcceptance/unitProjectAcceptance/v1/page","/biz/completionAcceptance/unitProjectAcceptance/v1/detail/", "竣工验收>单位工程验收"),

    //--------
    thirtyFour("completionAcceptance","竣工验收","biz_completion_acceptance","/completionAcceptance","/biz/completionAcceptance/completionAcceptance/v1/page","/biz/completionAcceptance/completionAcceptance/v1/detail/", "竣工验收>竣工验收"),

    //--------
    thirtyFive("FundPlan","资金计划","BIZ_FUND_PLAN","/fundPlan","/biz/contract/fundPlan/v1/page","/biz/contract/fundPlan/v1/detail/", "合同管理>资金计划"),


    twentyNine("recordAcceptance","专项验收","BIZ_RECORD_ACCEPTANCE_SPECIAL","/recordAcceptance","/biz/completionAcceptance/recordAcceptanceSpecial/v1/page","/biz/completionAcceptance/recordAcceptanceSpecial/v1/detail/", "竣工验收>专项验收"),

    thirty("biddingPriceLimit","清单限价-编制","BIZ_BIDDING_PRICE_LIMIT","/listPriceLimit#detailedListOrganization","/biz/bidManagement/biddingPriceLimit/v1/page","/biz/bidManagement/biddingPriceLimit/v1/detail/", "招投标>清单限价>编制"),

    thirtyOne("biddingPriceExamine","清单限价-审核","BIZ_RECORD_ACCEPTANCE_SPECIAL","/listPriceLimit#detailedListOrganization","/biz/bidManagement/biddingPriceExamine/v1/page","/biz/bidManagement/biddingPriceExamine/v1/detail/", "招投标>清单限价>审核"),

    thirtyTwo("fileLibrary","文件库","BIZ_FILE_LIBRARY","/fileLibrary","/biz/fileLibrary/v1/page","/biz/fileLibrary/v1/detail/", "文件库"),

    thirtyThree("technicalinformation","技术资料","biz_technical_information","/technicalinformation/v1/page","/biz/technicalinformation/v1/page","/biz/technicalinformation/v1/detail/", "技术资料"),

    thirtySix("administrativePayment","行政缴费","biz_administrative_payment","/administrativePay","/biz/technicalinformation/v1/query","/biz/technicalinformation/v1/", "行政缴费"),


    ;


    FunctionEnum(String code, String name, String tableName, String tableRoteUrl,
                 String tableApiUrl, String detailsApiUrl, String functionPath) {
        this.code = code;
        this.name = name;
        this.tableName = tableName;
        this.tableRoteUrl = tableRoteUrl;
        this.tableApiUrl = tableApiUrl;
        this.detailsApiUrl = detailsApiUrl;
        this.functionPath = functionPath;
    }

    private String code;
    private String name;
    private String tableName;
    private String tableRoteUrl;
    private String tableApiUrl;
    private String detailsApiUrl;
    private String functionPath;

    public String getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    public String getTableName() {
        return tableName;
    }

    public String getTableRoteUrl() {
        return tableRoteUrl;
    }

    public String getTableApiUrl() {
        return tableApiUrl;
    }

    public String getDetailsApiUrl() {
        return detailsApiUrl;
    }

    public String getFunctionPath() {
        return functionPath;
    }
}
