liulingling.177216
2024-08-26 349f1cfc5fa77fbc636d542df0d8050fddec48c2
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
package com.dingzhuo.energy.data.monitoring.device.controller;
 
import java.util.ArrayList;
import java.util.List;
 
import com.dingzhuo.energy.data.model.domain.EnergyIndex;
import com.dingzhuo.energy.data.model.service.IEnergyIndexService;
import com.dingzhuo.energy.data.model.service.IModelNodeService;
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.dingzhuo.energy.framework.aspectj.lang.annotation.Log;
import com.dingzhuo.energy.framework.aspectj.lang.enums.BusinessType;
import com.dingzhuo.energy.data.monitoring.device.domain.DeviceStatusHistory;
import com.dingzhuo.energy.data.monitoring.device.service.IDeviceStatusHistoryService;
import com.dingzhuo.energy.framework.web.controller.BaseController;
import com.dingzhuo.energy.framework.web.domain.AjaxResult;
import com.dingzhuo.energy.common.utils.poi.ExcelUtil;
import com.dingzhuo.energy.framework.web.page.TableDataInfo;
 
/**
 * 设备启停历史监测Controller
 * 
 * @author sys
 * @date 2020-03-25
 */
@RestController
@RequestMapping("/historyMonitoring/historyMonitoring")
public class DeviceStatusHistoryController extends BaseController
{
    private final IEnergyIndexService energyIndexService;
    private final IModelNodeService modelNodeService;
 
    @Autowired
    private IDeviceStatusHistoryService deviceStatusHistoryService;
 
    @Autowired
    public DeviceStatusHistoryController(
            IModelNodeService modelNodeService, IEnergyIndexService energyIndexService) {
        this.modelNodeService = modelNodeService;
        this.energyIndexService = energyIndexService;
    }
 
    /**
     * 查询设备启停历史监测列表
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:list')")
    @GetMapping("/list")
    public TableDataInfo list(DeviceStatusHistory deviceStatusHistory)
    {
        startPage();
        List<DeviceStatusHistory> list = deviceStatusHistoryService.selectDeviceStatusHistoryList(deviceStatusHistory);
        return getDataTable(list);
    }
 
    /**
     * 导出设备启停历史监测列表
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:export')")
    @Log(title = "设备启停历史监测", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(DeviceStatusHistory deviceStatusHistory)
    {
        List<DeviceStatusHistory> list = deviceStatusHistoryService.selectDeviceStatusHistoryList(deviceStatusHistory);
        ExcelUtil<DeviceStatusHistory> util = new ExcelUtil<DeviceStatusHistory>(DeviceStatusHistory.class);
        return util.exportExcel(list, "historyMonitoring");
    }
 
    /**
     * 获取设备启停历史监测详细信息
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id)
    {
        return AjaxResult.success(deviceStatusHistoryService.selectDeviceStatusHistoryById(id));
    }
 
    /**
     * 新增设备启停历史监测
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:add')")
    @Log(title = "设备启停历史监测", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody DeviceStatusHistory deviceStatusHistory)
    {
        return toAjax(deviceStatusHistoryService.insertDeviceStatusHistory(deviceStatusHistory));
    }
 
    /**
     * 修改设备启停历史监测
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:edit')")
    @Log(title = "设备启停历史监测", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody DeviceStatusHistory deviceStatusHistory)
    {
        return toAjax(deviceStatusHistoryService.updateDeviceStatusHistory(deviceStatusHistory));
    }
 
    /**
     * 删除设备启停历史监测
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:remove')")
    @Log(title = "设备启停历史监测", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids)
    {
        return toAjax(deviceStatusHistoryService.deleteDeviceStatusHistoryByIds(ids));
    }
 
    /**
     * 查询设备启停历史监测列表
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:list')")
    @GetMapping("/history/list")
    public TableDataInfo listTable(DeviceStatusHistory deviceStatusHistory)
    {
        startPage();
        List<DeviceStatusHistory> historyList = deviceStatusHistoryService.selectDeviceStatusHistoryListNew(deviceStatusHistory);
        return getDataTable(historyList);
    }
 
    /**
     * 导出设备启停历史监测列表(新)
     */
    @PreAuthorize("@ss.hasPermi('historyMonitoring:historyMonitoring:export')")
    @Log(title = "设备启停历史监测", businessType = BusinessType.EXPORT)
    @GetMapping("/export/tableList")
    public AjaxResult exportNew(DeviceStatusHistory deviceStatusHistory)
    {
        List<DeviceStatusHistory> historyList = deviceStatusHistoryService.selectDeviceStatusHistoryListNew(deviceStatusHistory);
        ExcelUtil<DeviceStatusHistory> util = new ExcelUtil<DeviceStatusHistory>(DeviceStatusHistory.class);
        return util.exportExcel(historyList, "historyMonitoring");
    }
}