var constant = {};

constant.apiUrl = "http://dts.erp.didichuxing.com:8180/";

constant.regesterInformation = {
    active: true,
    userKey: "dts.erp.didichuxing.com,164826354976336#A0jDtCLiYzMzYzN9QTNzYjM8QjNxIiOiQWSiwSflNHbhZmOiI7ckJye0ICbuFkI1pjIEJCLi4TP7JGMrVjMIV5YHh4L5BTUMNGa9wkc4hzL4QURnpGVPxWWulVQQZDRkRGV7d4NvlVNll5RvJVVohWT98GN5QjQHV5LDlWTNN6SIdVb9Y4QzZUNsZWdwVnI0IyUiwCM8kjMxIjNwQTM0IicfJye&Qf35VfiMjY6cmI0IyQiwiIxEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsISO5UDMxADI7IjMwkTMwIjI0ICdyNkIsISbvNmLn9Wa8VHajlGZpRmLwJXZuMHdkJiOiMXbEJCLig1jlzahlbIilfbtmrIukj1jlzahlDZmpnInmnIvvPLnlH1tmjIvvL0rojqklPZgpjLsm1Yjl1ammLieiom"
};

constant.guid = {
    empty: '00000000-0000-0000-0000-000000000000'
};

//数据验证起始值范围
constant.startNum = -1000000000000;
constant.endNum = 1000000000000;

constant.organization = {
    parentIdNull: "-1",
    defaultMaxLength: 25,
    EstateIndustryId: 23,
    NonEstateIndustryId: 0,
}

constant.date = {
    maxDate: '9999-11',
    minDate: '1900-01',
    dateFormat: 'yyyy-MM-dd',
    dateFormatUppercase: 'YYYY-MM-DD',
    dateFormatyyyyMMdd: 'yyyy/MM/dd',
    dateFormatyyyyMMddUppper: 'YYYY/MM/DD',
    dateFormatSeparator: '/',
    hourSelection: [0, 12, 24, 48, 72, 96, 120]
}

constant.workflow = {
    codeStartWith: 10000,
}
constant.toFixedNumber4 = 4;
constant.toFixedNumber2 = 2;

constant.priority = {
    low: 1,
    medium: 2,
    high: 3
}

constant.importTypeList = [
    {value: 0, name: "默认导入"},
    {value: 1, name: "覆盖导入"},
    {value: 2, name: "追加导入"}
]

constant.customer = {
    codeMaxLength: 50,
    nameMaxLength: 100,
    errorArray: ['CustomerImportDataFormatError', 'SaveFileError', 'CustomerCodeOutOfLength', 'CustomerNameOutOfLength']
}

constant.payTaxTypeList = [
    {value: 1, name: '一般纳税人'},
    {value: 2, name: '小规模纳税人'}];

constant.citReportTypeList = [
    {value: 1, name: 'TaxReturnType', orderIndex: 1},
    {value: 2, name: 'QuarterlyFilingReturnType', orderIndex: 2},
    {value: 3, name: 'WorkingPaperType', orderIndex: 3},
    {value: 4, name: 'DocumentListType', orderIndex: 4},
    {value: 5, name: 'FinancialStatementsType', orderIndex: 5},
    {value: 6, name: 'OtherTaxes', orderIndex: 6}];

constant.cfReportTypeList = [
    {value: 1, name: '企业所得税预算'},
    {value: 2, name: '增值税预算'},
    {value: 3, name: '消费税预算'},
    {value: 4, name: '增值税&消费税附加税费预算'},
    {value: 5, name: '房产税税预算'},
    {value: 6, name: '城镇土地使用税预算'},
    {value: 7, name: '印花税预算'},
    {value: 8, name: '契税预算'},
    {value: 9, name: '车辆购置税预算'},
    {value: 10, name: '车船税预算'},
    {value: 11, name: '土地增值税预算'},
    {value: 12, name: '个人所得税预算'},
    {value: 13, name: '关税预算'}
];

constant.businessUnit =
    {
        BUmaxLength: 21
    }

constant.activeStatus = {
    active: 1,
    deactive: 0
}

constant.organizationStructManage = {
    nameMaxLength: 21
}

constant.webapi = {
    prefix: '/api/v1'
}

constant.cache = {
    cacheName: 'webadmin',
    hubName: 'cacheHub',
    storageMode: 'localStorage',
    defaultCacheTime: '00000000',
    cacheUpdateMessage: '系统有更新,为了保证数据准确性,请刷新页面更新系统!', //will move to i18n
    cachePrex: 'atms.webadmin.data.',
    notify: {
        position: 'right',
        classes: 'alert-danger'
    }
}

constant.common = {
    undefined: 'undefined'
}

constant.serviceType = {
    Admin: 1,
    VAT: 2,
    AM: 3,
    FDD: 4,
    Dashboard: 5,
    CIT: 6,
    TCS: 7
}

constant.roleSource = {
    Unknown: 0,
    OrganizationLevel: 1,
    AreaLevel: 2,
    BusinessUnitLevel: 3,
    OriginalLevel: 4,
    DimensionLevel: 5,
}

constant.import = {
    overwrite: '1',
    append: '2'
}

constant.OperateLogType = {
    OperationLogOrganization: 0,
    OperationLogUser: 1,
    OperationLogProject: 2,
    OperationLogBasicData: 3,
    OperationLogReport: 4,

    OperationLogEnterPrise: 5,
    OperationLogSubjectCorres: 6,
    OperationLogRole: 7,
    OperationLogModelConfiguration: 8,
    OperationRuleEngineConfiguration: 9,
    OperationKeyvalueConfiguration: 10,
    OperationLogWorkflow: 11,
    OperationLogStock: 12
}

constant.page = {
    pageSize: 10,
    logPageSize: 20
}
constant.page.pageSizeArrary = [10, 20, 50, 100];

constant.Action = {
    View: 0,
    New: 1,
    Update: 2,
    Delete: 3,
    Copy: 4,
    AutoMapping: 5,
    ManualMapping: 6,
    CancelMapping: 7,
    Edit: 8
}

constant.OperationModule = {
    BasicDataOrganizationStructure: 1,
    BasicDataRegion: 2,
    BasicDataStandardAccount: 3,
    BasicDataWordLibrary: 4,
    BasicDataKeyValue: 5,
    Project: 6,
    ProjectServiceType: 7,
    User: 8,
    Organization: 9,
    Role: 10,
    UserRole: 11,
    BasicDataEnterpriceAccount: 12,
    TemplateFormula: 13,
    Template: 14,
    TemplateGroup: 15,
    ReportConfiguration: 16,
    BasicDataArea: 17,
    BasicDataCustomer: 18,
    BusinessUnit: 19
};

constant.UIGrid = {
    rowHeight: 40,
    selectionRowHeaderWidth: 40,

    errorRowHeight: 30,
    errorRowHeaderWidth: 30,

    minRowHeight: 25,
    minselectionRowHeaderWidth: 25,

    gapHeight: 6
}


constant.enterpriceAccount = {
    codeEmpty: 'EnterpriseAccountCodeEmpty',
    codeMaxLength: 'EnterpriseAccountCodeMaxLength',
    enterpriseAccountNameEmpty: 'EnterpriseAccountNameEmpty',
    nameMaxLength: 'EnterpriseAccountNameMaxLength',
    directionFormatError: 'DirectionFormatError',
    acctPropFormatError: 'AcctPropFormatError',
    noParentCode: 'NoParentCode',
}

constant.dimensionID = {
    businessUnitID: "c61a5bd6-a996-4952-9869-d053995237e5",
    areaID: "c61a5bd6-a996-4952-9869-d053995237e6",
    //机构层级和子公司不是一个定义,机构层级的ID之后用到会更改
    organizationStructureID: "c61a5bd6-a996-4952-9869-d053995237e7",
    orgSubChildrenID: "c61a5bd6-a996-4952-9869-d053995237e7"
}

// 系统定义的属性ID
constant.attributeID = {
    businessUnitID: 'c61a5bd6-a996-4952-9869-d053995237e5',
    areaID: 'c61a5bd6-a996-4952-9869-d053995237e6',
    organizationStructureID: 'c61a5bd6-a996-4952-9869-d053966537e8',
    userID: 'c61a5bd6-a996-4952-9869-d053996237e8',
    industryID: 'c61a5bd6-a996-4952-9869-d053996537e8',
    orgSubChildrenID: 'c61a5bd6-a996-4952-9869-d053995237e7',
    administrativeAreaID: 'c62a5bd6-a996-4952-9869-d053996537e88'
}

