From 49148428d71415ad2b5449cb6ea2e83f1fbb6c18 Mon Sep 17 00:00:00 2001 From: houzhongjian <houzhongyi@126.com> Date: 星期二, 21 一月 2025 15:12:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java | 88 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 85 insertions(+), 3 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java index 9d270d6..6d57df8 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java @@ -1,24 +1,29 @@ package com.iailab.module.model.api.controller.admin; import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.*; +import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO; import com.iailab.module.model.common.utils.ApiSecurityUtils; import com.iailab.module.model.common.utils.ExcelUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; + +import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao @@ -145,4 +150,81 @@ List<ScheduleSuggestRespDTO> data = mcsApi.getLastLimitScheduleSuggest(scheduleObj, limit); return CommonResult.success(data); } + + @PostMapping("/alarm-suggest/page") + @Operation(summary = "获取预警信息和调度建议分页列表") + public CommonResult<PageResult<StAlarmAndSuggestRespVO>> getAlarmAndSuggestPage(@RequestBody StAlarmAndSuggestPageReqVO reqVO) { + PageResult<StAlarmAndSuggestRespVO> page = mcsApi.getAlarmAndSuggestPage(reqVO); + return success(BeanUtils.toBean(page, StAlarmAndSuggestRespVO.class)); + } + + @GetMapping("/chart/param/list") + @Operation(summary = "图表配置列表") + public CommonResult<List<ChartParamDTO>> getChartParamList(@RequestParam("chartCode") String chartCode) { + List<ChartParamDTO> chartParamList = mcsApi.getChartParamList(chartCode); + return CommonResult.success(chartParamList); + } + + @PostMapping("/predict-data/doubleValue") + @Operation(summary = "获取多个预测项Double类型数据") + public CommonResult<Map<String, Map<String,Double>>> getPreDoubleData(@RequestBody PreDoubleDataReqVO reqVO) { + Map<String, Map<String,Double>> map = mcsApi.getPreDoubleData(reqVO); + return CommonResult.success(map); + } + + @PostMapping("/predict-data/last-value") + @Operation(summary = "获取最后预测值") + public CommonResult<Map<String, BigDecimal>> getPredictLastValue(@RequestBody PredictLastValueReqVO reqVO) { + Map<String, BigDecimal> data = mcsApi.getPredictLastValue(reqVO); + return CommonResult.success(data); + } + + @GetMapping("/predict-data/electric") + @Operation(summary = "电力功率因数预测结果查询") + public CommonResult<Map<String,List<Object[]>>> getElectricPredictData(@RequestParam String itemCode) { + Map<String,List<Object[]>> data = mcsApi.getElectricPredictData(itemCode); + return CommonResult.success(data); + } + @GetMapping("/schedule-data/last") + @Operation(summary = "调度模型最新结果查询") + public CommonResult<List<StScheduleRecordVO>> getLastScheduleData(@RequestParam String scheduleCode, @RequestParam Integer limit) { + if (null == limit) { + limit = 1; + } + return CommonResult.success(mcsApi.getLastScheduleData(scheduleCode,limit)); + } + + @PostMapping("/schedule-data/last/more") + @Operation(summary = "多个调度模型最新结果查询") + public CommonResult<Map<String,List<StScheduleRecordVO>>> getMoreLastScheduleData(@RequestBody Map<String,Object> params) { + if (!params.containsKey("scheduleCodes")) { + return success(new HashMap<>()); + } + Set<String> scheduleCodes = new HashSet<>(((List<String>) params.get("scheduleCodes"))); + if (CollectionUtils.isEmpty(scheduleCodes)) { + return success(new HashMap<>()); + } + Integer limit = 1; + if (params.containsKey("limit")) { + limit = Integer.parseInt(params.get("limit").toString()); + } + + Map<String,List<StScheduleRecordVO>> result = new HashMap<>(scheduleCodes.size()); + for (String scheduleCode : scheduleCodes) { + result.put(scheduleCode,mcsApi.getLastScheduleData(scheduleCode, limit)); + } + return CommonResult.success(result); + } + + @PostMapping("/machineRealTimeStatus") + @Operation(summary = "发电机组实时状态查询") + CommonResult<List<Map<String, Object>>> getRealTimeStatus(@RequestBody List<Map<String, Object>> machines) { + return CommonResult.success(mcsApi.getRealTimeStatus(machines)); + } + + @PostMapping("/predict-data/itemNo") + @Operation(summary = "查询时间范围内预测结果") + CommonResult<Map<String,List<Object[]>>> getPredictDataItemNo(@RequestBody PreDataItemNoReqVO reqVO) { + return CommonResult.success(mcsApi.getPredictDataItemNo(reqVO)); + } } \ No newline at end of file -- Gitblit v1.9.3