From 247a809ce4c98acca5598e5a56f1e854f241dddb Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Sun, 22 Sep 2024 15:46:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=B3=E5=8A=A8=E5=90=88=E5=90=8C=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0=E5=8F=8A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BC=98=E5=8C=96-=20=E6=9B=B4=E6=96=B0=E5=8A=B3?= =?UTF-8?q?=E5=8A=A8=E5=90=88=E5=90=8C=E7=8A=B6=E6=80=81=E7=9A=84=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E5=AE=9A=E4=B9=89=EF=BC=8C=E4=BB=A5=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E7=8A=B6=E6=80=81=E6=B5=81=E7=A8=8B=E3=80=82?= =?UTF-8?q?=20-=20=E5=9C=A8LaborContractService=E4=B8=AD=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=96=B9=E6=B3=95updateLaborContractList=EF=BC=8C=E4=BB=A5?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9B=B4=E6=96=B0=E5=90=88=E5=90=8C=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E3=80=82=20-=20=E6=89=A9=E5=B1=95LaborContractService?= =?UTF-8?q?Impl=EF=BC=8C=E5=AE=9E=E7=8E=B0=E6=96=B0=E7=9A=84=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91=E5=8F=8A=E5=90=88?= =?UTF-8?q?=E5=90=8C=E5=88=B0=E6=9C=9F=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E3=80=82=20-=E8=B0=83=E6=95=B4=E6=95=B0=E6=8D=AE=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1LaborContractDO=EF=BC=8C=E4=BB=A5=E5=8F=8D=E6=98=A0?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8F=98=E6=9B=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 此更改支持劳动合同模块的新业务需求,即支持额外的状态并优化状态管理流程。 --- .../laborcontract/LaborContractDO.java | 2 +- .../laborcontract/LaborContractService.java | 17 ++++++++++++++ .../LaborContractServiceImpl.java | 23 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/laborcontract/LaborContractDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/laborcontract/LaborContractDO.java index 402911c6..03733975 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/laborcontract/LaborContractDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/laborcontract/LaborContractDO.java @@ -55,7 +55,7 @@ public class LaborContractDO extends BaseDO { */ private Integer probationPeriodTime; /** - * 状态 0待签 1已签 2过期 + * 状态 0待签 2过期 3已签 4离职 */ private Integer status; /** diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractService.java index 7a137aac..f8853c3b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractService.java @@ -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 ids, Integer status); + /** * 删除劳动合同管理 * @@ -67,4 +75,13 @@ public interface LaborContractService { * @return 签约信息列表 */ List getListByUserIds(List userIds); + + /** + * 获得 到期日期小于指定日期的合同列表 + * @param now 日期 + * @return 合同列表 + */ + List getListByEndTime(LocalDate now); + + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java index 21728fd6..ba0a7396 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/laborcontract/LaborContractServiceImpl.java @@ -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 ids, Integer status) { + + List 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 getListByEndTime(LocalDate now) { + + return laborContractMapper.selectList(new LambdaQueryWrapperX() + .lt(LaborContractDO::getExpirationDate, now) + .eq(LaborContractDO::getStatus, 3)); + } } \ No newline at end of file