constant.userRoleDimensionValueID = {
    extraOrgDimensionID: 'extraOrgDimensionID',
    extaDimensionName: '附加',
    extraOrgDimensionValueName: '附加角色',
    originalRoleDimensionValueName: '原始角色',
    //附加在维度上的角色
    extraOrgDimensionValueID: 'extraOrgDimensionValueID',
    //附加原始角色
    originalRoleDimensionValueID: 'originalRoleDimensionValueID'
}

constant.dimensionType = {
    Unknown: 0,
    SelfDimension: 1,
    BusinessUnit: 2,
    Area: 3,
    OrganizationStructure: 4,
    User: 5,
    Industry: 6,
    OrgSubChildren: 7
}


constant.attributeType = {
    Unknown: 0,
    SelfDimension: 1,
    BusinessUnit: 2,
    Area: 3,
    OrganizationStructure: 4,
    User: 5,
    Industry: 6,
    OrgSubChildren: 7,
    RegionID: 10
}

// 区域排除的下拉选项
constant.areaExcludeAttributeType = [
    // 未知
    0,
];

constant.excludeAttributeType = [
    0,
    5,
    7
]

constant.level = {
    First: 0
}

constant.espAccountFilter = {
    key_0: '0',
    key_1: '1',
    key_2: '2',
    key_3: '3',
    key_4: '4',
    data: [{key: '0', value: 'AllMappingStatus'}, {key: '1', value: 'Unmapped'},
        {key: '2', value: 'Mapped'}, {key: '3', value: 'DirectionDifferent'},
        {key: '4', value: 'AccountTypeDifferent'}]

}

constant.taxpayerNumberFilter = {
    key_0: '0',
    key_1: '1',
    key_2: '2',
}
constant.taxpayerNumberFilter.dataSource = [
    {key: constant.taxpayerNumberFilter.key_0, value: 'All'},
    {key: constant.taxpayerNumberFilter.key_1, value: 'HasTaxPayerNumber'},
    {key: constant.taxpayerNumberFilter.key_2, value: 'NoTaxPayerNumber'},
];

constant.comma = ',';

constant.DimensionType = {
    Unknown: 0,
    SelfDimension: 1,
    BusinessUnit: 2,
    Area: 3,
    OrganizationStructure: 4,
    User: 5,
    Industry: 6,
    OrgSubChildren: 7,
    Stock: 8
}

constant.Operation = {
    Add: 'add',
    Edit: 'edit',

    // 禁用
    Disable: 'disable',

    // 启用
    Enable: 'enable',

    // 查找添加
    findAdd: 'findAdd',

    // 删除
    Delete: 'delete',

    // 查询
    Query: 'Query',

    // 打开
    Open: 'Open',

    // 关闭
    Close: 'Close'
}

constant.TemplateGroupOperation = {
    // 直接连模板一起添加
    AddDirectly: 'addDirectly',

    // 先加模板组,暂不加模板
    AddGroupFirst: 'addGroupFirst',
    Edit: 'edit',

    // 删除
    Delete: 'delete'
}

constant.selectAllValue = '99';

constant.BasicDataManageMenuID = 'F9A18F3A-7E39-4661-BA00-F149710577C8';

constant.noPermissionClass = "no-permission";

constant.attributeTypeIDColMap = {
    0: '',
    1: '',
    2: 'businessUnitID',
    3: 'areaID',
    4: 'structureID',
    5: '',
    6: 'industryID',
    7: 'structureID',
    10: 'regionID'
};

constant.attributeTypeNameColMap = {
    0: '',
    1: '',
    2: 'businessUnitName',
    3: 'areaName',
    4: 'structureName',
    5: '',
    6: 'industryName',
    7: 'structureName',
    10: 'regionName'
};

// vat权限code
constant.vatPermission = {
    code: '02',
    dataImport: {
        dataImportCode: '02.001',
        balanceSheet: {
            queryCode: '02.001.001',
            importCode: '02.001.002'
        },
        journalEntry: {
            queryCode: '02.001.003',
            importCode: '02.001.004'
        },
        erpImport: {
            queryCode: '02.001.005',
            importCode: '02.001.006'
        },
        outputInvoice: {
            queryCode: '02.001.009',
            importCode: '02.001.010'
        },
        inputInvoice: {
            queryCode: '02.001.011',
            importCode: '02.001.012'
        },
        customInvoice: {
            queryCode: '02.001.013',
            importCode: '02.001.014'
        },
        voucherMapping: {
            queryCode: '02.001.015',
            importCode: '02.001.016'
        },
        invoiceMapping: {
            queryCode: '02.001.017',
            importCode: '02.001.018'
        },
        auditAdjust: {
            queryCode: '02.001.007',
            importCode: '02.001.008'
        },
    },
    dataPreview: {
        dataPreviewCode: '02.002',
        balanceSheet: {
            queryCode: '02.002.001'
        },
        accountVoucher: {
            queryCode: '02.002.002'
        },
        customInvoice: {
            queryCode: '02.002.006'
        },
        outputInvoice: {
            queryCode: '02.002.004'
        },
        inputInvoice: {
            queryCode: '02.002.003'
        },
        // todo 维护入数据库
        invoiceRecord: {
            queryCode: '02.002.007'
        },
        certifiedInvoicesList: {
            queryCode: '02.002.008'
        },
        redLetterInformationTable: {
            queryCode: '02.002.009'
        },
        coupaPurchasingReport: {
            queryCode: '02.002.010'
        },
        adjustmentTab: {
            queryCode: '02.002.011'
        },
        profitLoss: {
            queryCode: '02.002.013'
        },
        quarterlyOwnersEquityChangeTable: {
            queryCode: '02.002.014'
        },
        directMethodCashFlowStatement: {
            queryCode: '02.002.015'
        },
        trialBalance: {
            queryCode: '02.002.016'
        },
        offBalanceSheet: {
            queryCode: '02.002.017'
        },
        journal: {
            queryCode: '02.002.018'
        },
        cashFlow: {
            queryCode: '02.002.019'
        },
        invoiceData: {
            queryCode: '02.002.020'
        },
        profitLossPrcManual: {
            queryCode: '02.002.021'
        },
        cashFlowManual: {
            queryCode: '02.002.022'
        },
        offBalanceSheetPrcManual: {
            queryCode: '02.002.023'
        },
        profitTable: {
            queryCode: '02.002.024'
        }
    },
    dataManage: {
        dataManageCode: '02.003',
        accountMappingCode: '02.003.001',
        accountMapping: {
            queryCode: '02.003.001.001',
            importCode: '02.003.001.002'
        },
        goodsMappingCode: '02.003.002',
        goodsMapping: {
            queryCode: '02.003.002.001',
            saveCode: '02.003.002.002'
        },

        revenueDetailCode: '02.003.004',
        billDetailCode: '02.003.005',
        caculateDataCode: '02.003.003',

        unbilledInvoiceCode: '02.003.004',
    },
    reportView: {
        reportViewCode: '02.004',
        bsplCode: '02.004.001',
        bspl: {
            bsCode: '02.004.001.001',
            plCode: '02.004.001.002'
        },
        taxReturnCode: '02.004.002',
        taxReturn: {
            queryCode: '02.004.002.001',
            editCode: '02.004.002.002'
        },
    },
    dataAnalysis: {
        dataAnalysisCode: '02.005',
        modelAnalysisCode: '02.005.001',
        modelAnalysis: {
            queryCode: '02.005.001.001',
            filterCode: '02.005.001.005'
        },
        dashboard: {
            dashboardCode: '02.005.002',
            querySummaryDashboardCode: '02.005.002.001',
            singleOrgIndexDashboardCode: '02.005.002.002',
        }
    },

    outputInvoice: {

        importVehicelCase: {
            queryCode: '02.007.001.001',
            holdCaseCode: '02.007.001.002',
            reassignCaseCode: '02.007.001.003',
            triggerSyncCode: '02.007.001.004'
        },
        bdInvoice: {
            queryCode: '02.007.002.001',
            manualPrintBDInvoiceCode: '02.007.002.002',
            autoPrintBDInvoiceCode: '02.007.002.003',
            editVehicleCaseCode: '02.007.002.004',
            cancelAndReprintCode: '02.007.002.005',
            cancelInvoiceCode: '02.007.002.006'
        },
        gdInvoice: {
            queryCode: '02.007.003.001',
            printCode: '02.007.003.002',
            cancelAndReprintCode: '02.007.003.003',
            cancelInvoiceCode: '02.007.003.004',
            RedLetterCode: '02.007.003.005',
            fapiaoQuotaSettingsCode: '02.007.003.006',
            markupRateCode: '02.007.003.007'
        },
        gdShipment: {
            queryCode: '02.007.004.001',
            importCodeCode: '02.007.004.002'
        },
        reconciliationConfig: {
            queryCode: '02.007.005.001',
            addCode: '02.007.005.002',
            editCode: '02.007.005.003',
            deleteCode: '02.007.005.004',
            reSortCode: '02.007.005.005'
        },
        outputReconciliationOverview: {
            queryCode: '02.007.006.001'
        },
        mappingConfig: {
            queryCode: '02.007.007.001',
            editCode: '02.007.007.002',
        },
        taxControlDisk: {
            queryCode: '02.007.008.001',
            editCode: '02.007.008.002',
        }
    }
};

