export interface ProcessProgressVO {
  /**
   * 工序ID
   */
  processId?: number;

  /**
   * 工序名称
   */
  processName?: string;

  /**
   * 工序顺序
   */
  processOrder?: number;

  /**
   * 工序状态
   */
  planStatus?: string;

  /**
   * 工序状态描述
   */
  statusDesc?: string;

  /**
   * 是否已完成
   */
  isCompleted?: boolean;

  /**
   * 是否进行中
   */
  isInProgress?: boolean;

  /**
   * 计划数量
   */
  planAmount?: number;

  /**
   * 完成数量
   */
  completeAmount?: number;

  /**
   * 剩余数量
   */
  remainingAmount?: number;

  /**
   * 工序进度百分比
   */
  processProgress?: number;

  /**
   * 计划开始时间
   */
  planBeginTime?: string;

  /**
   * 计划结束时间
   */
  planEndTime?: string;

  /**
   * 实际开始时间
   */
  realBeginTime?: string;

  /**
   * 实际结束时间
   */
  realEndTime?: string;
}

export interface WipTrackingReportVO {
  /**
   * 产品订单ID
   */
  productOrderId?: number;

  /**
   * 生产订单号
   */
  orderCode?: string;

  /**
   * 物料编号
   */
  materialCode?: string;

  /**
   * 物料名称
   */
  materialName?: string;

  /**
   * 规格型号
   */
  materialSpec?: string;

  /**
   * 计划总数量
   */
  planAmount?: number;

  /**
   * 在制数量
   */
  wipAmount?: number;

  /**
   * 已完成数量
   */
  completeAmount?: number;

  /**
   * 计划开工时间
   */
  planBeginTime?: string;

  /**
   * 实际开工时间
   */
  realBeginTime?: string;

  /**
   * 计划完工时间
   */
  planEndTime?: string;

  /**
   * 当前时间
   */
  currentTime?: string;

  /**
   * 总工序数
   */
  totalProcessCount?: string;

  /**
   * 在制工序
   */
  wipProcesses?: string;

  /**
   * 剩余工序
   */
  remainingProcesses?: string;

  /**
   * 整体进度（%）
   */
  overallProgress?: string;

  /**
   * 进度状态
   */
  progressStatus?: string;

  /**
   * 总工序数（数值）
   */
  totalProcessCountNum?: number;

  /**
   * 在制工序加权和
   */
  wipWeightedSum?: number;

  /**
   * 整体进度（数值）
   */
  overallProgressNum?: number;

  /**
   * 工序进度列表
   */
  processProgressList?: ProcessProgressVO[];
}

export interface WipTrackingReportQuery extends PageQuery {
  /**
   * 开始日期
   */
  beginDate?: string;

  /**
   * 结束日期
   */
  endDate?: string;

  /**
   * 生产订单号
   */
  orderCode?: string;

  /**
   * 物料名称
   */
  materialName?: string;

  /**
   * 物料编号
   */
  materialCode?: string;

  /**
   * 进度状态
   */
  progressStatus?: string;
}

export interface PageQuery {
  pageNum?: number;
  pageSize?: number;
}