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/EmpBaseInfoServiceImpl.java |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 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 2f8623a..1373f36 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
@@ -1507,6 +1507,26 @@
                     .filter(k -> DicCode.INSURANCETYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(item.getInsuranceType()))
                     .findFirst()
                     .map(DicItem::getDicItemName)
+                    .orElse("未购保险"));
+            item.setSexName(dicItems.stream()
+                    .filter(k -> DicCode.SEX.equals(k.getDicCode()) && k.getDicItemCode().equals(item.getSex()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("未知"));
+            item.setNativePlaceName(dicItems.stream()
+                    .filter(k -> DicCode.NATIVEPLACE.equals(k.getDicCode()) && k.getDicItemCode().equals(item.getNativePlace()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("未知"));
+            item.setEmpTypeName(dicItems.stream()
+                    .filter(k -> DicCode.EMPTYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(item.getEmpType()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("未知"));
+            item.setEducationName(dicItems.stream()
+                    .filter(k -> DicCode.EDUCATION.equals(k.getDicCode()) && k.getDicItemCode().equals(item.getEducation()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
                     .orElse("未知"));
         });
         iPage.setRecords(list);
@@ -1518,7 +1538,18 @@
         Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
         SortUtil.handlePageSort(request, page, "birthDate", FebsConstant.ORDER_ASC, true);
 
-        return empBaseInfoMapper.selectPageVo(page, createRetirementAlertQueryWrapper(empBaseInfo));
+        IPage<EmpBaseInfo> iPage = empBaseInfoMapper.selectPageVo(page, createRetirementAlertQueryWrapper(empBaseInfo));
+        List<EmpBaseInfo> list = iPage.getRecords();
+        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
+        list.forEach(item -> {
+            item.setSexName(dicItems.stream()
+                    .filter(k -> DicCode.SEX.equals(k.getDicCode()) && k.getDicItemCode().equals(item.getSex()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("未知"));
+        });
+        iPage.setRecords(list);
+        return iPage;
     }
 
     @Override

--
Gitblit v1.8.0