劳动合同模块状态更新及查询优化- 更新劳动合同状态的枚举定义,以支持新的状态流程。
- 在LaborContractService中添加方法updateLaborContractList,以批量更新合同状态。 - 扩展LaborContractServiceImpl,实现新的状态更新逻辑及合同到期查询功能。 -调整数据对象LaborContractDO,以反映状态变更。 此更改支持劳动合同模块的新业务需求,即支持额外的状态并优化状态管理流程。
This commit is contained in:
parent
0a460e76ee
commit
247a809ce4
@ -55,7 +55,7 @@ public class LaborContractDO extends BaseDO {
|
||||
*/
|
||||
private Integer probationPeriodTime;
|
||||
/**
|
||||
* 状态 0待签 1已签 2过期
|
||||
* 状态 0待签 2过期 3已签 4离职
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
|
@ -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);
|
||||
|
||||
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user