94400d50d4
作为子目录纳入系统,与核心测试管道协同 Co-Authored-By: Claude <noreply@anthropic.com>
10 KiB
10 KiB
电信请求书系统 — 数据流
端到端批处理流程
月次请求书发行流程
外部系统(BSS/OCS)
│
▼ CSV格式CDR
┌─────────────────────────────────────────────────────────────┐
│ 1. CDR取込 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 15-csv-fb-nolf │ │ 21-csv-fb-lf │ │
│ │ 无LF CSV→固定长 │ │ 含LF CSV→固定长 │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ 2. CDR前処理 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 29 ascii-ebcdic │ │ 35 MERGE │ │
│ │ 编码转换(主机) │ │ 多源CDR合并 │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ 3. CDR校验 & 排序 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 13 字段校验 │ │ 31 重複检测 │ │
│ │ 27 电话号码格式 │ │ 30 状态变化检测 │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ 4. CDR排序 │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 34 SORT CDR按客户/时间排序 │ │
│ └──────────────────────┬───────────────────────────┘ │
│ ▼ │
│ 5. 合同匹配 & 计费 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 02 合同↔CDR(1:N) │ │ 03 线路汇集(N:1)│ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 24 资费表检索 │ │ 25 计费子程序 │ │
│ │ (SEARCH ALL) │ │ (CALL d×rate) │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 05 IF条件判定 │ │ 06 EVALUATE套餐 │ │
│ │ (料金阈值分支) │ │ (套餐类型判定) │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ 6. 费用汇总 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 07 加入者月汇总 │ │ 08 套餐统计 │ │
│ │ (key切 ADD累加) │ │ (COUNT/MIN/MAX) │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 32/33 混合处理(1:N+key切) │ │
│ └──────────────────────┬───────────────────────────┘ │
│ ▼ │
│ 7. 请求书生成 & 输出 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 04 请求书编辑 │ │ 10/11/12 分割 │ │
│ │ (报表/HEADING) │ │ (50/25/100分割) │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ └──────────┬──────────┘ │
│ ▼ │
│ 8. 事后处理 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 01 请求书对账 │ │ 09/23/26 DB更新 │ │
│ │ (1:1 Invoice↔Pay)│ │ (客户DB更新检索) │ │
│ └─────────────────┘ └─────────────────┘ │
│ │
│ 9. 辅助 │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 14 在线照会 │ │ 28 SYSIN参数 │ │
│ │ (CICS模拟) │ │ (批量参数设定) │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
▼
请求书文件(印刷/PDF/Web)
文件间关联
以下程序直接读取前段程序的输出文件:
| 程序 | 输入来源 | 说明 |
|---|---|---|
| 34-sort | ← 15-csv-fb-nolf 或 21-csv-fb-lf | CDR排序需要先取込 |
| 02-matching-1-N | ← 34-sort | 合同匹配需要已排序CDR |
| 07-keybreak-summary | ← 02-matching-1-N | 汇总需要已匹配的合同↔CDR |
| 04-edit-getput | ← 07-keybreak-summary | 请求书输出需要汇总数据 |
| 10-divide-50 | ← 04-edit-getput | 分割需要已生成的请求书 |
| 16-matching-2stage-1-1 | ← 01-matching-1-1 中间文件 | 二级对账 |
| 17-matching-2stage-N-1 | ← 03-matching-N-1 中间文件 | 二级聚合 |
| 22-matching-2stage-MN | ← 18~20 中间文件 | 二级套餐匹配 |
| 32-mix-1N-samekeybreak | ← 02-matching-1-N 输出 | 混合匹配+key切 |
| 33-mix-1N-diffkeybreak | ← 02-matching-1-N 输出 | 混合匹配+key切 |
数据示例
CDR 数据 (CSV)
CDR0000001,8613800138001,8613900999001,20250601083000,000000120,01
CDR0000002,8613800138001,8613700777001,20250601084500,000000045,01
CDR0000003,8613900999001,8613800138001,20250601090000,000000300,02
请求书数据
INV2025001 CUST000001 202506 000050000 0
INV2025002 CUST000002 202506 000120000 1
INV2025003 CUST000003 202506 000030000 2
合同数据
CTR000001 CUST000001 P01 20240101 20261231
CTR000002 CUST000002 P02 20240601 20261231
CTR000003 CUST000003 P03 20250101 20261231