tuqin
5 天以前 af0d2a46cd8a995c0f5b2d7f3cfc0ea8aeb69fdd
分支
用户 tuqin <tuqin@local>
星期二, 十一月 3, 2026 17:25 +0800
提交者 tuqin <tuqin@local>
星期二, 十一月 3, 2026 17:25 +0800
提交af0d2a46cd8a995c0f5b2d7f3cfc0ea8aeb69fdd
目录 f885c31bc0cc6d61e733fc6984256eaa523ea1d7 目录 | zip | gz
上一版本 690b713454828f34f901bc1e3a5f7bcc35a31b30 查看 | 对比
feat(srm): 北方科技供应商准入改为免协同审批

需求:采购供应商准入不再走协同审批,提交即生效。

原流程:准入申请提交 → 弹窗选协同办公流程 → 采购/质量/财务三级审批
→ 通过后才生成供应商。

改动:
1. BpmProcessInstanceApi 新增 isAutoApprove(processDefinitionKey)
原来只暴露 isGlobalAutoApprove(),业务模块无法单独对某个流程免审批。
2. BpmProcessInstanceApiImpl 实现该方法,委托给
BpmProcessAutoApproveService.isAutoApprove(判定规则:全局开 || 该流程开)。
3. BpmProcessAutoApproveController 的 /ui-policy 支持可选 key 参数:
不传返回全局开关(保持原行为,兼容其他调用方);
传 key 返回该流程的最终策略,供业务页面精确判断。
4. SrmSupplierApplyServiceImpl.submitApply 改用 isAutoApprove(processDefinitionKey),
命中免审批则直接置审批通过并生成供应商,不再创建 BPM 流程实例。
5. 前端 audit-policy.ts 新增 isAutoApproveByKey(key),
supplierApply 页提交时按流程 key 判断,免审批则跳过「选择审批流程」弹窗。
6. SQL 配置:bpm_process_auto_approve_config 增加
supplier_apply_approve = 1(仅该流程免审批,全局总开关保持关闭,
不影响请假、报销等其他流程)。

恢复审批方式(无需改代码):
UPDATE bpm_process_auto_approve_config SET auto_approve = b'0'
WHERE process_definition_key = 'supplier_apply_approve';

已验证:/bpm/process-auto-approve/ui-policy?key=supplier_apply_approve 返回 true,
全局开关仍为 false。
已添加1个文件
已修改4个文件
70 ■■■■■ 文件已修改
sql/mysql/bfkj_supplier_apply_auto_approve.sql 37 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApi.java 11 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApiImpl.java 5 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessAutoApproveController.java 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/apply/SrmSupplierApplyServiceImpl.java 7 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史