Files
group_xinghuo_jinrong/scripts/core/09-seed-org.sql
T
GaoYiYuan_0626 b411d5a087 T-14/T-17 开口闭环:PRD §2.5.3 修订 + truncate 舍去法接入 + R-12 定稿(用户三项拍板 · 849 绿 / 真库 9/9)
① PRD §2.5.3 修订:删「易方达 ETF 场外取整数位」(无证据且有反证,真实整数位载体为场内),改记「2 位主流 + 舍去型真实存在」,版本块加注记
② rounding_mode=truncate 消费接入(用户拍板补做):
   - core_ro.get_share_rounding = 位数+模式回退链单点(规则行 → core_product → 默认 2/half_up,mode 白名单读取即校验,get_share_digits 转薄包装)
   - calc.product_round/in_qty 加 mode 参数(truncate → ROUND_DOWN)
   - 确认段 + 申购折算两处透传;载体 09-seed-org.sql ⑦ 段 PROD-005828(product 层回退,零转换场景引用)
   - 测试 +7(842→849):calc 4 + 确认段 2(truncate 34945.53 vs half_up .54 分化 + 回退链遮蔽语义)+ 申购段 1
   - 突变:两调用点同拆 mode 透传 → 2 红,还原绿;真库 9/9(seed 新增 ⑫ 载体在位断言)
③ R-12 口径裁定追认定稿:条目回写开发计划(NULL 不参与 A/C 判定 / 同类走一般转换规则)

审核教训留痕:PRD 独立 AI 三轮审查未抓出外部事实断言无出处 —— 联网核实铁律再添例证
文档:开发计划 T-14 开口闭环段 + 基线 849 · 日志新节 · TODO/MEMORY/AGENTS/交接文档开口清零
2026-09-12 14:31:35 +08:00

