liu
2026-10-24 f47d68e85a846fec53e0d5b335ee019b3d5bd054
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
-- mom-xgdl:回款 BPM 必要配置。仅在现有开票审批配置可用时复用同一财务审批人。
-- 幂等执行;不会插入业务回款、伪造审批结果或改动定制流程定义。
START TRANSACTION;
 
INSERT INTO system_approval_config
    (biz_type, biz_name, approval_enabled, remark, creator, create_time, updater, update_time, deleted)
SELECT 'crm_receivable_approve', '回款审批', i.approval_enabled,
       '回款审批复用开票财务审批人', '1', NOW(), '1', NOW(), b'0'
FROM system_approval_config i
WHERE i.biz_type = 'crm_invoice_approve' AND i.deleted = b'0'
  AND NOT EXISTS (
      SELECT 1 FROM system_approval_config c
      WHERE c.biz_type = 'crm_receivable_approve' AND c.deleted = b'0'
  )
LIMIT 1;
 
INSERT INTO system_approval_config_user
    (config_id, user_id, sort, creator, create_time, updater, update_time, deleted)
SELECT r.id, iu.user_id, iu.sort, '1', NOW(), '1', NOW(), b'0'
FROM system_approval_config r
JOIN system_approval_config i ON i.biz_type = 'crm_invoice_approve' AND i.deleted = b'0'
JOIN system_approval_config_user iu ON iu.config_id = i.id AND iu.deleted = b'0'
WHERE r.biz_type = 'crm_receivable_approve' AND r.deleted = b'0'
  AND r.remark = '回款审批复用开票财务审批人'
  AND NOT EXISTS (
      SELECT 1 FROM system_approval_config_user existing
      WHERE existing.config_id = r.id AND existing.deleted = b'0'
  )
  AND NOT EXISTS (
      SELECT 1 FROM system_approval_config_user ru
      WHERE ru.config_id = r.id AND ru.user_id = iu.user_id AND ru.deleted = b'0'
  );
 
COMMIT;
 
-- 只读核验:回款流程定义及审批配置均应存在且启用。
SELECT KEY_, SUSPENSION_STATE_ FROM ACT_RE_PROCDEF WHERE KEY_ = 'crm-receivable-audit';
SELECT c.biz_type, c.approval_enabled, COUNT(u.id) AS approver_count
FROM system_approval_config c
LEFT JOIN system_approval_config_user u ON u.config_id = c.id AND u.deleted = b'0'
WHERE c.biz_type = 'crm_receivable_approve' AND c.deleted = b'0'
GROUP BY c.id, c.biz_type, c.approval_enabled;