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