From 35cfaa7259f3d494e7bd03aec5c7e035049ee19b Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期三, 24 九月 2025 19:34:09 +0800
Subject: [PATCH] feat: 新增社保档位提醒功能

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOpenArchivesServiceImpl.java |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOpenArchivesServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOpenArchivesServiceImpl.java
index 6f6998e..462a1c6 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOpenArchivesServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOpenArchivesServiceImpl.java
@@ -4,10 +4,13 @@
 import cc.mrbird.febs.common.core.entity.constant.FebsConstant;
 import cc.mrbird.febs.common.core.utils.SortUtil;
 import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
 import cc.mrbird.febs.server.hr.entity.EmpOpenArchives;
 import cc.mrbird.febs.server.hr.mapper.EmpOpenArchivesMapper;
 import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
+import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
 import cc.mrbird.febs.server.hr.service.IEmpOpenArchivesService;
+import cn.hutool.core.date.DateUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Propagation;
@@ -38,6 +41,7 @@
 
     private final EmpOpenArchivesMapper empOpenarchivesMapper;
     private final IEmpBaseInfoService empBaseInfoService;
+    private final IEmpDimissionLogService dimissionLogService;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
             .orElse("1");
@@ -47,7 +51,7 @@
         LambdaQueryWrapper<EmpOpenArchives> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(EmpOpenArchives::getDelFlag, 0);
         Page<EmpOpenArchives> page = new Page<>(request.getPageNum(), request.getPageSize());
-        SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true);
+        SortUtil.handlePageSort(request, page, "openDate", FebsConstant.ORDER_ASC, true);
         return this.page(page, queryWrapper);
     }
 
@@ -69,12 +73,27 @@
         EmpBaseInfo empBaseInfo = empBaseInfoService.getById(empOpenarchives.getEmpId());
         empBaseInfo.setEntryDate(empOpenarchives.getOpenDate());
         empBaseInfo.setEntryType(empOpenarchives.getOpenType());
+        empBaseInfo.setDeptId(Long.valueOf(empOpenarchives.getDeptId()));
+        empBaseInfo.setDeptName(empOpenarchives.getDeptName());
+        empBaseInfo.setAllDeptName(empOpenarchives.getAllDeptName());
         empBaseInfo.setEmpStatus("0");
         empBaseInfo.setDimissionType("");
-        empBaseInfo.setDimissionDate(null);
+        empBaseInfo.setDimissionDate(DateUtil.parse("1900-01-01"));
         empBaseInfo.setModifyTime(new Date());
         empBaseInfo.setModifier(operatorId);
         empBaseInfoService.saveOrUpdate(empBaseInfo);
+
+        EmpDimissionLog dimissionLog = new EmpDimissionLog();
+        dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+        dimissionLog.setEmpId(empOpenarchives.getEmpId());
+        dimissionLog.setEntryDate(empOpenarchives.getOpenDate());
+        dimissionLog.setDimissionType(empOpenarchives.getOpenType());
+        dimissionLog.setRemark(empOpenarchives.getRemark());
+        dimissionLog.setCreator(operatorId);
+        dimissionLog.setModifier(operatorId);
+        dimissionLog.setDeptName(empOpenarchives.getAllDeptName());
+
+        dimissionLogService.save(dimissionLog);
     }
 
     @Override

--
Gitblit v1.8.0