From b852254d90e7d1955db31db154193ec8ee84d8b3 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 09 九月 2026 10:57:59 +0800
Subject: [PATCH] feat(hrm): 新增员工用工性质、班组归属字段及考勤异常处理优化
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/certificate/HrmCertificateMapper.java | 37 ++++++++++++++++++++++++++++++++++---
1 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/certificate/HrmCertificateMapper.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/certificate/HrmCertificateMapper.java
index 2f6adbe..a973b94 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/certificate/HrmCertificateMapper.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/certificate/HrmCertificateMapper.java
@@ -7,6 +7,9 @@
import cn.iocoder.yudao.module.hrm.dal.dataobject.certificate.HrmCertificateDO;
import org.apache.ibatis.annotations.Mapper;
+import java.time.LocalDate;
+import java.util.List;
+
/**
* HRM 璇佷功璧勮川 Mapper
*
@@ -15,12 +18,40 @@
@Mapper
public interface HrmCertificateMapper extends BaseMapperX<HrmCertificateDO> {
+ /**
+ * 鍒版湡鎻愰啋澶╂暟
+ */
+ int REMIND_DAYS = 30;
+
default PageResult<HrmCertificateDO> selectPage(HrmCertificatePageReqVO reqVO) {
- return selectPage(reqVO, new LambdaQueryWrapperX<HrmCertificateDO>()
+ LambdaQueryWrapperX<HrmCertificateDO> query = new LambdaQueryWrapperX<HrmCertificateDO>()
.eqIfPresent(HrmCertificateDO::getEmployeeId, reqVO.getEmployeeId())
.eqIfPresent(HrmCertificateDO::getCertType, reqVO.getCertType())
- .likeIfPresent(HrmCertificateDO::getCertName, reqVO.getCertName())
- .orderByDesc(HrmCertificateDO::getId));
+ .likeIfPresent(HrmCertificateDO::getCertName, reqVO.getCertName());
+ // 鍒版湡绫诲瀷绛涢�夛紙閰嶅悎鍚堣鍒楄〃/寰呭姙鎻愰啋锛夛細1=鍗冲皢鍒版湡锛�2=宸茶繃鏈�
+ if (reqVO.getExpiryType() != null) {
+ LocalDate today = LocalDate.now();
+ if (reqVO.getExpiryType() == 1) { // 鍗冲皢鍒版湡
+ query.between(HrmCertificateDO::getExpireDate, today, today.plusDays(REMIND_DAYS));
+ } else if (reqVO.getExpiryType() == 2) { // 宸茶繃鏈�
+ query.isNotNull(HrmCertificateDO::getExpireDate)
+ .lt(HrmCertificateDO::getExpireDate, today);
+ }
+ }
+ return selectPage(reqVO, query.orderByDesc(HrmCertificateDO::getId));
+ }
+
+ /**
+ * 鏌ヨ鏈夋晥鏈熻惤鍦� [start, end] 涔嬮棿鐨勮瘉涔︼紙鍒版湡鎻愰啋鐢級
+ *
+ * @param start 璧峰鏃ユ湡
+ * @param end 鎴鏃ユ湡
+ * @return 鍗冲皢鍒版湡璇佷功鍒楄〃
+ */
+ default List<HrmCertificateDO> selectListByExpireDateBetween(LocalDate start, LocalDate end) {
+ return selectList(new LambdaQueryWrapperX<HrmCertificateDO>()
+ .isNotNull(HrmCertificateDO::getExpireDate)
+ .between(HrmCertificateDO::getExpireDate, start, end));
}
}
--
Gitblit v1.9.3