houzhongjian
2025-01-21 49148428d71415ad2b5449cb6ea2e83f1fbb6c18
Merge remote-tracking branch 'origin/master'
已修改13个文件
已添加2个文件
171 ■■■■ 文件已修改
iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet1h.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/AlarmConfigRespDTO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/db/mysql.sql 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/controller/admin/McsApiController.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/enums/ScheduleSuggestStatusEnum.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmConfigEntity.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigSaveReqVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleSuggestServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/PredictSampleDataConstructor.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/MmPredictAlarmConfigDao.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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
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());
        }
    }
}
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;
}
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 '运行状态';
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 '触发条件'
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);
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) {
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;
    }
}
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;
}
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;
}
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;
}
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);
    }
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);
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());
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>