From fda3f979616e3c5e26993ec7033900cd188ea296 Mon Sep 17 00:00:00 2001
From: 孔祥富 <kongxf@daryun.com>
Date: 星期四, 11 三月 2021 09:38:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/DeptTree.java                  |    1 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java         |    2 
 febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/system/Dept.java               |    5 +
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java                   |    6 +
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java          |    2 
 febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/mapper/DeptMapper.java            |    9 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java     |   11 +++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java  |   28 +++++++++
 febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/DeptServiceImpl.java |   20 ++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java  |   18 ++++--
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java    |   11 +++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java |   33 ++++++++++
 12 files changed, 135 insertions(+), 11 deletions(-)

diff --git a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/DeptTree.java b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/DeptTree.java
index 170182c..e1fd6de 100644
--- a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/DeptTree.java
+++ b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/DeptTree.java
@@ -14,4 +14,5 @@
     private Integer orderNum;
     private String deptType;
     private String deptFunction;
+    private String allDeptName;
 }
diff --git a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/system/Dept.java b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/system/Dept.java
index 1fdb561..ea466db 100644
--- a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/system/Dept.java
+++ b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/entity/system/Dept.java
@@ -67,6 +67,11 @@
     @TableField(exist = false)
     private String  deptFunctionName;
 
+    @FieldInfo(name = "allDeptName", type = "varchar", explain = "部门全称")
+    @TableField("allDeptName")
+    private String  allDeptName = "";
+
+
     private transient String createTimeFrom;
 
     private transient String createTimeTo;
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java
index 1890c62..90e29c2 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java
@@ -139,4 +139,15 @@
             throw new FebsException(message);
         }
     }
+
+    @GetMapping("image/{accessoryid}")
+    public void getImage(@PathVariable String accessoryid, HttpServletResponse response) throws FebsException {
+        try {
+            this.empAccessoryService.getImage(accessoryid,response);
+        } catch (Exception e) {
+            String message = "获取员工图片异常";
+            log.error(message, e);
+            throw new FebsException(message);
+        }
+    }
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java
index 9c6e7ed..6473101 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/FilesUploadController.java
@@ -108,4 +108,15 @@
             throw new FebsException(message);
         }
     }
+
+    @GetMapping("image/{filesid}")
+    public void getImage(@PathVariable String filesid, HttpServletResponse response) throws FebsException {
+        try {
+            this.filesUploadService.getImage(filesid,response);
+        } catch (Exception e) {
+            String message = "获取员工图片异常";
+            log.error(message, e);
+            throw new FebsException(message);
+        }
+    }
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
index a707e6a..b9ac15a 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
@@ -49,7 +49,7 @@
     @ExcelField(value = "档案号")
     private String archivesNumb = "";
 
-    //@FieldInfo(name = "deptId", type = "bigint", explain = "部门Id")
+    @FieldInfo(name = "deptId", type = "bigint", explain = "部门Id")
     @TableField("deptId")
     private Long deptId = 0L;
 
@@ -425,4 +425,8 @@
 
     @TableField(exist = false)
     private String inOutType;
+
+    @FieldInfo(name = "allDeptName", type = "varchar", explain = "部门全称")
+    @TableField("allDeptName")
+    private String  allDeptName = "";
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java
index 7f15290..a938787 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java
@@ -69,4 +69,6 @@
 
 
     void autoInstall(String fileids);
+
+    void getImage(String accessoryid,HttpServletResponse response) throws Exception;
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java
index 04125a3..6a97bd8 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IFilesUploadService.java
@@ -59,4 +59,6 @@
     void download(String fileids, HttpServletRequest request, HttpServletResponse response);
 
     void mvFiles(String fileids,Long folderid);
+
+    void getImage(String filesid,HttpServletResponse response) throws Exception;
 }
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 51a63f9..152b127 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
@@ -40,8 +40,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
 import java.util.*;
 import java.util.logging.Logger;
 
@@ -366,4 +365,34 @@
 
         }
     }
+
+    @Override
+    public void getImage(String accessoryid, HttpServletResponse response) throws Exception {
+        EmpAccessory empAccessory = this.getById(accessoryid);
+        if (StrUtil.isBlank(empAccessory.getFilesaddress())) {
+            return;
+        }
+        EmpBaseInfo empBaseInfo = empBaseInfoService.getById(empAccessory.getEmpid());
+        String nameAndCertificateNumb = empBaseInfo.getEmpName() + "_" + empBaseInfo.getCertificateNumb() + "/";
+        String path = properties.getUploadSinglePath() + nameAndCertificateNumb + empAccessory.getFilesaddress();
+        try (InputStream inputStream = new FileInputStream(path); OutputStream out = response.getOutputStream()) {
+            //byte数组用于存放图片字节数据
+            byte[] buff = new byte[inputStream.available()];
+            inputStream.read(buff);
+            inputStream.close();
+            if (empAccessory.getFilesformat().equals("tif")){
+                //设置发送到客户端的响应内容类型
+                response.setContentType("image/tiff");
+            }else if (empAccessory.getFilesformat().equals("bmp")){
+                response.setContentType("application/x-bmp");
+            }else if (empAccessory.getFilesformat().equals("jpg")){
+                response.setContentType("image/jpeg");
+            }else if (empAccessory.getFilesformat().equals("png")){
+                response.setContentType("image/png");
+            }else if (empAccessory.getFilesformat().equals("gif")){
+                response.setContentType("image/gif");
+            }
+            out.write(buff);
+        }
+    }
 }
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 774bb95..1af47de 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
@@ -97,7 +97,8 @@
         Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
         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()) ? "男" : "女");
