export interface LogisticsOrderDetailVO {
  /**
   * 主键（应用层生成的全局唯一ID）
   */
  id: string | number;

  /**
   * 关联主表ID（biz_logistics_order.id）
   */
  orderId: string | number;

  /**
   * FBA货件编号（冗余存储，避免联表查询）
   */
  fbaShipmentId: string | number;

  /**
   * FBA箱号（亚马逊系统中箱子的唯一标识）
   */
  fbaBoxNumber: string;

  /**
   * 物流商ID（冗余存储）
   */
  logisticsProviderId: string | number;

  /**
   * 物流商名称（冗余存储）
   */
  logisticsProviderName: string | number;

  /**
   * 物流渠道（与主表一致）
   */
  logisticsChannel: string;

  /**
   * 目的地仓库（冗余存储）
   */
  destination: string;

  /**
   * 计划数量（该箱子预计装载的商品数量）
   */
  plannedQuantity: number;

  /**
   * 实际货件数量（该箱子实际装载的商品数量）
   */
  shipmentQuantity: number;

  /**
   * 物流追踪号（物流商提供的唯一包裹标识）
   */
  trackingNumber: string;

  /**
   * 供应商称重-总重量（单位：KG，由供应商提供）
   */
  supplierWeight: number;

  /**
   * 物流商计重（单位：KG，物流商实际测量值）
   */
  logisticsWeight: string;

  totalPrice?: number;

  length?: string;
  width?: string;
  height?: string;
  totalVolume?: number;

  /**
   * 称重差异（应用层计算：物流商计重 - 供应商称重-总重量）
   */
  weightDiff: number;

  /**
   * 物流单价（单位：元/KG，由合同或报价确定）
   */
  pricePerKg: number;

  /**
   * 物流计价重量（应用层根据业务规则计算）
   */
  logisticsCalculationPrice: number;

  /**
   * 其他物流费用（如报关费、保险费等）
   */
  otherFee: number;

  /**
   * 费用合计（应用层计算：物流计价 + 其他费用）
   */
  totalFee: number;

  /**
   * 物流状态（pending:待发运/in_transit:运输中/delivered:已签收）
   */
  logisticsStatus: string;

  /**
   * 预计签收日期（物流商提供的预估日期）
   */
  estimatedDeliveryDate: string;

  /**
   * 实际签收日期（物流商回传的实际日期）
   */
  actualDeliveryDate: string;

  /**
   * 运输时效（单位：天，实际签收日期 - 发货日期）
   */
  timeliness: number;
}

export interface LogisticsOrderDetailForm extends BaseEntity {
  /**
   * 主键（应用层生成的全局唯一ID）
   */
  id?: string | number;

  /**
   * 关联主表ID（biz_logistics_order.id）
   */
  orderId?: string | number;

  /**
   * FBA货件编号（冗余存储，避免联表查询）
   */
  fbaShipmentId?: string | number;

  /**
   * FBA箱号（亚马逊系统中箱子的唯一标识）
   */
  fbaBoxNumber?: string;

  /**
   * 物流商ID（冗余存储）
   */
  logisticsProviderId?: string | number;

  /**
   * 物流商名称（冗余存储）
   */
  logisticsProviderName?: string | number;

  /**
   * 物流渠道（与主表一致）
   */
  logisticsChannel?: string;

  /**
   * 目的地仓库（冗余存储）
   */
  destination?: string;

  /**
   * 计划数量（该箱子预计装载的商品数量）
   */
  plannedQuantity?: number;

  /**
   * 实际货件数量（该箱子实际装载的商品数量）
   */
  shipmentQuantity?: number;

  /**
   * 物流追踪号（物流商提供的唯一包裹标识）
   */
  trackingNumber?: string;

  /**
   * 供应商称重-总重量（单位：KG，由供应商提供）
   */
  supplierWeight?: number;

  /**
   * 物流商计重（单位：KG，物流商实际测量值）
   */
  logisticsWeight?: number;

  /**
   * 称重差异（应用层计算：物流商计重 - 供应商称重-总重量）
   */
  weightDiff?: number;

  /**
   * 物流单价（单位：元/KG，由合同或报价确定）
   */
  pricePerKg?: number;

  /**
   * 物流计价重量（应用层根据业务规则计算）
   */
  logisticsCalculationPrice?: number;

  /**
   * 其他物流费用（如报关费、保险费等）
   */
  otherFee?: number;

  /**
   * 费用合计（应用层计算：物流计价 + 其他费用）
   */
  totalFee?: number;

  /**
   * 物流状态（pending:待发运/in_transit:运输中/delivered:已签收）
   */
  logisticsStatus?: string;

  /**
   * 预计签收日期（物流商提供的预估日期）
   */
  estimatedDeliveryDate?: string;

  /**
   * 实际签收日期（物流商回传的实际日期）
   */
  actualDeliveryDate?: string;

  /**
   * 运输时效（单位：天，实际签收日期 - 发货日期）
   */
  timeliness?: number;
}

export interface LogisticsOrderDetailQuery extends PageQuery {
  /**
   * 关联主表ID（biz_logistics_order.id）
   */
  orderId?: string | number;

  /**
   * FBA货件编号（冗余存储，避免联表查询）
   */
  fbaShipmentId?: string | number;

  /**
   * FBA箱号（亚马逊系统中箱子的唯一标识）
   */
  fbaBoxNumber?: string;

  /**
   * 物流商ID（冗余存储）
   */
  logisticsProviderId?: string | number;

  /**
   * 物流商名称（冗余存储）
   */
  logisticsProviderName?: string | number;

  /**
   * 物流渠道（与主表一致）
   */
  logisticsChannel?: string;

  /**
   * 目的地仓库（冗余存储）
   */
  destination?: string;

  /**
   * 计划数量（该箱子预计装载的商品数量）
   */
  plannedQuantity?: number;

  /**
   * 实际货件数量（该箱子实际装载的商品数量）
   */
  shipmentQuantity?: number;

  /**
   * 物流追踪号（物流商提供的唯一包裹标识）
   */
  trackingNumber?: string;

  /**
   * 供应商称重-总重量（单位：KG，由供应商提供）
   */
  supplierWeight?: number;

  /**
   * 物流商计重（单位：KG，物流商实际测量值）
   */
  logisticsWeight?: number;

  /**
   * 称重差异（应用层计算：物流商计重 - 供应商称重-总重量）
   */
  weightDiff?: number;

  /**
   * 物流单价（单位：元/KG，由合同或报价确定）
   */
  pricePerKg?: number;

  /**
   * 物流计价重量（应用层根据业务规则计算）
   */
  logisticsCalculationPrice?: number;

  /**
   * 其他物流费用（如报关费、保险费等）
   */
  otherFee?: number;

  /**
   * 费用合计（应用层计算：物流计价 + 其他费用）
   */
  totalFee?: number;

  /**
   * 物流状态（pending:待发运/in_transit:运输中/delivered:已签收）
   */
  logisticsStatus?: string;

  /**
   * 预计签收日期（物流商提供的预估日期）
   */
  estimatedDeliveryDate?: string;

  /**
   * 实际签收日期（物流商回传的实际日期）
   */
  actualDeliveryDate?: string;

  /**
   * 运输时效（单位：天，实际签收日期 - 发货日期）
   */
  timeliness?: number;

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