|
@@ -1,50 +1,3 @@
|
|
|
-# IQC 来料检验任务流程接入工作流开发说明(参照 oa_leave)
|
|
|
|
|
-
|
|
|
|
|
-> 目标:参照请假流程(`oa_leave`)的实现方式,将 IQC 来料检验任务接入工作流,实现任务与流程实例关联、流程状态落库、发起/详情/列表页面对齐,以及流程结束结果监听与业务状态回写。
|
|
|
|
|
-
|
|
|
|
|
----
|
|
|
|
|
-
|
|
|
|
|
-## 0. 流程节点(已确认)
|
|
|
|
|
-- 来料检验
|
|
|
|
|
-- 领导审批
|
|
|
|
|
-- SQE 处理
|
|
|
|
|
-
|
|
|
|
|
----
|
|
|
|
|
-
|
|
|
|
|
-## 1. 流程实例关联字段设计
|
|
|
|
|
-
|
|
|
|
|
-### 1.1 业务表字段(已确认)
|
|
|
|
|
-任务数据当前来自子表:`qms_qcp_insappnentry`(主表:`qms_qcp_inspecapplyn`)。
|
|
|
|
|
-
|
|
|
|
|
-任务子表使用字段:
|
|
|
|
|
-- `process_instance_id`:流程实例 ID(用于与工作流关联)
|
|
|
|
|
-- `flowstate`:流程状态(未发起 / 审批中 / 审批完成 / 已驳回 / 已取消)
|
|
|
|
|
-
|
|
|
|
|
-> 字段名称已确认使用 `process_instance_id` / `flowstate`。
|
|
|
|
|
-
|
|
|
|
|
-### 1.2 关联关系
|
|
|
|
|
-`qms_qcp_insappnentry.process_instance_id` 对应流程引擎历史流程实例表:
|
|
|
|
|
-
|
|
|
|
|
-- 表:`ACT_HI_PROCINST`
|
|
|
|
|
-- 字段:`PROC_INST_ID_`
|
|
|
|
|
-
|
|
|
|
|
-即:
|
|
|
|
|
-- `qms_qcp_insappnentry.process_instance_id` ↔ `ACT_HI_PROCINST.PROC_INST_ID_`
|
|
|
|
|
-
|
|
|
|
|
----
|
|
|
|
|
-
|
|
|
|
|
-## 2. 流程状态字段与回调更新策略
|
|
|
|
|
-
|
|
|
|
|
-### 2.1 状态字段
|
|
|
|
|
-建议使用:
|
|
|
|
|
-- `flowstate`:流程状态
|
|
|
|
|
-- `FINSPECTSTATUS`:检验状态(业务状态,列表展示用)
|
|
|
|
|
-
|
|
|
|
|
-示例状态:
|
|
|
|
|
-- `flowstate`:未发起 / 审批中 / 审批完成 / 已驳回 / 已取消
|
|
|
|
|
-- `FINSPECTSTATUS`:待检验 / 检验中 / 检验完成
|
|
|
|
|
-
|
|
|
|
|
-### 2.2 状态更新方式
|
|
|
|
|
通过 Listener 监听流程回调并更新 `flowstate`。
|
|
通过 Listener 监听流程回调并更新 `flowstate`。
|
|
|
业务状态 `FINSPECTSTATUS` 可在流程节点触发或流程结束时统一更新。
|
|
业务状态 `FINSPECTSTATUS` 可在流程节点触发或流程结束时统一更新。
|
|
|
|
|
|
|
@@ -55,7 +8,7 @@ set flowstate = '审批中'
|
|
|
where id = '{<TaskEntryId>}';
|
|
where id = '{<TaskEntryId>}';
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-#### 2.2.2 流程通过后:更新为“审批完成”
|
|
|
|
|
|
|
+#### 2.2.2 流程结束后:更新为“审批完成”
|
|
|
```sql
|
|
```sql
|
|
|
update qms_qcp_insappnentry
|
|
update qms_qcp_insappnentry
|
|
|
set flowstate = '审批完成',
|
|
set flowstate = '审批完成',
|
|
@@ -63,19 +16,10 @@ set flowstate = '审批完成',
|
|
|
where id = '{<TaskEntryId>}';
|
|
where id = '{<TaskEntryId>}';
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-#### 2.2.3 流程取消:回退为“待检验”
|
|
|
|
|
-```sql
|
|
|
|
|
-update qms_qcp_insappnentry
|
|
|
|
|
-set flowstate = '已取消',
|
|
|
|
|
- FINSPECTSTATUS = '待检验'
|
|
|
|
|
-where id = '{<TaskEntryId>}';
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### 2.2.4 流程驳回:更新为“检验中”
|
|
|
|
|
|
|
+#### 2.2.3 流程驳回/取消(示例)
|
|
|
```sql
|
|
```sql
|
|
|
update qms_qcp_insappnentry
|
|
update qms_qcp_insappnentry
|
|
|
-set flowstate = '已驳回',
|
|
|
|
|
- FINSPECTSTATUS = '检验中'
|
|
|
|
|
|
|
+set flowstate = '已驳回'
|
|
|
where id = '{<TaskEntryId>}';
|
|
where id = '{<TaskEntryId>}';
|
|
|
```
|
|
```
|
|
|
|
|
|
|
@@ -92,7 +36,7 @@ IQC 任务流程需实现类似结构的 Controller + Service,并按“业务
|
|
|
|
|
|
|
|
### 3.2 流程模型编号(PROCESS_KEY)
|
|
### 3.2 流程模型编号(PROCESS_KEY)
|
|
|
请假:`oa_leave`
|
|
请假:`oa_leave`
|
|
|
-IQC 任务:`qms_iqc_task`
|
|
|
|
|
|
|
+IQC 任务(示例):`iqc_task`
|
|
|
|
|
|
|
|
> 该 Key 必须与流程模型实际配置一致。
|
|
> 该 Key 必须与流程模型实际配置一致。
|
|
|
|
|
|
|
@@ -185,14 +129,14 @@ IQC 任务:`qms_iqc_task`
|
|
|
|
|
|
|
|
监听流程结束结果并更新:
|
|
监听流程结束结果并更新:
|
|
|
- `qms_qcp_insappnentry.flowstate`
|
|
- `qms_qcp_insappnentry.flowstate`
|
|
|
-- `qms_qcp_insappnentry.FINSPECTSTATUS`(通过=检验完成;取消=待检验;驳回=检验中)
|
|
|
|
|
|
|
+- `qms_qcp_insappnentry.FINSPECTSTATUS`(按业务规则设置为“检验完成”或“待检验”)
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
## 7. 交付清单(Checklist)
|
|
## 7. 交付清单(Checklist)
|
|
|
|
|
|
|
|
### 7.1 后端
|
|
### 7.1 后端
|
|
|
-- [ ] 定义 `PROCESS_KEY = "qms_iqc_task"`
|
|
|
|
|
|
|
+- [ ] 定义 `PROCESS_KEY = "iqc_task"`(以实际模型为准)
|
|
|
- [ ] Controller(参照 `BpmOALeaveController`)
|
|
- [ ] Controller(参照 `BpmOALeaveController`)
|
|
|
- [ ] ServiceImpl(参照 `BpmOALeaveServiceImpl`)
|
|
- [ ] ServiceImpl(参照 `BpmOALeaveServiceImpl`)
|
|
|
- [ ] 调用 `BpmProcessInstanceApi#createProcessInstance(...)` 创建流程实例
|
|
- [ ] 调用 `BpmProcessInstanceApi#createProcessInstance(...)` 创建流程实例
|
|
@@ -205,5 +149,3 @@ IQC 任务:`qms_iqc_task`
|
|
|
- [ ] create 页面(复用 `TaskForm.vue` 或新建)
|
|
- [ ] create 页面(复用 `TaskForm.vue` 或新建)
|
|
|
- [ ] detail 页面(复用 `TaskForm.vue` 或新建)
|
|
- [ ] detail 页面(复用 `TaskForm.vue` 或新建)
|
|
|
- [ ] `router/modules/remaining.ts` 增加 IQC 任务 create/detail 路由
|
|
- [ ] `router/modules/remaining.ts` 增加 IQC 任务 create/detail 路由
|
|
|
-teste
|
|
|
|
|
-test
|
|
|