Appearance
第 8 章 · 让审批结果落到业务表
1. 三个开关
全在 流程属性 抽屉里(设计器画布空白处右键打开):

| 字段 | 选什么 | 不填会怎样 |
|---|---|---|
| 后置拦截器 | 业务数据自动入库 | 办理与定稿不会持久化业务数据,流程照样跑完,但业务表里没有记录 |
| 关联业务表 | 目标表名,如 biz_leave | 不知道往哪张表写 |
| 持久化模式 | 归档 / 同步 | 决定是终态一次性落,还是每次办理都同步 |
演示数据里的 请假申请 三项分别是:后置拦截器 业务数据自动入库、关联业务表 biz_leave、持久化模式 归档。
2. 表从哪来
关联业务表就是 第 3 章 的数据模型。在线开发 → 数据模型 里建好表和字段,流程这边填表名即可。
引擎按字段名对应写入:表单字段 days → 列 days,同时补上 process_instance_id(实例 ID)、apply_user_id(申请人)、apply_dept_id(申请部门)三个流程侧字段。这三个字段建议在模型里就建好,否则回显时关联不上。
3. 落库后在哪看
业务档案 菜单下按流程分了页面(净装镜像里有 用印申请档案、采购申请档案、加班申请档案、合同审批档案、出差申请档案、资产领用申请档案 六个)。列表只展示已落库的业务数据,点进去看单条详情。
没建档案页面的流程,也可以直接查库:
bash
docker exec -it boot4j-mysql mysql -uroot -p'G86u@45Ayi34P' mldong-plus \
-e "select id, days, reason, apply_user_id, process_instance_id from biz_leave order by id desc limit 5;"4. 字段级权限与落库的关系
第 3 章 §4 的字段权限里设为 不可见 的字段,在该节点提交的载荷里不会出现。如果某个字段只在最后一个节点才可见,落库时它的值取决于最后一次写入,排查"某字段为空"时先看它在哪个节点可编辑。
5. 卡住了看这里
| 现象 | 原因 | 处理 |
|---|---|---|
| 流程已完成,业务表没数据 | 没配后置拦截器 | §1 选 业务数据自动入库 后重新部署,再发起一条新的 |
| 数据落了,但档案页看不到 | 档案页面未配置,或查询条件把新数据过滤了 | §3 |
| 每次办理都写一条重复记录 | 持久化模式与节点位置不匹配 | 换成归档,或把入库拦截器只挂在结束节点 |
| 申请人、申请部门为空 | 表里没有 apply_user_id / apply_dept_id 列 | §2 补列 |
| 改了表单字段但落库报错 | 数据模型列与表单字段不一致 | 数据模型 → 模型字段 对齐后重新部署 |