源文件:仪陇表务管理系统-PRD-04-功能需求说明-08-到期检定-V1.0.docx 导出时间:2026-05-26 10:34
仪陇表务管理系统 产品需求说明书 04-功能需求说明 到期检定
文档版本:V1.0
对应 01 版本:仪陇表务管理系统-PRD-01-总体说明-V1.0
模块序号:08
模块名称:到期检定
本模块覆盖在用水表到期检定提醒、检定任务创建分派、现场检定执行及合格复位 / 不合格处置全链路,对应《PRD-01》到期检定管理能力。含 Web 菜单:水表到期检定提醒、到期检定任务;App 菜单:到期检定任务执行(App)。与配置管理周期设置、检定台账、报废管理、入库管理联动。
系统自动读取周期配置模块中的水表检定周期,以每只水表最近检定时间为基准,每日筛选距离下次检定到期日不足 3 个月的水表,生成即将到期检定水表清单;营业办 / 供水站人员可查看清单并批量创建到期检定任务。
表务营业办/供水站管理人员;表务分公司管理人员;表务水表管理中心;表务总公司管理人员;表务系统管理员
表务营业办/供水站管理人员:可见、可操作本营业办 / 本供水站范围内到期提醒数据。
表务分公司管理人员:可见、可操作本分公司及下属营业办、供水站范围内到期提醒数据。
表务水表管理中心、表务总公司管理人员、表务系统管理员:可见、可操作全公司范围内到期提醒数据。
预警规则来源于「配置管理」周期设置中的检定周期参数。
批量创建任务时生成到期检定任务主记录及任务明细水表,并跳转任务管理继续派单。
#整体布局
-- 查询条件 + 即将到期水表清单;顶部「批量创建任务」
#查询条件
-- 所属营业所 / 供水站:组织筛选
-- 水表编号、用户编号:模糊搜索
-- 到期剩余天数:范围(默认展示 3 个月内到期)
-- 水表口径、水表类型:下拉
#数据列表
-- 表格字段:水表编号、用户编号、安装地址、最近检定日期、下次检定到期日、剩余天数、所属机构
-- 行内操作:创建任务(单条);勾选批量创建
#交互说明
-- 系统每日按周期配置自动刷新清单;批量创建跳转「到期检定任务」并带入选中水表
基于到期检定提醒清单或直接新建,批量创建到期检定任务并填写任务名称、任务时限,将任务分派给指定抄表员;跟踪任务状态(待执行 / 执行中 / 已完成),支持查看水表检定结果及完整检定报告。
表务营业办/供水站管理人员;表务营业办/供水站职员;表务水表管理中心;表务分公司管理人员;表务总公司管理人员;表务系统管理员
表务营业办/供水站管理人员、表务营业办/供水站职员:可见、可操作本营业办 / 本供水站范围内到期检定任务数据。
表务分公司管理人员:可见、可操作本分公司及下属营业办、供水站范围内任务数据。
表务水表管理中心、表务总公司管理人员、表务系统管理员:可见、可操作全公司范围内任务数据。
任务创建后推送至执行人 App「到期检定任务执行」.
检定合格:抄表员领临时表 → 现场拆表装临时表 → 原表送检 → 合格后现场复位原表;检定不合格:旧表退回总仓登记,抄表员领新表完成换表闭环(与 01 描述一致)。
检定结果写入检定台账并更新水表基础信息与生命周期到期检阶段记录。
#整体布局
-- 查询条件 + 任务列表;顶部「新建任务」
#查询条件
-- 任务编号、任务名称、任务状态、执行人、创建日期
#数据列表
-- 字段:任务编号、任务名称、任务时限、执行人、水表数量、任务状态(待执行 / 执行中 / 已完成)、创建人、创建时间
-- 行内操作:派单 / 编辑(待执行);详情;关闭任务
#交互说明
-- 支持从到期提醒批量带入水表;支持管理人员直接新建并派单给抄表员
#弹窗类型
-- 居中弹窗
#信息展示
-- 任务名称:必填;任务时限:必填,日期
-- 执行人:必填,选择抄表员
-- 任务水表明细:表格,支持从提醒清单导入或手工添加水表编号
#底部按钮
-- 保存并派单;保存草稿;取消
#弹窗类型
-- 抽屉弹窗
#整体布局
-- Tab:任务信息 / 水表明细 / 执行进度
#信息展示
-- 任务信息:任务编号、名称、时限、状态、执行人、创建人、分派时间
-- 水表明细:水表编号、检定状态(待检 / 合格 / 不合格)、检定报告摘要
#底部按钮
-- 关闭;重新派单(未完成时)
任务执行人根据检定结果处置水表:合格水表现场复位安装或返回分仓;不合格水表可办理返厂、发起报废申请或按换表流程完成临时表与新旧表处置。处置结果在手机 App 登记并实时回传。
表务营业办/供水站职员;表务水表管理中心;表务系统管理员
表务营业办/供水站职员:可见、可操作指派给自己的到期检定执行任务及相关水表数据。
表务水表管理中心、表务系统管理员:可见全公司范围内任务执行数据(只读跟踪,总公司检定人员可协助处置)。
返厂登记、报废申请、旧表入库等与 Web 端入库管理、报废管理菜单状态联动。
复位安装完成后更新铅封号、表号规则(重新检定合格可变更表号)及水表状态,同步任务明细执行结果与附件照片。
#整体布局
-- 任务卡片列表(待执行 / 执行中 / 已完成 Tab)
#信息展示
-- 卡片:任务编号、任务名称、时限、待检水表数
#交互说明
-- 点击进入「二级页面:到期检定任务详情(App)」
#页面标题
-- 任务详情;返回任务列表
#信息展示
-- 任务信息只读;待检水表明细列表
#交互说明
-- 点击水表进入「三级页面:到期检定现场执行(App)」
#整体布局
-- 水表信息 + 检定处置操作区
#信息展示
-- 水表编号、用户编号、安装地址:只读
-- 检定结果登记:合格 / 不合格(对接检定程序或手工录入摘要)
#底部按钮
-- 合格-复位安装:在用水表现场拆除临时表并复位原表,扫码绑定铅封、拍照留痕
-- 合格-返回分仓:非在用水表办理旧表入库
-- 不合格-返厂登记:录入返厂信息
-- 不合格-发起报废申请:跳转报废申请(工单)
-- 不合格-换表闭环:记录临时表安装、旧表退回、新表领用及现场换表步骤状态
#交互说明
-- 处置须在本 App 逐步登记,状态与 Web 任务详情、检定台账一致
-- 提交后刷新任务进度,全部水表完成后任务状态为已完成
以下内容合并自
design/功能设计/,与 PRD 需求章节配套使用。数据模型详见design/数据库设计-V1.0.md。
# 仪陇表务 — 功能设计 08 到期检定 V1.0
需求来源:
../demand/功能需求说明/仪陇表务管理系统-PRD-04-功能需求说明-08-*.md
数据模型:见 数据库设计-V1.0.md
接口约定:见本文 §接口设计(研发)、仪陇表务-公共接口说明-V1.0.md、00-总体框架设计-V1.0.md
| 项 | 说明 |
|---|---|
| 模块序号 | 08 |
| 模块名称 | 到期检定 |
| 后端包(建议) | com.tofly.wm.manage.verify.expire |
| 业务模式 | 任务直办 |
| 工单 | 无(任务) |
wssmet_expverifytask_wwssmet_expverifytaskmeter_wwssmet_expverifyexec_wextends BaseEntity;逻辑删除 Boolean deleted ↔ deleted。DictEntry + @DictDirectory(MeterConstant.*) ↔ 库列 VARCHAR2;组织/用户 OrganizationEntry/UserNameEntry ↔ 库列 NUMBER(19);附件 FileEntryList/FileEntry 用 @TableField(exist = false),无库列。process_instance_id / work_order_code / approve_status;工单反查 (无本地表,见 workflow).TABLE_NAME + TABLE_ID。周期规则预警→建任务派单→现场检定处置(复位/返厂/报废/换表)。
| 方法 | 路径(示例前缀) | 说明 |
|---|---|---|
| — | /expireVerifyTask/ |
见 PRD 界面 |
| — | /expireReminder/list |
见 PRD 界面 |
GET /page、GET /list、POST /update、DELETE /{id}、DELETE /deleteByIds。ResultResponse<...>,见下文 §接口设计(研发)各接口出参(禁止 T/Vo 占位)。遵循 PRD-02:菜单角色 + 组织数据权限 + 工单岗位权限;具体角色见 PRD-04 各功能「菜单权限」「数据权限」章节。
| 上游 | 下游 |
|---|---|
| 见 PRD-03 流程说明 | 见 PRD-01 总体主流程 |
本设计仅依据 ../demand/ PRD 与 数据库设计-V1.0.md;实现时遵循 java6/java-ylsw-bw.md 与 database-design.mdc(`wssmet_` 表名),不参照存量业务表与接口。*
统一前缀:
/api/wm/manage/verify/expire;各接口 出参 须为具体泛型(见下文,禁止T/Vo占位);公共约定见 仪陇表务-公共接口说明-V1.0.md。
| 项 | 内容 |
|---|---|
| 接口说明 | 分页查询到期检定任务 |
| 请求地址 | GET /api/wm/manage/verify/expire/expireVerifyTask/page |
| 请求类型 | GET |
入参(Query(PageQuery))
| 字段 | 类型 | 说明 |
|---|---|---|
| taskCode | String | 任务编号 |
| taskName | String | 任务 |
| taskDeadline | String | 任务 |
| meterQty | Integer | 水表数量 |
| taskStatusCode | String(枚举 code) | 任务状态 |
| creatorName | String | 创建人 |
| dispatchTime | DateTime | 分派时间 |
| taskDesc | String | 任务 |
出参
外层包装 ResultResponse 含 code、message、data,见 公共接口说明 §1.3。
data(PageInfo)字段
| 字段 | 类型 | 说明 |
|---|---|---|
| pageNum | Integer | 当前页码 |
| pageSize | Integer | 每页条数 |
| total | Long | 总记录数 |
| pages | Integer | 总页数 |
| list | List | 当前页数据列表 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
| taskCode | String | 任务 |
| taskName | String | 任务 |
| taskDeadline | String | 任务 |
| executorId | Long | 执行人ID,关联tf_user表的id字段 |
| meterQty | Integer | 水表数量 |
| taskStatusCode | String(枚举 code) | 任务状态 |
| creatorId | Long | 创建人ID,关联tf_user表的id字段 |
| creatorName | String | 创建人 |
| dispatchTime | DateTime | 分派时间 |
| taskDesc | String | 任务 |
| 项 | 内容 |
|---|---|
| 接口说明 | 列表查询到期检定任务 |
| 请求地址 | GET /api/wm/manage/verify/expire/expireVerifyTask/list |
| 请求类型 | GET |
入参(Query)
| 字段 | 类型 | 说明 |
|---|---|---|
| taskCode | String | 任务编号 |
| taskName | String | 任务 |
| taskDeadline | String | 任务 |
| meterQty | Integer | 水表数量 |
| taskStatusCode | String(枚举 code) | 任务状态 |
| creatorName | String | 创建人 |
| dispatchTime | DateTime | 分派时间 |
| taskDesc | String | 任务 |
出参
外层包装 ResultResponse 含 code、message、data,见 公共接口说明 §1.3。
data(List)元素字段
ExpireVerifyTaskVo 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
| taskCode | String | 任务 |
| taskName | String | 任务 |
| taskDeadline | String | 任务 |
| executorId | Long | 执行人ID,关联tf_user表的id字段 |
| meterQty | Integer | 水表数量 |
| taskStatusCode | String(枚举 code) | 任务状态 |
| creatorId | Long | 创建人ID,关联tf_user表的id字段 |
| creatorName | String | 创建人 |
| dispatchTime | DateTime | 分派时间 |
| taskDesc | String | 任务 |
| 项 | 内容 |
|---|---|
| 接口说明 | 查询到期检定任务详情 |
| 请求地址 | GET /api/wm/manage/verify/expire/expireVerifyTask/{id} |
| 请求类型 | GET |
入参(Path: id)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
出参
外层包装 ResultResponse 含 code、message、data,见 公共接口说明 §1.3。
data(ExpireVerifyTaskVo)字段
ExpireVerifyTaskVo 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
| taskCode | String | 任务 |
| taskName | String | 任务 |
| taskDeadline | String | 任务 |
| executorId | Long | 执行人ID,关联tf_user表的id字段 |
| meterQty | Integer | 水表数量 |
| taskStatusCode | String(枚举 code) | 任务状态 |
| creatorId | Long | 创建人ID,关联tf_user表的id字段 |
| creatorName | String | 创建人 |
| dispatchTime | DateTime | 分派时间 |
| taskDesc | String | 任务 |
| 项 | 内容 |
|---|---|
| 接口说明 | 新增到期检定任务 |
| 请求地址 | POST /api/wm/manage/verify/expire/expireVerifyTask/ |
| 请求类型 | POST |
入参(Body: Dto)
| 字段 | 类型 | 说明 |
|---|---|---|
| taskCode | String | 任务编号 |
| taskName | String | 任务 |
| taskDeadline | String | 任务 |
| executorId | Long | 执行人ID,关联tf_user表的id字段 |
| meterQty | Integer | 水表数量 |
| taskStatusCode | String(枚举 code) | 任务状态 |
| creatorId | Long | 创建人ID,关联tf_user表的id字段 |
| creatorName | String | 创建人 |
| dispatchTime | DateTime | 分派时间 |
| taskDesc | String | 任务 |
出参
data 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | Long | 新增记录主键 |
| 项 | 内容 |
|---|---|
| 接口说明 | 修改到期检定任务 |
| 请求地址 | POST /api/wm/manage/verify/expire/expireVerifyTask/update |
| 请求类型 | POST |
入参(Body: Dto(含 id))
| 字段 | 类型 | 说明 |
|---|---|---|
| taskCode | String | 任务编号 |
| taskName | String | 任务 |
| taskDeadline | String | 任务 |
| executorId | Long | 执行人ID,关联tf_user表的id字段 |
| meterQty | Integer | 水表数量 |
| taskStatusCode | String(枚举 code) | 任务状态 |
| creatorId | Long | 创建人ID,关联tf_user表的id字段 |
| creatorName | String | 创建人 |
| dispatchTime | DateTime | 分派时间 |
| taskDesc | String | 任务 |
出参
data 无业务字段(null)。
| 项 | 内容 |
|---|---|
| 接口说明 | 逻辑删除到期检定任务(支持批量) |
| 请求地址 | DELETE /api/wm/manage/verify/expire/expireVerifyTask/deleteByIds?ids=1,2 |
| 请求类型 | DELETE |
入参(Query: ids)
| 字段 | 类型 | 说明 |
|---|---|---|
| ids | String | 主键,逗号分隔 |
出参
data 无业务字段(null)。
| 项 | 内容 |
|---|---|
| 接口说明 | 分页查询到期待检定水表 |
| 请求地址 | GET /api/wm/manage/verify/expire/expireReminder/page |
| 请求类型 | GET |
入参(Query(PageQuery))
| 字段 | 类型 | 说明 |
|---|---|---|
| dueDateEnd | Date | 到期日上限 |
出参
data 无业务字段(null)。
| 项 | 内容 |
|---|---|
| 接口说明 | 派单至执行人 |
| 请求地址 | POST /api/wm/manage/verify/expire/expireVerifyTask/dispatch |
| 请求类型 | POST |
入参(Body)
| 字段 | 类型 | 说明 |
|---|---|---|
| taskId | Long | 任务ID |
| executorId | Long | 执行人 |
出参
data 无业务字段(null)。
| 项 | 内容 |
|---|---|
| 接口说明 | 现场检定执行节点登记 |
| 请求地址 | POST /api/wm/manage/verify/expire/expireVerifyExec/ |
| 请求类型 | POST |
入参(Body: Dto)
| 字段 | 类型 | 说明 |
|---|---|---|
| taskMeterId | Long | 到期检定任务水表明细ID,关联wssmet_expverifytaskmeter_w表的id字段 |
| execNodeCode | String(枚举 code) | 执行节点 |
| execTime | DateTime | 执行时间 |
| tempMeterCode | String | 临时水表编号 |
| newMeterCode | String | 新水表编号 |
| remark | String | 备注 |
出参
data 无业务字段(null)。
| 项 | 内容 |
|---|---|
| 接口说明 | 分页查询到期检定任务水表明细 |
| 请求地址 | GET /api/wm/manage/verify/expire/expireVerifyTaskMeter/page |
| 请求类型 | GET |
入参(Query(PageQuery))
| 字段 | 类型 | 说明 |
|---|---|---|
| userNo | String | 用户 |
| installAddress | String | 安装地址 |
| verifyStatusCode | String(枚举 code) | 检定状态 |
| verifyResultCode | String(枚举 code) | 检定 |
| disposeTypeCode | String(字典 code) | 处置类型编号 |
出参
外层包装 ResultResponse 含 code、message、data,见 公共接口说明 §1.3。
data(PageInfo)字段
| 字段 | 类型 | 说明 |
|---|---|---|
| pageNum | Integer | 当前页码 |
| pageSize | Integer | 每页条数 |
| total | Long | 总记录数 |
| pages | Integer | 总页数 |
| list | List | 当前页数据列表 |
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
| taskId | Long | 到期检定任务ID,关联wssmet_expverifytask_w表的id字段 |
| meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 |
| userNo | String | 用户 |
| installAddress | String | 安装地址 |
| verifyStatusCode | String(枚举 code) | 检定状态 |
| verifyResultCode | String(枚举 code) | 检定结果 |
| disposeTypeCode | String(字典 code) | 处置类型 |
| 项 | 内容 |
|---|---|
| 接口说明 | 列表查询到期检定任务水表明细 |
| 请求地址 | GET /api/wm/manage/verify/expire/expireVerifyTaskMeter/list |
| 请求类型 | GET |
入参(Query)
| 字段 | 类型 | 说明 |
|---|---|---|
| userNo | String | 用户 |
| installAddress | String | 安装地址 |
| verifyStatusCode | String(枚举 code) | 检定状态 |
| verifyResultCode | String(枚举 code) | 检定 |
| disposeTypeCode | String(字典 code) | 处置类型编号 |
出参
外层包装 ResultResponse 含 code、message、data,见 公共接口说明 §1.3。
data(List)元素字段
ExpireVerifyTaskMeterVo 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
| taskId | Long | 到期检定任务ID,关联wssmet_expverifytask_w表的id字段 |
| meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 |
| userNo | String | 用户 |
| installAddress | String | 安装地址 |
| verifyStatusCode | String(枚举 code) | 检定状态 |
| verifyResultCode | String(枚举 code) | 检定结果 |
| disposeTypeCode | String(字典 code) | 处置类型 |
| 项 | 内容 |
|---|---|
| 接口说明 | 查询到期检定任务水表明细详情 |
| 请求地址 | GET /api/wm/manage/verify/expire/expireVerifyTaskMeter/{id} |
| 请求类型 | GET |
入参(Path: id)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
出参
外层包装 ResultResponse 含 code、message、data,见 公共接口说明 §1.3。
data(ExpireVerifyTaskMeterVo)字段
ExpireVerifyTaskMeterVo 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 主键 |
| taskId | Long | 到期检定任务ID,关联wssmet_expverifytask_w表的id字段 |
| meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 |
| userNo | String | 用户 |
| installAddress | String | 安装地址 |
| verifyStatusCode | String(枚举 code) | 检定状态 |
| verifyResultCode | String(枚举 code) | 检定结果 |
| disposeTypeCode | String(字典 code) | 处置类型 |
| 项 | 内容 |
|---|---|
| 接口说明 | 新增到期检定任务水表明细 |
| 请求地址 | POST /api/wm/manage/verify/expire/expireVerifyTaskMeter/ |
| 请求类型 | POST |
入参(Body: Dto)
| 字段 | 类型 | 说明 |
|---|---|---|
| taskId | Long | 到期检定任务ID,关联wssmet_expverifytask_w表的id字段 |
| meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 |
| userNo | String | 用户 |
| installAddress | String | 安装地址 |
| verifyStatusCode | String(枚举 code) | 检定状态 |
| verifyResultCode | String(枚举 code) | 检定 |
| disposeTypeCode | String(字典 code) | 处置类型编号 |
出参
data 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | Long | 新增记录主键 |
| 项 | 内容 |
|---|---|
| 接口说明 | 修改到期检定任务水表明细 |
| 请求地址 | POST /api/wm/manage/verify/expire/expireVerifyTaskMeter/update |
| 请求类型 | POST |
入参(Body: Dto(含 id))
| 字段 | 类型 | 说明 |
|---|---|---|
| taskId | Long | 到期检定任务ID,关联wssmet_expverifytask_w表的id字段 |
| meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 |
| userNo | String | 用户 |
| installAddress | String | 安装地址 |
| verifyStatusCode | String(枚举 code) | 检定状态 |
| verifyResultCode | String(枚举 code) | 检定 |
| disposeTypeCode | String(字典 code) | 处置类型编号 |
出参
data 无业务字段(null)。
| 项 | 内容 |
|---|---|
| 接口说明 | 逻辑删除到期检定任务水表明细(支持批量) |
| 请求地址 | DELETE /api/wm/manage/verify/expire/expireVerifyTaskMeter/deleteByIds?ids=1,2 |
| 请求类型 | DELETE |
入参(Query: ids)
| 字段 | 类型 | 说明 |
|---|---|---|
| ids | String | 主键,逗号分隔 |
出参
data 无业务字段(null)。