package com.ruoyi.web.controller.system; import java.util.List; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.domain.TDetectionCabinet; import com.ruoyi.system.service.ITDetectionCabinetService; /** * 检测柜管理 Controller * * @author ruoyi */ @RestController @RequestMapping("/system/detectionCabinet") public class TDetectionCabinetController extends BaseController { private final ITDetectionCabinetService detectionCabinetService; /** * 构造检测柜管理控制器。 * * @param detectionCabinetService 检测柜业务服务 */ public TDetectionCabinetController(ITDetectionCabinetService detectionCabinetService) { this.detectionCabinetService = detectionCabinetService; } /** * 分页查询检测柜,可按设备综合信息、创建时间和运行状态筛选。 * * @param detectionCabinet 查询条件 * @return 分页结果 */ @PreAuthorize("@ss.hasPermi('system:detectionCabinet:list')") @GetMapping("/list") public TableDataInfo list(TDetectionCabinet detectionCabinet) { startPage(); List list = detectionCabinetService.selectDetectionCabinetList(detectionCabinet); return getDataTable(list); } /** * 查询检测柜详情。 * * @param cabinetId 检测柜主键 * @return 检测柜详情 */ @PreAuthorize("@ss.hasPermi('system:detectionCabinet:query')") @GetMapping("/{cabinetId}") public AjaxResult getInfo(@PathVariable Long cabinetId) { return success(detectionCabinetService.selectDetectionCabinetById(cabinetId)); } /** * 新增检测柜,创建人取当前登录用户。 * * @param detectionCabinet 检测柜信息 * @return 操作结果 */ @PreAuthorize("@ss.hasPermi('system:detectionCabinet:add')") @Log(title = "检测柜管理", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@Validated @RequestBody TDetectionCabinet detectionCabinet) { detectionCabinet.setCreateBy(getUsername()); return toAjax(detectionCabinetService.insertDetectionCabinet(detectionCabinet)); } /** * 修改检测柜基础信息,更新人取当前登录用户。 * * @param detectionCabinet 检测柜信息 * @return 操作结果 */ @PreAuthorize("@ss.hasPermi('system:detectionCabinet:edit')") @Log(title = "检测柜管理", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@Validated @RequestBody TDetectionCabinet detectionCabinet) { detectionCabinet.setUpdateBy(getUsername()); return toAjax(detectionCabinetService.updateDetectionCabinet(detectionCabinet)); } /** * 切换检测柜启禁用状态,测试中的检测柜不能禁用。 * * @param detectionCabinet 检测柜主键及目标状态 * @return 操作结果 */ @PreAuthorize("@ss.hasPermi('system:detectionCabinet:changeStatus')") @Log(title = "检测柜管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") public AjaxResult changeStatus(@RequestBody TDetectionCabinet detectionCabinet) { detectionCabinet.setUpdateBy(getUsername()); return toAjax(detectionCabinetService.updateDetectionCabinetStatus(detectionCabinet)); } /** * 批量逻辑删除检测柜,测试中的检测柜不能删除。 * * @param cabinetIds 检测柜主键数组 * @return 操作结果 */ @PreAuthorize("@ss.hasPermi('system:detectionCabinet:remove')") @Log(title = "检测柜管理", businessType = BusinessType.DELETE) @DeleteMapping("/{cabinetIds}") public AjaxResult remove(@PathVariable Long[] cabinetIds) { return toAjax(detectionCabinetService.deleteDetectionCabinetByIds(cabinetIds, getUsername())); } }