package cn.iocoder.yudao.module.hrm.controller.admin.salary; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.hrm.controller.admin.salary.vo.HrmLeaveTypeConfigRespVO; import cn.iocoder.yudao.module.hrm.controller.admin.salary.vo.HrmLeaveTypeConfigSaveReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmLeaveTypeConfigDO; import cn.iocoder.yudao.module.hrm.service.salary.HrmLeaveTypeConfigService; 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.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - HRM 请假类型扣款配置") @RestController @RequestMapping("/hrm/leave-type-config") @Validated public class HrmLeaveTypeConfigController { @Resource private HrmLeaveTypeConfigService leaveTypeConfigService; @GetMapping("/list") @Operation(summary = "获取所有请假类型配置列表") @PreAuthorize("@ss.hasPermission('hrm:salary:query')") public CommonResult> getLeaveTypeConfigList() { List list = leaveTypeConfigService.getLeaveTypeConfigList(); return success(BeanUtils.toBean(list, HrmLeaveTypeConfigRespVO.class)); } @GetMapping("/get") @Operation(summary = "获取请假类型配置") @Parameter(name = "leaveType", description = "请假类型", required = true, example = "1") @PreAuthorize("@ss.hasPermission('hrm:salary:query')") public CommonResult getLeaveTypeConfig(@RequestParam("leaveType") Integer leaveType) { HrmLeaveTypeConfigDO config = leaveTypeConfigService.getLeaveTypeConfig(leaveType); return success(BeanUtils.toBean(config, HrmLeaveTypeConfigRespVO.class)); } @PutMapping("/update") @Operation(summary = "更新请假类型配置") @PreAuthorize("@ss.hasPermission('hrm:salary:update')") public CommonResult updateLeaveTypeConfig(@Valid @RequestBody HrmLeaveTypeConfigSaveReqVO updateReqVO) { HrmLeaveTypeConfigDO config = BeanUtils.toBean(updateReqVO, HrmLeaveTypeConfigDO.class); leaveTypeConfigService.updateLeaveTypeConfig(config); return success(true); } }