唐耀东
2022-10-12 d1bcbbefab4da603c275ed61d0018a46dbc67d1e
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
package com.ruoyi.web.controller.common;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.annotation.DataDictClass;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.enums.EquipmentLog;
import com.ruoyi.common.enums.LogType;
import com.ruoyi.oa.domain.BsSchool;
import com.ruoyi.oa.domain.DevBatch;
import com.ruoyi.oa.domain.DevManufacturer;
import com.ruoyi.oa.domain.DevPeripheralUnit;
import com.ruoyi.oa.domain.bo.DevEquipmentBo;
import com.ruoyi.oa.service.*;
import com.ruoyi.system.service.ISysDictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * 智控设备Controller
 *
 * @author ruoyi
 * @date 2021-12-05
 */
@Validated
@Api(value = "外部接口", tags = {"外部接口"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/externa")
public class ExternaController {
 
    private final ISysDictDataService dictDataService;
 
    private final IDevPeripheralUnitService iDevPeripheralUnitService;
 
    private final IDevBatchService iDevBatchService;
 
    private final IBsSchoolService iBsSchoolService;
 
    private final IDevEquipmentService iDevEquipmentService;
 
    private final IDevManufacturerService iDevManufacturerService;
 
    /**
     * 基础信息
     */
    @ApiOperation("基础信息")
    @Log(type = LogType.EQUIPMENT_LOG, operation = EquipmentLog.LOAD)
    @GetMapping
    public AjaxResult externaList() {
 
        // 智控设备类型
        List<SysDictData> dict1 = dictDataService.list(new QueryWrapper<SysDictData>().lambda().eq(SysDictData::getDictType, "DICT101").orderByAsc(SysDictData::getDictSort));
        // β网络工作频段
        List<SysDictData> dict2 = dictDataService.list(new QueryWrapper<SysDictData>().lambda().eq(SysDictData::getDictType, "DICT102").orderByAsc(SysDictData::getDictSort));
        // 串口通信波特率
        List<SysDictData> dict3 = dictDataService.list(new QueryWrapper<SysDictData>().lambda().eq(SysDictData::getDictType, "DICT103").orderByAsc(SysDictData::getDictSort));
        // 采集周期
        List<SysDictData> dict7 = dictDataService.list(new QueryWrapper<SysDictData>().lambda().eq(SysDictData::getDictType, "DICT107").orderByAsc(SysDictData::getDictSort));
        //在用状态
        List<SysDictData> dict4 = dictDataService.list(new QueryWrapper<SysDictData>().lambda().eq(SysDictData::getDictType, "DICT104").orderByAsc(SysDictData::getDictSort));
        // 外设单元
        List<DevPeripheralUnit> peripheralUnit = iDevPeripheralUnitService.list(new QueryWrapper<DevPeripheralUnit>());
        //外设厂商
        List<DevManufacturer> peripheralFirm = iDevManufacturerService.list(new QueryWrapper<DevManufacturer>());
        // 批次
        List<DevBatch> batch = iDevBatchService.list(new QueryWrapper<DevBatch>());
        // 高校
        List<BsSchool> school = iBsSchoolService.list(new QueryWrapper<BsSchool>());
        Map<String, Object> map = new HashMap<>();
        map.put("DICT101", dict1);
        map.put("DICT102", dict2);
        map.put("DICT103", dict3);
        map.put("DICT104", dict4);
        map.put("DICT107", dict7);
        map.put("peripheralUnit", peripheralUnit);
        map.put("peripheralFirm", peripheralFirm);
        map.put("batch", batch);
        map.put("school", school);
        return AjaxResult.success(map);
    }
 
    /**
     * 设备校验
     */
    @ApiOperation("设备校验")
    @Log(type = LogType.EQUIPMENT_LOG, operation = EquipmentLog.CHECK)
    @RepeatSubmit()
    @PostMapping("/equipment")
    @DataDictClass
    public AjaxResult equipmentAdd(@Validated(AddGroup.class) @RequestBody DevEquipmentBo bo) {
        return AjaxResult.success(iDevEquipmentService.externalAdd(bo));
    }
 
    /**
     * 设备写入参数
     */
    @ApiOperation("设备写入参数")
    @RepeatSubmit()
    @Log(type = LogType.EQUIPMENT_LOG, operation = EquipmentLog.WRITE)
    @PostMapping("/edit")
    public AjaxResult equipmentEdit(@Validated(AddGroup.class) @RequestBody DevEquipmentBo bo) {
        return AjaxResult.success(iDevEquipmentService.equipmentEdit(bo));
    }
 
    /**
     * 提交备注
     */
    @ApiOperation("提交备注")
    @RepeatSubmit()
    @Log(type = LogType.EQUIPMENT_LOG, operation = EquipmentLog.SUBMIT_COMMENT)
    @PostMapping("/submitComment")
    public AjaxResult submitComment(@Validated(AddGroup.class) @RequestBody DevEquipmentBo bo) {
        iDevEquipmentService.submitComment(bo);
        return AjaxResult.success();
    }
}