From 86895dad3bb017fb9ed3d68e23ebffe56fe7a33f Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 29 Jun 2023 16:17:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E7=85=A7IDC=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9web-statistic=E4=B8=8B=E7=9A=84=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=8F=B0=E7=AB=99=E5=85=B7=E4=BD=93=E6=A0=B7=E4=BE=8B?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/util/ReadLineUtil.java | 75 ++++ .../controller/WebStatisticsController.java | 33 +- .../entity/GardsBgEfficiencyPairs.java | 36 ++ .../jeecg/modules/entity/GardsHistogram.java | 39 ++ .../jeecg/modules/entity/GardsRoiLimits.java | 39 ++ .../jeecg/modules/entity/GardsSampleCert.java | 2 +- .../modules/entity/GardsSampleCertLine.java | 14 +- .../modules/entity/GardsSampleRatios.java | 39 ++ .../jeecg/modules/entity/GardsSpectrum.java | 39 ++ .../modules/entity/data/Acquisition.java | 16 + .../modules/entity/data/BEfficiency.java | 21 + .../jeecg/modules/entity/data/BEnergy.java | 18 + .../modules/entity/data/BResolution.java | 16 + .../modules/entity/data/BetaSpectrum.java | 17 + .../modules/entity/data/Calibration.java | 12 + .../modules/entity/data/Certificate.java | 20 + .../modules/entity/data/CertificateLine.java | 29 ++ .../jeecg/modules/entity/data/Comment.java | 12 + .../modules/entity/data/GEfficiency.java | 16 + .../jeecg/modules/entity/data/GEnergy.java | 16 + .../modules/entity/data/GResolution.java | 16 + .../modules/entity/data/GammaSpectrum.java | 17 + .../entity/data/GeneralInformation.java | 30 ++ .../jeecg/modules/entity/data/Histogram.java | 22 + .../org/jeecg/modules/entity/data/Ratios.java | 20 + .../org/jeecg/modules/entity/data/Report.java | 43 ++ .../org/jeecg/modules/entity/data/Roi.java | 20 + .../mapper/GardsBgEfficiencyPairsMapper.java | 7 + .../modules/mapper/GardsHistogramMapper.java | 7 + .../modules/mapper/GardsRoiLimitsMapper.java | 7 + .../mapper/GardsSampleRatiosMapper.java | 7 + .../modules/mapper/GardsSpectrumMapper.java | 7 + .../service/IGardsSampleDataService.java | 23 +- .../impl/GardsSampleDataServiceImpl.java | 379 +++++++++++++----- .../modules/system/entity/GardsStations.java | 1 + .../src/main/resources/application.yml | 2 +- 36 files changed, 959 insertions(+), 158 deletions(-) create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/common/util/ReadLineUtil.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsBgEfficiencyPairs.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsHistogram.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsRoiLimits.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleRatios.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSpectrum.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Acquisition.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEfficiency.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEnergy.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BResolution.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BetaSpectrum.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Calibration.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Certificate.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/CertificateLine.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Comment.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEfficiency.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEnergy.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GResolution.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GammaSpectrum.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GeneralInformation.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Histogram.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Ratios.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Report.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Roi.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsBgEfficiencyPairsMapper.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsHistogramMapper.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsRoiLimitsMapper.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSampleRatiosMapper.java create mode 100644 jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSpectrumMapper.java diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/common/util/ReadLineUtil.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/common/util/ReadLineUtil.java new file mode 100644 index 00000000..597f2683 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/common/util/ReadLineUtil.java @@ -0,0 +1,75 @@ +package org.jeecg.common.util; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringPool; +import org.apache.commons.net.ftp.FTPClient; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Objects; + +public class ReadLineUtil { + + @Autowired + private FTPUtil ftpUtil; + + public List readLine(String filePath){ + List lineValue = new LinkedList<>(); + + lineValue.add(1); + lineValue.add(2859); + lineValue.add(6965); + lineValue.add(4344); + lineValue.add(3088); + lineValue.add(3149); + lineValue.add(2917); + lineValue.add(2375); + lineValue.add(1829); + lineValue.add(1760); + lineValue.add(1914); + lineValue.add(2128); + lineValue.add(2238); + lineValue.add(1954); + lineValue.add(1899); + lineValue.add(2146); + lineValue.add(2758); + lineValue.add(3177); + lineValue.add(2846); + lineValue.add(2507); + lineValue.add(2456); + lineValue.add(2723); + lineValue.add(3227); + lineValue.add(3461); + lineValue.add(3464); + lineValue.add(3144); + lineValue.add(3081); + lineValue.add(3381); + lineValue.add(3234); + lineValue.add(3163); + lineValue.add(3357); + lineValue.add(3534); + lineValue.add(3756); + lineValue.add(3911); + lineValue.add(3552); + +// //连接ftp +// FTPClient ftpClient = ftpUtil.LoginFTP(); +// //判断ftp是否连接成功 +// if (Objects.isNull(ftpClient)){ +// throw new RuntimeException("ftp连接失败!"); +// } +// //根据字符切割文件路径 +// List paths = Arrays.asList(filePath.split(StringPool.SLASH)); +// if (CollectionUtils.isNotEmpty(paths)){ +// +// } + return lineValue; + } + + + + + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java index def3c856..ce9890c7 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java @@ -62,35 +62,10 @@ public class WebStatisticsController { return gardsSohDataService.findSohPage(queryRequest, stationIds, startTime, endTime); } - @GetMapping("findParticulateInfo") - @ApiOperation(value = "查看IMS DATA下气溶胶数据详情", notes = "查看IMS DATA下气溶胶数据详情") - public Result findParticulateInfo(Integer sampleId){ - return gardsSampleDataService.findParticulateInfo(sampleId); - } - - @GetMapping("findParticulateEnergy") - @ApiOperation(value = "查看IMS DATA下气溶胶ENERGY数据", notes = "查看IMS DATA下气溶胶ENERGY数据") - public Result findParticulateEnergy(Integer sampleId){ - return gardsSampleDataService.findParticulateEnergy(sampleId); - } - - @GetMapping("findParticulateResolution") - @ApiOperation(value = "查看IMS DATA下气溶胶RESOLUTION数据", notes = "查看IMS DATA下气溶胶RESOLUTION数据") - public Result findParticulateResolution(Integer sampleId){ - return gardsSampleDataService.findParticulateResolution(sampleId); - } - - @GetMapping("findParticulateEfficiency") - @ApiOperation(value = "查看IMS DATA下气溶胶EFFICIENCY数据", notes = "查看IMS DATA下气溶胶EFFICIENCY数据") - public Result findParticulateEfficiency(Integer sampleId){ - return gardsSampleDataService.findParticulateEfficiency(sampleId); - } - - - @GetMapping("findParticulateCertificate") - @ApiOperation(value = "查看IMS DATA下气溶胶CERTIFICATE数据", notes = "查看IMS DATA下气溶胶CERTIFICATE数据") - public Result findParticulateCertificate(Integer sampleId){ - return gardsSampleCertService.findParticulateCertificate(sampleId); + @GetMapping("findGeneratedReport") + @ApiOperation(value = "查询报告详情页面", notes = "查询报告详情页面") + public Result findGeneratedReport(Integer sampleId){ + return gardsSampleDataService.findGeneratedReport(sampleId); } } diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsBgEfficiencyPairs.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsBgEfficiencyPairs.java new file mode 100644 index 00000000..8f2ba333 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsBgEfficiencyPairs.java @@ -0,0 +1,36 @@ +package org.jeecg.modules.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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(value = "GARDS_BG_EFFICIENCY_PAIRS") +public class GardsBgEfficiencyPairs implements Serializable { + + @TableField(value = "SAMPLE_ID") + private Integer sampleId; + + @TableField(value = "ROI") + private Integer roi; + + @TableField(value = "NUCLIDE_NAME") + private String nuclideName; + + @TableField(value = "BG_EFFICIENCY") + private Double bgEfficiency; + + @TableField(value = "BG_EFFIC_ERROR") + private Double bgEfficError; + + @TableField(value = "MODDATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date moddate; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsHistogram.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsHistogram.java new file mode 100644 index 00000000..acd4caac --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsHistogram.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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(value = "GARDS_HISTOGRAM") +public class GardsHistogram implements Serializable { + + @TableField(value = "SAMPLE_ID") + private Integer sampleId; + + @TableField(value = "FILENAME") + private String fileName; + + @TableField(value = "G_CHANNELS") + private Integer GChannels; + + @TableField(value = "B_CHANNELS") + private Integer BChannels; + + @TableField(value = "G_ENERGY_SPAN") + private Integer GEnergySpan; + + @TableField(value = "B_ENERGY_SPAN") + private Integer BEnergySpan; + + @TableField(value = "MODDATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date moddate; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsRoiLimits.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsRoiLimits.java new file mode 100644 index 00000000..9dd92609 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsRoiLimits.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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(value = "GARDS_ROI_LIMITS") +public class GardsRoiLimits implements Serializable { + + @TableField(value = "SAMPLE_ID") + private Integer sampleId; + + @TableField(value = "ROI") + private Integer roi; + + @TableField(value = "B_ENERGY_START") + private Double BEnergyStart; + + @TableField(value = "B_ENERGY_STOP") + private Double BEnergyStop; + + @TableField(value = "G_ENERGY_START") + private Double GEnergyStart; + + @TableField(value = "G_ENERGY_STOP") + private Double GEnergyStop; + + @TableField(value = "MODDATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date moddate; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCert.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCert.java index 5859b4a7..2d8ff38b 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCert.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCert.java @@ -23,7 +23,7 @@ public class GardsSampleCert implements Serializable { * 刻度源活度(Bq)total_source_activity */ @TableField(value = "QUANTITY") - private Integer quantity; + private Double quantity; /** * 鉴定日期 diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCertLine.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCertLine.java index 32f94f2f..800b22a0 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCertLine.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleCertLine.java @@ -14,7 +14,7 @@ public class GardsSampleCertLine implements Serializable { * 台站ID号 */ @TableField(value = "SAMPLE_ID") - private Integer sampleId; + private Double sampleId; /** * 核素名称 @@ -32,37 +32,37 @@ public class GardsSampleCertLine implements Serializable { * γ能量(keV) */ @TableField(value = "ENERGY") - private Integer energy; + private Double energy; /** * 核素活度(Bq) */ @TableField(value = "ACTIVITY") - private Integer activity; + private Double activity; /** * 核素活度不确定度(%) */ @TableField(value = "ERROR") - private Integer error; + private Double error; /** * γ射线强度(%) */ @TableField(value = "ABUNDANCE") - private Integer abundance; + private Double abundance; /** * β射线强度(%) */ @TableField(value = "B_ABUNDANCE") - private Integer bAbundance; + private Double bAbundance; /** * β能量 */ @TableField(value = "B_ENERGY") - private Integer bEnergy; + private Double bEnergy; /** * 衰变模式: diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleRatios.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleRatios.java new file mode 100644 index 00000000..8a0ff1c3 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSampleRatios.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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(value = "GARDS_SAMPLE_RATIOS") +public class GardsSampleRatios implements Serializable { + + @TableField(value = "SAMPLE_ID") + private Integer sampleId; + + @TableField(value = "RATIO_ID") + private String ratioId; + + @TableField(value = "UPPER_ROI_NUMBER") + private Integer upperRoiNumber; + + @TableField(value = "LOWER_ROI_NUMBER") + private Integer lowerRoiNumber; + + @TableField(value = "COUNT_RATIO") + private Double countRatio; + + @TableField(value = "COUNT_RATIO_ERR") + private Double countRatioErr; + + @TableField(value = "MODDATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date moddate; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSpectrum.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSpectrum.java new file mode 100644 index 00000000..ba2226d7 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsSpectrum.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +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(value = "GARDS_SPECTRUM") +public class GardsSpectrum implements Serializable { + + @TableField(value = "SAMPLE_ID") + private Integer sampleId; + + @TableField(value = "SAMPLE_TYPE") + private String sampleType; + + @TableField(value = "FILENAME") + private String fileName; + + @TableField(value = "CHANNELS") + private Integer channels; + + @TableField(value = "ENERGY_SPAN") + private Integer energySpan; + + @TableField(value = "START_CHANNEL") + private Integer startChannel; + + @TableField(value = "MODDATE") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date moddate; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Acquisition.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Acquisition.java new file mode 100644 index 00000000..e6e66a7c --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Acquisition.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Acquisition implements Serializable { + + private String acquisitionStartDate; + + private Double acquisitionRealTime; + + private Double acquisitionLiveTime; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEfficiency.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEfficiency.java new file mode 100644 index 00000000..e43bf085 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEfficiency.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BEfficiency implements Serializable { + + private String nuclideName; + + private Integer roiNumber; + + private Double coincidenceEfficiency; + + private Date roiGRangeStart; + + private Double uncertainty; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEnergy.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEnergy.java new file mode 100644 index 00000000..077eda8b --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BEnergy.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class BEnergy implements Serializable { + + private Double electronEnergy; + + private String decayModeDescriptor; + + private Double maximumChannel; + + private Double uncertainty; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BResolution.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BResolution.java new file mode 100644 index 00000000..bb8eb7d9 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BResolution.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class BResolution implements Serializable { + + private Double electronEnergy; + + private Double FWHM; + + private Double uncertainty; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BetaSpectrum.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BetaSpectrum.java new file mode 100644 index 00000000..502f51c1 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/BetaSpectrum.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class BetaSpectrum implements Serializable { + + private Integer numberBChannels; + + private Integer energySpan; + + private List bSpectrumSubBlock; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Calibration.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Calibration.java new file mode 100644 index 00000000..d54918cb --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Calibration.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Calibration implements Serializable { + + private String dateOfLastCalibration; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Certificate.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Certificate.java new file mode 100644 index 00000000..ad64a94e --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Certificate.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; +import org.jeecg.modules.entity.GardsSampleCertLine; + +import java.io.Serializable; +import java.util.List; + +@Data +public class Certificate implements Serializable { + + private Double totalSourceActivity; + + private String assayDate; + + private String unitsOfActivity; + + private List certificateSubBlock; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/CertificateLine.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/CertificateLine.java new file mode 100644 index 00000000..c76affab --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/CertificateLine.java @@ -0,0 +1,29 @@ +package org.jeecg.modules.entity.data; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class CertificateLine implements Serializable { + + private String nuclideName; + + private String halfLife; + + private Double Genergy; + + private Double nuclideActivity; + + private Double uncertainty; + + private Double intensity; + + private String electronDecayModeDescriptor; + + private Double maxBParticleEnergy; + + private Double particleBIntensity; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Comment.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Comment.java new file mode 100644 index 00000000..a0980cc0 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Comment.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Comment implements Serializable { + + private String text; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEfficiency.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEfficiency.java new file mode 100644 index 00000000..3ec3ce2d --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEfficiency.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class GEfficiency implements Serializable { + + private Double energy; + + private Double efficiency; + + private Double uncertainty; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEnergy.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEnergy.java new file mode 100644 index 00000000..22e3bc73 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GEnergy.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class GEnergy implements Serializable { + + private Double energy; + + private Double centroid; + + private Double uncertainty; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GResolution.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GResolution.java new file mode 100644 index 00000000..168518e0 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GResolution.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class GResolution implements Serializable { + + private Double energy; + + private Double FWHM; + + private Double uncertainty; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GammaSpectrum.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GammaSpectrum.java new file mode 100644 index 00000000..5b4b9b37 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GammaSpectrum.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class GammaSpectrum implements Serializable { + + private Integer numberGChannels; + + private Integer energySpan; + + private List gSpectrumSubBlock; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GeneralInformation.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GeneralInformation.java new file mode 100644 index 00000000..4603f060 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/GeneralInformation.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class GeneralInformation implements Serializable { + + private String siteCode; + + private String detectorCode; + + private String systemType; + + private String sampleGeometry; + + private String spectrumQualifier; + + private String sampleReferenceIdentification; + + private String measurementIdentification; + + private String detectorBackgroundMeasurementId; + + private String gasBackgroundMeasurementId; + + private String transmitDate; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Histogram.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Histogram.java new file mode 100644 index 00000000..9aecc898 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Histogram.java @@ -0,0 +1,22 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; +import org.apache.poi.ss.formula.functions.T; + +import java.io.Serializable; +import java.util.List; + +@Data +public class Histogram implements Serializable { + + private Integer BChannels; + + private Integer BEnergySpan; + + private Integer GChannels; + + private Integer GEnergySpan; + + private List histogramSubBlock; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Ratios.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Ratios.java new file mode 100644 index 00000000..a9c592ef --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Ratios.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Ratios implements Serializable { + + private String ratioId; + + private Integer roiNumberHigherEnergy; + + private Integer roiNumberLowerEnergy; + + private Double countRatio; + + private Double countRatioUncertainty; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Report.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Report.java new file mode 100644 index 00000000..7d171692 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Report.java @@ -0,0 +1,43 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class Report implements Serializable { + + private GeneralInformation headerBlock; + + private Comment commentBlock; + + private Acquisition acquisitionBlock; + + private Calibration calibrationBlock; + + private List gEnergyBlock; + + private List bEnergyBlock; + + private List gResolutionBlock; + + private List bResolutionBlock; + + private List gEfficiencyBlock; + + private List bgEfficiencyBlock; + + private List roiLimitsBlock; + + private List ratiosBlock; + + private GammaSpectrum gSpectrumBlock; + + private BetaSpectrum bSpectrumBlock; + + private Histogram histogramBlock; + + private Certificate certificateBlock; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Roi.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Roi.java new file mode 100644 index 00000000..9595172b --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/data/Roi.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.entity.data; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Roi implements Serializable { + + private Integer roiNumber; + + private Double roiBRangeStart; + + private Double roiBRangeStop; + + private Double roiGRangeStart; + + private Double roiGRangeStop; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsBgEfficiencyPairsMapper.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsBgEfficiencyPairsMapper.java new file mode 100644 index 00000000..7642f187 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsBgEfficiencyPairsMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.entity.GardsBgEfficiencyPairs; + +public interface GardsBgEfficiencyPairsMapper extends BaseMapper { +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsHistogramMapper.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsHistogramMapper.java new file mode 100644 index 00000000..07f17dd6 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsHistogramMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.entity.GardsHistogram; + +public interface GardsHistogramMapper extends BaseMapper { +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsRoiLimitsMapper.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsRoiLimitsMapper.java new file mode 100644 index 00000000..39547562 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsRoiLimitsMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.entity.GardsRoiLimits; + +public interface GardsRoiLimitsMapper extends BaseMapper { +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSampleRatiosMapper.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSampleRatiosMapper.java new file mode 100644 index 00000000..67578d8e --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSampleRatiosMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.entity.GardsSampleRatios; + +public interface GardsSampleRatiosMapper extends BaseMapper { +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSpectrumMapper.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSpectrumMapper.java new file mode 100644 index 00000000..c70e09c7 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsSpectrumMapper.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.entity.GardsSpectrum; + +public interface GardsSpectrumMapper extends BaseMapper { +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java index 8571ef02..97eb326a 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java @@ -28,28 +28,7 @@ public interface IGardsSampleDataService extends IService { * @param sampleId * @return */ - Result findParticulateInfo(Integer sampleId); - - /** - * 查询谱数据的能量数据 - * @param sampleId - * @return - */ - Result findParticulateEnergy(Integer sampleId); - - /** - * 查询 - * @param sampleId - * @return - */ - Result findParticulateResolution(Integer sampleId); - - /** - * 查询 - * @param sampleId - * @return - */ - Result findParticulateEfficiency(Integer sampleId); + Result findGeneratedReport(Integer sampleId); /** * 查询全部基础数据 diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java index 6076eb51..2b04d465 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java @@ -9,15 +9,12 @@ import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.QueryRequest; import org.jeecg.common.api.vo.Result; import org.jeecg.common.util.DateUtils; +import org.jeecg.common.util.ReadLineUtil; import org.jeecg.common.util.RedisUtil; -import org.jeecg.modules.entity.GardsCalibrationPairsOrig; -import org.jeecg.modules.entity.GardsSampleAux; +import org.jeecg.modules.entity.*; import org.jeecg.modules.base.entity.GardsSampleData; -import org.jeecg.modules.entity.GardsSampleDescription; -import org.jeecg.modules.mapper.GardsCalibrationPairsOrigMapper; -import org.jeecg.modules.mapper.GardsSampleAuxMapper; -import org.jeecg.modules.mapper.GardsSampleDataMapper; -import org.jeecg.modules.mapper.GardsSampleDescriptionMapper; +import org.jeecg.modules.entity.data.*; +import org.jeecg.modules.mapper.*; import org.jeecg.modules.service.IGardsSampleDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,6 +37,22 @@ public class GardsSampleDataServiceImpl extends ServiceImpl map = new HashMap<>(); + Report report = new Report(); + //查询info + this.findInfo(sampleId, report); + //查询G_energy + this.findGEnergy(sampleId, report); + //查询B_energy + this.findBEnergy(sampleId, report); + //查询G_Resolution + this.findGResolution(sampleId, report); + //查询B_Resolution + this.findBResolution(sampleId, report); + //查询G_Efficiency + this.findGEfficiency(sampleId, report); + //查询B_gEfficiency + this.findBgEfficiency(sampleId, report); + //查询ROI + this.findRoiLimits(sampleId, report); + //查询RATIOS + this.findRatios(sampleId, report); + //查询 GAMMA SPECTRUM + this.findGSpectrum(sampleId, report); + //查询 BETA SPECTRUM + this.findBSpectrum(sampleId, report); + //查询Histogram + this.findHistogram(sampleId, report); + //查询Certificate + this.findCertificate(sampleId, report); + result.setSuccess(true); + result.setResult(report); + return result; + } + + private void findInfo(Integer sampleId, Report report) { + //声明多个对象 分别封装独立的信息 + GeneralInformation generalInformation = new GeneralInformation(); + Comment comment = new Comment(); + Acquisition acquisition = new Acquisition(); + Calibration calibration = new Calibration(); //获取redis中缓存的台站信息 Map stationMap = (Map)redisUtil.get("stationMap"); //根据sample_id查询sample_data内容 @@ -122,128 +172,261 @@ public class GardsSampleDataServiceImpl extends ServiceImpl> map = new HashMap<>(); - //封装存储 g_energy - List GEnergyList = new LinkedList<>(); - //封装存储 Centroid channel - List centroidChannelList = new LinkedList<>(); - //封装存储 Uncertainty - List uncertaintyList = new LinkedList<>(); + private void findGEnergy(Integer sampleId, Report report) { + List gEnergySubBlock = new LinkedList<>(); LambdaQueryWrapper calibrationPairsOrigQueryWrapper = new LambdaQueryWrapper<>(); + calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleType, "G"); calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleId, sampleId); List gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigMapper.selectList(calibrationPairsOrigQueryWrapper); - gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigs.stream().filter(item-> item.getCaltype().trim().equals("energy")).collect(Collectors.toList()); + gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigs.stream().filter(item->item.getCaltype().trim().equals("energy")).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(gardsCalibrationPairsOrigs)){ for (GardsCalibrationPairsOrig orig:gardsCalibrationPairsOrigs) { - // Xvalue 对应 centroid channel - centroidChannelList.add(orig.getXvalue()); - // Yvalue 对应 g_energy - GEnergyList.add(orig.getYvalue()); - // Uncyvalue 对应 Uncertainty - uncertaintyList.add(orig.getUncyvalue()); + GEnergy gEnergy = new GEnergy(); + gEnergy.setEnergy(orig.getYvalue()); + gEnergy.setCentroid(orig.getXvalue()); + gEnergy.setUncertainty(orig.getUncyvalue()); + gEnergySubBlock.add(gEnergy); } } - map.put("G_Energy", GEnergyList); - map.put("Centroid channel", centroidChannelList); - map.put("Uncertainty", uncertaintyList); - result.setSuccess(true); - result.setResult(map); - return result; + report.setGEnergyBlock(gEnergySubBlock); } - @Override - public Result findParticulateResolution(Integer sampleId) { - Result result = new Result(); - //map 封装三个数组 - Map> map = new HashMap<>(); - //封装存储 g_energy - List GEnergyList = new LinkedList<>(); - //封装存储 FWHM - List FWHMList = new LinkedList<>(); - //封装存储 Uncertainty - List uncertaintyList = new LinkedList<>(); + private void findBEnergy(Integer sampleId, Report report) { + List bEnergySubBlock = new LinkedList<>(); LambdaQueryWrapper calibrationPairsOrigQueryWrapper = new LambdaQueryWrapper<>(); + calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleType, "B"); calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleId, sampleId); List gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigMapper.selectList(calibrationPairsOrigQueryWrapper); - gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigs.stream().filter(item-> item.getCaltype().trim().equals("Resolution")).collect(Collectors.toList()); + gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigs.stream().filter(item->item.getCaltype().trim().equals("energy")).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(gardsCalibrationPairsOrigs)){ for (GardsCalibrationPairsOrig orig:gardsCalibrationPairsOrigs) { - // Xvalue 对应 energy - GEnergyList.add(orig.getXvalue()); - // YValue 对应 efficiency - FWHMList.add(orig.getYvalue()); - // UncyValue 对应 Uncertainty - uncertaintyList.add(orig.getUncyvalue()); + BEnergy bEnergy = new BEnergy(); + bEnergy.setElectronEnergy(orig.getYvalue()); + bEnergy.setMaximumChannel(orig.getXvalue()); + bEnergy.setUncertainty(orig.getUncyvalue()); + bEnergy.setDecayModeDescriptor(orig.getDecayMode()); + bEnergySubBlock.add(bEnergy); } } - map.put("G_energy", GEnergyList); - map.put("FWHM", FWHMList); - map.put("Uncertainty", uncertaintyList); - result.setSuccess(true); - result.setResult(map); - return result; + report.setBEnergyBlock(bEnergySubBlock); } - @Override - public Result findParticulateEfficiency(Integer sampleId) { - Result result = new Result(); - //map 封装三个数组 - Map> map = new HashMap<>(); - //封装存储 energy - List energyList = new LinkedList<>(); - //封装存储 efficiency - List efficiencyList = new LinkedList<>(); - //封装存储 Uncertainty - List uncertaintyList = new LinkedList<>(); + private void findGResolution(Integer sampleId, Report report) { + List gResolutionSubBlock = new LinkedList<>(); LambdaQueryWrapper calibrationPairsOrigQueryWrapper = new LambdaQueryWrapper<>(); + calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleType, "G"); + calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleId, sampleId); + List gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigMapper.selectList(calibrationPairsOrigQueryWrapper); + gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigs.stream().filter(item->item.getCaltype().trim().equals("Resolution")).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(gardsCalibrationPairsOrigs)){ + for (GardsCalibrationPairsOrig orig:gardsCalibrationPairsOrigs) { + GResolution gResolution = new GResolution(); + gResolution.setEnergy(orig.getXvalue()); + gResolution.setFWHM(orig.getYvalue()); + gResolution.setUncertainty(orig.getUncyvalue()); + gResolutionSubBlock.add(gResolution); + } + } + report.setGResolutionBlock(gResolutionSubBlock); + } + + private void findBResolution(Integer sampleId, Report report) { + List bResolutionSubBlock = new LinkedList<>(); + LambdaQueryWrapper calibrationPairsOrigQueryWrapper = new LambdaQueryWrapper<>(); + calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleType, "B"); + calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleId, sampleId); + List gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigMapper.selectList(calibrationPairsOrigQueryWrapper); + gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigs.stream().filter(item->item.getCaltype().trim().equals("Resolution")).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(gardsCalibrationPairsOrigs)){ + for (GardsCalibrationPairsOrig orig:gardsCalibrationPairsOrigs) { + BResolution bResolution = new BResolution(); + bResolution.setElectronEnergy(orig.getXvalue()); + bResolution.setFWHM(orig.getYvalue()); + bResolution.setUncertainty(orig.getUncyvalue()); + bResolutionSubBlock.add(bResolution); + } + } + report.setBResolutionBlock(bResolutionSubBlock); + } + + private void findGEfficiency(Integer sampleId, Report report) { + List gEfficiencySubBlock = new LinkedList<>(); + LambdaQueryWrapper calibrationPairsOrigQueryWrapper = new LambdaQueryWrapper<>(); + calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleType, "G"); calibrationPairsOrigQueryWrapper.eq(GardsCalibrationPairsOrig::getSampleId, sampleId); List gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigMapper.selectList(calibrationPairsOrigQueryWrapper); gardsCalibrationPairsOrigs = gardsCalibrationPairsOrigs.stream().filter(item->item.getCaltype().trim().equals("efficiency")).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(gardsCalibrationPairsOrigs)){ for (GardsCalibrationPairsOrig orig:gardsCalibrationPairsOrigs) { - // Xvalue 对应 energy - energyList.add(orig.getXvalue()); - // YValue 对应 efficiency - efficiencyList.add(orig.getYvalue()); - // UncyValue 对应 Uncertainty - uncertaintyList.add(orig.getUncyvalue()); + GEfficiency gEfficiency = new GEfficiency(); + gEfficiency.setEnergy(orig.getXvalue()); + gEfficiency.setEfficiency(orig.getYvalue()); + gEfficiency.setUncertainty(orig.getUncyvalue()); + gEfficiencySubBlock.add(gEfficiency); } } - map.put("Energy", energyList); - map.put("Efficiency", efficiencyList); - map.put("Uncertainty", uncertaintyList); - result.setSuccess(true); - result.setResult(map); - return result; + report.setGEfficiencyBlock(gEfficiencySubBlock); + } + + private void findBgEfficiency(Integer sampleId, Report report) { + List bgEfficiencySubBlock = new LinkedList<>(); + LambdaQueryWrapper bgEfficiencyPairsQueryWrapper = new LambdaQueryWrapper<>(); + bgEfficiencyPairsQueryWrapper.eq(GardsBgEfficiencyPairs::getSampleId, sampleId); + List gardsBgEfficiencyPairs = gardsBgEfficiencyPairsMapper.selectList(bgEfficiencyPairsQueryWrapper); + if (CollectionUtils.isNotEmpty(gardsBgEfficiencyPairs)){ + for (GardsBgEfficiencyPairs pairs:gardsBgEfficiencyPairs) { + BEfficiency bEfficiency = new BEfficiency(); + bEfficiency.setRoiNumber(pairs.getRoi()); + bEfficiency.setNuclideName(pairs.getNuclideName()); + bEfficiency.setCoincidenceEfficiency(pairs.getBgEfficiency()); + bEfficiency.setUncertainty(pairs.getBgEfficError()); + bgEfficiencySubBlock.add(bEfficiency); + } + } + report.setBgEfficiencyBlock(bgEfficiencySubBlock); + } + + private void findRoiLimits(Integer sampleId, Report report) { + List roiLimitsSubBlock = new LinkedList<>(); + LambdaQueryWrapper roiLimitsQueryWrapper = new LambdaQueryWrapper<>(); + roiLimitsQueryWrapper.eq(GardsRoiLimits::getSampleId, sampleId); + List gardsRoiLimitsList = gardsRoiLimitsMapper.selectList(roiLimitsQueryWrapper); + if (CollectionUtils.isNotEmpty(gardsRoiLimitsList)){ + for (GardsRoiLimits roiLimits:gardsRoiLimitsList) { + Roi roi = new Roi(); + roi.setRoiNumber(roiLimits.getRoi()); + roi.setRoiGRangeStart(roiLimits.getGEnergyStart()); + roi.setRoiGRangeStop(roiLimits.getGEnergyStop()); + roi.setRoiBRangeStart(roiLimits.getBEnergyStart()); + roi.setRoiBRangeStop(roiLimits.getBEnergyStop()); + roiLimitsSubBlock.add(roi); + } + } + report.setRoiLimitsBlock(roiLimitsSubBlock); + } + + private void findRatios(Integer sampleId, Report report) { + List ratiosSubBlock = new LinkedList<>(); + LambdaQueryWrapper ratiosQueryWrapper = new LambdaQueryWrapper<>(); + ratiosQueryWrapper.eq(GardsSampleRatios::getSampleId, sampleId); + List sampleRatiosList = gardsSampleRatiosMapper.selectList(ratiosQueryWrapper); + if (CollectionUtils.isNotEmpty(sampleRatiosList)){ + for (GardsSampleRatios sampleRatios:sampleRatiosList) { + Ratios ratios = new Ratios(); + ratios.setCountRatio(sampleRatios.getCountRatio()); + ratios.setRatioId(sampleRatios.getRatioId()); + ratios.setCountRatioUncertainty(sampleRatios.getCountRatioErr()); + ratios.setRoiNumberLowerEnergy(sampleRatios.getLowerRoiNumber()); + ratios.setRoiNumberHigherEnergy(sampleRatios.getUpperRoiNumber()); + ratiosSubBlock.add(ratios); + } + } + report.setRatiosBlock(ratiosSubBlock); + } + + private void findGSpectrum(Integer sampleId, Report report) { + GammaSpectrum gSpectrumBlock = new GammaSpectrum(); + LambdaQueryWrapper spectrumQueryWrapper = new LambdaQueryWrapper<>(); + spectrumQueryWrapper.eq(GardsSpectrum::getSampleType, "G"); + spectrumQueryWrapper.eq(GardsSpectrum::getSampleId, sampleId); + GardsSpectrum gardsSpectrum = gardsSpectrumMapper.selectOne(spectrumQueryWrapper); + if (Objects.nonNull(gardsSpectrum)){ + List gSpectrumSubBlock = readLineUtil.readLine(gardsSpectrum.getFileName()); + gSpectrumBlock.setGSpectrumSubBlock(gSpectrumSubBlock); + gSpectrumBlock.setEnergySpan(gardsSpectrum.getEnergySpan()); + gSpectrumBlock.setNumberGChannels(gardsSpectrum.getChannels()); + } + report.setGSpectrumBlock(gSpectrumBlock); + } + + private void findBSpectrum(Integer sampleId, Report report) { + BetaSpectrum bSpectrumBlock = new BetaSpectrum(); + LambdaQueryWrapper spectrumQueryWrapper = new LambdaQueryWrapper<>(); + spectrumQueryWrapper.eq(GardsSpectrum::getSampleType, "B"); + spectrumQueryWrapper.eq(GardsSpectrum::getSampleId, sampleId); + GardsSpectrum gardsSpectrum = gardsSpectrumMapper.selectOne(spectrumQueryWrapper); + if (Objects.nonNull(gardsSpectrum)){ + List bSpectrumSubBlock = readLineUtil.readLine(gardsSpectrum.getFileName()); + bSpectrumBlock.setBSpectrumSubBlock(bSpectrumSubBlock); + bSpectrumBlock.setEnergySpan(gardsSpectrum.getEnergySpan()); + bSpectrumBlock.setNumberBChannels(gardsSpectrum.getChannels()); + } + report.setBSpectrumBlock(bSpectrumBlock); + } + + private void findHistogram(Integer sampleId, Report report) { + Histogram histogramBlock = new Histogram(); + LambdaQueryWrapper histogramQueryWrapper = new LambdaQueryWrapper<>(); + histogramQueryWrapper.eq(GardsHistogram::getSampleId, sampleId); + GardsHistogram gardsHistogram = gardsHistogramMapper.selectOne(histogramQueryWrapper); + if (Objects.nonNull(gardsHistogram)){ + List histogramSubBlock = readLineUtil.readLine(gardsHistogram.getFileName()); + histogramBlock.setHistogramSubBlock(histogramSubBlock); + histogramBlock.setBChannels(gardsHistogram.getBChannels()); + histogramBlock.setBEnergySpan(gardsHistogram.getBEnergySpan()); + histogramBlock.setGChannels(gardsHistogram.getGChannels()); + histogramBlock.setGEnergySpan(gardsHistogram.getGEnergySpan()); + } + report.setHistogramBlock(histogramBlock); + } + + private void findCertificate(Integer sampleId, Report report) { + Certificate certificateBlock = new Certificate(); + List certificateSubBlock = new LinkedList<>(); + LambdaQueryWrapper sampleCertQueryWrapper = new LambdaQueryWrapper<>(); + sampleCertQueryWrapper.eq(GardsSampleCert::getSampleId, sampleId); + GardsSampleCert gardsSampleCert = gardsSampleCertMapper.selectOne(sampleCertQueryWrapper); + if (Objects.nonNull(gardsSampleCert)){ + certificateBlock.setTotalSourceActivity(gardsSampleCert.getQuantity()); + certificateBlock.setAssayDate(DateUtils.formatDate(gardsSampleCert.getAssayDate(), "yyyy-MM-dd HH:mm:ss")); + certificateBlock.setUnitsOfActivity(gardsSampleCert.getUnit()); + } + LambdaQueryWrapper sampleCertLineQueryWrapper = new LambdaQueryWrapper<>(); + sampleCertLineQueryWrapper.eq(GardsSampleCertLine::getSampleId, sampleId); + List gardsSampleCertLines = gardsSampleCertLineMapper.selectList(sampleCertLineQueryWrapper); + if (CollectionUtils.isNotEmpty(gardsSampleCertLines)){ + for (GardsSampleCertLine sampleCertLine:gardsSampleCertLines) { + CertificateLine certificateLine = new CertificateLine(); + certificateLine.setNuclideName(sampleCertLine.getNuclName()); + certificateLine.setHalfLife(sampleCertLine.getHalflife()); + certificateLine.setNuclideActivity(sampleCertLine.getActivity()); + certificateLine.setUncertainty(sampleCertLine.getError()); + certificateLine.setGenergy(sampleCertLine.getEnergy()); + certificateLine.setIntensity(sampleCertLine.getAbundance()); + certificateLine.setElectronDecayModeDescriptor(sampleCertLine.getDecayMode()); + certificateLine.setMaxBParticleEnergy(sampleCertLine.getBEnergy()); + certificateLine.setParticleBIntensity(sampleCertLine.getBAbundance()); + certificateSubBlock.add(certificateLine); + } + } + certificateBlock.setCertificateSubBlock(certificateSubBlock); + report.setCertificateBlock(certificateBlock); } @Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class) diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/system/entity/GardsStations.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/system/entity/GardsStations.java index cebc87bc..a288144d 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/system/entity/GardsStations.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/system/entity/GardsStations.java @@ -54,6 +54,7 @@ public class GardsStations implements Serializable { @TableField(value = "MODDATE") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date moddate; } diff --git a/jeecg-server-cloud/jeecg-web-statistics-start/src/main/resources/application.yml b/jeecg-server-cloud/jeecg-web-statistics-start/src/main/resources/application.yml index 68faf27d..821b2c41 100644 --- a/jeecg-server-cloud/jeecg-web-statistics-start/src/main/resources/application.yml +++ b/jeecg-server-cloud/jeecg-web-statistics-start/src/main/resources/application.yml @@ -15,4 +15,4 @@ spring: config: import: - optional:nacos:jeecg.yaml - - optional:nacos:jeecg-web-statistics-@profile.name@.yaml \ No newline at end of file + - optional:nacos:jeecg-@profile.name@.yaml \ No newline at end of file