diff --git a/jeecg-boot-base-core/pom.xml b/jeecg-boot-base-core/pom.xml index 4734c32..887eda1 100644 --- a/jeecg-boot-base-core/pom.xml +++ b/jeecg-boot-base-core/pom.xml @@ -95,6 +95,12 @@ micrometer-registry-prometheus + + org.apache.rocketmq + rocketmq-spring-boot-starter + 2.3.4 + compile + commons-io @@ -214,6 +220,7 @@ springdoc-openapi-starter-webmvc-ui 2.7.0 + diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/RocketMQTopConstant.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/RocketMQTopConstant.java new file mode 100644 index 0000000..8cbee06 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/RocketMQTopConstant.java @@ -0,0 +1,20 @@ +package org.jeecg.common.constant; + +/** + * 消息队列主题配置 + */ +public interface RocketMQTopConstant { + + String FORWARD_TRANSPORT_TASK_TOPIC = "topic_forward_transport_task_list"; + + String BACKWARD_TRANSPORT_TASK_TOPIC = "topic_backward_transport_task_list"; + + String SAMPLE_RESULT_TOPIC = "topic_abnormal_sample_list"; + + String ASSOCIATED_WAVEFORM_SAMPLE_TOPIC = "topic_associated_waveform_list"; + + /** + * 各服务器输运模拟任务运行状态 + */ + String HOST_TASK_STATE = "host_task_state"; +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/AssociatedWaveformTaskEnum.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/AssociatedWaveformTaskEnum.java index 9ad22fa..8c98a89 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/AssociatedWaveformTaskEnum.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/AssociatedWaveformTaskEnum.java @@ -22,7 +22,7 @@ public enum AssociatedWaveformTaskEnum { */ IN_PROCESS(2), /** - * 执行中 + * 完成 */ COMPLETE(3); diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/FlexpartSpeciesType.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/FlexpartSpeciesType.java index 674b2fd..aea08b5 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/FlexpartSpeciesType.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/FlexpartSpeciesType.java @@ -5,19 +5,25 @@ package org.jeecg.common.constant.enums; */ public enum FlexpartSpeciesType { - XE_131m(51), - XE_133(52), - XE_133m(53), - XE_135(54), - NOT_SPECIES(61); + XE_131m(51,"Xe131m"), + XE_133(52,"Xe133"), + XE_133m(53,"Xe133m"), + XE_135(54,"Xe135"), + NOT_SPECIES(61,"NONE"),; - private Integer value; + private final Integer id; + private final String nuclideName; - FlexpartSpeciesType(int value) { - this.value = value; + FlexpartSpeciesType(int id, String nuclideName) { + this.id = id; + this.nuclideName = nuclideName; } - public Integer getValue() { - return value; + public Integer getId() { + return id; + } + + public String getNuclideName() { + return nuclideName; } } diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportSampleTypeEnum.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportSampleTypeEnum.java index 5519a78..1da5201 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportSampleTypeEnum.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportSampleTypeEnum.java @@ -6,11 +6,11 @@ package org.jeecg.common.constant.enums; public enum TransportSampleTypeEnum { /** - * 正向 + * 气体 */ B, /** - * 反向 + * 颗粒物 */ P; } diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportTaskStatusEnum.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportTaskStatusEnum.java index ff25736..080c189 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportTaskStatusEnum.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/TransportTaskStatusEnum.java @@ -13,18 +13,18 @@ public enum TransportTaskStatusEnum { * 未开始 */ NOT_STARTED(0), + /** + * 等待中 + */ + WAITING(1), /** * 执行中 */ - IN_OPERATION(1), + IN_OPERATION(2), /** * 已完成 */ - COMPLETED(2), - /** - * 缺少气象数据 - */ - LACK_MET_DATA(3); + COMPLETED(3); private Integer value; diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DataFusionProperties.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DataFusionProperties.java index cb587e7..4050902 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DataFusionProperties.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DataFusionProperties.java @@ -18,13 +18,21 @@ public class DataFusionProperties { */ private String ndcSRSPath; /** - * srs文件的上级目录有可能是flexpart.x.ecmwf.l1或flexpart.x.ncep.l1 + * srs文件的上级目录有可能是flexpart.ecmwf.l1或flexpart.ncep.l1等 */ - private String idcSrmParentDir; + private String idcPSrmParentDir; /** - * srs文件的上级目录有可能是flexpart.x.ecmwf.l1或flexpart.x.ncep.l1 + * srs文件的上级目录有可能是flexpart.x.ecmwf.l1或flexpart.x.ncep.l1等 */ - private String ndcSrmParentDir; + private String idcXSrmParentDir; + /** + * srs文件的上级目录有可能是flexpart.ecmwf.l1或flexpart.ncep.l1等 + */ + private String ndcPSrmParentDir; + /** + * srs文件的上级目录有可能是flexpart.x.ecmwf.l1或flexpart.x.ncep.l1等 + */ + private String ndcXSrmParentDir; /** * 浓度值过滤条件 */ diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/TransportSimulationProperties.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/TransportSimulationProperties.java index 4e1e68a..0537bed 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/TransportSimulationProperties.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/TransportSimulationProperties.java @@ -136,5 +136,16 @@ public class TransportSimulationProperties { * 反演文件路径 */ private String backwardTemplatePath; + /** + * 气象数据类型(1-盘古模型,2-graphcast,3-cra40,4-ncep,5-fnl,6-t1h) + */ + private Integer useMetType; + private Double z1; + + private Double z2; + /** + * 粒子数量 + */ + private Integer particleCount; } diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/GardsSampleResultDTO.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/GardsSampleResultDTO.java new file mode 100644 index 0000000..0462dd8 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/GardsSampleResultDTO.java @@ -0,0 +1,53 @@ +package org.jeecg.modules.base.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; +import java.util.Date; + +/** + * 样品监测结果信息,在消息队列中使用 + */ +@Data +public class GardsSampleResultDTO implements Serializable { + + /** + * 样品id + */ + private Integer sampleId; + + /** + * 台站id + */ + private Integer stationId; + + /** + * 样品测量开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date acquisitionStart; + + /** + * 样品测量结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date acquisitionStop; + + /** + * 样品类型 P颗粒物、B气体 + */ + private String sampleType; + + /** + * 样品级别 + */ + private Integer category; + + /** + * 释放量 + */ + private String releaseAmount; +} \ No newline at end of file diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/TransportTaskDTO.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/TransportTaskDTO.java new file mode 100644 index 0000000..f59f60e --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/dto/TransportTaskDTO.java @@ -0,0 +1,54 @@ +package org.jeecg.modules.base.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 输运模拟任务dto + */ +@Data +public class TransportTaskDTO { + + /** + * ID + */ + private Integer id; + + /** + * 任务名称 + */ + private String taskName; + + /** + * 任务模式(1-正向,-1-反向) + */ + private Integer taskMode; + + /** + * 任务类型(1-手动创建,2自动触发) + */ + private Integer taskType; + + /** + * 气象数据类型(1-盘古模型,2-graphcast,3-cra40,4-ncep,5-fnl,6-t1h) + */ + private Integer useMetType; + + /** + * 模拟开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime startTime; + + /** + * 模拟结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime endTime; +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTask.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTask.java index 555a483..6392550 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTask.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTask.java @@ -60,7 +60,7 @@ public class TransportTask{ private Integer taskPprogress; /** - * 任务状态(-1执行失败,0未开始,1运行中,2已完成) + * 任务状态(-1执行失败,0未开始,1等待中,2运行中,3已完成) */ @Null(message = "任务状态必须为空",groups = {InsertGroup.class, UpdateGroup.class}) @TableField(value = "task_status") diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskBackwardChild.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskBackwardChild.java index 1f3ace2..b7abc07 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskBackwardChild.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskBackwardChild.java @@ -73,6 +73,12 @@ public class TransportTaskBackwardChild { @TableField(value = "sample_type") private String sampleType; + /** + * 样品级别 + */ + @TableField(value = "sample_category") + private Integer sampleCategory; + /** * 开始测量时间 */ diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskForwardSpecies.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskForwardSpecies.java index bf3f9e3..6db9216 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskForwardSpecies.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/TransportTaskForwardSpecies.java @@ -24,7 +24,7 @@ public class TransportTaskForwardSpecies { * 物种id */ @TableField(value = "species_id") - private String speciesId; + private Integer speciesId; /** * 创建时间 diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/configuration/GardsDetectors.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/configuration/GardsDetectors.java new file mode 100644 index 0000000..6232620 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/configuration/GardsDetectors.java @@ -0,0 +1,106 @@ +package org.jeecg.modules.base.entity.configuration; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("CONFIGURATION.GARDS_DETECTORS") +public class GardsDetectors implements Serializable { + + /** + * 探测器id + */ + @TableId(type = IdType.INPUT) + private Integer detectorId; + + /** + * 探测器编码 + */ + @TableField(value = "DETECTOR_CODE") + private String detectorCode; + + /** + * 经度 + */ + @TableField(value = "LON") + private Double lon; + + /** + * 纬度 + */ + @TableField(value = "LAT") + private Double lat; + + /** + * 探测器类型 + */ + @TableField(value = "TYPE") + private String type; + + /** + * 总道数 + */ + @TableField(value = "CHANNELS") + private Double channels; + + @TableField(value = "RATED_EFFICIENCY") + private Double ratedEfficiency; + + @TableField(value = "RATED_RESOLUTION") + private Double ratedResolution; + + /** + * 能量刻度范围(keV) + */ + @TableField(value = "ECAL_RANGE_MAX") + private Double ecalRangeMax; + + /** + * 开始运行日期 + */ + @TableField(value = "DATE_BEGIN") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateBegin; + + /** + * 结束运行日期 + */ + @TableField(value = "DATE_END") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateEnd; + + /** + * Y:在运行,状态良好;N:停止 + */ + @TableField(value = "STATUS") + private String status; + + /** + * 说明 + */ + @TableField(value = "DESCRIPTION") + private String description; + + /** + * 操作时间 + */ + @TableField(value = "MODDATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date moddate; + + /** + * 台站id + */ + @TableField(value = "STATION_ID") + private Integer stationId; +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/original/GardsSampleData.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/original/GardsSampleData.java index 9d2c872..5dcfb8a 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/original/GardsSampleData.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/original/GardsSampleData.java @@ -185,7 +185,6 @@ public class GardsSampleData implements Serializable { @TableField(value = "RNMAN_THRESHOLD") private String rnmanThreshold; - /** * 操作时间 */ diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/rnauto/GardsStationsModVal.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/rnauto/GardsStationsModVal.java new file mode 100644 index 0000000..a634bd4 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/rnauto/GardsStationsModVal.java @@ -0,0 +1,33 @@ +package org.jeecg.modules.base.entity.rnauto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * 存储正演任务结果对应各个气体台站位置的模拟值(浓度mBq) + */ +@Data +@TableName("RNAUTO.GARDS_STATIONS_MOD_VAL") +public class GardsStationsModVal { + + @TableField(value = "TASK_ID") + private Integer taskId; + + @TableField(value = "STATION_ID") + private Integer stationId; + + @TableField(value = "TIME_SERIES") + private Date timeSeries; + + @TableField(value = "CONC") + private Double conc; + + @TableField(value = "SPECIES_ID") + private Integer speciesId; + + @TableField(value = "MODDATE") + private Date modDate; +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/rnauto/GardsTransportStatus.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/rnauto/GardsTransportStatus.java index f051d3f..06075cd 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/rnauto/GardsTransportStatus.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/rnauto/GardsTransportStatus.java @@ -8,6 +8,9 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; +/** + * 反演任务输运状态记录 + */ @Data @TableName("RNAUTO.GARDS_TRANSPORT_STATUS") public class GardsTransportStatus { diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsDetectorsMapper.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsDetectorsMapper.java new file mode 100644 index 0000000..b363d39 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsDetectorsMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.base.entity.configuration.GardsDetectors; + +public interface GardsDetectorsMapper extends BaseMapper{ +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsSampleDataMapper.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsSampleDataMapper.java new file mode 100644 index 0000000..a7ec0e5 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsSampleDataMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.base.entity.original.GardsSampleData; + +public interface GardsSampleDataMapper extends BaseMapper { +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsStationsModValMapper.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsStationsModValMapper.java new file mode 100644 index 0000000..cdb3f14 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/GardsStationsModValMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.base.entity.rnauto.GardsStationsModVal; + +public interface GardsStationsModValMapper extends BaseMapper { +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsWaveformEventMapper.xml b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsWaveformEventMapper.xml index e379c24..60d6295 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsWaveformEventMapper.xml +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsWaveformEventMapper.xml @@ -40,7 +40,8 @@ SELECT gwe.SAMPLE_ID as "sampleId", gs.STATION_CODE as "stationCode", - gsd.ACQUISITION_STOP as "acqEndTime" + gsd.ACQUISITION_STOP as "acqEndTime", + gsd.SAMPLE_TYPE as sampleType FROM RNAUTO.GARDS_WAVEFORM_EVENT gwe INNER JOIN ORIGINAL.GARDS_SAMPLE_DATA gsd ON gwe.SAMPLE_ID = gsd.SAMPLE_ID diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsXeResultMapper.xml b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsXeResultMapper.xml index 0ac5794..3bd1d0b 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsXeResultMapper.xml +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/mapper/xml/GardsXeResultMapper.xml @@ -5,14 +5,14 @@