From 352f4d4a3ae3145f2bd43d0802150877349750d6 Mon Sep 17 00:00:00 2001
From: yz_08 <yz_0812@outlook.com>
Date: 星期二, 23 三月 2021 10:46:26 +0800
Subject: [PATCH] 修改bug
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java | 62 ++++++++++++++++++++++++++-----
1 files changed, 52 insertions(+), 10 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 f1bcc22..dbce0b1 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,7 +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.ListUtil;
+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;
@@ -173,8 +173,11 @@
public void createEmpBaseInfo(EmpBaseInfo empBaseInfo) {
String operatorId = Optional.of(FebsUtil.getUserId()).orElse("1");
EmpBaseInfo dbInfo = this.getEmpBaseInfo(empBaseInfo);
- if (dbInfo == null) {
- empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+ Long empId = SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE);
+ boolean saveDimissionLog = false;
+ if (dbInfo == null) {
+ empBaseInfo.setEmpId(empId);
+ saveDimissionLog = true;
} else {
empBaseInfo.setEmpId(dbInfo.getEmpId());
}
@@ -188,13 +191,26 @@
empBaseInfo.setCreator(operatorId);
empBaseInfo.setModifier(operatorId);
this.saveOrUpdate(empBaseInfo);
+
+ if(saveDimissionLog) {
+ EmpDimissionLog dimissionLog = new EmpDimissionLog();
+ dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+ dimissionLog.setEmpId(empId);
+ dimissionLog.setEntryDate(empBaseInfo.getEntryDate());
+ dimissionLog.setDimissionType("20");
+ dimissionLog.setRemark(empBaseInfo.getRemark());
+ dimissionLog.setCreator(operatorId);
+ dimissionLog.setModifier(operatorId);
+
+ dimissionLogService.save(dimissionLog);
+ }
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateEmpBaseInfo(EmpBaseInfo empBaseInfo) {
String operatorId = Optional.of(FebsUtil.getUserId()).orElse("1");
- if (StrUtil.isNotBlank(empBaseInfo.getImagePath())) {
+ if (StrUtil.isNotBlank(empBaseInfo.getImagePath())&&empBaseInfo.getImagePath().indexOf(",")>0) {
String path = properties.getEmpBaseInfoPath() + empBaseInfo.getEmpId() + ".png";
if (MyUtil.generateImage(empBaseInfo.getImagePath(), path)) {
empBaseInfo.setImagePath(empBaseInfo.getEmpId() + ".png");
@@ -526,7 +542,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());
@@ -559,8 +575,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);
@@ -583,7 +614,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数组用于存放图片字节数据
@@ -592,9 +623,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);
}
}
@@ -1092,6 +1133,7 @@
public EmpBaseInfo addInEmpBaseInfo(EmpBaseInfo empBaseInfo) {
EmpBaseInfo dbEmpInfo = this.getEmpBaseInfo(empBaseInfo);
if (dbEmpInfo == null) {
+ empBaseInfo.setDelFlag(0);
this.createEmpBaseInfo(empBaseInfo);
return null;
} else {
--
Gitblit v1.8.0