// cit权限code
constant.citPermission = {
    code: '03',
    dataImport: {
        dataImportCode: '03.001',
        balanceSheet: {
            queryCode: '03.001.001',
            // importCode: '03.001.002'
        },
        journalEntry: {
            queryCode: '03.001.003',
            // importCode: '03.001.004'
        },
        erpImport: {
            queryCode: '03.001.005',
            // importCode: '03.001.006'
        },
        auditAdjust: {
            queryCode: '03.001.007',
            // importCode: '03.001.008'
        },
        documentList: {
            queryCode: '03.001.009',
            // importCode: '03.001.010'
        },
        assetList: {
            queryCode: '03.001.011',
            importCode: '03.001.012'
        },
    },
    dataPreview: {
        dataPreviewCode: '03.002',
        balanceSheet: {
            queryCode: '03.002.001'
        },
        accountVoucher: {
            queryCode: '03.002.002'
        },
        journalMerge: {
            queryCode: '03.002.003'
        },
        bsGenerateVer: {
            queryCode: '03.002.004'
        },
        bsMappingVer: {
            queryCode: '03.002.005'
        },
        assetsList: {
            queryCode: '03.002.006'
        },
        salaryAdvance: {
            queryCode: '03.002.007'
        },
        eamDisposal: {
            queryCode: '03.002.008'
        },
    },
    dataManage: {
        dataManageCode: '03.003',
        accountMappingCode: '03.003.001',
        assetEamMapping: '03.003.002',
        distributionTable: '03.003.003',
        accountMapping: {
            queryCode: '03.003.001.001',
            importCode: '03.003.001.002'
        },
        caculateDataCode: '03.003.004',
    },
    reportView: {
        reportViewCode: '03.004',
        bsplCode: '03.004.001',
        bspl: {
            bsCode: '03.004.001.001',
            plCode: '03.004.001.002'
        },
        quarterlyFilingReturnTypeCode: '03.004.002',
        quarterlyFilingReturnType: {
            queryCode: '03.004.002.001',
            editCode: '03.004.002.002',
            submitCode: '03.004.002.003',
            reviewCode: '03.004.002.004',
        },
        workingPaperTypeCode: '03.004.003',
        workingPaperType: {
            queryCode: '03.004.003.001',
            editCode: '03.004.003.002',
            submitCode: '03.004.003.003',
            reviewCode: '03.004.003.004',
        },
        taxReturnCode: '03.004.004',
        taxReturn: {
            queryCode: '03.004.004.001',
            editCode: '03.004.004.002',
            submitCode: '03.004.004.003',
            reviewCode: '03.004.004.004',
            approveCode: '03.004.004.005',
            taxVoucherCode: '03.004.004.006',
        },
        otherReportCode: '03.004.005',
        otherReport: {
            queryCode: '03.004.005.001',
            editCode: '03.004.005.002',
            submitCode: '03.004.005.003',
            reviewCode: '03.004.005.004',
        },
    },
    // dataAnalysis: {
    //     dataAnalysisCode: '03.005',
    //     modelAnalysisCode: '03.005.001',
    //     modelAnalysis: {
    //         queryCode: '03.005.001.001',
    //         filterCode: '03.005.001.005'
    //     },
    //     dashboard: {
    //         dashboardCode: '03.005.002',
    //         querySummaryDashboardCode: '03.005.002.001',
    //         singleOrgIndexDashboardCode: '03.005.002.002',
    //     }
    // },
};

// 权限代码
constant.adminPermission = {

    WebAdmin: '01',

    basicData: {

        mainData: {
            queryCode: '01.001.012'
        },

        financialData: {
            queryCode: '01.001.013'
        },

        // 企业账套
        enterpriseAccountSet: {
            // 查看
            queryCode: '01.001.001',
            // 添加
            addCode: '01.001.002',
            // 维护
            editCode: '01.001.003'
        },

        // 事业部
        businessUnit: {
            queryCode: '01.001.008',
            editCode: '01.001.009'
        },

        // 区域
        areaManage: {
            queryCode: '01.001.010',
            editCode: '01.001.011'
        },
        // 机构层级
        orangizationStructure: {
            queryCode: '01.001.006',
            editCode: '01.001.007'
        },

        // 客户列表
        customerList: {
            queryCode: '01.001.004',
            editCode: '01.001.005'
        },

        // 自定义维度
        selfDimension: {
            queryCode: '01.001.012',
            editCode: '01.001.013'
        }
    },
    infrastructure: {
        //用户管理 
        userManage: {
            queryCode: '01.002.002.001',
            addCode: '01.002.002.002',
            editCode: '01.002.002.003'
        },
        //机构管理
        organizationManage: {
            queryCode: '01.002.001.001',
            addCode: '01.002.001.002',
            editCode: '01.002.001.003',
        },
        //角色管理
        roleManage: {
            queryCode: '01.002.003.001',
            addCode: '01.002.003.002',
            editCode: '01.002.003.003',
        },
        //自定义显示属性管理
        customAttribute: {
            queryCode: '01.002.001.004',
        },
        //维度上的用户权限设置
        accessSetting: {
            queryCode: '01.002.001.005',
            editCode: '01.002.001.006',
        },
        //工作流配置
        workflowManage: {
            queryCode: '01.002.004.001',
            addCode: '01.002.004.002',
            editCode: '01.002.004.003',
        },
    },
    systemConfiguration: {
        //报表配置
        declarationFormConfigurationCode: '01.003.002',
        declarationFormConfiguration: {
            queryCode: '01.003.002.001',
            addCode: '01.003.002.002',
            editCode: '01.003.002.003'
        },
        //分析模型配置
        modelConfiguration: {
            queryCode: '01.003.003.001',
            editCode: '01.003.003.002',
            maintainCustomCode: '01.003.003.003',
            maintainModelTreeCode: '01.003.003.004'
        },
        // 科目对应
        subjectCorresponding: {
            queryCode: '01.003.001.001',
            editCode: '01.003.001.002',
        },
        ruleEnginee: {
            viewRatePayer: '01.004.001.001',
            defaultRatePayerAction: '01.004.001.002',
            specialRatePayerAction: '01.004.001.003',
            //地方税
            LocalTax: '01.004.002',
            //地方税-城市建设
            viewCityBuilding: '01.004.002.001.001',
            defaultCityBuildingAction: '01.004.002.001.002',
            specialCityBuildingAction: '01.004.002.001.003',
            //地方教育
            viewLocalEducation: '01.004.002.002.001',
            defaultLocalEducationAction: '01.004.002.002.002',
            specialLocalEducationAction: '01.004.002.002.003',
            //教育费附加税 

            viewEducationAttach: '01.004.002.003.001',
            defaultEducationAttachAction: '01.004.002.003.002',
            specialEducationAttachAction: '01.004.002.003.003',
            //印花税
            viewStampTax: '01.004.002.004.001',
            defaultStampTaxAction: '01.004.002.004.002',
            specialStampTaxAction: '01.004.002.004.003',
            //水利基金
            viewWaterFund: '01.004.002.005.001',
            defaultWaterFundAction: '01.004.002.005.002',
            specialWaterFundAction: '01.004.002.005.003'
        },
        keyValueConfig: {
            viewKey: '01.003.004.001',
            keyAction: '01.003.004.002'
        }
    }
};

