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-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java | 23 ++----- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java | 1 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigSaveReqVO.java | 6 ++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet1h.java | 40 +++++++++++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmConfigEntity.java | 10 +++ iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java | 3 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java | 27 ++++++++- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java | 3 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java | 2 iailab-module-model/iailab-module-model-biz/db/mysql.sql | 7 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java | 6 ++ iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml | 1 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/enums/ScheduleSuggestStatusEnum.java | 35 +++++++++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java | 1 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java | 6 ++ 15 files changed, 147 insertions(+), 24 deletions(-) diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java index 6221f9c..67c8610 100644 --- a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java +++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java @@ -11,7 +11,8 @@ public enum DataPointFreqEnum { NET_10S("10s", 10), NET_30S("30s", 30), - NET_1MIN("1min",60); + NET_1MIN("1min",60), + NET_1H("1h",60*60); private String code; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java index 13e4146..6e1afbd 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java @@ -9,6 +9,7 @@ import com.iailab.module.data.api.dto.IndexQueryDTO; import com.iailab.module.data.api.dto.echarts.BarLineDTO; import com.iailab.module.data.api.dto.echarts.SeriesItem; +import com.iailab.module.data.api.ind.IndItemApi; import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; import com.iailab.module.data.api.plan.PlanItemApi; @@ -66,6 +67,9 @@ @Autowired private PlanItemApi planItemApi; + + @Autowired + private IndItemApi indItemApi; @Autowired private IndItemCollector indItemCollector; @@ -303,28 +307,15 @@ @PermitAll @GetMapping("/query-ind/default-value") @Operation(summary = "查询指标默认值") - public CommonResult<List<ApiIndItemValueDTO>> queryIndItemDefaultValue(HttpServletResponse response, HttpServletRequest - request,@RequestParam String itemNo) throws Exception { - apiSecurityUtils.validate(request); - List<IndItemValueVO> list = indItemCollector.queryValue(itemNo); - List<ApiIndItemValueDTO> dtoList = new ArrayList<>(); - list.forEach(item -> { - if (item != null) { - ApiIndItemValueDTO dto = new ApiIndItemValueDTO(); - dto.setDataTime(item.getDataTime()); - dto.setDataValue(item.getDataValue().doubleValue()); - dtoList.add(dto); - } - }); - return success(dtoList); + public CommonResult<List<ApiIndItemValueDTO>> queryIndItemDefaultValue(@RequestParam String itemNo) { + return success(indItemApi.queryIndItemDefaultValue(itemNo)); } @PermitAll @PostMapping("/query-ind/history-value") @Operation(summary = "查询指标历史值") public CommonResult<List<ApiIndItemValueDTO>> queryIndItemHistoryValue(@RequestBody ApiIndItemQueryDTO dto) { - List<IndItemValueVO> list = indItemCollector.queryValue(dto.getItemNo(), dto.getStart(), dto.getEnd()); - return success(ConvertUtils.sourceToTarget(list, ApiIndItemValueDTO.class)); + return success(indItemApi.queryIndItemHistoryValue(dto)); } @PermitAll diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet1h.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet1h.java new file mode 100644 index 0000000..c0d2f29 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet1h.java @@ -0,0 +1,40 @@ +package com.iailab.module.data.job.task; + +import com.iailab.module.data.point.collection.PointCollector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Calendar; + +/** + * @description: Point采集器1h + * @author: dzd + * @date: 2025/1/18 14:07 + **/ +@Component("pointCollectTaskNet1h") +public class PointCollectTaskNet1h implements ITask { + private Logger logger = LoggerFactory.getLogger(getClass()); + + private final String NET = "1h"; + + @Resource + private PointCollector pointCollector; + + @Override + public void run(String params){ + logger.debug("pointCollectTaskNet1h定时任务正在执行,参数为:{}", params); + try { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.MILLISECOND, 0); + pointCollector.collect(calendar.getTime(), NET); + logger.info("pointCollectTaskNet1h定时任务完成时间:" + LocalDateTime.now()); + } catch (Exception ex) { + ex.printStackTrace(); + logger.error("pointCollectTaskNet1h定时任务失败时间:" + LocalDateTime.now()); + } + + } +} diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java index 8e3b6d1..6ad234e 100644 --- a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java +++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java @@ -69,4 +69,10 @@ @Schema(description = "更新时间") private Date updateTime; + + @Schema(description = "累计值上限") + private BigDecimal culUpper; + + @Schema(description = "累计值下限") + private BigDecimal culLower; } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/db/mysql.sql b/iailab-module-model/iailab-module-model-biz/db/mysql.sql index a96f009..6e42fba 100644 --- a/iailab-module-model/iailab-module-model-biz/db/mysql.sql +++ b/iailab-module-model/iailab-module-model-biz/db/mysql.sql @@ -874,4 +874,9 @@ INDEX `ind_model_id`(`model_id` ASC) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='模型下发信息表'; -alter table t_st_schedule_scheme add column `run_status` varchar(4) DEFAULT NULL COMMENT '运行状态'; \ No newline at end of file +alter table t_st_schedule_scheme add column `run_status` varchar(4) DEFAULT NULL COMMENT '运行状态'; + +alter table t_mm_predict_alarm_config add column `cul_upper` decimal(10, 4) COMMENT '累计值上限'; +alter table t_mm_predict_alarm_config add column `cul_lower` decimal(10, 4) COMMENT '累计值下限'; + +alter table t_st_schedule_scheme modify column `trigger_condition` varchar(50) COMMENT '触发条件' diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java index 31e61c8..faa7294 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java @@ -391,8 +391,7 @@ dataView.setPreMax(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).max().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP)); dataView.setPreMin(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).min().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP)); dataView.setPreLast(new BigDecimal(curList.get(curList.size() - 1))); - dataView.setPreCumulant(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).sum()) - .divide(new BigDecimal(HOUR_MINS), 2, BigDecimal.ROUND_HALF_UP)); + dataView.setPreCumulant(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).sum())); } String alarmObj = chartParams.get(CommonConstant.ALARM_OBJ); 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 96116e5..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 @@ -12,6 +12,7 @@ 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; @@ -20,9 +21,7 @@ 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; @@ -195,6 +194,28 @@ 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) { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/enums/ScheduleSuggestStatusEnum.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/enums/ScheduleSuggestStatusEnum.java new file mode 100644 index 0000000..caadc08 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/enums/ScheduleSuggestStatusEnum.java @@ -0,0 +1,35 @@ +package com.iailab.module.model.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 调度建议状态 + * + * @author PanZhibao + * @Description + * @createTime 2025年01月21日 + */ +@Getter +@AllArgsConstructor +public enum ScheduleSuggestStatusEnum { + + S0(0, "未处理"), + S1(1, "已采纳"); + + private Integer code; + private String desc; + + public static ScheduleSuggestStatusEnum getEumByCode(String code) { + if (code == null) { + return null; + } + + for (ScheduleSuggestStatusEnum statusEnum : ScheduleSuggestStatusEnum.values()) { + if (statusEnum.getCode().equals(code)) { + return statusEnum; + } + } + return null; + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmConfigEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmConfigEntity.java index 199f991..1569302 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmConfigEntity.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmConfigEntity.java @@ -99,4 +99,14 @@ * 更新时间 */ private Date updateTime; + + /** + * 累计值上限 + */ + private BigDecimal culUpper; + + /** + * 累计值下限 + */ + private BigDecimal culLower; } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java index 9b06aec..22fb299 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java @@ -67,4 +67,10 @@ @Schema(description = "更新时间") private Date updateTime; + + @Schema(description = "累计值上限") + private BigDecimal culUpper; + + @Schema(description = "累计值下限") + private BigDecimal culLower; } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigSaveReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigSaveReqVO.java index d31ca3a..fa71b9b 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigSaveReqVO.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigSaveReqVO.java @@ -62,4 +62,10 @@ @Schema(description = "更新时间") private Date updateTime; + + @Schema(description = "累计值上限") + private BigDecimal culUpper; + + @Schema(description = "累计值下限") + private BigDecimal culLower; } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java index 46cdb20..e23aa21 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java @@ -4,6 +4,7 @@ import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.module.model.common.enums.ScheduleSuggestStatusEnum; import com.iailab.module.model.mcs.sche.dao.StScheduleSuggestDao; import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; import com.iailab.module.model.mcs.sche.service.StScheduleSuggestService; @@ -32,6 +33,7 @@ public void create(StScheduleSuggestSaveReqVO createReqVO) { StScheduleSuggestEntity entity = BeanUtils.toBean(createReqVO, StScheduleSuggestEntity.class); entity.setId(UUID.randomUUID().toString()); + entity.setStatus(ScheduleSuggestStatusEnum.S0.getCode()); baseDao.insert(entity); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java index ee15741..75aefb0 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java @@ -86,7 +86,6 @@ * * @param predictResult */ - @Async @DSTransactional public void savePredictResult(PredictResultVO predictResult) { Map<String, List<DataValueVO>> resultMap = convertToPredictData(predictResult); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java index abdeba2..2ddb9c6 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java @@ -178,6 +178,7 @@ vo.setDataValue(t.getDataValue()); return vo; }).collect(Collectors.toList()); + break; case IND: ApiIndItemQueryDTO queryIndItemDTO = new ApiIndItemQueryDTO(); ApiIndItemDTO intItem = indMap.get(columnItem.getParamId()); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml index 9cee8c2..e364b29 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml +++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml @@ -15,5 +15,6 @@ AND t.alarmObj LIKE CONCAT('%', #{params.alarmObj},'%') </if> </where> + order by t1.create_time desc </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3