From b97dc921008fc61a7e0d9de04dbce2956e65e178 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期二, 10 三月 2026 12:46:53 +0800
Subject: [PATCH] feat(hr): 添加员工转正和退休管理功能

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
index f9bb82a..077c595 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
@@ -299,8 +299,44 @@
         Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findInsuranceEmpBaseInfos(request, empBaseinfo));
         return new FebsResponse().data(dataTable);
     }
+
+    @ApiOperation(value = "退休提醒人员基本信息翻页列表")
+    @GetMapping("retire/alert")
+    @PreAuthorize("hasAuthority('empBaseinfo:list')")
+    public FebsResponse retirementAlertEmpBaseInfoList(QueryRequest request, EmpBaseInfo empBaseinfo) {
+        Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findRetirementEmpBaseInfos(request, empBaseinfo));
+        return new FebsResponse().data(dataTable);
+    }
+
+    @ApiOperation(value = "退休解骋")
+    @PostMapping("retire/dismiss")
+    @PreAuthorize("hasAuthority('empBaseinfo:dimission')")
+    public void retireDismissionEmp(EmpDimissionLog empDimissionLog) throws FebsException {
+        try {
+            empDimissionLog.setDimissionDate(new Date());
+
+            this.empBaseInfoService.closeEmpArchives(empDimissionLog);
+        } catch (Exception e) {
+            String message = "退休解骋员工失败";
+            log.error(message, e);
+            throw new FebsException(message);
+        }
+    }
+    @ApiOperation(value = "转正提醒人员基本信息翻页列表")
+    @GetMapping("probation/alert")
+    @PreAuthorize("hasAuthority('empBaseinfo:list')")
+    public FebsResponse probationAlertEmpBaseInfoList(QueryRequest request, EmpBaseInfo empBaseinfo) {
+        Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findProbationEmpBaseInfos(request, empBaseinfo));
+        return new FebsResponse().data(dataTable);
+    }
+    @ApiOperation(value = "设置人员转正信息")
+    @PostMapping("probation/change")
+    @PreAuthorize("hasAuthority('empBaseinfo:dimission')")
+    public void probationChangeEmpBaseInfo(EmpBaseInfo empBaseinfo) {
+        this.empBaseInfoService.probationEmpBaseInfo(empBaseinfo);
+    }
     @ApiOperation(value = "导出员工")
-    @RequestMapping(value = "export/insurance",method= RequestMethod.POST)
+    @PostMapping(value = "export/insurance")
     @ControllerEndpoint(operation = "导出社保提醒数据", exceptionMessage = "导出Excel失败")
     public void exportInsuranceWithField(QueryRequest request, HttpServletResponse response, String exportField,EmpBaseInfo empBaseinfo) throws IOException {
         request.setPageSize(25535);

--
Gitblit v1.8.0