4.3 KiB
4.3 KiB
空间批量操作问题修复任务清单
文档版本: v1.0
创建日期: 2026-02-23
任务清单
一、问题排查与修复
| 序号 | 任务 | 状态 | 说明 |
|---|---|---|---|
| 1.1 | 问题1:生成类型隐藏 | ✅ 已完成 | 已正确隐藏,无需修改 |
| 1.2 | 问题2:批量生成房间保存失败 | ⏳ 待排查 | 需要启动服务测试 |
| 1.3 | 问题3:车位后缀为空 | ✅ 已完成 | 已正确设置,无需修改 |
| 1.4 | 问题4:车位序号位数问题 | ⏳ 待排查 | 需要启动服务测试 |
| 1.5 | 问题5:批量操作限制 | ⏳ 待修复 | 需要移除限制检查 |
| 1.6 | 问题6:车位列表分页 | ✅ 已完成 | 已支持分页,无需修改 |
| 1.7 | 问题7:楼栋地址生成 | ⏳ 待修复 | 需要使用项目地址 |
| 1.8 | 问题8:项目统计数据 | ⏳ 待修复 | 前后端接口不匹配 |
二、代码修改任务
| 序号 | 任务 | 状态 | 文件 |
|---|---|---|---|
| 2.1 | 修复前端 ProjectStatistics 接口定义 | ⏳ 待修复 | src/api/mdm/project.ts |
| 2.2 | 修复前端项目详情页统计显示 | ⏳ 待修复 | src/views/mdm/project/detail.vue |
| 2.3 | 修复后端楼栋地址生成逻辑 | ⏳ 待修复 | SpaceNodeServiceImpl.java |
| 2.4 | 移除批量操作限制 | ⏳ 待修复 | SpaceManagement.vue |
三、测试验证任务
| 序号 | 任务 | 状态 | 说明 |
|---|---|---|---|
| 3.1 | 启动后端服务 | ⏳ 待执行 | ether-mdm |
| 3.2 | 启动前端服务 | ⏳ 待执行 | ether-ui-admin |
| 3.3 | 测试批量生成房间 | ⏳ 待执行 | 验证保存成功 |
| 3.4 | 测试批量生成车位 | ⏳ 待执行 | 验证序号位数和名称 |
| 3.5 | 测试批量生成楼栋 | ⏳ 待执行 | 验证地址生成 |
| 3.6 | 测试项目统计数据 | ⏳ 待执行 | 验证户数和面积显示 |
问题分析详情
问题2:批量生成房间保存失败
可能原因:
- 后端
spaceNodeRepository.findById(buildingId)可能找不到楼栋(项目隔离问题) - 前端传递的
projectId可能与后端项目上下文不一致
修复方案:
- 检查后端是否使用
ProjectContextHolder.getProjectId()获取项目上下文 - 确保前端传递的
projectId正确
问题4:车位序号位数问题
代码分析:
- 前端传递
digitCount: formState.value.digitCount(第489行) - 后端接收
digitCount并使用String.format("%0" + digitCount + "d", number)(第1060行)
可能原因:
- 前端
digitCount默认值是 3(第525行) - 后端默认值也是 3(第1055行)
- 需要实际测试验证
问题5:批量操作限制
当前代码:
canBatchGenerateRoom和canBatchGenerateParking已定义但未使用handleBatchGenerate函数没有检查这些限制
修复方案:
- 确认批量操作菜单是否正确显示所有选项
- 如果有限制,移除限制
问题7:楼栋地址生成
当前代码:
if (parentNode != null) {
building.setAddress(parentAddress + " " + name);
} else {
building.setAddress(name); // ⚠️ 问题所在
}
修复方案:
- 当没有父节点时,使用项目地址作为基础地址
问题8:项目统计数据
前端接口定义:
export interface ProjectStatistics {
totalBuildings: number;
totalUnits: number;
totalParking: number;
totalResidents: number; // ❌ 后端没有
totalOwners: number; // ❌ 后端没有
totalTenants: number; // ❌ 后端没有
}
后端接口定义:
public class ProjectStatistics {
private Integer totalBuildings;
private Integer totalUnits;
private Integer totalRooms; // ❌ 前端没有
private Integer totalParking;
private Integer totalShops; // ❌ 前端没有
private BigDecimal totalBuildingArea; // ❌ 前端没有
private BigDecimal totalParkingArea; // ❌ 前端没有
private Integer totalMembers; // ❌ 前端没有
}
修复方案:
- 同步前端接口定义与后端一致
- 修改前端显示逻辑,使用
totalRooms作为户数
任务统计
| 状态 | 数量 | 占比 |
|---|---|---|
| ✅ 已完成 | 3 | 21% |
| ⏳ 待处理 | 11 | 79% |
| 合计 | 14 | 100% |