package com.ruoyi.device.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.device.dto.HazardReportDto; import com.ruoyi.device.pojo.HazardReport; import com.ruoyi.device.service.IHazardReportService; import com.ruoyi.framework.web.domain.AjaxResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import jakarta.servlet.http.HttpServletResponse; /** * 隐患上报Controller * 提供隐患上报、整改、验收等功能 */ @Tag(name = "隐患上报") @RestController @RequestMapping("/safeProduction/hazardReport") @RequiredArgsConstructor public class HazardReportController { private final IHazardReportService hazardReportService; /** * 查询隐患上报列表 */ @Operation(summary = "查询隐患上报列表") @GetMapping("/list") public AjaxResult list(Page page, HazardReportDto dto) { return AjaxResult.success(hazardReportService.queryPage(page, dto)); } /** * 新增隐患上报 */ @Operation(summary = "新增隐患上报") @PostMapping("/add") @Transactional(rollbackFor = Exception.class) public AjaxResult add(@RequestBody HazardReportDto dto) { int result = hazardReportService.add(dto); if (result > 0) { return AjaxResult.success("上报成功"); } return AjaxResult.error("上报失败"); } /** * 记录整改结果 */ @Operation(summary = "记录整改结果") @PostMapping("/rectify") @Transactional(rollbackFor = Exception.class) public AjaxResult rectify(@RequestBody HazardReportDto dto) { int result = hazardReportService.rectify(dto); if (result > 0) { return AjaxResult.success("整改记录成功"); } return AjaxResult.error("整改记录失败"); } /** * 记录验收结果 */ @Operation(summary = "记录验收结果") @PostMapping("/accept") @Transactional(rollbackFor = Exception.class) public AjaxResult accept(@RequestBody HazardReportDto dto) { int result = hazardReportService.accept(dto); if (result > 0) { return AjaxResult.success("验收记录成功"); } return AjaxResult.error("验收记录失败"); } /** * 删除隐患上报记录 */ @Operation(summary = "删除隐患上报记录") @DeleteMapping("/delete") @Transactional(rollbackFor = Exception.class) public AjaxResult delete(@RequestBody Long[] ids) { for (Long id : ids) { hazardReportService.removeById(id); } return AjaxResult.success("删除成功"); } /** * 导出隐患上报记录 */ @Operation(summary = "导出隐患上报记录") @PostMapping("/export") public void export(HttpServletResponse response, HazardReportDto dto) { hazardReportService.export(response, dto); } }