export interface ProjectInfoVO {
  /**
   * 项目ID
   */
  projectId: string | number;

  /**
   * 父项目ID（子项目指向研发主项目）
   */
  parentProjectId?: string | number;

  /**
   * 是否含有子项目（0否 1是，仅研发主项目使用；子项目行一般为0）
   */
  subProjectFlag?: string;

  /**
   * 有无合同（1有 2无）
   */
  contractFlag: string;

  /**
   * 项目编号
   */
  projectCode: string;

  /**
   * 项目名称
   */
  projectName: string;

  /**
   * 业务方向（1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售）
   */
  businessDirection: string;

  /**
   * 项目类别（1销售（实施、物流） 2销售（备件） 3研发 4预投 9合同订单【非项目】）
   */
  projectCategory: string;

  /**
   * 备件标识（1是 0否）
   */
  spareFlag: string;

  /**
   * 单合同标识（1是 0否）
   */
  singleContractFlag: string;

  /**
   * 项目类型ID
   */
  projectTypeId: string | number;

  /**
   * 订单类型（字典 erp_order_type）
   */
  orderType?: string;

  /**
   * 付款方式
   */
  paymentMethod: string;

  /**
   * 部门ID
   */
  deptId: string | number;

  /**
   * 项目经理
   */
  managerId: string | number;

  /**
   * 部门负责人
   */
  chargeId: string | number;

  /**
   * 分管副总
   */
  deputyId: string | number;

  /**
   * 抄送人员
   */
  peopleId: string | number;

  /**
   * 金额
   */
  amount: number;

  /**
   * 产品数量
   */
  productQty?: number;

  /**
   * 项目状态(1暂存 2审批中 3可用)
   */
  projectStatus: string;

  /**
   * 项目进度状态（文本）
   */
  projectProgressStatus?: string;

  /**
   * 项目阶段（文本）
   */
  projectPhase?: string;

  /**
   * 情况说明
   */
  situationDesc?: string;

  /**
   * 需要开展工作
   */
  requiredWork?: string;

  /**
   * 流程状态
   */
  flowStatus: string;

  /**
   * 采购状态（1未采购 2采购中 3部分采购 4已采购）
   */
  orderPurchaseStatus?: string;

  /**
   * 发货状态（1未发货 2部分发货 3已发货）
   */
  orderDeliveryStatus?: string;

  /**
   * 开票状态（1未开票 2部分开票 3已开票）
   */
  orderInvoiceStatus?: string;

  /**
   * 回款百分比（0-100）
   */
  orderPaymentRate?: number;

  /**
   * 排序号
   */
  sortOrder: number;

  /**
   * 合同ID(预留)
   */
  contractId: string | number;

  /**
   * 合同跟进人
   */
  contractUserId?: string | number;

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

  /**
   * 激活标识（1是 0否）
   */
  activeFlag: string;

  /**
   * 附件ID
   */
  ossId?: string | number;

  /**
   * 创建人用户ID（后端 Long，列表接口可能返回）
   */
  createBy?: string | number;

  deptName?: string;

  managerName?: string;

  chargeName?: string;

  deputyName?: string;

  /**
   * 合同编号
   */
  contractCode?: string;

  /**
   * 合同名称
   */
  contractName?: string;

  /**
   * 客户合同编号（来自合同表）
   */
  customerContractCode?: string;

  /**
   * 最终客户ID（来自合同表）
   */
  finalCustomerId?: string | number;
}

export interface ProjectInfoForm extends BaseEntity {
  /**
   * 项目ID
   */
  projectId?: string | number;

  /**
   * 父项目ID（子项目必填，主项目为空）
   */
  parentProjectId?: string | number;

  /**
   * 是否含有子项目（0否 1是，主项目；子项目存0）
   */
  subProjectFlag?: string;

  /**
   * 有无合同（1有 2无）
   */
  contractFlag?: string;

  /**
   * 项目编号
   */
  projectCode?: string;

  /**
   * 项目名称
   */
  projectName?: string;

  /**
   * 业务方向（1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售）
   */
  businessDirection?: string;

  /**
   * 项目类别（1销售（实施、物流） 2销售（备件） 3研发 4预投 9合同订单【非项目】）
   */
  projectCategory?: string;

  /**
   * 备件标识（1是 0否）
   */
  spareFlag?: string;

  /**
   * 单合同标识（1是 0否）
   */
  singleContractFlag?: string;

  /**
   * 项目类型ID
   */
  projectTypeId?: string | number;

  /**
   * 订单类型（字典 erp_order_type）
   */
  orderType?: string;

  /**
   * 付款方式
   */
  paymentMethod?: string;

  /**
   * 部门ID
   */
  deptId?: string | number;

  /**
   * 项目经理
   */
  managerId?: string | number;

  /**
   * 待办人类型（default本人相关 create本人创建 manager本人项目经理 all全部）
   */
  todoOwnerType?: string;

  /**
   * 部门负责人
   */
  chargeId?: string | number;

  /**
   * 分管副总
   */
  deputyId?: string | number;

  /**
   * 抄送人员
   */
  peopleId?: string | number;