constant.batchImportPermisson = {
    batchImportPermissonCode: '04',
    ExtractDistribution: {
        code: '04.001',
        financialDataExtraction: {
            code: '04.001.001'

        },
        invoiceDataExtraction: {
            code: '04.001.002'
        }
    },

    ImportDistribution: {
        code: '04.002',

        vATInvoiceRecord: {code: '04.002.001'},
        certifiedInvoicesList: {code: '04.002.002'},
        redLetterVATSpecialInvoiceInfo: {code: '04.002.003'},
        invoiceInformation: {code: '04.002.004'},
        coupaInvoiceReport: {code: '04.002.005'},
        adjustmentTable: {code: '04.002.006'},
        balanceSheetPRC: {code: '04.002.007'},
        incomeStatementPRC: {code: '04.002.008'},
        cashFlowStatement: {code: '04.002.009'},
        cITAdjustmentJournal: {code: '04.002.010'},
        cITTrialBalance: {code: '04.002.011'},
        cITDocumentSubjectMappingTable: {code: '04.002.012'},
        cITBalanceSheetPRC: {code: '04.002.013'},
        cITProfitStatementPRC: {code: '04.002.014'},
        cITEAMAssetDisposalAmountRecord: {code: '04.002.015'},
        cITPreClassifiedDataSource: {code: '04.002.016'}
    },
    Configuration: {
        RevenueTypeConfiguration: {code: '04.003.001'},
        BillingRecordAndRevenueTypeMappingConfiguration: {code: '04.003.002'},
        InputRollOutConfiguration: {code: '04.003.003'}
    },

    log: {
        code: '05',
        dataImportRecord: {code: '04.004.001'},
        dataProcessingCheckRecord: {code: '04.004.002'}
    }
};

constant.analysisPermisson = {
    code: '05',
    Dashboard: {code: '05.001'},
    DataImport: {
        code: '05.002',
        DomesticDataImport: {code: '05.002.001'},
        InternationalDataImport: {code: '05.002.002'}
    },
    Form: {
        code: '05.003',
        TBEBITForm: {code: '05.003.001'}
    }
};

constant.menuRecordManagePermission = {
    code: '06'
};

constant.menuListApprovalPermission = {
    code: '07'
};


constant.citMenuList = [
    // constant.citPermission.dataImport.balanceSheet.queryCode,
    // constant.citPermission.dataImport.journalEntry.queryCode,
    // constant.citPermission.dataImport.erpImport.queryCode,
    // constant.citPermission.dataImport.auditAdjust.queryCode,
    // constant.citPermission.dataImport.documentList.queryCode,
    constant.citPermission.dataImport.assetList.queryCode,

    // constant.citPermission.dataPreview.balanceSheet.queryCode,
    // constant.citPermission.dataPreview.accountVoucher.queryCode,
    constant.citPermission.dataPreview.journalMerge.queryCode,
    constant.citPermission.dataPreview.bsGenerateVer.queryCode,
    constant.citPermission.dataPreview.bsMappingVer.queryCode,
    // constant.citPermission.dataPreview.assetsList.queryCode,
    constant.citPermission.dataPreview.salaryAdvance.queryCode,
    constant.citPermission.dataPreview.eamDisposal.queryCode,

    // constant.citPermission.dataManage.accountMappingCode,
    constant.citPermission.dataManage.caculateDataCode,
    constant.citPermission.dataManage.assetEamMapping,
    constant.citPermission.dataManage.distributionTable,


    constant.citPermission.reportView.bsplCode,
    // constant.citPermission.reportView.quarterlyFilingReturnTypeCode,
    // constant.citPermission.reportView.workingPaperTypeCode,
    // constant.citPermission.reportView.taxReturnCode,
    // constant.citPermission.reportView.otherReportCode,
    // constant.citPermission.dataAnalysis.modelAnalysisCode,
    // constant.citPermission.dataAnalysis.dashboard.dashboardCode,
];

constant.basicDataUrl = {
    orangizationStructureManage: '#/masterData/orangizationStructureManage',
    businessUnit: '#/masterData/businessUnit',
    regionManage: '#/masterData/regionManage',
    enterpriseAccountManage: '#/financialData/enterpriseAccountManage',
    customerListManage: '#/financialData/customerListManage',
};

/************************************************vat constant start*************************************************/
constant.inputInvoice = {
    //发票状态
    statusType: {
        InvoiceHasUpload: {id: 1, value: 'InvoiceHasUpload'},  //上传
        InvoiceHasAddRecord: {id: 2, value: 'InvoiceHasAddRecord'},//补录
        InvoiceUnrecognize: {id: 3, value: 'InvoiceUnrecognize'},  //无法识别
        InvoiceHasRefund: {id: 4, value: 'InvoiceHasRefund'}, //已退票
        InvoiceRecognizeSuccess: {id: 5, value: 'InvoiceRecognizeSuccess'},  //识别成功
        InvoiceVerifyFailure: {id: 6, value: 'InvoiceVerifyFailure'},  //验真失败
        InvoicePendingMatch: {id: 7, value: 'InvoicePendingMatch'},  //待匹配
        InvoiceHasMatch: {id: 8, value: 'InvoiceHasMatch'},
        InvoicePendingVerify: {id: 9, value: 'InvoicePendingVerify'},
        InvoiceHasVerify: {id: 10, value: 'InvoiceHasVerify'},
        InvoiceUnableVerify: {id: 11, value: 'InvoiceUnableVerify'},
        InvoiceManualVerify: {id: 12, value: 'InvoiceManualVerify'},
        InvoiceHasClean: {id: 13, value: 'InvoiceHasClean'},//已清理
        InvoiceHasExpired: {id: 14, value: 'InvoiceHasExpired'},  //已失效
        InvoiceRecognizeFailure: {id: 15, value: 'InvoiceRecognizeFailure'},  //识别失败
    },
    //发票类型,普票或专票
    invoiceType: {
        VatInvoiceSpecialTicket: {id: 1, value: 'VatInvoiceSpecialTicket'},
        VatInvoiceOrdinaryTicket: {id: 2, value: 'VatInvoiceOrdinaryTicket'},
    },
    //发票来源类型,原料采购,非原料集中采购,报销
    invoiceSourceType: {
        InvoiceRawMaterialPurchase: {id: 1, value: 'InvoiceRawMaterialPurchase'},
        InvoiceNonRawMaterialPurchase: {id: 2, value: 'InvoiceNonRawMaterialPurchase'},
        InvoiceClaim: {id: 3, value: 'InvoiceClaim'},
    },
    //发票实体类型,纸票或电子票
    invoiceEntityType: {
        InvoicePaperTicket: {id: 1, value: 'InvoicePaperTicket'},
        InvoiceElectronicTicket: {id: 2, value: 'InvoiceElectronicTicket'},
    },
    //发票上传方式,纸质文档,扫描枪,扫描仪
    invoiceUploadType: {
        InvoiceModePDF: {id: 1, value: 'InvoiceModePDF'},
        InvoiceModeScan: {id: 2, value: 'InvoiceModeScan'},
        InvoiceModeMobileDevice: {id: 3, value: 'InvoiceModeMobileDevice'},  //扫描抢
    },

    //上传文件的时候,上传的状态,成功,失败,和重复
    invoiceUploadStatus: {
        success: {id: 1, value: 'UploadSuccess'},
        failure: {id: 2, value: 'UploadFailure'},
        duplicate: {id: 3, value: 'UploadDuplicate'},
    }
}
constant.inputInvoice.invoiceSourceTypeArray = [constant.inputInvoice.invoiceSourceType.InvoiceRawMaterialPurchase,
    constant.inputInvoice.invoiceSourceType.InvoiceNonRawMaterialPurchase,
    constant.inputInvoice.invoiceSourceType.InvoiceClaim
];


constant.inputInvoiceImportBackEndErrorType = {
    DuplicateInputInvoice: 'DuplicateInputInvoice',
    InputInvoiceAlreadyPassed: 'InputInvoiceAlreadyPassed',
    LessThanDetailsTotal: 'LessThanDetailsTotal',
    NotHaveTotalInvoice: 'NotHaveTotalInvoice'
};

constant.errorLength = 600;

constant.errorMaxLine = 10;

constant.validateLength = {
    StringLength_50: 50,
    StringLength_100: 100,
    StringLength_256: 256,
    StringLength_500: 500,
    StringLength_200: 200
}

constant.effectiveTaxRate = ['17%', '13%', '11%', '6%', '5%', '3%', '1.5%', '0.17', '0.13', '0.11', '0.06', '0.05', '0.03', '0.015'];

constant.outputTaxRate = ['17%', '13%', '11%', '6%', '5%', '3%', '1.5%', '0%', '0.17', '0.13', '0.11', '0.06', '0.05', '0.03', '0.015', '0', '0.00'];

constant.AccountMappingProcessKey = {UnSelected: 'UnSelected', Submit: 'Submit', Undo: 'Undo'}

