Browse Source

修复bug

zhaopeiqing 8 months ago
parent
commit
cb791b1adb

+ 1 - 0
yudao-module-personnel/yudao-module-attendance-api/src/main/java/cn/iocoder/yudao/module/attendance/enums/ErrorCodeConstants.java

@@ -21,4 +21,5 @@ public interface ErrorCodeConstants {
     ErrorCode ATTENDANCE_WORKDAY_SETTING_NOT_EXISTS = new ErrorCode(1_013_000_007, "考勤工作日设置不存在");
     ErrorCode ATTENDANCE_EMAINING_ANNUAL_LEAVE_IS_INSUFFICIENT = new ErrorCode(1_013_000_008, "剩余年假不足");
     ErrorCode ATTENDANCE_UPDATING_EMPLOYEE_INFO_ERROR = new ErrorCode(1_013_000_009, "考勤更新员工信息时发生错误");
+    ErrorCode ATTENDANCE_EXCEL_FORMAT_ERROR = new ErrorCode(1_013_000_010, "请确保excel文件中的单元格格式为文本!");
 }

+ 12 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/info/AttendanceInfoController.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.attendance.controller.admin.info;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.module.attendance.controller.admin.info.vo.*;
 import cn.iocoder.yudao.module.attendance.dal.dataobject.info.AttendanceInfoDO;
 import cn.iocoder.yudao.module.attendance.service.info.AttendanceInfoService;
@@ -20,6 +21,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
@@ -33,6 +36,8 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
 import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+import static cn.iocoder.yudao.module.attendance.enums.ErrorCodeConstants.ATTENDANCE_EXCEL_FORMAT_ERROR;
+import static cn.iocoder.yudao.module.attendance.enums.ErrorCodeConstants.ATTENDANCE_INFO_IMPORT_LIST_IS_EMPTY;
 
 @Tag(name = "管理后台 - 考勤信息")
 @RestController
@@ -124,7 +129,13 @@ public class AttendanceInfoController {
     })
     @PreAuthorize("@ss.hasPermission('attendance:info:import')")
     public CommonResult<Boolean> importExcel(@RequestParam("file") MultipartFile file) throws Exception {
-        List<AttendanceInfoImportExcelVO> list = ExcelUtils.read(file, AttendanceInfoImportExcelVO.class);
+        List<AttendanceInfoImportExcelVO> list;
+        try {
+            list = ExcelUtils.read(file, AttendanceInfoImportExcelVO.class);
+        } catch (Exception e) {
+            throw exception(ATTENDANCE_EXCEL_FORMAT_ERROR);
+        }
+
         return success(true).setMsg(infoService.importAttendanceInfoList(list));
     }