From 809562f45f703f99f9f75618428cef59a6458799 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 30 三月 2026 17:39:05 +0800
Subject: [PATCH] yys 1.设备导入,人员导入
---
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
index 073733b..3613da3 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -10,12 +10,17 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.dto.WordDateDto;
+import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.domain.SysPost;
+import com.ruoyi.project.system.domain.SysRole;
import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysDeptMapper;
import com.ruoyi.project.system.mapper.SysPostMapper;
+import com.ruoyi.project.system.mapper.SysRoleMapper;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.project.system.service.impl.SysUserServiceImpl;
import com.ruoyi.staff.dto.StaffOnJobDto;
+import com.ruoyi.staff.dto.StaffOnJobExcelDto;
import com.ruoyi.staff.mapper.*;
import com.ruoyi.staff.pojo.*;
import com.ruoyi.staff.service.IStaffOnJobService;
@@ -46,6 +51,13 @@
@Autowired
private StaffOnJobMapper staffOnJobMapper;
+
+ @Autowired
+ private SysDeptMapper sysDeptMapper;
+
+ @Autowired
+ private SysRoleMapper sysRoleMapper;
+
@Autowired
private SysPostMapper sysPostMapper;
@@ -310,11 +322,38 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public Boolean importData(MultipartFile file) {
try {
- ExcelUtil<StaffOnJob> util = new ExcelUtil<>(StaffOnJob.class);
- List<StaffOnJob> staffOnJobs = util.importExcel(file.getInputStream());
- return saveOrUpdateBatch(staffOnJobs);
+ ExcelUtil<StaffOnJobExcelDto> util = new ExcelUtil<>(StaffOnJobExcelDto.class);
+ List<StaffOnJobExcelDto> staffOnJobs = util.importExcel(file.getInputStream());
+ if (CollectionUtils.isEmpty(staffOnJobs)){
+ return false;
+ }
+ // 鑾峰彇鎵�鏈夐儴闂ㄦ暟鎹�
+ List<SysDept> sysDepts = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getDelFlag, 0));
+ // 鑾峰彇鎵�鏈夎鑹叉暟鎹�
+ List<SysRole> sysRoles = sysRoleMapper.selectRoleAll();
+ staffOnJobs.forEach(staffOnJob -> {
+ StaffOnJobDto staffOnJobDto = new StaffOnJobDto();
+ BeanUtils.copyProperties(staffOnJob, staffOnJobDto);
+ // 閫氳繃鍚嶇О鑾峰彇閮ㄩ棬id
+ staffOnJobDto.setSysDeptId(// ... existing code ...
+ sysDepts.stream()
+ .filter(dept -> dept.getDeptName() != null && dept.getDeptName().equals(staffOnJob.getSysDeptName()))
+ .findFirst()
+ .map(SysDept::getDeptId)
+ .orElse(null)
+ );
+ // 閫氳繃鍚嶇О鑾峰彇瑙掕壊id
+ staffOnJobDto.setRoleId(sysRoles.stream()
+ .filter(role -> role.getRoleName() != null && role.getRoleName().equals(staffOnJob.getRoleName()))
+ .findFirst()
+ .map(SysRole::getRoleId)
+ .orElse( null));
+ add(staffOnJobDto);
+ });
+ return true;
} catch (Exception e) {
e.printStackTrace();
return false;
--
Gitblit v1.9.3