From d014a10a4e597718375c0964f0394babb3eae7d7 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期日, 13 三月 2022 10:02:44 +0800
Subject: [PATCH] fix(bug修复): 增加了定时计算年龄的定时任务

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java |   37 +++++++++++++------------------------
 1 files changed, 13 insertions(+), 24 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..ecaaebd 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);
                     }
                 }
             };

--
Gitblit v1.8.0