目标:参照请假流程(
oa_leave)的实现方式,将 IQC 来料检验任务接入工作流,实现任务与流程实例关联、流程状态落库、发起/详情/列表页面对齐,以及流程结束结果监听与业务状态回写。
任务数据当前来自子表:qms_qcp_insappnentry(主表:qms_qcp_inspecapplyn)。
任务子表使用字段:
process_instance_id:流程实例 ID(用于与工作流关联)flowstate:流程状态(未发起 / 审批中 / 审批完成 / 已驳回 / 已取消)字段名称已确认使用
process_instance_id/flowstate。
qms_qcp_insappnentry.process_instance_id 对应流程引擎历史流程实例表:
ACT_HI_PROCINSTPROC_INST_ID_即:
qms_qcp_insappnentry.process_instance_id ↔ ACT_HI_PROCINST.PROC_INST_ID_建议使用:
flowstate:流程状态FINSPECTSTATUS:检验状态(业务状态,列表展示用)示例状态:
flowstate:未发起 / 审批中 / 审批完成 / 已驳回 / 已取消FINSPECTSTATUS:待检验 / 检验中 / 检验完成通过 Listener 监听流程回调并更新 flowstate。
业务状态 FINSPECTSTATUS 可在流程节点触发或流程结束时统一更新。
update qms_qcp_insappnentry
set flowstate = '审批中'
where id = '{<TaskEntryId>}';
update qms_qcp_insappnentry
set flowstate = '审批完成',
FINSPECTSTATUS = '检验完成'
where id = '{<TaskEntryId>}';
update qms_qcp_insappnentry
set flowstate = '已取消',
FINSPECTSTATUS = '待检验'
where id = '{<TaskEntryId>}';
update qms_qcp_insappnentry
set flowstate = '已驳回',
FINSPECTSTATUS = '检验中'
where id = '{<TaskEntryId>}';
请假流程后端参考:
BpmOALeaveControllerBpmOALeaveServiceImplIQC 任务流程需实现类似结构的 Controller + Service,并按“业务表 + 流程”方式接入。
请假:oa_leave
IQC 任务:qms_iqc_task
该 Key 必须与流程模型实际配置一致。
使用 BpmProcessInstanceApi 创建流程实例:
#createProcessInstance(...)发起 IQC 任务流程时建议完成:
qms_qcp_insappnentry.process_instance_idflowstate = '审批中'请假模块前端参考:
leave/create.vueleave/detail.vueleave/index.vue可沿用现有 QMS 任务页面逻辑:
TaskList.vue(已存在)TaskForm.vue(已存在)接入流程后建议实现:
为 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'
}
}
]
}
审批结束时(通过 / 不通过 / 取消),后端必须监听最终结果并更新业务表状态。
请假流程实现参考:
BpmOALeaveStatusListener
(继承 BpmProcessInstanceStatusEventListener)需新增监听器(示例命名:BpmIqcTaskStatusListener),继承:
BpmProcessInstanceStatusEventListener监听流程结束结果并更新:
qms_qcp_insappnentry.flowstateqms_qcp_insappnentry.FINSPECTSTATUS(通过=检验完成;取消=待检验;驳回=检验中)PROCESS_KEY = "qms_iqc_task"BpmOALeaveController)BpmOALeaveServiceImpl)BpmProcessInstanceApi#createProcessInstance(...) 创建流程实例process_instance_idflowstate 更新逻辑(建议走 Listener)BpmProcessInstanceStatusEventListener)TaskForm.vue 或新建)TaskForm.vue 或新建)router/modules/remaining.ts 增加 IQC 任务 create/detail 路由
teste
test