From 543941f345319f29f92d9be2529d41868bc3cf80 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期五, 18 六月 2021 15:03:26 +0800
Subject: [PATCH] fix(bug修复): 相关证件多项查询修改

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   70 ++++++++++++++++++++++++++++------
 1 files changed, 57 insertions(+), 13 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
index 1540dc3..b52a096 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -98,6 +98,7 @@
         //设置部门
         // List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
         List<EmpBaseInfo> list = iPage.getRecords();
+        List<EmpBaseInfo> newList = new ArrayList<>();
         List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
         list.forEach(p -> {
             p.setSexName("1".equals(p.getSex()) ? "男" : "女");
@@ -157,8 +158,23 @@
                     .findFirst()
                     .map(DicItem::getDicItemName)
                     .orElse(""));
-            p.setCertificateListName(getCertificateListName(p.getCertificateList(),dicItems));
+            p.setCertificateListName(getCertificateListName(p.getCertificateList(), dicItems));
         });
+        // if (StringUtils.isNotBlank(empBaseInfo.getCertificateList())) {
+        //     String[] certificates = empBaseInfo.getCertificateList().split(",");
+        //     list.forEach(k -> {
+        //         String[] dbCertificates = k.getCertificateList().split(",");
+        //         for (String certificate : certificates) {
+        //             if (Arrays.asList(dbCertificates).contains(certificate)) {
+        //                 newList.add(k);
+        //                 break;
+        //             }
+        //         }
+        //     });
+        //     iPage.setRecords(newList);
+        // } else {
+        //     iPage.setRecords(list);
+        // }
         iPage.setRecords(list);
         return iPage;
     }
@@ -536,7 +552,7 @@
             }
 
             if (StringUtils.isNotBlank(list.get(11).toString())) {
-                empBaseInfo.setEntryDate(DateUtil.parseDate(list.get(11).toString()));
+                empBaseInfo.setEntryDate(DateUtil.parse(list.get(11).toString()));
             }
 
             //最高学历
@@ -696,17 +712,22 @@
                 p.setEmpTypeName("1".equals(p.getEmpType()) ? "正式工" : "临时工");
             }
             if (StringUtils.isNotBlank(p.getDimissionType())) {
-                if ("1".equals(p.getDimissionType())) {
-                    p.setDimissionTypeName("正常离职");
-                } else if ("2".equals(p.getDimissionType())) {
-                    p.setDimissionTypeName("自动离职");
-                } else if ("3".equals(p.getDimissionType())) {
-                    p.setDimissionTypeName("公司劝退");
-                } else if ("4".equals(p.getDimissionType())) {
-                    p.setDimissionTypeName("公司辞退");
-                } else if ("5".equals(p.getDimissionType())) {
-                    p.setDimissionTypeName("试用期内");
-                }
+                // if ("1".equals(p.getDimissionType())) {
+                //     p.setDimissionTypeName("正常离职");
+                // } else if ("2".equals(p.getDimissionType())) {
+                //     p.setDimissionTypeName("自动离职");
+                // } else if ("3".equals(p.getDimissionType())) {
+                //     p.setDimissionTypeName("公司劝退");
+                // } else if ("4".equals(p.getDimissionType())) {
+                //     p.setDimissionTypeName("公司辞退");
+                // } else if ("5".equals(p.getDimissionType())) {
+                //     p.setDimissionTypeName("试用期内");
+                // }
+                p.setDimissionTypeName(dicItems.stream()
+                        .filter(k -> DicCode.IN_OUT_TYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getDimissionType()))
+                        .findFirst()
+                        .map(DicItem::getDicItemName)
+                        .orElse(""));
             }
             p.setInsuranceTypeName("1".equals(p.getInsuranceType()) ? "(深户)五险一档" : "(非深户)五险一档");
             p.setArchivesStatusName("0".equals(p.getArchivesStatus()) ? "未移交" : "已移交");
@@ -1140,6 +1161,19 @@
             });
             //queryWrapper.in("a.dimissionType", empBaseInfo.getDimissionType().split(","));
         }
+        if (StringUtils.isNotBlank(empBaseInfo.getCertificateList())) {
+            String[] certificates = empBaseInfo.getCertificateList().split(",");
+            Consumer<QueryWrapper<EmpBaseInfo>> consumer = new Consumer<QueryWrapper<EmpBaseInfo>>() {
+                @Override
+                public void accept(QueryWrapper<EmpBaseInfo> wrapper) {
+                    for (int i = 0; i < certificates.length; i++) {
+                        String ageBtn =  certificates[i] ;
+                        wrapper.or().gt("LOCATE('"+ageBtn+"',certificateList)",0);
+                    }
+                }
+            };
+            queryWrapper.and(consumer);
+        }
         queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA));
         return queryWrapper;
     }
@@ -1366,4 +1400,14 @@
         }
         return tempName;
     }
+
+    @Override
+    public boolean updateSeniority() {
+        return empBaseInfoMapper.updateSeniority() > 0;
+    }
+
+    @Override
+    public boolean updateDeptName() {
+        return empBaseInfoMapper.updateDeptName() > 0;
+    }
 }

--
Gitblit v1.8.0