From fb9823428a7705d8ed8e2f4128e525df3781e968 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期二, 03 八月 2021 10:21:09 +0800
Subject: [PATCH] fix(bug修复): 导入的新员工增加了入离职记录;重新处理了导入的日期格式

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |   29 +++++++++++++++++++++++++----
 1 files changed, 25 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 b52a096..21a2520 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
@@ -103,8 +103,8 @@
         list.forEach(p -> {
             p.setSexName("1".equals(p.getSex()) ? "男" : "女");
             p.setArchivesStatusName("0".equals(p.getArchivesStatus()) ? "未移交" : "已移交");
-            p.setEmpCardStatusName("1".equals(p.getEmpCardStatus()) ? "未发" : "已发");
-            p.setHandbookStatusName("1".equals(p.getHandbookStatus()) ? "未发" : "已发");
+            p.setEmpCardStatusName("0".equals(p.getEmpCardStatus()) ? "未发" : "已发");
+            p.setHandbookStatusName("0".equals(p.getHandbookStatus()) ? "未发" : "已发");
             p.setEmpStatusName("0".equals(p.getEmpStatus()) ? "在职" : "离职");
             //保险类型
             p.setInsuranceTypeName(dicItems.stream()
@@ -210,6 +210,21 @@
         empBaseInfo.setModifier(operatorId);
         this.saveOrUpdate(empBaseInfo);
 
+        addEmpDimissLog(empBaseInfo, operatorId, empId);
+    }
+
+    /**
+     *
+     * 增加员工后同步增加入职记录
+     *
+     * date 2021-07-30 09:12
+     * @author: luoyibo
+     * @param empBaseInfo 员工信息
+     * @param operatorId 操作员Id
+     * @param empId 员工Id
+     * @return void
+     */
+    private void addEmpDimissLog(EmpBaseInfo empBaseInfo, String operatorId, Long empId) {
         EmpDimissionLog dimissionLog = new EmpDimissionLog();
         dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
         dimissionLog.setEmpId(empId);
@@ -474,6 +489,10 @@
                 returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}员工编号重复", listObject.indexOf(list) + 1, list.get(1).toString()));
                 continue;
             }
+            if (this.count(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getCertificateNumb, 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();
             empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
             empBaseInfo.setArchivesNumb(list.get(0).toString());
@@ -636,6 +655,8 @@
             }
             empBaseInfo.setEmpStatus("0");
             this.save(empBaseInfo);
+            //新入职员工需要增加一条入职记录
+            this.addEmpDimissLog(empBaseInfo,"2",empBaseInfo.getEmpId());
         }
     }
 
@@ -1167,8 +1188,8 @@
                 @Override
                 public void accept(QueryWrapper<EmpBaseInfo> wrapper) {
                     for (int i = 0; i < certificates.length; i++) {
-                        String ageBtn =  certificates[i] ;
-                        wrapper.or().gt("LOCATE('"+ageBtn+"',certificateList)",0);
+                        String ageBtn = "|" + certificates[i] + "|";
+                        wrapper.gt("LOCATE('"+ageBtn+"',CONCAT('|',replace( certificateList, ',', '|,|'),'|'))",0);
                     }
                 }
             };

--
Gitblit v1.8.0