declare namespace API {
  interface BaseInfo {
    lastUpdateTime?: string
    mongoId: string
    keyNo: string
    entName: string
    entCode: string
    operName: string
    status: string
    startDate: string
    registCapi: string
    realCapi: string
    orgNo: string
    bizNo: string
    taxNo: string
    econKind: string
    termStart: string
    termEnd: string
    taxpayerType: string
    personScope: string
    insuredCount: string
    checkDate: string
    areaCode: string
    belongOrg: string
    imExCode: string
    englishName: string
    address: string
    annualAddress: string
    scope: string
    entType: string
    logo: string
    isSmall: string
    scale: string
    isOfficialEnglish: string
  }
  interface TaxCreditRating {
    taxNo: string
    year: string
    level: string
    org: string
  }
  interface TaxCreditRatingInfo {
    mongoId: string
    taxCreditRatings: TaxCreditRating[]
    lastUpdateTime?: string
  }
  interface MoreEmailList {
    email: string
    source: string
  }
  interface MoreTelList {
    tel: string
    source: string
  }
  interface ContactInfo {
    webSiteList: string[]
    email: string
    moreEmailList: MoreEmailList[]
    tel: string
    moreTelList: MoreTelList[]
    mongoId: string
    lastUpdateTime: string
  }
  interface PubEmployee {
    name: string
    job: string
  }

  interface pubEmployeeInfo {
    pubEmployees: PubEmployee[]
    mongoId: string
    lastUpdateTime: string
  }
  interface PubPartner {
    stockName: string
    stockPercent: string
    holdType: string
    amount: string
    creditCode: string
    area: string
  }
  interface PubPartnerInfo {
    pubPartners: PubPartner[]
    mongoId: string
    lastUpdateTime: string
  }
  /** 当前企业自己的风控信息分页 */
  type EntRiskPageResultItem = {
    baseInfo?: BaseInfo
    modifiedTime: string
    initTime: string
    createdBy: string
    taxCreditRatingInfo?: TaxCreditRatingInfo
    createdTime: string
    relationId: string
    regCode: string
    modifiedBy: string
    entType: string
    enterpriseName: string
    pubPartnerInfo?: PubPartnerInfo
    contactInfo?: ContactInfo
    pubEmployeeInfo?: pubEmployeeInfo
    deptIdList?: string[]
  }
  type EntRiskPageResult = EntRiskPageResultItem[]

  /** 绑定企业风控关系入参 */
  type EntRiskBindParam = {
    entName: string
    regCode: string
    entType: string
  }

  type EntTypeUpdateParams = {
    relationId: string
    entType: string
    // deptIdList: string[]
  }

  /** 绑定企业检查 */
  interface EntRiskCheckBindResult {
    hasBond: boolean
    entType: string
    entName: string
    regCode: string
  }

  /** 刷新风险关系数据入参 */
  type EntRiskRefreshParam = {
    relationId: number | string
    regCode: string
    forceRefresh: boolean
  }

