zouyu
2026-04-21 b5d5b7676c92eee961ca34259848bfcb97115c7b
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java
@@ -10,6 +10,7 @@
import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel;
import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
import com.ruoyi.personnel.service.PersonRewardPunishmentRecordService;
import com.ruoyi.personnel.vo.PersonRewardPunishmentRecordVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
@@ -40,61 +41,25 @@
    @ApiOperation(value = "新增/更新 奖惩记录")
    @PostMapping("/addOrUpdateRewardPunishment")
    public Result<?> PersonTrainingSave(@RequestBody PersonRewardPunishmentRecord personRewardPunishmentRecord) {
        personRewardPunishmentRecordService.saveOrUpdate(personRewardPunishmentRecord);
        return Result.success();
        return Result.success(personRewardPunishmentRecordService.saveOrUpdate(personRewardPunishmentRecord));
    }
    @ApiOperation(value = "删除奖惩记录")
    @DeleteMapping("/deleteRewardPunishment")
    public Result<?> deleteRewardPunishment(@RequestParam("id") Integer id) {
        personRewardPunishmentRecordService.removeById(id);
        return Result.success();
        return Result.success(personRewardPunishmentRecordService.removeById(id));
    }
    @ApiOperation(value = "查询 奖惩记录")
    @GetMapping("/rewardPunishmentPage")
    @SneakyThrows
    public Result<IPage<PersonRewardPunishmentRecordDto>> rewardPunishmentPage(Page page,
                                                                               Integer userId,
                                                                               Integer departmentId,
                                                                               String userName,
                                                                               @RequestParam(value = "startTime",required = false) String startTimeStr,
                                                                               @RequestParam(value = "endTime",required = false) String endTimeStr) {
        Date startTime = null;
        Date endTime = null;
        if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            startTime = formatter.parse(startTimeStr);
            endTime = formatter.parse(endTimeStr);
        }
        return Result.success(personRewardPunishmentRecordService.rewardPunishmentPage(page, userId, userName, startTime, endTime, departmentId));
    public Result<IPage<PersonRewardPunishmentRecordVO>> rewardPunishmentPage(Page page,PersonRewardPunishmentRecordDto punishmentRecordDto) {
        return Result.success(personRewardPunishmentRecordService.rewardPunishmentPage(page, punishmentRecordDto));
    }
    @ApiOperation(value = "奖惩记录导出")
    @GetMapping("/rewardPunishmentExport")
    public void rewardPunishmentExport(Integer userId,
                                       Integer departmentId,
                                       String userName,
                                       @RequestParam(value = "startTime",required = false) String startTimeStr,
                                       @RequestParam(value = "endTime",required = false) String endTimeStr,
                                       HttpServletResponse response) throws Exception {
        Date startTime = null;
        Date endTime = null;
        if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            startTime = formatter.parse(startTimeStr);
            endTime = formatter.parse(endTimeStr);
        }
        List<PersonRewardPunishmentRecordExcel> data = personRewardPunishmentRecordService.rewardPunishmentExport(userId, departmentId, userName, startTime, endTime);
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setHeader("requestType", "excel");
        response.setHeader("Access-Control-Expose-Headers", "requestType");
        // 设置单元格样式
        // 保存到第一个sheet中
        EasyExcel.write(response.getOutputStream())
                .head(PersonRewardPunishmentRecordExcel.class)
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自适应列宽
                .sheet()
                .doWrite(data);
    public void rewardPunishmentExport(PersonRewardPunishmentRecordDto punishmentRecordDto,HttpServletResponse response) {
        personRewardPunishmentRecordService.exportExcel(punishmentRecordDto,response);
    }
}