gamma功能删除peak接口增加核素是否存在的判断

This commit is contained in:
qiaoqinzheng 2023-11-02 11:08:56 +08:00
parent a27f937e35
commit af7825d761

View File

@ -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<info.nuclides.size(); i++) {
String nuclideName = info.nuclides.get(i);
//从缓存信息中获取核素名称
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);
}
}
//从核素相关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);
//重新分析数据