/**
 * 项目：-
 * @Author: xiongwei
 * @Date: 2022-06-28 11:50:00
 */

import { BasePageParams, PageResult, ApiResponse } from './baseModel';
import { BatchOrder } from './batchOrder';
import { BatchOrderDetail } from './batchOrderDetail';
import { Hospital } from './hospital';

export interface OperationOrderParams extends BasePageParams {
  /**
   * ID系统自动生成
   */
  id?: number;
  /**
   * ID系统自动生成 IN值List
   */
  idList?: Array<number>;
  /**
   * 经销商id
   */
  distributorId?: number;
  /**
   * 订单编号
   */
  orderSn?: string;
  /**
   * 产品线名称
   */
  productLineName?: string;
  /**
   * 医院id
   */
  hospitalId?: number;
  /**
   * 业务员id
   */
  saleUserId?: number;
  /**
   * 业务员名称
   */
  saleUserName?: string;
  /**
   * 医生id
   */
  doctorId?: number;
  /**
   * 医生名称
   */
  doctorName?: string;
  /**
   * 手术名称
   */
  surgicalName?: string;
  /**
   * 手术时间
   */
  surgicalTime?: Date;
  /**
   * 手术时间 下限值(大于等于)
   */
  surgicalTimeFrom?: Date;
  /**
   * 手术时间 上限值(小于)
   */
  surgicalTimeTo?: Date;
  /**
   * 送达时间
   */
  deliveryTime?: Date;
  /**
   * 送达时间 下限值(大于等于)
   */
  deliveryTimeFrom?: Date;
  /**
   * 送达时间 上限值(小于)
   */
  deliveryTimeTo?: Date;
  /**
   * 是否需要配套工具
   */
  needTool?: String;
  /**
   * 是否需要配套工具 IN值List
   */
  needToolList?: Array<string>;
  /**
   * 物流方式
   */
  logisticsMode?: string;
  /**
   * 接收人姓名
   */
  receiveName?: string;
  /**
   * 接收人电话
   */
  receivePhone?: string;
  /**
   * 收货地址
   */
  address?: string;
  /**
   * 状态
   */
  status?: String;
  /**
   * 状态 IN值List
   */
  statusList?: Array<string>;
  /**
   * 是否是主订单
   */
  type?: String;
  /**
   * 是否是主订单 IN值List
   */
  typeList?: Array<string>;
  /**
   * 备注
   */
  remark?: string;
  /**
   * 是否删除
   */
  deleteStatus?: String;
  /**
   * 是否删除 IN值List
   */
  deleteStatusList?: Array<string>;
  /**
   * 操作人ID
   */
  editorId?: number;
  /**
   * 操作人
   */
  editorName?: string;
  /**
   * create_time
   */
  createTime?: Date;
  /**
   *  下限值(大于等于)
   */
  createTimeFrom?: Date;
  /**
   *  上限值(小于)
   */
  createTimeTo?: Date;
  /**
   * update_time
   */
  updateTime?: Date;
  /**
   *  下限值(大于等于)
   */
  updateTimeFrom?: Date;
  /**
   *  上限值(小于)
   */
  updateTimeTo?: Date;
  /**
   * 其他参数
   */
  [key: string]: any;
}

export interface OperationOrder {
  /**
   * ID系统自动生成
   */
  id?: number;
  /**
   * ID系统自动生成
   */
  operationOrderDetailList?: Array<OperationOrderDetail>;
  /**
   * 经销商id
   */
  distributorId?: number;
  /**
   * 订单编号
   */
  orderSn?: string;
  /**
   * 产品线名称
   */
  productLineName?: string;
  /**
   * 医院id
   */
  hospitalId?: number;
  /**
   * 医院id
   */
  hospital?: Hospital;
  /**
   * 业务员id
   */
  saleUserId?: number;
  /**
   * 业务员名称
   */
  saleUserName?: string;
  /**
   * 医生id
   */
  doctorId?: number;
  /**
   * 医生名称
   */
  doctorName?: string;
  /**
   * 手术名称
   */
  surgicalName?: string;
  /**
   * 手术时间
   */
  surgicalTime?: Date;
  /**
   * 送达时间
   */
  deliveryTime?: Date;
  /**
   * 是否需要配套工具
   */
  needTool?: String;
  /**
   * 物流方式
   */
  logisticsMode?: string;
  /**
   * 接收人姓名
   */
  receiveName?: string;
  /**
   * 接收人电话
   */
  receivePhone?: string;
  /**
   * 收货地址
   */
  address?: string;
  /**
   * 状态
   */
  status?: String;
  /**
   * 是否是主订单
   */
  type?: String;
  /**
   * 备注
   */
  remark?: string;
  /**
   * 是否删除
   */
  deleteStatus?: String;
  /**
   * 操作人ID
   */
  editorId?: number;
  /**
   * 操作人
   */
  editorName?: string;
  /**
   * create_time
   */
  createTime?: Date;
  /**
   * update_time
   */
  updateTime?: Date;
  batchOrderDetailList: BatchOrderDetail[];
}

export type OperationOrderPageResult = PageResult<OperationOrder>;

export type OperationOrderPageResponse = ApiResponse<OperationOrderPageResult>;

export type OperationOrderResponse = ApiResponse<OperationOrder>;
