package cn.iocoder.yudao.module.hrm.controller.admin.attendance;
|
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
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.HrmShiftPageReqVO;
|
import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmShiftRespVO;
|
import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmShiftSaveReqVO;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmShiftDO;
|
import cn.iocoder.yudao.module.hrm.service.attendance.HrmShiftService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.annotation.Resource;
|
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.validation.Valid;
|
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.util.List;
|
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
@Tag(name = "管理后台 - HRM 班次定义")
|
@RestController
|
@RequestMapping("/hrm/shift")
|
@Validated
|
public class HrmShiftController {
|
|
@Resource
|
private HrmShiftService shiftService;
|
|
@PostMapping("/create")
|
@Operation(summary = "新增班次")
|
@PreAuthorize("@ss.hasPermission('hrm:shift:create')")
|
public CommonResult<Long> createShift(@Valid @RequestBody HrmShiftSaveReqVO createReqVO) {
|
return success(shiftService.createShift(createReqVO));
|
}
|
|
@PutMapping("/update")
|
@Operation(summary = "更新班次")
|
@PreAuthorize("@ss.hasPermission('hrm:shift:update')")
|
public CommonResult<Boolean> updateShift(@Valid @RequestBody HrmShiftSaveReqVO updateReqVO) {
|
shiftService.updateShift(updateReqVO);
|
return success(true);
|
}
|
|
@DeleteMapping("/delete")
|
@Operation(summary = "删除班次")
|
@Parameter(name = "id", description = "班次ID", required = true)
|
@PreAuthorize("@ss.hasPermission('hrm:shift:delete')")
|
public CommonResult<Boolean> deleteShift(@RequestParam("id") Long id) {
|
shiftService.deleteShift(id);
|
return success(true);
|
}
|
|
@GetMapping("/get")
|
@Operation(summary = "获得班次")
|
@Parameter(name = "id", description = "班次ID", required = true)
|
@PreAuthorize("@ss.hasPermission('hrm:shift:query')")
|
public CommonResult<HrmShiftRespVO> getShift(@RequestParam("id") Long id) {
|
HrmShiftDO shift = shiftService.getShift(id);
|
return success(BeanUtils.toBean(shift, HrmShiftRespVO.class));
|
}
|
|
@GetMapping("/page")
|
@Operation(summary = "获得班次分页")
|
@PreAuthorize("@ss.hasPermission('hrm:shift:query')")
|
public CommonResult<PageResult<HrmShiftRespVO>> getShiftPage(@Valid HrmShiftPageReqVO pageReqVO) {
|
PageResult<HrmShiftDO> pageResult = shiftService.getShiftPage(pageReqVO);
|
return success(BeanUtils.toBean(pageResult, HrmShiftRespVO.class));
|
}
|
|
@GetMapping("/list")
|
@Operation(summary = "获得班次列表(启用状态)")
|
@PreAuthorize("@ss.hasPermission('hrm:shift:query')")
|
public CommonResult<List<HrmShiftRespVO>> getShiftList() {
|
List<HrmShiftDO> list = shiftService.getShiftList();
|
return success(BeanUtils.toBean(list, HrmShiftRespVO.class));
|
}
|
|
@GetMapping("/export-excel")
|
@Operation(summary = "导出班次 Excel")
|
@PreAuthorize("@ss.hasPermission('hrm:shift:export')")
|
@ApiAccessLog(operateType = EXPORT)
|
public void exportShiftExcel(@Valid HrmShiftPageReqVO pageReqVO,
|
HttpServletResponse response) throws IOException {
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
PageResult<HrmShiftDO> pageResult = shiftService.getShiftPage(pageReqVO);
|
List<HrmShiftRespVO> data = BeanUtils.toBean(pageResult.getList(), HrmShiftRespVO.class);
|
ExcelUtils.write(response, "班次.xls", "数据", HrmShiftRespVO.class, data);
|
}
|
|
}
|