From 97816a0fa698c71e7c75033bd6ba5ad3172a17f2 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期三, 11 三月 2026 18:01:46 +0800
Subject: [PATCH] feat(hr): 添加员工提醒功能增强

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java |   39 ++++++++++++++-------------------------
 1 files changed, 14 insertions(+), 25 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
index f876128..2b65e56 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
@@ -93,29 +93,16 @@
         if (StrUtil.isNotBlank(vo.getEntryDate())) {
             queryWrapper.between("a.entryDate", vo.getEntryDate().split(",")[0], vo.getEntryDate().split(",")[1]);
         }
-        if (StrUtil.isNotBlank(vo.getAge())) {
-            String[] arr = vo.getAge().split(",");
-            for (String s : arr) {
-                if (StrUtil.equals(s, "18-29")) {
-                    queryWrapper.or().between("a.age", 18, 29);
-                }
-                if (StrUtil.equals(s, "30-39")) {
-                    queryWrapper.or().between("a.age", 30, 39);
-                }
-                if (StrUtil.equals(s, "40-49")) {
-                    queryWrapper.or().between("a.age", 40, 49);
-                }
-                if (StrUtil.equals(s, "50-59")) {
-                    queryWrapper.or().between("a.age", 50, 59);
-                }
-                if (StrUtil.equals(s, "60-69")) {
-                    queryWrapper.or().between("a.age", 60, 69);
-                }
-                if (StrUtil.equals(s, "69-999")) {
-                    queryWrapper.or().ge("a.age", 69);
-                }
-            }
 
+        if (StringUtils.isNotBlank(vo.getAge())) {
+            String[] ages = vo.getAge().split(",");
+            Consumer<QueryWrapper<EmpAccessoryVO>> consumer = wrapper -> {
+                for (int i = 0; i < ages.length; i++) {
+                    String ageBtn = ages[i];
+                    wrapper.or().between("a.Age", ageBtn.split("-")[0], ageBtn.split("-")[1]);
+                }
+            };
+            queryWrapper.and(consumer);
         }
         if (StrUtil.isNotBlank(vo.getArchivesStatus())) {
             queryWrapper.in("a.archivesStatus", vo.getArchivesStatus().split(","));
@@ -155,8 +142,10 @@
                 @Override
                 public void accept(QueryWrapper<EmpAccessoryVO> wrapper) {
                     for (int i = 0; i < certificates.length; i++) {
-                        String ageBtn = certificates[i];
-                        wrapper.or().like("a.certificateList", ageBtn);
+                        // String ageBtn = certificates[i];
+                        // wrapper.or().like("a.certificateList", ageBtn);
+                        String ageBtn = "|" + certificates[i] + "|";
+                        wrapper.gt("LOCATE('"+ageBtn+"',CONCAT('|',replace( certificateList, ',', '|,|'),'|'))",0);
                     }
                 }
             };
@@ -197,7 +186,7 @@
                 queryWrapper.orderByAsc("a.certificateNumb");
             }
         }
-        queryWrapper.groupBy(" a.delFlag,a.empName,a.empStatus,a.empId,a.certificateNumb,a.empNumb,deptName,a.jobName");
+        queryWrapper.groupBy(" a.delFlag,a.empName,a.empStatus,a.empId,a.certificateNumb,a.empNumb,deptName,a.jobName,a.deptId");
         Page<EmpAccessory> page = new Page<>(request.getPageNum(), request.getPageSize());
        // String querySql = empAccessoryMapper.getQuerySql();
        //List<Label> labelList = labelService.findLabels(new Label());

--
Gitblit v1.8.0