package com.ruoyi.staff.controller; 
 | 
  
 | 
import com.baomidou.mybatisplus.core.metadata.IPage; 
 | 
import com.ruoyi.common.utils.poi.ExcelUtil; 
 | 
import com.ruoyi.compensationperformance.pojo.CompensationPerformance; 
 | 
import com.ruoyi.framework.aspectj.lang.annotation.Log; 
 | 
import com.ruoyi.framework.aspectj.lang.enums.BusinessType; 
 | 
import com.ruoyi.framework.web.domain.AjaxResult; 
 | 
import com.ruoyi.staff.dto.SaveStaffSchedulingDto; 
 | 
import com.ruoyi.staff.dto.StaffSchedulingDto; 
 | 
import com.ruoyi.staff.service.StaffSchedulingService; 
 | 
import com.ruoyi.staff.vo.SearchSchedulingVo; 
 | 
import lombok.RequiredArgsConstructor; 
 | 
import org.springframework.validation.annotation.Validated; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 排班 
 | 
 * @author buhuazhen 
 | 
 * @date 2025/9/3 
 | 
 * @email 3038525872@qq.com 
 | 
 */ 
 | 
@RestController 
 | 
@RequestMapping("/staff/staffScheduling") 
 | 
@RequiredArgsConstructor 
 | 
public class StaffSchedulingController { 
 | 
  
 | 
    private final StaffSchedulingService staffSchedulingService; 
 | 
  
 | 
    @PostMapping("/listPage") 
 | 
    public AjaxResult listPage(@RequestBody SearchSchedulingVo vo){ 
 | 
       return AjaxResult.success(staffSchedulingService.listPage(vo)); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/save") 
 | 
    public AjaxResult save(@RequestBody @Validated SaveStaffSchedulingDto saveStaffSchedulingDto){ 
 | 
        staffSchedulingService.saveStaffScheduling(saveStaffSchedulingDto); 
 | 
        return AjaxResult.success(); 
 | 
    } 
 | 
  
 | 
    @DeleteMapping("/delByIds") 
 | 
    public AjaxResult delByIds(@RequestBody List<Integer> ids){ 
 | 
        staffSchedulingService.removeByIds(ids); 
 | 
        return AjaxResult.success(); 
 | 
    } 
 | 
  
 | 
    @DeleteMapping("/del/{id}") 
 | 
    public AjaxResult del(@PathVariable("id") Integer id){ 
 | 
        staffSchedulingService.removeById(id); 
 | 
        return AjaxResult.success(); 
 | 
    } 
 | 
  
 | 
    @Log(title = "导出人员排班列表", businessType = BusinessType.EXPORT) 
 | 
    @PostMapping("/export") 
 | 
    public void export(HttpServletResponse response ) { 
 | 
        SearchSchedulingVo vo = new SearchSchedulingVo(); 
 | 
        vo.setCurrent(-1); 
 | 
        vo.setSize(-1); 
 | 
        IPage<StaffSchedulingDto> list = staffSchedulingService.listPage(vo); 
 | 
        ExcelUtil<StaffSchedulingDto> util = new ExcelUtil<StaffSchedulingDto>(StaffSchedulingDto.class); 
 | 
        util.exportExcel(response, list.getRecords(), "导出人员排班列表"); 
 | 
    } 
 | 
  
 | 
} 
 |