zhaowenyu
2026-01-16 226b062ef301b61260efac126e1db373ace85b87
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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 TableDataInfo list(ArdInspectionGroup ardInspectionGroup) {
        startPage();
        List<ArdInspectionGroup> list = ardInspectionGroupService.selectArdInspectionGroupList(ardInspectionGroup);
        return getDataTable(list);
    }
 
    /**
     * 导出精细化巡检分组列表
     */
    @ApiOperation("导出精细化巡检分组列表")
    @PreAuthorize("@ss.hasPermi('inspection:group:export')")
    @Log(title = "精细化巡检分组", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ArdInspectionGroup ardInspectionGroup) {
        List<ArdInspectionGroup> list = ardInspectionGroupService.selectArdInspectionGroupList(ardInspectionGroup);
        ExcelUtil<ArdInspectionGroup> util = new ExcelUtil<ArdInspectionGroup>(ArdInspectionGroup.class);
        util.exportExcel(response, 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));
    }
 
}