劳动合同模块状态更新及查询优化- 更新劳动合同状态的枚举定义,以支持新的状态流程。

- 在LaborContractService中添加方法updateLaborContractList,以批量更新合同状态。
- 扩展LaborContractServiceImpl,实现新的状态更新逻辑及合同到期查询功能。
-调整数据对象LaborContractDO,以反映状态变更。

此更改支持劳动合同模块的新业务需求,即支持额外的状态并优化状态管理流程。
This commit is contained in:
furongxin 2024-09-22 15:46:02 +08:00
parent 0a460e76ee
commit 247a809ce4
3 changed files with 41 additions and 1 deletions

View File

@ -55,7 +55,7 @@ public class LaborContractDO extends BaseDO {
*/
private Integer probationPeriodTime;
/**
* 状态 0待签 1已签 2过期
* 状态 0待签 2过期 3已签 4离职
*/
private Integer status;
/**

View File

@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborCon
import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO;
import javax.validation.Valid;
import java.time.LocalDate;
import java.util.List;
/**
@ -31,6 +32,13 @@ public interface LaborContractService {
*/
void updateLaborContract(@Valid LaborContractSaveReqVO updateReqVO);
/**
* 批量更新合同状态
* @param ids 主键列表
* @param status 状态
*/
void updateLaborContractList(List<Long> ids, Integer status);
/**
* 删除劳动合同管理
*
@ -67,4 +75,13 @@ public interface LaborContractService {
* @return 签约信息列表
*/
List<LaborContractDO> getListByUserIds(List<Long> userIds);
/**
* 获得 到期日期小于指定日期的合同列表
* @param now 日期
* @return 合同列表
*/
List<LaborContractDO> getListByEndTime(LocalDate now);
}

View File

@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.service.laborcontract;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractRespVO;
import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.LaborContractSaveReqVO;
@ -14,7 +15,9 @@ import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.List;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.LABOR_CONTRACT_NOT_EXISTS;
@ -56,6 +59,18 @@ public class LaborContractServiceImpl implements LaborContractService {
laborContractMapper.updateById(updateObj);
}
@Override
public void updateLaborContractList(List<Long> ids, Integer status) {
List<LaborContractDO> updateVO = ids.stream()
.map(id -> new LaborContractDO()
.setId(id)
.setStatus(status))
.collect(Collectors.toList());
laborContractMapper.updateBatch(updateVO);
}
@Override
public void deleteLaborContract(Long id) {
// 校验存在
@ -95,4 +110,12 @@ public class LaborContractServiceImpl implements LaborContractService {
return laborContractMapper.selectList(LaborContractDO::getUserId, userIds);
}
@Override
public List<LaborContractDO> getListByEndTime(LocalDate now) {
return laborContractMapper.selectList(new LambdaQueryWrapperX<LaborContractDO>()
.lt(LaborContractDO::getExpirationDate, now)
.eq(LaborContractDO::getStatus, 3));
}
}