tuqin
2 天以前 531b50cab6e42e6146a419bc71c5b494fff774b2
分支
用户 tuqin <tuqin@tuqin.cn>
星期二, 十月 27, 2026 09:48 +0800
提交者 tuqin <tuqin@tuqin.cn>
星期二, 十月 27, 2026 09:48 +0800
提交531b50cab6e42e6146a419bc71c5b494fff774b2
目录 ab1dd6e1221bac6a5faefa89aa4e12fc38a26149 目录 | zip | gz
上一版本 9aa810eae18397cc5e452feedbe453800d9aaa5c 查看 | 对比
feat(hrm): 考勤规则支持 Excel 导入;修复定位打卡测试类编译错误

新增(同事 9aa810ea 未覆盖的部分):
- 考勤规则 Excel 导入:模板下载 + 导入(按名称判重,支持 updateSupport 覆盖,部门按名称匹配)
- 补充 LocalTimeConvert(框架缺失,导入模板依赖 LocalTime)
- 导入相关错误码:ATTENDANCE_RULE_IMPORT_LIST_IS_EMPTY / ATTENDANCE_RULE_EXISTS / ATTENDANCE_RULE_DEPT_NOT_EXISTS
- SQL:hrm_attendance_rule_import_menu.sql(import 权限点 + 全角色授权,幂等)

修复:
- HrmAttendanceClockLocationTest 中 getAttendanceRuleByDeptId 调用与签名不符(9aa810ea 为单参数)。
该分支的方法签名已含考勤日期参数,改为 getAttendanceRuleByDeptId(eq(2L), any(LocalDate.class)),
否则 mvn package 编译失败。

未包含(已在 9aa810ea 实现,本提交不重复、不覆盖):
- 考勤规则地点字段与 validateLocation 校验
- 打卡接口 JSON Body + legacyLocation 兼容、记录定位字段

验证:导入三态(创建/不覆盖/覆盖)、部门名称匹配、全局规则(dept_id NULL)、
普通角色权限点、HrmAttendanceRuleImportExcelVO 解析均通过。
已修改5个文件
已添加5个文件
362 ■■■■■ 文件已修改
sql/mysql/hrm_attendance_rule_import_menu.sql 56 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/convert/LocalTimeConvert.java 72 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm-api/src/main/java/cn/iocoder/yudao/module/hrm/enums/ErrorCodeConstants.java 4 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRuleController.java 28 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleImportExcelVO.java 49 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleImportReqVO.java 19 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/vo/HrmAttendanceRuleImportRespVO.java 24 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRuleService.java 13 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRuleServiceImpl.java 94 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/test/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceClockLocationTest.java 3 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史