@@ -254,6 +255,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 +909,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 +934,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());
@@ -1046,8 +1052,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());
 
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java
index 57274cc..5d2e1c7 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FilesUploadServiceImpl.java
@@ -178,6 +178,34 @@
         this.update(wapper);
 
     }
+    @Override
+    public void getImage(String filesid, HttpServletResponse response) throws Exception {
+        FilesUpload filesUpload = this.getById(filesid);
+        if (StrUtil.isBlank(filesUpload.getFilesaddress())) {
+            return;
+        }
+        Folder folder = iFolderService.getById(filesUpload.getFolderid());
+        String path = properties.getUploadCommonPath() + folder.getFoldername() + "/" + filesUpload.getFilesaddress();
+        try (InputStream inputStream = new FileInputStream(path); OutputStream out = response.getOutputStream()) {
+            //byte数组用于存放图片字节数据
+            byte[] buff = new byte[inputStream.available()];
+            inputStream.read(buff);
+            inputStream.close();
+            if (filesUpload.getFilesformat().equals("tif")){
+                //设置发送到客户端的响应内容类型
+                response.setContentType("image/tiff");
+            }else if (filesUpload.getFilesformat().equals("bmp")){
+                response.setContentType("application/x-bmp");
+            }else if (filesUpload.getFilesformat().equals("jpg")){
+                response.setContentType("image/jpeg");
+            }else if (filesUpload.getFilesformat().equals("png")){
+                response.setContentType("image/png");
+            }else if (filesUpload.getFilesformat().equals("gif")){
+                response.setContentType("image/gif");
+            }
+            out.write(buff);
+        }
+    }
 
 
 
diff --git a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/mapper/DeptMapper.java b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/mapper/DeptMapper.java
index 162c4e6..98ee69a 100644
--- a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/mapper/DeptMapper.java
+++ b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/mapper/DeptMapper.java
@@ -2,10 +2,17 @@
 
 import cc.mrbird.febs.common.core.entity.system.Dept;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * @author MrBird
  */
 public interface DeptMapper extends BaseMapper<Dept> {
-
+    @Update("<script>" +
+            " update t_dept\n" +
+            " set allDeptName = replace(allDeptName, #{fromName}, #{toName})" +
+            " where allDeptName like #{queryParam}" +
+            "</script>")
+    public void changeAllDeptName(@Param("fromName") String fromName, @Param("toName") String toName,@Param("queryParam") String queryParam);
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/DeptServiceImpl.java b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/DeptServiceImpl.java
index 0cb1d42..b80e6fd 100644
--- a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/DeptServiceImpl.java
+++ b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/DeptServiceImpl.java
@@ -9,6 +9,7 @@
 import cc.mrbird.febs.common.core.entity.constant.StringConstant;
 import cc.mrbird.febs.common.core.entity.system.Dept;
 import cc.mrbird.febs.common.core.entity.system.DicItem;
+import cc.mrbird.febs.common.core.entity.system.UserDataPermission;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
 import cc.mrbird.febs.common.core.utils.SortUtil;
@@ -40,6 +41,7 @@
 public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements IDeptService {
     private final RedisService redisService;
     private final IUserDataPermissionService userDataPermissionService;
+    private final DeptMapper deptMapper;
 
     @Override
     public Map<String, Object> findDepts(QueryRequest request, Dept dept) {
@@ -80,12 +82,19 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void createDept(Dept dept) {
-        dept.setDeptId(SequenceUtil.generateId(0L, ModuleCode.FRAM_SYSTEM));
+        long deptId = SequenceUtil.generateId(0L, ModuleCode.FRAM_SYSTEM);
+        dept.setDeptId(deptId);
         if (dept.getParentId() == null) {
             dept.setParentId(Dept.TOP_DEPT_ID);
         }
+        dept.setAllDeptName(createALlDeptName(dept));
         dept.setCreateTime(new Date());
         this.save(dept);
+
+        UserDataPermission userDataPermission = new UserDataPermission();
+        userDataPermission.setDeptId(deptId);
+        userDataPermission.setUserId(Long.parseLong(FebsUtil.getUserId()));
+        userDataPermissionService.save(userDataPermission);
     }
 
     @Override
@@ -94,8 +103,12 @@
         if (dept.getParentId() == null) {
             dept.setParentId(Dept.TOP_DEPT_ID);
         }
+        String oldAllName = dept.getAllDeptName();
+        String newAllName = createALlDeptName(dept);
         dept.setModifyTime(new Date());
         this.baseMapper.updateById(dept);
+
+        deptMapper.changeAllDeptName(oldAllName,newAllName,oldAllName + "%");
     }
 
     @Override
@@ -132,6 +145,7 @@
             tree.setOrderNum(dept.getOrderNum());
             tree.setDeptFunction(dept.getDeptFunction());
             tree.setDeptType(dept.getDeptType());
+            tree.setAllDeptName(dept.getAllDeptName());
             trees.add(tree);
         });
     }
@@ -150,4 +164,8 @@
         }
     }
 
+    private String createALlDeptName(Dept dept){
+        Dept parent = this.getById(dept.getParentId());
+        return parent.getAllDeptName() + "/" + dept.getDeptName();
+    }
 }

--
Gitblit v1.8.0