package com.ard.web.controller.inspection; import java.util.List; import javax.servlet.http.HttpServletResponse; import com.ard.common.annotation.Log; import com.ard.common.core.controller.BaseController; import com.ard.common.core.domain.AjaxResult; import com.ard.common.core.page.TableDataInfo; import com.ard.common.enums.BusinessType; import com.ard.common.utils.poi.ExcelUtil; import com.ard.inspection.domain.ArdInspectionGroup; import com.ard.inspection.service.IArdInspectionGroupService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 精细化巡检分组Controller * * @author xia * @date 2026-01-15 */ @Api(tags = "精细化巡检分组") @RestController @RequestMapping("/inspection/group") public class ArdInspectionGroupController extends BaseController { @Autowired private IArdInspectionGroupService ardInspectionGroupService; /** * 查询精细化巡检分组列表 */ @ApiOperation("查询精细化巡检分组列表") @PreAuthorize("@ss.hasPermi('inspection:group:list')") @GetMapping("/list") public AjaxResult list(ArdInspectionGroup ardInspectionGroup) { List list = ardInspectionGroupService.selectArdInspectionGroupList(ardInspectionGroup); return success(list); } /** * 获取精细化巡检分组详细信息 */ @ApiOperation("获取精细化巡检分组详细信息") @PreAuthorize("@ss.hasPermi('inspection:group:query')") @GetMapping(value = "/{groupId}") public AjaxResult getInfo(@PathVariable("groupId") Long groupId) { //ardInspectionGroupService.checkInspectionGroupDataScope(groupId); return success(ardInspectionGroupService.selectArdInspectionGroupByGroupId(groupId)); } /** * 新增精细化巡检分组 */ @ApiOperation("新增精细化巡检分组") @PreAuthorize("@ss.hasPermi('inspection:group:add')") @Log(title = "精细化巡检分组", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdInspectionGroup ardInspectionGroup) { if (ardInspectionGroupService.checkInspectionGroupNameUnique(ardInspectionGroup)){ return error("新增分组'" + ardInspectionGroup.getGroupName() + "'失败,分组名称已存在"); } ardInspectionGroup.setCreateBy(getUsername()); return toAjax(ardInspectionGroupService.insertArdInspectionGroup(ardInspectionGroup)); } /** * 修改精细化巡检分组 */ @ApiOperation("修改精细化巡检分组") @PreAuthorize("@ss.hasPermi('inspection:group:edit')") @Log(title = "精细化巡检分组", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdInspectionGroup ardInspectionGroup) { Long groupId = ardInspectionGroup.getGroupId(); ardInspectionGroupService.checkInspectionGroupDataScope(groupId); if (!ardInspectionGroupService.checkInspectionGroupNameUnique(ardInspectionGroup)){ return error("修改分组'" + ardInspectionGroup.getGroupName() + "'失败,分组名称已存在"); } else if (ardInspectionGroup.getGroupParentId().equals(groupId)) { return error("修改分组'" + ardInspectionGroup.getGroupName() + "'失败,上级分组不能是自己"); } ardInspectionGroup.setUpdateBy(getUsername()); return toAjax(ardInspectionGroupService.updateArdInspectionGroup(ardInspectionGroup)); } /** * 删除精细化巡检分组 */ @ApiOperation("删除精细化巡检分组") @PreAuthorize("@ss.hasPermi('inspection:group:remove')") @Log(title = "精细化巡检分组", businessType = BusinessType.DELETE) @DeleteMapping("/{groupId}") public AjaxResult remove(@PathVariable Long groupId) { if (ardInspectionGroupService.hasChildByInspectionGroupId(groupId)){ return warn("存在下级分组,不允许删除"); } //if (ardInspectionGroupService.checkInspectionGroupExistUser(groupId)){ // return warn("分组存在用户,不允许删除"); //} //ardInspectionGroupService.checkInspectionGroupDataScope(groupId); return toAjax(ardInspectionGroupService.deleteArdInspectionGroupByGroupId(groupId)); } }