From 7b720f18f1824a7c9882e2404087cbf3793914e3 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期四, 18 三月 2021 23:42:28 +0800
Subject: [PATCH] fix(bug修复): 在职员工信息录入时,同步增加一条入职记录

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 38 insertions(+), 13 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java
index c8760fe..dd9c9ed 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java
@@ -1,20 +1,26 @@
 package cc.mrbird.febs.server.hr.service.impl;
 
 import cc.mrbird.febs.common.core.constant.ModuleCode;
+import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.constant.FebsConstant;
+import cc.mrbird.febs.common.core.entity.constant.StringConstant;
+import cc.mrbird.febs.common.core.utils.FebsUtil;
+import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.core.utils.SortUtil;
 import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
+import cc.mrbird.febs.server.hr.feign.IRemoteDeptService;
 import cc.mrbird.febs.server.hr.mapper.EmpDimissionLogMapper;
 import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.annotation.Propagation;
-import lombok.RequiredArgsConstructor;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import cc.mrbird.febs.common.core.entity.QueryRequest;
-import cc.mrbird.febs.common.core.utils.FebsUtil;
-import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 
@@ -33,16 +39,35 @@
 class EmpDimissionLogServiceImpl extends ServiceImpl<EmpDimissionLogMapper, EmpDimissionLog> implements IEmpDimissionLogService {
 
     private final EmpDimissionLogMapper empDimissionlogMapper;
+    private final IRemoteDeptService remoteDeptService;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
             .orElse("1");
 
     @Override
-    public IPage<EmpDimissionLog> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog) {
-        LambdaQueryWrapper<EmpDimissionLog> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(EmpDimissionLog::getDelFlag, 0);
-        Page<EmpDimissionLog> page = new Page<>(request.getPageNum(), request.getPageSize());
-        return this.page(page, queryWrapper);
+    public IPage<Map<String, Object>> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog) {
+        QueryWrapper<EmpDimissionLog> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("a.delFlag", 0);
+
+        if (StringUtils.isNotBlank(empDimissionlog.getEntryDateStr())) {
+        	queryWrapper.between("a.entryDate", empDimissionlog.getEntryDateStr().split(",")[0],  empDimissionlog.getEntryDateStr().split(",")[1]);
+        }
+        if (StringUtils.isNotBlank(empDimissionlog.getDimissionDateStr())) {
+        	queryWrapper.between("a.dimissionDate", empDimissionlog.getDimissionDateStr().split(",")[0],  empDimissionlog.getDimissionDateStr().split(",")[1]);
+        }
+        if (StringUtils.isNotBlank(empDimissionlog.getDimissionType())) {
+            queryWrapper.eq("a.dimissionType", empDimissionlog.getDimissionType());
+        }
+        if (null!=empDimissionlog.getEmpId()&&!empDimissionlog.getEmpId().equals(0L)) {
+            queryWrapper.eq("a.empId", empDimissionlog.getEmpId());
+        }
+        if (StringUtils.isNotBlank(empDimissionlog.getEmpStatus())) {
+            queryWrapper.in("b.EmpStatus", empDimissionlog.getEmpStatus().split(","));
+        }
+        Page<Map<String, Object>> page = new Page<>(request.getPageNum(), request.getPageSize());
+        SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true);
+        queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA));
+        return this.baseMapper.selectPageVo(page,queryWrapper);
     }
 
     @Override
@@ -97,4 +122,4 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         empDimissionlogMapper.logicDeleteByIds(list, operatorId);
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.8.0