constant.pagesize = 50;

constant.vatPagesize = 50;

constant.ErpCheckType = {
    CustomInvoice_DuplicatePayNum: 20
}

constant.ProjectStatusEnum = {
    UnStarted: 10,
    Imported: 20,
    AccountMapSubmitted: 30,
    Generated: 40,
    ReportSubmitted: 50,
    ReportApproved: 60,
    ReportRejected: 70,
    Completed: 100
}

//对应TaxAdmin.Dictionary表中workflow相关的Task的Dickey
constant.DictionaryDictKey = {
    //节点:
    ApproveReport: 'ApproveReport', //报表审核
    DataImport: 'DataImport', //数据导入
    DeclarationComplete: 'DeclarationComplete', //申报完成
    DataProcess: 'DataProcess', //数据处理
    ViewReport: 'ViewReport',//查看报表

    //数据导入Task:
    WFImportErpData: 'WFImportErpData',
    WFImportBalanceTable: 'WFImportBalanceTable',
    WFImportJournalEntry: 'WFImportJournalEntry',
    WFImportOutputInvoice: 'WFImportOutputInvoice',
    WFImportIncomeInvoice: 'WFImportIncomeInvoice',
    WFImportCustomInvoice: 'WFImportCustomInvoice',
    WFImportVoucherMap: 'WFImportVoucherMap',
    WFImportInvoiceMap: 'WFImportInvoiceMap',
    WFImportAuditAdjust: 'WFImportAuditAdjust',

    //数据整理Task
    WFAccountMap: 'WFAccountMap',
    WFCargoNameMatch: 'WFCargoNameMatch', //货物名称匹配
    WFDataProcess: 'WFDataProcess', //数据处理
    WFUnBilledInvoice: 'WFUnBilledInvoice', //未开票销售

    //查看报表Task:
    WFViewFinancialReport: 'WFViewFinancialReport', //查看财务报表
    WFSubmitReport: 'WFSubmitReport', //提交审核

    //报表审核Task:
    WFReportApproval: 'WFReportApproval',//审核报表
    //WFApproveReport: 'WFApproveReport', //报表审核

    //完成申报Task:
    WFDeclarationComplete: 'WFDeclarationComplete', //完成申报
    WFUploadCertificate: 'WFUploadCertificate',//上传凭证
}

//task一旦启用,必须为选中Mandatory
constant.DictionaryDictKey.WFMandatoryTask = [constant.DictionaryDictKey.WFSubmitReport,
    constant.DictionaryDictKey.WFReportApproval, constant.DictionaryDictKey.WFDeclarationComplete];

//task不能选择mandatory
constant.DictionaryDictKey.WFNoSelectionTask = [constant.DictionaryDictKey.WFCargoNameMatch];


constant.inValidNum = -1;

constant.ReMapMaxLength = {
    MaxStdCodeLength: 20,
    MaxTextLength: 20,
    MaxRemarkLength: 50
}

constant.ValidationMessag = {
    ValidationExisted: "validation existed",
    ReValidate: "revalidate"
}

constant.WorkflowMessage = {
    Issue: "异常事项:",
    CalDateTime: "计算时间:",
    MessageDetail: "异常详情:",
    ExceptionIssueValue: "数据处理"
}

constant.WholeYearPeriod = -1;

constant.DataProccessStatus = {
    Unstarted: "unstarted", //未生成
    Processing: "processing", //处理中
    Completed: "completed",//已生成
    ToUpdate: "toUpdate",//需更新
    NoData: "noData",//无数据
    Error: "error"//错误

}


/************************************************vat constant end*************************************************/

/********key value*****************/
constant.keyValueType = [
    {value: 1, name: '系统公共'},
    {value: 2, name: '自定义'}
];

constant.geoCoordMap = {
    '海门': [121.15, 31.89],
    '鄂尔多斯': [109.781327, 39.608266],
    '招远': [120.38, 37.35],
    '舟山': [122.207216, 29.985295],
    '齐齐哈尔': [123.97, 47.33],
    '盐城': [120.13, 33.38],
    '赤峰': [118.87, 42.28],
    '青岛': [120.33, 36.07],
    '乳山': [121.52, 36.89],
    '金昌': [102.188043, 38.520089],
    '泉州': [118.58, 24.93],
    '莱西': [120.53, 36.86],
    '日照': [119.46, 35.42],
    '胶南': [119.97, 35.88],
    '南通': [121.05, 32.08],
    '拉萨': [91.11, 29.97],
    '云浮': [112.02, 22.93],
    '梅州': [116.1, 24.55],
    '文登': [122.05, 37.2],
    '上海': [121.48, 31.22],
    '攀枝花': [101.718637, 26.582347],
    '威海': [122.1, 37.5],
    '承德': [117.93, 40.97],
    '厦门': [118.1, 24.46],
    '汕尾': [115.375279, 22.786211],
    '潮州': [116.63, 23.68],
    '丹东': [124.37, 40.13],
    '太仓': [121.1, 31.45],
    '曲靖': [103.79, 25.51],
    '烟台': [121.39, 37.52],
    '福州': [119.3, 26.08],
    '瓦房店': [121.979603, 39.627114],
    '即墨': [120.45, 36.38],
    '抚顺': [123.97, 41.97],
    '玉溪': [102.52, 24.35],
    '张家口': [114.87, 40.82],
    '阳泉': [113.57, 37.85],
    '莱州': [119.942327, 37.177017],
    '湖州': [120.1, 30.86],
    '汕头': [116.69, 23.39],
    '昆山': [120.95, 31.39],
    '宁波': [121.56, 29.86],
    '湛江': [110.359377, 21.270708],
    '揭阳': [116.35, 23.55],
    '荣成': [122.41, 37.16],
    '连云港': [119.16, 34.59],
    '葫芦岛': [120.836932, 40.711052],
    '常熟': [120.74, 31.64],
    '东莞': [113.75, 23.04],
    '河源': [114.68, 23.73],
    '淮安': [119.15, 33.5],
    '泰州': [119.9, 32.49],
    '南宁': [108.33, 22.84],
    '营口': [122.18, 40.65],
    '惠州': [114.4, 23.09],
    '江阴': [120.26, 31.91],
    '蓬莱': [120.75, 37.8],
    '韶关': [113.62, 24.84],
    '嘉峪关': [98.289152, 39.77313],
    '广州': [113.23, 23.16],
    '延安': [109.47, 36.6],
    '太原': [112.53, 37.87],
    '清远': [113.01, 23.7],
    '中山': [113.38, 22.52],
    '昆明': [102.73, 25.04],
    '寿光': [118.73, 36.86],
    '盘锦': [122.070714, 41.119997],
    '长治': [113.08, 36.18],
    '深圳': [114.07, 22.62],
    '珠海': [113.52, 22.3],
    '宿迁': [118.3, 33.96],
    '咸阳': [108.72, 34.36],
    '铜川': [109.11, 35.09],
    '平度': [119.97, 36.77],
    '佛山': [113.11, 23.05],
    '海口': [110.35, 20.02],
    '江门': [113.06, 22.61],
    '章丘': [117.53, 36.72],
    '肇庆': [112.44, 23.05],
    '大连': [121.62, 38.92],
    '临汾': [111.5, 36.08],
    '吴江': [120.63, 31.16],
    '石嘴山': [106.39, 39.04],
    '沈阳': [123.38, 41.8],
    '苏州': [120.62, 31.32],
    '茂名': [110.88, 21.68],
    '嘉兴': [120.76, 30.77],
    '长春': [125.35, 43.88],
    '胶州': [120.03336, 36.264622],
    '银川': [106.27, 38.47],
    '张家港': [120.555821, 31.875428],
    '三门峡': [111.19, 34.76],
    '锦州': [121.15, 41.13],
    '南昌': [115.89, 28.68],
    '柳州': [109.4, 24.33],
    '三亚': [109.511909, 18.252847],
    '自贡': [104.778442, 29.33903],
    '吉林': [126.57, 43.87],
    '阳江': [111.95, 21.85],
    '泸州': [105.39, 28.91],
    '西宁': [101.74, 36.56],
    '宜宾': [104.56, 29.77],
    '呼和浩特': [111.65, 40.82],
    '成都': [104.06, 30.67],
    '大同': [113.3, 40.12],
    '镇江': [119.44, 32.2],
    '桂林': [110.28, 25.29],
    '张家界': [110.479191, 29.117096],
    '宜兴': [119.82, 31.36],
    '北海': [109.12, 21.49],
    '西安': [108.95, 34.27],
    '金坛': [119.56, 31.74],
    '东营': [118.49, 37.46],
    '牡丹江': [129.58, 44.6],
    '遵义': [106.9, 27.7],
    '绍兴': [120.58, 30.01],
    '扬州': [119.42, 32.39],
    '常州': [119.95, 31.79],
    '潍坊': [119.1, 36.62],
    '重庆': [106.54, 29.59],
    '台州': [121.420757, 28.656386],
    '南京': [118.78, 32.04],
    '滨州': [118.03, 37.36],
    '贵阳': [106.71, 26.57],
    '无锡': [120.29, 31.59],
    '本溪': [123.73, 41.3],
    '克拉玛依': [84.77, 45.59],
    '渭南': [109.5, 34.52],
    '马鞍山': [118.48, 31.56],
    '宝鸡': [107.15, 34.38],
    '焦作': [113.21, 35.24],
    '句容': [119.16, 31.95],
    '北京': [116.46, 39.92],
    '徐州': [117.2, 34.26],
    '衡水': [115.72, 37.72],
    '包头': [110, 40.58],
    '绵阳': [104.73, 31.48],
    '乌鲁木齐': [87.68, 43.77],
    '枣庄': [117.57, 34.86],
    '杭州': [120.19, 30.26],
    '淄博': [118.05, 36.78],
    '鞍山': [122.85, 41.12],
    '溧阳': [119.48, 31.43],
    '库尔勒': [86.06, 41.68],
    '安阳': [114.35, 36.1],
    '开封': [114.35, 34.79],
    '济南': [117, 36.65],
    '德阳': [104.37, 31.13],
    '温州': [120.65, 28.01],
    '九江': [115.97, 29.71],
    '邯郸': [114.47, 36.6],
    '临安': [119.72, 30.23],
    '兰州': [103.73, 36.03],
    '沧州': [116.83, 38.33],
    '临沂': [118.35, 35.05],
    '南充': [106.110698, 30.837793],
    '天津': [117.2, 39.13],
    '富阳': [119.95, 30.07],
    '泰安': [117.13, 36.18],
    '诸暨': [120.23, 29.71],
    '郑州': [113.65, 34.76],
    '哈尔滨': [126.63, 45.75],
    '聊城': [115.97, 36.45],
    '芜湖': [118.38, 31.33],
    '唐山': [118.02, 39.63],
    '平顶山': [113.29, 33.75],
    '邢台': [114.48, 37.05],
    '德州': [116.29, 37.45],
    '济宁': [116.59, 35.38],
    '荆州': [112.239741, 30.335165],
    '宜昌': [111.3, 30.7],
    '义乌': [120.06, 29.32],
    '丽水': [119.92, 28.45],
    '洛阳': [112.44, 34.7],
    '秦皇岛': [119.57, 39.95],
    '株洲': [113.16, 27.83],
    '石家庄': [114.48, 38.03],
    '莱芜': [117.67, 36.19],
    '常德': [111.69, 29.05],
    '保定': [115.48, 38.85],
    '湘潭': [112.91, 27.87],
    '金华': [119.64, 29.12],
    '岳阳': [113.09, 29.37],
    '长沙': [113, 28.21],
    '衢州': [118.88, 28.97],
    '廊坊': [116.7, 39.53],
    '菏泽': [115.480656, 35.23375],
    '合肥': [117.27, 31.86],
    '武汉': [114.31, 30.52],
    '大庆': [125.03, 46.58],
    '香港特别行政区': [113.95, 22.26]
};

