iailab-module-model/iailab-module-model-biz/db/mysql.sql
@@ -181,19 +181,35 @@ ( id varchar(36) not null, item_id varchar(36) not null COMMENT '预测项ID', sample_length integer COMMENT '样本长度', out_id varchar(36) not null COMMENT '输出ID', sample_length integer COMMENT '取样长度', value_type integer COMMENT '值类型', begin_time datetime COMMENT '开始统计时间', in_deviation decimal(8, 3) COMMENT '精准误差', in_accuracy_rate decimal(6, 4) COMMENT '精准度', out_deviation decimal(8, 3) COMMENT '不可信误差', out_accuracy_rate decimal(6, 4) COMMENT '不可信率', is_enable tinyint, update_time datetime, begin_time datetime, is_enable tinyint COMMENT '是否启用', create_time datetime COMMENT '创建时间', update_time datetime COMMENT '更新时间', primary key (id), INDEX idx_item_id (item_id) ) engine = innodb default character set utf8mb4 COMMENT = '预测精准度表'; create table t_mm_item_accuracy_his ( id varchar(36) not null, rate_id varchar(36) not null COMMENT '预测精准度ID', in_deviation decimal(8, 3) COMMENT '精准误差', in_accuracy_rate decimal(6, 4) COMMENT '精准度', out_deviation decimal(8, 3) COMMENT '不可信误差', out_accuracy_rate decimal(6, 4) COMMENT '不可信率', create_time datetime COMMENT '创建时间', primary key (id), INDEX idx_rate_id (rate_id) ) engine = innodb default character set utf8mb4 COMMENT = '预测精准度历史'; create table t_mm_predict_alarm_config ( @@ -201,12 +217,13 @@ title varchar(20) COMMENT '消息标题', alarm_obj varchar(36) COMMENT '监控对象', item_id varchar(36) COMMENT '预测项ID', out_id varchar(36) COMMENT '输出ID', comp_length int COMMENT '比较长度', upper_limit decimal(10, 4) COMMENT '上限', lower_limit decimal(10, 4) COMMENT '下限', unit varchar(10) COMMENT '单位', coefficient decimal(10, 4) COMMENT '转换系数', model_id varchar(36) COMMENT '调度建议模型', schedule_id varchar(36) COMMENT '调度方案', is_enable tinyint NOT NULL COMMENT '是否启用(0禁用 1启用)', `creator` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', @@ -224,6 +241,7 @@ alarm_obj varchar(36) COMMENT '监控对象', point_id varchar(36) COMMENT '监控点位ID', item_id varchar(36) COMMENT '预测项ID', out_id varchar(36) COMMENT '输出ID', current_value decimal(18, 4) COMMENT '当前值', out_time datetime COMMENT '超出时间', out_value decimal(18, 4) COMMENT '超出值', iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
@@ -23,6 +23,7 @@ import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; /** * @author PanZhibao @@ -334,6 +335,15 @@ default: break; } if (!CollectionUtils.isEmpty(dataView.getCurData())) { List<Double> curList = dataView.getCurData().stream().map(t -> { return new Double(t[1].toString()); }).collect(Collectors.toList()); 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)); } result.setStartTime(startTime); result.setEndTime(endTime); result.setCategories(categories); iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyHisDao.java
对比新文件 @@ -0,0 +1,16 @@ package com.iailab.module.model.mcs.pre.dao; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyHisEntity; import org.apache.ibatis.annotations.Mapper; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @TenantDS @Mapper public interface MmItemAccuracyHisDao extends BaseMapperX<MmItemAccuracyHisEntity> { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemAccuracyRateDao.java
对比新文件 @@ -0,0 +1,16 @@ package com.iailab.module.model.mcs.pre.dao; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmItemAccuracyRateEntity; import org.apache.ibatis.annotations.Mapper; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @TenantDS @Mapper public interface MmItemAccuracyRateDao extends BaseMapperX<MmItemAccuracyRateEntity> { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmConfigDao.java
对比新文件 @@ -0,0 +1,16 @@ package com.iailab.module.model.mcs.pre.dao; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; import org.apache.ibatis.annotations.Mapper; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @TenantDS @Mapper public interface MmPredictAlarmConfigDao extends BaseMapperX<MmPredictAlarmConfigEntity> { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmMessageDao.java
对比新文件 @@ -0,0 +1,16 @@ package com.iailab.module.model.mcs.pre.dao; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import org.apache.ibatis.annotations.Mapper; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @TenantDS @Mapper public interface MmPredictAlarmMessageDao extends BaseMapperX<MmPredictAlarmMessageEntity> { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/DmModuleItemEntity.java
@@ -16,6 +16,8 @@ @Data @TableName("T_DM_MODULE_ITEM") public class DmModuleItemEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemAccuracyHisEntity.java
对比新文件 @@ -0,0 +1,57 @@ package com.iailab.module.model.mcs.pre.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @Data @TableName("t_mm_item_accuracy_his") public class MmItemAccuracyHisEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id",type = IdType.INPUT) private String id; /** * 预测精准度ID */ private String rateId; /** * 精准误差 */ private BigDecimal inDeviation; /** * 精准度 */ private BigDecimal inAccuracyRate; /** * 不可信误差 */ private BigDecimal outDeviation; /** * 不可信率 */ private BigDecimal outAccuracyRate; /** * 创建时间 */ private Date createTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemAccuracyRateEntity.java
对比新文件 @@ -0,0 +1,87 @@ package com.iailab.module.model.mcs.pre.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @Data @TableName("t_mm_item_accuracy_rate") public class MmItemAccuracyRateEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id",type = IdType.INPUT) private String id; /** * 预测项ID */ private String itemId; /** * 输出ID */ private String outId; /** * 取样长度 */ private Integer sampleLength; /** * 值类型 */ private Integer valueType; /** * 开始统计时间 */ private Date beginTime; /** * 精准误差 */ private BigDecimal inDeviation; /** * 精准度 */ private BigDecimal inAccuracyRate; /** * 不可信误差 */ private BigDecimal outDeviation; /** * 不可信率 */ private BigDecimal outAccuracyRate; /** * 是否启用 */ private Integer isEnable; /** * 创建时间 */ private Date createTime; /** * 更新时间 */ private Date updateTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemOutputEntity.java
@@ -16,6 +16,8 @@ @Data @TableName("T_MM_ITEM_OUTPUT") public class MmItemOutputEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemResultJsonEntity.java
@@ -16,6 +16,7 @@ @Data @TableName("t_mm_item_result_json") public class MmItemResultJsonEntity implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id",type = IdType.INPUT) private String id; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemStatusEntity.java
@@ -16,6 +16,7 @@ @Data @TableName("t_mm_item_status") public class MmItemStatusEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmConfigEntity.java
对比新文件 @@ -0,0 +1,102 @@ package com.iailab.module.model.mcs.pre.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @Data @TableName("t_mm_predict_alarm_config") public class MmPredictAlarmConfigEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id",type = IdType.INPUT) private String id; /** * 消息标题 */ private String title; /** * 监控对象 */ private String alarmObj; /** * 预测项ID */ private String itemId; /** * 输出ID */ private String outId; /** * 比较长度 */ private Integer compLength; /** * 上限 */ private BigDecimal upperLimit; /** * 下限 */ private BigDecimal lowerLimit; /** * 单位 */ private String unit; /** * 转换系数 */ private BigDecimal coefficient; /** * 调度方案 */ private String scheduleId; /** * 是否启用(0禁用 1启用) */ private Integer isEnable; /** * 创建者 */ private String creator; /** * 创建时间 */ private Date createTime; /** * 更新者 */ private String updater; /** * 更新时间 */ private Date updateTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmMessageEntity.java
对比新文件 @@ -0,0 +1,87 @@ package com.iailab.module.model.mcs.pre.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @Data @TableName("t_mm_predict_alarm_message") public class MmPredictAlarmMessageEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id",type = IdType.INPUT) private String id; /** * 消息标题 */ private String title; /** * 消息内容 */ private String content; /** * 监控对象 */ private String alarmObj; /** * 监控点位ID */ private String pointId; /** * 预测项ID */ private String itemId; /** * 输出ID */ private String outId; /** * 当前值 */ private BigDecimal currentValue; /** * 超出时间 */ private Date outTime; /** * 超出值 */ private BigDecimal outValue; /** * 预警类型 */ private String alarmType; /** * 预警时间 */ private Date alarmTime; /** * 创建时间 */ private Date createTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictModelEntity.java
@@ -16,6 +16,8 @@ @Data @TableName("T_MM_PREDICT_MODEL") public class MmPredictModelEntity implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyHisService.java
对比新文件 @@ -0,0 +1,9 @@ package com.iailab.module.model.mcs.pre.service; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmItemAccuracyHisService { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemAccuracyRateService.java
对比新文件 @@ -0,0 +1,9 @@ package com.iailab.module.model.mcs.pre.service; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmItemAccuracyRateService { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmConfigService.java
对比新文件 @@ -0,0 +1,9 @@ package com.iailab.module.model.mcs.pre.service; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmPredictAlarmConfigService { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java
对比新文件 @@ -0,0 +1,9 @@ package com.iailab.module.model.mcs.pre.service; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmPredictAlarmMessageService { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyHisServiceImpl.java
对比新文件 @@ -0,0 +1,13 @@ package com.iailab.module.model.mcs.pre.service.impl; import com.iailab.module.model.mcs.pre.service.MmItemAccuracyHisService; import org.springframework.stereotype.Service; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @Service public class MmItemAccuracyHisServiceImpl implements MmItemAccuracyHisService { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemAccuracyRateServiceImpl.java
对比新文件 @@ -0,0 +1,13 @@ package com.iailab.module.model.mcs.pre.service.impl; import com.iailab.module.model.mcs.pre.service.MmItemAccuracyRateService; import org.springframework.stereotype.Service; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ @Service public class MmItemAccuracyRateServiceImpl implements MmItemAccuracyRateService { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmConfigServiceImpl.java
对比新文件 @@ -0,0 +1,11 @@ package com.iailab.module.model.mcs.pre.service.impl; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmConfigService; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public class MmPredictAlarmConfigServiceImpl implements MmPredictAlarmConfigService { } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java
对比新文件 @@ -0,0 +1,11 @@ package com.iailab.module.model.mcs.pre.service.impl; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmMessageService; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public class MmPredictAlarmMessageServiceImpl implements MmPredictAlarmMessageService { }