| | |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| | | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidayGroupRespVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidayPageReqVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidayRangeCreateReqVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidayRangeUpdateReqVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidayRespVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceHolidaySaveReqVO; |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceHolidayDO; |
| | |
| | | import jakarta.annotation.Resource; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | | import jakarta.validation.Valid; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.IOException; |
| | | import java.time.LocalDate; |
| | | import java.util.List; |
| | | |
| | | import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; |
| | |
| | | return success(attendanceHolidayService.createAttendanceHoliday(createReqVO)); |
| | | } |
| | | |
| | | @PostMapping("/create-range") |
| | | @Operation(summary = "按日期范围新增节假日配置(含中间每一天)") |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:create')") |
| | | public CommonResult<Integer> createAttendanceHolidayRange( |
| | | @Valid @RequestBody HrmAttendanceHolidayRangeCreateReqVO createReqVO) { |
| | | return success(attendanceHolidayService.createAttendanceHolidayRange(createReqVO)); |
| | | } |
| | | |
| | | @PutMapping("/update") |
| | | @Operation(summary = "更新节假日配置") |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:update')") |
| | | public CommonResult<Boolean> updateAttendanceHoliday(@Valid @RequestBody HrmAttendanceHolidaySaveReqVO updateReqVO) { |
| | | attendanceHolidayService.updateAttendanceHoliday(updateReqVO); |
| | | return success(true); |
| | | } |
| | | |
| | | @PutMapping("/update-range") |
| | | @Operation(summary = "按日期区间更新节假日配置(删除原区间记录后按新起止日期重写)") |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:update')") |
| | | public CommonResult<Boolean> updateAttendanceHolidayRange( |
| | | @Valid @RequestBody HrmAttendanceHolidayRangeUpdateReqVO updateReqVO) { |
| | | attendanceHolidayService.updateAttendanceHolidayRange(updateReqVO); |
| | | return success(true); |
| | | } |
| | | |
| | |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:delete')") |
| | | public CommonResult<Boolean> deleteAttendanceHoliday(@RequestParam("id") Long id) { |
| | | attendanceHolidayService.deleteAttendanceHoliday(id); |
| | | return success(true); |
| | | } |
| | | |
| | | @DeleteMapping("/delete-range") |
| | | @Operation(summary = "按日期区间删除节假日配置(删除区间内全部日期)") |
| | | @Parameter(name = "ids", description = "区间内节假日ID列表", required = true) |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:delete')") |
| | | public CommonResult<Boolean> deleteAttendanceHolidayRange(@RequestParam("ids") List<Long> ids) { |
| | | attendanceHolidayService.deleteAttendanceHolidayRange(ids); |
| | | return success(true); |
| | | } |
| | | |
| | |
| | | return success(BeanUtils.toBean(pageResult, HrmAttendanceHolidayRespVO.class)); |
| | | } |
| | | |
| | | @GetMapping("/page-grouped") |
| | | @Operation(summary = "获得节假日配置分页(按连续日期区间合并展示)") |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:query')") |
| | | public CommonResult<PageResult<HrmAttendanceHolidayGroupRespVO>> getAttendanceHolidayGroupPage( |
| | | @Valid HrmAttendanceHolidayPageReqVO pageReqVO) { |
| | | return success(attendanceHolidayService.getAttendanceHolidayGroupPage(pageReqVO)); |
| | | } |
| | | |
| | | @GetMapping("/list") |
| | | @Operation(summary = "获得指定日期范围的节假日列表(逐日,排班日历使用)") |
| | | @Parameter(name = "startDate", description = "开始日期", required = true) |
| | | @Parameter(name = "endDate", description = "结束日期", required = true) |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:query')") |
| | | public CommonResult<List<HrmAttendanceHolidayRespVO>> getAttendanceHolidayList( |
| | | @RequestParam("startDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate, |
| | | @RequestParam("endDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate) { |
| | | List<HrmAttendanceHolidayDO> list = attendanceHolidayService.getAttendanceHolidayListByDateRange(startDate, endDate); |
| | | return success(BeanUtils.toBean(list, HrmAttendanceHolidayRespVO.class)); |
| | | } |
| | | |
| | | @GetMapping("/export-excel") |
| | | @Operation(summary = "导出节假日配置 Excel") |
| | | @PreAuthorize("@ss.hasPermission('hrm:attendance:export')") |