constant.colorArray = ['#a32020', '#eb8c00', '#db536a', '#dc6900', '#e0301e', '#602320', '#3f3f40', '#968c6d'];


/************************************************cit constant start*************************************************/
constant.yearPeriod = -1;
constant.pageSize = 100;
constant.allDataPageSize = 0;
constant.periodInforConst = {
    NoRecord: -10, //没有记录
};

constant.OutputInvoiceCancalDialog = "cancelGDModal.html";
constant.CaseImportedStatusEnum = {
    Normal: 1,
    Opccupied: 2,
    Duplicated: 3,
    Prohibit: 4,
    Holded: 5
};

constant.TagRule = {

    Unknown: 0,

    // 自动
    Auto: 1,

    // 顺序计算
    Aggregation: 2,

    // 手动
    Manual: 3,
};

constant.purchaserSeller = {
    "N": 0,
    "Y": 1,
    "N/A": 2
};
constant.specialText = {
    "NULL": 0,
    "Other": 1,
    "N/A": 2
};

constant.teslaConfirmClassName = 'tesla-confirm';
constant.splitValidation = "<#@@#>";
//身份证省份
constant.vcity = {
    11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古",
    21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏",
    33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南",
    42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆",
    51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃",
    63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外"
};


constant.taxControlStatus = {
    0: 'InActive',
    1: 'Active',
    null: ''
};

constant.TaxControlDiskType = {
    1: 'BaiWang',
    2: 'HangXing',
    null: ''
};

constant.CarType = ['纯电动轿车', '纯电动乘用车'];

constant.CertificateTypeList = [
    {code: 0, type: "营业执照"},
    {code: 1, type: "税务登记证"},
    {code: 2, type: "组织机构代码证"},
    {code: 3, type: "身份证"},
    {code: 4, type: "护照"},
    {code: 5, type: "其他"}
];

constant.EquityCurrency = [
    {code: 0, type: "人民币"},
    {code: 1, type: "美元"}
];

constant.GroupTypeList = [
    {code: 0, type: "增值税"},
    {code: 1, type: "企业所得税"},
    {code: 2, type: "印花税"},
    {code: 3, type: "城建税"},
    {code: 4, type: "教育费附加"},
    {code: 5, type: "地方教育费附加"},
    {code: 6, type: "个人所得税"},
    {code: 7, type: "水利建设基金"},
    {code: 8, type: "文化事业建设费"},
    {code: 9, type: "房产税"},
    {code: 10, type: "城建土地使用税"},
    {code: 11, type: "工会经费"},
    {code: 12, type: "残疾人就业保障基金"},
    {code: 13, type: "代扣代缴税费"},
    {code: 14, type: "国际税"}
];

constant.InvoiceTypeList = [
    {code: 0, type: "增值税专用发票"},
    {code: 1, type: "增值税普通发票"},
    {code: 2, type: "机动车销售统一发票"},
    {code: 3, type: "其他票种"}
];

constant.InvoiceUnitList = [
    {code: 0, type: "份"},
    {code: 1, type: "本"},
    {code: 2, type: "其他"}
];

constant.TaxDecCycleList = [
    {code: 0, type: "月度"},
    {code: 1, type: "季度"},
    {code: 2, type: "年度"}
];

constant.ApprovedLevyTermList = [
    {code: 0, type: "次"},
    {code: 1, type: "月"},
    {code: 2, type: "季"},
    {code: 3, type: "半年"},
    {code: 4, type: "年"}
];

constant.TaxpayerQualificationTypeList = [
    {code: 0, type: "一般纳税人"},
    {code: 1, type: "小规模纳税人"}
];

constant.RegStatusList = [
    {code: 0, type: "存续"},
    {code: 1, type: "注销中"},
    {code: 2, type: "已注销"}
];

constant.ArchitectureTypeList = ["DE", "WFOE", "VIE", "JV", "有限合伙", "Branch", "其他"];

constant.trueFalse = [
    {code: false, type: "否"},
    {code: true, type: "是"}
];
constant.TaxReturnBusinessTypeList = [
    {code: 100, type: "非跨地区经营企业"},
    {code: 210, type: "跨地区经营企业总机构 总机构(跨省)"},
    {code: 220, type: "总机构(跨省)——不适用《跨地区经营汇总纳税企业所得税征收管理办法》"},
    // {code: 230, type: "undefine"},
    {code: 311, type: "跨地区经营企业分支机构 需进行完整年度纳税申报 分支机构(须进行完整年度申报并按比例纳税)"},
    {code: 312, type: "分支机构(须进行完整年度申报但不就地缴纳)"}
];

constant.RegFinancialAccountingTypeList = [
    {code: false, type: "非独立核算"},
    {code: true, type: "独立核算"}
];

constant.ApplicableAccountingRuleList = [
    {code: 0, type: "企业会计制度"},
    {code: 1, type: "金融企业会计制度"},
    {code: 2, type: "小企业会计制度"},
    {code: 3, type: "企业会计准则"}
];

constant.AccountingSoftwareList = [
    {code: 0, type: "Oracle"},
    {code: 1, type: "SAP"},
    {code: 2, type: "其他"}
];

