西藏巴青项目

供应商管理功能需求.md 16KB

供应商管理 — 功能需求

1. 文档说明

说明
模块名称 供应商管理(交易市场平台)
目标 在业务后台维护交易市场供应商主数据(主体信息、联系方式、车辆及收费规则),支撑供应商检索、台账维护及后续交易、结算等业务引用
关联系统 业务后台;本模块为供应商主档维护,不替代交易开单、对账、支付等下游流程(若需与订单/结算联动,另出集成需求)
修订依据 同目录 供应商管理-草稿.md、界面原型(供应商管理.png

本文档仅描述功能需求与业务规则,不涉及库表结构、接口路径、请求体字段命名、HTTP 报文及技术栈选型。


2. 术语与枚举

2.1 供应商(一条记录)

  • 表示交易市场内的一个供货/服务主体(个体户或企业)。
  • 由运营人员在后台登记与维护;保存成功后可在列表检索,并供后续业务按编号或名称引用。
  • 单条记录包含:编号、名称、类型、身份识别号、联系方式、经营地点、车辆号牌集合、收费方式及与之关联的费率/标准字段。

2.2 供应商类型(单选,必填)

类型 含义 身份识别字段(界面标签)
个体户 自然人经营主体 身份证号
企业 法人或非法人组织主体 主体识别号(统一社会信用代码等,见 §2.5

切换类型时,身份识别字段的标签、校验规则随之切换;已填写的识别号在切换类型后须重新校验,不符合新类型规则时拒绝保存并提示。

2.3 收费方式(单选,必填)

收费方式 含义概要 关联必填字段
按户计费 按「户」为单位计费,不依赖头数与交易额比例 额外费率/标准字段
按头计费 按牲畜(或等价「头」)数量计费 收费标准(元/头)
按额计费 按交易金额比例计费 交易费率管理费率(均为百分比)

联动原则(保存时):

  • 选择 按户计费:不校验、不保存「收费标准」「交易费率」「管理费率」的有效值;界面宜隐藏或清空上述三项,避免误填残留。
  • 选择 按头计费收费标准必填且 > 0;交易费率、管理费率不适用,宜隐藏或清空。
  • 选择 按额计费交易费率、管理费率均必填,取值范围 0~100(单位 %,含 0 与 100 是否允许由产品确认,默认允许 0、不允许超过 100);收费标准不适用,宜隐藏或清空。

说明: 原型辅助说明中曾出现「‰」表述,与表单「%」展示不一致;以百分比(%)为准,全文统一。

2.4 供应商编号

  • 系统自动生成,用户不可手工录入或修改(新增弹窗中只读展示,修改时只读)。
  • 格式:2 位数字字符串,建议左侧补零(如 010299)。
  • 全局唯一:同一系统内不得重复;编号用尽(如已达 99)时拒绝继续新增并提示「供应商编号已达上限,请联系管理员」。
  • 生成时机:用户点击新增保存且校验通过时分配;未保存前可展示「保存后自动生成」类占位。

2.5 身份识别号校验(摘要)

供应商类型 规则摘要
个体户 · 身份证号 必填;18 位居民身份证格式及校验位规则(末位可为 X/x),与项目全局身份证校验一致
企业 · 主体识别号 必填;统一社会信用代码 18 位(字符集、校验位与项目全局规则一致);若业务仅采集营业执照注册号,须在评审时单独约定并替换本节

2.6 车辆号码

  • 一条供应商可登记 0~N 个号牌(N 建议上限 10,评审可调)。
  • 通过「新增一行 / +」增加号牌,每行一个;支持删除单行。
  • 列表与详情中多个号牌以顿号、逗号或换行等方式展示,风格与项目列表长文本一致。
  • 单条号牌格式校验与项目全局车牌规则一致(若暂无全局规则:允许中文省份简称 + 字母数字组合,长度宜 7~8 位,非法格式拒绝保存)。

2.7 平台账号分配

  • 列表提供「分配账号」操作:为当前供应商创建若依平台登录用户,供其登录业务后台或关联端使用。
  • 默认登录名:供应商名称的汉字拼音首字母(小写,连续拼接)+ 该条记录的数据库主键 id(如名称「扎西供应商」、id=12 → zxgys12)。
  • 默认角色:绑定平台角色编号 103(供应商端角色,以 sys_role.role_id 为准)。
  • 仅可成功分配一次account_assigned=已分配 后不可再次分配;登录名冲突等失败时标记为已分配,允许在满足前置条件下重试。
  • 删除联动:逻辑删除供应商时,若已分配账号,同时删除关联的 sys_user(与畜牧医疗资源管理一致)。

2.8 删除与可见性

  • 删除采用与项目其他业务台账一致的逻辑删除:删除后默认不在列表与常规查询中展示,数据保留供审计。
  • 本期不提供回收站界面;物理清除须单独审批。
  • 若供应商存在未结算的结算单(settlement_status=待结算),禁止删除并提示「存在未结算的结算单,无法删除」;仅已完成结算单不阻止删除。

2.9 列表筛选项与记录字段的关系

筛选项 与记录字段关系
供应商编号 与记录中「供应商编号」完全一致(精确匹配);空则不过滤
供应商名称 与记录中「供应商名称」完全一致(精确匹配);空则不过滤

3. 功能范围

本期实现:

能力 说明
供应商列表 编号、名称精确筛选;分页;见 §5.2
新增供应商 录入业务字段;编号自动生成;见 §5.1
修改供应商 除编号外字段均可改;收费方式联动校验;见 §5.3
查看详情 只读展示全部业务字段;见 §5.4
删除供应商 单条删除;见 §5.5
分配账号 为供应商创建平台用户;每条仅成功一次;见 §5.6
工具栏 搜索、重置、新增

本期不实现(除非后续单独立项):

  • 供应商准入审批流、黑名单、资质证照附件上传与到期提醒
  • 供应商批量导入/导出、编号手工指定或跳号规则配置界面
  • 与交易订单、结算单、对账单的自动联动(仅维护主档)
  • 供应商评分、合同管理、银行账户子模块
  • 按区域、收费方式的列表筛选(原型未要求则不做)

4. 业务流程概览

flowchart TD
    A[进入供应商管理] --> B{用户操作}
    B -->|登记| C[新增供应商]
    C --> D[选择类型与收费方式]
    D --> E[填写并联动校验]
    E -->|通过| F[系统分配编号并保存]
    E -->|未通过| C
    F --> G[返回列表]
    B -->|检索| H[输入编号/名称]
    H --> I[搜索列表]
    I --> J{行操作}
    J -->|查看| K[只读详情]
    J -->|编辑| L[修改供应商]
    L --> E
    J -->|分配账号| Q[创建平台用户]
    Q --> G
    J -->|删除| M[二次确认]
    M -->|允许| N[逻辑删除]
    M -->|有关联| O[提示不可删]
    N --> G
    K --> I
    B -->|重置| P[清空筛选]
    P --> I

典型使用顺序:

  1. 运营人员新增供应商,选择个体户/企业与收费方式,填写身份号、联系方式及按收费方式要求的费率/标准。
  2. 系统自动分配两位编号并落库。
  3. 日常按编号名称精确查询台账。
  4. 需要供应商登录平台时,对未分配行执行分配账号
  5. 信息变更时修改(编号不变);无效或重复登记删除(无关联时)。
  6. 需要核对完整收费规则时查看详情。

5. 详细功能需求

5.1 新增供应商

5.1.1 业务字段

字段 必填 规则摘要
供应商编号 只读;保存成功后展示系统生成的 2 位数字编号
供应商名称 1~20 个字符(与草稿「限制 20 字」一致);去除首尾空白后非空
供应商类型 个体户 / 企业,单选
身份证号 / 主体识别号 标签随类型切换;校验见 §2.5
联系方式 中国大陆手机号格式校验(11 位、号段与项目全局一致)
经营地点 文本;长度宜 0~50 字(有内容时按 1~50 校验)
车辆号码 0~N 个;见 §2.6
收费方式 按户计费 / 按头计费 / 按额计费,单选
收费标准 条件 按头计费时必填;数值 > 0;单位展示 元/头
交易费率 条件 按额计费时必填;0~100,单位 %
管理费率 条件 按额计费时必填;0~100,单位 %

5.1.2 界面联动(与原型一致)

用户操作 界面行为
选择「个体户」 身份字段标签为「身份证号」
选择「企业」 身份字段标签为「主体识别号」
选择「按户计费」 隐藏或禁用「收费标准」「交易费率」「管理费率」
选择「按头计费」 显示「收费标准(元/头)」;隐藏或禁用两项费率
选择「按额计费」 显示「交易费率(%)」「管理费率(%)」;隐藏或禁用「收费标准」

5.1.3 保存与取消

操作 行为
确定 全量校验通过后保存;分配供应商编号;关闭弹窗并刷新列表
取消 关闭弹窗,不保存

5.1.4 校验摘要

规则 说明
收费方式联动 未选收费方式或条件字段缺失/非法时拒绝保存
必填 任一必填为空或仅空白时拒绝保存
名称唯一 若业务要求供应商名称不可重复,须在评审时确认;默认建议名称唯一,重复时提示「供应商名称已存在」
身份号唯一 若业务要求同一身份识别号不可重复登记,须在评审时确认;默认建议唯一

5.2 查询供应商列表

5.2.1 筛选

条件 规则
供应商编号 选填;精确匹配;空则不过滤
供应商名称 选填;精确匹配;空则不过滤

支持编号 + 名称组合筛选(同时满足)。

5.2.2 列表规则

  • 默认每页 20 条。
  • 默认排序:供应商编号升序(或 创建时间倒序,产品择一后全文一致;默认建议编号升序便于人工查找)。
  • 工具栏:搜索重置新增

5.2.3 展示列(与原型一致)

供应商编号、供应商名称、供应商类型、身份证号/主体识别号、联系方式、经营地点、车辆号码、收费方式、账号分配、操作。

展示说明
供应商类型 中文:个体户 / 企业
身份证号/主体识别号 列表统一列展示对应类型的识别号;无则「—」
经营地点 过长时省略,详情可看全
车辆号码 多个号牌合并展示;无则「—」
收费方式 中文:按户计费 / 按头计费 / 按额计费
账号分配 未分配显示「否」;已分配显示「是」及登录名(若有)
操作 查看、编辑、删除;未分配时显示「分配账号」(权限见 §6

说明: 列表可不单独展示「收费标准」「交易费率」「管理费率」列,以免过宽;完整数值在详情中展示(见 §5.4)。若产品要求在列表增加摘要列(如「10元/头」或「交易2%/管理1%」),可评审后补充。


5.3 修改供应商

要求
入口 列表「编辑」;详情页可提供「编辑」快捷入口(与列表等价)
不可改字段 供应商编号(只读)
可改范围 §5.1.1 中其余全部字段
类型/收费方式变更 切换后按 §5.1.2 联动显示与 §2.3 重新校验;不适用字段须清空,避免脏数据
校验 与新增 §5.1.4 一致
保存 确定 保存并刷新列表;取消 放弃修改

5.4 查看供应商详情

要求
展示内容 §5.1.1 全部字段;按收费方式展示适用的收费标准或费率;车辆号码全文展示;是否已分配账号已分配登录名(若有)
只读 全部字段不可编辑
操作 可提供 编辑删除(权限与列表一致);未分配时可提供 分配账号关闭 返回列表
收费规则展示示例 按头:收费标准:XX 元/头;按额:交易费率:XX%管理费率:XX%;按户:仅展示收费方式,不展示费率行

宜含创建人、创建时间、修改人、修改时间等审计信息(与项目其他台账一致)。


5.5 删除供应商

要求
入口 列表「删除」;详情可提供「删除」
确认 删除前二次确认(宜展示编号、名称)
删除方式 逻辑删除§2.7
关联约束 存在未结算结算单时拒绝删除,提示「存在未结算的结算单,无法删除」
批量删除 本期不提供

6. 操作与权限矩阵(汇总)

已授权前提下:

操作 列表/详情 说明
查询列表、筛选 需列表查询权限
新增 工具栏「新增」 需新增权限
查看 行内/详情 需查看权限
修改 行内/详情 需修改权限;编号不可改
删除 行内/详情 需删除权限;受关联约束
分配账号 行内/详情 需分配账号权限;仅未分配行可用

无权限的按钮不展示或禁用(与若依按钮权限惯例一致)。


7. 收费方式与字段适用对照(自查)

收费方式 收费标准 交易费率 管理费率
按户计费 不适用 不适用 不适用
按头计费 必填(元/头,>0) 不适用 不适用
按额计费 不适用 必填(%,0~100) 必填(%,0~100)

8. 异常与提示(业务侧)

面向使用方的提示须可读、可区分,例如:

场景 提示方向(示例)
手机号格式错误 请输入正确的手机号码
身份证/主体识别号错误 请输入正确的身份证号 / 主体识别号
收费方式未选 请选择收费方式
按头未填收费标准 请填写收费标准(元/头)
按额未填费率 请填写交易费率 / 管理费率
费率超范围 费率须在 0~100% 之间
名称/身份号重复 供应商名称已存在 / 该身份识别号已登记
编号用尽 供应商编号已达上限,请联系管理员
删除受阻 存在未结算的结算单,无法删除
车牌格式错误 请输入正确的车辆号码
重复分配账号 该供应商已分配账号,不可重复分配
账号创建失败 账号创建失败:登录名已存在 / 用户保存失败

本期不涉及统一 HTTP 响应结构、错误码表等技术约定。


9. 非功能需求(摘要)

要求
易用性 类型、收费方式切换时联动及时,避免用户填写无效字段
一致性 校验规则、逻辑删除、分页默认值与项目其他台账模块保持一致
安全 联系方式、身份识别号在列表是否脱敏由项目统一规范(默认列表不脱敏、按角色可扩展脱敏

10. 修订记录

版本 说明
1.0 初稿:依据草稿与原型整理;明确收费方式联动、编号自动生成、类型与身份字段切换;剔除接口与技术栈描述
1.1 新增 §2.7、§5.6 分配账号:拼音首字母+id 登录名、角色 103、仅一次;删除联动删平台用户
1.3 §2.8、§5.5:存在未结算结算单时禁止删除