IQC来料检验任务流程开发说明.md 4.1 KB

通过 Listener 监听流程回调并更新 flowstate
业务状态 FINSPECTSTATUS 可在流程节点触发或流程结束时统一更新。

2.2.1 流程提交后:更新为“审批中”

update qms_qcp_insappnentry
set flowstate = '审批中'
where id = '{<TaskEntryId>}';

2.2.2 流程结束后:更新为“审批完成”

update qms_qcp_insappnentry
set flowstate = '审批完成',
    FINSPECTSTATUS = '检验完成'
where id = '{<TaskEntryId>}';

2.2.3 流程驳回/取消(示例)

update qms_qcp_insappnentry
set flowstate = '已驳回'
where id = '{<TaskEntryId>}';

3. 后端业务逻辑开发(参照 oa_leave)

3.1 参考类

请假流程后端参考:

  • BpmOALeaveController
  • BpmOALeaveServiceImpl

IQC 任务流程需实现类似结构的 Controller + Service,并按“业务表 + 流程”方式接入。

3.2 流程模型编号(PROCESS_KEY)

请假:oa_leave
IQC 任务(示例):iqc_task

该 Key 必须与流程模型实际配置一致。

3.3 创建流程实例

使用 BpmProcessInstanceApi 创建流程实例:

  • #createProcessInstance(...)

发起 IQC 任务流程时建议完成:

  • 创建流程实例
  • 回写 qms_qcp_insappnentry.process_instance_id
  • 更新 flowstate = '审批中'

4. 前端业务逻辑开发(参照 oa_leave)

4.1 参考页面

请假模块前端参考:

  • 发起:leave/create.vue
  • 详情:leave/detail.vue
  • 列表:leave/index.vue

4.2 IQC 任务页面对齐建议

可沿用现有 QMS 任务页面逻辑:

  • 列表:TaskList.vue(已存在)
  • 表单:TaskForm.vue(已存在)

接入流程后建议实现:

  • 列表 “开始检验 / 继续检验” → 发起流程(create)
  • 详情查看 → 进入流程详情(detail)

5. 路由配置(参照 remaining.ts 的请假流程配置)

为 IQC 任务流程新增隐藏路由(create/detail),用于:

  • 从任务列表发起流程
  • 在流程流转/审批中查看业务详情

示例(路径可按实际模块调整):

{
  path: '/qms',
  component: Layout,
  name: 'qms',
  meta: { hidden: true },
  children: [
    {
      path: 'iqc/task/create',
      component: () => import('@/views/qms/TaskForm.vue'),
      name: 'IqcTaskCreate',
      meta: {
        noCache: true,
        hidden: true,
        canTo: true,
        title: '发起 IQC 任务',
        activeMenu: '/qms/iqc/task/list'
      }
    },
    {
      path: 'iqc/task/detail/:id',
      component: () => import('@/views/qms/TaskForm.vue'),
      name: 'IqcTaskDetail',
      meta: {
        noCache: true,
        hidden: true,
        canTo: true,
        title: '查看 IQC 任务',
        activeMenu: '/qms/iqc/task/list'
      }
    }
  ]
}

6. 流程结束回调监听与业务状态更新(必须)

6.1 监听器机制

审批结束时(通过 / 不通过 / 取消),后端必须监听最终结果并更新业务表状态。

请假流程实现参考:

  • BpmOALeaveStatusListener (继承 BpmProcessInstanceStatusEventListener

6.2 IQC 任务监听器要求

需新增监听器(示例命名:BpmIqcTaskStatusListener),继承:

  • BpmProcessInstanceStatusEventListener

监听流程结束结果并更新:

  • qms_qcp_insappnentry.flowstate
  • qms_qcp_insappnentry.FINSPECTSTATUS(按业务规则设置为“检验完成”或“待检验”)

7. 交付清单(Checklist)

7.1 后端

  • 定义 PROCESS_KEY = "iqc_task"(以实际模型为准)
  • Controller(参照 BpmOALeaveController
  • ServiceImpl(参照 BpmOALeaveServiceImpl
  • 调用 BpmProcessInstanceApi#createProcessInstance(...) 创建流程实例
  • 回写 process_instance_id
  • 提交后/结束后 flowstate 更新逻辑(建议走 Listener)
  • 新增流程结束监听器(继承 BpmProcessInstanceStatusEventListener

7.2 前端

  • 任务列表 “开始检验/继续检验” 触发流程发起
  • create 页面(复用 TaskForm.vue 或新建)
  • detail 页面(复用 TaskForm.vue 或新建)
  • router/modules/remaining.ts 增加 IQC 任务 create/detail 路由