From 4c2ea9d8e6653fef55b519f4e886ad190236beff Mon Sep 17 00:00:00 2001
From: wjj <2069666735@qq.com>
Date: Mon, 1 Jun 2026 15:50:25 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=9F=AD=E6=97=B6=E9=97=B4?=
=?UTF-8?q?=E5=A4=9A=E6=AC=A1=E5=AD=98=E7=8E=B0=E6=9C=AC=E4=BA=BA=E5=8F=A3?=
=?UTF-8?q?=E5=BE=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../project/CcdiBankTagAnalysisMapper.xml | 10 --------
...6-06-01-frequent-cash-deposit-self-only.md | 25 +++++++++++++++++++
2 files changed, 25 insertions(+), 10 deletions(-)
create mode 100644 docs/reports/implementation/2026-06-01-frequent-cash-deposit-self-only.md
diff --git a/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml b/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml
index fbc8071a..2b94aed9 100644
--- a/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml
+++ b/ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml
@@ -373,16 +373,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where bs.project_id = #{projectId}
and IFNULL(bs.AMOUNT_CR, 0) > #{amountThreshold}
and
- union all
- select
- relation.person_id AS object_key,
- LEFT(TRIM(bs.TRX_DATE), 10) AS cash_date
- from ccdi_bank_statement bs
- inner join ccdi_staff_fmy_relation relation on relation.relation_cert_no = bs.cret_no
- where bs.project_id = #{projectId}
- and relation.status = 1
- and IFNULL(bs.AMOUNT_CR, 0) > #{amountThreshold}
- and
) source
group by source.object_key, source.cash_date
having COUNT(1) > #{frequencyThreshold}
diff --git a/docs/reports/implementation/2026-06-01-frequent-cash-deposit-self-only.md b/docs/reports/implementation/2026-06-01-frequent-cash-deposit-self-only.md
new file mode 100644
index 00000000..4e3f5dc3
--- /dev/null
+++ b/docs/reports/implementation/2026-06-01-frequent-cash-deposit-self-only.md
@@ -0,0 +1,25 @@
+# 短时间多次存现本人口径调整实施记录
+
+## 修改内容
+
+- 调整后端大额交易模型规则 `FREQUENT_CASH_DEPOSIT`。
+- 删除规则 SQL 中关系人流水 `UNION ALL` 分支。
+- 规则现仅统计员工本人流水,即 `ccdi_base_staff.id_card = ccdi_bank_statement.cret_no`。
+
+## 影响范围
+
+- 影响文件:`ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml`。
+- 影响规则:短时间多次存现。
+- 配偶、父母、子女等员工关系人流水不再自动归集到员工本人名下触发该规则。
+- 已生成的历史打标结果不会自动变化,需要重新执行项目分析/打标后生效。
+
+## 验证情况
+
+- 已检查 `selectFrequentCashDepositObjects` 规则片段,确认仅保留员工本人分支。
+- 已执行 `mvn -pl ccdi-project -am compile -DskipTests`,编译通过。
+- 已通过 `output/frequent_cash_deposit_self_only_verification.sql` 写入临时验证数据并执行规则等价 SQL:
+ - 员工 A 本人 3 笔存现,命中员工 A。
+ - 配偶 B 同时也是员工,B 本人 3 笔存现,命中员工 B。
+ - 当前本人口径不会把 B 的流水归集到员工 A。
+ - 对照旧关系人分支会额外命中员工 A,验证本次删除关系人分支有效。
+- 验证脚本末尾已清理临时员工、关系人与流水数据,并复查三张表残留数均为 0。