import { PageParams } from "@/api/base/BaseDataModel";

/**
 * 核账明细参数
 */
export interface FinancialVerifyRecordDetailParam {
  /**
   * 核账记录编号
   *
   * @mbg.generated
   */
  verifyRecordId?: number;

  /**
   * 主单编号
   *
   * @mbg.generated
   */
  summaryId?: number;
}

/**
 * 财务对账查询参数
 */
export interface FinancialVerifyRecordParam extends PageParams {
  /**
   * 编号
   */
  idList: number[];

  /**
   * 编号
   */
  id?: number;

  /**
   * 主单编号
   */
  summaryId?: number;

  /**
   * 账单编号
   */
  billCode?: string;

  /**
   * 单号类型
   */
  billCodeType?: number;

  /**
   * 单号
   */
  code?: string;

  /**
   * 渠道商
   */
  providerId?: number;

  /**
   * 归账时间
   */
  belongTime?: Date;

  /**
   * 运单号(提单号)
   */
  waybillNumber?: string;

  /**
   * 是否有差异 0：否 1：是
   */
  isDifference?: number;

  /**
   * 0: 新增 1:对账 2: 分摊 3:关账
   */
  verifyState?: number;
}

/**
 * 财务对账返回数据
 */
export interface FinancialVerifyRecordDto {
    /**
     * 编号
     */
    id: number;

    /**
     * 主单编号
     */
    summaryId: number;

    /**
     * 账单编号
     */
    billCode: string;

    /**
     * 账单名称
     */
    billName: string;

    /**
     * 渠道商
     */
    providerId: number;

    /**
     * 渠道商
     */
    providerName: string;

    /**
     * 归账时间
     */
    belongTime: Date;

    /**
     * 运单号(提单号)
     */
    waybillNumber: string;

    /**
     * 订单号
     */
    orderId: string;

    /**
     * 尾程单号
     */
    trackingId: string;

    /**
     * 费项类型
     */
    feeItemCategoryId: number;

    /**
     * 费项类型名称
     */
    feeItemCategoryName: string;

    /**
     * 重量
     */
    weight: number;

    /**
     * 提单费用
     */
    ladingFee: number;

    /**
     * 账单重量
     */
    billWeight: number;

    /**
     * 账单费用
     */
    billFee: number;

    /**
     * 差异金额
     */
    differenceFee: number;

    /**
     * 0: 新增 1:对账 2: 分摊 3:关账
     */
    billState: number;

    /**
     * 核账状态名称
     */
    billStateName: string;

    /**
     * 备注
     */
    remark: string;

    /**
     * 币种
     */
    currencyCode: string;

    /**
     * 核账临时编号
     */
    tmpVerifyRecordCode: string;
}

/**
 * 核账明细返回数据
 */
export interface FinancialVerifyRecordDetailDto {
  /**
   * 编号
   */
  id: number;

  /**
   * 核账记录编号
   */
  verifyRecordId: number;

  /**
   * 主单编号
   */
  summaryId: number;

  /**
   * 费项类型
   */
  itemCategoryId: number;

  /**
   * 费项类型名称
   */
  itemCategoryName: string;

  /**
   * 费项编号
   */
  feeItemId: number;

  /**
   * 费项名称
   */
  feeItemName: string;

  /**
   * 账单费用
   */
  originalFee: number;

  /**
   * 0: 产品费用 1:账单费用
   */
  verifyRecordType: number;

  /**
   * 创建人编号
   */
  createUserId: number;

  /**
   * 创建人名
   */
  createUserName: string;

  /**
   * 创建时间
   */
  createTime: Date;

  /**
   * 币种
   */
  currencyCode: string;

  /**
   * 核账临时编号
   */
  tmpVerifyRecordCode?: string;
}
