From 5e242cc2caa9b9c2b210e894bc737518fb67d085 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期六, 06 三月 2021 16:24:30 +0800
Subject: [PATCH] fix(bug修复): 基本信息录入
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 45 insertions(+), 15 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 e934679..c1393a7 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
@@ -7,12 +7,14 @@
import java.util.*;
import java.util.function.Consumer;
+import cc.mrbird.febs.common.core.entity.constant.StringConstant;
import cc.mrbird.febs.common.core.entity.system.SysConfig;
import cc.mrbird.febs.common.core.exception.FebsException;
import cc.mrbird.febs.common.core.utils.MyUtil;
import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
import cc.mrbird.febs.server.hr.entity.EmpJobChange;
import cc.mrbird.febs.server.hr.feign.IRemoteUserService;
+import cc.mrbird.febs.server.hr.mapper.EmpContractInfoMapper;
import cc.mrbird.febs.server.hr.properties.FebsServerHrProperties;
import cc.mrbird.febs.server.hr.service.IEmpContractInfoService;
import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
@@ -47,6 +49,7 @@
import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
import lombok.RequiredArgsConstructor;
import org.springframework.util.FileSystemUtils;
+import org.springframework.validation.annotation.Validated;
import javax.servlet.http.HttpServletResponse;
@@ -68,12 +71,10 @@
private final EmpBaseInfoMapper empBaseInfoMapper;
private final IEmpDimissionLogService dimissionLogService;
private final IEmpJobChangeService jobChangeService;
- private final IEmpContractInfoService empContractInfoService;
+ private final EmpContractInfoMapper empContractInfoMapper;
private final FebsServerHrProperties properties;
private final IRemoteDeptService remoteDeptService;
- private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
- .map(u -> u.getUserId().toString())
- .orElse("1");
+ private final String operatorId = Optional.of(FebsUtil.getUserId()).orElse("1");
@Override
public IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
@@ -103,7 +104,7 @@
.filter(k -> DicCode.EMPTYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getEmpType()))
.findFirst()
.map(DicItem::getDicItemName)
- .orElse("汉族"));
+ .orElse("正式工"));
// 设置民族
p.setNationName(dicItems.stream()
.filter(k -> DicCode.NATION.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getNation()))
@@ -236,7 +237,12 @@
@Override
public boolean verifyEmpNumb(EmpBaseInfo empBaseInfo) {
QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>();
- queryWrapper.lambda().eq(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb()).ne(EmpBaseInfo::getDelFlag, 1);
+ queryWrapper.lambda().eq(EmpBaseInfo::getEmpNumb, empBaseInfo.getEmpNumb())
+ .ne(EmpBaseInfo::getDelFlag, 1);
+ if (empBaseInfo.getEmpId()!=null) {
+ queryWrapper.lambda().ne(EmpBaseInfo::getEmpId, empBaseInfo.getEmpId());
+ }
+
if (this.count(queryWrapper) <= 0) {
return false;
}
@@ -299,14 +305,15 @@
switch (flag) {
case 1:
//解除合同
- empContractInfoService.terminateContract(empDimissionLog.getEmpIds(), operatorId);
+
+ empContractInfoMapper.terminateContract(new ArrayList<>(Arrays.asList(empDimissionLog.getEmpIds().split(StringConstant.COMMA))), operatorId);
break;
case 2:
//禁用账户
iRemoteUserService.updateStatus(empDimissionLog.getCertificateNumb());
break;
case 3:
- empContractInfoService.terminateContract(empDimissionLog.getEmpIds(), operatorId);
+ empContractInfoMapper.terminateContract(new ArrayList<>(Arrays.asList(empDimissionLog.getEmpIds().split(StringConstant.COMMA))), operatorId);
iRemoteUserService.updateStatus(empDimissionLog.getCertificateNumb());
break;
}
@@ -368,13 +375,13 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public void importEmpBaseInfo(List<List<Object>> listObject,List<String> returnList) {
+ public void importEmpBaseInfo(List<List<Object>> listObject, List<String> returnList) {
for (List<Object> list : listObject) {
- if (list.size()==0){
+ if (list.size() == 0) {
continue;
}
- if (this.count(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getEmpNumb,list.get(1).toString()).ne(EmpBaseInfo::getDelFlag,1))>0){
- returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}员工编号重复",listObject.indexOf(list),list.get(1).toString()));
+ if (this.count(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getEmpNumb, list.get(1).toString()).ne(EmpBaseInfo::getDelFlag, 1)) > 0) {
+ returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}员工编号重复", listObject.indexOf(list) + 1, list.get(1).toString()));
continue;
}
EmpBaseInfo empBaseInfo = new EmpBaseInfo();
@@ -386,7 +393,7 @@
empBaseInfo.setDeptName(list.get(3).toString());
Dept dept = depts.stream().filter(d -> d.getDeptName().equals(list.get(3).toString())).findFirst().orElse(null);
if (null == dept) {
- returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}部门不存在",listObject.indexOf(list),list.get(3).toString()));
+ returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}部门不存在", listObject.indexOf(list) + 1, list.get(3).toString()));
continue;
}
empBaseInfo.setDeptId(dept.getDeptId());
@@ -825,7 +832,7 @@
}
private QueryWrapper<EmpBaseInfo> createQueryWrapper(EmpBaseInfo empBaseInfo) {
- QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>();
+ QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>();
//记录的状态,0-正常 1-删除 2-暂存
if (StringUtils.isNotBlank(empBaseInfo.getDelFlag().toString())) {
queryWrapper.eq("a.DelFlag", empBaseInfo.getDelFlag());
@@ -892,9 +899,12 @@
if (StringUtils.isNotBlank(empBaseInfo.getEmpCardStatus())) {
p.or().in("a.EmpCardStatus", empBaseInfo.getEmpCardStatus().split(","));
}
+ if (StringUtils.isNotBlank(empBaseInfo.getEmpType())) {
+ p.or().in("a.empType", empBaseInfo.getEmpType().split(","));
+ }
});
}
- queryWrapper.in("c.deptId", remoteDeptService.userRightDepts());
+ queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA));
return queryWrapper;
}
@@ -908,4 +918,24 @@
return dbEmpInfo;
}
}
+
+ @Override
+ public Long getEmpIdByEmpNumb(String empNumb) {
+ try {
+ return this.getOne(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getEmpNumb, empNumb).ne(EmpBaseInfo::getDelFlag, 1)).getEmpId();
+ } catch (Exception e) {
+ return null;
+ }
+
+ }
+
+ @Override
+ public EmpBaseInfo getEmpBaseInfoByEmpNumb(String empNumb) {
+ try {
+ return this.getOne(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getEmpNumb,empNumb).ne(EmpBaseInfo::getDelFlag,1));
+ }catch (Exception e){
+ return null;
+ }
+
+ }
}
--
Gitblit v1.8.0