From 4ca24008bfde25fb6235e816ecfdd2269f65e35a Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期四, 14 十一月 2024 15:42:41 +0800
Subject: [PATCH] data、model版本冲突重新提交

---
 iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/plan/dto/ApiPlanItemDTO.java                     |   33 +++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/ItemRunStatusEnum.java              |   33 +++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/PredGranularityEnum.java            |   33 +++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemStatusEntity.java            |   45 +++++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java              |   37 ++++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemStatusServiceImpl.java |   48 ++++++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemStatusService.java          |   13 ++
 iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java                         |   32 +++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemStatusDao.java                  |   16 ++
 iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/TimeGranularityEnum.java                       |   38 ++++++
 10 files changed, 328 insertions(+), 0 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/plan/dto/ApiPlanItemDTO.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/plan/dto/ApiPlanItemDTO.java
new file mode 100644
index 0000000..1f59ec1
--- /dev/null
+++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/plan/dto/ApiPlanItemDTO.java
@@ -0,0 +1,33 @@
+package com.iailab.module.data.api.plan.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月08日
+ */
+@Data
+@Tag(name = "计划项")
+public class ApiPlanItemDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "ID")
+    private String id;
+
+    @Schema(description = "指标编码")
+    private String itemNo;
+
+    @Schema(description = "指标名称")
+    private String itemName;
+
+    @Schema(description = "指标分类")
+    private String itemCategory;
+
+    @Schema(description = "时间粒度")
+    private String timeGranularity;
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..6221f9c
--- /dev/null
+++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/DataPointFreqEnum.java
@@ -0,0 +1,32 @@
+package com.iailab.module.data.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 测点频率类型
+ */
+@Getter
+@AllArgsConstructor
+public enum DataPointFreqEnum {
+    NET_10S("10s", 10),
+    NET_30S("30s", 30),
+    NET_1MIN("1min",60);
+
+    private String code;
+
+    private Integer value;
+
+    public static DataPointFreqEnum getEumByCode(String code) {
+        if (code == null) {
+            return null;
+        }
+
+        for (DataPointFreqEnum statusEnum : DataPointFreqEnum.values()) {
+            if (statusEnum.getCode().equals(code)) {
+                return statusEnum;
+            }
+        }
+        return null;
+    }
+}
diff --git a/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/TimeGranularityEnum.java b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/TimeGranularityEnum.java
new file mode 100644
index 0000000..4731528
--- /dev/null
+++ b/iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/enums/TimeGranularityEnum.java
@@ -0,0 +1,38 @@
+package com.iailab.module.data.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Calendar;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月08日
+ */
+@Getter
+@AllArgsConstructor
+public enum TimeGranularityEnum {
+
+    TG_MIN("min", Calendar.MINUTE),
+    TG_HOUR("hour", Calendar.HOUR_OF_DAY),
+    TG_DAY("day", Calendar.DAY_OF_YEAR),
+    TG_MON("mon",Calendar.MONTH);
+
+    private String code;
+
+    private Integer value;
+
+    public static TimeGranularityEnum getEumByCode(String code) {
+        if (code == null) {
+            return null;
+        }
+
+        for (TimeGranularityEnum statusEnum : TimeGranularityEnum.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/dao/MmItemStatusDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemStatusDao.java
new file mode 100644
index 0000000..78d5c03
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmItemStatusDao.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.MmItemStatusEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月11日
+ */
+@TenantDS
+@Mapper
+public interface MmItemStatusDao extends BaseMapperX<MmItemStatusEntity> {
+}
\ 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/MmItemStatusEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemStatusEntity.java
new file mode 100644
index 0000000..e99af9c
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmItemStatusEntity.java
@@ -0,0 +1,45 @@
+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.util.Date;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月11日
+ */
+@Data
+@TableName("t_mm_item_status")
+public class MmItemStatusEntity implements Serializable {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id",type = IdType.INPUT)
+    private String id;
+
+    /**
+     * 预测项ID
+     */
+    private String itemId;
+
+    /**
+     * 最新运行时间
+     */
+    private Date lastTime;
+
+    /**
+     * 运行状态
+     */
+    private Integer status;
+
+    /**
+     * 耗时(ms)
+     */
+    private Long duration;
+}
\ 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/enums/ItemRunStatusEnum.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/ItemRunStatusEnum.java
new file mode 100644
index 0000000..ae3d3f4
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/ItemRunStatusEnum.java
@@ -0,0 +1,33 @@
+package com.iailab.module.model.mcs.pre.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月11日
+ */
+@Getter
+@AllArgsConstructor
+public enum ItemRunStatusEnum {
+    PROCESSING(1, "处理中"),
+    SUCCESS(2, "成功"),
+    FAIL(3, "失败");
+
+    private Integer code;
+    private String desc;
+
+    public static ItemRunStatusEnum getEumByCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+
+        for (ItemRunStatusEnum statusEnum : ItemRunStatusEnum.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/enums/PredGranularityEnum.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/PredGranularityEnum.java
new file mode 100644
index 0000000..2f1a592
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/PredGranularityEnum.java
@@ -0,0 +1,33 @@
+package com.iailab.module.model.mcs.pre.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 预测粒度
+ *
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月11日
+ */
+@Getter
+@AllArgsConstructor
+public enum PredGranularityEnum {
+    MIN1(60, "1min");
+
+    private Integer code;
+    private String desc;
+
+    public static PredGranularityEnum getEumByCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+
+        for (PredGranularityEnum statusEnum : PredGranularityEnum.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/service/MmItemStatusService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemStatusService.java
new file mode 100644
index 0000000..45ba74c
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemStatusService.java
@@ -0,0 +1,13 @@
+package com.iailab.module.model.mcs.pre.service;
+
+import com.iailab.module.model.mcs.pre.enums.ItemRunStatusEnum;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月11日
+ */
+public interface MmItemStatusService {
+
+    void recordStatus(String itemId, ItemRunStatusEnum status, Long duration);
+}
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemStatusServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemStatusServiceImpl.java
new file mode 100644
index 0000000..545ef61
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemStatusServiceImpl.java
@@ -0,0 +1,48 @@
+package com.iailab.module.model.mcs.pre.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.iailab.module.model.mcs.pre.dao.MmItemStatusDao;
+import com.iailab.module.model.mcs.pre.entity.MmItemStatusEntity;
+import com.iailab.module.model.mcs.pre.enums.ItemRunStatusEnum;
+import com.iailab.module.model.mcs.pre.service.MmItemStatusService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.UUID;
+
+/**
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月11日
+ */
+@Service
+public class MmItemStatusServiceImpl implements MmItemStatusService {
+
+
+    @Resource
+    public MmItemStatusDao mmItemStatusDao;
+
+    public void recordStatus(String itemId, ItemRunStatusEnum status, Long duration) {
+        QueryWrapper<MmItemStatusEntity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("item_id", itemId);
+        MmItemStatusEntity entity = mmItemStatusDao.selectOne(queryWrapper);
+        if (entity == null) {
+            entity = new MmItemStatusEntity();
+            entity.setId(UUID.randomUUID().toString());
+            entity.setItemId(itemId);
+            entity.setLastTime(new Date());
+            entity.setStatus(status.getCode());
+            entity.setDuration(duration);
+            mmItemStatusDao.insert(entity);
+        } else {
+            entity.setLastTime(new Date());
+            entity.setStatus(status.getCode());
+            entity.setDuration(duration);
+            mmItemStatusDao.updateById(entity);
+
+        }
+
+
+    }
+}
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java
new file mode 100644
index 0000000..fec116a
--- /dev/null
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/common/enums/ModelParamType.java
@@ -0,0 +1,37 @@
+package com.iailab.module.model.mdk.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 模型参数类型
+ *
+ * @author PanZhibao
+ * @Description
+ * @createTime 2024年11月08日
+ */
+@Getter
+@AllArgsConstructor
+public enum ModelParamType {
+
+    DATAPOINT("DATAPOINT", "测点值"),
+    PREDICTITEM("PREDICTITEM", "预测值"),
+    IND("IND", "指标值"),
+    PLAN("PLAN", "计划值");
+
+    private String code;
+    private String desc;
+
+    public static ModelParamType getEumByCode(String code) {
+        if (code == null) {
+            return null;
+        }
+
+        for (ModelParamType statusEnum : ModelParamType.values()) {
+            if (statusEnum.getCode().equals(code)) {
+                return statusEnum;
+            }
+        }
+        return null;
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3