From 538bdd36e4e0c43333e8090dab575cfa87af8f80 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期二, 10 三月 2026 21:25:30 +0800
Subject: [PATCH] feat(hr): 添加员工导出和字典映射支持

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java |   43 +++++++++++++++++++++++++++++++------------
 1 files changed, 31 insertions(+), 12 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 99a044b..d46cf7a 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,24 +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.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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import org.apache.commons.lang3.StringUtils;
-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.*;
 
@@ -37,6 +39,7 @@
 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");
@@ -55,8 +58,24 @@
         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(","));
+        }
+        if (StringUtils.isNotBlank(empDimissionlog.getDeptName())) {
+            queryWrapper.like("c.allDeptName", empDimissionlog.getDeptName());
+        }
+        if (StringUtils.isNotBlank(empDimissionlog.getEmpName())) {
+            queryWrapper.like("b.empName", empDimissionlog.getEmpName());
+        }
+        if (StringUtils.isNotBlank(empDimissionlog.getEmpNumb())) {
+            queryWrapper.like("b.empNumb", empDimissionlog.getEmpNumb());
+        }
         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);
     }
 

--
Gitblit v1.8.0