> **源文件**:仪陇表务管理系统-PRD-04-功能需求说明-04-落地检管理-V1.0.docx > **导出时间**:2026-05-26 10:34 **仪陇表务管理系统 产品需求说明书 04-功能需求说明 落地检管理** 文档版本:V1.0 对应 01 版本:仪陇表务管理系统-PRD-01-总体说明-V1.0 模块序号:04 模块名称:落地检管理 ## 落地检管理 本模块覆盖新水表到货后首次强制性检定、不合格返厂及合格水表铅封绑定与总仓入库,对应《PRD-01》落地检管理模块。含 Web 菜单:落地检登记;App 菜单:总仓入库。 ### **落地检登记** #### 功能描述 根据采购计划到货的待落地检水表按检定标准检测并登记结果;不合格水表可登记返厂信息;合格水表进入铅封绑定与总仓入库流程。 #### 菜单权限 表务水表管理中心;表务水表采购;表务总公司管理人员;表务系统管理员 #### 数据权限 表务水表管理中心、表务水表采购、表务总公司管理人员、表务系统管理员:可见、可操作全公司范围内落地检业务数据。 表务分公司库管员:可见关联本分公司到货的水表落地检进度(只读)。 #### 核心逻辑 以待落地检水表(到货登记产生)为作业对象;检定结论驱动状态与检定台账、生命周期更新。 检定测量明细数据与专用检定系统关联,本系统记录结论与关联 ID。 不合格须返厂登记后方可补发新表重新到货检定。 #### 功能需求 ##### **一级页面:落地检登记** #整体布局 -- 查询条件 + 待落地检/已检定水表列表;顶部「检定登记」「返厂登记」 #查询条件 -- 水表编号、出厂编号、采购计划单号、检定结果、检定日期范围 -- 水表状态:下拉(待落地检、待铅封绑定、首检不合格、返厂等) -- 功能按钮:查询、重置 #数据列表 -- 表格标题:落地检作业列表 -- 表格字段:水表编号、出厂编号、采购计划单号、水表口径、水表类型、水表状态、检定结果、检定日期、检定人 -- 行内操作:检定登记、返厂登记(不合格时)、详情 #交互说明 -- 「检定登记」打开「弹窗:落地检登记」 -- 「返厂登记」对首检不合格水表打开「弹窗:返厂登记」 -- 检定合格且待铅封绑定的水表进入 App「总仓入库」清单 ##### **弹窗:落地检登记** #弹窗类型 -- 居中模态弹窗;遮罩:有 #信息展示 -- 水表编号、出厂编号:只读(来自到货登记) -- 检定结果:必填,单选(合格、不合格) -- 检定人:只读,默认当前用户 -- 检定日期:只读,默认当前日期 -- 检定数据说明:检定测量数据在专用检定程序中留存,本系统记录检定结论及关联检定记录 ID -- 备注:选填 #底部按钮 -- 保存;取消 #交互说明 -- 合格:水表状态更新为待铅封号绑定;写入检定台账及生命周期落地检阶段 -- 不合格:状态为首检不合格;可继续办理返厂登记 ##### **弹窗:返厂登记** #弹窗类型 -- 居中模态弹窗;遮罩:有 #信息展示 -- 水表信息只读 -- 物流公司:必填,文本 -- 物流单号:必填,文本 -- 返厂原因:选填 -- 附件:选填 #底部按钮 -- 保存;取消 #交互说明 -- 保存后水表状态为返厂;新增返厂记录及生命周期阶段;补发新表重新走到货与落地检流程 ##### **弹窗:落地检详情** #弹窗类型 -- 抽屉弹窗(右侧);只读 #信息展示 -- 水表基础信息、检定结论、返厂信息(如有)、关联采购计划 #底部按钮 -- 关闭 ### **总仓入库(App)** #### 功能描述 系统自动筛选待铅封号绑定水表推送至总仓库管员 App;现场完成铅封实物挂载后扫码完成线上绑定与总仓入库登记。 #### 菜单权限 表务水表管理中心 #### 数据权限 表务水表管理中心(总仓库管员岗位):可见、可操作全公司待绑定及本账号办理的入库数据。 #### 核心逻辑 仅「待铅封号绑定」状态水表可办理;扫码绑定后状态为总公司在库。 同步新增总仓新表入库出入库台账及生命周期总仓入库阶段。 #### 功能需求 ##### **一级页面:总仓入库** #整体布局 -- App 列表页;展示状态为「待铅封号绑定」的水表清单(按检定类型分组汇总可选) #页面标题 -- 标题文案:总仓入库 -- 返回:返回 App 首页 #信息展示 -- 卡片/列表字段:水表编号、出厂编号、水表口径、水表类型、检定合格时间 -- 行内操作:扫码绑定 #底部按钮 -- 扫码绑定:打开扫码页绑定铅封号 #交互说明 -- 扫码成功后更新铅封号;水表状态为总公司在库、在库属性全新 -- 自动生成总仓新表入库出入库台账及生命周期「总仓入库」阶段 -- 完成后水表进入可领取状态,衔接领取管理 ##### **二级页面:铅封扫码绑定** #整体布局 -- 扫码区 + 水表信息确认区 + 铅封号录入区 #页面标题 -- 标题文案:铅封绑定 -- 返回:返回总仓入库列表 #信息展示 -- 水表编号、出厂编号:只读(扫码带入) -- 铅封号:必填,支持扫码或手工录入 #底部按钮 -- 确认绑定:校验铅封号唯一性后提交 -- 取消:返回列表 #交互说明 -- 支持离线暂存、联网后同步(与 App 全局能力一致) -- 绑定失败须提示原因(重复铅封、状态不符等) --- ## 详细设计(研发) > 以下内容合并自 `design/功能设计/`,与 PRD 需求章节配套使用。数据模型详见 `design/数据库设计-V1.0.md`。 ### 仪陇表务-功能设计-04-落地检管理-V1.0 # 仪陇表务 — 功能设计 04 落地检管理 V1.0 > 需求来源:`../demand/功能需求说明/仪陇表务管理系统-PRD-04-功能需求说明-04-*.md` > 数据模型:见 [数据库设计-V1.0.md](../数据库设计-V1.0.md) > 接口约定:见本文 **§接口设计(研发)**、[仪陇表务-公共接口说明-V1.0.md](./仪陇表务-公共接口说明-V1.0.md)、[00-总体框架设计-V1.0.md](../../design/00-总体框架设计-V1.0.md) ## 1. 模块概述 | 项 | 说明 | |----|------| | 模块序号 | 04 | | 模块名称 | 落地检管理 | | 后端包(建议) | `com.tofly.wm.manage.verify` | | 业务模式 | 登记直办 | | 工单 | 无 | ## 2. 功能范围 - 落地检登记 - 返厂登记 - App 铅封绑定入库 ## 3. 数据模型 ### 3.1 涉及表 - `wssmet_landverify_w` - `wssmet_retfactory_w` ### 3.2 实体约定 - 所有实体 `extends 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`。 ## 4. 业务流程 到货水表全数检定→合格绑铅封总仓入库/不合格返厂。 ## 5. 核心业务规则 - 不合格禁止入库 - 关联 VERIFY_RECORD ## 6. 接口设计(概要) | 方法 | 路径(示例前缀) | 说明 | |------|------------------|------| | — | `/landingVerify/` | 见 PRD 界面 | | — | `/returnFactory/` | 见 PRD 界面 | - 标准 CRUD 另含:`GET /page`、`GET /list`、`POST /update`、`DELETE /{id}`、`DELETE /deleteByIds`。 - 返回体:须为带**具体**泛型的 `ResultResponse<...>`,见下文 §接口设计(研发)各接口出参(**禁止** `T`/`Vo` 占位)。 ## 7. 权限与数据范围 遵循 PRD-02:菜单角色 + 组织数据权限 + 工单岗位权限;具体角色见 PRD-04 各功能「菜单权限」「数据权限」章节。 ## 8. 上下游依赖 | 上游 | 下游 | |------|------| | 见 PRD-03 流程说明 | 见 PRD-01 总体主流程 | --- *本设计仅依据 `../demand/` PRD 与 [数据库设计-V1.0.md](../数据库设计-V1.0.md);实现时遵循 `java6/java-ylsw-bw.md` 与 `database-design.mdc`(`wssmet_*` 表名),**不参照**存量业务表与接口。* --- ## 接口设计(研发) > 统一前缀:`/api/wm/manage/verify/landing`;各接口 **出参** 须为具体泛型(见下文,**禁止** `T`/`Vo` 占位);公共约定见 [仪陇表务-公共接口说明-V1.0.md](./仪陇表务-公共接口说明-V1.0.md)。 #### 落地检登记-分页查询 | 项 | 内容 | |----|------| | 接口说明 | 分页查询落地检登记 | | 请求地址 | `GET /api/wm/manage/verify/landing/landingVerify/page` | | 请求类型 | GET | **入参(Query(PageQuery))** | 字段 | 类型 | 说明 | |------|------|------| | meterCode | String | 水表表号 | | factoryCode | String | 出厂编码 | | verifyResultCode | String(枚举 code) | 检定 | | verifyDate | Date | 检定日期 | | qualityValue | String | 质量指标 | | volumeValue | String | 体积指标 | | errorValue | String | 误差指标 | | verifyDesc | String | 检定 | | remark | String | 备注 | **出参** - ResultResponse> > 外层包装 ResultResponse 含 code、message、data,见 [公共接口说明](./仪陇表务-公共接口说明-V1.0.md) §1.3。 **data(PageInfo)字段** | 字段 | 类型 | 说明 | |------|------|------| | pageNum | Integer | 当前页码 | | pageSize | Integer | 每页条数 | | total | Long | 总记录数 | | pages | Integer | 总页数 | | list | List | 当前页数据列表 | **`LandingVerifyVo` 字段** | 字段 | 类型 | 说明 | |------|------|------| | id | String | 主键 | | meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 | | meterCode | String | 水表表号 | | factoryCode | String | 出厂编码 | | planId | Long | 采购计划ID,关联wssmet_purplan_w表的id字段 | | verifyResultCode | String(枚举 code) | 检定结果 | | verifyDate | Date | 检定日期 | | verifyUserId | Long | 检定用户ID,关联tf_user表的id字段 | | verifyRecordId | Long | 检定记录编号,关联wssmet_verifyrecord_w表的record_id字段 | | qualityValue | String | 质量指标 | | volumeValue | String | 体积指标 | | errorValue | String | 误差指标 | | verifyDesc | String | 检定结果 | | remark | String | 备注 | #### 落地检登记-列表查询 | 项 | 内容 | |----|------| | 接口说明 | 列表查询落地检登记 | | 请求地址 | `GET /api/wm/manage/verify/landing/landingVerify/list` | | 请求类型 | GET | **入参(Query)** | 字段 | 类型 | 说明 | |------|------|------| | meterCode | String | 水表表号 | | factoryCode | String | 出厂编码 | | verifyResultCode | String(枚举 code) | 检定 | | verifyDate | Date | 检定日期 | | qualityValue | String | 质量指标 | | volumeValue | String | 体积指标 | | errorValue | String | 误差指标 | | verifyDesc | String | 检定 | | remark | String | 备注 | **出参** - ResultResponse> > 外层包装 ResultResponse 含 code、message、data,见 [公共接口说明](./仪陇表务-公共接口说明-V1.0.md) §1.3。 **data(List)元素字段** **`LandingVerifyVo` 字段** | 字段 | 类型 | 说明 | |------|------|------| | id | String | 主键 | | meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 | | meterCode | String | 水表表号 | | factoryCode | String | 出厂编码 | | planId | Long | 采购计划ID,关联wssmet_purplan_w表的id字段 | | verifyResultCode | String(枚举 code) | 检定结果 | | verifyDate | Date | 检定日期 | | verifyUserId | Long | 检定用户ID,关联tf_user表的id字段 | | verifyRecordId | Long | 检定记录编号,关联wssmet_verifyrecord_w表的record_id字段 | | qualityValue | String | 质量指标 | | volumeValue | String | 体积指标 | | errorValue | String | 误差指标 | | verifyDesc | String | 检定结果 | | remark | String | 备注 | #### 落地检登记-详情 | 项 | 内容 | |----|------| | 接口说明 | 查询落地检登记详情 | | 请求地址 | `GET /api/wm/manage/verify/landing/landingVerify/{id}` | | 请求类型 | GET | **入参(Path: id)** | 字段 | 类型 | 说明 | |------|------|------| | id | String | 主键 | **出参** - ResultResponse(含明细 list 若适用) > 外层包装 ResultResponse 含 code、message、data,见 [公共接口说明](./仪陇表务-公共接口说明-V1.0.md) §1.3。 **data(LandingVerifyVo)字段** **`LandingVerifyVo` 字段** | 字段 | 类型 | 说明 | |------|------|------| | id | String | 主键 | | meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 | | meterCode | String | 水表表号 | | factoryCode | String | 出厂编码 | | planId | Long | 采购计划ID,关联wssmet_purplan_w表的id字段 | | verifyResultCode | String(枚举 code) | 检定结果 | | verifyDate | Date | 检定日期 | | verifyUserId | Long | 检定用户ID,关联tf_user表的id字段 | | verifyRecordId | Long | 检定记录编号,关联wssmet_verifyrecord_w表的record_id字段 | | qualityValue | String | 质量指标 | | volumeValue | String | 体积指标 | | errorValue | String | 误差指标 | | verifyDesc | String | 检定结果 | | remark | String | 备注 | #### 落地检登记-新增 | 项 | 内容 | |----|------| | 接口说明 | 新增落地检登记 | | 请求地址 | `POST /api/wm/manage/verify/landing/landingVerify/` | | 请求类型 | POST | **入参(Body: Dto)** | 字段 | 类型 | 说明 | |------|------|------| | meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 | | meterCode | String | 水表表号 | | factoryCode | String | 出厂编码 | | planId | Long | 采购计划ID,关联wssmet_purplan_w表的id字段 | | verifyResultCode | String(枚举 code) | 检定 | | verifyDate | Date | 检定日期 | | verifyUserId | Long | 检定用户ID,关联tf_user表的id字段 | | verifyRecordId | Long | 检定记录编号,关联wssmet_verifyrecord_w表的record_id字段 | | qualityValue | String | 质量指标 | | volumeValue | String | 体积指标 | | errorValue | String | 误差指标 | | verifyDesc | String | 检定 | | remark | String | 备注 | **出参** - ResultResponse **data 字段** | 字段 | 类型 | 说明 | |------|------|------| | id | Long | 新增记录主键 | #### 落地检登记-修改 | 项 | 内容 | |----|------| | 接口说明 | 修改落地检登记 | | 请求地址 | `POST /api/wm/manage/verify/landing/landingVerify/update` | | 请求类型 | POST | **入参(Body: Dto(含 id))** | 字段 | 类型 | 说明 | |------|------|------| | meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 | | meterCode | String | 水表表号 | | factoryCode | String | 出厂编码 | | planId | Long | 采购计划ID,关联wssmet_purplan_w表的id字段 | | verifyResultCode | String(枚举 code) | 检定 | | verifyDate | Date | 检定日期 | | verifyUserId | Long | 检定用户ID,关联tf_user表的id字段 | | verifyRecordId | Long | 检定记录编号,关联wssmet_verifyrecord_w表的record_id字段 | | qualityValue | String | 质量指标 | | volumeValue | String | 体积指标 | | errorValue | String | 误差指标 | | verifyDesc | String | 检定 | | remark | String | 备注 | **出参** - ResultResponse **data** 无业务字段(null)。 #### 落地检登记-删除 | 项 | 内容 | |----|------| | 接口说明 | 逻辑删除落地检登记(支持批量) | | 请求地址 | `DELETE /api/wm/manage/verify/landing/landingVerify/deleteByIds?ids=1,2` | | 请求类型 | DELETE | **入参(Query: ids)** | 字段 | 类型 | 说明 | |------|------|------| | ids | String | 主键,逗号分隔 | **出参** - ResultResponse **data** 无业务字段(null)。 #### 不合格返厂登记 | 项 | 内容 | |----|------| | 接口说明 | 首检不合格水表返厂 | | 请求地址 | `POST /api/wm/manage/verify/landing/returnFactory/` | | 请求类型 | POST | **入参(Body: Dto)** | 字段 | 类型 | 说明 | |------|------|------| | meterId | Long | 水表ID,关联wssmet_meter_w表的id字段 | | returnReasonCode | String(字典 code) | 退回原因编号 | | logisticsCompany | String | 物流公司 | | logisticsNo | String | 物流 | | returnDate | Date | 退回日期 | | remark | String | 备注 | **出参** - ResultResponse **data** 无业务字段(null)。 #### App铅封绑定入库 | 项 | 内容 | |----|------| | 接口说明 | 总仓 App 铅封扫码绑定并入库 | | 请求地址 | `POST /api/wm/manage/verify/landing/landingVerify/app/sealBind` | | 请求类型 | POST | **入参(Body: SealBindDto)** | 字段 | 类型 | 说明 | |------|------|------| | meterCode | String | 水表表号 | | sealNo | String | 铅封号 | **出参** - ResultResponse **data** 无业务字段(null)。