import { BaseProcessResourceVO } from "../baseProcessResource/types";

export interface BaseProcessInfoVO {
  /**
   * 主键标识
   */
  processId: string | number;

  /**
   * 工序编号
   */
  processCode: string;

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

  /**
   * 工序类别（1生产工序 2质检工序）
   */
  processType: string;

  /**
   * 工序顺序（弃用）
   */
  processQueue: number;

  /**
   * 单位生产时间（秒）;页面显示小时和分钟，就是标准工时，完成一个产品的制造所需的时间
   */
  productionTime: number;

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

  /**
   * 委外标识（1自制 2委外）
   */
  outsourcingFlag: string;

  /**
   * 工序生产类型（1投料 2加工 3装配）
   */
  processProductionType: string;

  /**
   * 默认产出率（%），公式：合格数/投入数
   */
  defaultYieldRate: number;

  /**
   * 损耗率（%），公式：废品/不可修复不良品占比
   */
  lossRate: number;

  /**
   * 返修率（%），公式：返修品/投入数
   */
  reworkRate: number;

  /**
   * 领料方式（1领料单 2申请领料 3生产叫料）
   */
  materialMethod: string;

  /**
   * 委外提前期（秒）
   */
  leadTime: number;

  /**
   * 准备时间（秒）
   */
  setupTime: number;

  /**
   * 加工时间（秒）
   */
  processingTime: number;

  /**
   * 拆卸时间（秒）
   */
  disassemblyTime: number;

  /**
   * 理论生产节拍（秒/件）
   */
  theoreticalCycleTime: number;

  /**
   * 质检方式（1免检 2自检 3质量检验）
   */
  inspectionMethod: string;

  /**
   * 激活标识(1是 0否)
   */
  activeFlag: string;

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

  /**
   * 创建部门
   */
  createDept: number;

  /**
   * 创建人
   */
  createBy: number;

  /**
   * 创建时间
   */
  createTime: string;

  /**
   * 更新人
   */
  updateBy: number;

  /**
   * 更新时间
   */
  updateTime: string;

  prodBaseProcessProdlineVoList?: ProdBaseProcessProdLine[];
  prodBaseProcessUserVoList?: ProdBaseProcessUser[];
  prodBaseProcessProdlineBoList?: ProdBaseProcessProdLine[];
  prodBaseProcessUserBoList?: ProdBaseProcessUser[];

}

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

  /**
   * 工序编号
   */
  processCode?: string;

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

  /**
   * 工序类别（1生产工序 2质检工序）
   */
  processType?: string;

  /**
   * 工序顺序（弃用）
   */
  processQueue?: number;

  /**
   * 单位生产时间（秒）;页面显示小时和分钟，就是标准工时，完成一个产品的制造所需的时间
   */
  productionTime?: number;

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

  /**
   * 委外标识（1自制 2委外）
   */
  outsourcingFlag?: string;

  /**
   * 工序生产类型（1投料 2加工 3装配）
   */
  processProductionType?: string;

  /**
   * 默认产出率（%），公式：合格数/投入数
   */
  defaultYieldRate?: number;

  /**
   * 损耗率（%），公式：废品/不可修复不良品占比
   */
  lossRate?: number;

  /**
   * 返修率（%），公式：返修品/投入数
   */
  reworkRate?: number;

  /**
   * 领料方式（1领料单 2申请领料 3生产叫料）
   */
  materialMethod?: string;

  /**
   * 委外提前期（秒）
   */
  leadTime?: number;

  /**
   * 准备时间（秒）
   */
  setupTime?: number;

  /**
   * 加工时间（秒）
   */
  processingTime?: number;

  /**
   * 拆卸时间（秒）
   */
  disassemblyTime?: number;

  /**
   * 理论生产节拍（秒/件）
   */
  theoreticalCycleTime?: number;

  /**
   * 质检方式（1免检 2自检 3质量检验）
   */
  inspectionMethod?: string;

  /**
   * 激活标识(1是 0否)
   */
  activeFlag?: string;

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

  productionTimeDays?: number;
  productionTimeHours?: number;
  productionTimeMinutes?: number;


  prodBaseProcessProdlineVoList?: ProdBaseProcessProdLine[];
  prodBaseProcessUserVoList?: ProdBaseProcessUser[];
  prodBaseProcessProdlineBoList?: ProdBaseProcessProdLine[];
  prodBaseProcessUserBoList?: ProdBaseProcessUser[];
  prodBaseProcessResourceList?: BaseProcessResourceVO[];
}

export interface BaseProcessInfoQuery extends PageQuery {

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

  /**
   * 工序编号
   */
  processCode?: string;

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

  /**
   * 工序类别（1生产工序 2质检工序）
   */
  processType?: string;

  /**
   * 工序顺序（弃用）
   */
  processQueue?: number;

  /**
   * 单位生产时间（秒）;页面显示小时和分钟，就是标准工时，完成一个产品的制造所需的时间
   */
  productionTime?: number;

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

  /**
   * 委外标识（1自制 2委外）
   */
  outsourcingFlag?: string;

  /**
   * 工序生产类型（1投料 2加工 3装配）
   */
  processProductionType?: string;

  /**
   * 默认产出率（%），公式：合格数/投入数
   */
  defaultYieldRate?: number;

  /**
   * 损耗率（%），公式：废品/不可修复不良品占比
   */
  lossRate?: number;

  /**
   * 返修率（%），公式：返修品/投入数
   */
  reworkRate?: number;

  /**
   * 领料方式（1领料单 2申请领料 3生产叫料）
   */
  materialMethod?: string;

  /**
   * 委外提前期（秒）
   */
  leadTime?: number;

  /**
   * 准备时间（秒）
   */
  setupTime?: number;

  /**
   * 加工时间（秒）
   */
  processingTime?: number;

  /**
   * 拆卸时间（秒）
   */
  disassemblyTime?: number;

  /**
   * 理论生产节拍（秒/件）
   */
  theoreticalCycleTime?: number;

  /**
   * 质检方式（1免检 2自检 3质量检验）
   */
  inspectionMethod?: string;

  /**
   * 激活标识(1是 0否)
   */
  activeFlag?: string;

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

  prodBaseProcessProdlineV0List?: ProdBaseProcessProdLine[];
  prodBaseProcessUserV0List?: ProdBaseProcessUser[];
  prodBaseProcessProdlineBoList?: ProdBaseProcessProdLine[];
  prodBaseProcessUserBoList?: ProdBaseProcessUser[];
}

export interface ProdBaseProcessProdLine {
  /**
   * 工序ID
   */
  processId: string | number;

  /**
   * 所属产线ID
   */
  prodLineId: string | number;

  /**
   * 租户编号
   */
  tenantId: string | number;

  /**
   * 创建人
   */
  createBy: string;

  /**
   * 创建时间
   */
  createTime: string;

}


export interface ProdBaseProcessUser {
  /**
   * 工序ID
   */
  processId: string | number;

  /**
   * 用户ID
   */
  userId: string | number;

  /**
   * 租户编号
   */
  tenantId: string | number;

  /**
   * 用户名称
   */
  userName: string;

  /**
   * 创建人
   */
  createBy: string;

  /**
   * 创建时间
   */
  createTime: string;

}







