export interface ContractChangeVO {
  /**
   * 合同变更ID
   */
  contractChangeId: string | number;

  /**
   * 原合同ID
   */
  contractId: string | number;

  /**
   * 内容变更生成的新合同ID（仅变更类型=1时返回）
   */
  newContractId?: string | number;

  /**
   * 变更单编号
   */
  changeCode: string;

  /**
   * 变更类型(1内容变更 2解除合同)
   */
  changeType: string;

  /**
   * 合同编号
   */
  changeContractCode: string;

  /**
   * 合同名称
   */
  changeContractName: string;

  /**
   * 客户名称
   */
  customerName: string;

  /**
   * 合同金额
   */
  changeContractAmount: number;

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

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

  /**
   * 原客户名称
   */
  originalCustomerName: string;

  /**
   * 原合同金额
   */
  originalContractAmount: number;

  /**
   * 变更原因
   */
  changeReason: string;

  /**
   * 申请时间
   */
  applyTime: string;

  /**
   * 承办部门
   */
  undertakeDeptId: string | number;

  /**
   * 承办部门名称（列表连表）
   */
  undertakeDeptName?: string;

  /**
   * 承办人
   */
  undertakeBy: number;

  /**
   * 承办人姓名（列表连表）
   */
  undertakeByName?: string;

  /**
   * 行业/大区
   */
  industryRegion: string;

  /**
   * 业务方向（字典，取自原合同）
   */
  businessDirection?: string;

  /**
   * 印章法人单位（1公章 2法人章 3合同章 4销售合同章）
   */
  sealLegalEntity: string;

  /**
   * 变更状态(1暂存 2审批中 3可用)
   */
  changeStatus: string;

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

  /**
   * 是否已回写(0否 1是)
   */
  writeBackFlag: string;

  /**
   * 回写时间
   */
  writeBackTime: string;

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

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

  /**
   * 删除标志(0存在 1删除)
   */
  delFlag: string;

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

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

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

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

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

}

export interface ContractChangeForm extends BaseEntity {
  /**
   * 合同变更ID
   */
  contractChangeId?: string | number;

  /**
   * 原合同ID
   */
  contractId?: string | number;

  /**
   * 内容变更生成的新合同ID（仅变更类型=1时返回）
   */
  newContractId?: string | number;

  /**
   * 变更单编号
   */
  changeCode?: string;

  /**
   * 变更类型(1内容变更 2解除合同)
   */
  changeType?: string;

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

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

  /**
   * 客户名称
   */
  customerName?: string;

  /**
   * 合同金额
   */
  changeContractAmount?: number;

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

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

  /**
   * 原客户名称
   */
  originalCustomerName?: string;

  /**
   * 原合同金额
   */
  originalContractAmount?: number;

  /**
   * 变更原因
   */
  changeReason?: string;

  /**
   * 申请时间
   */
  applyTime?: string;

  /**
   * 承办部门
   */
  undertakeDeptId?: string | number;

  /**
   * 承办人
   */
  undertakeBy?: number;

  /**
   * 行业/大区
   */
  industryRegion?: string;

  /**
   * 业务方向（字典，取自原合同）
   */
  businessDirection?: string;

  /**
   * 印章法人单位（1公章 2法人章 3合同章 4销售合同章）
   */
  sealLegalEntity?: string;

  /**
   * 变更状态(1暂存 2审批中 3可用)
   */
  changeStatus?: string;

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

  /**
   * 是否已回写(0否 1是)
   */
  writeBackFlag?: string;

  /**
   * 回写时间
   */
  writeBackTime?: string;

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

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

}

/** 合同变更保存表单（主表+信息快照+物料+付款方式 一次提交） */
export interface ContractChangeSaveForm {
  contractChangeId?: string | number;
  contractId: string | number;
  changeType: string;
  newContractId?: string | number;
  changeCode?: string;
  changeReason: string;
  applyTime?: string;
  undertakeDeptId?: string | number;
  undertakeBy?: number;
  industryRegion?: string;
  businessDirection?: string;
  sealLegalEntity?: string;
  changeStatus?: string;
  flowStatus?: string;
  remark?: string;
  activeFlag?: string;
  contractCode?: string;
  contractName?: string;
  originalCustomerName?: string;
  originalContractAmount?: number;
  changeContractCode?: string;
  changeContractName?: string;
  customerName?: string;
  changeContractAmount?: number;
  changeInfo?: any;
  changeMaterialList?: any[];
  changePaymentMethodList?: any[];
  /** 流程定义编码（提交审批时） */
  flowCode?: string;
  /** 流程变量（提交审批时） */
  variables?: Record<string, any>;
  /** 流程实例业务扩展（提交审批时） */
  bizExt?: { businessTitle?: string; businessCode?: string; businessId?: string };
}

/** 合同变更详情（主表+信息+物料+付款方式） */
export interface ContractChangeDetailVO {
  main?: ContractChangeVO;
  changeInfo?: any;
  changeMaterialList?: any[];
  changePaymentMethodList?: any[];
}

export interface ContractChangeQuery extends PageQuery {

  /**
   * 原合同ID
   */
  contractId?: string | number;

  /**
   * 变更单编号
   */
  changeCode?: string;

  /**
   * 变更类型(1内容变更 2解除合同)
   */
  changeType?: string;

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

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

  /**
   * 客户名称
   */
  customerName?: string;

  /**
   * 合同金额
   */
  changeContractAmount?: number;

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

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

  /**
   * 原客户名称
   */
  originalCustomerName?: string;

  /**
   * 原合同金额
   */
  originalContractAmount?: number;

  /**
   * 变更原因
   */
  changeReason?: string;

  /**
   * 申请时间
   */
  applyTime?: string;

  /**
   * 承办部门
   */
  undertakeDeptId?: string | number;

  /**
   * 承办人
   */
  undertakeBy?: number;

  /**
   * 行业/大区
   */
  industryRegion?: string;

  /**
   * 业务方向
   */
  businessDirection?: string;

  /**
   * 印章法人单位（1公章 2法人章 3合同章 4销售合同章）
   */
  sealLegalEntity?: string;

  /**
   * 变更状态(1暂存 2审批中 3可用)
   */
  changeStatus?: string;

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

  /**
   * 是否已回写(0否 1是)
   */
  writeBackFlag?: string;

  /**
   * 回写时间
   */
  writeBackTime?: string;

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

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



