package com.ruoyi.safe.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.R; import com.ruoyi.safe.pojo.SafeFacilityInspection; import com.ruoyi.safe.pojo.SafeFacilityRectification; import com.ruoyi.safe.service.SafeFacilityInspectionService; import com.ruoyi.safe.service.SafeFacilityRectificationService; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; /** *

* 安全生产--安全设施巡检 前端控制器 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-06-29 */ @RestController @RequestMapping("/safeFacilityInspection") @AllArgsConstructor @Tag(name = "安全生产--安全设施巡检") public class SafeFacilityInspectionController { private SafeFacilityInspectionService safeFacilityInspectionService; private SafeFacilityRectificationService safeFacilityRectificationService; @GetMapping("/page") @Operation(summary = "分页查询") public R page(Page page, SafeFacilityInspection safeFacilityInspection) { return R.ok(safeFacilityInspectionService.pageSafeFacilityInspection(page, safeFacilityInspection)); } @GetMapping("/{id}") @Operation(summary = "根据ID查询") public R getById(@PathVariable Integer id) { return R.ok(safeFacilityInspectionService.getById(id)); } @Operation(summary = "新增安全设施巡检") @Log(title = "安全设施巡检", businessType = BusinessType.INSERT) @PostMapping() public R add(@RequestBody SafeFacilityInspection safeFacilityInspection) { if (isInspectionCodeExists(safeFacilityInspection.getInspectionCode(), null)) { return R.fail("巡检编号「" + safeFacilityInspection.getInspectionCode() + "」已存在"); } if (safeFacilityInspection.getInspectorId() == null) { Long currentUserId = SecurityUtils.getUserId(); safeFacilityInspection.setInspectorId(currentUserId.intValue()); } safeFacilityInspection.setStatus("待巡检"); return R.ok(safeFacilityInspectionService.save(safeFacilityInspection)); } private boolean isInspectionCodeExists(String code, Integer excludeId) { if (code == null || code.isEmpty()) return false; return safeFacilityInspectionService.lambdaQuery() .eq(SafeFacilityInspection::getInspectionCode, code) .ne(excludeId != null, SafeFacilityInspection::getId, excludeId) .count() > 0; } @Operation(summary = "修改安全设施巡检") @Log(title = "安全设施巡检", businessType = BusinessType.UPDATE) @PutMapping() public R update(@RequestBody SafeFacilityInspection safeFacilityInspection) { return R.ok(safeFacilityInspectionService.updateById(safeFacilityInspection)); } @Operation(summary = "删除安全设施巡检") @Log(title = "安全设施巡检", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R delSafeFacilityInspection(@PathVariable List ids) { for (Integer id : ids) { long count = safeFacilityRectificationService.lambdaQuery() .eq(SafeFacilityRectification::getInspectionId, id).count(); if (count > 0) { return R.fail("该巡检记录存在关联的整改记录,无法删除"); } } return R.ok(safeFacilityInspectionService.removeBatchByIds(ids)); } }