人工交互模块gamma算法崩溃问题修改,新增字段判断分析是否异常结束,并接收分析异常信息

This commit is contained in:
qiaoqinzheng 2024-03-07 16:37:40 +08:00
parent 6abe41c743
commit 3f4e184c82
3 changed files with 231 additions and 208 deletions

View File

@ -16,6 +16,10 @@ public class PHDFile implements Serializable {
private String tmpFilePath; private String tmpFilePath;
private String analyMessage;
private boolean analyFlag;
private boolean isValid; // 是否有效谱 private boolean isValid; // 是否有效谱
private boolean bAnalyed; // 记录是否被分析 private boolean bAnalyed; // 记录是否被分析
@ -181,6 +185,8 @@ public class PHDFile implements Serializable {
userId = ""; userId = "";
xmlFilePath = ""; xmlFilePath = "";
tmpFilePath = ""; tmpFilePath = "";
analyMessage = "";
analyFlag = true;
bAnalyed = false; bAnalyed = false;
isValid = true; isValid = true;
analy_start_time = ""; analy_start_time = "";

View File

@ -1335,191 +1335,200 @@ public class GammaFileUtil extends AbstractLogOrReport {
} }
String strValue = CalValuesHandler.analyseSpectrum(phdStr, nuclideLinesMap, phd.getTmpFilePath(), analysisProcess); String strValue = CalValuesHandler.analyseSpectrum(phdStr, nuclideLinesMap, phd.getTmpFilePath(), analysisProcess);
Map<String, Object> parseMap = JSON.parseObject(strValue, Map.class); Map<String, Object> parseMap = JSON.parseObject(strValue, Map.class);
for (Map.Entry<String, Object> entry:parseMap.entrySet()) { boolean analyFlag = JSON.parseObject(JSON.toJSONString(parseMap.get("analyFlag")), Boolean.class);
if (entry.getKey().equalsIgnoreCase("bAnalyed")) { phd.setAnalyFlag(analyFlag);
boolean value = JSON.parseObject(JSON.toJSONString(entry.getValue()), Boolean.class); String analyMessage = JSON.parseObject(JSON.toJSONString(parseMap.get("analyMessage")), String.class);
phd.setBAnalyed(value); phd.setAnalyMessage(analyMessage);
} if (analyFlag) {
if (entry.getKey().equalsIgnoreCase("mapEnerPara")) { for (Map.Entry<String, Object> entry:parseMap.entrySet()) {
HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class); if (entry.getKey().equalsIgnoreCase("bAnalyed")) {
Map<String, ParameterInfo> value = new HashMap<>(); boolean value = JSON.parseObject(JSON.toJSONString(entry.getValue()), Boolean.class);
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) { phd.setBAnalyed(value);
String key = objectEntry.getKey();
ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class);
value.put(key, entryValue);
} }
phd.setMapEnerPara(value); if (entry.getKey().equalsIgnoreCase("mapEnerPara")) {
} HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
if (entry.getKey().equalsIgnoreCase("mapResoPara")) { Map<String, ParameterInfo> value = new HashMap<>();
HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class); for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
Map<String, ParameterInfo> value = new HashMap<>(); String key = objectEntry.getKey();
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) { ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class);
String key = objectEntry.getKey(); value.put(key, entryValue);
ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class); }
value.put(key, entryValue); phd.setMapEnerPara(value);
} }
phd.setMapResoPara(value); if (entry.getKey().equalsIgnoreCase("mapResoPara")) {
} HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
if (entry.getKey().equalsIgnoreCase("mapEffiPara")) { Map<String, ParameterInfo> value = new HashMap<>();
HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class); for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
Map<String, ParameterInfo> value = new HashMap<>(); String key = objectEntry.getKey();
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) { ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class);
String key = objectEntry.getKey(); value.put(key, entryValue);
ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class); }
value.put(key, entryValue); phd.setMapResoPara(value);
} }
phd.setMapEffiPara(value); if (entry.getKey().equalsIgnoreCase("mapEffiPara")) {
} HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
if (entry.getKey().equalsIgnoreCase("mapTotEPara")) { Map<String, ParameterInfo> value = new HashMap<>();
HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class); for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
Map<String, ParameterInfo> value = new HashMap<>(); String key = objectEntry.getKey();
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) { ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class);
String key = objectEntry.getKey(); value.put(key, entryValue);
ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class); }
value.put(key, entryValue); phd.setMapEffiPara(value);
} }
phd.setMapTotEPara(value); if (entry.getKey().equalsIgnoreCase("mapTotEPara")) {
} HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
if (entry.getKey().equalsIgnoreCase("para_stepRatio")) { Map<String, ParameterInfo> value = new HashMap<>();
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class); for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
phd.setPara_stepRatio(value); String key = objectEntry.getKey();
} ParameterInfo entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), ParameterInfo.class);
if (entry.getKey().equalsIgnoreCase("para_tail")) { value.put(key, entryValue);
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class); }
phd.setPara_tail(value); phd.setMapTotEPara(value);
}
if (entry.getKey().equalsIgnoreCase("para_tailAlpha")) {
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
phd.setPara_tailAlpha(value);
}
if (entry.getKey().equalsIgnoreCase("para_tailRight")) {
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
phd.setPara_tailRight(value);
}
if (entry.getKey().equalsIgnoreCase("para_tailRightAlpha")) {
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
phd.setPara_tailRightAlpha(value);
}
if (entry.getKey().equalsIgnoreCase("newEner")) {
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
phd.setNewEner(value);
}
if (entry.getKey().equalsIgnoreCase("newReso")) {
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
phd.setNewReso(value);
}
if (entry.getKey().equalsIgnoreCase("mapEnerKD")) {
HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
Map<String, GEnergyBlock> value = new HashMap<>();
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
String key = objectEntry.getKey();
GEnergyBlock entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), GEnergyBlock.class);
value.put(key, entryValue);
} }
phd.setMapEnerKD(value); if (entry.getKey().equalsIgnoreCase("para_stepRatio")) {
} ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
if (entry.getKey().equalsIgnoreCase("mapResoKD")) { phd.setPara_stepRatio(value);
HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
Map<String, GResolutionBlock> value = new HashMap<>();
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
String key = objectEntry.getKey();
GResolutionBlock entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), GResolutionBlock.class);
value.put(key, entryValue);
} }
phd.setMapResoKD(value); if (entry.getKey().equalsIgnoreCase("para_tail")) {
} ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
if (entry.getKey().equalsIgnoreCase("vEnergy")) { phd.setPara_tail(value);
List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class); }
phd.setVEnergy(value); if (entry.getKey().equalsIgnoreCase("para_tailAlpha")) {
} ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
if (entry.getKey().equalsIgnoreCase("vBase")) { phd.setPara_tailAlpha(value);
List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class); }
phd.setVBase(value); if (entry.getKey().equalsIgnoreCase("para_tailRight")) {
} ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
if (entry.getKey().equalsIgnoreCase("vLc")) { phd.setPara_tailRight(value);
List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class); }
phd.setVLc(value); if (entry.getKey().equalsIgnoreCase("para_tailRightAlpha")) {
} ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
if (entry.getKey().equalsIgnoreCase("vScac")) { phd.setPara_tailRightAlpha(value);
List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class); }
phd.setVScac(value); if (entry.getKey().equalsIgnoreCase("newEner")) {
} String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
if (entry.getKey().equalsIgnoreCase("vPeak")) { phd.setNewEner(value);
List<PeakInfo> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), PeakInfo.class); }
phd.setVPeak(value); if (entry.getKey().equalsIgnoreCase("newReso")) {
} String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
if (entry.getKey().equalsIgnoreCase("baseCtrls")) { phd.setNewReso(value);
BaseControls value = JSON.parseObject(JSON.toJSONString(entry.getValue()), BaseControls.class); }
phd.setBaseCtrls(value); if (entry.getKey().equalsIgnoreCase("mapEnerKD")) {
} HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
if (entry.getKey().equalsIgnoreCase("usedEner")) { Map<String, GEnergyBlock> value = new HashMap<>();
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class); for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
phd.setUsedEner(value); String key = objectEntry.getKey();
} GEnergyBlock entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), GEnergyBlock.class);
if (entry.getKey().equalsIgnoreCase("usedEnerKD")) { value.put(key, entryValue);
GEnergyBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), GEnergyBlock.class); }
phd.setUsedEnerKD(value); phd.setMapEnerKD(value);
} }
if (entry.getKey().equalsIgnoreCase("usedEnerPara")) { if (entry.getKey().equalsIgnoreCase("mapResoKD")) {
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class); HashMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), HashMap.class);
phd.setUsedEnerPara(value); Map<String, GResolutionBlock> value = new HashMap<>();
} for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
if (entry.getKey().equalsIgnoreCase("usedReso")) { String key = objectEntry.getKey();
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class); GResolutionBlock entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), GResolutionBlock.class);
phd.setUsedReso(value); value.put(key, entryValue);
} }
if (entry.getKey().equalsIgnoreCase("usedResoKD")) { phd.setMapResoKD(value);
GResolutionBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), GResolutionBlock.class); }
phd.setUsedResoKD(value); if (entry.getKey().equalsIgnoreCase("vEnergy")) {
} List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class);
if (entry.getKey().equalsIgnoreCase("usedResoPara")) { phd.setVEnergy(value);
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class); }
phd.setUsedResoPara(value); if (entry.getKey().equalsIgnoreCase("vBase")) {
} List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class);
if (entry.getKey().equalsIgnoreCase("usedEffi")) { phd.setVBase(value);
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class); }
phd.setUsedEffi(value); if (entry.getKey().equalsIgnoreCase("vLc")) {
} List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class);
if (entry.getKey().equalsIgnoreCase("usedEffiKD")) { phd.setVLc(value);
GEfficiencyBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), GEfficiencyBlock.class); }
phd.setUsedEffiKD(value); if (entry.getKey().equalsIgnoreCase("vScac")) {
} List<Double> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), Double.class);
if (entry.getKey().equalsIgnoreCase("usedEffiPara")) { phd.setVScac(value);
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class); }
phd.setUsedEffiPara(value); if (entry.getKey().equalsIgnoreCase("vPeak")) {
} List<PeakInfo> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), PeakInfo.class);
if (entry.getKey().equalsIgnoreCase("usedTotE")) { phd.setVPeak(value);
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class); }
phd.setUsedTotE(value); if (entry.getKey().equalsIgnoreCase("baseCtrls")) {
} BaseControls value = JSON.parseObject(JSON.toJSONString(entry.getValue()), BaseControls.class);
if (entry.getKey().equalsIgnoreCase("usedTotEKD")) { phd.setBaseCtrls(value);
TotaleffBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), TotaleffBlock.class); }
phd.setUsedTotEKD(value); if (entry.getKey().equalsIgnoreCase("usedEner")) {
} String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
if (entry.getKey().equalsIgnoreCase("usedTotEPara")) { phd.setUsedEner(value);
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class); }
phd.setUsedTotEPara(value); if (entry.getKey().equalsIgnoreCase("usedEnerKD")) {
} GEnergyBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), GEnergyBlock.class);
if (entry.getKey().equalsIgnoreCase("mapNucActMda")) { phd.setUsedEnerKD(value);
TreeMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), TreeMap.class); }
Map<String, NuclideActMda> value = new TreeMap<>(); if (entry.getKey().equalsIgnoreCase("usedEnerPara")) {
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) { ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
String key = objectEntry.getKey(); phd.setUsedEnerPara(value);
NuclideActMda entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), NuclideActMda.class); }
value.put(key, entryValue); if (entry.getKey().equalsIgnoreCase("usedReso")) {
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
phd.setUsedReso(value);
}
if (entry.getKey().equalsIgnoreCase("usedResoKD")) {
GResolutionBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), GResolutionBlock.class);
phd.setUsedResoKD(value);
}
if (entry.getKey().equalsIgnoreCase("usedResoPara")) {
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
phd.setUsedResoPara(value);
}
if (entry.getKey().equalsIgnoreCase("usedEffi")) {
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
phd.setUsedEffi(value);
}
if (entry.getKey().equalsIgnoreCase("usedEffiKD")) {
GEfficiencyBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), GEfficiencyBlock.class);
phd.setUsedEffiKD(value);
}
if (entry.getKey().equalsIgnoreCase("usedEffiPara")) {
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
phd.setUsedEffiPara(value);
}
if (entry.getKey().equalsIgnoreCase("usedTotE")) {
String value = JSON.parseObject(JSON.toJSONString(entry.getValue()), String.class);
phd.setUsedTotE(value);
}
if (entry.getKey().equalsIgnoreCase("usedTotEKD")) {
TotaleffBlock value = JSON.parseObject(JSON.toJSONString(entry.getValue()), TotaleffBlock.class);
phd.setUsedTotEKD(value);
}
if (entry.getKey().equalsIgnoreCase("usedTotEPara")) {
ParameterInfo value = JSON.parseObject(JSON.toJSONString(entry.getValue()), ParameterInfo.class);
phd.setUsedTotEPara(value);
}
if (entry.getKey().equalsIgnoreCase("mapNucActMda")) {
TreeMap<String, Object> jsonMap = JSON.parseObject(JSON.toJSONString(entry.getValue()), TreeMap.class);
Map<String, NuclideActMda> value = new TreeMap<>();
for (Map.Entry<String, Object> objectEntry:jsonMap.entrySet()) {
String key = objectEntry.getKey();
NuclideActMda entryValue = JSON.parseObject(JSON.toJSONString(objectEntry.getValue()), NuclideActMda.class);
value.put(key, entryValue);
}
phd.setMapNucActMda(value);
} }
phd.setMapNucActMda(value);
} }
} BeanUtils.copyProperties(phd.getSetting(), phd.getUsedSetting());
BeanUtils.copyProperties(phd.getSetting(), phd.getUsedSetting());
for (PeakInfo peak:phd.getVPeak()) { for (PeakInfo peak:phd.getVPeak()) {
if (StringUtils.isBlank(peak.recoilBetaChan)) { if (StringUtils.isBlank(peak.recoilBetaChan)) {
peak.recoilBetaChan = "nan"; peak.recoilBetaChan = "nan";
} }
if (StringUtils.isBlank(peak.recoilDeltaChan)) { if (StringUtils.isBlank(peak.recoilDeltaChan)) {
peak.recoilDeltaChan = "nan"; peak.recoilDeltaChan = "nan";
}
} }
} else {
log.error("AnalyseSpectrum(): {}", analyMessage);
return false;
} }
} catch (JsonProcessingException e){ } catch (JsonProcessingException e){
e.printStackTrace(); e.printStackTrace();
@ -3206,16 +3215,20 @@ public class GammaFileUtil extends AbstractLogOrReport {
String anylseEnd; String anylseEnd;
anylseBegin = DateUtils.formatDate(new Date(), "yyyy/MM/dd HH:mm:ss"); anylseBegin = DateUtils.formatDate(new Date(), "yyyy/MM/dd HH:mm:ss");
bRet = AnalyseSpectrum(fileAnlyse,nucline); bRet = AnalyseSpectrum(fileAnlyse,nucline);
RunQC(fileAnlyse); if (bRet) {
fileAnlyse.setEfficiencyParam(fileAnlyse.getUsedEffiPara().getP()); RunQC(fileAnlyse);
fileAnlyse.setEfficiencyEnergy(fileAnlyse.getUsedEffiKD().getG_energy()); fileAnlyse.setEfficiencyParam(fileAnlyse.getUsedEffiPara().getP());
fileAnlyse.setEfficiencyCurRow(0); fileAnlyse.setEfficiencyEnergy(fileAnlyse.getUsedEffiKD().getG_energy());
//缓存中获取计算mdc使用的核素信息 fileAnlyse.setEfficiencyCurRow(0);
Map<String, NuclideLines> nuclideLinesMDCMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap"); //缓存中获取计算mdc使用的核素信息
getNuclideMDCValue(fileAnlyse, fileAnlyse.getMdcInfoMap(), nuclideLinesMDCMap); Map<String, NuclideLines> nuclideLinesMDCMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap");
anylseEnd = DateUtils.formatDate(new Date(), "yyyy/MM/dd HH:mm:ss"); getNuclideMDCValue(fileAnlyse, fileAnlyse.getMdcInfoMap(), nuclideLinesMDCMap);
middleData.analyses_analysisBegin = anylseBegin; anylseEnd = DateUtils.formatDate(new Date(), "yyyy/MM/dd HH:mm:ss");
middleData.analyses_analysisEnd = anylseEnd; middleData.analyses_analysisBegin = anylseBegin;
middleData.analyses_analysisEnd = anylseEnd;
} else {
return bRet;
}
} else if (type.equals(MiddleDataType.InterAction.getType()) && flag.equalsIgnoreCase("save")){ //如果是人工交互分析 则先上传phd对应文件信息 } else if (type.equals(MiddleDataType.InterAction.getType()) && flag.equalsIgnoreCase("save")){ //如果是人工交互分析 则先上传phd对应文件信息
//上传本次文件到ftp人工交互存储路径下 //上传本次文件到ftp人工交互存储路径下
File sampleTmp = null; File sampleTmp = null;

View File

@ -1252,29 +1252,33 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
//分析时将phd的核素map重置 //分析时将phd的核素map重置
phd.setPhdNuclideMap(nuclideLinesMap); phd.setPhdNuclideMap(nuclideLinesMap);
//调用分析算法 //调用分析算法
gammaFileUtil.AnalyseSpectrum(phd, nuclideLinesMap); boolean analyseSpectrum = gammaFileUtil.AnalyseSpectrum(phd, nuclideLinesMap);
// 重新分析各峰值对应的核素信息 if (analyseSpectrum) {
// gammaFileUtil.NuclidesIdent(phd, nuclideLinesMap); // 重新分析各峰值对应的核素信息
phd.setEfficiencyParam(phd.getUsedEffiPara().getP()); // gammaFileUtil.NuclidesIdent(phd, nuclideLinesMap);
phd.setEfficiencyEnergy(phd.getUsedEffiKD().getG_energy()); phd.setEfficiencyParam(phd.getUsedEffiPara().getP());
phd.setEfficiencyCurRow(0); phd.setEfficiencyEnergy(phd.getUsedEffiKD().getG_energy());
// 重新计算峰值 phd.setEfficiencyCurRow(0);
Map<String, NuclideLines> nuclideLinesMDCMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap"); // 重新计算峰值
gammaFileUtil.getNuclideMDCValue(phd, phd.getMdcInfoMap(), nuclideLinesMDCMap); Map<String, NuclideLines> nuclideLinesMDCMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap");
Map<String, Object> map = new HashMap<>(); gammaFileUtil.getNuclideMDCValue(phd, phd.getMdcInfoMap(), nuclideLinesMDCMap);
gammaFileUtil.UpdateChart(phd, map, colorMap); Map<String, Object> map = new HashMap<>();
// 更新 QC Flags 状态 gammaFileUtil.UpdateChart(phd, map, colorMap);
phd.getQcItems().clear(); // 更新 QC Flags 状态
List<String> qcstate = gammaFileUtil.Qcstate(phd); phd.getQcItems().clear();
map.put("QCFlag", qcstate); List<String> qcstate = gammaFileUtil.Qcstate(phd);
map.put("bAnalyed", phd.isBAnalyed()); map.put("QCFlag", qcstate);
map.put("peak", phd.getVPeak()); map.put("bAnalyed", phd.isBAnalyed());
map.put("BaseCtrls", phd.getBaseCtrls()); map.put("peak", phd.getVPeak());
// Bar Chart 柱状图 map.put("BaseCtrls", phd.getBaseCtrls());
List<SeriseData> differance = gammaFileUtil.Differance(phd, phd.getVPeak()); // Bar Chart 柱状图
map.put("barChart", differance); List<SeriseData> differance = gammaFileUtil.Differance(phd, phd.getVPeak());
result.setSuccess(true); map.put("barChart", differance);
result.setResult(map); result.setSuccess(true);
result.setResult(map);
} else {
result.error500("There is a problem with the current phd file, Analysis failure!");
}
} }
return result; return result;
} }