export interface InvoiceApplicationVO {
  /**
   * 主键ID
   */
  id: string | number;

  /**
   * 开票申请单号
   */
  applicationNo: string;

  /**
   * 客户ID
   */
  customerId: string | number;

  /**
   * 客户名称
   */
  customerName: string;

  /**
   * 发票类型
   */
  invoiceType: string;

  /**
   * 发票抬头
   */
  invoiceTitle: string;

  /**
   * 纳税人识别号/统一社会信用代码
   */
  taxNumber: string;

  /**
   * 注册地址
   */
  regAddress: string;

  /**
   * 注册电话
   */
  regPhone: string;

  /**
   * 开户银行
   */
  bankName: string;

  /**
   * 银行账号
   */
  bankAccount: string;

  /**
   * 接收发票邮箱 (用于电票)
   */
  receiverEmail: string;

  /**
   * 接收短信手机号
   */
  receiverPhone: string;

  /**
   * 申请开票金额 (不含税)
   */
  applyAmount: number;

  /**
   * 申请税额
   */
  applyTaxAmount: number;

  /**
   * 价税合计总金额
   */
  totalAmount: number;

  /**
   * 关联的对账单ID集合
   */
  statementIds: string | number;

  /**
   * 申请备注/特殊要求
   */
  remark: string;

  /**
   * 申请状态: 0-待审核, 1-审核通过, 2-已驳回, 3-开票中, 4-已完成, 5-已取消
   */
  status: string;

  /**
   * 审核人ID
   */
  auditUserId: string | number;

  /**
   * 审核时间
   */
  auditTime: string;

  /**
   * 审核意见/驳回原因
   */
  auditRemark: string;

  /**
   * 审核通过后生成的正式发票单据ID (关联 statement_invoice.id)
   */
  finalInvoiceId: string | number;

  /**
   * 正式发票代码 (开票后回填)
   */
  invoiceCode: string;

  /**
   * 正式发票号码 (开票后回填)
   */
  invoiceNumber: string;

  /**
   * 正式开票日期
   */
  invoiceDate: string;
}

export interface InvoiceApplicationForm extends BaseEntity {
  /**
   * 主键ID
   */
  id?: string | number;

  /**
   * 开票申请单号
   */
  applicationNo?: string;

  /**
   * 客户ID
   */
  customerId?: string | number;

  /**
   * 客户名称
   */
  customerName?: string;

  /**
   * 发票类型
   */
  invoiceType?: string;

  /**
   * 发票抬头
   */
  invoiceTitle?: string;

  /**
   * 纳税人识别号/统一社会信用代码
   */
  taxNumber?: string;

  /**
   * 注册地址
   */
  regAddress?: string;

  /**
   * 注册电话
   */
  regPhone?: string;

  /**
   * 开户银行
   */
  bankName?: string;

  /**
   * 银行账号
   */
  bankAccount?: string;

  /**
   * 接收发票邮箱 (用于电票)
   */
  receiverEmail?: string;

  /**
   * 接收短信手机号
   */
  receiverPhone?: string;

  /**
   * 申请开票金额 (不含税)
   */
  applyAmount?: number;

  /**
   * 申请税额
   */
  applyTaxAmount?: number;

  /**
   * 价税合计总金额
   */
  totalAmount?: number;

  /**
   * 关联的对账单ID集合
   */
  statementIds?: string | number;

  /**
   * 申请备注/特殊要求
   */
  remark?: string;

  /**
   * 申请状态: 0-待审核, 1-审核通过, 2-已驳回, 3-开票中, 4-已完成, 5-已取消
   */
  status?: string;

  /**
   * 审核人ID
   */
  auditUserId?: string | number;

  /**
   * 审核时间
   */
  auditTime?: string;

  /**
   * 审核意见/驳回原因
   */
  auditRemark?: string;

  /**
   * 审核通过后生成的正式发票单据ID (关联 statement_invoice.id)
   */
  finalInvoiceId?: string | number;

  /**
   * 正式发票代码 (开票后回填)
   */
  invoiceCode?: string;

  /**
   * 正式发票号码 (开票后回填)
   */
  invoiceNumber?: string;

  /**
   * 正式开票日期
   */
  invoiceDate?: string;
}

export interface InvoiceApplicationQuery extends PageQuery {
  /**
   * 开票申请单号
   */
  applicationNo?: string;

  /**
   * 客户ID
   */
  customerId?: string | number;

  /**
   * 客户名称
   */
  customerName?: string;

  /**
   * 发票类型
   */
  invoiceType?: string;

  /**
   * 发票抬头
   */
  invoiceTitle?: string;

  /**
   * 纳税人识别号/统一社会信用代码
   */
  taxNumber?: string;

  /**
   * 注册地址
   */
  regAddress?: string;

  /**
   * 注册电话
   */
  regPhone?: string;

  /**
   * 开户银行
   */
  bankName?: string;

  /**
   * 银行账号
   */
  bankAccount?: string;

  /**
   * 接收发票邮箱 (用于电票)
   */
  receiverEmail?: string;

  /**
   * 接收短信手机号
   */
  receiverPhone?: string;

  /**
   * 申请开票金额 (不含税)
   */
  applyAmount?: number;

  /**
   * 申请税额
   */
  applyTaxAmount?: number;

  /**
   * 价税合计总金额
   */
  totalAmount?: number;

  /**
   * 关联的对账单ID集合
   */
  statementIds?: string | number;

  /**
   * 申请状态: 0-待审核, 1-审核通过, 2-已驳回, 3-开票中, 4-已完成, 5-已取消
   */
  status?: string;

  /**
   * 审核人ID
   */
  auditUserId?: string | number;

  /**
   * 审核时间
   */
  auditTime?: string;

  /**
   * 审核意见/驳回原因
   */
  auditRemark?: string;

  /**
   * 审核通过后生成的正式发票单据ID (关联 statement_invoice.id)
   */
  finalInvoiceId?: string | number;

  /**
   * 正式发票代码 (开票后回填)
   */
  invoiceCode?: string;

  /**
   * 正式发票号码 (开票后回填)
   */
  invoiceNumber?: string;

  /**
   * 正式开票日期
   */
  invoiceDate?: string;

  /**
   * 平台标识
   */
  platformCode?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}
