liusuyi
2025-10-16 f3c21be2c841b45d7d435b1be5610e6a5de56a1a
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.work;
 
import java.util.List;
import javax.servlet.http.HttpServletResponse;
 
import com.ard.common.utils.poi.ExcelUtil;
import com.ard.work.domain.entity.ArdDroneInfo;
import com.ard.work.service.IArdDroneInfoService;
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;
import com.ard.common.annotation.Log;
import com.ard.common.core.controller.BaseController;
import com.ard.common.core.domain.AjaxResult;
import com.ard.common.enums.BusinessType;
import com.ard.common.core.page.TableDataInfo;
 
/**
 * 无人机管理Controller
 * 
 * @author xia
 * @date 2025-10-10
 */
@Api(tags = "无人机管理接口")
@RestController
@RequestMapping("/uav/drone")
public class ArdDroneInfoController extends BaseController {
 
    @Autowired
    private IArdDroneInfoService ardDroneInfoService;
 
    /**
     * 查询无人机管理列表
     */
    @ApiOperation("查询无人机管理列表")
    @PreAuthorize("@ss.hasPermi('work:drone:list')")
    @GetMapping("/list")
    public TableDataInfo list(ArdDroneInfo ardDroneInfo) {
        startPage();
        List<ArdDroneInfo> list = ardDroneInfoService.selectArdDroneList(ardDroneInfo);
        return getDataTable(list);
    }
 
    /**
     * 导出无人机管理列表
     */
    @ApiOperation("导出无人机管理列表")
    @PreAuthorize("@ss.hasPermi('work:drone:export')")
    @Log(title = "无人机管理", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ArdDroneInfo ardDroneInfo) {
        List<ArdDroneInfo> list = ardDroneInfoService.selectArdDroneList(ardDroneInfo);
        ExcelUtil<ArdDroneInfo> util = new ExcelUtil<ArdDroneInfo>(ArdDroneInfo.class);
        util.exportExcel(response, list, "无人机管理数据");
    }
 
    /**
     * 获取无人机管理详细信息
     */
    @ApiOperation("获取无人机管理详细信息")
    @PreAuthorize("@ss.hasPermi('work:drone:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id) {
        return success(ardDroneInfoService.selectArdDroneById(id));
    }
 
    /**
     * 新增无人机管理
     */
    @ApiOperation("新增无人机管理")
    @PreAuthorize("@ss.hasPermi('work:drone:add')")
    @Log(title = "无人机管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdDroneInfo ardDroneInfo) {
        return toAjax(ardDroneInfoService.insertArdDrone(ardDroneInfo));
    }
 
    /**
     * 修改无人机管理
     */
    @ApiOperation("修改无人机管理")
    @PreAuthorize("@ss.hasPermi('work:drone:edit')")
    @Log(title = "无人机管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ArdDroneInfo ardDroneInfo) {
        return toAjax(ardDroneInfoService.updateArdDrone(ardDroneInfo));
    }
 
    /**
     * 删除无人机管理
     */
    @ApiOperation("删除无人机管理")
    @PreAuthorize("@ss.hasPermi('work:drone:remove')")
    @Log(title = "无人机管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids) {
        return toAjax(ardDroneInfoService.deleteArdDroneByIds(ids));
    }
 
    /**
     * 批量新增无人机盒子
     */
    @ApiOperation("批量新增无人机盒子")
    @PreAuthorize("@ss.hasPermi('work:drone:insertArdDroneLs')")
    @Log(title = "无人机管理", businessType = BusinessType.DELETE)
    @PostMapping("insertArdDroneLs/{boxSn}/{deptId}")
    public AjaxResult insertArdDroneLs(@PathVariable String[] boxSn, @PathVariable Long deptId) {
        try {
            int result = ardDroneInfoService.insertArdDroneLs(boxSn, deptId);
            if (result > 0) {
                return AjaxResult.success("成功新增 " + result + " 个无人机盒子");
            } else {
                return AjaxResult.success("没有需要新增的无人机盒子");
            }
        } catch (Exception e) {
            return AjaxResult.error(e.getMessage());
        }
    }
 
}