From ef3cbc1c6882786e8218b08be3e52ea44587f03b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 08 十一月 2026 09:45:42 +0800
Subject: [PATCH] feat(hrm): 请假批量导入、加班代申请人、批量排班与节假日区间联动
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmLeaveApplicationController.java | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmLeaveApplicationController.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmLeaveApplicationController.java
index 179547e..94a3eb2 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmLeaveApplicationController.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmLeaveApplicationController.java
@@ -6,6 +6,9 @@
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
+import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationImportExcelVO;
+import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationImportReqVO;
+import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationImportRespVO;
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationPageReqVO;
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationRespVO;
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationSaveReqVO;
@@ -21,6 +24,8 @@
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -94,6 +99,35 @@
return success(leaveApplicationService.getApproveProcessDefinitionList());
}
+ @GetMapping("/get-import-template")
+ @Operation(summary = "涓嬭浇璇峰亣鐢宠瀵煎叆妯℃澘")
+ @PreAuthorize("@ss.hasPermission('hrm:leave:import')")
+ public void getImportTemplate(HttpServletResponse response) throws IOException {
+ List<HrmLeaveApplicationImportExcelVO> list = List.of(
+ HrmLeaveApplicationImportExcelVO.builder()
+ .phone("13800138000")
+ .leaveType("骞村亣")
+ .startTime(LocalDateTime.of(2026, 10, 8, 9, 0, 0))
+ .endTime(LocalDateTime.of(2026, 10, 8, 18, 0, 0))
+ .duration(new BigDecimal("1"))
+ .reason("瀹朵腑鏈変簨")
+ .remark("绀轰緥琛岋紝瀵煎叆鍓嶈鍒犻櫎")
+ .build()
+ );
+ ExcelUtils.write(response, "璇峰亣鐢宠瀵煎叆妯℃澘.xls", "璇峰亣鐢宠鍒楄〃",
+ HrmLeaveApplicationImportExcelVO.class, list);
+ }
+
+ @PostMapping("/import")
+ @Operation(summary = "鎵归噺瀵煎叆璇峰亣鐢宠")
+ @PreAuthorize("@ss.hasPermission('hrm:leave:import')")
+ public CommonResult<HrmLeaveApplicationImportRespVO> importLeaveApplication(
+ @Valid HrmLeaveApplicationImportReqVO importReqVO) throws IOException {
+ List<HrmLeaveApplicationImportExcelVO> list = ExcelUtils.read(
+ importReqVO.getFile(), HrmLeaveApplicationImportExcelVO.class);
+ return success(leaveApplicationService.importLeaveApplicationList(list));
+ }
+
@GetMapping("/export-excel")
@Operation(summary = "瀵煎嚭璇峰亣鐢宠 Excel")
@PreAuthorize("@ss.hasPermission('hrm:leave:export')")
--
Gitblit v1.9.3