引江济太填报模块 - 产品需求文档
Overview
- Summary: 实现引江济太填报模块,包含水量数据和水质数据两大功能模块,每个模块提供文件上传、数据展示、条件查询和数据导出功能。
- Purpose: 解决引江济太项目中水量和水质数据的批量导入、统一管理和便捷查询需求,支持江苏、上海、浙江三省的数据上报。
- Target Users: 太湖流域水环境综合治理信息共享平台的运维人员和数据管理人员。
Goals
- 实现水量数据的Excel文件上传功能,支持江苏、上海、浙江三省模板
- 实现水量数据的查询展示功能,支持多条件筛选和导出
- 实现水质数据的Excel文件上传功能,支持江苏、上海、浙江三省模板
- 实现水质数据的查询展示功能,支持多条件筛选和导出
Non-Goals (Out of Scope)
- 数据编辑功能(仅支持导入、查询、导出)
- 实时数据同步功能
- 数据校验规则的复杂配置
- 移动端适配
Background & Context
- 现有系统已存在引江济太模块目录结构(yjjtgl)
- 已存在水量数据实体类 YjjtSlData 和水质数据实体类 YjjtSzData
- 已存在文件管理实体类 YjjtFile
- 需要在现有基础上增强上传功能和查询条件
Functional Requirements
FR-1: 水量数据文件上传
- FR-1.1: 支持上传Excel格式的水量数据文件
- FR-1.2: 提供三种上传模板:江苏省水量(js-station-sl-model.xlsx)、上海市水量(sh-station-sl-model.xlsx)、浙江省水量(zj-station-sl-model.xlsx)
- FR-1.3: 上传文件记录保存到YJJT_FILE表
- FR-1.4: 解析Excel数据并存储到YJJT_SL_DATA表
FR-2: 水量数据查询展示
- FR-2.1: 展示导入的水量数据列表(分页)
- FR-2.2: 支持按断面名称查询
- FR-2.3: 支持按测站编码查询
- FR-2.4: 支持按数据来源(ADDVCD)查询:WX(无锡)、JS(江苏)、SH(上海)、ZJ(浙江)
- FR-2.5: 支持按监测时间(SPT)时间段查询(YYYY-MM-DD~YYYY-MM-DD)
- FR-2.6: 支持数据导出功能
FR-3: 水质数据文件上传
- FR-3.1: 支持上传Excel格式的水质数据文件
- FR-3.2: 提供三种上传模板:江苏省水质(js-station-sz-model.xlsx)、上海市水质(sh-station-sz-model.xlsx)、浙江省水质(zj-station-sz-model.xlsx)
- FR-3.3: 上传文件记录保存到YJJT_FILE表
- FR-3.4: 解析Excel数据并存储到YJJT_SZ_DATA表
FR-4: 水质数据查询展示
- FR-4.1: 展示导入的水质数据列表(分页)
- FR-4.2: 支持按断面名称查询
- FR-4.3: 支持按测站编码查询
- FR-4.4: 支持按数据来源(ADDVCD)查询:WX(无锡)、JS(江苏)、SH(上海)、ZJ(浙江)
- FR-4.5: 支持按监测时间(SPT)时间段查询(YYYY-MM-DD~YYYY-MM-DD)
- FR-4.6: 支持数据导出功能
Non-Functional Requirements
- NFR-1: 上传文件大小限制不超过10MB
- NFR-2: 数据查询响应时间不超过2秒
- NFR-3: 支持并发上传(同一时刻不超过5个上传任务)
- NFR-4: 上传失败时提供明确的错误提示信息
Constraints
- Technical: Java 17, Spring Boot 3.x, MyBatis, Vue 3.x, Element Plus
- Business: 数据来源固定为WX/JS/SH/ZJ四个选项
- Dependencies: 需要依赖Apache POI进行Excel解析
Assumptions
- Excel模板格式已确定,包含固定字段顺序
- ADDVCD字段值固定为:WX(无锡)、JS(江苏)、SH(上海)、ZJ(浙江)
- 用户具备上传和查询权限
Acceptance Criteria
AC-1: 水量数据文件上传成功
- Given: 用户进入水量数据上传页面,选择有效的Excel文件
- When: 用户点击上传按钮
- Then: 文件记录保存到YJJT_FILE表,数据解析后保存到YJJT_SL_DATA表,页面提示上传成功
- Verification:
programmatic
AC-2: 水量数据查询功能
- Given: 系统中已存在水量数据
- When: 用户输入断面名称、测站编码、数据来源、时间范围等查询条件并点击搜索
- Then: 表格展示符合条件的数据,支持分页
- Verification:
programmatic
AC-3: 水量数据导出功能
- Given: 系统中已存在水量数据
- When: 用户点击导出按钮
- Then: 生成Excel文件并下载,包含所有查询条件过滤后的字段
- Verification:
programmatic
AC-4: 水质数据文件上传成功
- Given: 用户进入水质数据上传页面,选择有效的Excel文件
- When: 用户点击上传按钮
- Then: 文件记录保存到YJJT_FILE表,数据解析后保存到YJJT_SZ_DATA表,页面提示上传成功
- Verification:
programmatic
AC-5: 水质数据查询功能
- Given: 系统中已存在水质数据
- When: 用户输入断面名称、测站编码、数据来源、时间范围等查询条件并点击搜索
- Then: 表格展示符合条件的数据,支持分页
- Verification:
programmatic
AC-6: 水质数据导出功能
- Given: 系统中已存在水质数据
- When: 用户点击导出按钮
- Then: 生成Excel文件并下载,包含所有查询条件过滤后的字段
- Verification:
programmatic
AC-7: 数据来源选项显示
- Given: 用户打开水量或水质数据查询页面
- When: 用户点击数据来源下拉框
- Then: 显示选项:无锡(WX)、江苏(JS)、上海(SH)、浙江(ZJ)
- Verification:
human-judgment
Open Questions