1300 lines
78 KiB
HTML
1300 lines
78 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="generator" content="pandoc" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||
<meta name="author" content="系统设计团队" />
|
||
<title>福建水务营收系统-营收业务模块正文</title>
|
||
<style>
|
||
code{white-space: pre-wrap;}
|
||
span.smallcaps{font-variant: small-caps;}
|
||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||
div.column{flex: auto; overflow-x: auto;}
|
||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||
/* The extra [class] is a hack that increases specificity enough to
|
||
override a similar rule in reveal.js */
|
||
ul.task-list[class]{list-style: none;}
|
||
ul.task-list li input[type="checkbox"] {
|
||
font-size: inherit;
|
||
width: 0.8em;
|
||
margin: 0 0.8em 0.2em -1.6em;
|
||
vertical-align: middle;
|
||
}
|
||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||
</style>
|
||
<link rel="stylesheet" href="output/document_style.css" />
|
||
<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
</head>
|
||
<body>
|
||
<header id="title-block-header">
|
||
<h1 class="title">福建水务营收系统-营收业务模块正文</h1>
|
||
<p class="author">系统设计团队</p>
|
||
<p class="date">2024年12月19日</p>
|
||
</header>
|
||
<nav id="TOC" role="doc-toc">
|
||
<ul>
|
||
<li><a href="#福建水务营收系统详细设计-营收业务模块正文"
|
||
id="toc-福建水务营收系统详细设计-营收业务模块正文"><span
|
||
class="toc-section-number">1</span>
|
||
福建水务营收系统详细设计-营收业务模块正文</a>
|
||
<ul>
|
||
<li><a href="#章节导航精简" id="toc-章节导航精简"><span
|
||
class="toc-section-number">1.1</span> 章节导航(精简)</a></li>
|
||
<li><a href="#文档定位" id="toc-文档定位"><span
|
||
class="toc-section-number">1.2</span> 文档定位</a></li>
|
||
</ul></li>
|
||
<li><a href="#营收业务详细设计" id="toc-营收业务详细设计"><span
|
||
class="toc-section-number">2</span> 营收业务详细设计</a>
|
||
<ul>
|
||
<li><a href="#营收模块统一约束" id="toc-营收模块统一约束"><span
|
||
class="toc-section-number">2.1</span> 营收模块统一约束</a></li>
|
||
<li><a href="#接口与数据追溯矩阵" id="toc-接口与数据追溯矩阵"><span
|
||
class="toc-section-number">2.2</span> 接口与数据追溯矩阵</a></li>
|
||
<li><a href="#rev-001-客户资料管理" id="toc-rev-001-客户资料管理"><span
|
||
class="toc-section-number">2.3</span> REV-001 客户资料管理</a>
|
||
<ul>
|
||
<li><a href="#功能说明" id="toc-功能说明"><span
|
||
class="toc-section-number">2.3.1</span> 功能说明</a></li>
|
||
<li><a href="#关键设计" id="toc-关键设计"><span
|
||
class="toc-section-number">2.3.2</span> 关键设计</a></li>
|
||
<li><a href="#核心数据" id="toc-核心数据"><span
|
||
class="toc-section-number">2.3.3</span> 核心数据</a></li>
|
||
<li><a href="#迁移补充旧系统承接" id="toc-迁移补充旧系统承接"><span
|
||
class="toc-section-number">2.3.4</span> 迁移补充(旧系统承接)</a>
|
||
<ul>
|
||
<li><a href="#定额共享" id="toc-定额共享"><span
|
||
class="toc-section-number">2.3.4.1</span> 定额共享</a></li>
|
||
<li><a href="#定额核定" id="toc-定额核定"><span
|
||
class="toc-section-number">2.3.4.2</span> 定额核定</a></li>
|
||
<li><a href="#批量修改" id="toc-批量修改"><span
|
||
class="toc-section-number">2.3.4.3</span> 批量修改</a></li>
|
||
</ul></li>
|
||
<li><a href="#接口映射" id="toc-接口映射"><span
|
||
class="toc-section-number">2.3.5</span> 接口映射</a></li>
|
||
<li><a href="#落地边界" id="toc-落地边界"><span
|
||
class="toc-section-number">2.3.6</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-002-抄表开账" id="toc-rev-002-抄表开账"><span
|
||
class="toc-section-number">2.4</span> REV-002 抄表开账</a>
|
||
<ul>
|
||
<li><a href="#功能说明-1" id="toc-功能说明-1"><span
|
||
class="toc-section-number">2.4.1</span> 功能说明</a></li>
|
||
<li><a href="#业务流程" id="toc-业务流程"><span
|
||
class="toc-section-number">2.4.2</span> 业务流程</a></li>
|
||
<li><a href="#关键规则" id="toc-关键规则"><span
|
||
class="toc-section-number">2.4.3</span> 关键规则</a></li>
|
||
<li><a href="#开账触发与结果表达" id="toc-开账触发与结果表达"><span
|
||
class="toc-section-number">2.4.4</span> 开账触发与结果表达</a></li>
|
||
<li><a href="#核心数据-1" id="toc-核心数据-1"><span
|
||
class="toc-section-number">2.4.5</span> 核心数据</a></li>
|
||
<li><a href="#迁移补充旧系统承接-1" id="toc-迁移补充旧系统承接-1"><span
|
||
class="toc-section-number">2.4.6</span> 迁移补充(旧系统承接)</a>
|
||
<ul>
|
||
<li><a href="#特殊开账" id="toc-特殊开账"><span
|
||
class="toc-section-number">2.4.6.1</span> 特殊开账</a></li>
|
||
<li><a href="#开账记录迁移" id="toc-开账记录迁移"><span
|
||
class="toc-section-number">2.4.6.2</span> 开账记录迁移</a></li>
|
||
</ul></li>
|
||
<li><a href="#接口映射-1" id="toc-接口映射-1"><span
|
||
class="toc-section-number">2.4.7</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-1" id="toc-落地边界-1"><span
|
||
class="toc-section-number">2.4.8</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-003-营业收费" id="toc-rev-003-营业收费"><span
|
||
class="toc-section-number">2.5</span> REV-003 营业收费</a>
|
||
<ul>
|
||
<li><a href="#功能说明-2" id="toc-功能说明-2"><span
|
||
class="toc-section-number">2.5.1</span> 功能说明</a></li>
|
||
<li><a href="#业务流程-1" id="toc-业务流程-1"><span
|
||
class="toc-section-number">2.5.2</span> 业务流程</a></li>
|
||
<li><a href="#关键规则-1" id="toc-关键规则-1"><span
|
||
class="toc-section-number">2.5.3</span> 关键规则</a></li>
|
||
<li><a href="#核心数据-2" id="toc-核心数据-2"><span
|
||
class="toc-section-number">2.5.4</span> 核心数据</a></li>
|
||
<li><a href="#迁移补充旧系统承接-2" id="toc-迁移补充旧系统承接-2"><span
|
||
class="toc-section-number">2.5.5</span> 迁移补充(旧系统承接)</a>
|
||
<ul>
|
||
<li><a href="#柜台结账" id="toc-柜台结账"><span
|
||
class="toc-section-number">2.5.5.1</span> 柜台结账</a></li>
|
||
<li><a href="#账单打印服务" id="toc-账单打印服务"><span
|
||
class="toc-section-number">2.5.5.2</span> 账单打印服务</a></li>
|
||
<li><a href="#红冲记录" id="toc-红冲记录"><span
|
||
class="toc-section-number">2.5.5.3</span> 红冲记录</a></li>
|
||
</ul></li>
|
||
<li><a href="#接口映射-2" id="toc-接口映射-2"><span
|
||
class="toc-section-number">2.5.6</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-2" id="toc-落地边界-2"><span
|
||
class="toc-section-number">2.5.7</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-004-账务处理" id="toc-rev-004-账务处理"><span
|
||
class="toc-section-number">2.6</span> REV-004 账务处理</a>
|
||
<ul>
|
||
<li><a href="#功能说明-3" id="toc-功能说明-3"><span
|
||
class="toc-section-number">2.6.1</span> 功能说明</a></li>
|
||
<li><a href="#业务流程-2" id="toc-业务流程-2"><span
|
||
class="toc-section-number">2.6.2</span> 业务流程</a></li>
|
||
<li><a href="#关键规则-2" id="toc-关键规则-2"><span
|
||
class="toc-section-number">2.6.3</span> 关键规则</a></li>
|
||
<li><a href="#核心数据-3" id="toc-核心数据-3"><span
|
||
class="toc-section-number">2.6.4</span> 核心数据</a></li>
|
||
<li><a href="#主要场景" id="toc-主要场景"><span
|
||
class="toc-section-number">2.6.5</span> 主要场景</a></li>
|
||
<li><a href="#迁移补充旧系统承接-3" id="toc-迁移补充旧系统承接-3"><span
|
||
class="toc-section-number">2.6.6</span> 迁移补充(旧系统承接)</a></li>
|
||
<li><a href="#接口映射-3" id="toc-接口映射-3"><span
|
||
class="toc-section-number">2.6.7</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-3" id="toc-落地边界-3"><span
|
||
class="toc-section-number">2.6.8</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-005-发票与税务处理"
|
||
id="toc-rev-005-发票与税务处理"><span
|
||
class="toc-section-number">2.7</span> REV-005 发票与税务处理</a>
|
||
<ul>
|
||
<li><a href="#功能说明-4" id="toc-功能说明-4"><span
|
||
class="toc-section-number">2.7.1</span> 功能说明</a></li>
|
||
<li><a href="#业务流程-3" id="toc-业务流程-3"><span
|
||
class="toc-section-number">2.7.2</span> 业务流程</a></li>
|
||
<li><a href="#状态说明" id="toc-状态说明"><span
|
||
class="toc-section-number">2.7.3</span> 状态说明</a></li>
|
||
<li><a href="#关键规则-3" id="toc-关键规则-3"><span
|
||
class="toc-section-number">2.7.4</span> 关键规则</a></li>
|
||
<li><a href="#后台申请入口与校验补充"
|
||
id="toc-后台申请入口与校验补充"><span
|
||
class="toc-section-number">2.7.5</span> 后台申请入口与校验补充</a></li>
|
||
<li><a href="#sys-008-异步协同与查询补偿"
|
||
id="toc-sys-008-异步协同与查询补偿"><span
|
||
class="toc-section-number">2.7.6</span> SYS-008
|
||
异步协同与查询补偿</a></li>
|
||
<li><a href="#终态保护与异常核查" id="toc-终态保护与异常核查"><span
|
||
class="toc-section-number">2.7.7</span> 终态保护与异常核查</a></li>
|
||
<li><a href="#结果回写账单关联与客户侧消费"
|
||
id="toc-结果回写账单关联与客户侧消费"><span
|
||
class="toc-section-number">2.7.8</span>
|
||
结果回写、账单关联与客户侧消费</a></li>
|
||
<li><a href="#核心数据-4" id="toc-核心数据-4"><span
|
||
class="toc-section-number">2.7.9</span> 核心数据</a></li>
|
||
<li><a href="#迁移补充旧系统承接-4" id="toc-迁移补充旧系统承接-4"><span
|
||
class="toc-section-number">2.7.10</span> 迁移补充(旧系统承接)</a></li>
|
||
<li><a href="#接口映射-4" id="toc-接口映射-4"><span
|
||
class="toc-section-number">2.7.11</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-4" id="toc-落地边界-4"><span
|
||
class="toc-section-number">2.7.12</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-006-催缴与通知" id="toc-rev-006-催缴与通知"><span
|
||
class="toc-section-number">2.8</span> REV-006 催缴与通知</a>
|
||
<ul>
|
||
<li><a href="#功能说明-5" id="toc-功能说明-5"><span
|
||
class="toc-section-number">2.8.1</span> 功能说明</a></li>
|
||
<li><a href="#业务流程-4" id="toc-业务流程-4"><span
|
||
class="toc-section-number">2.8.2</span> 业务流程</a></li>
|
||
<li><a href="#关键规则-4" id="toc-关键规则-4"><span
|
||
class="toc-section-number">2.8.3</span> 关键规则</a>
|
||
<ul>
|
||
<li><a href="#催缴对象筛选排除与频控边界"
|
||
id="toc-催缴对象筛选排除与频控边界"><span
|
||
class="toc-section-number">2.8.3.1</span>
|
||
催缴对象筛选、排除与频控边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#核心数据-5" id="toc-核心数据-5"><span
|
||
class="toc-section-number">2.8.4</span> 核心数据</a>
|
||
<ul>
|
||
<li><a href="#催缴对象与规则摘要" id="toc-催缴对象与规则摘要"><span
|
||
class="toc-section-number">2.8.4.1</span> 催缴对象与规则摘要</a></li>
|
||
<li><a href="#四态与人工核查边界" id="toc-四态与人工核查边界"><span
|
||
class="toc-section-number">2.8.4.2</span> 四态与人工核查边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#迁移补充旧系统承接-5" id="toc-迁移补充旧系统承接-5"><span
|
||
class="toc-section-number">2.8.5</span> 迁移补充(旧系统承接)</a>
|
||
<ul>
|
||
<li><a href="#催缴记录" id="toc-催缴记录"><span
|
||
class="toc-section-number">2.8.5.1</span> 催缴记录</a></li>
|
||
<li><a href="#停水记录" id="toc-停水记录"><span
|
||
class="toc-section-number">2.8.5.2</span> 停水记录</a></li>
|
||
<li><a href="#预存短信" id="toc-预存短信"><span
|
||
class="toc-section-number">2.8.5.3</span> 预存短信</a></li>
|
||
</ul></li>
|
||
<li><a href="#接口映射-5" id="toc-接口映射-5"><span
|
||
class="toc-section-number">2.8.6</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-5" id="toc-落地边界-5"><span
|
||
class="toc-section-number">2.8.7</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-007-统计分析" id="toc-rev-007-统计分析"><span
|
||
class="toc-section-number">2.9</span> REV-007 统计分析</a>
|
||
<ul>
|
||
<li><a href="#功能说明-6" id="toc-功能说明-6"><span
|
||
class="toc-section-number">2.9.1</span> 功能说明</a></li>
|
||
<li><a href="#关键设计-1" id="toc-关键设计-1"><span
|
||
class="toc-section-number">2.9.2</span> 关键设计</a></li>
|
||
<li><a href="#核心数据-6" id="toc-核心数据-6"><span
|
||
class="toc-section-number">2.9.3</span> 核心数据</a>
|
||
<ul>
|
||
<li><a href="#统计主题与口径摘要" id="toc-统计主题与口径摘要"><span
|
||
class="toc-section-number">2.9.3.1</span> 统计主题与口径摘要</a></li>
|
||
</ul></li>
|
||
<li><a href="#接口映射-6" id="toc-接口映射-6"><span
|
||
class="toc-section-number">2.9.4</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-6" id="toc-落地边界-6"><span
|
||
class="toc-section-number">2.9.5</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-008-代收与银行业务"
|
||
id="toc-rev-008-代收与银行业务"><span
|
||
class="toc-section-number">2.10</span> REV-008 代收与银行业务</a>
|
||
<ul>
|
||
<li><a href="#功能说明-7" id="toc-功能说明-7"><span
|
||
class="toc-section-number">2.10.1</span> 功能说明</a></li>
|
||
<li><a href="#业务流程-5" id="toc-业务流程-5"><span
|
||
class="toc-section-number">2.10.2</span> 业务流程</a></li>
|
||
<li><a href="#关键规则-5" id="toc-关键规则-5"><span
|
||
class="toc-section-number">2.10.3</span> 关键规则</a></li>
|
||
<li><a href="#核心数据-7" id="toc-核心数据-7"><span
|
||
class="toc-section-number">2.10.4</span> 核心数据</a>
|
||
<ul>
|
||
<li><a href="#文件传输配置与审计补充"
|
||
id="toc-文件传输配置与审计补充"><span
|
||
class="toc-section-number">2.10.4.1</span>
|
||
文件传输配置与审计补充</a></li>
|
||
</ul></li>
|
||
<li><a href="#迁移补充旧系统承接-6" id="toc-迁移补充旧系统承接-6"><span
|
||
class="toc-section-number">2.10.5</span> 迁移补充(旧系统承接)</a>
|
||
<ul>
|
||
<li><a href="#银行托收" id="toc-银行托收"><span
|
||
class="toc-section-number">2.10.5.1</span> 银行托收</a></li>
|
||
<li><a href="#实时收费查询与对账" id="toc-实时收费查询与对账"><span
|
||
class="toc-section-number">2.10.5.2</span> 实时收费查询与对账</a></li>
|
||
<li><a href="#当前实现对齐说明" id="toc-当前实现对齐说明"><span
|
||
class="toc-section-number">2.10.5.3</span> 当前实现对齐说明</a></li>
|
||
</ul></li>
|
||
<li><a href="#接口映射-7" id="toc-接口映射-7"><span
|
||
class="toc-section-number">2.10.6</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-7" id="toc-落地边界-7"><span
|
||
class="toc-section-number">2.10.7</span> 落地边界</a></li>
|
||
</ul></li>
|
||
<li><a href="#rev-009-业务参数配置" id="toc-rev-009-业务参数配置"><span
|
||
class="toc-section-number">2.11</span> REV-009 业务参数配置</a>
|
||
<ul>
|
||
<li><a href="#功能说明-8" id="toc-功能说明-8"><span
|
||
class="toc-section-number">2.11.1</span> 功能说明</a></li>
|
||
<li><a href="#关键设计-2" id="toc-关键设计-2"><span
|
||
class="toc-section-number">2.11.2</span> 关键设计</a></li>
|
||
<li><a href="#核心数据-8" id="toc-核心数据-8"><span
|
||
class="toc-section-number">2.11.3</span> 核心数据</a></li>
|
||
<li><a href="#迁移补充旧系统承接-7" id="toc-迁移补充旧系统承接-7"><span
|
||
class="toc-section-number">2.11.4</span> 迁移补充(旧系统承接)</a></li>
|
||
<li><a href="#接口映射-8" id="toc-接口映射-8"><span
|
||
class="toc-section-number">2.11.5</span> 接口映射</a></li>
|
||
<li><a href="#落地边界-8" id="toc-落地边界-8"><span
|
||
class="toc-section-number">2.11.6</span> 落地边界</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
</ul>
|
||
</nav>
|
||
<h1 data-number="1" id="福建水务营收系统详细设计-营收业务模块正文"><span
|
||
class="header-section-number">1</span>
|
||
福建水务营收系统详细设计-营收业务模块正文</h1>
|
||
<h2 data-number="1.1" id="章节导航精简"><span
|
||
class="header-section-number">1.1</span> 章节导航(精简)</h2>
|
||
<ul>
|
||
<li><a href="#sec-position">文档定位</a></li>
|
||
<li><a href="#sec-content">营收业务详细设计正文</a>
|
||
<ul>
|
||
<li><a href="#sec-rev-rules">营收模块统一约束</a></li>
|
||
<li><a href="#sec-rev-trace">接口与数据追溯矩阵</a></li>
|
||
<li><a href="#mod-rev-001">REV-001 客户资料管理</a></li>
|
||
<li><a href="#mod-rev-002">REV-002 抄表开账</a></li>
|
||
<li><a href="#mod-rev-003">REV-003 营业收费</a></li>
|
||
<li><a href="#mod-rev-004">REV-004 账务处理</a></li>
|
||
<li><a href="#mod-rev-005">REV-005 发票与税务处理</a></li>
|
||
<li><a href="#mod-rev-006">REV-006 催缴与通知</a></li>
|
||
<li><a href="#mod-rev-007">REV-007 统计分析</a></li>
|
||
<li><a href="#mod-rev-008">REV-008 代收与银行业务</a></li>
|
||
<li><a href="#mod-rev-009">REV-009 业务参数配置</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
<p><a id="sec-position"></a></p>
|
||
<h2 data-number="1.2" id="文档定位"><span
|
||
class="header-section-number">1.2</span> 文档定位</h2>
|
||
<p>本文档为 <code>01_Detailed_Design.md</code>
|
||
中“营收业务详细设计”章节的模块正文拆分稿,便于按模块独立维护。正式交付口径以主详设为准。</p>
|
||
<p><a id="sec-content"></a></p>
|
||
<h1 data-number="2" id="营收业务详细设计"><span
|
||
class="header-section-number">2</span> 营收业务详细设计</h1>
|
||
<p><a id="sec-rev-rules"></a></p>
|
||
<h2 data-number="2.1" id="营收模块统一约束"><span
|
||
class="header-section-number">2.1</span> 营收模块统一约束</h2>
|
||
<ol type="1">
|
||
<li><code>SYS-002</code>
|
||
负责营收主流程,发票、支付结算、消息触达分别通过
|
||
<code>SYS-008</code>、<code>SYS-009</code>、<code>SYS-010</code>
|
||
协同完成,外部系统仅回写结果状态。</li>
|
||
<li>账单、收费、发票、代扣等关键状态变更必须通过业务流程驱动,不允许绕过业务校验直接改写主业务对象。</li>
|
||
<li>幂等控制遵循接口主键约束:支付以业务订单号为主,发票以申请单号或账单组合为主,代扣以批次号为主,消息以业务事件号为主。</li>
|
||
<li>账务调整、发票申请、催缴触达、银行批次下发等关键动作必须写入操作留痕,满足审计与问题追踪要求。</li>
|
||
<li>数据口径统一采用 <code>biz_*</code> 与 <code>bk_*</code>
|
||
命名体系,历史命名仅用于追溯,不作为本章节正式设计口径。</li>
|
||
</ol>
|
||
<p><a id="sec-rev-trace"></a></p>
|
||
<h2 data-number="2.2" id="接口与数据追溯矩阵"><span
|
||
class="header-section-number">2.2</span> 接口与数据追溯矩阵</h2>
|
||
<blockquote>
|
||
<p>说明:详细字段与报文以
|
||
<code>../03_Technical_Design/03_Interface_Design.md</code>
|
||
为准,数据库字段口径以
|
||
<code>../03_Technical_Design/01_Database_Design.md</code> 为准。</p>
|
||
</blockquote>
|
||
<table>
|
||
<colgroup>
|
||
<col style="width: 25%" />
|
||
<col style="width: 25%" />
|
||
<col style="width: 25%" />
|
||
<col style="width: 25%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th>REV 模块</th>
|
||
<th>关键接口</th>
|
||
<th>核心数据域(摘要)</th>
|
||
<th>主要协同对象</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>REV-001 客户资料管理</td>
|
||
<td><code>IF-REV-001</code></td>
|
||
<td><code>biz_cust</code>、<code>biz_account</code>、<code>biz_cust_*</code></td>
|
||
<td>客户服务模块、报装模块</td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-002 抄表开账</td>
|
||
<td><code>IF-REV-004</code>、<code>IF-REV-005</code></td>
|
||
<td><code>biz_meter_book</code>、<code>biz_meter_read</code>、<code>biz_reading_*</code>、<code>biz_charge*</code></td>
|
||
<td>抄表APP、物联网集抄</td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-003 营业收费</td>
|
||
<td><code>IF-REV-006</code></td>
|
||
<td><code>biz_charge*</code>、<code>biz_collection</code>、<code>bk_transaction*</code></td>
|
||
<td><code>SYS-009</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-004 账务处理</td>
|
||
<td><code>IF-REV-007</code></td>
|
||
<td><code>biz_charge*</code>、<code>biz_operat_log*</code></td>
|
||
<td>财务与营业人员</td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-005 发票与税务处理</td>
|
||
<td><code>IF-REV-008</code></td>
|
||
<td><code>biz_invoice*</code>、<code>biz_cust_invoice</code></td>
|
||
<td><code>SYS-008</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-006 催缴与通知</td>
|
||
<td><code>IF-REV-013</code></td>
|
||
<td><code>biz_charge*</code>、催缴结果留痕</td>
|
||
<td><code>SYS-010</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-007 统计分析</td>
|
||
<td><code>IF-REV-010</code></td>
|
||
<td>客户、抄表、收费、渠道聚合对象</td>
|
||
<td>统计分析端</td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-008 代收与银行业务</td>
|
||
<td><code>IF-REV-011</code></td>
|
||
<td><code>bk_withholding_*</code>、<code>bk_reconcile_*</code>、<code>bk_settlement_*</code></td>
|
||
<td><code>SYS-009</code>、银行</td>
|
||
</tr>
|
||
<tr>
|
||
<td>REV-009 业务参数配置</td>
|
||
<td><code>IF-REV-012</code></td>
|
||
<td><code>biz_parameter_settings</code>、<code>biz_page_settings*</code>、<code>biz_price_*</code></td>
|
||
<td>统一平台、营收模块</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p><a id="mod-rev-001"></a></p>
|
||
<h2 data-number="2.3" id="rev-001-客户资料管理"><span
|
||
class="header-section-number">2.3</span> REV-001 客户资料管理</h2>
|
||
<h3 data-number="2.3.1" id="功能说明"><span
|
||
class="header-section-number">2.3.1</span> 功能说明</h3>
|
||
<p>负责客户主档、账户主档、联系人、客户分组、客户与水表关系、客户开票信息、客户渠道绑定及托收/代扣关系维护,是抄表、收费、发票、代扣等后续业务的主数据基础。</p>
|
||
<h3 data-number="2.3.2" id="关键设计"><span
|
||
class="header-section-number">2.3.2</span> 关键设计</h3>
|
||
<ol type="1">
|
||
<li>客户建档覆盖立户、变更、更名、过户、销户、报停等全生命周期处理。</li>
|
||
<li>客户资料支持按客户类型、用水性质、片区、集团客户、重点客户等维度管理。</li>
|
||
<li>客户与水表、开票主体、托收/代扣签约关系按关联表维护,避免在主表中堆叠多类属性。</li>
|
||
<li>客户编号、集收标记、计划用水方案等规则类数据由统一配置与客户关系表共同支撑。</li>
|
||
</ol>
|
||
<h3 data-number="2.3.3" id="核心数据"><span
|
||
class="header-section-number">2.3.3</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>biz_cust</code>:客户主档。</li>
|
||
<li><code>biz_account</code>:客户账户与账户状态。</li>
|
||
<li><code>biz_cust_contact</code>:联系人及联系方式。</li>
|
||
<li><code>biz_cust_group</code>:客户分组。</li>
|
||
<li><code>biz_cust_meter</code>:客户与水表绑定关系。</li>
|
||
<li><code>biz_cust_invoice</code>:客户开票信息。</li>
|
||
<li><code>biz_cust_app_binds</code>:渠道绑定关系。</li>
|
||
<li><code>biz_cust_collection_rel</code>:客户托收关系。</li>
|
||
<li><code>biz_cust_withholding_rel</code>:客户代扣关系。</li>
|
||
<li><code>biz_cust_water_use_scheme</code>、<code>biz_cust_water_scheme_rel</code>:客户计划用水方案关系。</li>
|
||
<li><code>biz_cust_no_rule</code>:客户编号规则。</li>
|
||
<li><code>biz_cust_hub_marks</code>:集收号/集收标记关系。</li>
|
||
</ul>
|
||
<h3 data-number="2.3.4" id="迁移补充旧系统承接"><span
|
||
class="header-section-number">2.3.4</span> 迁移补充(旧系统承接)</h3>
|
||
<h4 data-number="2.3.4.1" id="定额共享"><span
|
||
class="header-section-number">2.3.4.1</span> 定额共享</h4>
|
||
<ul>
|
||
<li>旧系统在“客户资料”下提供定额主客户、子客户绑定与共享清单管理能力。</li>
|
||
<li>当前正式设计不新增并行主模型,统一归入客户与计划用水方案关系对象承接。</li>
|
||
<li>迁移时必须至少保留主客户、子客户、绑定状态、生效时间、解除时间、备注与操作留痕,确保共享清单可查询、可解绑、可追溯。</li>
|
||
</ul>
|
||
<h4 data-number="2.3.4.2" id="定额核定"><span
|
||
class="header-section-number">2.3.4.2</span> 定额核定</h4>
|
||
<ul>
|
||
<li>旧系统支持对已建立共享关系的客户执行定额核定、撤销核定和共享清单联查。</li>
|
||
<li>当前建议以客户关系对象和计划用水方案关系为主承接核定结果,不额外发明独立账务主表。</li>
|
||
<li>核定结果迁移后应支持按客户、站点、核定状态、核定时间查询,并保留核定依据、操作人和变更留痕。</li>
|
||
</ul>
|
||
<h4 data-number="2.3.4.3" id="批量修改"><span
|
||
class="header-section-number">2.3.4.3</span> 批量修改</h4>
|
||
<ul>
|
||
<li>旧系统已形成“手工修改 + 模板导入修改”的双模式客户资料维护能力。</li>
|
||
<li>当前正式设计应将其视为客户主数据治理能力的一部分,而不是临时导入工具。</li>
|
||
<li>迁移时需明确三类口径:可批量修改字段范围、导入模板校验规则、批量修改审计留痕;历史批量修改结果至少需保留任务来源、修改字段、执行结果和失败原因。</li>
|
||
</ul>
|
||
<h3 data-number="2.3.5" id="接口映射"><span
|
||
class="header-section-number">2.3.5</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-001</code>:客户档案、账户状态、联系人与水表绑定关系查询。</li>
|
||
<li><code>IF-CS-001</code>、<code>IF-CS-002</code>:客户服务侧账户绑定与信息查询场景复用客户域数据。</li>
|
||
</ul>
|
||
<h3 data-number="2.3.6" id="落地边界"><span
|
||
class="header-section-number">2.3.6</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:客户主档、账户、联系人、分组、绑定、开票、托收/代扣关系。</li>
|
||
<li><strong>部分落地</strong>:客户扩展关系、集收与规则类对象已见明确关系表,但具体业务场景仍需结合流程进一步细化。</li>
|
||
<li><strong>文档先行</strong>:主副卡、部分复杂客户关系对象在当前
|
||
backend 中未见完全独立表族,文档中仅保留业务对象表述。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-002"></a></p>
|
||
<h2 data-number="2.4" id="rev-002-抄表开账"><span
|
||
class="header-section-number">2.4</span> REV-002 抄表开账</h2>
|
||
<h3 data-number="2.4.1" id="功能说明-1"><span
|
||
class="header-section-number">2.4.1</span> 功能说明</h3>
|
||
<p>负责抄表计划、册本管理、抄表录入、抄表状态跟踪、异常复核、计费计算与账单生成,是营收核心处理链路的起点。</p>
|
||
<h3 data-number="2.4.2" id="业务流程"><span
|
||
class="header-section-number">2.4.2</span> 业务流程</h3>
|
||
<pre class="mermaid"><code>flowchart TD
|
||
A[制定抄表计划] --> B[生成抄表册本]
|
||
B --> C[分配抄表任务]
|
||
C --> D[人工/远传/自报抄表]
|
||
D --> E[数据校验]
|
||
E --> F{是否异常}
|
||
F -->|是| G[异常复核处理]
|
||
F -->|否| H[生成开账数据]
|
||
G --> H
|
||
H --> I[按价格模板与费用组成计费]
|
||
I --> J[生成营业账与明细]
|
||
J --> K[账单审核确认]
|
||
K --> L[进入收费/催缴/开票]
|
||
</code></pre>
|
||
<h3 data-number="2.4.3" id="关键规则"><span
|
||
class="header-section-number">2.4.3</span> 关键规则</h3>
|
||
<ol type="1">
|
||
<li>抄表数据同时校验本次读数、上次读数、用量波动和抄表状态,只有通过校验或完成异常复核的数据才能进入开账。</li>
|
||
<li>异常抄表支持估抄、补抄、重录、人工复核;异常处理的目标是形成可继续开账或明确阻断的统一结论,而不是绕开开账规则单独落账。</li>
|
||
<li><code>IF-REV-005</code>
|
||
的正式边界是“抄表校验完成后的账单生成”,不负责收费核销、发票开具、催缴执行和统计分析。</li>
|
||
<li>开账计费按价格归属、价格模板、费用组成、阶梯规则、计划用水方案综合计算;价格配置缺失、费用组成不完整或规则冲突时,必须阻断生成并返回失败原因。</li>
|
||
<li>账单生成结果统一由 <code>biz_charge</code> 与
|
||
<code>biz_charge_detail</code>
|
||
承接:主表表达客户、账期、应收日期、账单总金额和主状态,明细表表达费用组成、用量、单价和明细金额。</li>
|
||
<li>特殊开账、无码客户开账、罚款类开账等非标准来源,仍纳入同一营业账主明细模型承接,通过来源类型、业务类型、依据说明和操作留痕区分,不单独扩展平行账表。</li>
|
||
<li>审核通过后的营业账方可进入收费、催缴和发票流程;后续链路只能消费已生成账单结果,不反向改变本接口的生成边界。</li>
|
||
<li>远传抄表数据可由 <code>SYS-006</code> / IoT
|
||
能力提供采集支撑,但账单生成仍归属 SYS-002。</li>
|
||
</ol>
|
||
<h3 data-number="2.4.4" id="开账触发与结果表达"><span
|
||
class="header-section-number">2.4.4</span> 开账触发与结果表达</h3>
|
||
<ul>
|
||
<li>触发前提:正式口径下可按抄表批次、指定客户范围或指定抄表任务范围组织生成;当前
|
||
backend 已落地的入口为按 <code>readingDataIds</code>
|
||
批量复核并开账,对应
|
||
<code>ChargeController.generateCheckChargeBatch</code>、<code>ChargeServiceImpl.generateCheckChargeBatch</code>
|
||
与 <code>ReadingDataServiceImpl.batchReCheckReadingData</code>。</li>
|
||
<li>规则来源:价格归属决定客户适用的价格口径;价格模板、阶梯规则、费用组成和计划用水方案共同决定营业账主表金额与明细拆分方式。</li>
|
||
<li>当前承接证据:<code>ChargeServiceImpl.generateSingleChargeWithCache</code>
|
||
成功路径会写入 <code>biz_charge</code> 主表、循环写入
|
||
<code>biz_charge_detail</code>
|
||
明细,并回写抄表数据开账状态,说明现有实现已具备“按抄表数据 ID
|
||
生成营业账主明细”的 backend 基础。</li>
|
||
<li>结果表达:正式 <code>IF-REV-005</code>
|
||
应返回成功清单、失败清单、生成汇总及主明细级结果;当前 backend
|
||
返回仍为“本次复核成功X条 /
|
||
本次开账成功Y条”的字符串拼接,尚未形成结构化成功/失败结果对象。</li>
|
||
<li>阻断与限制:价格模板不存在、费用调整配置缺失、结算方式非
|
||
<code>ACTUAL_USAGE</code>
|
||
等场景当前会直接阻断单条生成;其中固定水量、按人口数、最低消费等非实际水量结算方式仍未纳入当前实现。</li>
|
||
<li>下游边界:<code>REV-002</code>
|
||
只负责生成营业账结果并交由后续审核/收费链路消费,不在本章节扩展收费核销、发票申请或催缴执行细节。</li>
|
||
</ul>
|
||
<h3 data-number="2.4.5" id="核心数据-1"><span
|
||
class="header-section-number">2.4.5</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>biz_meter_book</code>:册本与抄表计划。</li>
|
||
<li><code>biz_meter_read</code>:抄表任务状态/执行状态。</li>
|
||
<li><code>biz_reading_data</code>:抄表数据。</li>
|
||
<li><code>biz_last_reading</code>:上次抄表结果。</li>
|
||
<li><code>biz_reading_logs</code>:抄表日志与过程留痕。</li>
|
||
<li><code>biz_meter</code>:计量水表主档引用。</li>
|
||
<li><code>biz_charge</code>:营业账主表。</li>
|
||
<li><code>biz_charge_detail</code>:营业账明细。</li>
|
||
<li><code>biz_price_category</code>:价格归属。</li>
|
||
<li><code>biz_price_template</code>:价格模板。</li>
|
||
<li><code>biz_price_adjustment_snap</code>:调价快照。</li>
|
||
<li><code>biz_price_tier_adjustment</code>:阶梯规则。</li>
|
||
<li><code>biz_cost_component</code>:费用组成。</li>
|
||
<li><code>biz_water_use_scheme</code>、<code>biz_water_use_scheme_tier</code>:计划用水方案与阶梯。</li>
|
||
</ul>
|
||
<h3 data-number="2.4.6" id="迁移补充旧系统承接-1"><span
|
||
class="header-section-number">2.4.6</span> 迁移补充(旧系统承接)</h3>
|
||
<h4 data-number="2.4.6.1" id="特殊开账"><span
|
||
class="header-section-number">2.4.6.1</span> 特殊开账</h4>
|
||
<ul>
|
||
<li>旧系统支持在非标准客户、无码客户或罚款类场景下直接开账。</li>
|
||
<li>新系统仍以 <code>biz_charge</code>、<code>biz_charge_detail</code>
|
||
作为开账结果承载对象,不建议额外平行建设“特殊开账账表”。</li>
|
||
<li>迁移与新建场景均需保留特殊开账来源、业务类型、经办人、依据说明、打印状态与后续收费关联,避免与普通抄表开账混淆。</li>
|
||
</ul>
|
||
<h4 data-number="2.4.6.2" id="开账记录迁移"><span
|
||
class="header-section-number">2.4.6.2</span> 开账记录迁移</h4>
|
||
<ul>
|
||
<li>旧系统“开账记录”是历史查询与账务核对的核心入口,必须纳入迁移最小保留集。</li>
|
||
<li>迁移后的开账记录应至少支持按站点、账务年月、册本、客户、抄表员、欠费状态查询,并支持统计水量、总金额及费用构成。</li>
|
||
<li>对已收费、已作废、销户拆表、特殊开账等旧状态,不要求照搬旧表结构,但必须保留可对照的新状态映射关系。</li>
|
||
</ul>
|
||
<h3 data-number="2.4.7" id="接口映射-1"><span
|
||
class="header-section-number">2.4.7</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-004</code>:抄表数据提交与异常标记。</li>
|
||
<li><code>IF-REV-005</code>:账单生成与开账结果返回。</li>
|
||
<li><code>IF-METER-004</code>:远传抄表数据接收后进入开账流程。</li>
|
||
</ul>
|
||
<h3 data-number="2.4.8" id="落地边界-1"><span
|
||
class="header-section-number">2.4.8</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:册本、抄表数据、上次抄表、抄表日志、营业账主明细、价格模板与阶梯规则。</li>
|
||
<li><strong>部分落地</strong>:部分异常场景对象可能仍通过状态字段和日志表承载,而非全部拆成独立业务表。</li>
|
||
<li><strong>文档先行</strong>:个别精细稽查、轨迹、下载同步对象当前未在本轮映射中确认为独立表。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-003"></a></p>
|
||
<h2 data-number="2.5" id="rev-003-营业收费"><span
|
||
class="header-section-number">2.5</span> REV-003 营业收费</h2>
|
||
<h3 data-number="2.5.1" id="功能说明-2"><span
|
||
class="header-section-number">2.5.1</span> 功能说明</h3>
|
||
<p>支持柜台收费、预存款/余额抵扣、线上缴费回写、柜面扫码、营业网点收费及收费凭证管理,统一承接营收账单的核销处理。</p>
|
||
<h3 data-number="2.5.2" id="业务流程-1"><span
|
||
class="header-section-number">2.5.2</span> 业务流程</h3>
|
||
<pre class="mermaid"><code>flowchart TD
|
||
A[查询客户及待缴账单] --> B[选择账单与核销方式]
|
||
B --> C[选择支付渠道]
|
||
C --> D{支付方式}
|
||
D -->|柜台现金/POS/扫码| E[现场收费]
|
||
D -->|微信/支付宝/聚合支付| F[渠道下单]
|
||
D -->|预存款/余额抵扣| G[账户余额核销]
|
||
E --> H[更新营业账状态]
|
||
F --> I[等待异步回调确认]
|
||
G --> H
|
||
I --> H
|
||
H --> J[生成收费记录与凭证]
|
||
J --> K[进入发票/对账流程]
|
||
</code></pre>
|
||
<h3 data-number="2.5.3" id="关键规则-1"><span
|
||
class="header-section-number">2.5.3</span> 关键规则</h3>
|
||
<ol type="1">
|
||
<li>一次缴费可对应多个账单或账单明细的组合核销。</li>
|
||
<li>收费记录必须保留渠道、流水号、网点、操作员、终端信息。</li>
|
||
<li>线上支付必须以回调或查询确认结果为准,不得以发起状态直接记账。</li>
|
||
<li>支付能力由 <code>SYS-009</code> 提供,SYS-002
|
||
负责账单核销与业务状态回写。</li>
|
||
<li>当前实现侧已确认 <code>PayCeb</code>
|
||
的欠费查询、缴费处理基础闭环可用,但代理收费对账仍为预留能力;正式文档不得将实时收费对账写成已闭环能力。</li>
|
||
</ol>
|
||
<h3 data-number="2.5.4" id="核心数据-2"><span
|
||
class="header-section-number">2.5.4</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>biz_charge</code>、<code>biz_charge_detail</code>:待缴与已缴账单主明细。</li>
|
||
<li><code>biz_collection</code>:托收/代收主表。</li>
|
||
<li><code>biz_withholding</code>:代扣/托收主表。</li>
|
||
<li><code>bk_transaction</code>:渠道交易流水。</li>
|
||
<li><code>bk_transaction_callback</code>:支付回调记录。</li>
|
||
<li><code>bk_transaction_exception</code>:支付异常记录。</li>
|
||
</ul>
|
||
<h3 data-number="2.5.5" id="迁移补充旧系统承接-2"><span
|
||
class="header-section-number">2.5.5</span> 迁移补充(旧系统承接)</h3>
|
||
<h4 data-number="2.5.5.1" id="柜台结账"><span
|
||
class="header-section-number">2.5.5.1</span> 柜台结账</h4>
|
||
<ul>
|
||
<li>旧系统将“柜台收费”和“柜台结账”拆分为两个菜单,结账阶段包含未结/已结查询、结账红冲、追加抄表和打印动作。</li>
|
||
<li>当前设计可继续采用统一收费核销模型,但必须补出“收费记录 → 班结结果 →
|
||
打印/红冲/查询”的业务闭环,避免柜面日终处理缺口。</li>
|
||
<li>迁移时需保留结账时间、结账人、网点、收费汇总口径和结账后红冲痕迹,保证财务对账与审计连续。</li>
|
||
</ul>
|
||
<h4 data-number="2.5.5.2" id="账单打印服务"><span
|
||
class="header-section-number">2.5.5.2</span> 账单打印服务</h4>
|
||
<ul>
|
||
<li>旧系统存在账单打印、补打、打印次数控制与打印记录查询能力。</li>
|
||
<li>新系统不要求单独建立打印主模块,但必须明确打印模板、补打权限、打印状态与打印留痕的承接关系。</li>
|
||
<li>对历史账单迁移,应允许基于账单主明细和打印配置恢复打印视图,避免割接后只能查账不能补打。</li>
|
||
</ul>
|
||
<h4 data-number="2.5.5.3" id="红冲记录"><span
|
||
class="header-section-number">2.5.5.3</span> 红冲记录</h4>
|
||
<ul>
|
||
<li>旧系统支持红冲记录查询、导出与明细展开,是收费差错追溯的重要入口。</li>
|
||
<li>当前设计可将红冲视为收费核销后的修正场景,不强制要求独立实体表,但必须提供历史只读查询口径。</li>
|
||
<li>红冲迁移最小保留信息应包括原收费记录、红冲时间、红冲金额、原因、经办人、关联账单和后续账务状态。</li>
|
||
</ul>
|
||
<h3 data-number="2.5.6" id="接口映射-2"><span
|
||
class="header-section-number">2.5.6</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-006</code>:创建收费记录、执行账单核销并回写状态。</li>
|
||
<li><code>IF-CS-003</code>、<code>IF-CS-007</code>:客户渠道与柜面扫码支付场景复用收费核销链路。</li>
|
||
</ul>
|
||
<h3 data-number="2.5.7" id="落地边界-2"><span
|
||
class="header-section-number">2.5.7</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:营业账主明细、交易流水、回调、异常、托收/代扣主对象。</li>
|
||
<li><strong>部分落地</strong>:柜台班结、部分收费汇总类对象可能通过业务流程与报表实现,不一定存在独立表。</li>
|
||
<li><strong>文档先行</strong>:部分红冲、实时收费汇总类台账暂不表述为已确认独立实体表。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-004"></a></p>
|
||
<h2 data-number="2.6" id="rev-004-账务处理"><span
|
||
class="header-section-number">2.6</span> REV-004 账务处理</h2>
|
||
<h3 data-number="2.6.1" id="功能说明-3"><span
|
||
class="header-section-number">2.6.1</span> 功能说明</h3>
|
||
<p>REV-004
|
||
一期仅覆盖水量调整、金额调整、退款、冲正、坏账申请五类场景,统一挂靠
|
||
<code>IF-REV-007</code>
|
||
作为账务处理入口,目标是在既有正式文档体系内先收敛范围、承接口径、留痕要求与审批边界。</p>
|
||
<p>本阶段按“共性能力先统一、场景能力再分批”组织:先统一账单承接、原交易校验、结果表达、操作留痕与审批边界,再分别展开五类场景。违约金减免、分账调整、价差调整、跨周期水量、预存退款细表等内容仅作为旧系统迁移语义或后续扩展参考,不作为一期新增独立范围。</p>
|
||
<h3 data-number="2.6.2" id="业务流程-2"><span
|
||
class="header-section-number">2.6.2</span> 业务流程</h3>
|
||
<pre class="mermaid"><code>flowchart TD
|
||
A[发起账务调整申请] --> B[校验账单状态与权限]
|
||
B --> C{是否通过}
|
||
C -->|否| D[驳回并记录原因]
|
||
C -->|是| E[执行重算或退款冲正]
|
||
E --> F[更新账单与明细状态]
|
||
F --> G[写入操作日志与审批留痕]
|
||
G --> H[返回处理结果]
|
||
</code></pre>
|
||
<h3 data-number="2.6.3" id="关键规则-2"><span
|
||
class="header-section-number">2.6.3</span> 关键规则</h3>
|
||
<ol type="1">
|
||
<li>一期场景严格限定为水量调整、金额调整、退款、冲正、坏账申请,不扩展到其他接口族或独立账务台账重构。</li>
|
||
<li>所有场景均以 <code>biz_charge</code> /
|
||
<code>biz_charge_detail</code> 为主承接对象,并通过
|
||
<code>biz_operat_log</code> / <code>biz_operat_log_detail</code>
|
||
记录处理依据、前后变化和责任归属。</li>
|
||
<li>退款、冲正必须联动
|
||
<code>bk_transaction</code>、<code>bk_transaction_callback</code>、<code>bk_transaction_exception</code>
|
||
等原支付流水及渠道状态校验,不允许仅依据账单状态直接处理。</li>
|
||
<li>接口结果统一返回
|
||
<code>resultStatus</code>、<code>writeBackStatus</code>,其中
|
||
<code>resultStatus</code> 表示处理结论,<code>writeBackStatus</code>
|
||
表示账单状态回写结论,两者不得混用。</li>
|
||
<li>审批相关内容一期仅保留
|
||
<code>approvalRequired</code>、<code>PENDING_APPROVAL</code>
|
||
与审批边界说明,不展开完整 BPM
|
||
流程、节点、流转规则或审批回写实现细节。</li>
|
||
<li>对于当前未见明确独立实体表的特账、跨周期水量、退款账等对象,文档以“业务处理场景”表述,不强行落为已实现表。</li>
|
||
</ol>
|
||
<h3 data-number="2.6.4" id="核心数据-3"><span
|
||
class="header-section-number">2.6.4</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>biz_charge</code>、<code>biz_charge_detail</code>:账务调整的核心对象,承接调整前后账单主明细状态。</li>
|
||
<li><code>bk_transaction</code>、<code>bk_transaction_callback</code>、<code>bk_transaction_exception</code>:退款、冲正场景的原交易校验与异常追溯对象。</li>
|
||
<li>价格调整/优惠相关表:用于重算账单或差额追溯。</li>
|
||
<li><code>biz_operat_log</code>、<code>biz_operat_log_detail</code>:操作与变更留痕,记录字段差异、处理说明、附件依据与责任归属。</li>
|
||
</ul>
|
||
<h3 data-number="2.6.5" id="主要场景"><span
|
||
class="header-section-number">2.6.5</span> 主要场景</h3>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>场景</th>
|
||
<th>说明</th>
|
||
<th>控制要点</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>水量调整</td>
|
||
<td>更正异常水量</td>
|
||
<td>需复核原因、附件和原抄表依据</td>
|
||
</tr>
|
||
<tr>
|
||
<td>金额调整</td>
|
||
<td>更正账单金额</td>
|
||
<td>需记录依据、差异金额和审批边界</td>
|
||
</tr>
|
||
<tr>
|
||
<td>退款</td>
|
||
<td>退回客户支付资金或预存款</td>
|
||
<td>需校验原交易、退款余额与幂等性</td>
|
||
</tr>
|
||
<tr>
|
||
<td>冲正</td>
|
||
<td>修正误收/误核销记录</td>
|
||
<td>需关联原交易与账单状态</td>
|
||
</tr>
|
||
<tr>
|
||
<td>坏账申请</td>
|
||
<td>对长期欠费进行分类处理</td>
|
||
<td>需结合账龄、客户状态与审批边界</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h3 data-number="2.6.6" id="迁移补充旧系统承接-3"><span
|
||
class="header-section-number">2.6.6</span> 迁移补充(旧系统承接)</h3>
|
||
<table>
|
||
<colgroup>
|
||
<col style="width: 33%" />
|
||
<col style="width: 33%" />
|
||
<col style="width: 33%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th>旧账务对象</th>
|
||
<th>当前承接方式</th>
|
||
<th>迁移口径</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>预存退款 / 预存退款详情</td>
|
||
<td>作为账务处理场景承接</td>
|
||
<td>保留申请单、原支付引用、退款结果与审批留痕</td>
|
||
</tr>
|
||
<tr>
|
||
<td>已销调整汇总 / 明细</td>
|
||
<td>作为已收费后修正场景承接</td>
|
||
<td>保留原账单、调整原因、前后差异、处理结果</td>
|
||
</tr>
|
||
<tr>
|
||
<td>价差调整汇总 / 明细</td>
|
||
<td>作为重算与差额修正场景承接</td>
|
||
<td>保留原价格口径、新价格口径、差额和生效时间</td>
|
||
</tr>
|
||
<tr>
|
||
<td>分账调整汇总 / 明细</td>
|
||
<td>作为费用组成重分摊场景承接</td>
|
||
<td>保留原分摊结果、调整后结果、责任人和审批链</td>
|
||
</tr>
|
||
<tr>
|
||
<td>账单-违约金减免</td>
|
||
<td>作为滞纳金修正场景承接</td>
|
||
<td>保留减免原因、减免金额、审批结果和生效时间</td>
|
||
</tr>
|
||
<tr>
|
||
<td>账单-呆坏账</td>
|
||
<td>作为坏账申请与生效场景承接</td>
|
||
<td>保留账龄、申请原因、审批结果、核销状态</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ol type="1">
|
||
<li>P0
|
||
阶段不要求为每一类旧账务台账都新增独立实体表,但必须在业务对象和历史查询层形成可追溯闭环。</li>
|
||
<li>旧系统精细台账迁移后至少保留:原单据标识、原账单标识、处理类型、处理原因、处理前后金额/水量、申请/审批/生效时间、经办人与附件依据。</li>
|
||
<li>与支付、发票、渠道回调强关联的处理场景,必须保留与原交易、原发票、原收费记录的关联关系,避免后续对账和审计断链。</li>
|
||
</ol>
|
||
<h3 data-number="2.6.7" id="接口映射-3"><span
|
||
class="header-section-number">2.6.7</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-007</code>:账务调整、退款、冲正、坏账等处理入口。</li>
|
||
<li><code>IF-REV-006</code>:与收费核销状态联动,确保调账后账单状态一致。</li>
|
||
</ul>
|
||
<h3 data-number="2.6.8" id="落地边界-3"><span
|
||
class="header-section-number">2.6.8</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:营业账主明细、操作日志、价格/方案相关重算支撑。</li>
|
||
<li><strong>部分落地</strong>:精细化账务对象更多表现为流程与场景,并未在
|
||
backend 中全部体现为独立表族。</li>
|
||
<li><strong>文档先行</strong>:特账、退款账、跨周期水量等对象保留业务语义,不宣称为已实现独立表。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-005"></a></p>
|
||
<h2 data-number="2.7" id="rev-005-发票与税务处理"><span
|
||
class="header-section-number">2.7</span> REV-005 发票与税务处理</h2>
|
||
<h3 data-number="2.7.1" id="功能说明-4"><span
|
||
class="header-section-number">2.7.1</span> 功能说明</h3>
|
||
<p>负责发票业务闭环的业务接入与状态落账,覆盖后台发票申请、开票校验、<code>SYS-008</code>
|
||
异步协同、查询兜底、结果回写、账单关联、客户侧已开票电子发票查询/下载/推送,以及后台作废与红冲处理。</p>
|
||
<h3 data-number="2.7.2" id="业务流程-3"><span
|
||
class="header-section-number">2.7.2</span> 业务流程</h3>
|
||
<pre class="mermaid"><code>flowchart TD
|
||
A[后台提交发票申请] --> B[校验账单、客户开票信息、税率与限额]
|
||
B --> C{是否满足开票条件}
|
||
C -->|否| D[返回不可开票原因]
|
||
C -->|是| E[生成申请单号并写入SUBMITTED]
|
||
E --> F[调用SYS-008发起异步开票]
|
||
F --> G[记录受理号并转为PENDING]
|
||
G --> H[系统轮询或后台查询兜底]
|
||
H --> I{开票结果}
|
||
I -->|成功| J[回写SUCCESS并更新账单-发票关联]
|
||
I -->|失败| K[回写FAIL并记录失败原因]
|
||
J --> L[客户侧查询/下载/推送电子发票]
|
||
</code></pre>
|
||
<h3 data-number="2.7.3" id="状态说明"><span
|
||
class="header-section-number">2.7.3</span> 状态说明</h3>
|
||
<ul>
|
||
<li><code>SUBMITTED</code>:后台申请已受理,已完成本地校验并生成申请单。</li>
|
||
<li><code>PENDING</code>:已提交
|
||
<code>SYS-008</code>,等待异步结果或查询补偿结果。</li>
|
||
<li><code>SUCCESS</code>:已取得有效发票代码、号码或电子票地址,且账单关联已完成更新。</li>
|
||
<li><code>FAIL</code>:开票失败,需保留失败原因、最近查询结果与后续人工核查依据。</li>
|
||
<li><code>INVALID</code>:发票已作废,作为后续能力预留状态。</li>
|
||
<li><code>RED_INK</code>:发票已红冲,作为后续能力预留状态。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.4" id="关键规则-3"><span
|
||
class="header-section-number">2.7.4</span> 关键规则</h3>
|
||
<ol type="1">
|
||
<li>一期采用“后台申请开票 +
|
||
客户侧查询下载推送”的入口模式,客户侧不直接发起开票申请。</li>
|
||
<li>发票申请以客户信息、已收费未开票账单、税率配置和开票限额为基础;原始单账单不支持直接任意部分金额开票。</li>
|
||
<li>个人与企业开票均通过客户开票信息与税率表完成合法性校验;如需多张发票,沿用拆账/分账后的账单分别开票口径。</li>
|
||
<li><code>SYS-008</code> 采用“异步申请 +
|
||
查询兜底”模式,成功状态不得被后续失败查询结果覆盖。</li>
|
||
<li>电子发票仅在 <code>SUCCESS</code>
|
||
且存在票据文件地址时允许客户侧下载或推送。</li>
|
||
<li>发票作废、红冲仍由 <code>SYS-008</code>
|
||
统一承接税控侧处理,<code>SYS-002</code>
|
||
负责后台触发入口、状态校验、查询补偿、结果落账与日志留痕;当前轮次按二期范围补齐
|
||
backend 实现入口。</li>
|
||
</ol>
|
||
<h3 data-number="2.7.5" id="后台申请入口与校验补充"><span
|
||
class="header-section-number">2.7.5</span> 后台申请入口与校验补充</h3>
|
||
<ul>
|
||
<li>后台支持营业收费员、财务人员按单笔或批量已收费账单发起开票申请。</li>
|
||
<li>申请时至少校验:账单收费状态、开票状态、客户开票信息完整性、票种适配性、开票限额、账单集合是否属于同一客户。</li>
|
||
<li>企业抬头场景重点校验纳税人识别号;电子发票场景重点校验邮箱/手机号;不满足条件时直接返回不可开票原因。</li>
|
||
<li>申请成功后生成申请单号并进入 <code>SUBMITTED/PENDING</code>
|
||
状态流转,失败校验场景不进入外部协同。</li>
|
||
<li>幂等控制以 <code>applicationNo</code> 或
|
||
<code>custId + chargeIds</code> 为主,避免相同账单组合重复申请。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.6" id="sys-008-异步协同与查询补偿"><span
|
||
class="header-section-number">2.7.6</span> SYS-008
|
||
异步协同与查询补偿</h3>
|
||
<ul>
|
||
<li>本地申请校验通过后,<code>SYS-002</code> 先写入
|
||
<code>biz_invoice</code> 申请记录,再向 <code>SYS-008</code>
|
||
发起异步开票请求,并记录 <code>sysRequestNo</code>
|
||
作为后续查询与回写的协同主键。</li>
|
||
<li><code>SYS-008</code> 返回“已受理”后,发票状态转为
|
||
<code>PENDING</code>;若仅完成本地受理但尚未拿到受理号,则保留
|
||
<code>SUBMITTED</code> 并进入待补偿查询状态。</li>
|
||
<li>查询补偿采用“回写优先、主动查询兜底”原则:<code>IF-EXT-007</code>
|
||
回写为首选结果来源,后台人工查询与系统定时补偿查询共用同一结果落账逻辑。</li>
|
||
<li>系统补偿查询至少保留最近查询时间、下次计划查询时间、累计查询次数、最近一次返回结果摘要与异常原因,便于问题追踪和人工核查。</li>
|
||
<li>后台按申请单号或受理号触发查询时,应同步刷新查询上下文;查询仍未取得终态时,仅更新补偿上下文,不得伪造成功或失败结论。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.7" id="终态保护与异常核查"><span
|
||
class="header-section-number">2.7.7</span> 终态保护与异常核查</h3>
|
||
<ul>
|
||
<li><code>SUCCESS</code>
|
||
属于正常开票闭环终态,一旦已取得有效发票代码、发票号码或电子票据地址,后续失败查询结果不得覆盖成功状态。</li>
|
||
<li><code>FAIL</code> 仅在 <code>SYS-008</code>
|
||
明确返回失败结论或多次补偿查询确认失败时写入,并同步保留失败原因、最近查询结果与人工核查依据。</li>
|
||
<li>当后台人工查询、系统补偿查询与外部回写结果不一致时,应以最新有效外部凭据为准,并记录差异说明,不允许直接覆盖既有成功票据关键信息。</li>
|
||
<li>每次提交协同、主动查询、状态变更和异常分支均应写入操作留痕,确保能够追溯责任人、触发来源、状态前后值与异常说明。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.8" id="结果回写账单关联与客户侧消费"><span
|
||
class="header-section-number">2.7.8</span>
|
||
结果回写、账单关联与客户侧消费</h3>
|
||
<ul>
|
||
<li><code>IF-EXT-007</code> 回写成功结果时,除更新
|
||
<code>biz_invoice.invoice_status</code>、<code>invoice_code</code>、<code>invoice_number</code>、<code>file_url</code>
|
||
外,还应同步刷新账单快照、账单关联状态与推送状态初值。</li>
|
||
<li>账单关联以 <code>biz_invoice.charge_id</code> +
|
||
<code>charge_ids_snapshot</code> 记录本次开票覆盖账单集合,并同步把对应
|
||
<code>biz_charge.invoice_state</code>
|
||
更新为“开票完成”,保留失败原因与开票时间,便于账单明细、收费记录和客户侧结果统一展示。</li>
|
||
<li>客户侧查询仅允许按本人 <code>custId</code>
|
||
访问已存在的发票记录;可通过
|
||
<code>invoiceId</code>、<code>applicationNo</code> 或
|
||
<code>sysRequestNo</code> 定位,但都必须命中同一客户名下记录。</li>
|
||
<li>客户侧下载与推送前必须校验发票状态为 <code>SUCCESS</code> 且
|
||
<code>fileUrl</code>
|
||
非空;不满足条件时仅返回不可下载/推送原因,不得伪造文件地址。</li>
|
||
<li>推送动作应记录推送渠道、目标邮箱/手机号与结果状态;成功后更新
|
||
<code>pushStatus=PUSHED</code>,失败则写入 <code>FAIL</code>
|
||
并保留失败原因供人工处理。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.9" id="核心数据-4"><span
|
||
class="header-section-number">2.7.9</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>biz_invoice</code>:发票主记录。</li>
|
||
<li><code>biz_invoice_taxrate</code>:税率配置。</li>
|
||
<li><code>biz_cust_invoice</code>:客户开票信息。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.10" id="迁移补充旧系统承接-4"><span
|
||
class="header-section-number">2.7.10</span> 迁移补充(旧系统承接)</h3>
|
||
<ul>
|
||
<li>旧系统数据字典中存在“发票明细表、营业账开票表、开票配置表”等更细粒度对象。</li>
|
||
<li>当前正式设计已明确主承接对象为
|
||
<code>biz_invoice</code>、<code>biz_invoice_taxrate</code>、<code>biz_cust_invoice</code>,但迁移时不能忽略旧开票明细和账单关联关系。</li>
|
||
<li>P0
|
||
阶段建议先补三类迁移口径:账单与发票的关联关系、发票申请与结果回写记录、开票配置与税率的有效期;未确认已落地的细表对象仍按“历史只读或辅助映射”处理。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.11" id="接口映射-4"><span
|
||
class="header-section-number">2.7.11</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-008</code>:后台发票申请接口,负责单笔/批量申请、幂等控制与受理号生成。</li>
|
||
<li><code>IF-REV-009</code>:发票结果查询接口,负责后台按申请单号/受理号查询以及系统补偿查询。</li>
|
||
<li><code>IF-CS-004</code>:客户侧电子发票消费接口,负责已开票结果查看、下载、推送。</li>
|
||
<li><code>IF-EXT-007</code>:发票结果回写协同接口(由发票服务侧回传)。</li>
|
||
</ul>
|
||
<h3 data-number="2.7.12" id="落地边界-4"><span
|
||
class="header-section-number">2.7.12</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:发票主记录、税率配置、客户开票信息,以及一期正常开票闭环所需的后台申请、查询兜底、结果回写、账单关联与客户侧电子发票消费能力。</li>
|
||
<li><strong>部分落地</strong>:发票修改、开票过程留痕在后端中已有相关对象,但整套发票明细/批次类对象尚未全部确认。</li>
|
||
<li><strong>二期补齐</strong>:发票作废、红冲及其查询补偿仍由
|
||
<code>SYS-008</code>
|
||
统一承接,但当前轮次补齐后台触发入口、状态流转、结果回写与日志留痕,不再仅停留于文档预留。</li>
|
||
<li><strong>文档先行</strong>:发票明细、营业账开票关系等对象仍按设计能力描述,不表述为本轮已确认独立表。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-006"></a></p>
|
||
<h2 data-number="2.8" id="rev-006-催缴与通知"><span
|
||
class="header-section-number">2.8</span> REV-006 催缴与通知</h2>
|
||
<h3 data-number="2.8.1" id="功能说明-5"><span
|
||
class="header-section-number">2.8.1</span> 功能说明</h3>
|
||
<p>针对欠费账单按账龄、金额、客户类别等规则生成催缴任务,通过短信、微信、站内通知等方式触达客户,并回写催缴结果;本模块同时定义催缴与停复水/工单处置之间的联动边界与追溯关系,但不展开停复水内部处置流程。</p>
|
||
<h3 data-number="2.8.2" id="业务流程-4"><span
|
||
class="header-section-number">2.8.2</span> 业务流程</h3>
|
||
<pre class="mermaid"><code>flowchart TD
|
||
A[生成欠费客户清单] --> B[按策略分组催缴任务]
|
||
B --> C[触发IF-REV-013生成催缴任务]
|
||
C --> D[调用IF-EXT-008协同SYS-010]
|
||
D --> E[接收发送结果回写]
|
||
E --> F[更新催缴状态与后续策略]
|
||
F --> G[按联动边界挂接停复水/工单处置]
|
||
</code></pre>
|
||
<h3 data-number="2.8.3" id="关键规则-4"><span
|
||
class="header-section-number">2.8.3</span> 关键规则</h3>
|
||
<ol type="1">
|
||
<li>催缴策略以营业账状态、欠费金额、账龄分布、客户类别和渠道偏好为基础,支持按策略编码进行任务分组与频控。</li>
|
||
<li>自动催缴与人工催缴可并行;自动任务用于常规批量催缴,人工任务用于补发、核查或例外处置。</li>
|
||
<li><code>SYS-002</code>
|
||
负责催缴对象筛选、任务生成、业务事件编号、结果承接与历史查询;<code>SYS-010</code>
|
||
负责短信、微信公众号、站内信等触达执行与结果回传。</li>
|
||
<li><code>REV-006</code> 正式结果状态固定为
|
||
<code>PENDING</code>、<code>SUCCESS</code>、<code>FAIL</code>、<code>MANUAL_VERIFIED</code>
|
||
四态,其中 <code>MANUAL_VERIFIED</code>
|
||
仅用于外部结果未定或需人工核查补记的场景。</li>
|
||
<li>停复水在本模块中仅定义联动触发条件、处置引用与追溯关系,不展开停复水内部审批、派工或现场执行流程。</li>
|
||
<li>当前后端中部分催缴汇总、停水明细对象未确认独立落表,文档中保持保守描述,不误写为已确认在线主表。</li>
|
||
</ol>
|
||
<h4 data-number="2.8.3.1" id="催缴对象筛选排除与频控边界"><span
|
||
class="header-section-number">2.8.3.1</span>
|
||
催缴对象筛选、排除与频控边界</h4>
|
||
<ul>
|
||
<li><code>IF-REV-013</code>
|
||
任务生成前必须完成候选筛选,筛选最小维度为:欠费状态、欠费金额、账龄分组、客户类别、渠道偏好和策略编码。</li>
|
||
<li>候选对象必须以有效欠费账单为前提;以下场景不得进入正式催缴任务:已收费核销、已作废、已进入不允许催缴的处置流程、策略规则未命中。</li>
|
||
<li>触发类型按 <code>triggerType</code>
|
||
区分自动与人工;自动用于批量触发,人工用于补发、核查和例外补记,不改变正式接口编号与状态语义。</li>
|
||
<li>频控以“同客户/同策略/同渠道/同账期窗口”为最小拦截单元;命中频控时允许部分阻断,并返回被跳过对象及原因摘要。</li>
|
||
</ul>
|
||
<h3 data-number="2.8.4" id="核心数据-5"><span
|
||
class="header-section-number">2.8.4</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>biz_charge</code>、<code>biz_charge_detail</code>:催缴对象来源。</li>
|
||
<li>催缴结果与通知日志:通过业务状态与消息结果联动留痕。</li>
|
||
</ul>
|
||
<h4 data-number="2.8.4.1" id="催缴对象与规则摘要"><span
|
||
class="header-section-number">2.8.4.1</span> 催缴对象与规则摘要</h4>
|
||
<ul>
|
||
<li><code>Reminder Candidate</code>:由欠费账单、客户类别、账龄分组、欠费金额、联系方式集合和命中策略编码组成,是催缴任务的输入对象。</li>
|
||
<li><code>Reminder Strategy</code>:定义账龄规则、金额规则、客户类别规则、渠道优先级、重复触达拦截窗口和是否触发后续处置关注。</li>
|
||
<li><code>Reminder Task</code>:一次正式催缴执行单元,至少包含
|
||
<code>taskNo</code>、<code>eventNo</code>、<code>strategyCode</code>、<code>channelType</code>、<code>triggerType</code>、<code>status</code>
|
||
和关联账单信息;正式业务接口编号固定为 <code>IF-REV-013</code>。</li>
|
||
<li><code>Reminder Result</code>:承接 <code>IF-EXT-008</code>
|
||
回传结果后由业务侧映射的正式四态结果,最少记录
|
||
<code>status</code>、<code>lastCallbackTime</code>、<code>failReason</code>
|
||
与回传摘要。</li>
|
||
<li><code>Disposal Link</code>:用于记录催缴结果与停水、复水、工单或人工跟进之间的关联引用,只承担追溯职责,不替代下游业务对象。</li>
|
||
</ul>
|
||
<h4 data-number="2.8.4.2" id="四态与人工核查边界"><span
|
||
class="header-section-number">2.8.4.2</span> 四态与人工核查边界</h4>
|
||
<ul>
|
||
<li><code>PENDING</code>:已生成任务并完成外部受理或等待外部终态回传,尚未形成业务终态。</li>
|
||
<li><code>SUCCESS</code>:外部触达结果明确成功,且业务侧已完成结果承接。</li>
|
||
<li><code>FAIL</code>:外部返回明确失败或业务判定失败,必须记录失败原因。</li>
|
||
<li><code>MANUAL_VERIFIED</code>:仅用于外部结果长期未定、人工核查补记或例外核销说明场景;必须留存核查说明与核查人。</li>
|
||
<li>人工核查是状态收口手段,不得用于绕过候选筛选、排除条件或频控约束。</li>
|
||
</ul>
|
||
<h3 data-number="2.8.5" id="迁移补充旧系统承接-5"><span
|
||
class="header-section-number">2.8.5</span> 迁移补充(旧系统承接)</h3>
|
||
<h4 data-number="2.8.5.1" id="催缴记录"><span
|
||
class="header-section-number">2.8.5.1</span> 催缴记录</h4>
|
||
<ul>
|
||
<li>旧系统支持催缴记录查询、导出和明细展开,记录中包含推送内容、号码、方式、结果等信息。</li>
|
||
<li>新系统可继续以消息协同结果和账单状态联动承接,但必须明确催缴记录查询口径,而不能仅保留“已发送/未发送”状态。</li>
|
||
<li>历史查询最少保留客户号、账期、催缴方式、发送对象、发送时间、执行结果、关联账单、关联处置引用等字段,并兼容四态结果或其历史映射值。</li>
|
||
<li>历史催缴记录按只读口径承接,作为查询与追溯来源,不反推为已确认在线主表。</li>
|
||
</ul>
|
||
<h4 data-number="2.8.5.2" id="停水记录"><span
|
||
class="header-section-number">2.8.5.2</span> 停水记录</h4>
|
||
<ul>
|
||
<li>停水记录不是孤立账务对象,应由催缴结果、业务处置和现场执行工单共同形成闭环。</li>
|
||
<li>迁移后需支持按客户、站点、停水原因、停水时间、复水状态查询,并能追溯到对应欠费账单和工单执行结果。</li>
|
||
<li>正式设计只定义“何时建立联动、如何保存处置引用、如何追溯关联结果”,不在
|
||
<code>REV-006</code> 中展开停复水内部流程设计。</li>
|
||
<li>停复水关联以 <code>Disposal Link</code>
|
||
的处置引用承接,最少包含任务号、处置类型、处置引用号和建联时间。</li>
|
||
</ul>
|
||
<h4 data-number="2.8.5.3" id="预存短信"><span
|
||
class="header-section-number">2.8.5.3</span> 预存短信</h4>
|
||
<ul>
|
||
<li>旧系统对预存款余额不足客户提供短信推送和发送记录查询。</li>
|
||
<li>新系统建议将其纳入催缴与通知统一策略,不再单建平行模型,但必须保留触发条件、发送内容、发送结果和补发记录。</li>
|
||
<li>该类记录与催缴记录一样,按历史只读口径承接,不表述为新增同名在线主表。</li>
|
||
</ul>
|
||
<h3 data-number="2.8.6" id="接口映射-5"><span
|
||
class="header-section-number">2.8.6</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-013</code>:催缴任务生成、任务查询与结果承接接口,负责业务侧任务生成、四态状态维护和历史查询挂接。</li>
|
||
<li><code>IF-EXT-008</code>:消息协同结果回写接口(由
|
||
<code>SYS-010</code> 协同)。</li>
|
||
</ul>
|
||
<h3 data-number="2.8.7" id="落地边界-5"><span
|
||
class="header-section-number">2.8.7</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:以营业账为基础的欠费识别前提数据、催缴对象来源字段和消息协同边界约束。</li>
|
||
<li><strong>部分落地</strong>:催缴登记汇总、停水汇总等对象暂未在
|
||
backend 中确认独立表,当前以业务事件、操作留痕和历史查询口径承接。</li>
|
||
<li><strong>文档先行</strong>:复杂催缴台账、停复水统计和人工核查界面仅作为业务场景保留,不表述为
|
||
backend 已完成能力。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-007"></a></p>
|
||
<h2 data-number="2.9" id="rev-007-统计分析"><span
|
||
class="header-section-number">2.9</span> REV-007 统计分析</h2>
|
||
<h3 data-number="2.9.1" id="功能说明-6"><span
|
||
class="header-section-number">2.9.1</span> 功能说明</h3>
|
||
<p>提供营收、抄表、收费、欠费、渠道、客户等多维度统计查询能力,为经营分析、业务监管和迁移核查提供统一的数据口径支撑;本模块以经营查询为主,不扩展到预测分析、专题大屏或独立
|
||
BI 平台实现。</p>
|
||
<h3 data-number="2.9.2" id="关键设计-1"><span
|
||
class="header-section-number">2.9.2</span> 关键设计</h3>
|
||
<ol type="1">
|
||
<li>统计查询按“主题 + 维度 +
|
||
指标”三层口径组织,避免仅以报表名称堆砌需求。</li>
|
||
<li>主题范围至少包括营收汇总、收费与实收统计、欠费规模与账龄统计、客户结构统计、渠道交易统计、抄表完成率统计以及营收相关业务概览类摘要。</li>
|
||
<li>查询维度至少包括时间区间、账期、营业所/片区、客户类别、渠道、客户/账户、状态等,并支持必要的分组汇总。</li>
|
||
<li>指标口径需明确区分应收金额、实收金额、欠费余额、账单数、客户数、交易笔数、渠道占比、抄表完成率等相近但不等价的统计概念。</li>
|
||
<li>导出与查询结果受数据权限控制;导出属于查询扩展能力,但不在本轮展开具体导出实现细节。</li>
|
||
<li>重点查询可按聚合视图、汇总口径或预聚合结果承接,但不将未确认存在的统计表、专题分析表或离线数仓对象写成已实现事实。</li>
|
||
</ol>
|
||
<h3 data-number="2.9.3" id="核心数据-6"><span
|
||
class="header-section-number">2.9.3</span> 核心数据</h3>
|
||
<ul>
|
||
<li>客户维度:<code>biz_cust</code>、<code>biz_account</code>。</li>
|
||
<li>抄表维度:<code>biz_meter_book</code>、<code>biz_reading_data</code>、<code>biz_last_reading</code>。</li>
|
||
<li>账务与收费维度:<code>biz_charge</code>、<code>biz_charge_detail</code>。</li>
|
||
<li>收费与交易维度:<code>biz_collection</code>、<code>bk_transaction</code>。</li>
|
||
<li>渠道维度:<code>bk_transaction</code>、<code>bk_payment_channel</code>。</li>
|
||
<li>组织与权限维度:<code>system_dept</code>、数据权限控制结果。</li>
|
||
</ul>
|
||
<h4 data-number="2.9.3.1" id="统计主题与口径摘要"><span
|
||
class="header-section-number">2.9.3.1</span> 统计主题与口径摘要</h4>
|
||
<ul>
|
||
<li><code>Statistics Theme</code>:按经营主题组织查询,至少覆盖营收、收费、欠费、客户、渠道、抄表完成率和必要的业务概览。</li>
|
||
<li><code>Statistics Dimension</code>:按时间、账期、营业所/片区、客户类别、渠道、客户/账户、状态等条件筛选或分组。</li>
|
||
<li><code>Statistics Indicator</code>:至少明确应收金额、实收金额、欠费余额、账单数、客户数、交易笔数、渠道占比、完成率等指标含义和单位。</li>
|
||
<li><code>Aggregation Source</code>:统计结果以现有在线主数据聚合、视图或汇总口径承接,不反推为已存在独立统计表族。</li>
|
||
</ul>
|
||
<h3 data-number="2.9.4" id="接口映射-6"><span
|
||
class="header-section-number">2.9.4</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-010</code>:营收、收费、欠费、渠道、客户等统计查询接口,承接主题查询、维度筛选、指标汇总和权限/导出边界。</li>
|
||
</ul>
|
||
<h3 data-number="2.9.5" id="落地边界-6"><span
|
||
class="header-section-number">2.9.5</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:主要统计源数据在客户、抄表、账单、收费、交易和渠道等领域均已具备,足以支撑经营统计口径设计。</li>
|
||
<li><strong>部分落地</strong>:部分统计结果可能依赖聚合视图、汇总查询或报表层实现,当前未见明确的
|
||
backend 统计控制器或独立统计模型入口。</li>
|
||
<li><strong>文档先行</strong>:预测类、专题分析类深度模型、BI
|
||
大屏和独立数仓能力暂不写成后端已实现能力。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-008"></a></p>
|
||
<h2 data-number="2.10" id="rev-008-代收与银行业务"><span
|
||
class="header-section-number">2.10</span> REV-008 代收与银行业务</h2>
|
||
<h3 data-number="2.10.1" id="功能说明-7"><span
|
||
class="header-section-number">2.10.1</span> 功能说明</h3>
|
||
<p>支持银行代收、银行代扣、实时收费、夜间批量扣款、对账与结算处理,是
|
||
SYS-002 面向 <code>SYS-009</code> 支付与银行结算能力的业务承接模块。</p>
|
||
<h3 data-number="2.10.2" id="业务流程-5"><span
|
||
class="header-section-number">2.10.2</span> 业务流程</h3>
|
||
<pre class="mermaid"><code>flowchart TD
|
||
A[生成代扣批次] --> B[校验签约与待扣账单]
|
||
B --> C[调用IF-REV-011下发批次]
|
||
C --> D[SYS-009对接银行处理]
|
||
D --> E[回写扣款结果]
|
||
E --> F[执行对账与差异识别]
|
||
F --> G{差异是否已处理}
|
||
G -->|否| H[进入人工补偿]
|
||
G -->|是| I[确认结算并更新状态]
|
||
</code></pre>
|
||
<h3 data-number="2.10.3" id="关键规则-5"><span
|
||
class="header-section-number">2.10.3</span> 关键规则</h3>
|
||
<ol type="1">
|
||
<li>渠道、路由、接口配置、签约、交易、回调、异常、对账、结算形成完整银行业务链条。</li>
|
||
<li>实时收费场景由渠道交易流水驱动账单核销,批量代扣场景由签约关系与批次处理驱动。</li>
|
||
<li>对账结果区分一致、长款、短款、失败待处理等状态,支持差异追踪与人工补偿。</li>
|
||
<li>国密报文、批量文件、标准 API 等技术细节由 <code>SYS-009</code>
|
||
承载,SYS-002 保留业务规则与状态协同。</li>
|
||
<li>当前 backend 已确认 <code>BankWithholding</code>
|
||
六条银行入口(客户状态查询、送盘、送盘状态查询、取消送盘、回盘、回盘状态查询)已形成最小实现态闭环;<code>BankCollection</code>
|
||
平行链路、对账与结算协同仍以“部分实现或文档先行”表述,不得统一写成已闭环能力。</li>
|
||
<li>银行代扣文件传输配置按“默认规则 + 银行通道覆盖 + 租户覆盖 +
|
||
租户-银行通道覆盖”建模,命中优先级固定为
|
||
<code>TENANT_CHANNEL > TENANT > CHANNEL > DEFAULT</code>。</li>
|
||
<li>目录字段至少区分 <code>send/back/reconcile/archive/localTemp</code>
|
||
五类阶段;上层覆盖未完整定义时按字段级回退,不允许生成空路径。</li>
|
||
<li>路径模板仅允许
|
||
<code>{tenantId}</code>、<code>{companyId}</code>、<code>{channelCode}</code>、<code>{yyyyMMdd}</code>、<code>{yyyyMM}</code>、<code>{batchNo}</code>、<code>{fileName}</code>
|
||
七个固定变量;命中未声明变量或缺少变量取值时立即阻断文件动作。</li>
|
||
<li><code>BankWithholding</code> 在送盘创建时固化
|
||
<code>sendProtocol/sendDir/sendFilePath</code> 与
|
||
<code>backProtocol/backDir</code>,配置切换仅影响新发起文件动作,已落库批次继续沿用原解析结果。</li>
|
||
</ol>
|
||
<h3 data-number="2.10.4" id="核心数据-7"><span
|
||
class="header-section-number">2.10.4</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>bk_payment_channel</code>:支付渠道。</li>
|
||
<li><code>bk_channel_api_config</code>:渠道接口配置。</li>
|
||
<li><code>bk_channel_route_rule</code>:渠道路由规则。</li>
|
||
<li><code>bk_withholding_agreement</code>:代扣签约。</li>
|
||
<li><code>bk_withholding_batch</code>、<code>bk_withholding_item</code>:代扣批次与明细。</li>
|
||
<li><code>bk_reconcile_batch</code>、<code>bk_reconcile_diff</code>:对账批次与差异。</li>
|
||
<li><code>bk_settlement_batch</code>:结算批次。</li>
|
||
<li><code>bk_transaction</code>、<code>bk_transaction_callback</code>、<code>bk_transaction_exception</code>:交易、回调、异常。</li>
|
||
<li><code>biz_collection</code>、<code>biz_withholding</code>:代收/代扣业务主对象。</li>
|
||
</ul>
|
||
<h4 data-number="2.10.4.1" id="文件传输配置与审计补充"><span
|
||
class="header-section-number">2.10.4.1</span>
|
||
文件传输配置与审计补充</h4>
|
||
<ul>
|
||
<li>环境默认规则通过 Spring profile + Nacos
|
||
承接,不在仓库样例中写入真实密码、私钥或证书。</li>
|
||
<li><code>bk_channel_api_config</code> 使用专用
|
||
<code>apiType=FILE_TRANSFER_CONFIG</code>
|
||
承接文件传输覆盖配置,<code>extParams</code>
|
||
记录作用域、业务类型、协议、连接引用和五类目录字段。</li>
|
||
<li><code>bk_withholding_batch</code>
|
||
固化送盘/回盘目录与协议,<code>bk_reconcile_batch</code>
|
||
固化对账阶段最终
|
||
<code>protocol/dir/filePath/fileName</code>,用于审计与问题回放。</li>
|
||
</ul>
|
||
<h3 data-number="2.10.5" id="迁移补充旧系统承接-6"><span
|
||
class="header-section-number">2.10.5</span> 迁移补充(旧系统承接)</h3>
|
||
<h4 data-number="2.10.5.1" id="银行托收"><span
|
||
class="header-section-number">2.10.5.1</span> 银行托收</h4>
|
||
<ul>
|
||
<li>旧系统“银行托收”菜单重点承接托收送盘、托收信息查询和托收结果回看。</li>
|
||
<li>当前设计已形成 <code>biz_collection</code> + <code>bk_*</code>
|
||
渠道模型,迁移时应补出“旧托收菜单 →
|
||
托收批次/交易/回盘结果”的映射,而不是按旧菜单名平移建模。</li>
|
||
<li>旧托收历史记录应至少保留送盘批次、客户范围、送盘结果、回盘结果和账单核销结果。</li>
|
||
</ul>
|
||
<h4 data-number="2.10.5.2" id="实时收费查询与对账"><span
|
||
class="header-section-number">2.10.5.2</span> 实时收费查询与对账</h4>
|
||
<ul>
|
||
<li>旧系统“实时收费”更偏运营查询和渠道对账入口,不只是支付成功回写。</li>
|
||
<li>当前建议以 <code>bk_transaction*</code>
|
||
作为主承接对象,并补充按结算日期、银行/渠道、收费结果、差异状态查询和导出能力说明。</li>
|
||
<li>对旧“实时收费汇总/日志/明细”对象,P0
|
||
阶段先按历史只读查询口径保留,不误写为当前已落地的独立主模型。</li>
|
||
</ul>
|
||
<h4 data-number="2.10.5.3" id="当前实现对齐说明"><span
|
||
class="header-section-number">2.10.5.3</span> 当前实现对齐说明</h4>
|
||
<ul>
|
||
<li><code>PayCeb</code>
|
||
路径已具备欠费查询、缴费处理、流水唯一性校验和交易日志留痕,可作为实时收费基础闭环的实现证据。</li>
|
||
<li><code>BankWithholding</code>
|
||
路径已具备签约、解约、客户状态查询、送盘、送盘状态查询、取消送盘、回盘、回盘状态查询及对应交易留痕的实现证据,可作为代扣最小实现态闭环依据。</li>
|
||
<li><code>BankCollection</code>
|
||
路径当前仍仅能确认签约、解约与协议/交易日志处理具备实现证据。</li>
|
||
<li>对账、结算、真实银行文件解析、SFTP/文件通道联调和运行态样本补证当前仍未闭环,正式文档应继续保留为后续完善项。</li>
|
||
</ul>
|
||
<h3 data-number="2.10.6" id="接口映射-7"><span
|
||
class="header-section-number">2.10.6</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-011</code>:代扣批次、对账与结算协同入口。</li>
|
||
<li><code>IF-EXT-001</code>:银行代扣批次下发与回盘协同。</li>
|
||
<li><code>IF-EXT-003</code>:银行实时收费查询、缴费与结果确认协同。</li>
|
||
</ul>
|
||
<h3 data-number="2.10.7" id="落地边界-7"><span
|
||
class="header-section-number">2.10.7</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:渠道、路由、交易、回调、异常、代扣/托收签约、解约,以及
|
||
<code>BankWithholding</code>
|
||
的客户状态查询、送盘、送盘状态查询、取消送盘、回盘、回盘状态查询和对应日志留痕等主对象已具备明确实现证据。</li>
|
||
<li><strong>部分落地</strong>:<code>BankCollection</code>
|
||
批次、明细、送盘、回盘、状态查询、差异台账和后台资源管理入口已具备对象或骨架,但不等同于银行协同闭环全部完成;<code>BankWithholding</code>
|
||
的真实文件解析、异常补偿和运行态联调证据仍待补齐。</li>
|
||
<li><strong>文档先行</strong>:夜间批量代扣调度、完整对账处理、结算确认、扩展银行台账等内容不得在当前阶段写成已完成能力。</li>
|
||
</ul>
|
||
<p><a id="mod-rev-009"></a></p>
|
||
<h2 data-number="2.11" id="rev-009-业务参数配置"><span
|
||
class="header-section-number">2.11</span> REV-009 业务参数配置</h2>
|
||
<h3 data-number="2.11.1" id="功能说明-8"><span
|
||
class="header-section-number">2.11.1</span> 功能说明</h3>
|
||
<p>负责营收域的价格参数、客户编号规则、页面配置、打印与渠道相关业务参数配置,为客户、开账、收费、发票、催缴等模块提供统一配置支撑。</p>
|
||
<h3 data-number="2.11.2" id="关键设计-2"><span
|
||
class="header-section-number">2.11.2</span> 关键设计</h3>
|
||
<ol type="1">
|
||
<li>业务参数按租户、单位、片区、业务类别分层管理。</li>
|
||
<li>价格体系、客户编号规则、页面字段配置、打印与通知参数统一归口维护。</li>
|
||
<li>配置变更应具备版本化、操作留痕与生效范围控制。</li>
|
||
</ol>
|
||
<h3 data-number="2.11.3" id="核心数据-8"><span
|
||
class="header-section-number">2.11.3</span> 核心数据</h3>
|
||
<ul>
|
||
<li><code>biz_parameter_settings</code>:业务参数配置。</li>
|
||
<li><code>biz_page_settings</code>、<code>biz_page_settings_detail</code>:页面配置。</li>
|
||
<li><code>biz_price_category</code>、<code>biz_price_template</code>、<code>biz_template_dept_rel</code>:价格归属与模板站点关系。</li>
|
||
<li><code>biz_cust_no_rule</code>:客户编号规则。</li>
|
||
<li><code>sys_wechat_app_settings</code>:微信/微网厅基础配置。</li>
|
||
</ul>
|
||
<h3 data-number="2.11.4" id="迁移补充旧系统承接-7"><span
|
||
class="header-section-number">2.11.4</span> 迁移补充(旧系统承接)</h3>
|
||
<ul>
|
||
<li>旧系统后台存在“页面配置、业务字段、微信参数、打印维护”等运营配置入口。</li>
|
||
<li>当前建议统一按业务参数、页面配置、渠道参数与打印参数归口承接,不新增“微客服后台配置”并行主文档。</li>
|
||
<li>迁移时需明确三类配置映射:客户/业务办理字段展示与校验规则、微信/微网厅基础参数、打印模板与补打策略;未确认已实现的高级灰度能力继续按“文档先行”处理。</li>
|
||
</ul>
|
||
<h3 data-number="2.11.5" id="接口映射-8"><span
|
||
class="header-section-number">2.11.5</span> 接口映射</h3>
|
||
<ul>
|
||
<li><code>IF-REV-012</code>:查询与维护价格模板、业务参数、页面参数配置。</li>
|
||
<li><code>IF-UP-004</code>:统一平台参数字典能力协同,为营收域参数提供基础字典支撑。</li>
|
||
</ul>
|
||
<h3 data-number="2.11.6" id="落地边界-8"><span
|
||
class="header-section-number">2.11.6</span> 落地边界</h3>
|
||
<ul>
|
||
<li><strong>已落地</strong>:业务参数、页面配置、价格归属与模板站点关系、客户编号规则等核心配置对象。</li>
|
||
<li><strong>部分落地</strong>:部分打印模板、通知策略等参数由统一平台或外部渠道参数共同承载,营收域仅保留业务侧映射。</li>
|
||
<li><strong>文档先行</strong>:参数灰度发布、多版本并行生效等高级治理能力当前仅保留设计语义,不宣称为独立实现模块。</li>
|
||
</ul>
|
||
</body>
|
||
</html>
|