# 5.13 支行信息管理 本文档从《基础平台产品设计》第 5 章拆分而来,用于独立描述基础平台功能模块的业务需求、规则和验收标准。 上级文档:[基础平台产品设计](../基础平台产品设计.md) ## 5.13.1 功能说明 支行信息管理用于维护基础平台中的银行总行、支行、支行号、银行侧城市编码和行政省市映射资料,为结算、对账、分账、收付款、门店开户资料、供应商资料等业务系统提供统一的银行支行引用来源。 支行信息管理首版解决以下问题: - 统一维护总行编号和总行名称。 - 统一维护支行号、支行名称和支行地址。 - 维护银行侧城市编码,并明确其与行政区域编码不是同一套编码体系。 - 维护省、市行政区域编码,便于按城市管理资料筛选和关联。 - 支持按总行、支行、支行号、银行城市码、省市和状态查询支行信息。 - 支持新增、编辑、启用、停用和删除支行信息。 - 为后续结算账户、门店账户、供应商账户引用提供稳定的银行支行数据来源。 支行信息管理不负责: - 企业银行账户、门店账户、供应商账户维护。 - 银行卡号、账户号、户名一致性校验。 - 支付通道、银企直连、清算渠道或资金路由配置。 - 第三方银行联行号数据自动同步。 - 银行联行号全量导入。 - 银行侧城市码字典同步。 - 业务系统侧银行引用关系反向写入。 ## 5.13.2 功能范围 - 支行信息维护 - 总行编号与总行名称维护 - 支行号、支行名称和支行地址维护 - 银行侧城市编码维护 - 省、市行政区域编码维护 - 启用 / 停用 - 删除前业务引用约束校验预留 - 支行分页查询 - 支行详情查询 - 总行筛选候选查询 ## 5.13.3 管理对象 支行信息管理首版只维护一个管理对象:银行支行记录。 每条记录代表一个可被业务引用的银行支行或银行网点。 首版不拆分独立总行管理。总行编号和总行名称随支行记录保存,满足查询、展示和业务引用需要。后续如果出现总行独立生命周期、总行级配置、跨支行批量治理等需求,再评估拆分总行管理和支行管理。 ## 5.13.4 字段要求 支行信息至少包括: | 字段 | 说明 | 是否必填 | | --- | --- | --- | | 总行编号 | 银行总行编码 | 否 | | 总行名称 | 银行总行名称 | 否 | | 支行号 | 支行号或联行号 | 启用时必填 | | 支行名称 | 支行或网点名称 | 启用时必填 | | 支行地址 | 支行详细地址 | 否 | | 银行侧城市编码 | 银行数据源中的城市编码 | 否 | | 省份 | 行政省份,来源于城市管理 | 否 | | 城市 | 行政城市,来源于城市管理 | 否 | | 启用状态 | 启用、停用 | 是 | | 创建时间 | 支行信息创建时间 | 是 | | 更新时间 | 支行信息最近更新时间 | 是 | | 创建人 | 创建支行信息的用户 | 是 | | 更新人 | 最近更新支行信息的用户 | 是 | ## 5.13.5 编码与映射规则 ### 5.13.5.1 支行号规则 支行号用于业务系统引用具体银行支行或银行网点。 规则如下: - 支行号非空时,在未删除数据内全局唯一。 - 支行号最长 64 个字符。 - 支行号非空时只允许字母、数字、短横线和下划线。 - 启用状态下,支行号必填。 - 支行号创建后允许编辑,但编辑时必须重新校验唯一性。 - 已被业务系统引用的支行号不建议修改;首版先预留引用检查和风险提示。 ### 5.13.5.2 总行编号规则 总行编号用于按银行总行筛选和聚合支行信息。 规则如下: - 总行编号最长 64 个字符。 - 总行编号允许为空。 - 总行编号相同的记录应尽量保持总行名称一致。 - 首版不强制维护总行编号唯一性。 - 总行编号和总行名称不构成独立总行档案。 ### 5.13.5.3 城市编码映射规则 支行信息同时保存两套城市编码: | 字段 | 编码体系 | 用途 | | --- | --- | --- | | 银行侧城市编码 | 银行侧编码 | 银行联行、结算、开户行资料中的城市编码 | | 省份 | 行政区域编码 | 按省份筛选、展示和对齐城市管理 | | 城市 | 行政区域编码 | 按城市筛选、展示和对齐城市管理 | 规则如下: - 银行侧城市编码不参与行政层级校验。 - 省份和城市来源于城市管理。 - 城市非空时,省份必填。 - 城市必须属于所选省份。 - 如果银行数据源只提供银行侧城市编码,允许先只填写银行侧城市编码,后续再补行政省市映射。 - 页面展示时优先显示行政省市名称;未匹配到城市主数据时显示原始编码,并给出弱提示。 ## 5.13.6 业务规则 ### 5.13.6.1 查询规则 - 支持按关键字模糊查询。 - 关键字匹配总行编号、总行名称、支行号、支行名称、支行地址和银行侧城市编码。 - 支持按总行筛选。 - 支持按省份、城市筛选。 - 支持按启用状态筛选。 - 省份变化后自动清空城市筛选。 - 列表默认按更新时间倒序展示。 - 默认每页 20 条。 ### 5.13.6.2 新增规则 - 新增支行信息时,默认状态为启用。 - 启用状态下,支行号和支行名称必填。 - 支行号非空时必须校验全局唯一。 - 城市非空时必须先选择省份。 - 银行侧城市编码和行政省市可以同时为空,但不建议长期为空。 ### 5.13.6.3 编辑规则 - 编辑支行信息时,允许修改总行编号、总行名称、支行号、支行名称、支行地址、银行侧城市编码、省份、城市和状态。 - 编辑支行号时必须重新校验唯一性。 - 已被结算账户、门店账户或供应商账户引用的支行信息,编辑关键字段时应给出风险提示。 - 已停用的支行信息仍可编辑。 ### 5.13.6.4 启停规则 - 停用后,业务系统不应在新增业务资料时继续选择该支行。 - 停用不影响历史业务单据、历史账户资料和历史结算记录展示。 - 启用时必须校验支行号和支行名称已填写。 ### 5.13.6.5 删除规则 - 删除采用软删除。 - 删除必须二次确认。 - 已被结算账户、门店账户、供应商账户等业务对象引用的支行信息,必须禁止删除。 - 首版可以先预留引用检查口;后续业务系统接入后必须补齐真实引用校验。 - 删除后不在默认列表展示。 - 删除后的支行号不建议复用;如后端允许复用,必须确保不会影响历史引用。 ## 5.13.7 界面设计 ### 5.13.7.1 功能入口与访问权限 支行信息管理作为基础平台基础资料管理功能,建议放置在基础平台左侧菜单: ```text 基础平台 └── 支行信息管理 ``` 访问规则: - 平台管理员可维护支行信息。 - 客户管理员默认不可维护系统级支行信息。 - 普通业务用户不可访问支行信息管理页面。 - 无支行信息管理权限的用户不展示支行信息管理菜单。 ### 5.13.7.2 页面结构 支行信息管理采用“查询区 + 操作区 + 表格列表 + 抽屉表单”的结构。 简化原型: ```text +------------------------------------------------------------------+ | 查询区:关键字 / 总行 / 省份 / 城市 / 状态 / 查询 / 重置 | +------------------------------------------------------------------+ | 操作区:新增支行信息 | +------------------------------------------------------------------+ | 表格:总行编号 / 总行名称 / 支行号 / 支行名称 / 银行城市码 | | 省份 / 城市 / 支行地址 / 状态 / 更新时间 / 操作 | +------------------------------------------------------------------+ | 抽屉:新增 / 编辑支行信息 | +------------------------------------------------------------------+ ``` 页面规则: - 查询区固定在页面顶部。 - 查询条件较多时支持展开和收起。 - 查询按钮作为查询表单最后一个表单元素。 - 列表默认按更新时间倒序展示。 - 表单使用右侧抽屉,宽度建议 560-720px。 - 移动端或窄屏下,查询区折叠为多行,列表保持横向滚动,不压缩关键字段。 ### 5.13.7.3 查询区 查询区字段: | 字段 | 控件类型 | 值来源 / 录入方式 | 说明 | | --- | --- | --- | --- | | 关键字 | 文本输入框 | 人工录入 | 匹配总行编号、总行名称、支行号、支行名称、支行地址、银行侧城市编码 | | 总行 | 远程下拉框 | 已有支行信息聚合出的总行候选 | 展示总行名称,提交总行编号 | | 省份 | 下拉框 / 树形选择器 | 城市管理中的省份数据 | 选中后过滤城市候选 | | 城市 | 下拉框 / 树形选择器 | 城市管理中的城市数据 | 省份变化后清空 | | 状态 | 下拉框 | 启用、停用 | 默认全部 | | 查询 | 按钮 | 用户点击 | 查询按钮放在查询条件最后 | | 重置 | 按钮 | 用户点击 | 清空查询条件并重新查询 | ### 5.13.7.4 列表区 列表区展示支行分页数据。 展示方式: - 表格。 - 默认每页 20 条。 - 支持分页切换。 - 支持横向滚动。 列表字段: | 字段 | 展示方式 | 说明 | | --- | --- | --- | | 总行编号 | 文本 | 为空显示 `-` | | 总行名称 | 文本 | 为空显示 `-` | | 支行号 | 文本 | 为空显示 `-` | | 支行名称 | 文本 | 为空显示 `-` | | 银行侧城市编码 | 文本 | 与行政城市编码并列展示 | | 省份 | 文本 + Tooltip | 优先展示省份名称,Tooltip 展示编码 | | 城市 | 文本 + Tooltip | 优先展示城市名称,Tooltip 展示编码 | | 支行地址 | 文本省略 + Tooltip | 过长省略 | | 状态 | Tag / Switch | 启用、停用 | | 更新时间 | 日期时间 | 最近更新时间 | | 操作 | 按钮组 | 编辑、启用 / 停用、删除 | 行操作规则: - 点击编辑,打开右侧编辑抽屉。 - 点击启用 / 停用,二次确认后更新状态。 - 点击删除,二次确认后执行软删除。 - 删除失败时,需要明确提示是否存在业务引用。 - 支行号为空时允许展示,但启用状态下不允许保存为空。 ### 5.13.7.5 支行新增 / 编辑抽屉 支行新增 / 编辑抽屉用于维护单条支行信息。 展示方式: - 右侧抽屉。 - 表单方式展示。 - 底部固定操作按钮:取消、保存。 表单字段: | 字段 | 控件类型 | 值来源 / 录入方式 | 说明 | | --- | --- | --- | --- | | 总行编号 | 文本输入框 | 人工录入 / 选择总行后带入 | 最长 64 字符 | | 总行名称 | 文本输入框 | 人工录入 / 选择总行后带入 | 最长 128 字符 | | 支行号 | 文本输入框 | 人工录入 | 启用时必填,非空唯一 | | 支行名称 | 文本输入框 | 人工录入 | 启用时必填 | | 支行地址 | 文本输入框 / 多行文本框 | 人工录入 | 选填,最长 255 字符 | | 银行侧城市编码 | 文本输入框 | 人工录入 | 选填,不等同于行政城市编码 | | 省份 | 下拉框 / 树形选择器 | 城市管理中的省份数据 | 选填 | | 城市 | 下拉框 / 树形选择器 | 城市管理中的城市数据 | 省份选择后加载 | | 状态 | Radio / Switch | 启用、停用 | 必填,新增默认启用 | 表单规则: - 保存前校验支行号唯一性。 - 启用状态下,支行号和支行名称必填。 - 支行号非空时只允许字母、数字、短横线和下划线。 - 城市非空时,省份必填。 - 省份变化后,城市自动清空。 - 银行侧城市编码旁需要展示提示:银行侧城市编码不等同于行政城市编码。 - 保存失败时保留表单内容,并展示明确错误信息。 ### 5.13.7.6 支行详情页 / 弹窗 支行详情用于查看单条支行信息。 展示方式: - 弹窗或抽屉。 - 只读描述列表。 展示区域: | 区域 | 内容 | | --- | --- | | 总行信息 | 总行编号、总行名称 | | 支行信息 | 支行号、支行名称、支行地址、启用状态 | | 城市映射 | 银行侧城市编码、省份、城市 | | 系统信息 | 创建时间、创建人、更新时间、更新人 | ## 5.13.8 字段校验 字段校验规则: | 字段 | 校验规则 | | --- | --- | | 总行编号 | 选填,最长 64 字符 | | 总行名称 | 选填,最长 128 字符 | | 支行号 | 启用时必填,最长 64 字符,非空唯一,只允许字母、数字、短横线和下划线 | | 支行名称 | 启用时必填,最长 255 字符 | | 支行地址 | 选填,最长 255 字符 | | 银行侧城市编码 | 选填,最长 64 字符 | | 省份 | 选填,必须来源于城市管理 | | 城市 | 选填,必须来源于城市管理;城市非空时省份必填 | | 状态 | 必填,取值为启用、停用 | ## 5.13.9 使用导航 ### 5.13.9.1 查询支行信息 入口路径: ```text 基础平台 > 支行信息管理 ``` 操作步骤: 1. 进入支行信息管理页面。 2. 输入关键字,或选择总行、省份、城市、状态。 3. 点击查询。 4. 系统展示符合条件的支行分页列表。 5. 如需重新查询,点击重置后重新输入条件。 ### 5.13.9.2 新增支行信息 入口路径: ```text 基础平台 > 支行信息管理 > 新增支行信息 ``` 操作步骤: 1. 进入支行信息管理页面。 2. 点击新增支行信息。 3. 系统打开新增抽屉。 4. 填写总行编号、总行名称、支行号、支行名称、支行地址。 5. 按需填写银行侧城市编码。 6. 按需选择省份和城市。 7. 选择启用状态。 8. 点击保存。 9. 系统校验支行号唯一性、启用状态必填项和城市归属。 10. 保存成功后关闭抽屉并刷新列表。 ### 5.13.9.3 编辑支行信息 入口路径: ```text 基础平台 > 支行信息管理 > 编辑 ``` 操作步骤: 1. 查询需要维护的支行信息。 2. 点击编辑。 3. 系统打开编辑抽屉并回显支行信息。 4. 修改总行信息、支行信息、银行侧城市编码、行政省市或状态。 5. 点击保存。 6. 系统完成校验后保存。 7. 保存成功后关闭抽屉并刷新列表。 ### 5.13.9.4 启用 / 停用支行信息 入口路径: ```text 基础平台 > 支行信息管理 > 启用 / 停用 ``` 操作步骤: 1. 查询需要处理的支行信息。 2. 点击启用或停用。 3. 系统弹出二次确认。 4. 用户确认后系统更新状态。 5. 状态更新成功后刷新列表。 ### 5.13.9.5 删除支行信息 入口路径: ```text 基础平台 > 支行信息管理 > 删除 ``` 操作步骤: 1. 查询需要删除的支行信息。 2. 点击删除。 3. 系统弹出二次确认。 4. 用户确认后系统检查是否存在业务引用。 5. 如不存在引用,系统软删除支行信息并刷新列表。 6. 如存在引用,系统禁止删除并提示引用原因。 ## 5.13.10 权限资源 支行信息管理建议纳入应用菜单与按钮资源治理。 权限资源建议如下: | 权限资源 | 说明 | | --- | --- | | `system.bank.query` | 查询支行信息 | | `system.bank.create` | 新增支行信息 | | `system.bank.update` | 编辑支行信息 | | `system.bank.update_status` | 启用 / 停用支行信息 | | `system.bank.delete` | 删除支行信息 | 权限规则: - 无查询权限,不展示支行信息管理菜单。 - 无新增权限,不展示新增支行信息按钮。 - 无编辑权限,不展示编辑按钮。 - 无启停权限,不展示启用 / 停用按钮。 - 无删除权限,不展示删除按钮。 - 后端接口必须进行真实权限校验,前端按钮显隐不能替代后端鉴权。 ## 5.13.11 验收标准 - 支行信息管理菜单可按权限展示。 - 无权限用户不可访问支行信息管理页面。 - 支行列表默认分页大小为 20。 - 可按关键字、总行、省份、城市、状态查询支行信息。 - 关键字可匹配总行编号、总行名称、支行号、支行名称、支行地址、银行侧城市编码。 - 省份变化后,城市查询条件自动清空。 - 新增支行信息时,启用状态下支行号和支行名称必填。 - 支行号非空时必须校验全局唯一。 - 支行号格式不合法时,前端和后端均必须阻断保存。 - 城市非空但省份为空时,前端和后端均必须阻断保存。 - 城市不属于所选省份时,前端和后端均必须阻断保存。 - 银行侧城市编码与行政省市编码在页面上必须并列展示,不能混用。 - 启用支行信息时,必须校验支行号和支行名称已填写。 - 停用支行信息后,新增业务资料不可继续选择该支行。 - 删除支行信息必须二次确认。 - 存在业务引用的支行信息禁止删除。 - 删除成功后,支行信息不在默认列表展示。 - 支行信息新增、编辑、启停、删除均生成操作日志。