From fab1d50fca1bcc38dd37fd7159d5235ddf9593fe Mon Sep 17 00:00:00 2001
From: 孔祥富 <kongxf@daryun.com>
Date: 星期五, 12 三月 2021 09:09:04 +0800
Subject: [PATCH] xx

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 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 8ff4e59..dd6b455 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
@@ -5,10 +5,11 @@
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
+import cc.mrbird.febs.common.core.entity.constant.FebsConstant;
 import cc.mrbird.febs.common.core.entity.constant.StringConstant;
 import cc.mrbird.febs.common.core.entity.system.SysConfig;
 import cc.mrbird.febs.common.core.exception.FebsException;
-import cc.mrbird.febs.common.core.utils.MyUtil;
+import cc.mrbird.febs.common.core.utils.*;
 import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
 import cc.mrbird.febs.server.hr.entity.EmpJobChange;
 import cc.mrbird.febs.server.hr.feign.IRemoteDicItemService;
@@ -39,9 +40,6 @@
 import cc.mrbird.febs.common.core.entity.QueryRequest;
 import cc.mrbird.febs.common.core.entity.system.Dept;
 import cc.mrbird.febs.common.core.entity.system.DicItem;
-import cc.mrbird.febs.common.core.utils.CastUtil;
-import cc.mrbird.febs.common.core.utils.FebsUtil;
-import cc.mrbird.febs.common.core.utils.SequenceUtil;
 import cc.mrbird.febs.common.redis.service.RedisService;
 import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
 import cc.mrbird.febs.server.hr.feign.IRemoteDeptService;
@@ -95,9 +93,11 @@
     @Override
     public IPage<EmpBaseInfo> findZsEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
         Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true);
         IPage<EmpBaseInfo> iPage = empBaseInfoMapper.selectPageVo(page, createQueryWrapper(empBaseInfo));
         //设置部门
-        List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
+        // List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
+        List<EmpBaseInfo> list = iPage.getRecords();
         List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
         list.forEach(p -> {
             p.setSexName("1".equals(p.getSex()) ? "男" : "女");
@@ -151,12 +151,12 @@
                     .filter(k -> DicCode.IN_OUT_TYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getEntryType()))
                     .findFirst()
                     .map(DicItem::getDicItemName)
-                    .orElse("未知"));
+                    .orElse(""));
             p.setDimissionTypeName(dicItems.stream()
                     .filter(k -> DicCode.IN_OUT_TYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getDimissionType()))
                     .findFirst()
                     .map(DicItem::getDicItemName)
-                    .orElse("未知"));
+                    .orElse(""));
         });
         iPage.setRecords(list);
         return iPage;
@@ -254,6 +254,11 @@
                     .filter(k -> k.getDeptId().equals(empBaseInfo.getDeptId()))
                     .findFirst()
                     .map(Dept::getDeptName)
+                    .orElse(""));
+            empBaseInfo.setAllDeptName(depts.stream()
+                    .filter(k -> k.getDeptId().equals(empBaseInfo.getDeptId()))
+                    .findFirst()
+                    .map(Dept::getAllDeptName)
                     .orElse(""));
         }
         return empBaseInfoList;
@@ -903,8 +908,8 @@
         if (StringUtils.isNotBlank(empBaseInfo.getBaseKey())) {
             queryWrapper.and(p -> {
                 p.like("a.EmpNumb", empBaseInfo.getBaseKey());
-                p.or().like("a.EmpName", empBaseInfo.getBaseKey());
-                p.or().like("a.DeptName", empBaseInfo.getBaseKey());
+                p.or().like("a.allDeptName", empBaseInfo.getBaseKey());
+                p.or().like("a.empName", empBaseInfo.getBaseKey());
                 p.or().like("a.CertificateNumb", empBaseInfo.getBaseKey());
                 p.or().like("a.archivesNumb", empBaseInfo.getBaseKey());
                 p.or().like("a.stature", empBaseInfo.getBaseKey());
@@ -928,7 +933,7 @@
             queryWrapper.like("a.EmpName", empBaseInfo.getEmpName());
         }
         if (StringUtils.isNotBlank(empBaseInfo.getDeptName())) {
-            queryWrapper.like("a.DeptName", empBaseInfo.getDeptName());
+            queryWrapper.like("a.allDeptName", empBaseInfo.getDeptName());
         }
         if (StringUtils.isNotBlank(empBaseInfo.getCertificateNumb())) {
             queryWrapper.like("a.CertificateNumb", empBaseInfo.getCertificateNumb());
@@ -981,6 +986,13 @@
         }
         if (StringUtils.isNotBlank(empBaseInfo.getDimissionType())) {
             queryWrapper.in("a.dimissionType", empBaseInfo.getDimissionType().split(","));
+        }
+        if (StringUtils.isNotBlank(empBaseInfo.getInOutType())) {
+            queryWrapper.and(p->{
+                p.in("a.dimissionType", empBaseInfo.getInOutType().split(","));
+                p.or().in("a.entryType",empBaseInfo.getInOutType().split(","));
+            });
+            //queryWrapper.in("a.dimissionType", empBaseInfo.getDimissionType().split(","));
         }
         queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA));
         return queryWrapper;
@@ -1039,8 +1051,8 @@
         List<EmpBaseInfo> exportList = this.findZsEmpBaseInfos(request, empBaseinfo).getRecords();
         List<Map<String, Object>> listMapDicItem = new ArrayList();
         listMapDicItem.add(map);
-        String exportField = FebsUtil.reflectAnnotation(EmpBaseInfo.class);
-        List<Map<String, Object>> allList = PoiExportExcel.getDataList(exportField, exportList, listMapDicItem);
+        String exportField = "archivesNumb, deptName, jobName, empName, certificateNumb, certificateValidity, sexName, nationName, age, marriageName, stature, birthdate, politicsName, empTypeName, educationName, nativePlaceName, censusAddress, currentAddress, guardNumb, returnReceipt, archivesStatusName, bankName, bankNumb, telePhone, entryDate, InsuranceTypeName, socialNumb, introducer, seniority, empCardStatusName, certificateList, urgencyPhone, handbookStatusName, family, empStatusName, dimissionDate";
+        List<Map<String, Object>> allList = PoiExportExcel.getDataList(exportField, exportList, null);
         Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
         List<Long> empIds = exportList.stream().map(i -> i.getEmpId()).collect(Collectors.toList());
 

--
Gitblit v1.8.0