Newer
Older
pichan-haerbin / src / main / java / com / casic / controller / DeviceStatusController.java
chaizhuang on 29 Nov 2022 3 KB 哈尔滨燃气新增
package com.casic.controller;

import com.casic.entity.NbDevice;
import com.casic.model.DataGasConfigParam;
import com.casic.model.ResponseData;
import com.casic.service.GasDeviceService;
import com.casic.util.ExportExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import java.io.IOException;
import java.util.List;


@AllArgsConstructor
@RestController
@RequestMapping("/casic")
@Slf4j
@Api(tags = "设备管理")
public class DeviceStatusController extends ExportExcelUtil {

    private final GasDeviceService gasDeviceService;

    @RequestMapping("/status/config")
    @ApiOperation("状态下发查询")
    public ResponseData gasStatusConfig(@RequestBody List<DataGasConfigParam> dataGasConfigList) {
        return gasDeviceService.devcieStatusConfig(dataGasConfigList);
    }

    @ApiImplicitParams({
            @ApiImplicitParam(name = "keywords", value = "设备编号", required = false),
            @ApiImplicitParam(name = "beginTime", value = "开始时间", required = false),
            @ApiImplicitParam(name = "endTime", value = "结束时间", required = false)
    })
    @ApiOperation("设备列表导出")
    @RequestMapping(value = "/device/export")
    public void deviceDataExport(String keywords, String beginTime, String endTime) throws IOException {
        List<NbDevice> deviceDataExcelDtos = gasDeviceService.getDevicieList(beginTime, endTime, keywords);
        super.exportExcel(NbDevice.class, deviceDataExcelDtos, "设备列表.xlsx");
    }

    @ApiImplicitParams({
            @ApiImplicitParam(name = "devcode", value = "设备编号", required = false),
            @ApiImplicitParam(name = "beginTime", value = "开始时间", required = false),
            @ApiImplicitParam(name = "endTime", value = "结束时间", required = false),
            @ApiImplicitParam(name = "emptyStatus", value = "空状态(查true,不查false)", required = true),
            @ApiImplicitParam(name = "sortDevcode", value = "按设备编号排序", required = true),
            @ApiImplicitParam(name = "currentIndex", value = "当前页", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页大小", required = true)
    })
    @ApiOperation("设备分页列表")
    @RequestMapping(value = "/device/list")
    public ResponseData<List<NbDevice>> deviceListPage(@RequestParam(value = "devcode", required = false) String devcode,
                                                       @RequestParam(value = "emptyStatus", required = true) Boolean emptyStatus,
                                                       @RequestParam(value = "beginTime", required = false) String beginTime,
                                                       @RequestParam(value = "endTime", required = false) String endTime,
                                                       @RequestParam(value = "sortDevcode",  required = true)  Boolean sortDevcode,
                                                       @RequestParam(value = "currentIndex", required = true) Integer currentIndex,
                                                       @RequestParam(value = "pageSize", required = true) Integer pageSize) {
        return gasDeviceService.getDevicieListPage(devcode, beginTime, endTime, currentIndex, pageSize,emptyStatus,sortDevcode);
    }

    @RequestMapping("/device/dict")
    @ApiOperation("设备字典列表")
    public ResponseData<List<NbDevice>> deviceDict() {
        return gasDeviceService.deviceDict();
    }

}