From 06f622b85d24927adb499eb562b89f376e7dc752 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 19 一月 2026 17:52:01 +0800
Subject: [PATCH] 删除StaffJoinLeaveRecord相关代码
---
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 39 insertions(+), 11 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 3de1ca9..6fb0cd0 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -1,7 +1,6 @@
package com.ruoyi.staff.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,11 +12,9 @@
import com.ruoyi.project.system.mapper.SysPostMapper;
import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.mapper.StaffContractMapper;
-import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper;
import com.ruoyi.staff.mapper.StaffLeaveMapper;
import com.ruoyi.staff.mapper.StaffOnJobMapper;
import com.ruoyi.staff.pojo.StaffContract;
-import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.pojo.StaffLeave;
import com.ruoyi.staff.pojo.StaffOnJob;
import com.ruoyi.staff.service.IStaffOnJobService;
@@ -47,7 +44,6 @@
private SysPostMapper sysPostMapper;
- private StaffJoinLeaveRecordMapper staffJoinLeaveRecordMapper;
private StaffContractMapper staffContractMapper;
private StaffLeaveMapper staffLeaveMapper;
@@ -69,6 +65,7 @@
throw new BaseException("缂栧彿涓�"+staffOnJobPrams.getStaffNo()+"鐨勫憳宸ュ凡缁忓瓨鍦�,鏃犳硶鏂板!!!");
}
// 鍒涘缓鍏ヨ亴鏁版嵁
+ staffOnJobPrams.setContractExpireTime(staffOnJobPrams.getContractEndTime());
staffOnJobMapper.insert(staffOnJobPrams);
// 鍒涘缓鍚堝悓璁板綍
@@ -90,20 +87,22 @@
throw new BaseException("缂栧彿涓�"+staffOnJobParams.getStaffNo()+"鐨勫憳宸ヤ笉瀛樺湪,鏃犳硶鏇存柊!!!");
}
- // 鏇存柊鍛樺伐鏁版嵁
String[] ignoreProperties = {"id"};//鎺掗櫎id灞炴��
- BeanUtils.copyProperties(staffOnJobParams,job,ignoreProperties);
- staffOnJobMapper.updateById(job);
// 鑾峰彇鏈�鏂板悎鍚屾暟鎹紝骞朵笖鏇存柊
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);
- return staffContractMapper.updateById(contract);
+ staffContractMapper.updateById(contract);
}
- return 0;
+
+ // 鏇存柊鍛樺伐鏁版嵁
+ BeanUtils.copyProperties(staffOnJobParams,job,ignoreProperties);
+ job.setContractExpireTime(staffOnJobParams.getContractEndTime());
+ return staffOnJobMapper.updateById(job);
}
//鍒犻櫎鍏ヨ亴
@@ -118,10 +117,38 @@
return staffContractMapper.delete(Wrappers.<StaffContract>lambdaQuery().in(StaffContract::getStaffOnJobId, ids));
}
+ // 缁鍚堝悓
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int renewContract(Long id, StaffContract staffContract) {
+ // 鍒ゆ柇瀵硅薄鏄惁瀛樺湪
+ StaffOnJob job = staffOnJobMapper.selectById(id);
+ if (job == null){
+ throw new BaseException("璇ュ憳宸ヤ笉瀛樺湪,鏃犳硶鏇存柊!!!");
+ }
+
+ // 澧炲姞鍚堝悓
+ StaffContract newStaffContract = new StaffContract();
+ newStaffContract.setStaffOnJobId(id);
+ newStaffContract.setContractTerm(staffContract.getContractTerm());
+ newStaffContract.setContractStartTime(staffContract.getContractStartTime());
+ newStaffContract.setContractEndTime(staffContract.getContractEndTime());
+ staffContractMapper.insert(newStaffContract);
+
+ // 鏇存柊鍛樺伐鍚堝悓杩囨湡鏃堕棿
+ job.setContractExpireTime(staffContract.getContractEndTime());
+ staffOnJobMapper.updateById(job);
+ return 0;
+ }
+
//鍦ㄨ亴鍛樺伐璇︽儏
@Override
public StaffOnJobDto staffOnJobDetail(Long id) {
StaffOnJob staffOnJob = staffOnJobMapper.selectById(id);
+ if (staffOnJob == null) {
+ throw new IllegalArgumentException("璇ュ憳宸ヤ笉瀛樺湪");
+ }
+
StaffOnJobDto staffOnJobDto = new StaffOnJobDto();
BeanUtils.copyProperties(staffOnJob, staffOnJobDto);
// 鏌ヨ宀椾綅鍚嶇О
@@ -131,6 +158,7 @@
// 鏌ヨ鍚堝悓淇℃伅
StaffContract contract = staffContractMapper.selectOne(Wrappers.<StaffContract>lambdaQuery()
.eq(StaffContract::getStaffOnJobId, staffOnJob.getId())
+ .last("limit 1")
.orderByDesc(StaffContract::getId));
if (contract != null){
staffOnJobDto.setContractTerm(contract.getContractTerm());
@@ -149,8 +177,8 @@
}
@Override
- public List<StaffJoinLeaveRecord> staffOnJobList() {
- return staffJoinLeaveRecordMapper.staffOnJobList();
+ public List<StaffOnJobDto> staffOnJobList(StaffOnJob staffOnJob) {
+ return staffOnJobMapper.staffOnJobList(staffOnJob);
}
@Override
--
Gitblit v1.9.3