import { PurchaseOrderVO } from '@/api/amz/purchaseOrder/types';
import { OrderOutItemVO } from '@/api/amz/purchaseOutOrderItem/types';

export interface PurchaseOutOrderVO {
  /**
   * 订单唯一编号
   */
  orderSn: string;

  /**
   * 仓库名称
   */
  warehouseName: string;

  /**
   * 外包仓库名称
   */
  outsourceWarehouseName: string;

  /**
   * 供应商名称
   */
  supplierName: string;

  /**
   * 业务创建时间 (Jackson格式: yyyy-MM-dd HH:mm:ss)
   */
  bizCreateTime: string;

  /**
   * 状态文本描述
   */
  statusText: string;

  /**
   * 创建人姓名
   */
  createRealname: string;

  /**
   * PTP流水号
   */
  ptpSn: string;

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

  /**
   * 标准SKU编码
   */
  sku: string;

  /**
   * FNSKU编码
   */
  fnsku: string;

  /**
   * 外包数量
   */
  outsourceQuantity: number;

  /**
   * 实收数量
   */
  receiveQuantity: number;

  /**
   * 预计到达时间
   */
  expectArriveTime: string;

  /**
   * MSKU编码列表 (数组存储)
   */
  msku: string;

  /**
   * 关联计划单号列表 (数组存储)
   */
  planSn: string;

  items?: OrderOutItemVO[];

  /**
   * 销售商名称
   */
  sellerName: string;
}

export interface PurchaseOutOrderForm extends BaseEntity {
  /**
   * 订单唯一编号
   */
  orderSn?: string;

  /**
   * 仓库名称
   */
  warehouseName?: string;

  /**
   * 外包仓库名称
   */
  outsourceWarehouseName?: string;

  /**
   * 供应商名称
   */
  supplierName?: string;

  /**
   * 业务创建时间 (Jackson格式: yyyy-MM-dd HH:mm:ss)
   */
  bizCreateTime?: string;

  /**
   * 状态文本描述
   */
  statusText?: string;

  /**
   * 创建人姓名
   */
  createRealname?: string;

  /**
   * PTP流水号
   */
  ptpSn?: string;

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

  /**
   * 标准SKU编码
   */
  sku?: string;

  /**
   * FNSKU编码
   */
  fnsku?: string;

  /**
   * 外包数量
   */
  outsourceQuantity?: number;

  /**
   * 实收数量
   */
  receiveQuantity?: number;

  /**
   * 预计到达时间
   */
  expectArriveTime?: string;

  /**
   * MSKU编码列表 (数组存储)
   */
  msku?: string;

  /**
   * 关联计划单号列表 (数组存储)
   */
  planSn?: string;

  /**
   * 销售商名称
   */
  sellerName?: string;

  items?: OrderOutItemVO[];

  quantityLeft?: number;
  quantityShipped?: number;
}

export interface PurchaseOutOrderQuery extends PageQuery {
  /**
   * 订单唯一编号
   */
  orderSn?: string;

  /**
   * 仓库名称
   */
  warehouseName?: string;

  /**
   * 外包仓库名称
   */
  outsourceWarehouseName?: string;

  /**
   * 供应商名称
   */
  supplierName?: string;

  /**
   * 业务创建时间 (Jackson格式: yyyy-MM-dd HH:mm:ss)
   */
  bizCreateTime?: string;

  /**
   * 状态文本描述
   */
  statusText?: string;

  /**
   * 创建人姓名
   */
  createRealname?: string;

  /**
   * PTP流水号
   */
  ptpSn?: string;

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

  /**
   * 标准SKU编码
   */
  sku?: string;

  /**
   * FNSKU编码
   */
  fnsku?: string;

  /**
   * 外包数量
   */
  outsourceQuantity?: number;

  /**
   * 实收数量
   */
  receiveQuantity?: number;

  /**
   * 预计到达时间
   */
  expectArriveTime?: string;

  /**
   * MSKU编码列表 (数组存储)
   */
  msku?: string;

  /**
   * 关联计划单号列表 (数组存储)
   */
  planSn?: string;

  /**
   * 销售商名称
   */
  sellerName?: string;

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