beta增加页面折线图缓存信息内容与原格式不符合问题修改
gamma获取核素缓存修改,gamma操作核素后更新缓存 gamma功能增加峰数据时部分字段空指针导致算法崩溃问题修改
This commit is contained in:
parent
c4ba5341c3
commit
a732b24c27
|
@ -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<PeakInfo> result = new LinkedList<>();
|
||||
for(int i=0; i<vPeak.size(); i++) {
|
||||
PeakInfo peakInfo = new PeakInfo();
|
||||
if (StringUtils.isBlank(vPeak.get(i).recoilDeltaChan)) {
|
||||
vPeak.get(i).recoilDeltaChan = vPeak.get(i-1).recoilDeltaChan;
|
||||
}
|
||||
if (StringUtils.isBlank(vPeak.get(i).recoilBetaChan)) {
|
||||
vPeak.get(i).recoilBetaChan = vPeak.get(i-1).recoilBetaChan;
|
||||
}
|
||||
peakInfo.index = i+1;
|
||||
peakInfo.left = vPeak.get(i).left;
|
||||
peakInfo.right = vPeak.get(i).right;
|
||||
|
|
|
@ -232,7 +232,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
|||
result.error500("Please select the parse file first!");
|
||||
return result;
|
||||
}
|
||||
Map<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());//GetNuclideLines(nuclides);
|
||||
Map<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) 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<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());//GetNuclideLines(nuclides);
|
||||
Map<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) 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<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());//GetNuclideLines(nuclides);
|
||||
Map<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) 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<String, Object> map = new HashMap<>();
|
||||
// 根据boolean 决定是否保留本次数据 如果保留则不需要操作vPeak 并重新拟合线
|
||||
if (accept) {
|
||||
Map<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) 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<PeakInfo> value = JSON.parseArray(JSON.toJSONString(entry.getValue()), PeakInfo.class);
|
||||
phd.setVPeak(value);
|
||||
}
|
||||
if (entry.getKey().equalsIgnoreCase("vBase")) {
|
||||
List<Double> 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<PeakInfo> 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<String> 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<String, NuclideLines> mapNucLines = (Map<String, NuclideLines>) 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))));
|
||||
}
|
||||
|
|
|
@ -2538,7 +2538,11 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
List<Double> energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara);
|
||||
List<SeriseData> newLineSeries = new LinkedList<>();
|
||||
List<List<Double>> energyList = new LinkedList<>();
|
||||
energyList.add(energys);
|
||||
for (Double calEnergy:energys) {
|
||||
List<Double> newEnergy = new LinkedList<>();
|
||||
newEnergy.add(calEnergy);
|
||||
energyList.add(newEnergy);
|
||||
}
|
||||
for (int i=0; i<channels.size(); ++i) {
|
||||
SeriseData seriseData = new SeriseData();
|
||||
seriseData.setX(channels.get(i));
|
||||
|
@ -2622,7 +2626,11 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
List<Double> energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara);
|
||||
List<SeriseData> newLineSeries = new LinkedList<>();
|
||||
List<List<Double>> energyList = new LinkedList<>();
|
||||
energyList.add(energys);
|
||||
for (Double calEnergy:energys) {
|
||||
List<Double> newEnergy = new LinkedList<>();
|
||||
newEnergy.add(calEnergy);
|
||||
energyList.add(newEnergy);
|
||||
}
|
||||
for (int i=0; i<channels.size(); ++i) {
|
||||
SeriseData seriseData = new SeriseData();
|
||||
seriseData.setX(channels.get(i));
|
||||
|
|
Loading…
Reference in New Issue
Block a user