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。