beta功能分析增加拦截,如果分析结果中的错误日志不为空,则不返回分析内容

This commit is contained in:
qiaoqinzheng 2023-11-02 19:42:03 +08:00
parent 25ddaf9b28
commit 4984689190
2 changed files with 334 additions and 273 deletions

View File

@ -613,84 +613,88 @@ public class PHDFileUtil extends AbstractLogOrReport {
} else { } else {
analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), BgCalPara); analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), BgCalPara);
} }
EnergySpectrumStruct sample = analyzeFileSourceData(sampleTmp); if (StringUtils.isNotBlank(analyseResult.error_log)) {
EnergySpectrumStruct gas = analyzeFileSourceData(gasTmp); return;
EnergySpectrumStruct det = analyzeFileSourceData(detTmp); } else {
String sampleFileName = (String) map.get("sampleFileName"); EnergySpectrumStruct sample = analyzeFileSourceData(sampleTmp);
String logName = sampleFileName.replace("PHD", "log"); EnergySpectrumStruct gas = analyzeFileSourceData(gasTmp);
OutPutRnLog(analyseResult, sample, gas, det, logName); EnergySpectrumStruct det = analyzeFileSourceData(detTmp);
//需要返回到前端的XeData数据 String sampleFileName = (String) map.get("sampleFileName");
List<GardsXeResultsSpectrum> xeResultsSpectrumList = new LinkedList<>(); String logName = sampleFileName.replace("PHD", "log");
//存入计算后得到的xeData数据 OutPutRnLog(analyseResult, sample, gas, det, logName);
GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); //需要返回到前端的XeData数据
xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); List<GardsXeResultsSpectrum> xeResultsSpectrumList = new LinkedList<>();
xe131m.setConc(analyseResult.Xe131m_con); //存入计算后得到的xeData数据
xe131m.setConcErr(analyseResult.Xe131m_uncer); GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum();
xe131m.setLc(analyseResult.LC_Xe131m); xe131m.setNuclideName(XeNuclideName.XE_131m.getType());
xe131m.setMdc(analyseResult.MDC_Xe131m); xe131m.setConc(analyseResult.Xe131m_con);
xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); xe131m.setConcErr(analyseResult.Xe131m_uncer);
xeResultsSpectrumList.add(xe131m); xe131m.setLc(analyseResult.LC_Xe131m);
GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); xe131m.setMdc(analyseResult.MDC_Xe131m);
xe133.setNuclideName(XeNuclideName.XE_133.getType()); xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG);
xe133.setConc(analyseResult.Xe133_con); xeResultsSpectrumList.add(xe131m);
xe133.setConcErr(analyseResult.Xe133_uncer); GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum();
xe133.setLc(analyseResult.LC_Xe133); xe133.setNuclideName(XeNuclideName.XE_133.getType());
xe133.setMdc(analyseResult.MDC_Xe133); xe133.setConc(analyseResult.Xe133_con);
xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); xe133.setConcErr(analyseResult.Xe133_uncer);
xeResultsSpectrumList.add(xe133); xe133.setLc(analyseResult.LC_Xe133);
GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); xe133.setMdc(analyseResult.MDC_Xe133);
xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); xe133.setNidFlag(analyseResult.XE_133_NID_FLAG);
xe133m.setConc(analyseResult.Xe133m_con); xeResultsSpectrumList.add(xe133);
xe133m.setConcErr(analyseResult.Xe133m_uncer); GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum();
xe133m.setLc(analyseResult.LC_Xe133m); xe133m.setNuclideName(XeNuclideName.XE_133m.getType());
xe133m.setMdc(analyseResult.MDC_Xe133m); xe133m.setConc(analyseResult.Xe133m_con);
xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); xe133m.setConcErr(analyseResult.Xe133m_uncer);
xeResultsSpectrumList.add(xe133m); xe133m.setLc(analyseResult.LC_Xe133m);
GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); xe133m.setMdc(analyseResult.MDC_Xe133m);
xe135.setNuclideName(XeNuclideName.XE_135.getType()); xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG);
xe135.setConc(analyseResult.Xe135_con); xeResultsSpectrumList.add(xe133m);
xe135.setConcErr(analyseResult.Xe135_uncer); GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum();
xe135.setLc(analyseResult.LC_Xe135); xe135.setNuclideName(XeNuclideName.XE_135.getType());
xe135.setMdc(analyseResult.MDC_Xe135); xe135.setConc(analyseResult.Xe135_con);
xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); xe135.setConcErr(analyseResult.Xe135_uncer);
xeResultsSpectrumList.add(xe135); xe135.setLc(analyseResult.LC_Xe135);
map.put("XeData", xeResultsSpectrumList); xe135.setMdc(analyseResult.MDC_Xe135);
//新计算得到的边界值 xe135.setNidFlag(analyseResult.XE_135_NID_FLAG);
if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { xeResultsSpectrumList.add(xe135);
List<Boundary> boundaryList = new LinkedList<>(); map.put("XeData", xeResultsSpectrumList);
for (int i=0; i<analyseResult.S_ROI_B_Boundary_start.size(); i++) { //新计算得到的边界值
Boundary boundary = new Boundary(); if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) {
boundary.setMinX(analyseResult.S_ROI_B_Boundary_start.get(i)); List<Boundary> boundaryList = new LinkedList<>();
boundary.setMaxX(analyseResult.S_ROI_B_Boundary_stop.get(i)); for (int i=0; i<analyseResult.S_ROI_B_Boundary_start.size(); i++) {
boundary.setMinY(analyseResult.S_ROI_G_Boundary_start.get(i)); Boundary boundary = new Boundary();
boundary.setMaxY(analyseResult.S_ROI_G_Boundary_stop.get(i)); boundary.setMinX(analyseResult.S_ROI_B_Boundary_start.get(i));
boundaryList.add(boundary); boundary.setMaxX(analyseResult.S_ROI_B_Boundary_stop.get(i));
boundary.setMinY(analyseResult.S_ROI_G_Boundary_start.get(i));
boundary.setMaxY(analyseResult.S_ROI_G_Boundary_stop.get(i));
boundaryList.add(boundary);
}
map.put("SampleBoundary", boundaryList);
} }
map.put("SampleBoundary", boundaryList); if (CollectionUtils.isNotEmpty(analyseResult.G_ROI_B_Boundary_start)) {
} List<Boundary> boundaryList = new LinkedList<>();
if (CollectionUtils.isNotEmpty(analyseResult.G_ROI_B_Boundary_start)) { for (int i=0; i<analyseResult.G_ROI_B_Boundary_start.size(); i++) {
List<Boundary> boundaryList = new LinkedList<>(); Boundary boundary = new Boundary();
for (int i=0; i<analyseResult.G_ROI_B_Boundary_start.size(); i++) { boundary.setMinX(analyseResult.G_ROI_B_Boundary_start.get(i));
Boundary boundary = new Boundary(); boundary.setMaxX(analyseResult.G_ROI_B_Boundary_stop.get(i));
boundary.setMinX(analyseResult.G_ROI_B_Boundary_start.get(i)); boundary.setMinY(analyseResult.G_ROI_G_Boundary_start.get(i));
boundary.setMaxX(analyseResult.G_ROI_B_Boundary_stop.get(i)); boundary.setMaxY(analyseResult.G_ROI_G_Boundary_stop.get(i));
boundary.setMinY(analyseResult.G_ROI_G_Boundary_start.get(i)); boundaryList.add(boundary);
boundary.setMaxY(analyseResult.G_ROI_G_Boundary_stop.get(i)); }
boundaryList.add(boundary); map.put("GasBoundary", boundaryList);
} }
map.put("GasBoundary", boundaryList); if (CollectionUtils.isNotEmpty(analyseResult.D_ROI_B_Boundary_start)) {
} List<Boundary> boundaryList = new LinkedList<>();
if (CollectionUtils.isNotEmpty(analyseResult.D_ROI_B_Boundary_start)) { for (int i=0; i<analyseResult.D_ROI_B_Boundary_start.size(); i++) {
List<Boundary> boundaryList = new LinkedList<>(); Boundary boundary = new Boundary();
for (int i=0; i<analyseResult.D_ROI_B_Boundary_start.size(); i++) { boundary.setMinX(analyseResult.D_ROI_B_Boundary_start.get(i));
Boundary boundary = new Boundary(); boundary.setMaxX(analyseResult.D_ROI_B_Boundary_stop.get(i));
boundary.setMinX(analyseResult.D_ROI_B_Boundary_start.get(i)); boundary.setMinY(analyseResult.D_ROI_G_Boundary_start.get(i));
boundary.setMaxX(analyseResult.D_ROI_B_Boundary_stop.get(i)); boundary.setMaxY(analyseResult.D_ROI_G_Boundary_stop.get(i));
boundary.setMinY(analyseResult.D_ROI_G_Boundary_start.get(i)); boundaryList.add(boundary);
boundary.setMaxY(analyseResult.D_ROI_G_Boundary_stop.get(i)); }
boundaryList.add(boundary); map.put("DetBoundary", boundaryList);
} }
map.put("DetBoundary", boundaryList);
} }
} }
@ -1239,16 +1243,24 @@ public class PHDFileUtil extends AbstractLogOrReport {
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第三十六行数据 //第三十六行数据
if (bgAnalyseResult.s_b_fitting_c_e.size() > 0) { if (bgAnalyseResult.s_b_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_b_fitting_c_e)) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(2))))); if (bgAnalyseResult.s_b_fitting_c_e.size() > 0) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(2)))));
} else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第三十七行数据 //第三十七行数据
if (bgAnalyseResult.s_b_fitting_e_c.size() > 0) { if (bgAnalyseResult.s_b_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_b_fitting_e_c)) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(2))))); if (bgAnalyseResult.s_b_fitting_e_c.size() > 0) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(2)))));
} else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
@ -1261,16 +1273,24 @@ public class PHDFileUtil extends AbstractLogOrReport {
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第三十六行数据 //第三十六行数据
if (bgAnalyseResult.s_g_fitting_c_e.size() > 0) { if (bgAnalyseResult.s_g_fitting_c_e !=null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_g_fitting_c_e)) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(2))))); if (bgAnalyseResult.s_g_fitting_c_e.size() > 0) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(2)))));
} else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第三十七行数据 //第三十七行数据
if (bgAnalyseResult.s_g_fitting_e_c.size() > 0) { if (bgAnalyseResult.s_g_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_g_fitting_e_c)) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(2))))); if (bgAnalyseResult.s_g_fitting_e_c.size() > 0) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(2)))));
} else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
@ -1323,20 +1343,28 @@ public class PHDFileUtil extends AbstractLogOrReport {
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第四十四行数据 //第四十四行数据
if (bgAnalyseResult.d_b_fitting_c_e.size() > 0) { if (bgAnalyseResult.d_b_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_b_fitting_c_e)) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(2))))); if (bgAnalyseResult.d_b_fitting_c_e.size() > 0) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(2)))));
} else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第四十五行数据 //第四十五行数据
if (bgAnalyseResult.d_b_fitting_e_c.size() > 0) { if (bgAnalyseResult.d_b_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_b_fitting_e_c)) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(2))))); if (bgAnalyseResult.d_b_fitting_e_c.size() > 0) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(2)))));
} else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//换行 //换行
@ -1346,16 +1374,24 @@ public class PHDFileUtil extends AbstractLogOrReport {
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第四十四行数据 //第四十四行数据
if (bgAnalyseResult.d_g_fitting_c_e.size() > 0) { if (bgAnalyseResult.d_g_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_g_fitting_c_e)) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(2))))); if (bgAnalyseResult.d_g_fitting_c_e.size() > 0) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(2)))));
} else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第四十五行数据 //第四十五行数据
if (bgAnalyseResult.d_g_fitting_e_c.size() > 0) { if (bgAnalyseResult.d_g_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_g_fitting_e_c)) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(2))))); if (bgAnalyseResult.d_g_fitting_e_c.size() > 0) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(2)))));
} else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
@ -1403,16 +1439,24 @@ public class PHDFileUtil extends AbstractLogOrReport {
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第五十一行数据 //第五十一行数据
if (bgAnalyseResult.g_b_fitting_c_e.size() > 0) { if (bgAnalyseResult.g_b_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_b_fitting_c_e)) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(2))))); if (bgAnalyseResult.g_b_fitting_c_e.size() > 0) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(2)))));
} else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第五十二行数据 //第五十二行数据
if (bgAnalyseResult.g_b_fitting_e_c.size() > 0) { if (bgAnalyseResult.g_b_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_b_fitting_e_c)) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(2))))); if (bgAnalyseResult.g_b_fitting_e_c.size() > 0) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(2)))));
} else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
@ -1425,16 +1469,24 @@ public class PHDFileUtil extends AbstractLogOrReport {
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第五十四行数据 //第五十四行数据
if (bgAnalyseResult.g_g_fitting_c_e.size() > 0) { if (bgAnalyseResult.g_g_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_g_fitting_c_e)) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(2))))); if (bgAnalyseResult.g_g_fitting_c_e.size() > 0) {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(2)))));
} else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }
//换行 //换行
out.append(System.lineSeparator()); out.append(System.lineSeparator());
//第五十五行数据 //第五十五行数据
if (bgAnalyseResult.g_g_fitting_e_c.size() > 0) { if (bgAnalyseResult.g_g_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_g_fitting_e_c)) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(2))))); if (bgAnalyseResult.g_g_fitting_e_c.size() > 0) {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(2)))));
} else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
}
} else { } else {
out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?"));
} }

