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