From c7d92d01b02f6b26b17dc77b217f0ffe39615ebe Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 03 六月 2026 09:13:43 +0800
Subject: [PATCH] feat(staff): 修改员工入职服务接口增加用户添加标识参数
---
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 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 1f20da2..3b116fc 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -76,12 +76,15 @@
//鏂板鍏ヨ亴
@Override
@Transactional(rollbackFor = Exception.class)
- public int add(StaffOnJobDto staffOnJobPrams) {
+ public int add(StaffOnJobDto staffOnJobPrams,boolean isAddUser) {
String[] ignoreProperties = {"id"};//鎺掗櫎id灞炴��
// 鍒ゆ柇缂栧彿鏄惁瀛樺湪
List<StaffOnJob> staffOnJobs = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery().eq(StaffOnJob::getStaffNo, staffOnJobPrams.getStaffNo()));
if (staffOnJobs != null && !staffOnJobs.isEmpty()){
- throw new BaseException("缂栧彿涓�"+staffOnJobPrams.getStaffNo()+"鐨勫憳宸ュ凡缁忓瓨鍦�,鏃犳硶鏂板!!!");
+ if(isAddUser){
+ throw new BaseException("缂栧彿涓�"+staffOnJobPrams.getStaffNo()+"鐨勫憳宸ュ凡缁忓瓨鍦�,鏃犳硶鏂板!");
+ }
+ return 0;
}
// 鍒涘缓鍏ヨ亴鏁版嵁
@@ -332,9 +335,20 @@
List<SysDept> sysDepts = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getDelFlag, 0));
// 鑾峰彇鎵�鏈夎鑹叉暟鎹�
List<SysRole> sysRoles = sysRoleMapper.selectRoleAll();
- staffOnJobs.forEach(staffOnJob -> {
+ for (StaffOnJobExcelDto staffOnJob : staffOnJobs) {
StaffOnJobDto staffOnJobDto = new StaffOnJobDto();
BeanUtils.copyProperties(staffOnJob, staffOnJobDto);
+ // 濡傛灉鍚堝悓骞撮檺涓虹┖锛屾牴鎹悎鍚屽紑濮嬫棩鏈熷拰缁撴潫鏃ユ湡璁$畻
+ if (StringUtils.isEmpty(staffOnJob.getContractTerm())
+ && staffOnJob.getContractStartTime() != null
+ && staffOnJob.getContractEndTime() != null) {
+ LocalDate start = staffOnJob.getContractStartTime().toInstant()
+ .atZone(ZoneId.of("Asia/Shanghai")).toLocalDate();
+ LocalDate end = staffOnJob.getContractEndTime().toInstant()
+ .atZone(ZoneId.of("Asia/Shanghai")).toLocalDate();
+ int years = end.getYear() - start.getYear();
+ staffOnJobDto.setContractTerm(String.valueOf(years));
+ }
// 閫氳繃鍚嶇О鑾峰彇閮ㄩ棬id
staffOnJobDto.setSysDeptId(// ... existing code ...
sysDepts.stream()
@@ -349,8 +363,8 @@
.findFirst()
.map(SysRole::getRoleId)
.orElse( null));
- add(staffOnJobDto);
- });
+ int i = add(staffOnJobDto,false);
+ }
return true;
} catch (Exception e) {
e.printStackTrace();
--
Gitblit v1.9.3