From 4fe77f83783b35d9e541d6dd56d95b40f0af0670 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期四, 18 三月 2021 07:19:41 +0800
Subject: [PATCH] fix(bug修复): 重新打开档案时,将原离职日期设置成1900-01-01,以便前端不再显示

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 41 insertions(+), 6 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 23fba4c..42ea780 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
@@ -22,6 +22,7 @@
 import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
 import cc.mrbird.febs.server.hr.service.IEmpJobChangeService;
 import cc.mrbird.febs.server.hr.util.PoiExportExcel;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -271,6 +272,9 @@
      */
     private List<EmpBaseInfo> setDeptName(List<EmpBaseInfo> empBaseInfoList) {
         List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+        if(null == depts){
+            depts =remoteDeptService.setDeptRedis();
+        }
         for (EmpBaseInfo empBaseInfo : empBaseInfoList) {
             // 设置部门
             empBaseInfo.setDeptName(depts.stream()
@@ -444,6 +448,12 @@
             empBaseInfo.setEmpNumb(list.get(1).toString());
 
             List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+            if(null == depts){
+                depts =remoteDeptService.setDeptRedis();
+            }
+            if(null == depts){
+               depts =remoteDeptService.setDeptRedis();
+            }
             empBaseInfo.setDeptName(list.get(2).toString());
             Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(2).toString())).findFirst().orElse(null);
             if (null == dept) {
@@ -516,7 +526,7 @@
 
             empBaseInfo.setCensusAddress(list.get(15).toString());
             empBaseInfo.setCurrentAddress(list.get(16).toString());
-
+            //员工类型
             dicItem =dicItems.parallelStream().filter(j->StrUtil.equalsIgnoreCase(j.getDicCode(),"empType")&&StrUtil.equals(j.getDicItemName(),list.get(17).toString())).findFirst().orElse(null);
             if (null!=dicItem){
                 empBaseInfo.setEmpType(dicItem.getDicItemCode());
@@ -549,8 +559,23 @@
                 empBaseInfo.setEmpCardStatus(dicItem.getDicItemCode());
             }
 
+            //相关证件
+            List<DicItem> dicItemList = new ArrayList<>();
+            String[] certificateList = list.get(30).toString().split(StringConstant.COMMA);
+            if (null != certificateList){
+                for (String s : certificateList) {
+                    dicItem =   dicItems.parallelStream().filter(j->StrUtil.equalsIgnoreCase(j.getDicCode(),"certificateList")&&StrUtil.equals(j.getDicItemName(),s)).findFirst().orElse(null);
+                    if (null!=dicItem){
+                        dicItemList.add(dicItem);
+                    }
+                }
+            }
 
-            empBaseInfo.setCertificateList(list.get(30).toString());
+            if(CollUtil.isNotEmpty(dicItemList)){
+                empBaseInfo.setCertificateList(dicItemList.stream().map(i->i.getDicItemCode()).collect(Collectors.joining(StringConstant.COMMA)));
+            }
+
+
             empBaseInfo.setDelFlag(2);
             //入职类型
             dicItem =dicItems.parallelStream().filter(j->StrUtil.equalsIgnoreCase(j.getDicCode(),"lztype")&&StrUtil.equals(j.getDicItemName(),list.get(31).toString())).findFirst().orElse(null);
@@ -573,7 +598,7 @@
         if (StrUtil.isBlank(empBaseInfo.getImagePath())) {
             return;
         }
-        String path = properties.getEmpBaseInfoPath() + empBaseInfo.getEmpId() + ".png";
+        String path = properties.getEmpBaseInfoPath() + empBaseInfo.getImagePath();
         try (InputStream inputStream = new FileInputStream(path); OutputStream out = response.getOutputStream()) {
 
             //byte数组用于存放图片字节数据
@@ -582,9 +607,19 @@
             inputStream.read(buff);
             inputStream.close();
 
-            //设置发送到客户端的响应内容类型
-            response.setContentType("image/png");
-
+            String  contentType = empBaseInfo.getImagePath().substring(empBaseInfo.getImagePath().indexOf(".")+1);
+            if (contentType.equals("tif")){
+                //设置发送到客户端的响应内容类型
+                response.setContentType("image/tiff");
+            }else if (contentType.equals("bmp")){
+                response.setContentType("application/x-bmp");
+            }else if (contentType.equals("jpg")){
+                response.setContentType("image/jpeg");
+            }else if (contentType.equals("gif")){
+                response.setContentType("image/gif");
+            }else{
+                response.setContentType("image/png");
+            }
             out.write(buff);
         }
     }

--
Gitblit v1.8.0