From 46d9fb995398d114f70fd4d479dd054b956a1e19 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 24 十二月 2025 13:42:47 +0800
Subject: [PATCH] yys  修改配置文件

---
 src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
index f82ecc8..7368456 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -7,7 +7,10 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.excel.ExcelUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.lavorissue.mapper.DeptPositionMapper;
+import com.ruoyi.lavorissue.pojo.DeptPosition;
 import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper;
 import com.ruoyi.staff.mapper.StaffOnJobMapper;
 import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
@@ -17,6 +20,8 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.ServletException;
@@ -58,10 +63,12 @@
             if (staffOnJobs.size()>0){
                 StaffOnJob staffOnJob = staffOnJobs.get(0);
                 //鍏堟瘮杈冨埌鏈熸棩鏈�,杩欓噷閫夌敤鍒版湡鏃ユ湡鏈�涔呯殑
-                if (staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0) {
-                    BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
-                    staffOnJobMapper.updateById(staffOnJob);
-                }
+//                if (staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0) {
+//                    BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
+//                    staffOnJobMapper.updateById(staffOnJob);
+//                }
+                BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
+                staffOnJobMapper.updateById(staffOnJob);
             }else {
                 StaffOnJob staffOnJob = new StaffOnJob();
                 BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties);
@@ -156,14 +163,39 @@
             StaffOnJob job = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery()
                     .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())).get(0);
             //濡傛灉鏇存敼鐨勫悎鍚屽埌鏈熸椂闂存洿涔呭垯鏇存柊,濡傛灉娌℃湁灏变笉鐢ㄦ洿鏂�
-            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
-                BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
-                staffOnJobMapper.updateById(job);
-            }
+//            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
+//                BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
+//                staffOnJobMapper.updateById(job);
+//            }
+            BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
+            staffOnJobMapper.updateById(job);
         }else {
             /*绂昏亴*/
             //绂昏亴鐨勭紪杈戜笉浼氬奖鍝嶅湪鑱岃〃
         }
         return staffJoinLeaveRecordMapper.updateById(staffJoinLeaveRecord);
     }
+
+    private final DeptPositionMapper deptPositionMapper;
+
+    @Override
+    public Boolean importData(MultipartFile file) throws Exception{
+        ExcelUtil<StaffJoinLeaveRecord> util = new ExcelUtil<>(StaffJoinLeaveRecord.class);
+        List<StaffJoinLeaveRecord> staffJoinLeaveRecords = util.importExcel(file.getInputStream());
+        if(CollectionUtils.isEmpty(staffJoinLeaveRecords)){
+            return false;
+        }
+        List<DeptPosition> deptPositions = deptPositionMapper.selectList(null);
+        if(CollectionUtils.isEmpty(deptPositions)){
+            return false;
+        }
+        // 閫氳繃閮ㄩ棬鍚嶇О鏌ヨ閮ㄩ棬id
+        for (StaffJoinLeaveRecord staffJoinLeaveRecord : staffJoinLeaveRecords) {
+            staffJoinLeaveRecord.setStaffState(1);
+            Optional<DeptPosition> deptPosition = deptPositions.stream().filter(deptPosition1 -> deptPosition1.getName().equals(staffJoinLeaveRecord.getDeptPositionName())).findFirst();
+            deptPosition.ifPresent(position -> staffJoinLeaveRecord.setDeptPositionId(position.getId()));
+            add(staffJoinLeaveRecord);
+        }
+        return true;
+    }
 }

--
Gitblit v1.9.3