2
liusuyi
2026-05-12 9b5c9db9189493fbc6db48f55a7b7311b2a3253c
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
package com.ard.work.inspect.controller;
 
import java.util.List;
import java.util.Map;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
 
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
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;
import com.ard.common.log.annotation.Log;
import com.ard.common.log.enums.BusinessType;
import com.ard.common.security.annotation.RequiresPermissions;
import com.ard.work.inspect.domain.ArdVideoInspectTask;
import com.ard.work.inspect.service.IArdVideoInspectTaskService;
import com.ard.common.core.web.controller.BaseController;
import com.ard.common.core.web.domain.AjaxResult;
import com.ard.common.core.utils.poi.ExcelUtil;
import com.ard.common.core.web.page.TableDataInfo;
 
/**
 * 视频巡检任务Controller
 *
 * @author ruoyi
 * @date 2024-09-12
 */
@Tag(name = "视频巡检任务")
@RestController
@RequestMapping("/task")
public class ArdVideoInspectTaskController extends BaseController {
    @Resource
    private IArdVideoInspectTaskService ardVideoInspectTaskService;
 
    /**
     * 查询视频巡检任务列表
     */
    @Operation(summary = "查询视频巡检任务列表")
    @RequiresPermissions("inspect:task:list")
    @GetMapping("/list")
    public TableDataInfo list(ArdVideoInspectTask ardVideoInspectTask) {
        startPage();
        List<ArdVideoInspectTask> list = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
        return getDataTable(list);
    }
 
    /**
     * 导出视频巡检任务列表
     */
    @Operation(summary = "导出视频巡检任务列表")
    @RequiresPermissions("inspect:task:export")
    @Log(title = "视频巡检任务", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ArdVideoInspectTask ardVideoInspectTask) {
        List<ArdVideoInspectTask> list = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
        ExcelUtil<ArdVideoInspectTask> util = new ExcelUtil<ArdVideoInspectTask>(ArdVideoInspectTask.class);
        util.exportExcel(response, list, "视频巡检任务数据");
    }
 
    /**
     * 获取视频巡检任务详细信息
     */
    @Operation(summary = "获取视频巡检任务详细信息")
    @RequiresPermissions("inspect:task:query")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id) {
        return success(ardVideoInspectTaskService.selectArdVideoInspectTaskById(id));
    }
 
    /**
     * 新增视频巡检任务
     */
    @Operation(summary = "新增视频巡检任务")
    @RequiresPermissions("inspect:task:add")
    @Log(title = "视频巡检任务", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdVideoInspectTask ardVideoInspectTask) {
        return toAjax(ardVideoInspectTaskService.insertArdVideoInspectTask(ardVideoInspectTask));
    }
 
    /**
     * 修改视频巡检任务
     */
    @Operation(summary = "修改视频巡检任务")
    @RequiresPermissions("inspect:task:edit")
    @Log(title = "视频巡检任务", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ArdVideoInspectTask ardVideoInspectTask) {
        return toAjax(ardVideoInspectTaskService.updateArdVideoInspectTask(ardVideoInspectTask));
    }
 
    /**
     * 删除视频巡检任务
     */
    @Operation(summary = "删除视频巡检任务")
    @RequiresPermissions("inspect:task:remove")
    @Log(title = "视频巡检任务", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids) {
        return toAjax(ardVideoInspectTaskService.deleteArdVideoInspectTaskByIds(ids));
    }
 
    /**
     * 启动巡检任务
     */
    //@Operation(summary = "启动巡检任务")
    @GetMapping("/startTask")
    public AjaxResult startTask(String taskId) {
        return AjaxResult.success(ardVideoInspectTaskService.startTask(taskId));
    }
    /**
     * 暂停巡检任务
     */
    @Operation(summary = "手动暂停巡检任务")
    @RequiresPermissions("inspect:task:manual")
    @GetMapping("/pauseTask")
    public AjaxResult pauseTask(String taskId) {
        return AjaxResult.success(ardVideoInspectTaskService.pauseTask(taskId));
    }
    /**
     * 恢复巡检任务
     */
    @Operation(summary = "手动恢复巡检任务")
    @RequiresPermissions("inspect:task:manual")
    @GetMapping("/resumeTask")
    public AjaxResult resumeTask(String taskId) {
        return AjaxResult.success(ardVideoInspectTaskService.resumeTask(taskId));
    }
    /**
     * 取消巡检任务
     */
    //@Operation(summary = "取消巡检任务")
    @GetMapping("/cancelTask")
    public AjaxResult cancelTask(String taskId) {
        return AjaxResult.success(ardVideoInspectTaskService.cancelTask(taskId));
    }
 
    @GetMapping("/options")
    @RequiresPermissions("inspect:task:options")
    @Operation(summary = "选择相机数据")
    public List<Map<String, Object>> options() {
        return  ardVideoInspectTaskService.getOptions();
    }
 
    /**
     * 手动启动巡检任务
     */
    @Operation(summary = "手动启动巡检任务")
    @RequiresPermissions("inspect:task:manual")
    @GetMapping("/manualStartTask")
    public AjaxResult manualStartTask(String taskId) {
        ardVideoInspectTaskService.manualStartTask(taskId);
        return AjaxResult.success();
    }
    /**
     * 手动停止巡检任务
     */
    @Operation(summary = "手动停止巡检任务")
    @RequiresPermissions("inspect:task:manual")
    @GetMapping("/manualStopTask")
    public AjaxResult manualStopTask(String taskId) {
        ardVideoInspectTaskService.manualStopTask(taskId);
        return AjaxResult.success();
    }
}