# REV004 prestorage BPM 字段已应用到 application-dev 测试库(2026-04-24) ## 目标库 依据: - `sw-business/sw-business-server/src/main/resources/application-dev.yaml` 解析结果: - Host:`192.168.10.130` - Port:`5436` - DB:`sw_system` - User:`sw_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. 部署脚本幂等重放 再次执行: ```bash 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. 相关模块回归测试 执行: ```bash 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** 测试汇总: - `AccountingAdjustProcessServiceImplTest`:27 通过 - `PrestorageBpmBridgeServiceTest`:2 通过 - `PrestorageBpmCallbackServiceTest`:3 通过 - `BpmPrestorageAdjustStatusListenerTest`:1 通过 - 合计:**32/32 通过** ## 最新结论 截至 2026-04-24 11:05 +08:00: 1. 测试库 BPM 字段已补齐; 2. 部署脚本可幂等重放; 3. 预存 BPM 相关业务/BPM 单测已通过; 4. 仍待真实 BPM 流程定义与真实流程实例联调验证。