85 lines
4.0 KiB
Markdown
85 lines
4.0 KiB
Markdown
|
|
# 专项核查家庭资产负债测试数据实施计划
|
||
|
|
|
||
|
|
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||
|
|
>
|
||
|
|
> 按仓库 `AGENTS.md` 约定,本次在当前会话直接执行,不启用 subagent。
|
||
|
|
|
||
|
|
**Goal:** 为 `project_id = 51` 的“员工家庭资产负债专项核查”补充一组可重复执行的测试数据,覆盖正常、风险、高风险和缺失信息等典型情况。
|
||
|
|
|
||
|
|
**Architecture:** 复用现有测试项目 `51`,直接向 `ccdi_base_staff`、`ccdi_staff_fmy_relation`、`ccdi_asset_info`、`ccdi_debts_info`、`ccdi_bank_statement_tag_result` 补充专项核查专用样本,不新增新的项目、流水文件或前端入口。测试数据脚本采用“先删后插”的幂等方式,确保重复执行不会堆积脏数据,并通过与专项核查 SQL 同口径的查询完成验证。
|
||
|
|
|
||
|
|
**Tech Stack:** MySQL 8、仓库脚本 `bin/mysql_utf8_exec.sh`、专项核查 Mapper SQL、Markdown 实施与验证文档
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Task 1: 设计覆盖场景与金额口径
|
||
|
|
|
||
|
|
**Files:**
|
||
|
|
- Modify: `docs/plans/misc/2026-03-24-special-check-family-asset-liability-test-data-implementation.md`
|
||
|
|
- Create: `sql/migration/2026-03-24-add-special-check-family-asset-liability-test-data.sql`
|
||
|
|
|
||
|
|
- [x] **Step 1: 明确测试项目与入围方式**
|
||
|
|
|
||
|
|
复用 `project_id = 51`,通过 `ccdi_bank_statement_tag_result.object_type = 'STAFF_ID_CARD'` + `object_key = 员工身份证号` 的对象命中方式将新增员工纳入专项核查范围。
|
||
|
|
|
||
|
|
- [x] **Step 2: 设计 6 类样本**
|
||
|
|
|
||
|
|
1. 正常边界:`收入 + 负债 = 资产 * 1.5`
|
||
|
|
2. 风险边界:`收入 + 负债 = 资产 * 3`
|
||
|
|
3. 高风险:`收入 + 负债 > 资产 * 3`
|
||
|
|
4. 缺少本人负债:本人无负债记录,但家庭仍有配偶负债
|
||
|
|
5. 缺少本人资产:本人无资产记录,但家庭仍有配偶资产
|
||
|
|
6. 单身完整:无配偶,但本人资产与负债完整
|
||
|
|
|
||
|
|
- [x] **Step 3: 固化金额口径**
|
||
|
|
|
||
|
|
所有资产均使用 `current_value`,所有负债均使用 `principal_balance`,缺失判断严格沿用专项核查现有逻辑:
|
||
|
|
|
||
|
|
- 本人资产记录数为 `0` 时输出 `MISSING_INFO`
|
||
|
|
- 本人负债记录数为 `0` 时输出 `MISSING_INFO`
|
||
|
|
|
||
|
|
### Task 2: 编写幂等测试数据脚本
|
||
|
|
|
||
|
|
**Files:**
|
||
|
|
- Create: `sql/migration/2026-03-24-add-special-check-family-asset-liability-test-data.sql`
|
||
|
|
|
||
|
|
- [x] **Step 1: 先清理专用样本数据**
|
||
|
|
|
||
|
|
删除本次样本对应的员工、配偶关系、资产、负债和项目命中记录,确保脚本可重复执行。
|
||
|
|
|
||
|
|
- [x] **Step 2: 插入专项核查员工与配偶关系**
|
||
|
|
|
||
|
|
新增 6 名专项核查专用员工,其中 5 名带配偶关系,并补充本人/配偶年收入。
|
||
|
|
|
||
|
|
- [x] **Step 3: 插入资产与负债明细**
|
||
|
|
|
||
|
|
按场景写入本人与配偶资产、负债,确保边界值和缺失值可直接命中现有风险判断。
|
||
|
|
|
||
|
|
- [x] **Step 4: 插入项目命中记录**
|
||
|
|
|
||
|
|
向 `ccdi_bank_statement_tag_result` 写入对象命中数据,使样本员工进入 `project_id = 51` 的专项核查范围。
|
||
|
|
|
||
|
|
### Task 3: 执行脚本并验证结果
|
||
|
|
|
||
|
|
**Files:**
|
||
|
|
- Modify: `docs/reports/implementation/2026-03-24-special-check-family-asset-liability-test-data-record.md`
|
||
|
|
- Create: `docs/tests/records/2026-03-24-special-check-family-asset-liability-test-data-verification.md`
|
||
|
|
|
||
|
|
- [x] **Step 1: 执行脚本**
|
||
|
|
|
||
|
|
Run: `bin/mysql_utf8_exec.sh sql/migration/2026-03-24-add-special-check-family-asset-liability-test-data.sql`
|
||
|
|
|
||
|
|
Expected: 无报错返回,事务成功提交。
|
||
|
|
|
||
|
|
- [x] **Step 2: 查询列表结果**
|
||
|
|
|
||
|
|
按专项核查同口径 SQL 查询 `project_id = 51` 下名称为 `专项核查%` 的员工,验证金额汇总和风险等级是否符合预期。
|
||
|
|
|
||
|
|
- [x] **Step 3: 查询缺失信息详情**
|
||
|
|
|
||
|
|
验证“缺少本人负债样本”“缺少本人资产样本”的详情缺失标记是否分别返回 `missingSelfDebtInfo = 1`、`missingSelfAssetInfo = 1`。
|
||
|
|
|
||
|
|
- [x] **Step 4: 补实施与验证记录**
|
||
|
|
|
||
|
|
将脚本路径、覆盖场景、执行结果与验证摘要沉淀到实施记录和验证文档中。
|