import { types } from 'sass';
import List = types.List;

export interface ProdSalesStatusAuditBo{
  /**
   * 审核编码
   */
  auditId: number;
  /**
   * 申请编码
   */
  applicationId: number;
  /**
   * 审核意见
   */
  auditOpinion: string;
  /**
   * 审核人
   */
  auditor: string;
  /**
   * 审核时间
   */
  auditTime: string;
}
export interface ProdSalesStatusApplicationVo {
  /**
   * 申请编码
   */
  applicationId: string | number;

  /**
   * 产品编码
   */
  productCode: string;

  /**
   * 产品名称
   */
  productName: string;

  /**
   * 归属系统
   */
  system: string;

  /**
   * 产品销售状态
   */
  salesStatus: string;

  /**
   * 产品销售起期
   */
  salesStartDate: string;

  /**
   * 产品销售止期
   */
  salesEndDate: string;

  /**
   * 产品销售限额
   */
  salesLimit: number;

  /**
   * 变更内容
   */
  changeContent: string;

  /**
   * 申请状态
   */
  applicationStatus: string;

  /**
   * 申请人
   */
  applicant: string;

  /**
   * 申请时间
   */
  applicationTime: string;

  /**
   * 承保截止时间
   */
  signEndDate: string;

  /**
   * 是否邮件通知
   */
  emailNotice: string;
  /**
   * 停售原因
   */
  stopSalesReason: string;
  /**
   * 销售渠道
   */
  channelApplicationList: List<ProdChannelApplicationVo>;
  /**
   * 销售机构
   */
  institutionApplicationList: List<ProdInstitutionApplicationVo>;
}

export interface ProdInstitutionApplicationVo {
  /**
   * 申请编码
   */
  applicationId: string | number;

  /**
   * 产品编码
   */
  productCode: string;

  /**
   * 可销售机构
   */
  salesInstitution: string;

  /**
   * 可销售状态
   */
  salesStatus: string;

  /**
   * 销售起期
   */
  salesStartDate: string;

  /**
   * 销售止期
   */
  salesEndDate: string;

  /**
   * 申请人
   */
  applicant: string;

  /**
   * 申请时间
   */
  applicationTime: string;

  /**
   * 变更内容
   */
  changeContent: string;
  /**
   * 申请状态
   */
  applicationStatus: string;

  /**
   * 销售渠道
   */
  salesChannel: string;

  /**
   * 承保截止时间
   */
  signEndDate: string;

  /**
   * 销售限额
   */
  salesLimit: string;
}

export interface ProdChannelApplicationVo {
  /**
   * 申请编码
   */
  applicationId: string | number;

  /**
   * 产品编码
   */
  productCode: string;

  /**
   * 可销售渠道
   */
  salesChannel: string;

  /**
   * 可销售状态
   */
  salesStatus: string;

  /**
   * 销售起期
   */
  salesStartDate: string;

  /**
   * 销售止期
   */
  salesEndDate: string;

  /**
   * 销售限额
   */
  salesLimit: number;

  /**
   * 申请人
   */
  applicant: string;

  /**
   * 申请时间
   */
  applicationTime: string;

  /**
   * 变更内容
   */
  changeContent: string;
  /**
   * 申请状态
   */
  applicationStatus: string;
}

export interface SalesStatusApplicationVO {
  /**
   * 申请编码
   */
  applicationId: string | number;

  /**
   * 产品编码
   */
  productCode: string;

  /**
   * 产品名称
   */
  productName: string;

  /**
   * 归属系统
   */
  system: string;

  /**
   * 产品销售状态
   */
  salesStatus: string;

  /**
   * 产品销售起期
   */
  salesStartDate: string;

  /**
   * 产品销售止期
   */
  salesEndDate: string;

  /**
   * 产品销售限额
   */
  salesLimit: number;

  /**
   * 变更内容
   */
  changeContent: string;

  /**
   * 申请状态
   */
  applicationStatus: string;

  /**
   * 申请人
   */
  applicant: string;

  /**
   * 申请时间
   */
  applicationTime: string;
}

export interface SalesStatusApplicationForm extends BaseEntity {
  /**
   * 申请编码
   */
  applicationId?: string | number;

  /**
   * 产品编码
   */
  productCode?: string;

  /**
   * 产品名称
   */
  productName?: string;

  /**
   * 归属系统
   */
  system?: string;

  /**
   * 产品销售状态
   */
  salesStatus?: string;

  /**
   * 产品销售起期
   */
  salesStartDate?: string;

  /**
   * 产品销售止期
   */
  salesEndDate?: string;

  /**
   * 产品销售限额
   */
  salesLimit?: number;

  /**
   * 变更内容
   */
  changeContent?: string;

  /**
   * 申请状态
   */
  applicationStatus?: string;

  /**
   * 申请人
   */
  applicant?: string;

  /**
   * 申请时间
   */
  applicationTime?: string;
}

export interface SalesStatusApplicationQuery extends PageQuery {
  /**
   * 产品编码
   */
  productCode?: string;

  /**
   * 产品名称
   */
  productName?: string;

  /**
   * 归属系统
   */
  system?: string;

  /**
   * 产品销售状态
   */
  salesStatus?: string;

  /**
   * 产品销售起期
   */
  salesStartDate?: string;

  /**
   * 产品销售止期
   */
  salesEndDate?: string;

  /**
   * 产品销售限额
   */
  salesLimit?: number;

  /**
   * 变更内容
   */
  changeContent?: string;

  /**
   * 申请状态
   */
  applicationStatus?: string;

  /**
   * 申请人
   */
  applicant?: string;

  /**
   * 申请时间
   */
  applicationTime?: string;

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