export interface PlanInfoVO {
  /**
   * 主键标识
   */
  planId: string | number;

  /**
   * 生产工单ID
   */
  productOrderId: string | number;

  /**
   * 销售订单ID
   */
  saleOrderId: string | number;

  /**
   * 销售订单编号
   */
  saleorderCode: string;

  /**
   * 工单编号
   */
  planCode: string;

  /**
   * 派工单号
   */
  dispatchCode: string;

  /**
   * 物料ID;成品ID
   */
  materialId: string | number;

  /**
   * 物料BOM_ID
   */
  materialBomId: string | number;

  /**
   * 工序ID
   */
  processId: string | number;

  /**
   * 顺序;派工类型是工艺路线的需要有顺序
   */
  processOrder: number;

  /**
   * 上一工序ID
   */
  lastProcessId: string | number;

  /**
   * 最后工序标识(1是 0否)
   */
  finalProcessFlag: string;

  /**
   * 下达类型(1机台 2用户 3工位)
   */
  releaseType: string;

  /**
   * 下达ID;根据选择的下达类型下发
   */
  releaseId: string | number;

  /**
   * 单位生产时间(秒)
   */
  productionTime: number;

  /**
   * 工单计划数量
   */
  planAmount: number;

  /**
   * 派工数量
   */
  dispatchAmount: number;

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

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

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

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

  /**
   * 实际完成时间
   */
  realEndTime: string;

  /**
   * 附件信息，关联附件信息主键;多个用,隔开；页面可选择附件信息，也可直接上传
   */
  attachId: string | number;

  /**
   * 工单计划状态（0未派工 1已派工 2已开始 3已完成）
   */
  planStatus: string;

  /**
   * 导入类型（0人工 1ERP）
   */
  importFlag: string;

  /**
   * 完成标识（0正常 1降级 2超额）
   */
  finishFlag: string;

  /**
   * 优先级
   */
  priority: number;

  /**
   * 班次ID
   */
  shiftId: string | number;

  /**
   * 班组ID
   */
  classTeamId: string | number;

  /**
   * 模号（1左模 2右模）
   */
  modelCode: string | number | [] | null;

  /**
   * 备注
   */
  remark: string;

  /**
   * 车间ID
   */
  workshopId: number;

  /**
   * 班次名称
   */
  shiftName: string;

  /**
   * 班次id
   */
  shifitId?: string | number;

  materialName?: string;
}

export interface PlanInfoForm extends BaseEntity {
  /**
   * 主键标识
   */
  planId?: string | number;

  /**
   * 生产工单ID
   */
  productOrderId?: string | number;

  /**
   * 销售订单ID
   */
  saleOrderId?: string | number;

  /**
   * 销售订单编号
   */
  saleorderCode?: string;

  /**
   * 工单编号
   */
  planCode?: string;

  /**
   * 派工单号
   */
  dispatchCode?: string;

  /**
   * 物料ID;成品ID
   */
  materialId?: string | number;

  /**
   * 物料BOM_ID
   */
  materialBomId?: string | number;

  /**
   * 工序ID
   */
  processId?: string | number;

  /**
   * 顺序;派工类型是工艺路线的需要有顺序
   */
  processOrder?: number;

  /**
   * 上一工序ID
   */
  lastProcessId?: string | number;

  /**
   * 最后工序标识(1是 0否)
   */
  finalProcessFlag?: string;

  /**
   * 下达类型(1机台 2用户 3工位)
   */
  releaseType?: string;

  /**
   * 下达ID;根据选择的下达类型下发
   */
  releaseId?: string | number;

  /**
   * 单位生产时间(秒)
   */
  productionTime?: number;

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

  /**
   * 派工数量
   */
  dispatchAmount?: number;

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

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

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

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

  /**
   * 实际完成时间
   */
  realEndTime?: string;

  /**
   * 附件信息，关联附件信息主键;多个用,隔开；页面可选择附件信息，也可直接上传
   */
  attachId?: string | number;

