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 29aa4296..525ae10a 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 @@ -1454,31 +1454,34 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi PeakInfo info = phd.getVPeak().get(curRow); //获取当前选中的峰值信息的能量值 double energy = info.energy; - //遍历核素信息 - for (String nuclideName : info.nuclides) { - //从缓存信息中获取核素名称 - NuclideLines nuclideLines = nuclideMap.get(nuclideName); - //获取最大活度的核素位置 - int maxYeildIdx = nuclideLines.maxYeildIdx; - //获取最大活度对应的核素能量值 - Double maxEnergy = nuclideLines.getVenergy().get(maxYeildIdx); - //判断当前选中的峰值信息的能量值 是否在 最大活度对应的核素能量值公差范围内 - if (energy >= maxEnergy-0.5 && energy <= maxEnergy+0.5) { - //则需要删除所有关联的核素信息并 从MapNucAct中移除相关核素内容 - for (PeakInfo peakInfo: phd.getVPeak()) { - //如果峰的核素名称中包含当前删除的核素 - if (peakInfo.nuclides.contains(nuclideName)) { - peakInfo.nuclides.remove(nuclideName); + if (CollectionUtils.isNotEmpty(info.nuclides)) { + //遍历核素信息 + for (int i=0; i= maxEnergy-0.5 && energy <= maxEnergy+0.5) { + //则需要删除所有关联的核素信息并 从MapNucAct中移除相关核素内容 + for (PeakInfo peakInfo: phd.getVPeak()) { + //如果峰的核素名称中包含当前删除的核素 + if (peakInfo.nuclides.contains(nuclideName)) { + peakInfo.nuclides.remove(nuclideName); + } } + //从核素相关map中移除核素信息 + phd.getMapNucActMda().remove(nuclideName); + //移除核素信息 + nuclideMap.remove(nuclideName); } - //从核素相关map中移除核素信息 - phd.getMapNucActMda().remove(nuclideName); - //移除核素信息 - nuclideMap.remove(nuclideName); } + //重新计算核素活度浓度 + gammaFileUtil.NuclidesIdent(phd, nuclideMap); } - //重新计算核素活度浓度 - gammaFileUtil.NuclidesIdent(phd, nuclideMap); //将当前行从峰数组中移除 phd.getVPeak().remove(curRow); //重新分析数据