From be430f7fb98b9b3a5c762256134fcc1f5880f17d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 24 八月 2026 17:29:16 +0800
Subject: [PATCH] fix(config): 统一API密钥配置
---
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 52 insertions(+), 6 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 7c11041..e17cc90 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.dto.WordDateDto;
import com.ruoyi.project.system.domain.SysDept;
@@ -67,8 +68,9 @@
//鍦ㄨ亴鍛樺伐鍙拌处鍒嗛〉鏌ヨ
@Override
- public IPage<StaffOnJobDto> staffOnJobListPage(Page page, StaffOnJob staffOnJob) {
- return staffOnJobMapper.staffOnJobListPage(page,staffOnJob);
+ public IPage<StaffOnJobDto> staffOnJobListPage(Page page, StaffOnJobDto staffOnJob) {
+ IPage<StaffOnJobDto> staffOnJobDtoIPage = staffOnJobMapper.staffOnJobListPage(page, staffOnJob);
+ return staffOnJobDtoIPage;
}
//鏂板鍏ヨ亴
@@ -83,6 +85,7 @@
}
// 鍒涘缓鍏ヨ亴鏁版嵁
+ syncStudyInfoFromEducation(staffOnJobPrams);
staffOnJobPrams.setContractExpireTime(staffOnJobPrams.getContractEndTime());
staffOnJobPrams.setStaffState(1);
staffOnJobMapper.insert(staffOnJobPrams);
@@ -124,15 +127,25 @@
throw new BaseException("缂栧彿涓�"+staffOnJobParams.getStaffNo()+"鐨勫憳宸ヤ笉瀛樺湪,鏃犳硶鏇存柊!!!");
}
- String[] ignoreProperties = {"id"};//鎺掗櫎鏇存柊灞炴��
-
// 鑾峰彇鏈�鏂板悎鍚屾暟鎹紝骞朵笖鏇存柊
StaffContract contract = staffContractMapper.selectOne(Wrappers.<StaffContract>lambdaQuery()
.eq(StaffContract::getStaffOnJobId, id)
.last("limit 1")
.orderByDesc(StaffContract::getId));
- if (contract != null){
- BeanUtils.copyProperties(staffOnJobParams,contract,ignoreProperties);
+ boolean hasContractData = staffOnJobParams.getContractTerm() != null
+ || staffOnJobParams.getContractStartTime() != null
+ || staffOnJobParams.getContractEndTime() != null;
+ if (contract == null && hasContractData) {
+ contract = new StaffContract();
+ contract.setStaffOnJobId(id);
+ contract.setContractTerm(staffOnJobParams.getContractTerm());
+ contract.setContractStartTime(staffOnJobParams.getContractStartTime());
+ contract.setContractEndTime(staffOnJobParams.getContractEndTime());
+ staffContractMapper.insert(contract);
+ } else if (contract != null) {
+ contract.setContractTerm(staffOnJobParams.getContractTerm());
+ contract.setContractStartTime(staffOnJobParams.getContractStartTime());
+ contract.setContractEndTime(staffOnJobParams.getContractEndTime());
staffContractMapper.updateById(contract);
}
@@ -141,6 +154,8 @@
// 缁戝畾瀛愯〃鏁版嵁
bingingStaffOnJobExtra(id,staffOnJobParams);
// 鏇存柊鍛樺伐鏁版嵁
+ syncStudyInfoFromEducation(staffOnJobParams);
+ staffOnJobParams.setId(id);
staffOnJobParams.setContractExpireTime(staffOnJobParams.getContractEndTime());
return staffOnJobMapper.updateById(staffOnJobParams);
}
@@ -158,6 +173,7 @@
.forEach(staff -> staff.setStaffOnJobId(id)); // 璧嬪��
staffEducationService.saveBatch(staffOnJobPrams.getStaffEducationList());
}
+
// 鏂板宸ヤ綔缁忓巻
if(CollectionUtils.isNotEmpty(staffOnJobPrams.getStaffWorkExperienceList())){
staffOnJobPrams.getStaffWorkExperienceList().stream()
@@ -172,6 +188,28 @@
.forEach(staff -> staff.setStaffOnJobId(id)); // 璧嬪��
staffEmergencyContactServiceImpl.saveBatch(staffOnJobPrams.getStaffEmergencyContactList());
}
+ }
+
+ private void syncStudyInfoFromEducation(StaffOnJob staffOnJobPrams) {
+ if (staffOnJobPrams == null || CollectionUtils.isEmpty(staffOnJobPrams.getStaffEducationList())) {
+ if (staffOnJobPrams != null) {
+ staffOnJobPrams.setFirstStudy("/");
+ staffOnJobPrams.setProfession("/");
+ }
+ return;
+ }
+ Optional<StaffEducation> matchedEducation = staffOnJobPrams.getStaffEducationList().stream()
+ .filter(Objects::nonNull)
+ .filter(education -> StringUtils.isNotEmpty(education.getMajor()))
+ .findFirst();
+ if (matchedEducation.isPresent()) {
+ StaffEducation education = matchedEducation.get();
+ staffOnJobPrams.setFirstStudy(education.getEducation());
+ staffOnJobPrams.setProfession(education.getMajor());
+ return;
+ }
+ staffOnJobPrams.setFirstStudy("/");
+ staffOnJobPrams.setProfession("/");
}
@@ -306,8 +344,16 @@
// 鑾峰彇鎵�鏈夎鑹叉暟鎹�
List<SysRole> sysRoles = sysRoleMapper.selectRoleAll();
staffOnJobs.forEach(staffOnJob -> {
+ if (staffOnJob.getStaffNo() == null || staffOnJob.getStaffNo().trim().isEmpty()) {
+ throw new BaseException("鍛樺伐缂栧彿涓嶈兘涓虹┖锛屽憳宸ュ鍚嶏細" + staffOnJob.getStaffName());
+ }
StaffOnJobDto staffOnJobDto = new StaffOnJobDto();
BeanUtils.copyProperties(staffOnJob, staffOnJobDto);
+ staffOnJobDto.setContractStartTime(staffOnJob.getContractStartTime());
+ staffOnJobDto.setContractEndTime(staffOnJob.getContractEndTime());
+ staffOnJobDto.setContractTerm(staffOnJob.getContractTerm());
+ staffOnJobDto.setStaffNo(staffOnJob.getStaffNo());
+ staffOnJobDto.setStaffName(staffOnJob.getStaffName());
// 閫氳繃鍚嶇О鑾峰彇閮ㄩ棬id
staffOnJobDto.setSysDeptId(// ... existing code ...
sysDepts.stream()
--
Gitblit v1.9.3