鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
4 天以前 5a46fc75e47ce9a838270024da24405f9673b814
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/DataController.java
@@ -1,19 +1,21 @@
package com.iailab.module.ansteel.api.controller.admin;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.iailab.framework.common.pojo.CommonResult;
import com.iailab.module.ansteel.api.dto.MainProcessIndexDTO;
import com.iailab.module.ansteel.api.dto.PlanDataChartReqVO;
import com.iailab.module.ansteel.api.dto.PowerRunStateDTO;
import com.iailab.module.ansteel.api.dto.PreDataChartRespVO;
import com.iailab.module.ansteel.api.service.DataApi;
import com.iailab.module.ansteel.api.dto.*;
import com.iailab.module.ansteel.api.service.DataService;
import com.iailab.module.data.api.point.DataPointApi;
import com.iailab.module.data.api.point.dto.ApiPointValueWriteDTO;
import com.iailab.module.model.api.mcs.dto.PreDataBarLineReqVO;
import com.iailab.module.model.api.mcs.dto.PreDataSingleChartReqVO;
import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestReqVO;
import com.iailab.module.model.api.mcs.dto.StAlarmAndSuggestRespVO;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import static com.iailab.framework.common.pojo.CommonResult.success;
@@ -28,39 +30,84 @@
public class DataController {
    @Autowired
    private DataApi dataApi;
    private DataService dataService;
    @Autowired
    private DataPointApi dataPointApi;
    @GetMapping("/power-run-state/list")
    @Operation(summary = "发电厂机组运行情况")
    public CommonResult<List<PowerRunStateDTO>> getPowerRunState(@RequestParam Map<String, Object> params) {
        List<PowerRunStateDTO> list = dataApi.getPowerRunState();
        List<PowerRunStateDTO> list = dataService.getPowerRunState();
        return success(list);
    }
    @PostMapping("/predict-data/charts")
    @Operation(summary = "预测数据图表")
    public CommonResult<PreDataChartRespVO> getPreDataChart(@RequestBody PreDataSingleChartReqVO reqVO) {
        PreDataChartRespVO respVO = dataApi.getPreDataChart(reqVO);
        PreDataChartRespVO respVO = dataService.getPreDataChart(reqVO);
        return CommonResult.success(respVO);
    }
    @PostMapping("/predict-data/chartsByOutIds")
    @Operation(summary = "根据outId查询预测数据")
    public CommonResult<List<PreDataViewSimpleDTO>> getPreDataByOutIds(@RequestBody PreDataBarLineReqVO reqVO) {
        List<PreDataViewSimpleDTO> respVO = dataService.getPreDataByOutIds(reqVO);
        return CommonResult.success(respVO);
    }
    @PostMapping("/plan-data/charts")
    @Operation(summary = "计划数据图表")
    public CommonResult<Map<String, Object>> getPlanDataChart(@RequestBody PlanDataChartReqVO reqVO) {
        Map<String, Object> tMap = dataApi.getPlanDataChart(reqVO);
        Map<String, Object> tMap = dataService.getPlanDataChart(reqVO);
        return CommonResult.success(tMap);
    }
    @GetMapping("/main-process-index/list")
    @Operation(summary = "主工序指标")
    public CommonResult<List<MainProcessIndexDTO>> getIndexList(@RequestParam Map<String, Object> params) {
        List<MainProcessIndexDTO> list = dataApi.getIndexList(params);
        return success(list);
    @PostMapping("/schedule-suggest/use-suggest")
    @Operation(summary = "采纳建议")
    public CommonResult<Boolean> useSuggest(@RequestBody StAlarmAndSuggestReqVO ReqVO) {
        return success(dataService.useSuggest(ReqVO));
    }
    @PostMapping("/schedule-suggest/update-status")
    @Operation(summary = "修改建议状态")
    public CommonResult<Boolean> updateSuggestStatus(@RequestBody StAlarmAndSuggestReqVO ReqVO) {
        return success(dataApi.updateSuggestStatus(ReqVO));
    @PostMapping("/schedule-suggest/ignore-suggest")
    @Operation(summary = "忽略建议")
    public CommonResult<Boolean> ignoreSuggest(@RequestBody StAlarmAndSuggestReqVO ReqVO) {
        return success(dataService.ignoreSuggest(ReqVO));
    }
    @GetMapping("/data/history-value")
    @Operation(summary = "指标/测点历史数据")
    public CommonResult<List<Object[]>> getHistoryValue(@RequestParam Map<String, Object> params) {
        return success(dataService.getHistoryValue(params));
    }
    @PostMapping("/datas/history-value")
    @Operation(summary = "多个指标/测点历史数据")
    public CommonResult<Map<String,List<Object[]>>> getDatasHistoryValue(@RequestBody Map<String, Object> params) {
        Map<String,List<Object[]>> result = new HashMap<>();
        if (!params.containsKey("datas") || StringUtils.isBlank(params.get("datas").toString())) {
            return success(result);
        }
        JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(params.get("datas")));
        for (Object data : jsonArray) {
            Map<String, Object> param = new HashMap<>();
            JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(data));
            param.put("dataType",jsonObject.get("dataType"));
            param.put("dataNo",jsonObject.get("dataNo"));
            param.put("startTime",params.get("startTime"));
            param.put("endTime",params.get("endTime"));
            List<Object[]> historyValue = dataService.getHistoryValue(param);
            result.put(jsonObject.get("dataNo").toString(),historyValue);
        }
        return success(result);
    }
    @PostMapping("/write-point-value")
    @Operation(summary = "写入测点值")
    public CommonResult writePointRealValue(@RequestBody ApiPointValueWriteDTO writeDTO) {
        dataPointApi.writePointRealValue(writeDTO);
        return success();
    }
}