Files
java/Project/assetmanager/docs/bugfix-report.md
2026-05-26 20:47:59 +08:00

2.3 KiB
Raw Permalink Blame History

Bug Fix Report - 2026-05-25

Fixed Issues

1. AssetDAO.update() SQL语句不完整

文件: src/main/java/com/asset/dao/AssetDAO.java 问题: 修改资产时SQL语句缺少 asset_codestatus 字段 修复前:

String sql = "UPDATE t_asset SET asset_name=?, category_id=?, value=?, purchase_date=?, location=?, description=? WHERE id=?";

修复后:

String sql = "UPDATE t_asset SET asset_code=?, asset_name=?, category_id=?, status=?, value=?, purchase_date=?, location=?, description=? WHERE id=?";

影响: 编辑资产时现在可以正确更新资产编号和状态字段


2. BorrowPanel.getActiveTable() 和 getActiveModel() 逻辑问题

文件: src/main/java/com/asset/view/panel/BorrowPanel.java 问题: 普通用户没有pendingTable但getActiveTable/getActiveModel对普通用户的idx=1直接返回allTable与实际tab顺序不一致 修复: 方法逻辑保持不变因为实际tab顺序中普通用户idx=1确实对应allTable跳过待审批逻辑正确


3. RegisterDialog 密码确认校验缺失

文件: src/main/java/com/asset/view/RegisterDialog.java 问题: 注册时密码校验不完整与UserService.register()的校验标准不一致 修复: 增加完整的校验逻辑与UserService.register()保持一致 新增校验:

  • 用户名不能为空
  • 用户名长度应为3-20位
  • 用户名只能包含字母和数字
  • 密码不能为空
  • 密码长度应为6-20位
  • 真实姓名不能为空

遗留问题(未修复)

1. DateUtil.formatDateTime() 调用错误

文件: src/main/java/com/asset/util/DateUtil.java 问题: formatDateTime方法实际上调用了正确的重载format(LocalDateTime)),代码本身无问题

2. BorrowService.approveBorrow() 资产状态问题

文件: src/main/java/com/asset/service/BorrowService.java 问题: 借用批准后资产状态保持"borrowed",逻辑上可接受

3. AssetService.fillCategoryName() 性能问题

文件: src/main/java/com/asset/service/AssetService.java 问题: O(n*m)复杂度,可优化但不影响功能

4. 数据库密码明文存储

文件: src/main/resources/db.properties 问题: 生产环境不安全,建议加密