108 lines
8.9 KiB
SQL
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.
USE jinrong_core;
-- ============================================================================
-- 09-seed-org.sql · 产品机构信息与申购费率
-- 版本:v1.1(2026-09-10 · T-1 新增;同日按「真实业务」修订 —— 分类归位 + 分组重排)
-- 依据:
-- · 证监会公告〔2025〕22 号 §8 申购费率上限(2026-01-01 施行):
-- 主动偏股型 ≤ 0.80% · 其他混合型 ≤ 0.50% · 指数型/债券型 ≤ 0.30% · 货基 0
-- · PRD §4.2/§4.3:申购费简化为单一 core_product.subscribe_fee_rate(补差费计算源)
-- · PRD/架构:同一笔转换要求 **同销售机构 + 同管理人 + 同 TA**
--
-- 【v1.1 修订原因 · 分类必须与 product_type 匹配】
-- v1.0 曾把 `PROD-005827`(`product_type='mixed'`,平衡混合一号)按「主动偏股」取到
-- **0.80%** 上限 —— 目的是凑出 0.50% 的补差幅度。这是**分类错误**:
-- 22 号文 §8 的费率档由**产品类型**决定,`mixed` 只能套「其他混合型 ≤0.5%」。
-- 现修正:`PROD-005827` → **0.0050**;主示例转入方改用**真正的主动偏股产品**
-- `PROD-003095`(`stock` / R4 / 净值 0.9500 —— 与原示例除数相同,故 §5.3 数字不变)。
-- ⚠️ 通用规则:**用某一档上限前,先证明该产品确实属于这一档**,不得「看名字像」
-- 或「为了凑数值差」升档(自检第 12 问)。
--
-- 【v1.1 修订原因 · 分组按真实业务重排】
-- v1.0 的分组是「华夏组全是低风险(债/混合/货基/指数)、易方组全是股票型」——
-- **不符合真实**:真实的基金管理人都是**全产品线**(同一家公司旗下同时有债基、
-- 混合、指数、股票、货基)。真实的分组必须以「管理人」为单位、覆盖多风险层级,
-- 转换约束「同管理人 + 同 TA」才有实际意义。
-- 现分组:华夏 / 易方 各 6 只、均覆盖多个风险层级;理财与私募单列(真实形态:
-- 银行理财子公司、私募管理人,与公募不同主体,天然不可与公募互转)。
--
-- 【分组与费率一览】
-- 华夏模拟基金 / TA-CN-001(主演示组,覆盖 5 类)
-- PROD-110022 稳健债基 A bond R1 0.0030 ← 主示例转出
-- PROD-110023 信用债精选 bond R2 0.0030
-- PROD-005827 平衡混合一号 mixed R3 0.0050 ← v1.1 由 0.0080 归位
-- PROD-000001 现金宝货币 money R1 0.0000 ← 同费率对照组(0)
-- PROD-510300 沪深300指数 index R3 0.0030 ← 同费率对照组(与 110022 同)
-- PROD-003095 医药健康精选 stock R4 0.0080 ← 主示例转入(真主动偏股)
-- 易方模拟基金 / TA-CN-002(覆盖 4 类)
-- PROD-000002 同业存单基金 bond R1 0.0030
-- PROD-005828 稳健增利混合 mixed R2 0.0050
-- PROD-510500 中证500指数 index R4 0.0030
-- PROD-161725 科技成长主题 stock R4 0.0080
-- PROD-161726 消费升级主题 stock R4 0.0080
-- PROD-XYZ999 进取成长五号 stock R5 0.0080
-- 兴银理财 / TA-CN-003 : PROD-WMG001 稳享180天理财 wealth_mgmt R2 0.0000
-- 量化私募 / TA-CN-004 : PROD-PRIV01 量化中性私募一号 private_fund R4 0.0000
--
-- 【可验证的费率关系(供补差费演示与对照)】
-- 不同费率对:PROD-110022(0.0030)→ PROD-003095(0.0080)**同属华夏组、可互转** → 补差非 0
-- 同费率对照:PROD-110022(0.0030)↔ PROD-510300(0.0030)→ 补差 = 0
-- 零费率对照:PROD-000001(0)→ 任意产品补差非 0;任意 → PROD-000001 补差 = 0
--
-- 【跨主体负例保障(「同管理人 + 同 TA」硬约束的反例数据仍然充足)】
-- CUST-1004 : 161725(易方) + 510300(华夏) → 跨管理人 ✗
-- CUST-DEMO-A : 510500(易方) + 510300/000001(华夏) → 跨管理人 ✗
-- CUST-DEMO-B : 161725(易方) + PRIV01(量化私募) → 跨管理人 + 跨机构类型 ✗
--
-- 【最低持有余额】让 FR-C15 的两种动作都有数据可触发(否则 DEFAULT 0 使该分支永不进入,
-- 等于无测试覆盖):PROD-110022 = force_transfer(低于阈值强制全转)
-- PROD-005827 = force_redeem (低于阈值强制赎回剩余)
-- ============================================================================
-- ---- ① 华夏模拟基金 / TA-CN-001(主演示组 · 全产品线)----
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-110022';
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-110023';
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0050 WHERE product_id = 'PROD-005827';
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0000 WHERE product_id = 'PROD-000001';
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-510300';
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-003095';
-- ---- ② 易方模拟基金 / TA-CN-002(次演示组 · 全产品线)----
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-000002';
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0050 WHERE product_id = 'PROD-005828';
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-510500';
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-161725';
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-161726';
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-XYZ999';
-- ---- ③ 非同主体产品(真实形态:非公募主体,天然不可与公募互转)----
UPDATE core_product SET fund_company = '兴银理财', ta_code = 'TA-CN-003', subscribe_fee_rate = 0.0000 WHERE product_id = 'PROD-WMG001';
UPDATE core_product SET fund_company = '量化私募', ta_code = 'TA-CN-004', subscribe_fee_rate = 0.0000 WHERE product_id = 'PROD-PRIV01';
-- ---- ④ 兜底:任何未显式赋值的产品也保证非 NULL(DoD ③)----
UPDATE core_product SET fund_company = '其他模拟管理人', ta_code = 'TA-CN-099' WHERE fund_company IS NULL;
UPDATE core_product SET ta_code = 'TA-CN-099' WHERE ta_code IS NULL;
-- ---- ⑤ 最低持有余额(FR-C15 两种动作的可触发数据)----
UPDATE core_product SET min_hold_qty = 1000.0000, min_redeem_qty = 100.0000, min_hold_action = 'force_transfer' WHERE product_id = 'PROD-110022';
UPDATE core_product SET min_hold_qty = 2000.0000, min_redeem_qty = 200.0000, min_hold_action = 'force_redeem' WHERE product_id = 'PROD-005827';
-- ---- ⑥ T-17 / D30 同基金 A/C 份额互转演示对(R-12)----
-- 联网核实(2026-09-12):A/C 互转 = 同一基金不同份额类别的转换业务,
-- 需管理人「开通」(摩根行业睿选 2025-11《开通同一基金不同份额类别转换业务公告》),
-- 开通即 allow_ac_convert=1;转换后持有期重新起算(本仓转入新批次语义一致)。
-- A/C 对(开关开 · 双端):TA-CN-001 内 'A' ↔ 'C' → 放行
UPDATE core_product SET share_class = 'A', allow_ac_convert = 1 WHERE product_id = 'PROD-110022';
UPDATE core_product SET share_class = 'C', allow_ac_convert = 1 WHERE product_id = 'PROD-005827';
-- A/C 对照(开关关 · 双端 0):同 TA 同 'A'/'C' 但未开通 → 受理 400
UPDATE core_product SET share_class = 'A', allow_ac_convert = 0 WHERE product_id = 'PROD-110023';
UPDATE core_product SET share_class = 'C', allow_ac_convert = 0 WHERE product_id = 'PROD-003095';
-- 同类别对照:'C' ↔ 'C' 不触发 A/C 判定,走一般转换规则放行(allow_ac_convert 保持默认 0)
UPDATE core_product SET share_class = 'C' WHERE product_id = 'PROD-510300';
-- ---- ⑦ T-14 开口②闭环(2026-09-12 用户拍板补接):舍去法(TRUNCATE)产品载体 ----
-- 联网核实:「舍去」型真实存在(南方利众/宝元、邮储、华宝、申万菱信、东方基金等
-- 合同/公告明写「份额 2 位后舍去」)。载体选 PROD-005828(稳健增利混合):
-- 无规则行(11-seed 未覆盖)→ 走 core_product 层回退链,且无任何转换场景引用(零回归)。
UPDATE core_product SET rounding_mode = 'truncate' WHERE product_id = 'PROD-005828';