  /**
   * 工单计划状态（0未派工 1已派工 2已开始 3已完成）
   */
  planStatus?: string;

  /**
   * 导入类型（0人工 1ERP）
   */
  importFlag?: string;

  /**
   * 完成标识（0正常 1降级 2超额）
   */
  finishFlag?: number | string | [];

  /**
   * 优先级
   */
  priority?: number;

  /**
   * 班次ID
   */
  shiftId?: string | number;

  /**
   * 班组ID
   */
  classTeamId?: string | number;

  /**
   * 模号（1左模 2右模）
   */
  modelCode?: number | string | [] | null;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 车间ID
   */
  workshopId?: number;

  materialBoMName?: string | number;

  materialIdL?: string | number;
  materialNameL?: string | number;
  materialIdR?: string | number;
  materialNameR?: string | number;
  materialBoMIdL?: string | number;
  materialBoMNameL?: string | number;
  materialBoMIdR?: string | number;
  materialBoMNameR?: string | number;

  /**
   * 班次id
   */
  shifitId?: string | number;

  /**
   * 班次名称
   */
  shiftName: string;

  materialName?: string;

}

export interface PlanInfoQuery extends PageQuery {

  /**
   * 主键标识
   */
  planId?: string | number;

  /**
   * 生产工单ID
   */
  productOrderId?: string | number;

  /**
   * 销售订单ID
   */
  saleOrderId?: string | number;

  /**
   * 销售订单编号
   */
  saleorderCode?: string;

  /**
   * 工单编号
   */
  planCode?: string;

  /**
   * 派工单号
   */
  dispatchCode?: string;

  /**
   * 物料ID;成品ID
   */
  materialId?: string | number;

  /**
   * 物料BOM_ID
   */
  materialBomId?: string | number;

  /**
   * 工序ID
   */
  processId?: string | number;

  /**
   * 顺序;派工类型是工艺路线的需要有顺序
   */
  processOrder?: number;

  /**
   * 上一工序ID
   */
  lastProcessId?: string | number;

  /**
   * 最后工序标识(1是 0否)
   */
  finalProcessFlag?: string;

  /**
   * 下达类型(1机台 2用户 3工位)
   */
  releaseType?: string;

  /**
   * 下达ID;根据选择的下达类型下发
   */
  releaseId?: string | number;

  /**
   * 单位生产时间(秒)
   */
  productionTime?: number;

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

  /**
   * 派工数量
   */
  dispatchAmount?: number;

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

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

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

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

  /**
   * 实际完成时间
   */
  realEndTime?: string;

  /**
   * 附件信息，关联附件信息主键;多个用,隔开；页面可选择附件信息，也可直接上传
   */
  attachId?: string | number;

  /**
   * 工单计划状态（0未派工 1已派工 2已开始 3已完成）
   */
  planStatus?: string;

  /**
   * 导入类型（0人工 1ERP）
   */
  importFlag?: string;

  /**
   * 完成标识（0正常 1降级 2超额）
   */
  finishFlag?: string;

  /**
   * 优先级
   */
  priority?: number;

  /**
   * 班次ID
   */
  shiftId?: string | number;

  /**
   * 班组ID
   */
  classTeamId?: string | number;

  /**
   * 模号（1左模 2右模）
   */
  modelCode?: string;

  /**
   * 车间ID
   */
  workshopId?: number;

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


  /**
   * 班次名称
   */
  shiftName: string;

  /**
   * 班次id
   */
  shifitId?: string | number;

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

// 计划监控班次分组视图对象
export interface ShiftGroupVO {
  /**
   * 班次ID
   */
  shiftId: string | number;

  /**
   * 班次名称
   */
  shiftName: string;

  /**
   * 该班次下的物料计划列表
   */
  plans: PlanInfoVO[];
}

// 生产计划监控视图对象
export interface PlanMonitorVO {
  /**
   * 机台ID
   */
  machineId: string | number;

  /**
   * 机台名称
   */
  machineName: string;

  /**
   * 班次分组列表
   */
  shifts: ShiftGroupVO[];
}



