| | |
| | | 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.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; |
| | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | |
| | | @GetMapping("/get") |
| | | @Operation(summary = "获得请假申请详情") |
| | | @Parameter(name = "id", description = "申请ID", required = true) |
| | | @PreAuthorize("@ss.hasPermission('hrm:leave:query')") |
| | | public CommonResult<HrmLeaveApplicationRespVO> getLeaveApplication(@RequestParam("id") Long id) { |
| | | return success(leaveApplicationService.getLeaveApplicationDetail(id)); |
| | | } |
| | | |
| | | @GetMapping("/page") |
| | | @Operation(summary = "获得请假申请分页") |
| | | @PreAuthorize("@ss.hasPermission('hrm:leave:query')") |
| | | public CommonResult<PageResult<HrmLeaveApplicationRespVO>> getLeaveApplicationPage(@Valid HrmLeaveApplicationPageReqVO pageReqVO) { |
| | | return success(leaveApplicationService.getLeaveApplicationPage(pageReqVO)); |
| | | } |
| | |
| | | |
| | | @GetMapping("/approve-process-definition-list") |
| | | @Operation(summary = "获取可用的审批流程定义列表") |
| | | @PreAuthorize("@ss.hasPermission('hrm:leave:query')") |
| | | public CommonResult<List<Map<String, Object>>> getApproveProcessDefinitionList() { |
| | | return success(leaveApplicationService.getApproveProcessDefinitionList()); |
| | | } |
| | | |
| | | @GetMapping("/import-template") |
| | | @Operation(summary = "下载请假申请导入模板") |
| | | @PreAuthorize("@ss.hasPermission('hrm:leave:import')") |
| | | public void importTemplate(HttpServletResponse response) throws IOException { |
| | | HrmLeaveApplicationImportExcelVO example = new HrmLeaveApplicationImportExcelVO(); |
| | | example.setPhone("13800138000"); |
| | | example.setEmployeeName("张三"); |
| | | example.setLeaveTypeName("事假"); |
| | | example.setStartTime("2026-11-10 09:00"); |
| | | example.setEndTime("2026-11-10 18:00"); |
| | | example.setDuration("1"); |
| | | example.setReason("个人事务"); |
| | | example.setRemark("示例行,导入前请删除"); |
| | | ExcelUtils.write(response, "请假申请导入模板.xls", "请假申请", HrmLeaveApplicationImportExcelVO.class, |
| | | List.of(example)); |
| | | } |
| | | |
| | | @PostMapping("/import") |
| | | @Operation(summary = "导入请假申请(仅生成草稿,不自动提交审批)") |
| | | @PreAuthorize("@ss.hasPermission('hrm:leave:import')") |
| | | public CommonResult<HrmLeaveApplicationImportRespVO> importExcel(@RequestParam("file") MultipartFile file) |
| | | throws IOException { |
| | | List<HrmLeaveApplicationImportExcelVO> list = ExcelUtils.read(file, HrmLeaveApplicationImportExcelVO.class); |
| | | return success(leaveApplicationService.importLeaveApplications(list)); |
| | | } |
| | | |
| | | @GetMapping("/export-excel") |
| | | @Operation(summary = "导出请假申请 Excel") |
| | | @PreAuthorize("@ss.hasPermission('hrm:leave:export')") |