人工交互分析gamma模块分析时无法读取到txt文件路径问题导致mapNucActMda数据错误问题

人工交互分析gamma模块CollectTime字段精度问题修改
This commit is contained in:
qiaoqinzheng 2023-11-28 17:15:02 +08:00
parent 9f8d730a6f
commit 8bdb7b57b1
2 changed files with 17 additions and 9 deletions

View File

@ -496,11 +496,11 @@ public class GammaFileUtil extends AbstractLogOrReport {
//获取phdFile的 分析开始时间 //获取phdFile的 分析开始时间
Date acq = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time()); Date acq = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time());
//计算得到采集耗时 //计算得到采集耗时
double collect_hour = (end.getTime()/1000 - start.getTime()/1000) / 3600.0; double collect_hour = ((end.getTime() - start.getTime())/1000) / 3600.0;
//获取 实际分析时长 //获取 实际分析时长
double acq_hour = phd.getAcq().getAcquisition_real_time() / 3600.0; double acq_hour = phd.getAcq().getAcquisition_real_time() / 3600.0;
//计算得到衰减耗时 //计算得到衰减耗时
double Decay_hour = (acq.getTime()/1000 - end.getTime()/1000) / 3600.0; double Decay_hour = ((acq.getTime() - end.getTime())/1000) / 3600.0;
//声明一个double数据 //声明一个double数据
List<Double> Be7Value = new LinkedList<>(); List<Double> Be7Value = new LinkedList<>();
//声明一个map用于存储计算数据 //声明一个map用于存储计算数据
@ -640,9 +640,9 @@ public class GammaFileUtil extends AbstractLogOrReport {
//获取能谱获取时间 //获取能谱获取时间
Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time().substring(0,phd.getAcq().getAcquisition_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss"); Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time().substring(0,phd.getAcq().getAcquisition_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss");
//计算采样时间 //计算采样时间
double Ts = (collectStop.getTime()/1000 - collectStart.getTime()/1000); double Ts = ((collectStop.getTime() - collectStart.getTime())/1000);
//计算衰变时间 //计算衰变时间
double Td = (acqStart.getTime()/1000 - collectStop.getTime()/1000); double Td = ((acqStart.getTime() - collectStop.getTime())/1000);
//获取能谱获取实时间 //获取能谱获取实时间
double Ta = phd.getAcq().getAcquisition_real_time(); double Ta = phd.getAcq().getAcquisition_real_time();
//获取能谱获取活时间 //获取能谱获取活时间
@ -670,7 +670,7 @@ public class GammaFileUtil extends AbstractLogOrReport {
DCF3 = lambda * Ta / (1-Math.exp(-lambda*Ta)); DCF3 = lambda * Ta / (1-Math.exp(-lambda*Ta));
} }
//计算得到DCF_conc //计算得到DCF_conc
double DCF_conc = Math.exp(lambda * (collectStart.getTime()/1000 - phd.getUsedSetting().getRefTime_conc().getTime()/1000)); double DCF_conc = Math.exp(lambda * ((collectStart.getTime() - phd.getUsedSetting().getRefTime_conc().getTime())/1000));
//声明一个集合 //声明一个集合
List<Double> energy = new LinkedList<>(); List<Double> energy = new LinkedList<>();
energy.add(vMdcInfo.get(0)); energy.add(vMdcInfo.get(0));

View File

@ -1089,7 +1089,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
Map<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideLinesMap = (Map<String, NuclideLines>) redisUtil.get(userName+"-"+phd.getHeader().getSystem_type());
gammaFileUtil.AnalyseSpectrum(phd, nuclideLinesMap); gammaFileUtil.AnalyseSpectrum(phd, nuclideLinesMap);
// 重新分析各峰值对应的核素信息 // 重新分析各峰值对应的核素信息
gammaFileUtil.NuclidesIdent(phd, nuclideLinesMap); // gammaFileUtil.NuclidesIdent(phd, nuclideLinesMap);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
gammaFileUtil.UpdateChart(phd, map, colorMap); gammaFileUtil.UpdateChart(phd, map, colorMap);
// 更新 QC Flags 状态 // 更新 QC Flags 状态
@ -2304,7 +2304,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
// date of Zero Time // date of Zero Time
Date datetime = DateUtils.parseDate(date + StringPool.SPACE + time, "yyyy-MM-dd HH:mm:ss"); Date datetime = DateUtils.parseDate(date + StringPool.SPACE + time, "yyyy-MM-dd HH:mm:ss");
Date oriDate = DateUtils.parseDate("1970-01-01 00:00:00", "yyyy-MM-dd HH:mm:ss"); Date oriDate = DateUtils.parseDate("1970-01-01 00:00:00", "yyyy-MM-dd HH:mm:ss");
double second = (datetime.getTime() / 1000 - oriDate.getTime() / 1000) - t - 8 * 60 * 60; double second = ((datetime.getTime() - oriDate.getTime()) / 1000) - t - 8 * 60 * 60;
Date resultDateTime = DateUtils.getDate((long) second * 1000); Date resultDateTime = DateUtils.getDate((long) second * 1000);
@ -3571,6 +3571,14 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
max = editEnergyDou + err; max = editEnergyDou + err;
} }
List<GardsNuclLinesLib> nuclideLines = spectrumAnalysisMapper.getNuclideLine(min, max, name); List<GardsNuclLinesLib> nuclideLines = spectrumAnalysisMapper.getNuclideLine(min, max, name);
nuclideLines.stream().forEach(item -> {
if (Objects.nonNull(item.getYield())) {
item.setYield(Double.valueOf(String.format("%.3f", item.getYield())));
}
if (Objects.nonNull(item.getYieldUncert())) {
item.setYieldUncert(Double.valueOf(String.format("%.3f", item.getYieldUncert())));
}
});
return nuclideLines; return nuclideLines;
} }
@ -3996,10 +4004,10 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
String acq_start = phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time(); String acq_start = phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time();
Date collect_stop_dt = DateUtils.parseDate(collect_stop); Date collect_stop_dt = DateUtils.parseDate(collect_stop);
Date collect_start_dt = DateUtils.parseDate(collect_start); Date collect_start_dt = DateUtils.parseDate(collect_start);
double Sampling_Time = (collect_stop_dt.getTime() / 1000 - collect_start_dt.getTime() / 1000) / 3600.0; double Sampling_Time = ((collect_stop_dt.getTime() - collect_start_dt.getTime()) / 1000) / 3600.0;
Date acq_start_dt = DateUtils.parseDate(acq_start); Date acq_start_dt = DateUtils.parseDate(acq_start);
double Decay_Time = (acq_start_dt.getTime() / 1000 - collect_stop_dt.getTime() / 1000) / 3600.0; double Decay_Time = ((acq_start_dt.getTime() - collect_stop_dt.getTime()) / 1000) / 3600.0;
long secs = (long) (acq_start_dt.getTime() + (phd.getAcq().getAcquisition_live_time() * 1000)); long secs = (long) (acq_start_dt.getTime() + (phd.getAcq().getAcquisition_live_time() * 1000));
String acq_stop = DateUtils.formatDate(new Date(secs), "yyyy/MM/dd HH:mm:ss.S"); String acq_stop = DateUtils.formatDate(new Date(secs), "yyyy/MM/dd HH:mm:ss.S");