diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java index 6d854878..87a1bc89 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java @@ -3040,7 +3040,7 @@ public class GammaFileUtil extends AbstractLogOrReport { qsScacPath = qsScacPath.replace(StringPool.BACK_SLASH, StringPool.SLASH); - String savePath = StringPool.SLASH + spectrumPathProperties.getSaveFilePath(); + String savePath = spectrumPathProperties.getSaveFilePath(); String rootPath = spectrumPathProperties.getRootPath(); String qsSaveBaseLine = savePath + StringPool.SLASH + qsBaseLinePath; @@ -3867,6 +3867,12 @@ public class GammaFileUtil extends AbstractLogOrReport { List result = new LinkedList<>(); for(int i=0; i nuclideLinesMap = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());//GetNuclideLines(nuclides); + Map nuclideLinesMap = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type()); // 解析获取临时文件信息 File tmpFile = gammaFileUtil.analyzeFile(ftpUtil.getFtpRootPath() + spectrumPathProperties.getUploadPath() + StringPool.SLASH + userName, fileName); ObjectMapper mapper = new ObjectMapper(); @@ -572,9 +572,9 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi int peakNum = 0; if (Objects.nonNull(analysis)) { phd.setId_analysis(analysis.getIdAnalysis().toString()); - phd.setBaseline_path(StringPool.SLASH + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + analysis.getBaselinePath()); - phd.setLc_path(StringPool.SLASH + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + analysis.getLcPath()); - phd.setScac_path(StringPool.SLASH + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + analysis.getScacPath()); + phd.setBaseline_path(spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + analysis.getBaselinePath()); + phd.setLc_path(spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + analysis.getLcPath()); + phd.setScac_path(spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + analysis.getScacPath()); peakNum = analysis.getNumberOfPeaks(); phd.setTotalCmt(analysis.getComments()); phd.getBaseCtrls().setRg_low(analysis.getSearchStartChannel()); @@ -1060,7 +1060,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi "2. You didn't change any setting or calibration."; result.error500(warning); } else if (flag == -1) { - Map nuclideLinesMap = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());//GetNuclideLines(nuclides); + Map nuclideLinesMap = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type()); gammaFileUtil.NuclidesIdent(phd, nuclideLinesMap); gammaFileUtil.RunQC(phd); String warning = "Finish three tasks:\n" + @@ -1069,7 +1069,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi "\t3.Test QC again."; result.error500(warning); } else { - Map nuclideLinesMap = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());//GetNuclideLines(nuclides); + Map nuclideLinesMap = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type()); gammaFileUtil.AnalyseSpectrum(phd, nuclideLinesMap); // 重新分析各峰值对应的核素信息 gammaFileUtil.NuclidesIdent(phd, nuclideLinesMap); @@ -1416,6 +1416,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi HashMap map = new HashMap<>(); // 根据boolean 决定是否保留本次数据 如果保留则不需要操作vPeak 并重新拟合线 if (accept) { + Map nuclideLinesMap = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type()); if (flag.equalsIgnoreCase("fit")) {// 如果传递的flag标识 是 fit则进行修改峰值等数据 for (int j = 0; j < newPeak.size(); j++) { PeakInfo peakInfo = newPeak.get(j); @@ -1488,9 +1489,16 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi List value = JSON.parseArray(JSON.toJSONString(entry.getValue()), PeakInfo.class); phd.setVPeak(value); } + if (entry.getKey().equalsIgnoreCase("vBase")) { + List vBase = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class); + phd.setVBase(vBase); + phd.getBaseCtrls().setBaseline(vBase); + } } // 重新计算peak的改变 gammaFileUtil.PeaksChanged(phd); + //重新计算核素活度浓度 + gammaFileUtil.NuclidesIdent(phd, nuclideLinesMap); List vPeak = gammaFileUtil.InitPeakTable(phd.getVPeak()); map.put("table", vPeak); @@ -1578,6 +1586,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi phd.getVPeak().remove(curRow); //重新计算核素活度浓度 gammaFileUtil.NuclidesIdent(phd, nuclideMap); + redisUtil.set(userName+"-"+phd.getHeader().getSystem_type(), nuclideMap); //重新分析数据 gammaFileUtil.PeaksChanged(phd); for (int i = 0; i < phd.getVPeak().size(); i++) { @@ -1706,13 +1715,6 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi // 根据要进行修改的列的数据下标 操作Vpeak数据 phd.getVPeak().get(curRow).nuclides.add(nuclideName); // 查询当前用户所关心的核素名称 -// // 查询当前用户关联的核素信息 -// List userLib = new LinkedList<>(); -// // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 -// userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, phd.getHeader().getSystem_type().toUpperCase()); -// if (CollectionUtils.isEmpty(userLib)) { -// userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", phd.getHeader().getSystem_type().toUpperCase()); -// } Map mapNucLines = (Map) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());//GetNuclideLines(userLib); // 查询出核素信息 NuclideLines it_line = mapNucLines.get(nuclideName); @@ -1781,6 +1783,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi nuclideMap.remove(nuclideName); //重新计算核素活度浓度 gammaFileUtil.NuclidesIdent(phd, nuclideMap); + redisUtil.set(userName+"-"+phd.getHeader().getSystem_type(), nuclideMap); //从核素的选中列表中移除对应下标的核素信息 list_identify.remove(index); //重新初始化峰列表信息 @@ -2391,8 +2394,8 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi data.setPeakEffi(null); } } else { - effi = Math.exp(coeffData.Effciency1 * ener + coeffData.Effciency2 + coeffData.Effciency3 / ener + coeffData.Effciency4 / Math.pow(ener, 2) + coeffData.Effciency5 / Math.pow(ener, 3) + coeffData.Effciency6 / Math.pow(ener, 4)); - totE = Math.exp(coeffData.totalEf1 * ener + coeffData.totalEf2 + coeffData.totalEf3 / ener + coeffData.totalEf4 / Math.pow(ener, 2) + coeffData.totalEf5 / Math.pow(ener, 3) + coeffData.totalEf6 / Math.pow(ener, 4)); + effi = Math.exp( coeffData.Effciency1 * ener + coeffData.Effciency2 + coeffData.Effciency3 / ener + coeffData.Effciency4 / Math.pow(ener, 2) + coeffData.Effciency5 / Math.pow(ener, 3) + coeffData.Effciency6 / Math.pow(ener, 4) ); + totE = Math.exp( coeffData.totalEf1 * ener + coeffData.totalEf2 + coeffData.totalEf3 / ener + coeffData.totalEf4 / Math.pow(ener, 2) + coeffData.totalEf5 / Math.pow(ener, 3) + coeffData.totalEf6 / Math.pow(ener, 4) ); data.setTotalEffi(Double.parseDouble(NumberFormatUtil.numberFormat(String.valueOf(totE)))); data.setPeakEffi(Double.parseDouble(NumberFormatUtil.numberFormat(String.valueOf(effi)))); } 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 74dac66d..f2c683f0 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 @@ -2538,7 +2538,11 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements List energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara); List newLineSeries = new LinkedList<>(); List> energyList = new LinkedList<>(); - energyList.add(energys); + for (Double calEnergy:energys) { + List newEnergy = new LinkedList<>(); + newEnergy.add(calEnergy); + energyList.add(newEnergy); + } for (int i=0; i energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara); List newLineSeries = new LinkedList<>(); List> energyList = new LinkedList<>(); - energyList.add(energys); + for (Double calEnergy:energys) { + List newEnergy = new LinkedList<>(); + newEnergy.add(calEnergy); + energyList.add(newEnergy); + } for (int i=0; i