Files
ccdi/docs/reports/implementation/2026-05-26-double-staff-spouse-family-special-check.md

58 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 双员工夫妻家庭专项核查实施记录
- 保存路径:`docs/reports/implementation/2026-05-26-double-staff-spouse-family-special-check.md`
- 实施日期2026-05-26
- 变更范围:后端专项核查家庭资产负债聚合 SQL 与对应 Mapper SQL 结构测试
## 修改内容
1. 调整 `CcdiProjectSpecialCheckMapper.xml` 的配偶识别口径:
- 支持 `本人 -> 配偶` 的直接关系。
- 支持 `配偶员工 -> 本人` 的反向推导,覆盖只维护单向配偶关系但双方都是员工的情况。
- 增加 `spouse_is_staff` 标识,配偶为员工时收入优先取 `ccdi_base_staff.annual_income`
2. 调整家庭资产、负债与缺少信息口径:
- 双员工夫妻家庭中,本人资产取 `family_id = 本人身份证号 AND person_id = 本人身份证号`
- 配偶为员工时,配偶资产取 `family_id = 配偶身份证号 AND person_id = 配偶身份证号`
- 配偶不是员工时,配偶资产仍取 `family_id = 本人身份证号 AND person_id = 配偶身份证号`
- 负债继续按本人和配偶证件号从 `ccdi_debts_info` 汇总。
- 配偶为员工时,任一公司员工成员缺少本人资产或本人负债记录,风险结果按“缺少信息”处理。
3. 调整详情明细展示查询:
- 资产明细按 `spouse_is_staff` 选择员工本人资产或亲属资产,避免把员工配偶作为亲属资产重复计入。
- 资产持有人和负债归属人名称优先取员工主档,非员工配偶再从亲属关系中取名,避免双向配偶关系导致明细行重复。
4. 补充 Mapper SQL 结构测试断言:
- 校验双向配偶识别、员工配偶收入来源、员工配偶资产归属、员工配偶负债缺失判断和明细查询参数传递。
## 影响范围
- 接口路径和返回结构不变:
- `GET /ccdi/project/special-check/family-asset-liability/list`
- `GET /ccdi/project/special-check/family-asset-liability/detail`
- 前端页面无需调整,仍按员工展示列表。
- 不新增数据库表和字段。
## 验证结果
1. 主代码编译:
- 命令:`mvn -DskipTests compile`
- 目录:`ccdi-project`
- 结果:通过。
2. Mapper XML 格式校验:
- 命令:`xmllint --noout ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml`
- 结果:通过。
3. 本次变更空白检查:
- 命令:`git diff --check -- ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckMapperListSqlTest.java ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiProjectSpecialCheckMapperDetailSqlTest.java`
- 结果:通过。
4. 双员工夫妻 Mapper 关键口径文本校验:
- 命令Ruby 读取 Mapper XML 并检查反向配偶、员工配偶收入、员工配偶资产、员工配偶负债和明细参数关键片段。
- 结果:通过,输出 `double-staff spouse mapper checks passed`
5. 专项 JUnit
- 命令:`mvn test -Dtest=CcdiProjectSpecialCheckMapperListSqlTest,CcdiProjectSpecialCheckMapperDetailSqlTest`
- 结果:未完成执行。当前模块测试编译阶段被既有无关测试错误阻断,错误集中在 `CcdiBankStatementTest``CcdiFileUploadServiceImplTest` 中旧接口签名不匹配,本次未修改这些文件。