# 2026-03-24 专项核查页员工家庭资产负债专项核查测试数据实施记录

## 本次新增文件

- SQL 脚本
  - `sql/migration/2026-03-24-add-special-check-family-asset-liability-test-data.sql`
- 计划文档
  - `docs/plans/misc/2026-03-24-special-check-family-asset-liability-test-data-implementation.md`

## 数据落点

- `ccdi_base_staff`
  - 新增 6 名专项核查专用员工
- `ccdi_staff_fmy_relation`
  - 新增 5 条配偶关系，补充配偶收入
- `ccdi_asset_info`
  - 新增资产明细，覆盖本人资产、配偶资产、单身资产
- `ccdi_debts_info`
  - 新增负债明细，覆盖本人负债、配偶负债、单身负债
- `ccdi_bank_statement_tag_result`
  - 为 `project_id = 51` 新增对象命中记录，使样本员工进入专项核查范围

## 覆盖场景

### 1. 正常边界

- 员工：`专项核查正常边界样本`
- 目标：验证 `comparisonAmount = totalAsset * 1.5` 时命中 `NORMAL / 正常`
- 设计值：
  - 家庭总收入：`300000.00`
  - 家庭总资产：`1000000.00`
  - 家庭总负债：`1200000.00`

### 2. 风险边界

- 员工：`专项核查风险边界样本`
- 目标：验证 `comparisonAmount = totalAsset * 3` 时命中 `RISK / 存在风险`
- 设计值：
  - 家庭总收入：`300000.00`
  - 家庭总资产：`500000.00`
  - 家庭总负债：`1200000.00`

### 3. 高风险

- 员工：`专项核查高风险样本`
- 目标：验证 `comparisonAmount > totalAsset * 3` 时命中 `HIGH / 高风险`
- 设计值：
  - 家庭总收入：`240000.00`
  - 家庭总资产：`500000.00`
  - 家庭总负债：`1400100.00`

### 4. 缺少本人负债

- 员工：`专项核查缺少负债样本`
- 目标：验证本人无负债记录时优先输出 `MISSING_INFO / 缺少信息`
- 设计值：
  - 家庭总收入：`300000.00`
  - 家庭总资产：`800000.00`
  - 家庭总负债：`200000.00`

### 5. 缺少本人资产

- 员工：`专项核查缺少资产样本`
- 目标：验证本人无资产记录时优先输出 `MISSING_INFO / 缺少信息`
- 设计值：
  - 家庭总收入：`350000.00`
  - 家庭总资产：`600000.00`
  - 家庭总负债：`400000.00`

### 6. 单身完整

- 员工：`专项核查单身完整样本`
- 目标：验证无配偶情况下仍可正常汇总本人资产与负债
- 设计值：
  - 家庭总收入：`180000.00`
  - 家庭总资产：`400000.00`
  - 家庭总负债：`300000.00`

## 脚本策略

- 使用固定 `staff_id` 与身份证号作为专用测试样本主键
- 先删除后插入，确保脚本支持重复执行
- 不创建新的项目或路由，不改动现有专项核查逻辑
- 复用已有项目 `51`，避免引入额外项目初始化成本

## 执行与验证

- 执行脚本：
  - `bin/mysql_utf8_exec.sh sql/migration/2026-03-24-add-special-check-family-asset-liability-test-data.sql`
- 验证记录：
  - `docs/tests/records/2026-03-24-special-check-family-asset-liability-test-data-verification.md`
- 验证结论：
  - 6 名专用样本均已进入 `project_id = 51` 的专项核查范围
  - 正常边界、风险边界、高风险、缺少本人负债、缺少本人资产、单身完整 6 类场景均已命中预期结果