constant.LowValueConsumablesAmortizationMethodList = [
    {code: 0, type: "一次摊销法"},
    {code: 1, type: "分期摊销法"},
    {code: 2, type: "五五摊销法"}
];

constant.TaxCreditRatingList = [
    {code: 0, type: "A"},
    {code: 1, type: "B"},
    {code: 2, type: "C"},
    {code: 3, type: "D"},
    {code: 4, type: "M"}
];

constant.DepreciationMethodList = [
    {code: 0, type: "年限平均法(直线法)"},
    {code: 1, type: "工作量法"},
    {code: 2, type: "年数总和法"},
    {code: 3, type: "双倍余额递减法"}
];

constant.importFileType = {
    undefined: 0,
    profitLoss: 1,
    balanceSheet: 2,
    redLetterInfoTable: 3,
    adjustmentTable: 4,
    cashFlow: 5,
    coupaPurchasingReport: 6,
    invoiceData: 7,
    certifiedInvoicesList: 8,
    invoiceRecord: 9,
    ExtractFinancialData: 10,
    ExtractInvoiceData: 11,
    RevenueMapping: 12,
    RevenueConfig: 13
};

constant.citImportFileType = {
    undefined: 0,
    JournalAdjust: 1,
    TrialBalance: 2,
    DraftAccountMapping: 3,
    BalanceSheetPrcAdjust: 4,
    ProfitPrcAdjust: 5,
    EAMAssetsDisposal: 6,
    SalaryAdvance: 7
};

constant.fileTypeList = [
    {code: 100, type: "月度科目余额表"},
    {code: 101, type: "日记账"},
    {code: 102, type: "资产负债表PRC"},
    {code: 103, type: "利润表PRC"},
    {code: 104, type: "资产负债表"},
    {code: 105, type: "利润表"},
    {code: 106, type: "直接法现金流量表"},
    // {code: 107, type: "所有者权益变动表"},  //todo 暂未开放
    {code: 108, type: "汇率表"}
];

constant.domesticDataList = [
    {code: 0, type: "EachTaxAmount"},
    {code: 1, type: "ActualReturnTax"},
    {code: 2, type: "GMVSubsidy"},
    {code: 3, type: "EmployeeNum"},
    {code: 4, type: "DriverNum"}
];

constant.internationalDataList = [
    {code: 100, type: "BUData"},
    {code: 101, type: "TaxData"}
];

constant.NationalEconomicIndustryList = [
    {code: "A", type: "农、林、牧、渔业"},
    {code: "B", type: "采矿业"},
    {code: "C", type: "制造业"},
    {code: "D", type: "电力、热力、燃气及水生产和供应业"},
    {code: "E", type: "建筑业"},
    {code: "F", type: "批发和零售业"},
    {code: "G", type: "交通运输、仓储和邮政业"},
    {code: "H", type: "住宿和餐饮业"},
    {code: "I", type: "信息传输、软件和信息技术服务业"},
    {code: "J", type: "金融业"},
    {code: "K", type: "房地产业"},
    {code: "L", type: "租赁和商务服务业"},
    {code: "M", type: "科学研究和技术服务业"},
    {code: "N", type: "水利、环境和公共设施管理业"},
    {code: "O", type: "居民服务、修理和其他服务业"},
    {code: "P", type: "教育"},
    {code: "Q", type: "卫生和社会工作"},
    {code: "R", type: "文化、体育和娱乐业"},
    {code: "S", type: "公共管理、社会保障和社会组织"},
    {code: "T", type: "国际组织"}
];

constant.maxButtonTitleLength = 20;

constant.exportExcelFileName = {
    invoicesRecord: "invoices_record_",
    certifiedInvoicesList: "certified_invoices_list_",
    redLetterInfoTab: "red_letter_info_tab_",
    coupaPurchasingReport: "coupa_purchasing_report_",
    invoiceData: "invoice_data_"
};

constant.anlTemplateNameList = [
    {code: 0, name: "各税种税额"},
    {code: 1, name: "实际返还税额"},
    {code: 2, name: "业务线"},
    {code: 3, name: "职工人数"},
    {code: 4, name: "司机人数"},
    {code: 100, name: "国际税业务数据"},
    {code: 101, name: "国际税税务数据"}
];

constant.anlDownLoadFileNameList = [
    {code: 0, name: "各税种税额_"},
    {code: 1, name: "实际返还税额_"},
    {code: 2, name: "業務線_"},
    {code: 3, name: "职工人数_"},
    {code: 4, name: "司機人數_"},
    {code: 100, name: "国际税业务数据_"},
    {code: 101, name: "国际税税务数据_"}
];