  interface Partner {
    keyNo: string
    stockName: string
    stockType: string
    stockPercent: string
    shouldCapi: string
    shoudDate: string
    stakeDate: string
    creditCode: string
    area: string
  }
  interface PartnerInfo {
    partners: Partner[]
    mongoId: string
    lastUpdateTime: string
  }
  interface Pledge {
    registerDate: string
    id: string
    registerNo: string
    pledgorList: string[]
    pledgeeList: string[]
    relatedCompany: string
    pledgedAmount: string
    status: string
  }
  interface EquityPledgeInfo {
    pledges: Pledge[]
    mongoId: string
    lastUpdateTime: string
  }
  interface Employee {
    keyNo: string
    name: string
    post: string
  }
  interface EmployeeInfo {
    employees: Employee[]
    mongoId: string
    lastUpdateTime: string
  }
  interface RegistrationWebsite {
    name: string
    webAddress: string
    domainName: string
    licenseNo: string
    auditDate: string
  }
  interface RegistrationWebsiteInfo {
    websites: RegistrationWebsite[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EntRiskChangeInfos {
    projectName: string
    changeDate: string
    beforeList: string[]
    afterList: string[]
    beforeInfoList: any[]
    afterInfoList: any[]
  }
  interface EntRiskChangeInfo {
    changeInfos: EntRiskChangeInfos[]
    mongoId: string
    lastUpdateTime: string
  }
  interface AdministrativeLicense {
    licenseDocNo: string
    licenseDocName: string
    validityFrom: string
    validityTo: string
    licenseOffice: string
    licenseContent: string
    source: string
  }
  interface AdministrativeLicenseInfo {
    licenses: AdministrativeLicense[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EntBankInfo {
    bank: string
    bankAccount: string
    name: string
    creditCode: string
    address: string
    tel: string
    mongoId: string
    lastUpdateTime: string
  }
  interface QccIndustryInfo {
    AName: string
    BName: string
    CName: string
    DName: string
    mongoId: string
    lastUpdateTime: string
  }
  interface EntGeoInfo {
    longitude: string
    latitude: string
    mongoId: string
    lastUpdateTime: string
  }
  interface EntProduct {
    mongoId?: any
    name: string
    startDate: string
    roundDesc: string
    location: string
    description: string
  }
  interface EntProductInfo {
    products: EntProduct[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EntPenalty {
    id: string
    punishDate: string
    punishReason: string
    punishResult: string
    punishAmt: string
    punishOffice: string
    docNo: string
  }
  interface AdministrativePenaltyInfo {
    penalties: EntPenalty[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EntFreeze {
    id: string
    freezeStartDate: string
    freezeEndDate: string
    status: string
    docNo: string
    beExecuted: string
    freezeCompany: string
    equityAmount: string
    executeCourt: string
  }
  interface EquityFreezeInfo {
    freezes: EntFreeze[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EmergingIndustrySecondaryList {
    secondaryCode: string
    secondaryDes: string
    tertiaryList: any[]
  }
  interface EmergingIndustryModel {
    primaryCode: string
    primaryDes: string
    secondaryList: EmergingIndustrySecondaryList[]
  }
  interface EmergingIndustryInfo {
    models: EmergingIndustryModel[]
    mongoId: string
    lastUpdateTime: string
  }
  interface OriginalName {
    name: string
    changeDate: string
  }
  interface OriginalNameInfo {
    originalNames: OriginalName[]
    mongoId: string
    lastUpdateTime: string
  }
  interface ActualController {
    keyNo: string
    name: string
    finalBenefitPercent: string
    controlPercent: string
    isActual: string
  }
  interface ActualControllerInfo {
    actualControllers: ActualController[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EntTag {
    type: string
    name: string
  }
  interface EntTagInfo {
    tags: EntTag[]
    mongoId: string
    lastUpdateTime: string
  }
  interface IndustryInfo {
    industryCode: string
    industry: string
    subIndustryCode: string
    subIndustry: string
    middleCategoryCode: string
    middleCategory: string
    smallCategoryCode: string
    smallCategory: string
    mongoId: string
    lastUpdateTime: string
  }
  interface EntBranchArea {
    mongoId?: any
    province: string
    city: string
    county: string
  }
  interface EntBranch {
    keyNo: string
    name: string
    operName: string
    startDate: string
    status: string
    area: EntBranchArea
  }
  interface EntBranchInfo {
    branchs: EntBranch[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EntGroupInfo {
    groupId: string
    name: string
    logo: string
    mongoId: string
    lastUpdateTime: string
  }
  interface EntAreaInfo {
    province: string
    city: string
    county: string
    mongoId: string
    lastUpdateTime: string
  }
  interface EntIndustry {
    mongoId?: any
    industryCode: string
    industry: string
    subIndustryCode: string
    subIndustry: string
    middleCategoryCode: string
    middleCategory: string
    smallCategoryCode: string
    smallCategory: string
  }
  interface EntInvestmentArea {
    mongoId?: any
    province: string
    city: string
    county: string
  }
  interface EntInvestment {
    keyNo: string
    name: string
    startDate: string
    status: string
    fundedRatio: string
    shouldCapi: string
    creditCode?: any
    oper?: any
    industry: EntIndustry
    area: EntInvestmentArea
  }
  interface EntInvestmentInfo {
    investments: EntInvestment[]
    mongoId: string
    lastUpdateTime: string
  }
  interface EntJudicialAction {
    auctionTime: string
    id: string
    name: string
    caseNo: string
    executeGov: string
  }
  interface EntJudicialActionInfo {
    judicialActions: EntJudicialAction[]
    mongoId: string
    lastUpdateTime: string
  }
  /** CreditRatingReportGradeInfo */
  interface RatingModule {
    ratingScore: number
    shiXinScore: number
    zhiXingScore: number
    blacklistScore: number
    severeAdminPenaltyScore: number
    safetyHazardScore: number
    breakOrderScore: number
    generalAdminPenaltyScore: number
    adminEnforceScore: number
    otherShiXinScore: number
    abnormalOperationScore: number
    endLevelEvaluationScore: number
    contractSXScore: number
    businessSXScore: number
    negativeOpinionScore: number
    seniorStaffSXScore: number
    operCriminalJudgmentScore: number
    branchCreditScore: number
  }
  interface BusinessDevelop {
    businessDevelopScore: number
    branchNumScore: number
    investmentNumScore: number
  }
  interface MarketActivity {
    marketActivityScore: number
    winBiddingNumScore: number
    bidInvitingNumScore: number
  }
  interface IntegerellectualProperty {
    brandNumScore: number
    patentCopyrightNumScore: number
    iprscore: number
  }
  interface CommunityActivity {
    charitableGivingScore: number
    volunteerNumScore: number
    cascore: number
  }
  interface PovertyRelief {
    disabledReemploymentScore: number
    supportPRScore: number
    prscore: number
  }
  interface TirdEvaluation {
    tirdEvaluationScore: number
    industryEvaluationScore: number
    creditRatingScore: number
  }
  interface AdjustModule {
    adjustScore: number
    registcapiScore: number
    operationTimeScore: number
    eciChangeScore: number
    businessDevelop: BusinessDevelop
    marketActivity: MarketActivity
    integerellectualProperty: IntegerellectualProperty
    honourScore: number
    redListScore: number
    communityActivity: CommunityActivity
    povertyRelief: PovertyRelief
    tirdEvaluation: TirdEvaluation
    qlicensingScore: number
  }
  interface CreditRatingReportGradeInfo {
    level: string
    score: string
    ratingModule: RatingModule
    adjustModule: AdjustModule
    mongoId: string
    lastUpdateTime: string
  }
  interface TaxArrearListItem {
    taxpayerId: string
    taxpayerName: string
    declarationDate?: any
    beginDate: string
    endDate: string
    collectionProjectName?: any
    collectionItemsName: string
    projectName: string
    supplementTaxAmount: number
    payMentDeadline: string
    taxPaid?: any
    taxType: string
    taxStatus: string
    taxBureau: string
    authTime?: any
    amountUnit?: string
  }
  /** 企业风控信息详情 */
  type EntRiskControlDetail = {
    modifiedTime: string
    baseInfo?: BaseInfo
    partnerInfo?: PartnerInfo
    contactInfo?: ContactInfo
    equityPledgeInfo?: EquityPledgeInfo
    regCode: string
    employeeInfo?: EmployeeInfo
    registrationWebsiteInfo?: RegistrationWebsiteInfo
    creditRatingReportGradeInfo?: CreditRatingReportGradeInfo
    liquidationInfo?: any
    changeInfo?: EntRiskChangeInfo
    administrativeLicenseInfo?: AdministrativeLicenseInfo
    taxIllegalInfo?: any
    taxCreditRatingInfo?: TaxCreditRatingInfo
    createdTime: string
    bankInfo?: EntBankInfo
    qccIndustryInfo?: QccIndustryInfo
    geoInfo?: EntGeoInfo
    abnormalOperationInfo?: any
    chattelMortgageInfo?: any
    productInfo?: EntProductInfo
    pubPartnerInfo?: any
    dishonestPersonInfo?: any
    beneficiaryInfo?: any
    sumptuaryInfo?: any
    administrativePenaltyInfo?: AdministrativePenaltyInfo
    equityFreezeInfo?: EquityFreezeInfo
    emergingIndustryInfo?: EmergingIndustryInfo
    bankruptcyInfo?: any
    actualControllerInfo?: ActualControllerInfo
    originalNameInfo?: OriginalNameInfo
    industryInfo?: IndustryInfo
    environmentalPenaltyInfo?: any
    revokeInfo?: any
    tagInfo?: EntTagInfo
    branchInfo?: EntBranchInfo
    modifiedBy: string
    groupInfo?: EntGroupInfo
    randomInspectionInfo?: any
    enterpriseName: string
    pubEmployeeInfo?: any
    taxArrearsAnnouncementInfo?: any
    relationId: string
    parentCompanyInfo?: any
    executedPersonInfo?: any
    areaInfo?: EntAreaInfo
    investmentInfo?: EntInvestmentInfo
    stockInfo?: any
    createdBy: string
    judicialActionInfo?: EntJudicialActionInfo
    seriousIllegalInfo?: any
    standardName: string
    processState: string
    entType: string
    entTypeName: string
    taxCreditRating?: string
    taxPenaltyList?: any[]
    taxArrearList?: TaxArrearListItem[]
    dishonestPersonList?: any[]
    seriousIllegalList?: any[]
  }

  /** 以下为发票相关类型 */
  /** 发票分页 */
  type InvPageResultItem = {
    modifiedTime: string
    signature?: any
    sellerName: string
    buyerRegCode: string
    invoiceState?: any
    invoiceAmount: number
    sellerAddress: string
    stamped: boolean
    vehicleMark: boolean
    sellerTaxLevel: string
    sellerBankInfo: string
    buyerAddress: string
    tollMark: boolean
    qrInvNum: string
    invoiceNumber: string
    invoiceType: string
    createdTime: string
    modifiedBy: string
    invoiceDetails: string
    ossLink: string
    invoicePayee: string
    invoiceReviewer: string
    invoicePrintNum: string
    invoiceEncode: string
    qrInvCode: string
    invoiceOriginal: string
    oilMark: boolean
    invoiceIssuer: string
    agentMark: boolean
    buyerName: string
    amountInWord: string
    invoiceCode: string
    checkCode?: any
    billingDate: string
    sellerRegCode: string
    totalAmount: number
    invoicePrintCode: string
    invoiceProperty?: any
    createdBy: string
    machineNumber: string
    buyerBankInfo: string
    invoiceId: string
    taxAmount: number
    invoiceQr: string
    remarks?: any
    fileId: string
    invoiceState: string
  }
  type InvPageResult = InvPageResultItem[]
  /** 发票详情 */
  interface InvoiceDetail {
    name: string
    content: string
    description: string
  }
  interface VerifyHistories {
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    historyId: string
    invoiceId: string
    invoiceInfo: InvoiceInfo[]
    invoiceDetails: [[InvoiceDetail[]]]
    invoiceState: string
  }
  type InvDetailData = {
    invoiceId: string
    fileId: string
    invoiceType: string
    invoiceCode: string
    invoiceNumber: string
    billingDate: string
    machineNumber?: any
    buyerRegCode: string
    sellerRegCode: string
    invoiceAmount: number
    taxAmount: number
    totalAmount: number
    checkCode: string
    invoiceQr: string
    invoiceEncode: string
    buyerName: string
    sellerName: string
    amountInWord: string
    buyerAddress: string
    buyerBankInfo: string
    sellerAddress: string
    sellerBankInfo: string
    invoicePayee: string
    invoiceReviewer: string
    invoiceIssuer: string
    invoiceOriginal?: any
    invoiceDetails: string
    invoicePrintCode: string
    invoicePrintNum: string
    invoiceProperty?: any
    qrInvCode: string
    qrInvNum: string
    stamped: boolean
    vehicleMark: boolean
    oilMark: boolean
    agentMark: boolean
    tollMark: boolean
    signature: string
    remarks?: any
    delFlag: string
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    ossLink: string
    verifyHistories?: VerifyHistories[]
  }
  /** 购买销售双方树 */
  interface InvTargetTreeDataItem {
    regCode: string
    name: string
    tenantId?: string
    children: Omit<InvTargetTreeDataItem, 'children'>[]
  }
  type InvTargetTreeData = InvTargetTreeDataItem[]
  /** 发票状态统计 */
  type InvRiskStatResult = {
    total: string
    uncheck: string
    normal: string
    abnormal: string
    revStat: string
    allRevStat: string
    partRevStat: string
  }

  // 以下为自主申报相关
  interface DeclareSender {
    senderName: string
    senderEmail: string
    senderPhone: string
    senderAvatar: string
  }
  interface DeclareRecipient {
    recipientEmail: string
  }
  interface DeclareListPageResultItem {
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    declarationId: string
    declarationSn: string
    enterpriseName: string
    regCode: string
    declarationType: string
    url: string
    secretKey: string
    issueDate: string
    expiryDate: string
    declarationState: import('./enum').DeclState
    openInfo?: any
    submitInfo?: any
    checkInfo?: any
    formStruct?: any
    declarationResult?: any
    sender: DeclareSender
    recipient: DeclareRecipient
  }
  type DeclareListPageResult = DeclareListPageResultItem[]

  /** 创建申报模板入参 */
  interface TmplItem {
    checkRules?: { [key: string]: any }[]
    itemDeli?: { [key: string]: any }[]
    itemStruct?: API.WidgetParams
    markResult?: { [key: string]: any }
    weight?: number | string
  }
  type AddDeclTmplParams = {
    /** 模板项 */
    items: TmplItem[]
    /** 模板名称 */
    templateName: string
    /** 模板版本，非手填 */
    version: string
    lockFlag: string
    vendorType: string
  }

  type TmplStatusUpdateBody = {
    templateId: string
    lockFlag: string
  }
  /** 申报模板分页 */

  interface DeclareTmplListPageResultItem {
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    templateId: string
    templateName: string
    version: string
    items: TmplItem[]
    lockFlag: string
    delFlag: string
    vendorType: string
  }
  type DeclareTmplListPageResult = DeclareTmplListPageResultItem[]

  /** 申报模板列表结果 */
  type DeclareTmplListResult = DeclareTmplListPageResultItem[]

  /** 创建企业申报单入参 */

  type AddEntDeclParams = {
    /** 申报类型 */
    declarationType: import('./enum').DeclarationType
    /** 企业名称 */
    enterpriseName: string
    /** 申报开始时间，不能早于当天， yyyy-MM-dd */
    issueDate: string
    items: TmplItem[]
    /** 申报周期，1, 3, 5, 7, 15 */
    period: number
    /** 收件人 */
    recipientEmail?: string
    /** 统一信用代码 */
    regCode: string
    /** 提取码 */
    secretKey: string
    parentId?: number | string
    relationId: string
  }

  interface SendEmailParams {
    /** 附件 */
    attachment: { [key: string]: any }
    /** 邮件内容，文本邮件必填 */
    content?: string
    templateName?: string
    /** 发件人 */
    emailType: import('./enum').EmailType
    /** 主题 */
    subject: string
    /** 收件人 */
    to: string[]
  }

  interface Recipient {
    recipientEmail: string
  }
  interface SenderInfo {
    senderAvatar: string
    senderEmail: string
    senderName: string
    senderPhone: string
  }
  interface AddEntDeclResult {
    createdTime: string
    title: string
    recipient: Recipient
    deadline: string
    url: string
    secret: string
    senderInfo: SenderInfo
    suggestion: string
  }

  interface OpenDeclFormParams {
    tId: string
    declSn: string
    secretKey: string
  }
  interface PayDetail {
    reqSn: any
    amount: string
    orderState: string
    paymentTime: any
    issueTime: string
    expireTime: string
    payType: any
    bizPayType: string
  }
  interface PaymentQrcodeInfo {
    qrcodeBase64?: string
    reqSn?: string
    orderState?: string
  }
  interface PaymentPayResult {
    reqSn: string
    amount: string
    orderState: string
    paymentTime: string
    issueTime: string
    expireTime: string
    payType: string
    bizPayType: string
  }
  interface OpenDeclFormResult {
    checkMsg: string
    checkState: string
    remarks: string
    declarationId: string
    declarationSn: string
    enterpriseName: string
    regCode: string
    declarationType: string
    url: string
    secretKey: string
    issueDate: string
    expiryDate: string
    declarationState: import('./enum').DeclState
    openInfo: any
    submitInfo: any
    checkInfo: any
    formItems: TmplItem[]
    sender: SenderInfo
    recipient: Recipient
    tenantId: string
    payDetail: PayDetail
    rollbackRemark?: string
    isTenantApplied: boolean
  }
  /** 提交申报入参 */
  interface SubmitDeclFormParams {
    /** 申报ID */
    declarationId: number | string
    /** 提交类型，最终提交：true， 否则：false */
    finalSubmit: boolean
    /** 申报项 */
    items: TmplItem[]
    /** 租户ID */
    tenantId: number | string
  }
  interface ReviewItemConfigParams {
    declSwitch: boolean
    manualReviewSwitch: boolean
    manualReviewRequired: boolean
    admissionOpinionsSwitch: boolean
    signRequired: boolean
    remarks: string
  }
  type ReviewItemConfigResult = {
    configId: string
    delFlag: string
    tenantId: string
    createdBy: string
    createdTime: string
  } & ReviewItemConfigParams
  /** 申报审核 */
  interface DeclCheckParams {
    declarationId: string | number
    items: TmplItem[]
  }

  /** 企业申报的最新评分 */
  interface DeclLastScoreResult {
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    declarationId: string
    declarationSn: string
    enterpriseName: string
    regCode: string
    declarationType: string
    url: string
    secretKey: string
    issueDate: string
    expiryDate: string
    declarationState: import('./enum').DeclState
    openInfo: any
    submitInfo: any
    checkInfo: any
    formItems: TmplItem[]
    sender: SenderInfo
    recipient: Recipient
  }

  interface SupplierLevelMapItem {
    level: string
    desc: string
    total: number
    relId: string[]
  }
  interface RiskInfoStatDetailItem {
    desc: string
    itemLabel: string
    total: number
    relIds: string[]
    title: string
  }
  interface RiskInfoStatDetail {
    [key: string]: RiskInfoStatDetailItem
  }

  interface RiskInfoStatSummary {
    [key: string]: number
  }
  interface RiskInfoStat {
    taxRisk: RiskInfoStatDetail
    enterpriseRisk: RiskInfoStatDetail
    otherRisk: RiskInfoStatDetail
    legalRepresentativeRisk: RiskInfoStatDetail
    bizRisk: RiskInfoStatDetail
    summary?: RiskInfoStatSummary
    statEntTypeList: any
    statList: any
  }
  interface SupplierLevelMap {
    [key: string]: SupplierLevelMapItem
  }
  interface RiskInfoStatResult {
    riskInfoStat: RiskInfoStat
    supplierTaxLevelStat: SupplierLevelMap
    entStat: any
  }

  interface RiskInfoDeclStatResult {
    submitted: number
    sum: number
  }

  /** 创建前端校验规则参数 */
  interface AddRiskCheckParams {
    ruleName: string
    rules: RiskCheckRule[]
  }

  /** 前端校验规则列表 */
  interface RiskCheckRule {
    name: string
    type: string
    field: string
    value: string
    pattern: string
  }
  interface RiskCheckRuleListItem {
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    ruleId: string
    ruleName: string
    rules: RiskCheckRule[]
  }
  type RiskCheckRuleList = RiskCheckRuleListItem[]

  type RiskCheckRulePageResult = RiskCheckRuleListItem[]

  /** 企业风险信息校验入参(手动) */
  interface EntRiskInfoCheckParams {
    relationId: number | string
    regCode: string
    enterpriseName: string
    standardName: string
  }

  interface EntRiskCheckItemListItem {
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    itemId: string
    checkId: string
    itemName: string
    description: string
    checkType: string
    actualValue: string
    targetValue: string
    logicType: string
    autoResult: boolean
    autoMsg: string
    manualResult?: any
    manualMsg?: any
    remarks?: any
    score: string
    autoScore: string
    manualScore: string
  }

  interface EntRiskCheckDetailsDecl {
    recipient: {
      recipientEmail: string
    }
    checkbox: { [key: string]: string }
    declType: string
    tmplLabelMap: { [key: string]: string }
    parentId: string
  }
  interface EntRiskCheckDetails {
    createdTime: string
    checkId: string
    checkState: string
    decl: EntRiskCheckDetailsDecl
    items: EntRiskCheckItemListItem[]
    relationId: string
    relationRefreshTime: string
    remarks: string
    reportUrl: string
    ruleName: string
    signedBy: string
    stat: {
      noInfoItemCount: number
      riskItemCount: number
    }
  }

  interface EntRiskCheckDetailsV2ItemList {
    itemId: string
    checkId: string
    itemLabel: string
    itemName: string
    description: string
    checkType: string
    actualValue: string
    targetValue: string
    logicType: string
    autoResult: boolean
    autoMsg: string
    manualResult: boolean
    manualMsg: string
    score: string
    autoScore: string
    manualScore: string
    remarks?: any
    actualValueType?: any
    scoreFlag: boolean
    valueType: 'TABLE' | 'PDF' | 'IMG'
  }
  interface EntRiskCheckDetailsV2DetailList {
    categoryName: string
    categoryLabel: string
    scoreFlag: boolean
    cktFlag: boolean
    score: string
    manualScore: string
    cktFlag: boolean
    cktRequiredFlag: boolean
    cktMsg: string
    cktReview: string
    categoryId: string
    itemList: EntRiskCheckDetailsV2ItemList[]
  }
  interface EntRiskCheckDetailsV2Stat {
    noInfoItemCount: number
    riskItemCount: number
  }
  interface EntRiskCheckDetailsV2Recipient {
    recipientEmail: string
  }
  interface EntRiskCheckDetailsV2Checkbox {
    biz_scope_risk: string
    employee_risk: string
    tax_level_error: string
  }
  interface EntRiskCheckDetailsV2TmplLabelMap {
    biz_scope_risk: string
    scan_shell_error: string
    same_person_error: string
    legal_repr_risk: string
    biz_term_risk: string
    dishonest_person_error: string
    ent_state_risk: string
    same_tel_error: string
    serious_illegal_error: string
    tax_error: string
    same_addr_error: string
    employee_risk: string
    ent_addr_error: string
    ann_biz_error: string
    biz_error: string
    ent_type_risk: string
    ent_name_risk: string
    admin_error: string
    reg_capital_risk: string
    tax_level_error: string
  }
  interface EntRiskCheckDetailsV2Decl {
    recipient: EntRiskCheckDetailsV2Recipient
    checkbox: EntRiskCheckDetailsV2Checkbox
    declType: string
    tmplLabelMap: EntRiskCheckDetailsV2TmplLabelMap
    parentId: string
  }
  interface EntRiskCheckDetailsV2 {
    plusVersion: string
    checkId: string
    relationId: string
    checkState: string
    relationRefreshTime: string
    reportUrl: string
    signedBy: string
    remarks: string
    createdTime: string
    ruleName: string
    detailList: EntRiskCheckDetailsV2DetailList[]
    stat: EntRiskCheckDetailsV2Stat
    decl: EntRiskCheckDetailsV2Decl
  }

  interface EntRiskInfoCheckAssertParams {
    /** 校验ID */
    checkId: number | string
    /** 校验结果 */
    checkMsg: string
    /** 断言状态 */
    checkState: string
    /** 企业名称 */
    entName: string
    /** 备注信息 */
    remarks: string
    /** 签名 */
    signedBy: string
    relationId: string
  }

  interface EntRiskInfoCheckItemAssertParams {
    itemId: number | string
    manualResult: boolean
    manualMsg: string
    manualScore: string | number
  }

  interface EntRiskInfoCheckRedoParams {
    relationId: string
    regCode: string
    forceRefresh: boolean
  }

  interface RiskItemListItem {
    actualValue: string
    criterion: string
    entName: string
    checkTime: string
    autoResult: boolean
    manualResult: any
    manualMsg: any
    autoMsg: string
    relationId: string
    checkId?: string
  }
  type RiskItemList = RiskItemListItem[]

  interface RiskItemListItem {
    departmentName: string
    number: string
    penaltyData: string
  }
  type PenaltyInfoList = RiskItemListItem[]

  interface StatListItem {
    count: number
    type: string
    name: string
  }
  interface FinancialTaxRiskStatResult {
    statList: StatListItem[]
    summary?: RiskInfoStatSummary
  }

  interface FinancialTaxAuthPageParams {
    entName?: string
    checkState?: string
    authState?: string
    authTimes?: string[]
  }
  interface FinancialTaxAuthPageResultItem {
    entName: string
    regCode: string
    checkState: string
    checkStateName: string
    authState: string
    authStateName: string
    authTime: string
    emailNotifyTime?: any
    email?: string
  }

  type FinancialTaxAuthPageResult = FinancialTaxAuthPageResultItem[]

  interface FinancialTaxAuthUrlParams {
    entName?: string
    regCode?: string
    tenantId?: string | number
    cburl?: string
  }

  interface FinancialTaxAuthUrlResult {
    cburl: string
    orderNo: string
    message: string
    fullUrl: string
    authEndpoint: string
    channelCode: string
  }
  interface FinancialTaxAuthSendEmailParams {
    regCode: string
    email: string
  }
  interface FinancialTaxAuthBatchSendEmailParams {
    regCodes: string[]
    refresh: boolean
  }
  interface FinancialTaxAuthBatchSendEmailResult {
    no_email: number
    send_success: number
    send_fail: number
  }

  interface SameInvoiceAddressPageResultItem {
    entName: string
    authTime: string
    address: string
  }
  type SameInvoiceAddressPageResult = SameInvoiceAddressPageResultItem[]
  interface AbnormalBusinessPageResultItem {}
  type AbnormalBusinessPageResult = AbnormalBusinessPageResultItem[]
  interface InvoiceWithSameIndustryPageResultItem {}
  type InvoiceWithSameIndustryPageResult = InvoiceWithSameIndustryPageResultItem[]
  interface InvoiceWithSameEntPageResultItem {}
  type InvoiceWithSameEntPageResult = InvoiceWithSameEntPageResultItem[]
  interface LessPeopleHighInvoicePageResultItem {}
  type LessPeopleHighInvoicePageResult = LessPeopleHighInvoicePageResultItem[]
  interface TaxArrearsPageResultItem {}
  type TaxArrearsPageResult = TaxArrearsPageResultItem[]
  interface TaxAuditsPageResultItem {}
  type TaxAuditsPageResult = TaxAuditsPageResultItem[]
  interface TaxViolationsPageResultItem {}
  type TaxViolationsPageResult = TaxViolationsPageResultItem[]

  interface TaxRiskDetailGradeCount {
    highRisk: number
    lowRisk: number
    mediumRisk: number
  }
  interface TaxRiskDetailRiskAsses {
    grade: string
    firstRisk: string
    secondRisk: string
  }
  interface TaxRiskDetailRiskSummaryItem {
    riskCount: number
    riskLevel: string
  }
  interface TaxRiskDetailRiskSummary {
    financeRisk: TaxRiskDetailRiskSummaryItem
    taxRisk: TaxRiskDetailRiskSummaryItem
    fpRisk: TaxRiskDetailRiskSummaryItem
  }
  interface TaxRiskDetailAllRiskScan {
    backEndFieldName: string
    frontEndFieldName: string
    result: string
  }
  interface TaxRiskDetailResult {
    gradeCount: TaxRiskDetailGradeCount
    riskAssess: TaxRiskDetailRiskAsses[]
    overviewHint: string
    riskSummary: TaxRiskDetailRiskSummary
    periodStart: string
    periodEnd: string
    allRiskScan: TaxRiskDetailAllRiskScan[]
  }
  interface EntListByKeyResultItem {
    entName: string
    regCode: string
    tenantId?: string
  }
  type EntListByKeyResult = EntListByKeyResultItem[]

  interface PlusCheckReportResult {
    status: 'NOT_GENERATE' | 'GENERATING' | 'GENERATED' | 'ERROR'
    latestUrl?: string
    ttl?: string
    createTime?: string
    errorMsg?: string
  }

  interface ConfigIndicatorPageResultItem {
    standardId: string
    relationId: string
    standardName: string
    entType: string
    usageSceneType: string
    state: string
    remarks?: any
    delFlag: string
    publishTime: string
    deptList: string[]
  }
  type ConfigIndicatorPageResult = ConfigIndicatorPageResultItem[]
  interface StandardIndicatorDetailListItem {
    itemId: string
    standardId: string
    itemLabel: string
    itemName: string
    itemTypes: string[]
    itemDesc: string
    itemBrief: string
    checkType: string
    standardType: string
    categoryType: string
    checkFlag: boolean
    logicType: string
    tarVal: string
    score: string
    remarks?: any
    fineRule: StandardIndicatorPlatformItemFineRule
  }
  interface StandardIndicatorDetailList {
    categoryId: string
    standardId: string
    relationId: string
    categoryName: string
    categoryLabel: string
    scoreFlag: boolean
    cktFlag: boolean
    cktRequiredFlag: boolean
    score: string
    itemList: StandardIndicatorDetailListItem[]
  }
  interface StandardIndicatorDetailData {
    standardId: string
    relationId?: any
    standardName: string
    state: string
    entType: string
    usageSceneType: string
    publishTime: string
    deptList: string[]
    categoryList: string[]
    detailList: StandardIndicatorDetailList[]
  }

  interface EntRiskCheckFinancialDetailItem {
    createdBy: string
    modifiedBy: string
    createdTime: string
    modifiedTime: string
    itemId: string
    checkId: string
    itemLabel: string
    itemName: string
    description: string
    checkType: string
    actualValue: string
    targetValue?: any
    logicType: string
    autoResult: boolean
    autoMsg: string
    manualResult?: any
    manualMsg?: any
    score: string
    autoScore: string
    manualScore?: any
    remarks?: any
    delFlag: string
    actualValueType: 'importantFinancialData' | 'financialDataOne' | 'financialDataTwo'
  }
  type EntRiskCheckFinancialDetail = EntRiskCheckFinancialDetailItem[]

  interface EntRiskCheckFinancialAssertDetail {
    manualScore?: any
    review: string
    financialDataTwo: string[]
    manualMsg?: any
    financialDataOne: string[]
    importantFinancialData: string[]
    score?: string
  }

  interface EntRiskCheckFinancialAssertParams {
    relationId: number | string
    manualScore: number | string
    manualMsg: string
    review: string
  }

  interface EntRiskInfoCheckCategroyAssertParams {
    categoryId: string
    cktReview: string
    cktMsg: string
  }
  interface EntRiskInfoCheckMetaResult {
    checkId: string
    relationId: string
    checkState: string
    checkTime: string
    relationRefreshTime: string
    reportUrl: string
    signedBy: string
    advice: string
    remarks: string
    review?: any
    standardId: string
  }

  interface CreateStandardIndicatorParams {
    entType: string
    usageSceneType: string
    standardName: string
    remarks: string
    deptList: (string | number)[]
    weight: number
  }

  interface StandardIndicatorDetailItem {
    categoryName: string
    categoryLabel: string
    scoreFlag: boolean
    cktFlag: boolean
    cktRequiredFlag: boolean
    score: string
    itemList: StandardIndicatorDetailListItem[]
  }
  interface UpdateStandardIndicatorParams {
    standardId: string
    entType: string
    usageSceneType: string
    standardName: string
    remarks?: string
    deptList: string[]
    weight?: number
    categoryList: string[]
    detailList: StandardIndicatorDetailItem[]
  }

  interface StandardIndicatorPlatformItemRuleItem {
    itemType: string
    ruleType: string
    rule: string | string[]
    targetScore: number | string
    targetStatus: 'PASS' | 'FAIL'
    logicType: string
    nanoId?: string | number
    unitType: Nullable<string>
    dataType: Nullable<string>
  }
  interface StandardIndicatorPlatformItemFineRule {
    logicToValueRuleMap: Nullable<
      Record<
        string,
        {
          decimalPlacesNumber: number
          dataTypeEnable: string[]
          dataTypeDict: any[]
          unitType: string
          min: Nullable<number>
          max: Nullable<number>
        }
      >
    >
    logicTypeEnable: Nullable<string[]>
    ruleItems: StandardIndicatorPlatformItemRuleItem[]
  }
  interface StandardIndicatorPlatformItemItemList {
    itemId: string
    standardId?: any
    itemLabel: string
    itemName: string
    itemBrief: string
    itemDesc: string
    checkType: string
    entType: string
    standardType: string
    categoryType: string
    checkFlag: boolean
    logicType: string
    tarVal: string
    score: string
    remarks?: any
    fineRule: StandardIndicatorPlatformItemFineRule
    scoreFlag?: any
  }

  interface StandardIndicatorPlatformItem {
    categoryName: string
    categoryLabel: string
    itemList: StandardIndicatorPlatformItemItemList[]
  }
  type StandardIndicatorPlatformItemList = StandardIndicatorPlatformItem[]
  interface DeptRelatedStandardListResultItem {}
  type DeptRelatedStandardListResult = Record<string, string[]>

  interface IRuleRecordPageListItem {
    itemId: string
    platformItemId: string
    regCode: string
    entName: string
    itemLabel: string
    itemName: string
    itemGroup: string
    riskLevelName: string
    itemGroupName: string
    riskLevel: string
    content: string
    result: boolean
    changeData?: any
    changeNum: number
    createdTime: string
    fineRule: string
  }

  interface INotifyRecordPageListItem {
    createTime: string
    frequency: string
    frequencyName: string
    riskLevel: string
    riskLevelName: string
    content?: any
    notificationWay?: any
    notificationScope: string
  }
}
