Newer
Older
zq-big-sreen / src / main / java / com / casic / controller / ScreenDataController.java
chaizhuang on 19 Oct 2022 7 KB 没有改变
package com.casic.controller;

import com.casic.service.ScreenDataService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/whale/eye")
public class ScreenDataController {
    private final ScreenDataService screenDataService;

    public ScreenDataController(ScreenDataService screenDataService) {
        this.screenDataService = screenDataService;
    }

    /**
     * 动态显示已安装设备的类型和个数
     */
    @RequestMapping("/installed-device")
    public Object getInstalledDevice(String beginTime, String endTime) {
        return screenDataService.getInstalledDevice(beginTime, endTime);
    }

    /**
     * 统计汇总各管线权属单位下的燃气管线总长度
     */
    @RequestMapping("/line-length")
    public Object getLineLength(String beginTime, String endTime) {
//        return screenDataService.getLineLength(beginTime, endTime);
        return "[\n" +
                "      {\n" +
                "        \"deptName\":\"圣井燃气\",\n" +
                "        \"totalLength\":440\n" +
                "      },\n" +
                "      {\n" +
                "        \"deptName\":\"华气燃气\",\n" +
                "        \"totalLength\":810\n" +
                "      },\n" +
                "      {\n" +
                "        \"typeName\":\"中燃燃气\",\n" +
                "        \"totalLength\":500\n" +
                "      },\n" +
                "      {\n" +
                "        \"typeName\":\"正和燃气\",\n" +
                "        \"totalLength\":520\n" +
                "      },\n" +
                "      {\n" +
                "        \"typeName\":\"华罚燃气\",\n" +
                "        \"totalLength\":630\n" +
                "      }\n" +
                "   ]";
    }

    /**
     * 统计汇总各管线权属单位下的燃气管线总长度
     */
    @RequestMapping("/alarm-rate")
    public Object getKindsAlarmRate(String beginTime, String endTime) {
        return screenDataService.getKindsAlarmRate(beginTime, endTime);
    }

    /**
     * 分类汇总燃气管线监管人员的类型和数量
     */
    @RequestMapping("/staff")
    public Object getObvserStaff(String beginTime, String endTime) {
//        return screenDataService.getObvserStaff(beginTime, endTime);
        return "{\n" +
                "   \t\"总人数\":2022,\n" +
                "\t\"staffDataList\":[\n" +
                "      {\n" +
                "\t\t\"岗位名称\":\"管理人员\",\n" +
                "\t\t\"总计\":72\n" +
                "      },\n" +
                "      {\n" +
                "\t\t\"岗位名称\":\"运维人员\",\n" +
                "\t\t\"总计\":874\n" +
                "      },\n" +
                "      {\n" +
                "\t\t\"岗位名称\":\"施工人员\",\n" +
                "\t\t\"总计\":456\n" +
                "      },\n" +
                "      {\n" +
                "\t\t\"岗位名称\":\"统计人员\",\n" +
                "\t\t\"总计\":745\n" +
                "      },\n" +
                "      {\n" +
                "\t\t\"岗位名称\":\"技术人员\",\n" +
                "\t\t\"总计\":455\n" +
                "      },\n" +
                "      {\n" +
                "\t\t\"岗位名称\":\"监管人员\",\n" +
                "\t\t\"总计\":644\n" +
                "      }]\n" +
                "   }";
    }

    /**
     * 以道路的维度来统计汇总燃气管线的长度和权属单位
     */
    @RequestMapping("/road-line-length")
    public Object getRoadLineLength(String beginTime, String endTime) {
//        return screenDataService.getRoadLineLength(beginTime, endTime);
        return "[\n" +
                "      {\n" +
                "\t\t\"所属道路\":\"双山西街\",\n" +
                "\t\t\"管线长度/km\":41,\n" +
                "\t\t\"权属单位\":\"圣井燃气\"\n" +
                "      },\n" +
                "       {\n" +
                "\t\t\"所属道路\":\"世纪大道\",\n" +
                "\t\t\"管线长度/km\":54,\n" +
                "\t\t\"权属单位\":\"正和燃气\"\n" +
                "      },\n" +
                "      {\n" +
                "\t\t\"所属道路\":\"桃水大街\",\n" +
                "\t\t\"管线长度/km\":32,\n" +
                "\t\t\"权属单位\":\"中燃燃气\"\n" +
                "      },\n" +
                "      {\n" +
                "\t\t\"所属道路\":\"鲁态大街\",\n" +
                "\t\t\"管线长度/km\":41,\n" +
                "\t\t\"权属单位\":\"正和燃气\"\n" +
                "      }\n" +
                "]";
    }

    /**
     * 以道路的维度来统计燃气管线监控中的报警情况
     */
    @RequestMapping("/road-alarm")
    public Object getAlarmRecordsByRoad(String beginTime, String endTime) {
        return screenDataService.getAlarmRecordsByRoad(beginTime, endTime);
    }

//    /**
//     * 燃气设备列表,包括设备基本信息、燃气数据值、告警情况
//     */
//    @RequestMapping("/well/list")
//    public Object getDeviceList(String beginTime, String endTime) {
//        return screenDataService.getDeviceList(beginTime,endTime);
//    }
//
//    /**
//     * 包括设备基本信息、燃气数据值、告警情况
//     */
//    @RequestMapping("/well/Info")
//    public Object getDeviceInfo(String wellCode,String deviceType) {
//        return screenDataService.getDeviceInfo(wellCode,deviceType);
//    }

    /**
     * 管网健康指数
     * 场站健康指数
     */
    @RequestMapping("/health-indicator")
    public Object getDeviceIndicator(String beginTime, String endTime) {
        return screenDataService.getHealthIndicator(beginTime, endTime);
    }

    @RequestMapping("/dept-indicator")
    public Object getDeptIndicator(String beginTime, String endTime) {
        return screenDataService.getDeptIndicator(beginTime, endTime);
    }

    /**
     * 显示云台的报警信息
     */
    @RequestMapping("/station-alarm")
    public Object getAlarmRecordsByStation(String beginTime, String endTime) {
        return screenDataService.getAlarmRecordsByStation(beginTime, endTime);
    }

    /**
     * 道路管网健康指标:从道路的维度来判断,每条道路燃气管线的健康指数,(按照设备的总数和设备的报警数来计算)
     */
    @RequestMapping("/road-indicator")
    public Object getRoadIndicator(String isSort,String limitNum,String beginTime, String endTime) {
        return screenDataService.getHealthIndicatorByRoad( isSort, limitNum,beginTime, endTime);
    }

    @RequestMapping("/time-span")
    public Object getDeptTimeSpan(String beginTime, String endTime) {
        return screenDataService.getDeptTimeSpan(beginTime, endTime);
    }

    /**
     * 道路巡检运维情况
     *
     * @param beginTime
     * @param endTime
     * @return
     */
    @RequestMapping("/inspect-road")
    public Object getInspectRoad(String beginTime, String endTime) {
        return screenDataService.getInspectRoad(beginTime, endTime);
    }

    /**
     * 运维完成情况
     *
     * @param beginTime
     * @param endTime
     * @return
     */
    @RequestMapping("/operational-status")
    public Object getOperationalStatus(String beginTime, String endTime) {
        return screenDataService.getOperationalStatus(beginTime, endTime);
    }
}