From a08dce3de307ce138396db5fe7274ead2ef5c573 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 20 一月 2026 17:12:08 +0800
Subject: [PATCH] Merge branch 'jtwy' of http://114.132.189.42:9002/r/product-inventory-management-after into sqd-hb
---
src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 40 insertions(+), 5 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..41efb68 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);
@@ -155,8 +162,13 @@
/*鍏ヨ亴*/
StaffOnJob job = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery()
.eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())).get(0);
+ // 澧炲姞浜嗗悎鍚屾柟妗堟墍浠ュ幓鎺夎繖涓垽鏂�
//濡傛灉鏇存敼鐨勫悎鍚屽埌鏈熸椂闂存洿涔呭垯鏇存柊,濡傛灉娌℃湁灏变笉鐢ㄦ洿鏂�
- if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
+// if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
+// BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
+// staffOnJobMapper.updateById(job);
+// }
+ if(job != null){
BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
staffOnJobMapper.updateById(job);
}
@@ -166,4 +178,27 @@
}
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.getPostJob())).findFirst();
+ deptPosition.ifPresent(position -> staffJoinLeaveRecord.setDeptPositionId(position.getId()));
+ add(staffJoinLeaveRecord);
+ }
+ return true;
+ }
}
--
Gitblit v1.9.3