From 25ddaf9b2896eaf449c0daff9c9c4558f014fee2 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 2 Nov 2023 18:28:39 +0800 Subject: [PATCH] =?UTF-8?q?beta=E5=8A=9F=E8=83=BD=E5=88=86=E6=9E=90?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=A2=9E=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9A=84=E9=9D=9E=E7=A9=BA=E5=88=A4=E6=96=AD=20gamma?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=88=A0=E9=99=A4=E6=8E=A5=E5=8F=A3=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=88=A0=E9=99=A4=E7=BC=93=E5=AD=98=E6=A0=B8=E7=B4=A0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/GammaServiceImpl.java | 1 + .../impl/SpectrumAnalysisServiceImpl.java | 420 +++++++++--------- 2 files changed, 214 insertions(+), 207 deletions(-) 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 e4447b88..db3713f5 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 @@ -867,6 +867,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi String key = fileName + StrUtil.DASHED + username; // 删除指定key的Cache localCache.deletePHDCache(key); + redisUtil.del(key); } @Override diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index a5db28d0..f149276a 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -3323,99 +3323,101 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { gasTmp = phdFileUtil.analyzeFile(gasFilePath, gasFileName); //获取det文件 detTmp = phdFileUtil.analyzeFile(detFilePath, detFileName); - //调用重新分析算法 获取算法结果 - BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); - //生成分析操作日志 - EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp); - EnergySpectrumStruct gas = phdFileUtil.analyzeFileSourceData(gasTmp); - EnergySpectrumStruct det = phdFileUtil.analyzeFileSourceData(detTmp); - String logName = sampleFileName.replace("PHD", "log"); - phdFileUtil.OutPutRnLog(analyseResult, sample, gas, det, logName); - //存入分析用到的数据 - map.put("reAnalyseParam", spectrum_group.BgCalPara); - //存入计算后得到的xeData数据 - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(analyseResult.Xe131m_con); - xe131m.setConcErr(analyseResult.Xe131m_uncer); - xe131m.setLc(analyseResult.LC_Xe131m); - xe131m.setMdc(analyseResult.MDC_Xe131m); - xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); - xeResultsSpectrumList.add(xe131m); - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(analyseResult.Xe133_con); - xe133.setConcErr(analyseResult.Xe133_uncer); - xe133.setLc(analyseResult.LC_Xe133); - xe133.setMdc(analyseResult.MDC_Xe133); - xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); - xeResultsSpectrumList.add(xe133); - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(analyseResult.Xe133m_con); - xe133m.setConcErr(analyseResult.Xe133m_uncer); - xe133m.setLc(analyseResult.LC_Xe133m); - xe133m.setMdc(analyseResult.MDC_Xe133m); - xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); - xeResultsSpectrumList.add(xe133m); - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(analyseResult.Xe135_con); - xe135.setConcErr(analyseResult.Xe135_uncer); - xe135.setLc(analyseResult.LC_Xe135); - xe135.setMdc(analyseResult.MDC_Xe135); - xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); - xeResultsSpectrumList.add(xe135); - xeMap.put("XeData", xeResultsSpectrumList); - //新计算得到的边界值 - if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { - List boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i xeResultsSpectrumList = new LinkedList<>(); - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(analyseResult.Xe131m_con); - xe131m.setConcErr(analyseResult.Xe131m_uncer); - xe131m.setLc(analyseResult.LC_Xe131m); - xe131m.setMdc(analyseResult.MDC_Xe131m); - xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); - xeResultsSpectrumList.add(xe131m); - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(analyseResult.Xe133_con); - xe133.setConcErr(analyseResult.Xe133_uncer); - xe133.setLc(analyseResult.LC_Xe133); - xe133.setMdc(analyseResult.MDC_Xe133); - xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); - xeResultsSpectrumList.add(xe133); - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(analyseResult.Xe133m_con); - xe133m.setConcErr(analyseResult.Xe133m_uncer); - xe133m.setLc(analyseResult.LC_Xe133m); - xe133m.setMdc(analyseResult.MDC_Xe133m); - xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); - xeResultsSpectrumList.add(xe133m); - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(analyseResult.Xe135_con); - xe135.setConcErr(analyseResult.Xe135_uncer); - xe135.setLc(analyseResult.LC_Xe135); - xe135.setMdc(analyseResult.MDC_Xe135); - xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); - xeResultsSpectrumList.add(xe135); - xeMap.put("XeData", xeResultsSpectrumList); - //新计算得到的边界值 - if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { - List boundaryList = new LinkedList<>(); - for (int i=0; i xeResultsSpectrumList = new LinkedList<>(); + GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); + xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); + xe131m.setConc(analyseResult.Xe131m_con); + xe131m.setConcErr(analyseResult.Xe131m_uncer); + xe131m.setLc(analyseResult.LC_Xe131m); + xe131m.setMdc(analyseResult.MDC_Xe131m); + xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); + xeResultsSpectrumList.add(xe131m); + GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); + xe133.setNuclideName(XeNuclideName.XE_133.getType()); + xe133.setConc(analyseResult.Xe133_con); + xe133.setConcErr(analyseResult.Xe133_uncer); + xe133.setLc(analyseResult.LC_Xe133); + xe133.setMdc(analyseResult.MDC_Xe133); + xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); + xeResultsSpectrumList.add(xe133); + GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); + xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); + xe133m.setConc(analyseResult.Xe133m_con); + xe133m.setConcErr(analyseResult.Xe133m_uncer); + xe133m.setLc(analyseResult.LC_Xe133m); + xe133m.setMdc(analyseResult.MDC_Xe133m); + xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); + xeResultsSpectrumList.add(xe133m); + GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); + xe135.setNuclideName(XeNuclideName.XE_135.getType()); + xe135.setConc(analyseResult.Xe135_con); + xe135.setConcErr(analyseResult.Xe135_uncer); + xe135.setLc(analyseResult.LC_Xe135); + xe135.setMdc(analyseResult.MDC_Xe135); + xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); + xeResultsSpectrumList.add(xe135); + xeMap.put("XeData", xeResultsSpectrumList); + //新计算得到的边界值 + if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { + List boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i xeDataList = (List) map.get("XeData"); - if (CollectionUtils.isNotEmpty(xeDataList)){ - for (GardsXeResultsSpectrum xeData:xeDataList) { - Double conc = xeData.getConc(); - Double mdc = xeData.getMdc(); - if (conc < 0){ - xeData.setColor("red"); - xeData.setNidFlag(0); - } else if (0 mdc) { - xeData.setColor("green"); - xeData.setNidFlag(1); + if(Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { + //调用分析方法 + phdFileUtil.analyzeSpectrum(sampleTmp, gasTmp, detTmp, BgCalPara, map); + //分析qc文件信息并重新计算qc边界值 + if (StringUtils.isNotBlank(qcPath)) { + EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcPath, qcFileName); + if (Objects.nonNull(struct)) { + phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, map); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } + List xeDataList = (List) map.get("XeData"); + if (CollectionUtils.isNotEmpty(xeDataList)){ + for (GardsXeResultsSpectrum xeData:xeDataList) { + Double conc = xeData.getConc(); + Double mdc = xeData.getMdc(); + if (conc < 0){ + xeData.setColor("red"); + xeData.setNidFlag(0); + } else if (0 mdc) { + xeData.setColor("green"); + xeData.setNidFlag(1); + } + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + } + } + //更新分析后的缓存信息 + cache.put(sampleFileName + "-" + userName + "-xeData", map); + betaCache.setBetaCache(cache); + map.put("bProcessed", true); + map.put("savedAnalysisResult", true); + mapList.put(sampleFileName, map); } - //更新分析后的缓存信息 - cache.put(sampleFileName + "-" + userName + "-xeData", map); - betaCache.setBetaCache(cache); - map.put("bProcessed", true); - map.put("savedAnalysisResult", true); - mapList.put(sampleFileName, map); } } } catch (Exception e) {