From b5a3bcac50f9c0dda9a1c3acf9c6189822e7746a Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Mon, 23 Sep 2024 14:26:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E5=85=A5=E8=81=8C?= =?UTF-8?q?=E5=92=8C=E8=BD=AC=E6=AD=A3=E6=97=B6=E9=97=B4=E7=9A=84API?= =?UTF-8?q?=E5=92=8C=E7=9B=B8=E5=85=B3=E6=9C=8D=E5=8A=A1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LaborContractController.java | 21 +++++++++++++++++++ .../laborcontract/vo/SigningDateRespVO.java | 20 ++++++++++++++++++ .../admin/laborcontract/vo/UploadFile.java | 5 ++++- .../laborcontract/LaborContractService.java | 8 ++++++- .../LaborContractServiceImpl.java | 13 ++++++++++++ 5 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/SigningDateRespVO.java diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/LaborContractController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/LaborContractController.java index f84a4899..b228fe48 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/LaborContractController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/LaborContractController.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 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; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.SigningDateRespVO; import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; @@ -21,9 +22,12 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @Tag(name = "管理后台 - 劳动合同管理") @RestController @@ -101,4 +105,21 @@ public class LaborContractController { return success(laborContractService.getLaborContractPage(pageReqVO)); } + + @GetMapping("/getSigningDate") + @Operation(summary = "获得当前登录用户的入职时间和转正时间") + @PreAuthorize("@ss.hasPermission('system:labor-contract:query')") + public CommonResult getSigningDate() { + + LaborContractDO contractDO = laborContractService.getSigningDate(getLoginUserId()); + if (contractDO == null) { + return success(new SigningDateRespVO()); + } + + SigningDateRespVO respVO = BeanUtils.toBean(contractDO, SigningDateRespVO.class); + // 设置转正日期 + LocalDate regularDate = contractDO.getSigningDate().plusMonths(contractDO.getProbationPeriodTime()); + respVO.setRegularDate(regularDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + return success(respVO); + } } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/SigningDateRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/SigningDateRespVO.java new file mode 100644 index 00000000..31650d41 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/SigningDateRespVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +@Schema(description = "管理后台 - 劳动合同管理 Response VO") +@Data +public class SigningDateRespVO { + + @Schema(description = "签约日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private String signingDate; + + @Schema(description = "转正日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private String regularDate; +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/UploadFile.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/UploadFile.java index 723b9c14..5ce0d6c5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/UploadFile.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/laborcontract/vo/UploadFile.java @@ -9,9 +9,12 @@ import lombok.Data; @Data public class UploadFile { - @Schema(description = "文件管理 fileId", requiredMode = Schema.RequiredMode.REQUIRED, example = "123.jpg") + @Schema(description = "文件管理 fileId", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private String fileId; + @Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "123.jpg") + private String fileName; + @Schema(description = "文件URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "http://xxx.xxx/xx/xx/123.jpgss") private String url; 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 f8853c3b..4a821ee4 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 @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; 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; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.SigningDateRespVO; import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; import javax.validation.Valid; @@ -83,5 +84,10 @@ public interface LaborContractService { */ List getListByEndTime(LocalDate now); - + /** + * 获得当前登录用户的入职时间和转正时间 + * @param userId 用户编号 + * @return 日期 + */ + LaborContractDO getSigningDate(Long userId); } \ 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 ba0a7396..5aa03550 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 @@ -1,11 +1,13 @@ package cn.iocoder.yudao.module.system.service.laborcontract; +import cn.hutool.core.collection.CollectionUtil; 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; +import cn.iocoder.yudao.module.system.controller.admin.laborcontract.vo.SigningDateRespVO; import cn.iocoder.yudao.module.system.dal.dataobject.laborcontract.LaborContractDO; import cn.iocoder.yudao.module.system.dal.mysql.laborcontract.LaborContractMapper; import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper; @@ -118,4 +120,15 @@ public class LaborContractServiceImpl implements LaborContractService { .lt(LaborContractDO::getExpirationDate, now) .eq(LaborContractDO::getStatus, 3)); } + + @Override + public LaborContractDO getSigningDate(Long userId) { + + List list = laborContractMapper.selectList(new LambdaQueryWrapperX() + .eq(LaborContractDO::getUserId, userId) + .isNotNull(LaborContractDO::getProbationPeriodTime) + .orderByDesc(LaborContractDO::getCreateTime)); + + return CollectionUtil.isEmpty(list) ? null : list.get(0); + } } \ No newline at end of file