  /**
   * 金额
   */
  amount?: number;

  /**
   * 产品数量
   */
  productQty?: number | null;

  /**
   * 项目状态(1暂存 2审批中 3可用)
   */
  projectStatus?: string;

  /**
   * 项目进度状态（文本）
   */
  projectProgressStatus?: string;

  /**
   * 项目阶段（文本）
   */
  projectPhase?: string;

  /**
   * 情况说明
   */
  situationDesc?: string;

  /**
   * 需要开展工作
   */
  requiredWork?: string;

  /**
   * 流程状态
   */
  flowStatus?: string;

  /**
   * 采购状态（1未采购 2采购中 3部分采购 4已采购）
   */
  orderPurchaseStatus?: string;

  /**
   * 发货状态（1未发货 2部分发货 3已发货）
   */
  orderDeliveryStatus?: string;

  /**
   * 开票状态（1未开票 2部分开票 3已开票）
   */
  orderInvoiceStatus?: string;

  /**
   * 回款百分比（0-100）
   */
  orderPaymentRate?: number;

  /**
   * 排序号
   */
  sortOrder?: number;

  /**
   * 合同ID(预留)
   */
  contractId?: string | number;

  /**
   * 合同跟进人
   */
  contractUserId?: string | number;

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

  /**
   * 激活标识（1是 0否）
   */
  activeFlag?: string;

  /**
   * 附件ID
   */
  ossId?: string | number;

  /**
   * 流程编码
   */
  flowCode?: string;

  /**
   * 流程变量
   */
  variables?: any;

  /**
   * 流程业务扩展字段
   */
  bizExt?: any;

  deptName?: string;

  managerName?: string;

  chargeName?: string;

  deputyName?: string;

  /**
   * 合同编号
   */
  contractCode?: string;

  /**
   * 合同名称
   */
  contractName?: string;

  /**
   * 客户合同编号（合同订单激活写入合同表）
   */
  customerContractCode?: string;

  /**
   * 最终客户ID（合同订单激活写入合同表）
   */
  finalCustomerId?: string | number;

  /**
   * 合同跟进人名称
   */
  contractUserName?: string;
}

export interface ProjectInfoQuery extends PageQuery {
  /**
   * 有无合同（1有 2无）
   */
  contractFlag?: string;

  /**
   * 项目编号
   */
  projectCode?: string;

  /**
   * 项目名称
   */
  projectName?: string;

  /**
   * 业务方向（1智能轮胎 2轮胎工厂 3快递物流 4锂电 5工业软件 6智能制造 7新行业及零售）
   */
  businessDirection?: string;

  /**
   * 项目类别（1销售（实施、物流） 2销售（备件） 3研发 4预投 9合同订单【非项目】）
   */
  projectCategory?: string;

  /**
   * 备件标识（1是 0否）
   */
  spareFlag?: string;

  /**
   * 单合同标识（1是 0否）
   */
  singleContractFlag?: string;

  /**
   * 项目类型ID
   */
  projectTypeId?: string | number;

  /**
   * 订单类型（字典 erp_order_type）
   */
  orderType?: string;

  /**
   * 付款方式
   */
  paymentMethod?: string;

  /**
   * 部门ID
   */
  deptId?: string | number;

  /**
   * 项目经理
   */
  managerId?: string | number;

  /**
   * 待办人类型（default本人相关 create本人创建 manager本人项目经理 all全部）
   */
  todoOwnerType?: string;

  /**
   * 部门负责人
   */
  chargeId?: string | number;

  /**
   * 分管副总
   */
  deputyId?: string | number;

  /**
   * 抄送人员
   */
  peopleId?: string | number;

  /**
   * 金额
   */
  amount?: number;

  /**
   * 项目状态(1暂存 2审批中 3可用)
   */
  projectStatus?: string;

  /**
   * 流程状态
   */
  flowStatus?: string;

  /**
   * 采购状态（1未采购 2采购中 3部分采购 4已采购）
   */
  orderPurchaseStatus?: string;

  /**
   * 发货状态（1未发货 2部分发货 3已发货）
   */
  orderDeliveryStatus?: string;

  /**
   * 开票状态（1未开票 2部分开票 3已开票）
   */
  orderInvoiceStatus?: string;

  /**
   * 回款百分比（0-100）
   */
  orderPaymentRate?: number;

  /**
   * 排序号
   */
  sortOrder?: number;

  /**
   * 合同ID(预留)
   */
  contractId?: string | number;

  /**
   * 合同跟进人
   */
  contractUserId?: string | number;

  /**
   * 激活标识（1是 0否）
   */
  activeFlag?: string;

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

  deptName?: string;

  managerName?: string;

  chargeName?: string;

  deputyName?: string;

  /**
   * 合同编号
   */
  contractCode?: string;

  /**
   * 合同名称
   */
  contractName?: string;

  /**
   * 创建人用户ID
   */
  createBy?: string | number;

  /**
   * 父项目ID
   */
  parentProjectId?: string | number;

  /**
   * 是否研发子项目（0否 1是）
   */
  subProjectFlag?: string;
}
