import { ShipmentPlanVO } from '@/api/amz/shipmentPlan/types';
import { PackingSpecsVO } from '@/api/amz/packingSpecs/types';
import { SendOrderItemVO } from '@/api/amz/sendOrderItem/types';

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

  /**
   * 采购单号
   */
  orderSn: string;

  /**
   * 发货日期
   */
  sendDate: string;

  /**
   * 采购店铺
   */
  storeName: string;

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

  /**
   * 发货数量
   */
  quantitySend: number;

  /**
   * 单箱产品数量
   */
  quantityPerBox: number;

  /**
   * 箱数
   */
  boxCount: number;

  /**
   * 箱子尺寸
   */
  boxDimensions: string;

  /**
   * 单箱重量
   */
  weightPerBox: number;

  /**
   * 实际采购店铺
   */
  realStoreName: string;

  /**
   * 发货状态（pending=未发货，confirm=确认发货, processing=发货中，completed=发货完成）
   */
  sendStatus: string;

  createTime: string;

  sendName: string;
  items?: SendOrderItemVO[];

  bizShipmentPlans: ShipmentPlanVO[];
}

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

  /**
   * 采购单号
   */
  orderSn?: string;

  /**
   * 发货日期
   */
  sendDate?: string;

  /**
   * 采购店铺
   */
  storeName?: string;

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

  /**
   * 发货数量
   */
  quantitySend?: number;

  /**
   * 单箱产品数量
   */
  quantityPerBox?: number;

  /**
   * 箱数
   */
  boxCount?: number;

  /**
   * 箱子尺寸
   */
  boxDimensions?: string;

  /**
   * 单箱重量
   */
  weightPerBox?: number;

  /**
   * 实际采购店铺
   */
  realStoreName?: string;

  /**
   * 发货状态（pending=未发货，confirm=确认发货, processing=发货中，completed=发货完成）
   */
  sendStatus?: string;

  sendDetail?: string;

  sendName?: string;
  sku?: string | number;

  orderDetailId?: string | number;

  packingSpecsList?: PackingSpecsVO[];
}

export interface SendOrderQuery extends PageQuery {
  /**
   * 采购单号
   */
  orderSn?: string;

  /**
   * 发货日期
   */
  sendDate?: string;

  /**
   * 采购店铺
   */
  storeName?: string;

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

  /**
   * 发货数量
   */
  quantitySend?: number;

  /**
   * 单箱产品数量
   */
  quantityPerBox?: number;

  /**
   * 箱数
   */
  boxCount?: number;

  /**
   * 箱子尺寸
   */
  boxDimensions?: string;

  /**
   * 单箱重量
   */
  weightPerBox?: number;

  /**
   * 实际采购店铺
   */
  realStoreName?: string;

  /**
   * 发货状态（pending=未发货，confirm=确认发货, processing=发货中，completed=发货完成）
   */
  sendStatus?: string;

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