# Ether 物业管理系统 - 系统需求规格说明书 **文档版本**: v1.0 **创建日期**: 2026-05-18 **数据来源**: FEATURE_LIST.md / REVERSE-AUTH.md / REVERSE-MDM.md / REVERSE-ASSET.md / REVERSE-OPS.md / REVERSE-FINANCE.md / 00-项目总览.md **维护原则**: 每个需求项标注唯一ID与实现状态,变更时同步更新 --- ## 一、系统概述 ### 1.1 系统定位与目标 Ether 物业管理平台是一个面向住宅物业和商业物业的全场景智慧管理解决方案,旨在通过数字化手段实现物业运营全流程闭环管理。 **核心目标**: - 统一物业管理数据基座,消除信息孤岛 - 实现设备全生命周期管理,从采购安装到报废退役 - 建立运维工单闭环,覆盖报修、派单、执行、验收全流程 - 构建预防性维保体系,降低设备故障率 - 实现财务收费自动化,支持多种计费方式与支付渠道 - 提供多端协同能力(管理后台、员工APP、业主小程序、商办小程序) **系统组成**: | 应用 | 目录 | 端口 | 说明 | |------|------|------|------| | 后端服务 | ether-pms | 8080 | Spring Boot 单体应用 | | Web 管理后台 | ether-admin | 5175 | Vue3 + TypeScript + Ant Design Vue | | 员工 APP | ether-app-employee | 5174 | 移动端应用 | | 业主小程序 | ether-app-owner | 5176 | 微信/支付宝小程序 | | 商办小程序 | ether-app-commercial | 5177 | 微信/支付宝小程序 | **后端模块划分**: | 模块 | 职责 | |------|------| | module-auth | 认证授权(用户/角色/权限/部门/审计日志) | | module-mdm | 主数据管理(项目/空间节点/巡检标准/备件/能耗) | | module-asset | 资产设备管理(设备台账/扩展表/健康评分/故障历史/归属主体) | | module-wo | 运维工单(工单/维保计划/维保任务/巡检模板) | | module-finance | 财务管理(待建设) | | module-common | 公共组件与工具 | ### 1.2 用户角色定义 | 角色 | 说明 | 用户类型 | 典型操作 | |------|------|----------|----------| | 系统管理员 | 平台运维人员 | ENTERPRISE | 用户管理、角色配置、系统设置 | | 项目经理 | 物业项目负责人 | ENTERPRISE | 项目管理、成员分配、工单审批 | | 维保人员 | 设备维修保养人员 | PROJECT_STAFF | 接单、执行维保、填写报告 | | 巡检人员 | 设备巡检执行人员 | PROJECT_STAFF | 执行巡检、签到、异常上报 | | 业主 | 房屋产权人 | RESIDENT | 报修、缴费、查看公告 | | 租户 | 房屋承租人 | RESIDENT | 报修、缴费 | ### 1.3 系统边界与约束 **系统边界**: - 本系统管理物业项目从入驻到退场的全周期运营 - 涵盖设备资产从采购安装到报废退役的全生命周期 - 不包含房地产开发阶段的销售管理 - 不包含物业管理公司内部的人力资源管理(仅管理项目人员配置) **技术约束**: - 后端:Spring Boot 3.x 单体架构,PostgreSQL 数据库 - 前端:Vue3 + TypeScript + Ant Design Vue - 认证:JWT Token(HMAC-SHA256),BCrypt 密码加密 - 数据隔离:基于项目维度的数据隔离(X-Project-ID Header) - 移动端:uni-app 跨端框架 **业务约束**: - 所有业务数据以项目为基本归属维度 - 用户可参与多个项目,需切换项目上下文 - 角色权限支持项目级隔离(系统级/项目级/部门级) ### 1.4 术语定义 | 术语 | 定义 | |------|------| | MDM | Master Data Management,主数据管理 | | RBAC | Role-Based Access Control,基于角色的访问控制 | | MTBF | Mean Time Between Failures,平均故障间隔时间 | | MTTR | Mean Time To Repair,平均修复时间 | | JWT | JSON Web Token,用于身份认证的令牌 | | SpaceNode | 空间节点,统一空间体系中的树形节点 | | WorkOrder | 工单,运维服务的业务单据 | | MaintenanceTask | 维保任务,设备维保的执行单元 | | OwnershipEntity | 归属主体,设备的所有权/管理权归属方 | | DataScope | 数据范围,控制用户可访问的数据边界 | --- ## 二、业务域需求 ### 2.1 身份与权限域 #### 2.1.1 用户管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-001 | 用户创建 | 支持创建用户,用户名3-50位字母数字下划线(正则`^[a-zA-Z0-9_]{3,50}$`),密码BCrypt加密存储,手机号格式校验(正则`^1[3-9]\d{9}$`),邮箱格式校验,用户类型必填(ENTERPRISE/PROJECT_STAFF/RESIDENT/CUSTOMER),默认状态ACTIVE | 高 | 已实现 | module-auth: UserController | | REQ-AUTH-002 | 用户查询 | 支持分页查询用户列表,可按用户名/姓名/手机号/状态/用户类型筛选 | 高 | 已实现 | module-auth: UserController | | REQ-AUTH-003 | 用户更新 | 支持更新用户基本信息(真实姓名/手机号/邮箱/头像/状态/部门),状态枚举:ACTIVE/LOCKED/DISABLED | 高 | 已实现 | module-auth: UserController | | REQ-AUTH-004 | 用户删除 | 支持删除用户,删除时记录审计日志 | 中 | 已实现 | module-auth: UserController | | REQ-AUTH-005 | 密码修改 | 需验证原密码,新密码需通过强度校验(8-20位,大小写+数字+特殊字符),弱密码检测(黑名单:password/123456/admin/qwerty/letmein/welcome/monkey/dragon),旧密码兼容检测(非BCrypt格式强制重置) | 高 | 已实现 | module-auth: UserController | | REQ-AUTH-006 | 多类型用户扩展 | 企业员工(EnterpriseUser)含员工工号/部门/职位/入职日期/员工类别;项目员工(ProjectStaff)含所属项目/员工类型/班次/班组长/在岗状态;住户(Resident)含身份证/住户类型/认证状态 | 高 | 已实现 | module-auth: EnterpriseUser/ProjectStaff/Resident | | REQ-AUTH-007 | 用户角色分配 | 支持为用户分配多个角色(覆盖模式),通过auth_user_role中间表关联 | 高 | 已实现 | module-auth: UserController.assignRoles | | REQ-AUTH-008 | 用户项目关联 | 支持查看用户参与的项目列表、添加用户到项目、从项目移除用户,关联信息含项目角色(leader/member/viewer)和加入时间 | 高 | 已实现 | module-auth: UserController | #### 2.1.2 角色与权限 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-010 | 角色管理 | 支持创建/查询/更新/删除角色,角色代码2-50位字母数字下划线(唯一),角色类型三级:SYSTEM(系统级)/PROJECT(项目级)/DEPARTMENT(部门级),角色状态:ENABLED/DISABLED | 高 | 已实现 | module-auth: RoleController | | REQ-AUTH-011 | 权限管理 | 支持创建/查询/更新/删除权限,权限代码格式`module:resource:action`(仅字母数字冒号下划线),权限类型:MENU/BUTTON/API,支持资源路径和HTTP方法(API类型),支持父权限代码(parentCode)构建权限树 | 高 | 已实现 | module-auth: PermissionController | | REQ-AUTH-012 | 角色权限分配 | 支持为角色分配多个权限(覆盖模式),通过auth_role_permission中间表关联,支持查询角色权限列表 | 高 | 已实现 | module-auth: RoleController.assignPermissions | | REQ-AUTH-013 | 四级数据范围 | 角色数据范围枚举:ALL(全部数据,不过滤)/PROJECT(本项目数据,过滤project_id)/DEPARTMENT(本部门数据,过滤project_id+dept_id)/SELF(仅本人数据,过滤assigned_to/creator) | 高 | 已实现 | module-auth: DataScopeService | | REQ-AUTH-014 | 双层角色分配 | 用户直接角色(auth_user_role表)+ 项目员工角色(ProjectStaffRole表),登录时收集全部角色 = 用户直接角色 U 项目员工角色 | 高 | 已实现 | module-auth: AuthService | | REQ-AUTH-015 | 项目级角色查询 | 支持按项目ID查询该项目下的角色列表 | 中 | 已实现 | module-auth: RoleController | | REQ-AUTH-016 | 角色关联用户查询 | 支持查询拥有指定角色的用户列表 | 中 | 已实现 | module-auth: RoleController | | REQ-AUTH-017 | 权限树端点 | 提供权限树结构查询接口(GET /permissions/tree) | 中 | 未实现 | - | | REQ-AUTH-018 | 权限校验端点 | 提供权限校验接口(POST /check),验证用户是否拥有指定权限 | 中 | 未实现 | - | | REQ-AUTH-019 | 用户菜单端点 | 提供用户菜单查询接口(GET /users/{id}/menus),返回用户可见菜单树 | 中 | 未实现 | - | | REQ-AUTH-020 | 用户权限查询端点 | 提供用户权限查询接口(GET /users/{id}/permissions),返回用户全部权限列表 | 中 | 未实现 | - | | REQ-AUTH-021 | 角色业务属性 | 角色扩展字段:businessType(业务类型)/terminalType(终端类型)/isFrontline(是否一线岗位) | 低 | 未实现 | - | | REQ-AUTH-022 | 权限菜单路由属性 | 权限扩展字段:path(路由路径)/component(组件路径)/icon(图标)/level(层级) | 低 | 未实现 | - | #### 2.1.3 组织架构 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-030 | 部门管理 | 支持创建/查询/更新/删除部门,部门名称1-100位,支持树形结构(parentId自引用),部门类型5种:ADMIN(行政管理)/ENGINEERING(工程部)/SECURITY(安保部)/CS(客服部)/CLEANING(保洁部),部门状态:ACTIVE/DISABLED | 高 | 已实现 | module-auth: DeptController | | REQ-AUTH-031 | 部门树查询 | 后端返回扁平列表,Controller层递归构建树形结构(DeptVO含children字段) | 高 | 已实现 | module-auth: DeptController.getDeptTree | | REQ-AUTH-032 | 部门成员查询 | 支持查询指定部门下的成员列表 | 中 | 已实现 | module-auth: DeptController.getDeptMembers | | REQ-AUTH-033 | 按类型查询部门 | 支持按部门类型(deptType)筛选部门列表 | 中 | 已实现 | module-auth: DeptController.getDeptsByType | | REQ-AUTH-034 | 部门删除约束 | 删除部门前需先删除子部门,否则拒绝操作 | 高 | 已实现 | module-auth: DeptService | #### 2.1.4 项目成员管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-040 | 项目成员列表 | 支持分页查询指定项目的成员列表 | 高 | 已实现 | module-auth: ProjectMemberController | | REQ-AUTH-041 | 可用成员查询 | 获取可添加到项目的企业员工列表,支持search参数模糊搜索(用户名/姓名) | 高 | 已实现 | module-auth: ProjectMemberController | | REQ-AUTH-042 | 添加项目成员 | 创建/更新ProjectStaff记录(设定员工类型、分配状态),覆盖模式更新角色(先删后加),员工类型6种:SECURITY/CLEANING/GARDEN/MAINTENANCE/CUSTOMER_SERVICE/GENERAL | 高 | 已实现 | module-auth: ProjectMemberController | | REQ-AUTH-043 | 移除项目成员 | 删除ProjectStaff记录(级联删除ProjectStaffRole角色关联) | 高 | 已实现 | module-auth: ProjectMemberController | | REQ-AUTH-044 | 项目员工班次 | 项目员工班次类型3种:DAY(白班)/NIGHT(夜班)/ROTATION(轮班),在岗状态3种:ASSIGNED(在岗)/ON_LEAVE(休假)/TRANSFERRED(已调离) | 中 | 已实现 | module-auth: ProjectStaff | | REQ-AUTH-045 | 项目员工角色 | 项目员工在项目中的角色分配(ProjectStaffRole),支持一个员工多个项目角色 | 中 | 已实现 | module-auth: ProjectStaffRole | #### 2.1.5 住户管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-050 | 住户信息管理 | 住户(Resident)通过共享主键一对一关联User,含身份证号(18位,JSON忽略脱敏)、住户类型3种:OWNER(业主)/FAMILY(家属)/TENANT(租户) | 高 | 已实现 | module-auth: Resident | | REQ-AUTH-051 | 住户认证流程 | 认证状态4种流转:UNVERIFIED(未认证)-> PENDING(待审核)-> VERIFIED(已认证)/REJECTED(已拒绝),记录认证时间和认证人 | 高 | 已实现 | module-auth: Resident | | REQ-AUTH-052 | 住户房屋绑定 | 住户-房屋关联(ResidentSpace),关系类型3种:OWNER/FAMILY/TENANT,绑定状态4种:PENDING(待确认)/ACTIVE(生效中)/EXPIRED(已过期)/CANCELLED(已取消),支持生效日期和失效日期(NULL=永久) | 高 | 已实现 | module-auth: ResidentSpace | | REQ-AUTH-053 | 房屋空间管理 | 房屋空间(Space)含楼栋/单元/房号/房屋类型(RESIDENTIAL/COMMERCIAL)/楼层/建筑面积/状态,归属项目 | 中 | 已实现 | module-auth: Space | #### 2.1.6 认证与授权 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-060 | 用户登录 | POST /api/auth/login,请求体{username, password},流程:检查登录锁定 -> 查询用户(含角色) -> 验证密码(BCrypt) -> 检查用户状态(LOCKED/DISABLED拒绝) -> 收集全部角色 -> 生成JWT Token -> 返回{token, userId, username, realName, roles} | 高 | 已实现 | module-auth: AuthController | | REQ-AUTH-061 | 用户登出 | POST /api/auth/logout,需携带Authorization Header | 高 | 已实现 | module-auth: AuthController | | REQ-AUTH-062 | Token刷新 | POST /api/auth/refresh,需携带有效Token,生成新Token返回 | 高 | 已实现 | module-auth: AuthController | | REQ-AUTH-063 | 获取当前用户 | GET /api/auth/me,需携带Authorization Header,返回当前用户信息 | 高 | 已实现 | module-auth: AuthController | | REQ-AUTH-064 | JWT Token规范 | 算法HMAC-SHA256,Claims含userId(subject)/username/roles列表,过期时间可配置(默认86400000ms=24小时) | 高 | 已实现 | module-auth: JwtTokenProvider | | REQ-AUTH-065 | 登录失败锁定 | 基于Redis实现,Key格式`login:attempt:{username}`,5次失败后锁定10分钟,每次失败递增计数并设置TTL,登录成功清除计数,支持手动解锁 | 高 | 已实现 | module-auth: LoginAttemptService | | REQ-AUTH-066 | 项目上下文传递 | 请求头`X-Project-ID`携带当前项目ID,ProjectContextInterceptor拦截器设置ThreadLocal,业务层通过DataScopeService过滤数据 | 高 | 已实现 | module-auth: ProjectContextInterceptor | #### 2.1.7 审计日志 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-070 | 操作日志记录 | 通过`@OperationLog`注解+AOP切面自动记录操作日志,记录内容:操作用户/操作描述/模块/操作类型/目标类型/目标ID/操作内容/请求参数/操作结果/IP地址/用户代理/请求URL/请求方法/执行耗时/状态/错误信息 | 高 | 已实现 | module-auth: OperationLogAspect | | REQ-AUTH-071 | 异步持久化 | 通过`auditLogExecutor`线程池异步保存审计日志,避免影响业务性能 | 高 | 已实现 | module-auth: AuditLogService | | REQ-AUTH-072 | 审计日志查询 | 支持分页查询,可按module/action/username/日期范围筛选,强制限制查询范围不超过30天(超过自动截断起始时间) | 高 | 已实现 | module-auth: AuditLogController | | REQ-AUTH-073 | 模块与操作类型 | 记录模块8种:USER/ROLE/PERMISSION/PROJECT/AUTH/DEPT/PROJECT_MEMBER/SYSTEM;操作类型11种:CREATE/UPDATE/DELETE/QUERY/VIEW/LOGIN/LOGOUT/EXPORT/IMPORT/ASSIGN/REVOKE | 中 | 已实现 | module-auth: AuditLog | | REQ-AUTH-074 | 日志统计 | 支持获取最近30天日志统计数据,提供模块列表和操作类型列表(用于筛选下拉) | 中 | 已实现 | module-auth: AuditLogController | | REQ-AUTH-075 | 日志归档 | 90天以上日志归档(当前实现为直接删除,TODO: 导出至对象存储) | 低 | 部分实现 | module-auth: AuditLogService | #### 2.1.8 系统配置 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-AUTH-080 | 键值配置管理 | 支持创建/查询/更新系统配置项,配置键(configKey)唯一,配置值最大5000字符,支持单个更新和批量更新 | 高 | 已实现 | module-auth: SysConfigController | | REQ-AUTH-081 | 密码策略配置 | 密码强度规则可配置(前缀`password.*`):最小长度(默认8)/最大长度(默认20)/需大写(默认true)/需小写(默认true)/需数字(默认true)/需特殊字符(默认true) | 高 | 已实现 | module-auth: PasswordStrengthValidator | | REQ-AUTH-082 | 数据访问授权 | 通用数据访问控制(DataAccess),支持按dataType/dataId/accessType/accessId/accessLevel进行细粒度授权,已存在相同记录则更新accessLevel | 中 | 已实现 | module-auth: DataAccessController | --- ### 2.2 空间与项目域 #### 2.2.1 项目管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-MDM-001 | 项目创建 | 支持创建项目,项目编码唯一(正则`^[a-zA-Z0-9_-]+$`,2-50位),项目名称2-100位,项目类型3种:RESIDENTIAL(住宅)/OFFICE(办公)/INDUSTRIAL_PARK(产业园区),支持自动生成项目编码,创建后自动初始化ProjectConfig(默认配置) | 高 | 已实现 | module-mdm: ProjectController | | REQ-MDM-002 | 项目查询 | 支持分页查询项目列表,可按keyword/status筛选,支持排序;支持按ID/编码查询项目详情;支持项目选择器列表(用于下拉选择) | 高 | 已实现 | module-mdm: ProjectController | | REQ-MDM-003 | 项目更新与删除 | 支持更新项目基本信息;删除前必须调用delete-check检查关联数据(存在应收未收费用时无法删除) | 高 | 已实现 | module-mdm: ProjectController | | REQ-MDM-004 | 项目状态流转 | 4种状态:PENDING(待审核)/ACTIVE(正常)/DISABLED(禁用)/ARCHIVED(已归档),流转规则:PENDING->ACTIVE/DISABLED, ACTIVE->DISABLED/ARCHIVED, DISABLED->ACTIVE/ARCHIVED, ARCHIVED为终态不可流转 | 高 | 已实现 | module-mdm: ProjectController.changeStatus | | REQ-MDM-005 | 状态变更历史 | 每次状态变更记录ProjectStatusHistory(fromStatus/toStatus/reason/operatorId/operatorName) | 中 | 已实现 | module-mdm: ProjectStatusHistory | | REQ-MDM-006 | 项目统计 | 支持查询项目统计数据(ProjectStatistics快照):成员数/楼栋数/单元数/房间数/业主数/租户数 | 中 | 已实现 | module-mdm: ProjectController.getStatistics | | REQ-MDM-007 | 项目配置管理 | 项目功能开关10项:预约/访客/投诉(默认开)/缴费/公告(默认开)/问卷/投票/报修(默认开)/资产/自定义配置JSON | 高 | 已实现 | module-mdm: ProjectConfigController | | REQ-MDM-008 | 项目成员管理(MDM侧) | 支持查看项目成员列表(分页)、添加成员(从企业员工中选择,支持批量)、移除成员;成员角色5种:PROJECT_MANAGER/PROJECT_ADMIN/OPERATION_STAFF/FINANCE_STAFF/VIEWER | 高 | 已实现 | module-mdm: ProjectMemberController | | REQ-MDM-009 | 项目删除检查 | 删除前检查关联数据,返回{canDelete, reason, statistics},存在应收未收费用时canDelete=false | 高 | 已实现 | module-mdm: ProjectController | #### 2.2.2 空间节点管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-MDM-010 | 空间节点创建 | 支持创建空间节点,节点名称1-100位,节点大类4种(NodeCategory):BUILDING(建筑空间)/PARKING(停车空间)/FACILITY(设施空间)/AREA(区域空间),节点类型15种(NodeType,含层级序号),支持批量创建 | 高 | 已实现 | module-mdm: SpaceNodeController | | REQ-MDM-011 | 15种节点类型 | BUILDING(楼栋,L1)/UNIT(单元,L2)/FLOOR(楼层,L3)/ROOM(房间,L4)/SHOP(商铺,L2)/GARAGE(车库,L1)/PARKING_AREA(停车区域,L2)/PARKING_SPACE(车位,L3)/EQUIPMENT_ROOM(设备房,L1)/PROPERTY_OFFICE(物业用房,L1)/SECURITY_ROOM(门岗,L1)/PUBLIC_ROOM(公共用房,L1)/PUBLIC_AREA(公共区域,L1)/GREEN_AREA(绿化区域,L1)/ROAD(道路,L1) | 高 | 已实现 | module-mdm: SpaceNode | | REQ-MDM-012 | 树形结构维护 | 支持树形路径维护:treePath(物理路径id.id.id,用于快速查询子孙)、treePathName(名称路径项目/楼栋/单元/房间,用于展示)、level(层级深度,根节点为0),创建/移动节点时自动维护 | 高 | 已实现 | module-mdm: SpaceNodeService | | REQ-MDM-013 | 空间节点查询 | 支持按项目查询节点列表、获取项目空间树、获取项目根节点、按项目+类型查询、获取子节点列表、按ID查询详情 | 高 | 已实现 | module-mdm: SpaceNodeController | | REQ-MDM-014 | 空间节点更新与删除 | 支持更新节点信息;删除前必须调用delete-check检查子节点数量;普通删除(有子节点时拒绝);级联删除(DELETE /{id}/cascade,含子节点);软删除(isDeleted标记) | 高 | 已实现 | module-mdm: SpaceNodeController | | REQ-MDM-015 | 面积信息管理 | 支持记录建筑面积/使用面积/公摊面积/占地面积(BigDecimal(10,2)) | 中 | 已实现 | module-mdm: SpaceNode | | REQ-MDM-016 | 地理信息管理 | 支持记录经度/纬度/海拔/楼层号(正数地上,负数地下) | 中 | 已实现 | module-mdm: SpaceNode | | REQ-MDM-017 | 设备扩展模式 | SpaceNode通过isEquipment字段标记设备节点,设备节点额外使用设备扩展字段(维保信息/巡检周期/特种设备证书/常用备件/能耗标准/安装环境/防护等级等20+字段) | 高 | 已实现 | module-mdm: SpaceNode | | REQ-MDM-018 | 扩展属性JSON | 支持attributes字段(String(2000) JSON格式)存储类型特定属性 | 中 | 已实现 | module-mdm: SpaceNode | | REQ-MDM-019 | 空间编码自动生成 | 自动生成空间编码规则,唯一约束UNIQUE(project_id, code) | 中 | 未实现 | - | | REQ-MDM-020 | 节点移动 | 支持移动节点到新的父节点(PUT /{id}/move),自动维护treePath | 中 | 未实现 | - | | REQ-MDM-021 | 祖先/子孙查询 | 支持查询指定节点的祖先链(GET /{id}/ancestors)和子孙节点(GET /{id}/descendants) | 低 | 未实现 | - | | REQ-MDM-022 | 空间统计分析 | 支持空间统计接口:按类型统计/按状态统计/空间总览 | 低 | 未实现 | - | | REQ-MDM-023 | PostGIS空间查询 | 支持PostGIS空间查询(范围搜索/距离计算),GEOMETRY(Point)/GEOMETRY(Polygon)字段,GIST空间索引 | 低 | 未实现 | - | | REQ-MDM-024 | 地图服务 | 高德地图集成,支持标注/绘制/路径,MapEditor组件,地图标记/边界查询API | 低 | 未实现 | - | | REQ-MDM-025 | 空间节点导入导出 | 支持空间节点批量导入和导出,导入模板下载 | 中 | 未实现 | - | #### 2.2.3 巡检标准项 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-MDM-030 | 巡检标准项CRUD | 支持创建/查询/更新/删除巡检标准项,按设备类型(equipmentType)和系统类型(systemType)分类,每项含检查项名称/检查方法/标准值/是否必检(默认true)/排序号/状态(ACTIVE/INACTIVE) | 高 | 已实现 | module-mdm: InspectionItemController | | REQ-MDM-031 | 标准项查询筛选 | 支持按activeOnly=true仅查询启用项;equipmentType+systemType双条件过滤;equipmentType单条件过滤;systemType过滤 | 中 | 已实现 | module-mdm: InspectionItemService | | REQ-MDM-032 | 巡检模板管理 | 支持创建/查询/更新/复制巡检模板,模板按项目+设备类型组织,含检查项列表(JSON格式存储),支持版本管理(version字段),模板与标准项通过equipmentType逻辑关联 | 高 | 已实现 | module-mdm: InspectionTemplateController | | REQ-MDM-033 | 巡检记录管理 | 支持创建/查询/更新/删除/完成巡检记录,记录关联设备(equipmentId)和计划(planId),检查结果状态3种:NORMAL/WARNING/ABNORMAL,支持签到信息(时间/位置/照片),检查项结果和异常问题以JSONB存储 | 高 | 已实现 | module-mdm: InspectionRecordController | | REQ-MDM-034 | 巡检记录查询 | 支持按设备/计划/巡检人/状态/日期范围筛选,支持按设备+日期范围组合查询 | 中 | 已实现 | module-mdm: InspectionRecordService | --- ### 2.3 设备与资产域 #### 2.3.1 设备台账 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-ASSET-001 | 设备创建 | 支持创建设备,设备编码全局唯一(equipmentCode),设备名称必填,设备类型10种:ELEVATOR/HVAC/FIRE_PROTECTION/PLUMBING/ELECTRICAL/ENERGY_METER/SECURITY/LANDSCAPE/KITCHEN/OTHER,归属类型4种(默认PROJECT):PROJECT(项目自有)/COMPANY(公司统筹)/OWNER(业主自置)/RENTAL(租赁设备),设备状态4种(默认ACTIVE):ACTIVE(在用)/INACTIVE(停用)/MAINTENANCE(维保中)/SCRAPPED(已报废) | 高 | 已实现 | module-asset: EquipmentController | | REQ-ASSET-002 | 设备查询 | 支持按项目查询/按空间查询/按类型查询/按归属查询设备列表,支持按ID查询设备详情 | 高 | 已实现 | module-asset: EquipmentController | | REQ-ASSET-003 | 设备更新与删除 | 支持更新设备信息;支持单个删除和批量删除(POST /batch-delete);逻辑删除(isDeleted标记) | 高 | 已实现 | module-asset: EquipmentController | | REQ-ASSET-004 | 设备与空间关联 | 设备通过spaceNodeId关联空间节点树,支持按空间节点查询设备列表 | 高 | 已实现 | module-asset: Equipment.spaceNodeId | | REQ-ASSET-005 | 系统类型分类 | 设备系统类型9种(商业地产8大系统+其他):HVAC(暖通空调)/FIRE(消防)/ELEVATOR(电梯)/ELECTRICAL(电气)/PLUMBING(给排水)/BAS(弱电智能化)/KITCHEN(餐饮厨房)/LANDSCAPE(景观)/OTHER(其他) | 高 | 已实现 | module-asset: Equipment.systemType | | REQ-ASSET-006 | 设备统计 | 支持按类型统计/按归属统计/项目设备总数查询 | 中 | 已实现 | module-asset: EquipmentController | | REQ-ASSET-007 | 设备导入 | 支持Excel批量导入设备(.xlsx/.xls),文件大小最大10MB,行数最大1000行,文件类型校验,返回{successCount, failCount, failDetails} | 高 | 已实现 | module-asset: EquipmentController.importEquipment | | REQ-ASSET-008 | 设备导出 | 支持按项目导出设备列表为Excel文件(.xlsx格式) | 中 | 已实现 | module-asset: EquipmentController.exportEquipment | | REQ-ASSET-009 | 设备照片管理 | 支持设备照片JSONB内嵌存储,照片类型4种:外观/铭牌/安装位置/环境,每张照片含type/url/remark | 中 | 已实现 | module-asset: Equipment.photos | | REQ-ASSET-010 | 设备文档管理 | 支持电子文档JSONB内嵌存储,文档类型4种:manual/certificate/contract/other,每份文档含name/url/size/type/remark | 中 | 已实现 | module-asset: Equipment.documents | | REQ-ASSET-011 | 设备二维码 | 支持设备二维码生成、扫码查看设备详情、扫码快速报修 | 中 | 未实现 | - | | REQ-ASSET-012 | 设备规格字段 | 设备规格型号字段(specifications) | 低 | 未实现 | - | #### 2.3.2 设备扩展信息 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-ASSET-020 | 电梯扩展表 | EquipmentElevator(asset_equipment_elevator),通过equipment_id UNIQUE一对一关联主表,含:电梯类型/型号/载重(kg)/速度(m/s)/楼层数/井道尺寸/底坑深度/顶层高度/注册登记号/检验证书/下次检验日期/能耗/维保等级/应急救援预案 | 高 | 已实现 | module-asset: EquipmentElevatorService | | REQ-ASSET-021 | 暖通扩展表 | EquipmentHvac(asset_equipment_hvac),含:暖通类型/制冷量/制热量/风量/制冷剂类型/充注量/能效比(EER)/性能系数(COP)/安装日期/保修到期/滤网更换周期/上次更换日期/风管类型/风管尺寸 | 高 | 已实现 | module-asset: EquipmentHvacService | | REQ-ASSET-022 | 消防扩展表 | EquipmentFire(asset_equipment_fire),含:消防设备类型/安装面积/安装高度/探测范围/系统类型/分区编号/回路编号/是否启用联动/联动动作/巡检周期/上次/下次巡检日期/巡检结果/特殊要求 | 高 | 已实现 | module-asset: EquipmentFireService | | REQ-ASSET-023 | 能源计量扩展表 | EquipmentEnergy(asset_equipment_energy),含:表计类型/能源类型/表计型号/规格/表常数/精度等级/抄表方式/上次读数/当前读数/单价/计费方式/通讯方式/通讯地址/检定周期/下次检定日期/检定证书 | 高 | 已实现 | module-asset: EquipmentEnergyService | | REQ-ASSET-024 | 扩展表读写模式 | 扩展表通过主设备ID路径读写(GET/PUT /{id}/elevator),采用saveOrUpdate模式:存在则更新,不存在则新建 | 高 | 已实现 | module-asset: Equipment*Service | | REQ-ASSET-025 | 无扩展表设备类型 | PLUMBING/ELECTRICAL/SECURITY/LANDSCAPE/KITCHEN/OTHER无扩展表,使用主表通用字段+attributes JSON扩展 | 中 | 已实现 | module-asset: Equipment.attributes | #### 2.3.3 设备健康评分 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-ASSET-030 | 健康评分算法 | 健康度 = 基础分(100) - 故障扣分 - 维保扣分 - 年龄扣分,最低0分。故障扣分=故障次数(近30天)x5(无上限);维保扣分=(1-维保完成率)x20(上限20分);年龄扣分=设备年龄(年)x2(上限10分) | 高 | 已实现[Beta] | module-asset: EquipmentHealthServiceImpl | | REQ-ASSET-031 | 5级健康等级 | EXCELLENT(优秀,[90,100))/GOOD(良好,[75,90))/FAIR(一般,[60,75))/POOR(较差,[40,60))/CRITICAL(危急,[0,40)) | 高 | 已实现[Beta] | module-asset: HealthLevel | | REQ-ASSET-032 | MTBF计算 | 平均故障间隔时间 = 运行时间(小时) / 故障次数,计算周期默认30天可自定义,仅1次故障时使用默认期间天数x24小时,无故障返回0 | 中 | 已实现[Beta] | module-asset: EquipmentHealthServiceImpl | | REQ-ASSET-033 | MTTR计算 | 平均修复时间 = 总修复时间(小时) / 修复次数,仅统计已完成修复的故障记录,无修复记录返回0 | 中 | 已实现[Beta] | module-asset: EquipmentHealthServiceImpl | | REQ-ASSET-034 | 健康评分查询 | 支持获取设备最新健康度、健康度历史、手动触发计算 | 中 | 已实现[Beta] | module-asset: EquipmentHealthController | | REQ-ASSET-035 | 维保完成率计算 | 维保完成率用于健康评分扣分,当前TODO标记暂返回1.0 | 中 | 部分实现 | module-asset: EquipmentHealthServiceImpl | #### 2.3.4 故障历史 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-ASSET-040 | 故障记录 | 支持记录设备故障,故障类型4种:SUDDEN(突发)/SCHEDULED(计划停机)/WARNING(预警)/OTHER(其他),故障等级4级:LOW(轻微)/MEDIUM(一般)/HIGH(严重)/CRITICAL(危急),修复结果4种:FIXED(已修复)/PARTIAL_FIXED(部分修复)/REPLACED(更换新设备)/PENDING(待处理) | 高 | 已实现 | module-asset: EquipmentHealthController | | REQ-ASSET-041 | 故障自动计算 | 记录故障时自动计算:修复时长=(repairEndTime-repairStartTime)/60分钟转小时;停机时长=(repairStartTime-failureTime)/60分钟转小时 | 中 | 已实现 | module-asset: EquipmentFailureHistory | | REQ-ASSET-042 | 故障历史查询 | 支持按设备ID查询故障历史列表 | 中 | 已实现 | module-asset: EquipmentHealthController | | REQ-ASSET-043 | 故障自动工单 | 故障记录时自动创建维修工单(事件驱动) | 中 | 未实现 | - | #### 2.3.5 归属主体管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-ASSET-050 | 归属主体CRUD | 支持创建/查询/更新/删除归属主体,主体类型3种:COMPANY(公司)/OWNER(业主)/RENTAL_COMPANY(租赁公司),含主体名称/编码/联系人/联系电话/联系地址/营业执照/法人代表/合同编号/合同起止日期/租赁费用 | 高 | 已实现 | module-asset: OwnershipEntityController | | REQ-ASSET-051 | 归属主体查询 | 支持按类型查询归属主体、获取全部未删除主体 | 中 | 已实现 | module-asset: OwnershipEntityController | | REQ-ASSET-052 | 归属主体逻辑删除 | 删除操作为逻辑删除(isDeleted标记),查询时过滤已删除记录 | 高 | 已实现 | module-asset: OwnershipEntityController | | REQ-ASSET-053 | 设备归属冗余 | Equipment表同时存储owningEntityId和owningEntityName,避免频繁关联查询 | 中 | 已实现 | module-asset: Equipment | #### 2.3.6 特种设备管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-ASSET-060 | 特种设备标记 | 设备主表含specialEquipmentType(特种设备类型)和specialEquipmentCert(特种设备证书)字段 | 中 | 已实现 | module-asset: Equipment | | REQ-ASSET-061 | 年检周期管理 | 设备含inspectionCycle(年检周期/月)和nextInspectionDate(下次年检日期)字段 | 中 | 已实现 | module-asset: Equipment | | REQ-ASSET-062 | 特种设备列表查询 | 支持查询项目下的特种设备列表 | 中 | 已实现 | module-mdm: SpaceNodeController.getSpecialEquipmentList | | REQ-ASSET-063 | 即将年检预警 | 支持查询即将年检设备(默认90天内),按项目筛选 | 中 | 已实现 | module-mdm: SpaceNodeController.getExpiringInspectionEquipment | | REQ-ASSET-064 | 维保到期定时提醒 | 后端定时任务检查维保合同到期/年检到期,自动发送提醒通知 | 中 | 未实现 | - | --- ### 2.4 运营与服务域 #### 2.4.1 工单管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-OPS-001 | 工单创建 | 支持创建工单,工单编号自动生成(格式WO-YYYYMMDD-XXXX,4位序号按日递增),工单来源6种:OWNER(业主报修)/MAINTENANCE(维保计划)/INSPECTION(巡检触发)/FAULT(故障触发)/REGULATORY(法规巡检)/MANUAL(手动创建),工单类型6种:REPAIR/INSPECTION/SECURITY/CLEANING/PROPERTY/CONSULTATION | 高 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-002 | 工单查询 | 支持查询工单列表,可按projectId/equipmentId/source/type/status/assignedTo筛选(参数互斥,按优先级依次判断),支持按ID查询工单详情 | 高 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-003 | 工单状态流转 | 6种状态:PENDING(待分配)->ASSIGNED(已派单)->IN_PROGRESS(执行中)->COMPLETED(已完成)->VERIFIED(已验收),CANCELLED(已取消,PENDING/ASSIGNED/IN_PROGRESS可转入),COMPLETED/VERIFIED不可取消 | 高 | 已实现 | module-wo: WorkOrderService | | REQ-OPS-004 | 工单派单 | POST /{id}/assign,指定负责人(assignedTo)/服务商(assignedVendor)/派单日期(assignedDate),状态PENDING->ASSIGNED | 高 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-005 | 工单执行 | POST /{id}/start,记录实际开始时间(actualStart=now()),状态ASSIGNED->IN_PROGRESS | 高 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-006 | 工单完成 | POST /{id}/complete,记录故障原因/解决方案/处理结果/费用(人工费+备件费=总费用),自动计算实际工时(actualHours=Duration.between(actualStart,actualEnd)),状态IN_PROGRESS->COMPLETED | 高 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-007 | 工单验收 | POST /{id}/verify,记录验收人(verifiedBy)/评分(rating,1-5星)/备注(remark),状态COMPLETED->VERIFIED | 高 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-008 | 工单取消 | POST /{id}/cancel,PENDING/ASSIGNED/IN_PROGRESS可取消,COMPLETED/VERIFIED不可取消(抛出异常"无法取消已完成的工单") | 中 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-009 | 工单优先级 | 4种优先级:LOW/MEDIUM(默认)/HIGH/URGENT | 高 | 已实现 | module-wo: WorkOrder | | REQ-OPS-010 | 工单明细管理 | 支持查询/批量添加工单明细(WorkOrderItem),明细类型3种:PART(备件)/INSPECTION_ITEM(巡检项)/CHECKPOINT(检查点),含名称/数量/单位/单价/总价/是否正常/观察记录/建议 | 中 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-011 | 工单统计 | 支持工单多维度统计:总数/待分配/已派单/执行中/已完成/已验收/已取消/今日完成/今日创建/逾期/平均完成工时/平均评分/按来源分布/按类型分布/按优先级分布 | 中 | 已实现 | module-wo: WorkOrderController | | REQ-OPS-012 | 工单挂起与恢复 | 支持工单挂起(SUSPENDED状态)和恢复操作,任意执行中状态可挂起 | 中 | 未实现 | - | | REQ-OPS-013 | 工单退回 | 支持已派单工单退回重分配(RETURNED状态),ASSIGNED状态可退回 | 中 | 未实现 | - | | REQ-OPS-014 | 工单流转记录 | 记录工单每次状态变更的流转历史(WorkOrderFlow实体) | 中 | 未实现 | - | | REQ-OPS-015 | 工单报修人信息 | 工单含报修人信息字段:reporterId/reporterName/reporterPhone/reporterAddress | 中 | 未实现 | - | | REQ-OPS-016 | 工单分页查询 | 工单列表接口支持分页返回(当前为全量List返回) | 中 | 未实现 | - | #### 2.4.2 维保计划 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-OPS-020 | 维保计划创建 | 支持创建维保计划,计划编码自动生成(唯一),计划名称必填,关联设备(equipmentId)必填,计划类型2种:PREVENTIVE(预防性)/CORRECTIVE(纠正性),周期天数(cycleDays),预估工时,指定服务商 | 高 | 已实现 | module-wo: MaintenancePlan | | REQ-OPS-021 | 维保计划状态管理 | 计划状态3种:ACTIVE(启用)/INACTIVE(停用)/SUSPENDED(暂停),删除行为为逻辑删除(将状态设为INACTIVE) | 高 | 已实现 | module-wo: MaintenancePlan | | REQ-OPS-022 | 维保计划周期调度 | 通过cycleDays计算下次执行日期(nextDate),上次执行日期(lastDate) | 中 | 已实现 | module-wo: MaintenancePlan | | REQ-OPS-023 | 维保计划自动调度 | 定时任务根据维保计划周期自动生成维保任务 | 中 | 未实现 | - | #### 2.4.3 维保任务 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-OPS-030 | 维保任务创建 | 支持创建维保任务,任务编号自动生成(格式EQ-YYYYMMDD-XXXX),关联设备(equipmentId)必填,任务类型3种:PREVENTIVE(预防性)/CORRECTIVE(纠正性)/EMERGENCY(紧急维修) | 高 | 已实现 | module-wo: MaintenanceTaskController | | REQ-OPS-031 | 维保任务状态流转 | 6种状态:PENDING->ASSIGNED->IN_PROGRESS->COMPLETED->VERIFIED,CANCELLED(PENDING/ASSIGNED/IN_PROGRESS可转入),与工单状态机一致 | 高 | 已实现 | module-wo: MaintenanceTaskService | | REQ-OPS-032 | 4种触发方式 | 触发类型4种:PLAN(计划触发)/INSPECTION(巡检触发)/FAULT(故障触发)/MANUAL(手动创建) | 高 | 已实现 | module-wo: MaintenanceTask | | REQ-OPS-033 | 自动优先级判定 | 紧急维修类型->URGENT;故障触发+紧急关键词(困人/漏水/停电/火灾/爆炸/漏电/冒烟/故障停机)->URGENT;故障触发无紧急关键词->HIGH;巡检触发->HIGH;计划触发->MEDIUM;其他->MEDIUM | 高 | 已实现 | module-wo: MaintenanceTaskServiceImpl.autoDeterminePriority | | REQ-OPS-034 | 双完成接口 | 简版完成(POST /{id}/complete):处理结果/实际工时/总费用/完成人;详版完成(POST /{id}/complete-details):含故障原因/解决方案/使用备件(JSONB)/人工费/备件费 | 中 | 已实现 | module-wo: MaintenanceTaskController | | REQ-OPS-035 | 维保任务验收 | POST /{id}/verify,记录验收人/评分(1-5)/备注;独立评分接口POST /{id}/rate | 中 | 已实现 | module-wo: MaintenanceTaskController | | REQ-OPS-036 | 完成后设备联动 | 维保任务完成时自动更新设备信息:维保商=任务服务商;预防性维护更新下次巡检日期(now()+inspectionCycle,默认30天);异常容错(更新设备失败不影响工单完成) | 高 | 已实现 | module-wo: MaintenanceTaskServiceImpl | | REQ-OPS-037 | 维保任务统计 | 支持多维度统计:总数/待分配/已派单/执行中/已完成/已验收/已取消/今日完成/今日创建/逾期/平均完成工时/平均评分/按优先级分布/按触发类型分布/人工费总计/备件费总计/费用总计 | 中 | 已实现 | module-wo: MaintenanceTaskController | | REQ-OPS-038 | 使用备件记录 | 维保任务完成时可记录使用备件列表(partsUsed JSONB),含备件ID/名称/数量/单价/总价 | 中 | 已实现 | module-wo: MaintenanceTask | #### 2.4.4 巡检管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-OPS-040 | 巡检模板管理 | 支持创建/查询/更新/复制巡检模板,模板编码自动生成(唯一),模板状态2种:ACTIVE/INACTIVE,模板含检查项列表(@Transient非持久化,通过templateId关联InspectionItem) | 高 | 已实现 | module-wo: InspectionTemplate | | REQ-OPS-041 | 巡检项管理 | 检查项通过templateId关联模板,含检查项名称/描述/检查方法/检查标准/是否必检(默认true)/是否需要正常判定(默认true)/排序号 | 高 | 已实现 | module-wo: InspectionItem | | REQ-OPS-042 | 巡检签到 | 巡检记录支持签到信息:签到时间(checkInTime)/签到位置(checkInLocation)/签到照片(checkInPhoto) | 中 | 已实现 | module-mdm: InspectionRecord | | REQ-OPS-043 | 巡检异常上报 | 巡检记录支持异常问题列表(problems JSONB),含问题描述/照片/严重程度(LOW/MEDIUM/HIGH) | 中 | 已实现 | module-mdm: InspectionRecord | | REQ-OPS-044 | 巡检扫码签到 | 支持扫描设备二维码进行巡检签到,记录位置信息 | 中 | 未实现 | - | #### 2.4.5 备件管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-OPS-050 | 备件分类管理 | 支持创建/查询备件分类,分类编码唯一,支持树形分类(parentId自关联),含分类名称/描述/排序号 | 高 | 已实现 | module-mdm: SparePartController | | REQ-OPS-051 | 备件台账CRUD | 支持创建/查询/更新/删除备件,备件编码唯一,含名称/分类/规格型号/计量单位/安全库存(默认0)/当前库存(默认0)/单价/供应商/供应商联系方式/存放位置/状态(ACTIVE/INACTIVE) | 高 | 已实现 | module-mdm: SparePartController | | REQ-OPS-052 | 入库操作 | POST /in-stock,增加库存,记录备件ID/数量/操作人/备注,更新currentStock,记录SparePartRecord(类型IN,含操作后余额balance) | 高 | 已实现 | module-mdm: SparePartController | | REQ-OPS-053 | 出库操作 | POST /out-stock,减少库存,记录备件ID/数量/关联工单ID(可选)/操作人/备注,校验库存不能为负,更新currentStock,记录SparePartRecord(类型OUT) | 高 | 已实现 | module-mdm: SparePartController | | REQ-OPS-054 | 低库存预警 | 当currentStock < safeStock时触发预警,GET /low-stock返回低于安全库存的备件列表 | 中 | 已实现 | module-mdm: SparePartController | | REQ-OPS-055 | 出入库记录查询 | 支持查询指定备件的所有出入库记录流水 | 中 | 已实现 | module-mdm: SparePartController | | REQ-OPS-056 | 盘点与调整 | 支持盘点(CHECK)和调整(ADJUST)操作,记录SparePartRecord | 中 | 已实现 | module-mdm: SparePartRecord(RecordType) | #### 2.4.6 能耗管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-OPS-060 | 计量点管理 | 支持创建/查询/更新/删除计量点,计量点编码自动生成(EM+yyyyMMddHHmmss,冲突时追加后缀),能源类型6种:LIGHTING(照明插座用电)/HVAC(空调用电)/POWER(动力用电)/SPECIAL(特殊用电)/WATER(给排水)/GAS(燃气),关联空间节点,含额定容量/单价(4位小数精度)/状态(ACTIVE/INACTIVE) | 高 | 已实现 | module-mdm: EnergyController | | REQ-OPS-061 | 能耗抄表录入 | POST /consumption,录入能耗数据{meterId, currentReading, recordedBy},校验:仪表状态必须ACTIVE(错误码6102)/当前读数不能小于上次读数(错误码6103)/仪表必须存在(错误码6101),自动获取上次读数(首次为0),自动计算消耗量(current-previous),自动计算费用(consumption x unitPrice,单价为空时为0),默认记录方式MANUAL | 高 | 已实现 | module-mdm: EnergyConsumptionService | | REQ-OPS-062 | 能耗记录查询 | 支持按计量点查询能耗记录,可按日期范围(startDate/endDate)筛选 | 中 | 已实现 | module-mdm: EnergyController | | REQ-OPS-063 | 按类型统计能耗 | GET /statistics/by-type,按项目+月份统计各能源类型消耗量(注意:当前实现将总消耗全部归入LIGHTING类型,存在已知缺陷) | 中 | 部分实现 | module-mdm: EnergyConsumptionService | | REQ-OPS-064 | 单位面积能耗 | GET /statistics/unit-consumption,计算总能耗/总建筑面积 | 中 | 已实现 | module-mdm: EnergyConsumptionService | | REQ-OPS-065 | IoT自动抄表 | 支持对接IoT平台自动采集能耗数据(RecordMethod.IOT) | 低 | 未实现 | - | | REQ-OPS-066 | 前后端能源类型统一 | 后端LIGHTING/HVAC/POWER/SPECIAL/WATER/GAS与前端ELECTRICITY/WATER/GAS/CENTRAL_HEATING/CENTRAL_COOLING需对齐 | 中 | 未实现 | - | --- ### 2.5 财务与收费域 #### 2.5.1 收费项目管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-FIN-001 | 收费项目实体 | FeeItem实体,含code/name/type/billingMethod/unitPrice/unit/billDay/dueDay/overdueDay/enableLateFee/lateFeeRate/maxLateFee,收费类型8种:PROPERTY/PARKING/WATER/ELECTRICITY/GAS/HEATING/REPAIR_FUND/OTHER,计费方式4种:FIXED/AREA/USAGE/CUSTOM | 高 | 未实现 | - | | REQ-FIN-002 | 收费项目CRUD | 支持创建/查询/更新/禁用收费项目 | 高 | 未实现 | - | #### 2.5.2 收费账单管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-FIN-010 | 账单实体 | FeeBill实体,含billNo/feeItemId/spaceNodeId/ownerId/billPeriod/billDate/dueDate/overdueDate/usageAmount/amount/lateFee/discount/payableAmount/paidAmount/status,账单状态5种:UNPAID/PARTIAL_PAID/PAID/OVERDUE/CANCELLED | 高 | 未实现 | - | | REQ-FIN-011 | 账单自动生成 | 根据收费项目规则,按账期自动生成账单 | 高 | 未实现 | - | | REQ-FIN-012 | 账单状态流转 | UNPAID->PARTIAL_PAID->PAID / OVERDUE->CANCELLED | 高 | 未实现 | - | | REQ-FIN-013 | 批量账单生成 | 一次性为项目所有业主生成账单 | 中 | 未实现 | - | | REQ-FIN-014 | 账单导出 | 导出Excel/PDF格式账单 | 中 | 未实现 | - | #### 2.5.3 支付记录管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-FIN-020 | 支付记录实体 | FeePayment实体,含paymentNo/amount/method/thirdPartyNo/status/failReason/paymentTime,支付方式5种:WECHAT/ALIPAY/CASH/BANK_TRANSFER/CARD,支付状态4种:PENDING/SUCCESS/FAILED/REFUNDED | 高 | 未实现 | - | | REQ-FIN-021 | 线下收款登记 | 支持登记线下收款记录 | 高 | 未实现 | - | | REQ-FIN-022 | 支付记录查询 | 支持查询支付记录列表 | 中 | 未实现 | - | #### 2.5.4 退款管理 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-FIN-030 | 退款实体 | FeeRefund实体,含refundNo/amount/reason/status/approverId/approveTime/thirdPartyRefundNo/refundTime,退款状态4种:PENDING/APPROVED/REJECTED/REFUNDED | 中 | 未实现 | - | | REQ-FIN-031 | 退款流程 | 退款申请->审批->执行 | 中 | 未实现 | - | #### 2.5.5 费用催缴与滞纳金 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-FIN-040 | 费用催缴定时任务 | 到期提醒(3天内)、逾期催缴、周汇总 | 中 | 未实现 | - | | REQ-FIN-041 | 滞纳金自动计算 | 逾期天数 x 日利率,不超过上限 | 中 | 未实现 | - | #### 2.5.6 能耗计费 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-FIN-050 | 能耗数据与账单对接 | 将EnergyConsumption的amount作为按用量计费的账单数据来源,实现能耗抄表->费用计算->账单生成的闭环 | 高 | 未实现 | - | | REQ-FIN-051 | 按面积计费 | 根据房产面积 x 单价计算物业费 | 中 | 未实现 | - | | REQ-FIN-052 | 固定金额计费 | 每月固定金额的收费项目(如停车费) | 中 | 未实现 | - | | REQ-FIN-053 | 支付网关对接 | 微信支付/支付宝SDK集成 | 中 | 未实现 | - | | REQ-FIN-054 | 财务报表 | 收费统计/欠费分析/收入趋势 | 低 | 未实现 | - | --- ### 2.6 前端交互域 #### 2.6.1 登录与权限控制流程 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-UI-001 | 登录页面 | /auth/Login.vue,输入用户名+密码,调用POST /api/auth/login,存储Token到本地,跳转至主页 | 高 | 已实现 | ether-admin: Login.vue | | REQ-UI-002 | 前端权限指令 | v-permission指令,根据用户角色/权限控制元素显示隐藏 | 高 | 已实现 | ether-admin: v-permission | | REQ-UI-003 | 路由权限守卫 | 前端路由守卫,根据用户权限动态渲染菜单和路由 | 高 | 已实现 | ether-admin: router | | REQ-UI-004 | Token管理优化 | 双Token机制(accessToken+refreshToken)、加密存储 | 高 | 未实现 | OPT-SEC-001 | | REQ-UI-005 | XSS防护增强 | xss库过滤、白名单配置 | 高 | 未实现 | OPT-SEC-002 | | REQ-UI-006 | CSRF防护 | CSRF Token、SameSite Cookie | 高 | 未实现 | OPT-SEC-003 | #### 2.6.2 项目切换与数据隔离 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-UI-010 | 项目选择 | 登录后获取用户项目列表GET /api/auth/users/{id}/projects,用户选择项目,后续请求携带X-Project-ID Header | 高 | 已实现 | ether-admin | | REQ-UI-011 | 项目切换 | 支持在已参与的项目间切换,切换后刷新当前页面数据 | 高 | 已实现 | ether-admin | | REQ-UI-012 | 菜单动态渲染 | 根据用户角色和项目配置(ProjectConfig功能开关)动态渲染菜单 | 高 | 已实现 | ether-admin | #### 2.6.3 各模块页面交互规范 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 | |--------|----------|----------|--------|----------|-------------| | REQ-UI-020 | 用户管理页面 | /system/Users.vue + /system/UserDetail.vue,用户列表(分页/搜索/状态筛选)/创建用户/编辑/删除/修改密码/分配角色/查看项目 | 高 | 已实现 | ether-admin | | REQ-UI-021 | 角色管理页面 | /system/Roles.vue,角色列表(分页/搜索)/创建/编辑/删除/分配权限/查看关联用户 | 高 | 已实现 | ether-admin | | REQ-UI-022 | 权限管理页面 | /system/Permissions.vue,权限列表(分页/搜索)/创建/编辑/删除/按类型筛选/查看菜单权限 | 高 | 已实现 | ether-admin | | REQ-UI-023 | 部门管理页面 | /system/Depts.vue,部门树展示/创建/编辑/删除(需先删除子部门)/查看成员/按类型筛选 | 高 | 已实现 | ether-admin | | REQ-UI-024 | 审计日志页面 | /system/Audit.vue,日志列表(分页/模块/操作类型/用户名/日期范围筛选)/查看统计/模块和操作类型下拉 | 中 | 已实现 | ether-admin | | REQ-UI-025 | 系统设置页面 | /system/Settings.vue,查看所有配置项(键值对)/单个或批量更新配置值 | 中 | 已实现 | ether-admin | | REQ-UI-026 | 设备列表页面 | EquipmentList.vue,设备台账主列表含筛选/新增/编辑/删除/导入导出/批量删除 | 高 | 已实现 | ether-admin | | REQ-UI-027 | 设备详情页面 | EquipmentDetail.vue,设备完整信息展示(基本信息/技术参数/维保/财务/照片/文档) | 高 | 已实现 | ether-admin | | REQ-UI-028 | 设备健康页面 | EquipmentHealth.vue,健康度评分/趋势图/MTBF/MTTR/故障历史 | 中 | 已实现 | ether-admin | | REQ-UI-029 | 工单管理页面 | WorkOrder.vue,工单列表/新建/详情/派单/执行/完成/验收/取消 | 高 | 已实现 | ether-admin | | REQ-UI-030 | 维保计划页面 | PlanList.vue,维保计划列表/新建/编辑/停用 | 高 | 已实现 | ether-admin | | REQ-UI-031 | 维保任务页面 | TaskList.vue,维保任务列表/接受/开始/完成/取消 | 高 | 已实现 | ether-admin | | REQ-UI-032 | 能耗管理页面 | MeterList.vue + ConsumptionRecord.vue + EnergyStatistics.vue,计量点管理/能耗录入/能耗统计 | 中 | 已实现 | ether-admin | | REQ-UI-033 | 列表虚拟滚动 | 后端分页、虚拟表格优化长列表性能 | 中 | 未实现 | OPT-PERF-001 | | REQ-UI-034 | 请求优化 | 取消重复请求、请求缓存 | 中 | 未实现 | OPT-PERF-002 | | REQ-UI-035 | WebSocket替代轮询 | 实时通信、断线重连 | 低 | 未实现 | OPT-PERF-003 | | REQ-UI-036 | 响应式设计 | CSS媒体查询、移动端适配 | 低 | 未实现 | OPT-UX-002 | | REQ-UI-037 | 国际化支持 | vue-i18n、中英文切换 | 低 | 未实现 | OPT-UX-005 | --- ## 三、跨域业务流程需求 ### 3.1 业主报修全流程 **流程描述**:业主发起报修到工单验收评价的完整闭环。 | 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 | |------|------|--------|-----------|----------| | 1 | 业主认证身份 | 身份与权限域 | REQ-AUTH-051 住户认证流程 | 已实现 | | 2 | 业主选择项目 | 前端交互域 | REQ-UI-010 项目选择 | 已实现 | | 3 | 业主定位设备 | 空间与项目域 | REQ-MDM-013 空间节点查询 | 已实现 | | 4 | 创建报修工单 | 运营与服务域 | REQ-OPS-001 工单创建(source=OWNER) | 已实现 | | 5 | 工单派单 | 运营与服务域 | REQ-OPS-004 工单派单 | 已实现 | | 6 | 维保人员执行 | 运营与服务域 | REQ-OPS-005 工单执行 -> REQ-OPS-006 工单完成 | 已实现 | | 7 | 工单验收 | 运营与服务域 | REQ-OPS-007 工单验收 | 已实现 | | 8 | 业主评价 | 运营与服务域 | REQ-OPS-007 工单验收(评分) | 已实现 | | - | 业主端小程序 | 前端交互域 | 业主端23项特性(APP-O01~O23) | 未实现 | ### 3.2 设备全生命周期管理 **流程描述**:设备从采购安装到报废退役的全生命周期管理。 | 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 | |------|------|--------|-----------|----------| | 1 | 设备采购登记 | 设备与资产域 | REQ-ASSET-001 设备创建(purchaseDate/purchasePrice) | 已实现 | | 2 | 设备安装就位 | 设备与资产域 | REQ-ASSET-004 设备与空间关联 + REQ-ASSET-020~023 扩展表录入 | 已实现 | | 3 | 设备运行监控 | 设备与资产域 | REQ-ASSET-030~034 健康评分/MTBF/MTTR | 已实现[Beta] | | 4 | 预防性维保 | 运营与服务域 | REQ-OPS-020~022 维保计划 + REQ-OPS-030~036 维保任务 | 已实现 | | 5 | 定期巡检 | 运营与服务域 | REQ-OPS-040~043 巡检模板/签到/异常上报 | 已实现 | | 6 | 故障处理 | 设备与资产域 | REQ-ASSET-040~042 故障记录 | 已实现 | | 7 | 故障触发工单 | 运营与服务域 | REQ-OPS-001 工单创建(source=FAULT) | 已实现 | | 8 | 设备报废 | 设备与资产域 | REQ-ASSET-001 设备状态变更为SCRAPPED | 已实现 | ### 3.3 预防性维保调度流程 **流程描述**:从维保计划制定到维保执行验收的完整调度闭环。 | 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 | |------|------|--------|-----------|----------| | 1 | 制定维保计划 | 运营与服务域 | REQ-OPS-020 维保计划创建(type=PREVENTIVE) | 已实现 | | 2 | 设置周期规则 | 运营与服务域 | REQ-OPS-022 维保计划周期调度(cycleDays/nextDate) | 已实现 | | 3 | 自动生成维保任务 | 运营与服务域 | REQ-OPS-023 维保计划自动调度 | 未实现 | | 4 | 手动创建维保任务 | 运营与服务域 | REQ-OPS-030 维保任务创建(triggerType=PLAN) | 已实现 | | 5 | 分配维保人员 | 运营与服务域 | REQ-OPS-031 维保任务状态流转(ASSIGNED) | 已实现 | | 6 | 执行维保 | 运营与服务域 | REQ-OPS-034 维保任务双完成接口 | 已实现 | | 7 | 维保验收 | 运营与服务域 | REQ-OPS-035 维保任务验收 | 已实现 | | 8 | 更新设备记录 | 设备与资产域 | REQ-OPS-036 完成后设备联动 | 已实现 | ### 3.4 巡检异常处理流程 **流程描述**:巡检发现异常到问题解决的完整处理流程。 | 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 | |------|------|--------|-----------|----------| | 1 | 配置巡检模板 | 运营与服务域 | REQ-OPS-040 巡检模板管理 | 已实现 | | 2 | 执行巡检签到 | 运营与服务域 | REQ-OPS-042 巡检签到 | 已实现 | | 3 | 发现异常上报 | 运营与服务域 | REQ-OPS-043 巡检异常上报 | 已实现 | | 4 | 创建维修工单 | 运营与服务域 | REQ-OPS-001 工单创建(source=INSPECTION) | 已实现 | | 5 | 工单处理 | 运营与服务域 | REQ-OPS-004~007 工单派单/执行/完成/验收 | 已实现 | | 6 | 复检确认 | 运营与服务域 | REQ-MDM-033 巡检记录管理(再次巡检) | 已实现 | ### 3.5 能耗计费流程 **流程描述**:从能耗抄表到费用收取的完整流程。 | 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 | |------|------|--------|-----------|----------| | 1 | 配置计量点 | 运营与服务域 | REQ-OPS-060 计量点管理(含单价) | 已实现 | | 2 | 能耗抄表 | 运营与服务域 | REQ-OPS-061 能耗抄表录入 | 已实现 | | 3 | 费用计算 | 运营与服务域 | REQ-OPS-061 自动计算费用(consumption x unitPrice) | 已实现 | | 4 | 生成账单 | 财务与收费域 | REQ-FIN-050 能耗数据与账单对接 | 未实现 | | 5 | 业主缴费 | 财务与收费域 | REQ-FIN-020~022 支付记录管理 | 未实现 | | 6 | 能耗统计分析 | 运营与服务域 | REQ-OPS-063~064 能耗统计 | 部分实现 | --- ## 四、非功能需求 ### 4.1 安全需求 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | |--------|----------|----------|--------|----------| | REQ-NFR-001 | 密码加密 | 用户密码使用BCrypt算法加密存储,不存储明文 | 高 | 已实现 | | REQ-NFR-002 | JWT认证 | 使用HMAC-SHA256算法生成JWT Token,Token含userId/username/roles,过期时间可配置(默认24小时) | 高 | 已实现 | | REQ-NFR-003 | 登录失败锁定 | 5次登录失败后锁定账户10分钟,基于Redis实现 | 高 | 已实现 | | REQ-NFR-004 | 密码强度校验 | 8-20位,必须包含大小写字母+数字+特殊字符,弱密码黑名单检测 | 高 | 已实现 | | REQ-NFR-005 | 项目数据隔离 | 基于X-Project-ID Header实现项目级数据隔离,DataScopeService四级数据范围过滤 | 高 | 已实现 | | REQ-NFR-006 | 操作审计 | AOP切面自动记录操作日志,异步持久化,30天查询窗口 | 高 | 已实现 | | REQ-NFR-007 | 敏感字段脱敏 | 审计日志中敏感字段自动脱敏(如密码、身份证号) | 中 | 已实现 | | REQ-NFR-008 | XSS防护 | 前端输入过滤、白名单配置 | 高 | 未实现 | | REQ-NFR-009 | CSRF防护 | CSRF Token、SameSite Cookie | 高 | 未实现 | | REQ-NFR-010 | 敏感信息保护 | 移除敏感Header、错误信息脱敏 | 中 | 未实现 | ### 4.2 性能需求 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | |--------|----------|----------|--------|----------| | REQ-NFR-020 | 分页查询 | 所有列表接口支持分页查询,避免全量数据返回 | 高 | 部分实现(工单列表为全量返回) | | REQ-NFR-021 | 异步日志 | 审计日志通过线程池异步保存,不影响业务接口响应时间 | 高 | 已实现 | | REQ-NFR-022 | 数据库索引 | 关键查询字段建立索引(审计日志/空间节点/设备/工单/能耗记录等) | 高 | 已实现 | | REQ-NFR-023 | 列表虚拟滚动 | 前端长列表使用虚拟滚动技术,减少DOM节点 | 中 | 未实现 | | REQ-NFR-024 | 请求去重与缓存 | 前端取消重复请求、请求结果缓存 | 中 | 未实现 | | REQ-NFR-025 | WebSocket实时通信 | 替代轮询,实现工单状态变更实时推送 | 低 | 未实现 | ### 4.3 可用性需求 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | |--------|----------|----------|--------|----------| | REQ-NFR-030 | 多项目切换 | 用户可在参与的项目间自由切换,切换后数据自动刷新 | 高 | 已实现 | | REQ-NFR-031 | 角色权限动态菜单 | 根据用户角色和项目配置动态渲染菜单和路由 | 高 | 已实现 | | REQ-NFR-032 | 前端权限指令 | v-permission指令控制页面元素显示隐藏 | 高 | 已实现 | | REQ-NFR-033 | 表单分步优化 | 复杂表单使用Steps组件分步验证 | 中 | 未实现 | | REQ-NFR-034 | 加载状态优化 | 骨架屏、防抖等加载状态优化 | 中 | 未实现 | | REQ-NFR-035 | 列表交互增强 | 批量操作、视图切换 | 低 | 未实现 | ### 4.4 可扩展性需求 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | |--------|----------|----------|--------|----------| | REQ-NFR-040 | JSONB扩展 | 设备attributes/巡检items&problems/工单photos&partsUsed等使用JSONB存储,支持灵活扩展 | 高 | 已实现 | | REQ-NFR-041 | 扩展表模式 | 设备主表+4张扩展表模式,新增设备类型只需添加扩展表 | 高 | 已实现 | | REQ-NFR-042 | 自定义配置 | 项目配置(ProjectConfig)支持功能开关和customConfig JSON | 高 | 已实现 | | REQ-NFR-043 | 系统键值配置 | SysConfig支持运行时动态参数调整 | 中 | 已实现 | | REQ-NFR-044 | 数据访问授权 | DataAccess通用数据访问控制,支持细粒度授权扩展 | 中 | 已实现 | ### 4.5 兼容性需求 | 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | |--------|----------|----------|--------|----------| | REQ-NFR-050 | 浏览器兼容 | 管理后台支持Chrome/Firefox/Edge/Safari最新2个主版本 | 高 | 已实现 | | REQ-NFR-051 | 移动端适配 | 员工APP和业主小程序基于uni-app跨端框架,支持iOS/Android | 高 | 未实现(框架待搭建) | | REQ-NFR-052 | 响应式设计 | 管理后台支持不同屏幕尺寸的响应式布局 | 中 | 未实现 | --- ## 五、需求追踪矩阵 ### 5.1 身份与权限域 | 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 | |--------|------|--------|----------|----------|----------| | REQ-AUTH-001 | 用户创建 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController | | REQ-AUTH-002 | 用户查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController | | REQ-AUTH-003 | 用户更新 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController | | REQ-AUTH-004 | 用户删除 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: UserController | | REQ-AUTH-005 | 密码修改 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController | | REQ-AUTH-006 | 多类型用户扩展 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: EnterpriseUser/ProjectStaff/Resident | | REQ-AUTH-007 | 用户角色分配 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController | | REQ-AUTH-008 | 用户项目关联 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController | | REQ-AUTH-010 | 角色管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController | | REQ-AUTH-011 | 权限管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: PermissionController | | REQ-AUTH-012 | 角色权限分配 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController | | REQ-AUTH-013 | 四级数据范围 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DataScopeService | | REQ-AUTH-014 | 双层角色分配 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthService | | REQ-AUTH-015 | 项目级角色查询 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController | | REQ-AUTH-016 | 角色关联用户查询 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController | | REQ-AUTH-017 | 权限树端点 | 中 | 未实现 | - | - | | REQ-AUTH-018 | 权限校验端点 | 中 | 未实现 | - | - | | REQ-AUTH-019 | 用户菜单端点 | 中 | 未实现 | - | - | | REQ-AUTH-020 | 用户权限查询端点 | 中 | 未实现 | - | - | | REQ-AUTH-021 | 角色业务属性 | 低 | 未实现 | - | - | | REQ-AUTH-022 | 权限菜单路由属性 | 低 | 未实现 | - | - | | REQ-AUTH-030 | 部门管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController | | REQ-AUTH-031 | 部门树查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController | | REQ-AUTH-032 | 部门成员查询 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController | | REQ-AUTH-033 | 按类型查询部门 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController | | REQ-AUTH-034 | 部门删除约束 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DeptService | | REQ-AUTH-040 | 项目成员列表 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController | | REQ-AUTH-041 | 可用成员查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController | | REQ-AUTH-042 | 添加项目成员 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController | | REQ-AUTH-043 | 移除项目成员 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController | | REQ-AUTH-044 | 项目员工班次 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectStaff | | REQ-AUTH-045 | 项目员工角色 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectStaffRole | | REQ-AUTH-050 | 住户信息管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: Resident | | REQ-AUTH-051 | 住户认证流程 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: Resident | | REQ-AUTH-052 | 住户房屋绑定 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ResidentSpace | | REQ-AUTH-053 | 房屋空间管理 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: Space | | REQ-AUTH-060 | 用户登录 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController | | REQ-AUTH-061 | 用户登出 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController | | REQ-AUTH-062 | Token刷新 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController | | REQ-AUTH-063 | 获取当前用户 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController | | REQ-AUTH-064 | JWT Token规范 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: JwtTokenProvider | | REQ-AUTH-065 | 登录失败锁定 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: LoginAttemptService | | REQ-AUTH-066 | 项目上下文传递 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectContextInterceptor | | REQ-AUTH-070 | 操作日志记录 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: OperationLogAspect | | REQ-AUTH-071 | 异步持久化 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLogService | | REQ-AUTH-072 | 审计日志查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLogController | | REQ-AUTH-073 | 模块与操作类型 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLog | | REQ-AUTH-074 | 日志统计 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLogController | | REQ-AUTH-075 | 日志归档 | 低 | 部分实现 | REVERSE-AUTH.md | module-auth: AuditLogService | | REQ-AUTH-080 | 键值配置管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: SysConfigController | | REQ-AUTH-081 | 密码策略配置 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: PasswordStrengthValidator | | REQ-AUTH-082 | 数据访问授权 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: DataAccessController | ### 5.2 空间与项目域 | 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 | |--------|------|--------|----------|----------|----------| | REQ-MDM-001 | 项目创建 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController | | REQ-MDM-002 | 项目查询 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController | | REQ-MDM-003 | 项目更新与删除 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController | | REQ-MDM-004 | 项目状态流转 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController | | REQ-MDM-005 | 状态变更历史 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectStatusHistory | | REQ-MDM-006 | 项目统计 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController | | REQ-MDM-007 | 项目配置管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectConfigController | | REQ-MDM-008 | 项目成员管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectMemberController | | REQ-MDM-009 | 项目删除检查 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController | | REQ-MDM-010 | 空间节点创建 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController | | REQ-MDM-011 | 15种节点类型 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode | | REQ-MDM-012 | 树形结构维护 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeService | | REQ-MDM-013 | 空间节点查询 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController | | REQ-MDM-014 | 空间节点更新与删除 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController | | REQ-MDM-015 | 面积信息管理 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode | | REQ-MDM-016 | 地理信息管理 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode | | REQ-MDM-017 | 设备扩展模式 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode | | REQ-MDM-018 | 扩展属性JSON | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode | | REQ-MDM-019 | 空间编码自动生成 | 中 | 未实现 | - | - | | REQ-MDM-020 | 节点移动 | 中 | 未实现 | - | - | | REQ-MDM-021 | 祖先/子孙查询 | 低 | 未实现 | - | - | | REQ-MDM-022 | 空间统计分析 | 低 | 未实现 | - | - | | REQ-MDM-023 | PostGIS空间查询 | 低 | 未实现 | - | - | | REQ-MDM-024 | 地图服务 | 低 | 未实现 | - | - | | REQ-MDM-025 | 空间节点导入导出 | 中 | 未实现 | - | - | | REQ-MDM-030 | 巡检标准项CRUD | 高 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionItemController | | REQ-MDM-031 | 标准项查询筛选 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionItemService | | REQ-MDM-032 | 巡检模板管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionTemplateController | | REQ-MDM-033 | 巡检记录管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecordController | | REQ-MDM-034 | 巡检记录查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecordService | ### 5.3 设备与资产域 | 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 | |--------|------|--------|----------|----------|----------| | REQ-ASSET-001 | 设备创建 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController | | REQ-ASSET-002 | 设备查询 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController | | REQ-ASSET-003 | 设备更新与删除 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController | | REQ-ASSET-004 | 设备与空间关联 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-005 | 系统类型分类 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-006 | 设备统计 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController | | REQ-ASSET-007 | 设备导入 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController | | REQ-ASSET-008 | 设备导出 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController | | REQ-ASSET-009 | 设备照片管理 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-010 | 设备文档管理 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-011 | 设备二维码 | 中 | 未实现 | - | - | | REQ-ASSET-012 | 设备规格字段 | 低 | 未实现 | - | - | | REQ-ASSET-020 | 电梯扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentElevatorService | | REQ-ASSET-021 | 暖通扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentHvacService | | REQ-ASSET-022 | 消防扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentFireService | | REQ-ASSET-023 | 能源计量扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentEnergyService | | REQ-ASSET-024 | 扩展表读写模式 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment*Service | | REQ-ASSET-025 | 无扩展表设备类型 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-030 | 健康评分算法 | 高 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl | | REQ-ASSET-031 | 5级健康等级 | 高 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: HealthLevel | | REQ-ASSET-032 | MTBF计算 | 中 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl | | REQ-ASSET-033 | MTTR计算 | 中 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl | | REQ-ASSET-034 | 健康评分查询 | 中 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthController | | REQ-ASSET-035 | 维保完成率计算 | 中 | 部分实现 | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl | | REQ-ASSET-040 | 故障记录 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentHealthController | | REQ-ASSET-041 | 故障自动计算 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentFailureHistory | | REQ-ASSET-042 | 故障历史查询 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentHealthController | | REQ-ASSET-043 | 故障自动工单 | 中 | 未实现 | - | - | | REQ-ASSET-050 | 归属主体CRUD | 高 | 已实现 | REVERSE-ASSET.md | module-asset: OwnershipEntityController | | REQ-ASSET-051 | 归属主体查询 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: OwnershipEntityController | | REQ-ASSET-052 | 归属主体逻辑删除 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: OwnershipEntityController | | REQ-ASSET-053 | 设备归属冗余 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-060 | 特种设备标记 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-061 | 年检周期管理 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment | | REQ-ASSET-062 | 特种设备列表查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController | | REQ-ASSET-063 | 即将年检预警 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController | | REQ-ASSET-064 | 维保到期定时提醒 | 中 | 未实现 | - | - | ### 5.4 运营与服务域 | 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 | |--------|------|--------|----------|----------|----------| | REQ-OPS-001 | 工单创建 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-002 | 工单查询 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-003 | 工单状态流转 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderService | | REQ-OPS-004 | 工单派单 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-005 | 工单执行 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-006 | 工单完成 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-007 | 工单验收 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-008 | 工单取消 | 中 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-009 | 工单优先级 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrder | | REQ-OPS-010 | 工单明细管理 | 中 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-011 | 工单统计 | 中 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController | | REQ-OPS-012 | 工单挂起与恢复 | 中 | 未实现 | - | - | | REQ-OPS-013 | 工单退回 | 中 | 未实现 | - | - | | REQ-OPS-014 | 工单流转记录 | 中 | 未实现 | - | - | | REQ-OPS-015 | 工单报修人信息 | 中 | 未实现 | - | - | | REQ-OPS-016 | 工单分页查询 | 中 | 未实现 | - | - | | REQ-OPS-020 | 维保计划创建 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenancePlan | | REQ-OPS-021 | 维保计划状态管理 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenancePlan | | REQ-OPS-022 | 维保计划周期调度 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenancePlan | | REQ-OPS-023 | 维保计划自动调度 | 中 | 未实现 | - | - | | REQ-OPS-030 | 维保任务创建 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController | | REQ-OPS-031 | 维保任务状态流转 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskService | | REQ-OPS-032 | 4种触发方式 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTask | | REQ-OPS-033 | 自动优先级判定 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskServiceImpl | | REQ-OPS-034 | 双完成接口 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController | | REQ-OPS-035 | 维保任务验收 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController | | REQ-OPS-036 | 完成后设备联动 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskServiceImpl | | REQ-OPS-037 | 维保任务统计 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController | | REQ-OPS-038 | 使用备件记录 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTask | | REQ-OPS-040 | 巡检模板管理 | 高 | 已实现 | REVERSE-OPS.md | module-wo: InspectionTemplate | | REQ-OPS-041 | 巡检项管理 | 高 | 已实现 | REVERSE-OPS.md | module-wo: InspectionItem | | REQ-OPS-042 | 巡检签到 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecord | | REQ-OPS-043 | 巡检异常上报 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecord | | REQ-OPS-044 | 巡检扫码签到 | 中 | 未实现 | - | - | | REQ-OPS-050 | 备件分类管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController | | REQ-OPS-051 | 备件台账CRUD | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController | | REQ-OPS-052 | 入库操作 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController | | REQ-OPS-053 | 出库操作 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController | | REQ-OPS-054 | 低库存预警 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController | | REQ-OPS-055 | 出入库记录查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController | | REQ-OPS-056 | 盘点与调整 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartRecord | | REQ-OPS-060 | 计量点管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyController | | REQ-OPS-061 | 能耗抄表录入 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyConsumptionService | | REQ-OPS-062 | 能耗记录查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyController | | REQ-OPS-063 | 按类型统计能耗 | 中 | 部分实现 | REVERSE-MDM.md | module-mdm: EnergyConsumptionService | | REQ-OPS-064 | 单位面积能耗 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyConsumptionService | | REQ-OPS-065 | IoT自动抄表 | 低 | 未实现 | - | - | | REQ-OPS-066 | 前后端能源类型统一 | 中 | 未实现 | - | - | ### 5.5 财务与收费域 | 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 | |--------|------|--------|----------|----------|----------| | REQ-FIN-001 | 收费项目实体 | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-002 | 收费项目CRUD | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-010 | 账单实体 | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-011 | 账单自动生成 | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-012 | 账单状态流转 | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-013 | 批量账单生成 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-014 | 账单导出 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-020 | 支付记录实体 | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-021 | 线下收款登记 | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-022 | 支付记录查询 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-030 | 退款实体 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-031 | 退款流程 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-040 | 费用催缴定时任务 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-041 | 滞纳金自动计算 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-050 | 能耗数据与账单对接 | 高 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-051 | 按面积计费 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-052 | 固定金额计费 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-053 | 支付网关对接 | 中 | 未实现 | REVERSE-FINANCE.md | - | | REQ-FIN-054 | 财务报表 | 低 | 未实现 | REVERSE-FINANCE.md | - | ### 5.6 需求统计汇总 | 业务域 | 已实现 | 部分实现 | 未实现 | 合计 | |--------|--------|----------|--------|------| | 身份与权限域 | 37 | 1 | 6 | 44 | | 空间与项目域 | 23 | 0 | 7 | 30 | | 设备与资产域 | 28 | 1 | 4 | 33 | | 运营与服务域 | 36 | 1 | 9 | 46 | | 财务与收费域 | 0 | 0 | 19 | 19 | | 前端交互域 | 14 | 0 | 7 | 21 | | 非功能需求 | 12 | 1 | 8 | 21 | | **合计** | **150** | **4** | **60** | **214** | **实现率**:已实现 70.1% | 部分实现 1.9% | 未实现 28.0% --- > **文档说明**: 本文档基于7份源文档整合生成,所有需求项均标注唯一ID和实现状态。已实现功能以反推文档(REVERSE-*.md)中的实际代码为准,未实现功能从原需求文档和特性清单中提取。需求描述力求具体到可验证程度。