From d9dcc76d623fb3ff68e159241d505c96c7485b9e Mon Sep 17 00:00:00 2001 From: huangfeng Date: Thu, 27 Feb 2025 11:18:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E9=87=87=E9=9B=86?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/upgrade20250227.sql | 17 +++++++++++++++++ db/谱图202501.sql | 9 --------- .../java/com/xydl/cac/entity/IedDlRecord.java | 6 ++++-- .../com/xydl/cac/iec/IEDCollectService.java | 1 - .../service/impl/IedDlRecordServiceImpl.java | 8 ++++---- .../cac/spectrogram/SpectrogramHandler.java | 10 ++++++++++ 6 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 db/upgrade20250227.sql delete mode 100644 db/谱图202501.sql diff --git a/db/upgrade20250227.sql b/db/upgrade20250227.sql new file mode 100644 index 0000000..e991d58 --- /dev/null +++ b/db/upgrade20250227.sql @@ -0,0 +1,17 @@ +DROP TABLE IF EXISTS `ied_dl_record`; + +CREATE TABLE `ied_dl_record` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `config_id` int(11) DEFAULT NULL, + `remote_path` varchar(200) DEFAULT NULL COMMENT '源路径', + `filename` varchar(200) DEFAULT NULL COMMENT '文件名', + `path` varchar(200) DEFAULT NULL COMMENT '本地路径', + `create_time` datetime DEFAULT NULL, + `d_time` datetime DEFAULT NULL, + `dev_id` int(11) DEFAULT NULL COMMENT '装置ID', + `type_id` int(11) DEFAULT NULL COMMENT '类型id', + `data` mediumtext, + PRIMARY KEY (`id`), + KEY `idxDev` (`dev_id`,`d_time`), + KEY `idxConfig` (`config_id`,`d_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/db/谱图202501.sql b/db/谱图202501.sql deleted file mode 100644 index 8f43ba3..0000000 --- a/db/谱图202501.sql +++ /dev/null @@ -1,9 +0,0 @@ -ALTER TABLE `ied_dl_record` -ADD COLUMN `dev_id` INT(11) NULL DEFAULT NULL COMMENT '装置ID' AFTER `create_time`, -ADD COLUMN `type_id` INT(11) NULL DEFAULT NULL COMMENT '类型id' AFTER `dev_id`, -ADD COLUMN `data` MEDIUMTEXT NULL AFTER `type_id`; - -ALTER TABLE `ied_dl_record` -ADD INDEX `idxDev` (`dev_id` ASC, `create_time` ASC); -ALTER TABLE `ied_dl_record` -ADD INDEX `idxConfig` (`config_id` ASC, `create_time` ASC); \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/entity/IedDlRecord.java b/src/main/java/com/xydl/cac/entity/IedDlRecord.java index b4b6aab..e16b61f 100644 --- a/src/main/java/com/xydl/cac/entity/IedDlRecord.java +++ b/src/main/java/com/xydl/cac/entity/IedDlRecord.java @@ -1,6 +1,5 @@ package com.xydl.cac.entity; -import com.fasterxml.jackson.annotation.JsonInclude; import com.xydl.cac.model.spectrogram.SpectrogramModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -12,7 +11,6 @@ import lombok.NoArgsConstructor; import javax.persistence.*; import java.util.Date; -@JsonInclude(JsonInclude.Include.NON_NULL) @Data @Builder @AllArgsConstructor @@ -43,6 +41,10 @@ public class IedDlRecord { @Column(name = "filename") private String filename; + @ApiModelProperty("采集时间") + @Column(name = "d_time") + private Date dTime; + @ApiModelProperty("创建时间") @Column(name = "create_time") private Date createTime; diff --git a/src/main/java/com/xydl/cac/iec/IEDCollectService.java b/src/main/java/com/xydl/cac/iec/IEDCollectService.java index b2965a5..ba5a2dc 100644 --- a/src/main/java/com/xydl/cac/iec/IEDCollectService.java +++ b/src/main/java/com/xydl/cac/iec/IEDCollectService.java @@ -226,7 +226,6 @@ public class IEDCollectService { String localFullPath = _bizConfig.getDatapath() + relativePath; iecClient.getFile(record.getRemotePath(), localFullPath, config.getTodel()); record.setPath(_bizConfig.getDataNginxPath() + relativePath); - record.setCreateTime(new Date()); log.info("采集到" + record.getRemotePath()); _spectrogramHandler.processFile(record); _dlRecordService.add(record); diff --git a/src/main/java/com/xydl/cac/service/impl/IedDlRecordServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/IedDlRecordServiceImpl.java index b9fffd6..a144c92 100644 --- a/src/main/java/com/xydl/cac/service/impl/IedDlRecordServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/IedDlRecordServiceImpl.java @@ -38,18 +38,18 @@ public class IedDlRecordServiceImpl implements IedDlRecordService { Predicate predicate = builder.conjunction(); if (configId != null) { predicate.getExpressions().add(builder.equal(root.get("configId"), configId)); - query.orderBy(builder.desc(root.get("createTime"))); + query.orderBy(builder.desc(root.get("dTime"))); } else if (devId != null) { predicate.getExpressions().add(builder.equal(root.get("devId"), devId)); - query.orderBy(builder.desc(root.get("createTime"))); + query.orderBy(builder.desc(root.get("dTime"))); } else { query.orderBy(builder.desc(root.get("id"))); } if (startTime != null) { - predicate.getExpressions().add(builder.greaterThan(root.get("createTime"), startTime)); + predicate.getExpressions().add(builder.greaterThan(root.get("dTime"), startTime)); } if (endTime != null) { - predicate.getExpressions().add(builder.lessThanOrEqualTo(root.get("createTime"), endTime)); + predicate.getExpressions().add(builder.lessThanOrEqualTo(root.get("dTime"), endTime)); } return predicate; }; diff --git a/src/main/java/com/xydl/cac/spectrogram/SpectrogramHandler.java b/src/main/java/com/xydl/cac/spectrogram/SpectrogramHandler.java index af604ea..559df49 100644 --- a/src/main/java/com/xydl/cac/spectrogram/SpectrogramHandler.java +++ b/src/main/java/com/xydl/cac/spectrogram/SpectrogramHandler.java @@ -4,11 +4,14 @@ import com.xydl.cac.config.BizConfig; import com.xydl.cac.entity.IedDlRecord; import com.xydl.cac.entity.constants.Constants; import com.xydl.cac.model.spectrogram.SouthYsp; +import com.xydl.cac.util.DataUtil; +import com.xydl.cac.util.DateUtil; import com.xydl.cac.util.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; @Service @Slf4j @@ -30,6 +33,13 @@ public class SpectrogramHandler { SouthYsp model = processorYsp.process(localFilePath); String json = JSONUtil.object2Json(model); record.setData(json); + record.setCreateTime(new Date()); + try { + String str = String.valueOf(model.getCreateTime()); + Date dtime = DateUtil.parse(str, "yyyyMMddHHmmss"); + record.setDTime(dtime); + } catch (Exception ignore) { + } log.info("解析油色谱谱图文件成功"); } else { log.error("缺少该类型" + record.getTypeId() + "的谱图处理模块");