constant.countryCNList = ['安哥拉', '阿富汗', '阿尔巴尼亚', '阿尔及利亚', '安道尔共和国', '安圭拉岛', '安提瓜和巴布达', '阿根廷', '亚美尼亚', '阿森松', '澳大利亚', '奥地利', '阿塞拜疆', '巴哈马', '巴林', '孟加拉国', '巴巴多斯', '白俄罗斯', '比利时', '伯利兹', '贝宁', '百慕大群岛', '玻利维亚', '博茨瓦纳', '巴西', '文莱', '保加利亚', '布基纳法索', '缅甸', '布隆迪', '喀麦隆', '加拿大', '开曼群岛', '中非共和国', '乍得', '智利', '中国', '哥伦比亚', '刚果', '库克群岛', '哥斯达黎加', '古巴', '塞浦路斯', '捷克', '丹麦', '吉布提', '多米尼加共和国', '厄瓜多尔', '埃及', '萨尔瓦多', '爱沙尼亚', '埃塞俄比亚', '斐济', '芬兰', '法国', '法属圭亚那', '法属玻利尼西亚', '加蓬', '冈比亚', '格鲁吉亚', '德国', '加纳', '直布罗陀', '希腊', '格林纳达', '关岛', '危地马拉', '几内亚', '圭亚那', '海地', '洪都拉斯', '香港', '匈牙利', '冰岛', '印度', '印度尼西亚', '伊朗', '伊拉克', '爱尔兰', '以色列', '意大利', '科特迪瓦', '牙买加', '日本', '约旦', '柬埔寨', '哈萨克斯坦', '肯尼亚', '韩国', '科威特', '吉尔吉斯坦', '老挝', '拉脱维亚', '黎巴嫩', '莱索托', '利比里亚', '利比亚', '列支敦士登', '立陶宛', '卢森堡', '澳门', '马达加斯加', '马拉维', '马来西亚', '马尔代夫', '马里', '马耳他', '马里亚那群岛', '马提尼克', '毛里求斯', '墨西哥', '摩尔多瓦', '摩纳哥', '蒙古', '蒙特塞拉特岛', '摩洛哥', '莫桑比克', '纳米比亚', '瑙鲁', '尼泊尔', '荷属安的列斯', '荷兰', '新西兰', '尼加拉瓜', '尼日尔', '尼日利亚', '朝鲜', '挪威', '阿曼', '巴基斯坦', '巴拿马', '巴布亚新几内亚', '巴拉圭', '秘鲁', '菲律宾', '波兰', '葡萄牙', '波多黎各', '卡塔尔', '留尼旺', '罗马尼亚', '俄罗斯', '圣卢西亚', '圣文森特岛', '东萨摩亚(美)', '西萨摩亚', '圣马力诺', '圣多美和普林西比', '沙特阿拉伯', '塞内加尔', '塞舌尔', '塞拉利昂', '新加坡', '斯洛伐克', '斯洛文尼亚', '所罗门群岛', '索马里', '南非', '西班牙', '斯里兰卡', '圣文森特', '苏丹', '苏里南', '斯威士兰', '瑞典', '瑞士', '叙利亚', '台湾省', '塔吉克斯坦', '坦桑尼亚', '泰国', '多哥', '汤加', '特立尼达和多巴哥', '突尼斯', '土耳其', '土库曼斯坦', '乌干达', '乌克兰', '阿拉伯联合酋长国', '英国', '美国', '乌拉圭', '乌兹别克斯坦', '委内瑞拉', '越南', '也门', '南斯拉夫', '津巴布韦', '扎伊尔', '赞比亚'];
constant.countryCNNAMEList = [{'name': '安哥拉'}, {'name': '阿富汗'}, {'name': '阿尔巴尼亚'}, {'name': '阿尔及利亚'}, {'name': '安道尔共和国'}, {'name': '安圭拉岛'}, {'name': '安提瓜和巴布达'}, {'name': '阿根廷'}, {'name': '亚美尼亚'}, {'name': '阿森松'}, {'name': '澳大利亚'}, {'name': '奥地利'}, {'name': '阿塞拜疆'}, {'name': '巴哈马'}, {'name': '巴林'}, {'name': '孟加拉国'}, {'name': '巴巴多斯'}, {'name': '白俄罗斯'}, {'name': '比利时'}, {'name': '伯利兹'}, {'name': '贝宁'}, {'name': '百慕大群岛'}, {'name': '玻利维亚'}, {'name': '博茨瓦纳'}, {'name': '巴西'}, {'name': '文莱'}, {'name': '保加利亚'}, {'name': '布基纳法索'}, {'name': '缅甸'}, {'name': '布隆迪'}, {'name': '喀麦隆'}, {'name': '加拿大'}, {'name': '开曼群岛'}, {'name': '中非共和国'}, {'name': '乍得'}, {'name': '智利'}, {'name': '中国'}, {'name': '哥伦比亚'}, {'name': '刚果'}, {'name': '库克群岛'}, {'name': '哥斯达黎加'}, {'name': '古巴'}, {'name': '塞浦路斯'}, {'name': '捷克'}, {'name': '丹麦'}, {'name': '吉布提'}, {'name': '多米尼加共和国'}, {'name': '厄瓜多尔'}, {'name': '埃及'}, {'name': '萨尔瓦多'}, {'name': '爱沙尼亚'}, {'name': '埃塞俄比亚'}, {'name': '斐济'}, {'name': '芬兰'}, {'name': '法国'}, {'name': '法属圭亚那'}, {'name': '法属玻利尼西亚'}, {'name': '加蓬'}, {'name': '冈比亚'}, {'name': '格鲁吉亚'}, {'name': '德国'}, {'name': '加纳'}, {'name': '直布罗陀'}, {'name': '希腊'}, {'name': '格林纳达'}, {'name': '关岛'}, {'name': '危地马拉'}, {'name': '几内亚'}, {'name': '圭亚那'}, {'name': '海地'}, {'name': '洪都拉斯'}, {'name': '香港'}, {'name': '匈牙利'}, {'name': '冰岛'}, {'name': '印度'}, {'name': '印度尼西亚'}, {'name': '伊朗'}, {'name': '伊拉克'}, {'name': '爱尔兰'}, {'name': '以色列'}, {'name': '意大利'}, {'name': '科特迪瓦'}, {'name': '牙买加'}, {'name': '日本'}, {'name': '约旦'}, {'name': '柬埔寨'}, {'name': '哈萨克斯坦'}, {'name': '肯尼亚'}, {'name': '韩国'}, {'name': '科威特'}, {'name': '吉尔吉斯坦'}, {'name': '老挝'}, {'name': '拉脱维亚'}, {'name': '黎巴嫩'}, {'name': '莱索托'}, {'name': '利比里亚'}, {'name': '利比亚'}, {'name': '列支敦士登'}, {'name': '立陶宛'}, {'name': '卢森堡'}, {'name': '澳门'}, {'name': '马达加斯加'}, {'name': '马拉维'}, {'name': '马来西亚'}, {'name': '马尔代夫'}, {'name': '马里'}, {'name': '马耳他'}, {'name': '马里亚那群岛'}, {'name': '马提尼克'}, {'name': '毛里求斯'}, {'name': '墨西哥'}, {'name': '摩尔多瓦'}, {'name': '摩纳哥'}, {'name': '蒙古'}, {'name': '蒙特塞拉特岛'}, {'name': '摩洛哥'}, {'name': '莫桑比克'}, {'name': '纳米比亚'}, {'name': '瑙鲁'}, {'name': '尼泊尔'}, {'name': '荷属安的列斯'}, {'name': '荷兰'}, {'name': '新西兰'}, {'name': '尼加拉瓜'}, {'name': '尼日尔'}, {'name': '尼日利亚'}, {'name': '朝鲜'}, {'name': '挪威'}, {'name': '阿曼'}, {'name': '巴基斯坦'}, {'name': '巴拿马'}, {'name': '巴布亚新几内亚'}, {'name': '巴拉圭'}, {'name': '秘鲁'}, {'name': '菲律宾'}, {'name': '波兰'}, {'name': '葡萄牙'}, {'name': '波多黎各'}, {'name': '卡塔尔'}, {'name': '留尼旺'}, {'name': '罗马尼亚'}, {'name': '俄罗斯'}, {'name': '圣卢西亚'}, {'name': '圣文森特岛'}, {'name': '东萨摩亚(美)'}, {'name': '西萨摩亚'}, {'name': '圣马力诺'}, {'name': '圣多美和普林西比'}, {'name': '沙特阿拉伯'}, {'name': '塞内加尔'}, {'name': '塞舌尔'}, {'name': '塞拉利昂'}, {'name': '新加坡'}, {'name': '斯洛伐克'}, {'name': '斯洛文尼亚'}, {'name': '所罗门群岛'}, {'name': '索马里'}, {'name': '南非'}, {'name': '西班牙'}, {'name': '斯里兰卡'}, {'name': '圣文森特'}, {'name': '苏丹'}, {'name': '苏里南'}, {'name': '斯威士兰'}, {'name': '瑞典'}, {'name': '瑞士'}, {'name': '叙利亚'}, {'name': '台湾省'}, {'name': '塔吉克斯坦'}, {'name': '坦桑尼亚'}, {'name': '泰国'}, {'name': '多哥'}, {'name': '汤加'}, {'name': '特立尼达和多巴哥'}, {'name': '突尼斯'}, {'name': '土耳其'}, {'name': '土库曼斯坦'}, {'name': '乌干达'}, {'name': '乌克兰'}, {'name': '阿拉伯联合酋长国'}, {'name': '英国'}, {'name': '美国'}, {'name': '乌拉圭'}, {'name': '乌兹别克斯坦'}, {'name': '委内瑞拉'}, {'name': '越南'}, {'name': '也门'}, {'name': '南斯拉夫'}, {'name': '津巴布韦'}, {'name': '扎伊尔'}, {'name': '赞比亚'}];
constant.countryENList = ['Angola', 'Afghanistan', 'Albania', 'Algeria', 'Andorra', 'Anguilla', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Ascension', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda Is', 'Bolivia', 'Botswana', 'Brazil', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burma', 'Burundi', 'Cameroon', 'Canada', 'Cayman Is', 'Central African Republic', 'Chad', 'Chile', 'China', 'Colombia', 'Congo', 'Cook Is', 'Costa Rica', 'Cuba', 'Cyprus', 'Czech Republic', 'Denmark', 'Djibouti', 'Dominica Rep', 'Ecuador', 'Egypt', 'EI Salvador', 'Estonia', 'Ethiopia', 'Fiji', 'Finland', 'France', 'French Guiana', 'French Polynesia', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Greece', 'Grenada', 'Guam', 'Guatemala', 'Guinea', 'Guyana', 'Haiti', 'Honduras', 'Hongkong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Israel', 'Italy', 'Ivory Coast', 'Jamaica', 'Japan', 'Jordan', 'Kampuchea (Cambodia )', 'Kazakstan', 'Kenya', 'Korea', 'Kuwait', 'Kyrgyzstan', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macao', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Mariana Is', 'Martinique', 'Mauritius', 'Mexico', 'Moldova', 'Monaco', 'Mongolia', 'Montserrat Is', 'Morocco', 'Mozambique', 'Namibia', 'Nauru', 'Nepal', 'Netheriands Antilles', 'Netherlands', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'North Korea', 'Norway', 'Oman', 'Pakistan', 'Panama', 'Papua New Cuinea', 'Paraguay', 'Peru', 'Philippines', 'Poland', 'Portugal', 'Puerto Rico', 'Qatar', 'Reunion', 'Romania', 'Russia', 'Saint Lueia', 'Saint Vincent', 'Samoa Eastern', 'Samoa Western', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', 'Slovenia', 'Solomon Is', 'Somali', 'South Africa', 'Spain', 'SriLanka', 'St.Lucia', 'St.Vincent', 'Sudan', 'Suriname', 'Swaziland', 'Sweden', 'Switzerland', 'Syria', 'Taiwan', 'Tajikstan', 'Tanzania', 'Thailand', 'Togo', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kiongdom', 'United States of America', 'Uruguay', 'Uzbekistan', 'Venezuela', 'Vietnam', 'Yemen', 'Yugoslavia', 'Zimbabwe', 'Zaire', 'Zambia'];


/************************************************cit constant end*************************************************/