View File

@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import kotlin.collections.EmptyList;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTP;
@ -3326,97 +3327,101 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) {
//调用重新分析算法 获取算法结果 //调用重新分析算法 获取算法结果
BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara);
//生成分析操作日志 if (StringUtils.isNotBlank(analyseResult.error_log)) {
EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp); return Collections.EMPTY_LIST;
EnergySpectrumStruct gas = phdFileUtil.analyzeFileSourceData(gasTmp); } else {
EnergySpectrumStruct det = phdFileUtil.analyzeFileSourceData(detTmp); //生成分析操作日志
String logName = sampleFileName.replace("PHD", "log"); EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp);
phdFileUtil.OutPutRnLog(analyseResult, sample, gas, det, logName); EnergySpectrumStruct gas = phdFileUtil.analyzeFileSourceData(gasTmp);
//存入分析用到的数据 EnergySpectrumStruct det = phdFileUtil.analyzeFileSourceData(detTmp);
map.put("reAnalyseParam", spectrum_group.BgCalPara); String logName = sampleFileName.replace("PHD", "log");
//存入计算后得到的xeData数据 phdFileUtil.OutPutRnLog(analyseResult, sample, gas, det, logName);
GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); //存入分析用到的数据
xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); map.put("reAnalyseParam", spectrum_group.BgCalPara);
xe131m.setConc(analyseResult.Xe131m_con); //存入计算后得到的xeData数据
xe131m.setConcErr(analyseResult.Xe131m_uncer); GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum();
xe131m.setLc(analyseResult.LC_Xe131m); xe131m.setNuclideName(XeNuclideName.XE_131m.getType());
xe131m.setMdc(analyseResult.MDC_Xe131m); xe131m.setConc(analyseResult.Xe131m_con);
xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); xe131m.setConcErr(analyseResult.Xe131m_uncer);
xeResultsSpectrumList.add(xe131m); xe131m.setLc(analyseResult.LC_Xe131m);
GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); xe131m.setMdc(analyseResult.MDC_Xe131m);
xe133.setNuclideName(XeNuclideName.XE_133.getType()); xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG);
xe133.setConc(analyseResult.Xe133_con); xeResultsSpectrumList.add(xe131m);
xe133.setConcErr(analyseResult.Xe133_uncer); GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum();
xe133.setLc(analyseResult.LC_Xe133); xe133.setNuclideName(XeNuclideName.XE_133.getType());
xe133.setMdc(analyseResult.MDC_Xe133); xe133.setConc(analyseResult.Xe133_con);
xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); xe133.setConcErr(analyseResult.Xe133_uncer);
xeResultsSpectrumList.add(xe133); xe133.setLc(analyseResult.LC_Xe133);
GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); xe133.setMdc(analyseResult.MDC_Xe133);
xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); xe133.setNidFlag(analyseResult.XE_133_NID_FLAG);
xe133m.setConc(analyseResult.Xe133m_con); xeResultsSpectrumList.add(xe133);
xe133m.setConcErr(analyseResult.Xe133m_uncer); GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum();
xe133m.setLc(analyseResult.LC_Xe133m); xe133m.setNuclideName(XeNuclideName.XE_133m.getType());
xe133m.setMdc(analyseResult.MDC_Xe133m); xe133m.setConc(analyseResult.Xe133m_con);
xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); xe133m.setConcErr(analyseResult.Xe133m_uncer);
xeResultsSpectrumList.add(xe133m); xe133m.setLc(analyseResult.LC_Xe133m);
GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); xe133m.setMdc(analyseResult.MDC_Xe133m);
xe135.setNuclideName(XeNuclideName.XE_135.getType()); xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG);
xe135.setConc(analyseResult.Xe135_con); xeResultsSpectrumList.add(xe133m);
xe135.setConcErr(analyseResult.Xe135_uncer); GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum();
xe135.setLc(analyseResult.LC_Xe135); xe135.setNuclideName(XeNuclideName.XE_135.getType());
xe135.setMdc(analyseResult.MDC_Xe135); xe135.setConc(analyseResult.Xe135_con);
xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); xe135.setConcErr(analyseResult.Xe135_uncer);
xeResultsSpectrumList.add(xe135); xe135.setLc(analyseResult.LC_Xe135);
xeMap.put("XeData", xeResultsSpectrumList); xe135.setMdc(analyseResult.MDC_Xe135);
//新计算得到的边界值 xe135.setNidFlag(analyseResult.XE_135_NID_FLAG);
if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { xeResultsSpectrumList.add(xe135);
List<Boundary> boundaryList = new LinkedList<>(); xeMap.put("XeData", xeResultsSpectrumList);
for (int i=0; i<analyseResult.S_ROI_B_Boundary_start.size(); i++) { //新计算得到的边界值
Boundary boundary = new Boundary(); if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) {
boundary.setMinX(analyseResult.S_ROI_B_Boundary_start.get(i)); List<Boundary> boundaryList = new LinkedList<>();
boundary.setMaxX(analyseResult.S_ROI_B_Boundary_stop.get(i)); for (int i=0; i<analyseResult.S_ROI_B_Boundary_start.size(); i++) {
boundary.setMinY(analyseResult.S_ROI_G_Boundary_start.get(i)); Boundary boundary = new Boundary();
boundary.setMaxY(analyseResult.S_ROI_G_Boundary_stop.get(i)); boundary.setMinX(analyseResult.S_ROI_B_Boundary_start.get(i));
boundaryList.add(boundary); boundary.setMaxX(analyseResult.S_ROI_B_Boundary_stop.get(i));
boundary.setMinY(analyseResult.S_ROI_G_Boundary_start.get(i));
boundary.setMaxY(analyseResult.S_ROI_G_Boundary_stop.get(i));
boundaryList.add(boundary);
}
xeMap.put("SampleBoundary", boundaryList);
} }
xeMap.put("SampleBoundary", boundaryList); if (CollectionUtils.isNotEmpty(analyseResult.G_ROI_B_Boundary_start)) {
} List<Boundary> boundaryList = new LinkedList<>();
if (CollectionUtils.isNotEmpty(analyseResult.G_ROI_B_Boundary_start)) { for (int i=0; i<analyseResult.G_ROI_B_Boundary_start.size(); i++) {
List<Boundary> boundaryList = new LinkedList<>(); Boundary boundary = new Boundary();
for (int i=0; i<analyseResult.G_ROI_B_Boundary_start.size(); i++) { boundary.setMinX(analyseResult.G_ROI_B_Boundary_start.get(i));
Boundary boundary = new Boundary(); boundary.setMaxX(analyseResult.G_ROI_B_Boundary_stop.get(i));
boundary.setMinX(analyseResult.G_ROI_B_Boundary_start.get(i)); boundary.setMinY(analyseResult.G_ROI_G_Boundary_start.get(i));
boundary.setMaxX(analyseResult.G_ROI_B_Boundary_stop.get(i)); boundary.setMaxY(analyseResult.G_ROI_G_Boundary_stop.get(i));
boundary.setMinY(analyseResult.G_ROI_G_Boundary_start.get(i)); boundaryList.add(boundary);
boundary.setMaxY(analyseResult.G_ROI_G_Boundary_stop.get(i)); }
boundaryList.add(boundary); xeMap.put("GasBoundary", boundaryList);
} }
xeMap.put("GasBoundary", boundaryList); if (CollectionUtils.isNotEmpty(analyseResult.D_ROI_B_Boundary_start)) {
} List<Boundary> boundaryList = new LinkedList<>();
if (CollectionUtils.isNotEmpty(analyseResult.D_ROI_B_Boundary_start)) { for (int i=0; i<analyseResult.D_ROI_B_Boundary_start.size(); i++) {
List<Boundary> boundaryList = new LinkedList<>(); Boundary boundary = new Boundary();
for (int i=0; i<analyseResult.D_ROI_B_Boundary_start.size(); i++) { boundary.setMinX(analyseResult.D_ROI_B_Boundary_start.get(i));
Boundary boundary = new Boundary(); boundary.setMaxX(analyseResult.D_ROI_B_Boundary_stop.get(i));
boundary.setMinX(analyseResult.D_ROI_B_Boundary_start.get(i)); boundary.setMinY(analyseResult.D_ROI_G_Boundary_start.get(i));
boundary.setMaxX(analyseResult.D_ROI_B_Boundary_stop.get(i)); boundary.setMaxY(analyseResult.D_ROI_G_Boundary_stop.get(i));
boundary.setMinY(analyseResult.D_ROI_G_Boundary_start.get(i)); boundaryList.add(boundary);
boundary.setMaxY(analyseResult.D_ROI_G_Boundary_stop.get(i)); }
boundaryList.add(boundary); xeMap.put("DetBoundary", boundaryList);
} }
xeMap.put("DetBoundary", boundaryList); if (analyseData.isQcData()) {
} if (StringUtils.isNotBlank(qcFilePath)) {
if (analyseData.isQcData()) { EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcFilePath, qcFileName);
if (StringUtils.isNotBlank(qcFilePath)) { if (Objects.nonNull(struct)) {
EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcFilePath, qcFileName); phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, xeMap);
if (Objects.nonNull(struct)) { }
phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, xeMap);
} }
} }
//将重新计算的参数以及重新计算后的xeData的数据缓存到本地缓存中
cache.put(sampleFileName + "-" + userName + "-reAnalyseParam", map);
cache.put(sampleFileName + "-" + userName + "-xeData", xeMap);
betaCache.setBetaCache(cache);
} }
//将重新计算的参数以及重新计算后的xeData的数据缓存到本地缓存中
cache.put(sampleFileName + "-" + userName + "-reAnalyseParam", map);
cache.put(sampleFileName + "-" + userName + "-xeData", xeMap);
betaCache.setBetaCache(cache);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -3543,99 +3548,103 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
detTmp = phdFileUtil.analyzeFile(detFilePath, detFileName); detTmp = phdFileUtil.analyzeFile(detFilePath, detFileName);
if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) {
BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara);
//生成分析操作日志 if (StringUtils.isNotBlank(analyseResult.error_log)) {
EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp); continue;
EnergySpectrumStruct gas = phdFileUtil.analyzeFileSourceData(gasTmp); } else {
EnergySpectrumStruct det = phdFileUtil.analyzeFileSourceData(detTmp); //生成分析操作日志
String logName = sampleFileName.replace("PHD", "log"); EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp);
phdFileUtil.OutPutRnLog(analyseResult, sample, gas, det, logName); EnergySpectrumStruct gas = phdFileUtil.analyzeFileSourceData(gasTmp);
//存入重新分析的参数 EnergySpectrumStruct det = phdFileUtil.analyzeFileSourceData(detTmp);
map.put("reAnalyseParam", spectrum_group.BgCalPara); String logName = sampleFileName.replace("PHD", "log");
//存入xeData数据 phdFileUtil.OutPutRnLog(analyseResult, sample, gas, det, logName);
List<GardsXeResultsSpectrum> xeResultsSpectrumList = new LinkedList<>(); //存入重新分析的参数
GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); map.put("reAnalyseParam", spectrum_group.BgCalPara);
xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); //存入xeData数据
xe131m.setConc(analyseResult.Xe131m_con); List<GardsXeResultsSpectrum> xeResultsSpectrumList = new LinkedList<>();
xe131m.setConcErr(analyseResult.Xe131m_uncer); GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum();
xe131m.setLc(analyseResult.LC_Xe131m); xe131m.setNuclideName(XeNuclideName.XE_131m.getType());
xe131m.setMdc(analyseResult.MDC_Xe131m); xe131m.setConc(analyseResult.Xe131m_con);
xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); xe131m.setConcErr(analyseResult.Xe131m_uncer);
xeResultsSpectrumList.add(xe131m); xe131m.setLc(analyseResult.LC_Xe131m);
GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); xe131m.setMdc(analyseResult.MDC_Xe131m);
xe133.setNuclideName(XeNuclideName.XE_133.getType()); xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG);
xe133.setConc(analyseResult.Xe133_con); xeResultsSpectrumList.add(xe131m);
xe133.setConcErr(analyseResult.Xe133_uncer); GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum();
xe133.setLc(analyseResult.LC_Xe133); xe133.setNuclideName(XeNuclideName.XE_133.getType());
xe133.setMdc(analyseResult.MDC_Xe133); xe133.setConc(analyseResult.Xe133_con);
xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); xe133.setConcErr(analyseResult.Xe133_uncer);
xeResultsSpectrumList.add(xe133); xe133.setLc(analyseResult.LC_Xe133);
GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); xe133.setMdc(analyseResult.MDC_Xe133);
xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); xe133.setNidFlag(analyseResult.XE_133_NID_FLAG);
xe133m.setConc(analyseResult.Xe133m_con); xeResultsSpectrumList.add(xe133);
xe133m.setConcErr(analyseResult.Xe133m_uncer); GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum();
xe133m.setLc(analyseResult.LC_Xe133m); xe133m.setNuclideName(XeNuclideName.XE_133m.getType());
xe133m.setMdc(analyseResult.MDC_Xe133m); xe133m.setConc(analyseResult.Xe133m_con);
xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); xe133m.setConcErr(analyseResult.Xe133m_uncer);
xeResultsSpectrumList.add(xe133m); xe133m.setLc(analyseResult.LC_Xe133m);
GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); xe133m.setMdc(analyseResult.MDC_Xe133m);
xe135.setNuclideName(XeNuclideName.XE_135.getType()); xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG);
xe135.setConc(analyseResult.Xe135_con); xeResultsSpectrumList.add(xe133m);
xe135.setConcErr(analyseResult.Xe135_uncer); GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum();
xe135.setLc(analyseResult.LC_Xe135); xe135.setNuclideName(XeNuclideName.XE_135.getType());
xe135.setMdc(analyseResult.MDC_Xe135); xe135.setConc(analyseResult.Xe135_con);
xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); xe135.setConcErr(analyseResult.Xe135_uncer);
xeResultsSpectrumList.add(xe135); xe135.setLc(analyseResult.LC_Xe135);
xeMap.put("XeData", xeResultsSpectrumList); xe135.setMdc(analyseResult.MDC_Xe135);
//新计算得到的边界值 xe135.setNidFlag(analyseResult.XE_135_NID_FLAG);
if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { xeResultsSpectrumList.add(xe135);
List<Boundary> boundaryList = new LinkedList<>(); xeMap.put("XeData", xeResultsSpectrumList);
for (int i=0; i<analyseResult.S_ROI_B_Boundary_start.size(); i++) { //新计算得到的边界值
Boundary boundary = new Boundary(); if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) {
boundary.setMinX(analyseResult.S_ROI_B_Boundary_start.get(i)); List<Boundary> boundaryList = new LinkedList<>();
boundary.setMaxX(analyseResult.S_ROI_B_Boundary_stop.get(i)); for (int i=0; i<analyseResult.S_ROI_B_Boundary_start.size(); i++) {
boundary.setMinY(analyseResult.S_ROI_G_Boundary_start.get(i)); Boundary boundary = new Boundary();
boundary.setMaxY(analyseResult.S_ROI_G_Boundary_stop.get(i)); boundary.setMinX(analyseResult.S_ROI_B_Boundary_start.get(i));
boundaryList.add(boundary); boundary.setMaxX(analyseResult.S_ROI_B_Boundary_stop.get(i));
boundary.setMinY(analyseResult.S_ROI_G_Boundary_start.get(i));
boundary.setMaxY(analyseResult.S_ROI_G_Boundary_stop.get(i));
boundaryList.add(boundary);
}
xeMap.put("SampleBoundary", boundaryList);
} }
xeMap.put("SampleBoundary", boundaryList); if (CollectionUtils.isNotEmpty(analyseResult.G_ROI_B_Boundary_start)) {
} List<Boundary> boundaryList = new LinkedList<>();
if (CollectionUtils.isNotEmpty(analyseResult.G_ROI_B_Boundary_start)) { for (int i=0; i<analyseResult.G_ROI_B_Boundary_start.size(); i++) {
List<Boundary> boundaryList = new LinkedList<>(); Boundary boundary = new Boundary();
for (int i=0; i<analyseResult.G_ROI_B_Boundary_start.size(); i++) { boundary.setMinX(analyseResult.G_ROI_B_Boundary_start.get(i));
Boundary boundary = new Boundary(); boundary.setMaxX(analyseResult.G_ROI_B_Boundary_stop.get(i));
boundary.setMinX(analyseResult.G_ROI_B_Boundary_start.get(i)); boundary.setMinY(analyseResult.G_ROI_G_Boundary_start.get(i));
boundary.setMaxX(analyseResult.G_ROI_B_Boundary_stop.get(i)); boundary.setMaxY(analyseResult.G_ROI_G_Boundary_stop.get(i));
boundary.setMinY(analyseResult.G_ROI_G_Boundary_start.get(i)); boundaryList.add(boundary);
boundary.setMaxY(analyseResult.G_ROI_G_Boundary_stop.get(i)); }
boundaryList.add(boundary); xeMap.put("GasBoundary", boundaryList);
} }
xeMap.put("GasBoundary", boundaryList); if (CollectionUtils.isNotEmpty(analyseResult.D_ROI_B_Boundary_start)) {
} List<Boundary> boundaryList = new LinkedList<>();
if (CollectionUtils.isNotEmpty(analyseResult.D_ROI_B_Boundary_start)) { for (int i=0; i<analyseResult.D_ROI_B_Boundary_start.size(); i++) {
List<Boundary> boundaryList = new LinkedList<>(); Boundary boundary = new Boundary();
for (int i=0; i<analyseResult.D_ROI_B_Boundary_start.size(); i++) { boundary.setMinX(analyseResult.D_ROI_B_Boundary_start.get(i));
Boundary boundary = new Boundary(); boundary.setMaxX(analyseResult.D_ROI_B_Boundary_stop.get(i));
boundary.setMinX(analyseResult.D_ROI_B_Boundary_start.get(i)); boundary.setMinY(analyseResult.D_ROI_G_Boundary_start.get(i));
boundary.setMaxX(analyseResult.D_ROI_B_Boundary_stop.get(i)); boundary.setMaxY(analyseResult.D_ROI_G_Boundary_stop.get(i));
boundary.setMinY(analyseResult.D_ROI_G_Boundary_start.get(i)); boundaryList.add(boundary);
boundary.setMaxY(analyseResult.D_ROI_G_Boundary_stop.get(i)); }
boundaryList.add(boundary); xeMap.put("DetBoundary", boundaryList);
} }
xeMap.put("DetBoundary", boundaryList); if (analyseData.isQcData()) {
} if (StringUtils.isNotBlank(qcFilePath)) {
if (analyseData.isQcData()) { EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcFilePath, qcFileName);
if (StringUtils.isNotBlank(qcFilePath)) { if (Objects.nonNull(struct)) {
EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcFilePath, qcFileName); phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, xeMap);
if (Objects.nonNull(struct)) { }
phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, xeMap);
} }
} }
//将重新计算的参数以及重新计算后的xeData的数据缓存到本地缓存中
cache.put(sampleFileName + "-" + userName + "-reAnalyseParam", map);
cache.put(sampleFileName + "-" + userName + "-xeData", xeMap);
betaCache.setBetaCache(cache);
analyseResultMap.put(sampleFileName, xeResultsSpectrumList);
} }
//将重新计算的参数以及重新计算后的xeData的数据缓存到本地缓存中
cache.put(sampleFileName + "-" + userName + "-reAnalyseParam", map);
cache.put(sampleFileName + "-" + userName + "-xeData", xeMap);
betaCache.setBetaCache(cache);
analyseResultMap.put(sampleFileName, xeResultsSpectrumList);
} }
} }
} catch (Exception e) { } catch (Exception e) {
@ -4140,7 +4149,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
Integer isExist = spectrumAnalysisMapper.SampleIsExist(sampleFilePathName, anlyseResultIn.getUserName()); Integer isExist = spectrumAnalysisMapper.SampleIsExist(sampleFilePathName, anlyseResultIn.getUserName());
//如果当前分析员在当天没有排班任务 并且 没有历史分析过当前文件 则不允许进行保存操作 //如果当前分析员在当天没有排班任务 并且 没有历史分析过当前文件 则不允许进行保存操作
if ( !bAnalysisResultWriteAuthority && Objects.isNull(isExist) ){ if ( !bAnalysisResultWriteAuthority && Objects.isNull(isExist) ){
result.error500("This user has no right to store the results of the analysis to the database."); result.error500("You have no permission to save results to DB!");
return result; return result;
} }
//处理数据 获取对应的channel/energy值 //处理数据 获取对应的channel/energy值