From b8ede729508288e1ae724fd0c516753808e7c465 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期六, 27 三月 2021 10:07:54 +0800
Subject: [PATCH] fix(bug修复): 除基本信息外,其它信息导入后自动提交

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   46 ++++++++++++++++++++++++++++++----------------
 1 files changed, 30 insertions(+), 16 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 fed7122..054d168 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
@@ -24,6 +24,7 @@
 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.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -92,7 +93,7 @@
     @Override
     public IPage<EmpBaseInfo> findZsEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
         Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
-        SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true);
+        SortUtil.handlePageSort(request, page, "entryDate", FebsConstant.ORDER_ASC, true);
         IPage<EmpBaseInfo> iPage = empBaseInfoMapper.selectPageVo(page, createQueryWrapper(empBaseInfo));
         //设置部门
         // List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
@@ -174,10 +175,10 @@
         String operatorId = Optional.of(FebsUtil.getUserId()).orElse("1");
         EmpBaseInfo dbInfo = this.getEmpBaseInfo(empBaseInfo);
         Long empId = SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE);
-        boolean saveDimissionLog = false;
+        boolean saveDimissionLog = true;
          if (dbInfo == null) {
             empBaseInfo.setEmpId(empId);
-             saveDimissionLog = true;
+             // saveDimissionLog = true;
         } else {
             empBaseInfo.setEmpId(dbInfo.getEmpId());
         }
@@ -192,25 +193,23 @@
         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);
+        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);
-        }
+        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");
@@ -496,7 +495,22 @@
             empBaseInfo.setJobId(position.getPositionId());
             empBaseInfo.setJobName(list.get(3).toString());
             empBaseInfo.setEmpName(list.get(4).toString());
-            empBaseInfo.setCertificateNumb(list.get(5).toString());
+            try {
+                if(StrUtil.isNotBlank(list.get(5).toString())){
+                    empBaseInfo.setCertificateNumb(list.get(5).toString());
+                    if (IdcardUtil.isValidCard(list.get(5).toString())){
+                        empBaseInfo.setAge(IdcardUtil.getAgeByIdCard(list.get(5).toString()));
+                        empBaseInfo.setBirthdate(IdcardUtil.getBirthDate(list.get(5).toString()));
+                    }
+                }
+
+            }catch (Exception e){
+                log.error("导入人员身份证异常:{}",e);
+                returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}检查身份证是否正确", listObject.indexOf(list) + 1, list.get(5).toString()));
+                continue;
+            }
+
+
             empBaseInfo.setSex("男".equals(list.get(6).toString()) ? "1" : "2");
 
             //民族

--
Gitblit v1.8.0