diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java index 02aea1b5..49e08a68 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java @@ -23,7 +23,9 @@ import org.jeecg.modules.base.bizVo.AttributeItemVo; import org.jeecg.modules.base.dto.*; import org.jeecg.modules.base.entity.original.GardsSampleData; import org.jeecg.modules.base.entity.rnauto.*; +import org.jeecg.modules.base.enums.DSType; import org.jeecg.modules.base.enums.MiddleDataType; +import org.jeecg.modules.base.enums.SpectrumType; import org.jeecg.modules.config.datasource.DataSourceSwitcher; import org.jeecg.modules.entity.vo.*; import org.jeecg.modules.exception.GAnalyseException; @@ -34,8 +36,14 @@ import org.springframework.transaction.TransactionStatus; import java.io.File; import java.io.IOException; import java.lang.reflect.Field; +import java.text.ParseException; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; +import static org.jeecg.modules.service.BlockConstant.XE_131m; + @Data @Slf4j public class Sample_G_Analysis { @@ -169,6 +177,9 @@ public class Sample_G_Analysis { File.separator + reportName; // 保存文件 FileOperation.saveOrAppendFile(savePath, reportContent, false); + //发送数据到redis + middleData.setSample_id(String.valueOf(sampleId)); + pushToRedis(middleData); }catch (Exception e){ e.printStackTrace(); log.error("Sample_G_Analysis", e); @@ -185,6 +196,32 @@ public class Sample_G_Analysis { log.info("Gamma自动处理分析--End"); } + /** + * 分析成功数据发送到Redis + */ + private void pushToRedis(GStoreMiddleProcessData middleData){ + try { + Info info = new Info(); + info.setStationId(middleData.sample_stationID); + info.setSampleId(middleData.sample_id); + info.setSampleName(middleData.analyses_save_filePath.substring(middleData.analyses_save_filePath.lastIndexOf(StringPool.SLASH)+1)); + final Instant instant = DateUtils.parseDate(middleData.sample_collection_start).toInstant(); + final LocalDateTime collectTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); + info.setCollectionDate(collectTime); + info.setDatasource(DSType.ARMDARR.getType()); + info.setFullOrPrel(this.sampleData.getSpectralQualifie()); + info.setBetaOrGamma(SpectrumType.GAMMA.getType()); + Map nuclides = Maps.newHashMap(); + for (int i=0; i qcItems){ //如果数据已经存储,不在重复存储 final Integer idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(this.sampleData.getSampleId()); @@ -226,6 +263,7 @@ public class Sample_G_Analysis { DataSourceSwitcher.clearDataSource(); } } + /** * 生成日志文件 * @param logFilePath diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SamplephdSpectrum.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SamplephdSpectrum.java index c6f12a83..eb2b5da4 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SamplephdSpectrum.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/SamplephdSpectrum.java @@ -80,9 +80,9 @@ public class SamplephdSpectrum extends AbstractS_D_Q_G_SpectrumHandler { Sample_B_Analysis bAnalysis = new Sample_B_Analysis(this); bAnalysis.analysis(); } -// if (this.sourceData.system_type.equals(SystemType.PARTICULATE.getType()) || this.sourceData.system_type.equals(SystemType.GAMMA.getType())) { -// Sample_G_Analysis sample_g_analysis = new Sample_G_Analysis(super.sourceData, super.spectrumServiceQuotes, super.sampleData); -// sample_g_analysis.analysis(); -// } + if (this.sourceData.system_type.equals(SystemType.PARTICULATE.getType()) || this.sourceData.system_type.equals(SystemType.GAMMA.getType())) { + Sample_G_Analysis sample_g_analysis = new Sample_G_Analysis(super.sourceData, super.spectrumServiceQuotes, super.sampleData); + sample_g_analysis.analysis(); + } } } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java index 6f0b6ab1..5a2b3936 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BetaDataFile.java @@ -39,6 +39,8 @@ public class BetaDataFile implements Serializable { private String sampleId; + private String stationId; + private boolean bProcessed; private boolean saveAnalysisResult; @@ -225,6 +227,7 @@ public class BetaDataFile implements Serializable { qcFilePathName = ""; qcFileName = ""; sampleId = ""; + stationId = ""; bProcessed = false; saveAnalysisResult = false; diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java index 7cd44626..c6d46bd7 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.collect.Maps; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; @@ -31,16 +32,14 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.*; import org.jeecg.modules.base.abstracts.AbstractLogOrReport; import org.jeecg.modules.base.bizVo.GammaRLR; +import org.jeecg.modules.base.dto.Info; import org.jeecg.modules.base.dto.NuclideActMdaDto; import org.jeecg.modules.base.dto.PeakInfoDto; import org.jeecg.modules.base.entity.configuration.GardsNuclLib; import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib; import org.jeecg.modules.base.entity.postgre.SysUser; import org.jeecg.modules.base.entity.rnman.GardsAnalySetting; -import org.jeecg.modules.base.enums.CalName; -import org.jeecg.modules.base.enums.CalType; -import org.jeecg.modules.base.enums.ExportTemplate; -import org.jeecg.modules.base.enums.RoleType; +import org.jeecg.modules.base.enums.*; import org.jeecg.modules.entity.vo.*; import org.jeecg.modules.entity.*; import org.jeecg.modules.mapper.SpectrumAnalysisMapper; @@ -68,7 +67,9 @@ import java.sql.Statement; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; +import java.time.Instant; import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -4588,11 +4589,44 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi //更新detial Information List detailedInfo = gammaFileUtil.DetailedInfo(phd.getId_sample(), phd); map.put("DetailedInformation", detailedInfo); + //发送数据到redis + middleData.setSample_id(String.valueOf(phd.getId_sample())); + pushToRedis(middleData, phd); result.setSuccess(true); result.setResult(map); return result; } + /** + * 分析成功数据发送到Redis + */ + private void pushToRedis(GStoreMiddleProcessData middleData, PHDFile phd){ + try { + Info info = new Info(); + info.setStationId(middleData.sample_stationID); + info.setSampleId(middleData.sample_id); + info.setSampleName(middleData.analyses_save_filePath.substring(middleData.analyses_save_filePath.lastIndexOf(StringPool.SLASH)+1)); + final Instant instant = DateUtils.parseDate(middleData.sample_collection_start).toInstant(); + final LocalDateTime collectTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); + info.setCollectionDate(collectTime); + info.setDatasource(DSType.ARMDRRR.getType()); + info.setFullOrPrel(phd.getHeader().getSpectrum_quantity()); + info.setBetaOrGamma(SpectrumType.GAMMA.getType()); + Map nuclides = Maps.newHashMap(); + for (int i=0; i userStation = userTaskUtil.findUserStation(userName); boolean bAnalysisResultWriteAuthority = false; @@ -3865,11 +3869,52 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements betaDataFile.setQcSpectrumData(qcData); map.put("qc", qcData); } + //发送数据到redis + pushToRedis(betaDataFile); result.setSuccess(true); result.setResult(map); return result; } + /** + * 分析成功数据发送到Redis + */ + private void pushToRedis(BetaDataFile betaDataFile){ + try { + Info info = new Info(); + info.setStationId(betaDataFile.getStationId()); + info.setSampleId(betaDataFile.getSampleId()); + info.setSampleName(betaDataFile.getSampleFileName()); + final Instant instant = DateUtils.parseDate(betaDataFile.getSampleStruct().collection_start_date+ StringPool.SPACE+betaDataFile.getSampleStruct().collection_start_time).toInstant(); + final LocalDateTime collectTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); + info.setCollectionDate(collectTime); + info.setDatasource(DSType.ARMDRRR.getType()); + info.setFullOrPrel(betaDataFile.getSampleStruct().spectrum_quantity); + info.setBetaOrGamma(SpectrumType.BETA.getType()); + Map nuclides = Maps.newHashMap(); + for (int i=0; i< betaDataFile.getXeDataList().size(); i++) { + GardsXeResults xeResults = betaDataFile.getXeDataList().get(i); + if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_131m.getType())) { + nuclides.put(XeNuclideName.XE_131m.getType(), String.valueOf(xeResults.getConc())); + } else if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_133.getType())) { + nuclides.put(XeNuclideName.XE_133.getType(), String.valueOf(xeResults.getConc())); + } else if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_133m.getType())) { + nuclides.put(XeNuclideName.XE_133m.getType(), String.valueOf(xeResults.getConc())); + } else if (xeResults.getNuclideName().equalsIgnoreCase(XeNuclideName.XE_135.getType())) { + nuclides.put(XeNuclideName.XE_135.getType(), String.valueOf(xeResults.getConc())); + } + } + info.setNuclides(nuclides); + RedisStreamUtil.class.newInstance().pushAnalysis(info); + } catch (ParseException e) { + throw new RuntimeException(e); + } catch (InstantiationException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + /** * 获取需要导出的数据 (saveToHtml|saveToTxt|saveToExcel) */