Browse Source

修复bug

zhaopeiqing 6 months ago
parent
commit
19fb0dd37b

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

@@ -120,7 +120,7 @@ public class AttendanceInfoController {
             @Parameter(name = "file", description = "Excel 文件", required = true)
     })
     @PreAuthorize("@ss.hasPermission('attendance:info:import')")
-    public CommonResult<AttendanceInfoImportRespVO> importExcel(@RequestParam("file") MultipartFile file) throws Exception {
+    public CommonResult<String> importExcel(@RequestParam("file") MultipartFile file) throws Exception {
         List<AttendanceInfoImportExcelVO> list = ExcelUtils.read(file, AttendanceInfoImportExcelVO.class);
         return success(infoService.importAttendanceInfoList(list));
     }

+ 1 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/info/AttendanceInfoService.java

@@ -61,7 +61,7 @@ public interface AttendanceInfoService {
      * @param importAttendanceInfos 导入考勤信息列表
      * @return 导入结果
      */
-    AttendanceInfoImportRespVO importAttendanceInfoList(List<AttendanceInfoImportExcelVO> importAttendanceInfos);
+    String importAttendanceInfoList(List<AttendanceInfoImportExcelVO> importAttendanceInfos);
 
     /**
      * 获得考勤信息分页

+ 7 - 5
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/service/info/AttendanceInfoServiceImpl.java

@@ -145,11 +145,11 @@ public class AttendanceInfoServiceImpl implements AttendanceInfoService {
 
     @Override
     @Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
-    public AttendanceInfoImportRespVO importAttendanceInfoList(List<AttendanceInfoImportExcelVO> importAttendanceInfos) {
+    public String importAttendanceInfoList(List<AttendanceInfoImportExcelVO> importAttendanceInfos) {
         if (CollUtil.isEmpty(importAttendanceInfos)) {
             throw exception(ATTENDANCE_INFO_IMPORT_LIST_IS_EMPTY);
         }
-
+        StringBuilder returnMsg = new StringBuilder();
         // 获取用户信息和租户ID
         LoginUser user = SecurityFrameworkUtils.getLoginUser();
         Long tenantId = user != null && user.getTenantId() != null ? user.getTenantId() : 0L;
@@ -191,25 +191,27 @@ public class AttendanceInfoServiceImpl implements AttendanceInfoService {
                 // 准备要插入的数据
                 AttendanceInfoDO attendanceInfoDO = BeanUtils.toBean(importAttendance, AttendanceInfoDO.class);
                 toInsert.add(attendanceInfoDO);
-
+                returnMsg.append("<br/>员工 " + attendanceInfoDO.getEmployeeName() + " 导入成功");
             } catch (ServiceException ex) {
                 failedEmployeeNames.add(importAttendance.getEmployeeName());
                 respVO.getFailureEmployeeNames().put(importAttendance.getEmployeeName(), ex.getMessage());
+                returnMsg.append("<br/>员工 " + importAttendance.getEmployeeName() + " 导入失败,原因:" + ex.getMessage());
             }
         }
 
         // 批量删除
         if (!toDeleteIds.isEmpty()) {
             infoMapper.deleteBatchIds(toDeleteIds);
-            toDeleteIds.forEach(id -> respVO.getDeleteEmployeeNames().add(this.getInfo(id).getEmployeeName())); // 假设有一个findEmployeeNameById方法来获取员工名
+            toDeleteIds.forEach(id -> respVO.getDeleteEmployeeNames().add(this.getInfo(id).getEmployeeName()));
         }
 
         // 批量插入
         if (!toInsert.isEmpty()) {
             infoMapper.insertBatch(toInsert);
             toInsert.forEach(info -> respVO.getCreateEmployeeNames().add(info.getEmployeeName()));
+            returnMsg.insert(0, "数据批量导入成功!共 " + toInsert.size() + " 条,数据如下:");
         }
-        return respVO;
+        return returnMsg.toString();
     }
 
     @Override

+ 11 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java

@@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.system.controller.admin.dept;
 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
@@ -72,6 +74,15 @@ public class DeptController {
         return success(BeanUtils.toBean(list, DeptSimpleRespVO.class));
     }
 
+    @GetMapping("/get-all-simple-list")
+    @Operation(summary = "获取没有数据权限过滤部门精简信息列表", description = "没有数据权限过滤,只包含被开启的部门,主要用于前端的下拉选项")
+    @DataPermission(enable = false)
+    public CommonResult<List<DeptSimpleRespVO>> getAllSimpleDeptList() {
+        List<DeptDO> list = deptService.getDeptList(
+                new DeptListReqVO().setStatus(CommonStatusEnum.ENABLE.getStatus()));
+        return success(BeanUtils.toBean(list, DeptSimpleRespVO.class));
+    }
+
     @GetMapping("/get")
     @Operation(summary = "获得部门信息")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")