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 | 76 +++++++++++++++++++++++++++++++++++---
1 files changed, 70 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 c45db03..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;
@@ -79,6 +80,9 @@
private final IRemoteDicItemService remoteDicItemService;
private final EmpOccupationalMapper empOccupationalMapper;
private final IRemotePositionService remotePositionService;
+ private final EmpDimissionLogMapper empDimissionLogMapper;
+ private final EmpOpenArchivesMapper empOpenArchivesMapper;
+ private final EmpResignMapper empResignMapper;
@Override
public IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
@@ -236,6 +240,25 @@
String[] str = ids.split(",");
List<String> list = new ArrayList<>(Arrays.asList(str));
empBaseInfoMapper.logicDeleteByIds(list, operatorId);
+
+ //同步删除关联数据
+ //不良记录
+ empBadRecordMapper.logicDelByUserIds(list,operatorId);
+ empAccidentCasesMapper.logicDelByUserIds(list,operatorId);
+ empContractInfoMapper.logicDelByUserIds(list,operatorId);
+ empDimissionAttendMapper.logicDelByUserIds(list,operatorId);
+ empDimissionLogMapper.logicDelByUserIds(list,operatorId);
+ empInsuranceMapper.logicDelByUserIds(list,operatorId);
+ empJobChangeMapper.logicDelByUserIds(list,operatorId);
+ empLaborTroubleMapper.logicDelByUserIds(list,operatorId);
+ empLeaveInfoMapper.logicDelByUserIds(list,operatorId);
+ empOccupationalMapper.logicDelByUserIds(list,operatorId);
+ empOpenArchivesMapper.logicDelByUserIds(list,operatorId);
+ empPhysicalExamMapper.logicDelByUserIds(list,operatorId);
+ empRemarkInfoMapper.logicDelByUserIds(list,operatorId);
+ empResignMapper.logicDelByUserIds(list,operatorId);
+ empUnemploymentMapper.logicDelByUserIds(list,operatorId);
+ empWorkExperienceMapper.logicDelByUserIds(list,operatorId);
}
/**
@@ -249,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()
@@ -378,6 +404,7 @@
saveChange.setOldDeptName(strDeptName[i]);
saveChange.setOldJobName(strJobName[i]);
saveChange.setNewDeptName(empJobChange.getNewDeptName());
+ saveChange.setAllDeptName(empJobChange.getAllDeptName());
saveChange.setNewJobName(empJobChange.getNewJobName());
saveChange.setChangeType(empJobChange.getChangeType());
saveChange.setChangeDate(empJobChange.getChangeDate());
@@ -392,6 +419,7 @@
Map<String, Object> mapParams = new HashMap<>();
mapParams.put("deptId", empJobChange.getDeptId());
mapParams.put("deptName", empJobChange.getNewDeptName());
+ mapParams.put("allDeptName", empJobChange.getAllDeptName());
mapParams.put("jobId", empJobChange.getJobId());
mapParams.put("jobName", empJobChange.getNewJobName());
mapParams.put("operatorId", operatorId);
@@ -420,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) {
@@ -492,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());
@@ -525,13 +559,33 @@
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);
if (null!=dicItem){
empBaseInfo.setEntryType(dicItem.getDicItemCode());
+ }
+ //档案情况
+ dicItem =dicItems.parallelStream().filter(j->StrUtil.equalsIgnoreCase(j.getDicCode(),"archivesStatus")&&StrUtil.equals(j.getDicItemName(),list.get(32).toString())).findFirst().orElse(null);
+ if (null!=dicItem){
+ empBaseInfo.setArchivesStatus(dicItem.getDicItemCode());
}
empBaseInfo.setEmpStatus("0");
this.save(empBaseInfo);
@@ -544,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数组用于存放图片字节数据
@@ -553,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