fujian_water_biz_doc/docs/evidence/rev004-accounting/rev004-prestorage-bpm-db-apply-2026-04-24.md
tangweijie 3eccab2cf9 docs: 文档治理统一 — AGENTS.md 生命周期规则 + 模块归档 + DDL 修正
1. AGENTS.md 更新
   - water-docs: 新增 specs/ 与 docs/design/ 生命周期规则章节
   - water-backend: 更新协作引用(建设期/建成后、evidence 模块化)

2. specs/ 重复合并
   - 006-reminder-event-design 合并入 003-rev006-reminder-event-design
   - 001-rev004-accounting 删除冗余 data-model.md + contracts/
   - 002-rev005-invoice-flow 删除冗余 data-model.md + contracts/

3. evidence 按模块归档
   - 35 个 REV-004 文件归入 evidence/rev004-accounting/
   - 7 个通用 bugfix 文件归入 evidence/bugfix/ 和 bugfix/frontend/
   - 新建 rev005-invoice/、rev006-reminder/、rev007-statistics/ 目录

4. guides/ 清理
   - 14 个 REV004_*.md 移入 evidence/rev004-accounting/

5. 遗留文件处理
   - docs/research/ 归档到 Archive/06_Migration_Plans/
   - backend-check detached worktrees 清理

6. 交叉引用修复
   - 006-reminder-event-design → 003-rev006-reminder-event-design
   - docs/guides/REV004_ → docs/evidence/rev004-accounting/REV004_

7. DB 设计文档修正(01_Database_Design.md)
   - biz_invoice 明确为开票配置表,非发票记录表
   - 新增 biz_invoice_record 为发票申请/结果主表
   - 新增 biz_charge_invoice_rel 账单-发票关联说明
   - REV-005 承接口径表名全部修正

8. 发票审计证据
   - 新增 evidence/rev005-invoice/2026-06-16-invoice-document-audit.md
2026-06-16 11:47:16 +08:00

3.6 KiB
Raw Blame History

REV004 prestorage BPM 字段已应用到 application-dev 测试库2026-04-24

目标库

依据:

  • sw-business/sw-business-server/src/main/resources/application-dev.yaml

解析结果:

  • Host192.168.10.130
  • Port5436
  • DBsw_system
  • Usersw_system

本次目的

在既有 biz_prestorage_adjust / biz_prestorage_adjust_detail formal-table 基础上,补齐“保存即提审 / BPM 回写”所需的主表字段与索引。

实际执行

执行增量 DDL

  • ALTER TABLE biz_prestorage_adjust ADD COLUMN IF NOT EXISTS ...
  • 新增索引:
    • idx_biz_prestorage_adjust_process_instance
    • idx_biz_prestorage_adjust_business_status
    • idx_biz_prestorage_adjust_business_key

同步更新本地脚本:

  • sql/rev004/REV004_prestorage_formal_tables_deploy.sql

已补字段

  • business_status
  • approval_result
  • approval_comment
  • execution_status
  • execution_message
  • approved_at
  • rejected_at
  • cancelled_at
  • rolled_back_at
  • process_instance_id
  • process_definition_key
  • business_key
  • current_task_id
  • current_task_name

回读校验

字段回读

已确认上述 14 个字段均已存在于:

  • public.biz_prestorage_adjust

索引回读

已确认以下索引存在:

  • idx_biz_prestorage_adjust_process_instance
  • idx_biz_prestorage_adjust_business_status
  • idx_biz_prestorage_adjust_business_key

DB smoke

在测试库中开启事务,插入一条带 BPM 字段的 biz_prestorage_adjust 记录并回读,随后回滚。

验证结果:

  • 插入成功
  • business_status=IN_APPROVAL
  • approval_status=PROCESSING
  • execution_status=PENDING
  • process_instance_id=PI-SMOKE-001
  • current_task_name=预存调整审批
  • 回滚后 left_count=0

结果:PASS

当前结论

application-dev 指向的测试库已经具备 REV004 prestorage BPM 接线所需的数据库字段基础,可以继续进行:

  1. 保存即发起 BPM
  2. 审批回写业务状态
  3. 审批中改类型重启流程
  4. 审批中撤销终止流程

当前仍未覆盖

  1. 真实 BPM 流程定义 prestorage_adjust 是否已在环境中部署,尚未验证;
  2. 真实业务服务 + 真实 BPM 流程实例联调尚未完成;
  3. 本次仅完成数据库结构到位与最小 smoke。

补充复核2026-04-24 11:05 +08:00

1. 部署脚本幂等重放

再次执行:

PGPASSWORD='Em@123456' \
psql -h 192.168.10.130 -p 5436 -U sw_system -d sw_system \
  -v ON_ERROR_STOP=1 \
  -f sql/rev004/REV004_prestorage_formal_tables_deploy.sql

结果:PASS

关键现象:

  • 已存在 sequence / table / index 均以 already exists, skipping 跳过;
  • 已存在 BPM 字段均以 column ... already exists, skipping 跳过;
  • 脚本可重复执行,不会因本次增量字段而破坏既有库结构。

2. 相关模块回归测试

执行:

mvn -pl sw-business/sw-business-server,sw-module-bpm/sw-module-bpm-server -am \
  -Dtest=AccountingAdjustProcessServiceImplTest,PrestorageBpmBridgeServiceTest,PrestorageBpmCallbackServiceTest,BpmPrestorageAdjustStatusListenerTest \
  -Dsurefire.failIfNoSpecifiedTests=false test

结果:BUILD SUCCESS

测试汇总:

  • AccountingAdjustProcessServiceImplTest27 通过
  • PrestorageBpmBridgeServiceTest2 通过
  • PrestorageBpmCallbackServiceTest3 通过
  • BpmPrestorageAdjustStatusListenerTest1 通过
  • 合计:32/32 通过

最新结论

截至 2026-04-24 11:05 +08:00

  1. 测试库 BPM 字段已补齐;
  2. 部署脚本可幂等重放;
  3. 预存 BPM 相关业务/BPM 单测已通过;
  4. 仍待真实 BPM 流程定义与真实流程实例联调验证。