From ce96649e79bf730aef73f3bec205c1c00a743635 Mon Sep 17 00:00:00 2001
From: yz_08 <yz_0812@outlook.com>
Date: 星期三, 03 三月 2021 22:08:01 +0800
Subject: [PATCH] 修改bug

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 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 8927b0c..9441a8b 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
@@ -8,6 +8,7 @@
 import java.util.function.Consumer;
 
 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;
@@ -366,8 +367,15 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void importEmpBaseInfo(List<List<Object>> listObject) {
+    public void importEmpBaseInfo(List<List<Object>> listObject,List<String>  returnList) {
         for (List<Object> list : listObject) {
+            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()));
+                continue;
+            }
             EmpBaseInfo empBaseInfo = new EmpBaseInfo();
             empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
             empBaseInfo.setArchivesNumb(list.get(0).toString());
@@ -375,9 +383,12 @@
             empBaseInfo.setEmpName(list.get(2).toString());
             List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
             empBaseInfo.setDeptName(list.get(3).toString());
-            Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(3).toString())).findFirst().get()
-                    .getDeptId();
-            empBaseInfo.setDeptId(deptId);
+            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()));
+                continue;
+            }
+            empBaseInfo.setDeptId(dept.getDeptId());
             empBaseInfo.setJobName(list.get(4).toString());
             empBaseInfo.setEmpType(list.get(5).toString());
             empBaseInfo.setSex("男".equals(list.get(6).toString()) ? "1" : "2");
@@ -411,6 +422,7 @@
             empBaseInfo.setHandbookStatus(list.get(28).toString());
             empBaseInfo.setEmpCardStatus(list.get(29).toString());
             empBaseInfo.setCertificateList(list.get(30).toString());
+            empBaseInfo.setDelFlag(2);
             empBaseInfo.setEmpStatus("0");
             this.save(empBaseInfo);
         }

--
Gitblit v1.8.0