refactor(system): 优化劳动合同状态管理

- 修改劳动合同状态常量,提高代码可读性
- 修正合同到期状态判断逻辑- 更新合同状态更新方法,使用正确的新状态
This commit is contained in:
furongxin 2024-11-11 17:29:46 +08:00
parent 80f91de677
commit 83d3fdb323
3 changed files with 21 additions and 4 deletions

View File

@ -25,6 +25,14 @@ import java.util.List;
@AllArgsConstructor
public class LaborContractDO extends BaseDO {
/**
* 状态 0待签 1过期 2已签 3离职
*/
public static final Integer STATUS_WAIT_SIGN = 0;
public static final Integer STATUS_EXPIRE = 1;
public static final Integer STATUS_SIGN = 2;
public static final Integer STATUS_LEAVE = 3;
/**
* id
*/
@ -55,7 +63,7 @@ public class LaborContractDO extends BaseDO {
*/
private Integer probationPeriodTime;
/**
* 状态 0待签 2过期 3已签 4离职
* 状态 0待签 1过期 2已签 3离职
*/
private Integer status;
/**

View File

@ -95,7 +95,7 @@ public class BirthdayJob {
if (CollectionUtil.isNotEmpty(laborContractDOS)) {
// 修改合同状态为过期
laborContractService.updateLaborContractList(convertList(laborContractDOS, LaborContractDO::getId), 2);
laborContractService.updateLaborContractList(convertList(laborContractDOS, LaborContractDO::getId), LaborContractDO.STATUS_EXPIRE);
for (AdminUserDO adminUserDO : userDOs) {
if( adminUserDO.getOpenId() != null && !adminUserDO.getOpenId().isEmpty()) {

View File

@ -50,7 +50,16 @@ public class LaborContractServiceImpl implements LaborContractService {
LaborContractDO laborContract = BeanUtils.toBean(createReqVO, LaborContractDO.class);
// 设置到期时间
laborContract.setExpirationDate(laborContract.getSigningDate().plusYears(laborContract.getContractDuration()));
laborContract.setStatus(2);
// 判断到期时间是否小于当前日期
if (laborContract.getExpirationDate().isBefore(LocalDate.now())) {
// 设置合同状态为过期
laborContract.setStatus(LaborContractDO.STATUS_EXPIRE);
}else {
// 设置合同状态为 已签
laborContract.setStatus(LaborContractDO.STATUS_SIGN);
}
laborContractMapper.insert(laborContract);
// 返回
@ -130,7 +139,7 @@ public class LaborContractServiceImpl implements LaborContractService {
return laborContractMapper.selectList(new LambdaQueryWrapperX<LaborContractDO>()
.lt(LaborContractDO::getExpirationDate, now)
.eq(LaborContractDO::getStatus, 3));
.eq(LaborContractDO::getStatus, LaborContractDO.STATUS_SIGN));
}
@Override