feat:自建台站报告
This commit is contained in:
parent
0aeb76d959
commit
69e668a9a7
|
@ -457,8 +457,8 @@ public class Sample_C_Analysis {
|
||||||
idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(sampleId);
|
idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(sampleId);
|
||||||
// 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES
|
// 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES
|
||||||
saveAnalysisROI(sampleId, idAnalysis, middleDatas);
|
saveAnalysisROI(sampleId, idAnalysis, middleDatas);
|
||||||
// 获取Table IdAnalysis:RoiId:GStoreMiddleProcessData
|
// 获取Table RoiId:GStoreMiddleProcessData
|
||||||
middleDataTable(sampleId, middleDatas);
|
middleDataTable(idAnalysis, middleDatas);
|
||||||
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
||||||
// serviceQuotes.getSampleDataService().updateStatus(null,null);
|
// serviceQuotes.getSampleDataService().updateStatus(null,null);
|
||||||
/* GARDS_CALIBRATION_PAIRS_ROI 数据表保存 */
|
/* GARDS_CALIBRATION_PAIRS_ROI 数据表保存 */
|
||||||
|
@ -811,8 +811,8 @@ public class Sample_C_Analysis {
|
||||||
serviceQuotes.getAnalysisRoiAutoService().saveBatch(analysisRois);
|
serviceQuotes.getAnalysisRoiAutoService().saveBatch(analysisRois);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void middleDataTable(Integer sampleId, GStoreMiddleProcessData... middleDatas){
|
public void middleDataTable(Integer idAnalysis, GStoreMiddleProcessData... middleDatas){
|
||||||
List<GardsAnalysisRoi> analysisRois = serviceQuotes.getAnalysisRoiAutoService().analysisRoi(sampleId);
|
List<GardsAnalysisRoi> analysisRois = serviceQuotes.getAnalysisRoiAutoService().analysisRoi(idAnalysis);
|
||||||
Map<Integer, GStoreMiddleProcessData> middleDataMap = new LinkedHashMap<>();
|
Map<Integer, GStoreMiddleProcessData> middleDataMap = new LinkedHashMap<>();
|
||||||
for (int i = 0; i < analysisRois.size(); i++) {
|
for (int i = 0; i < analysisRois.size(); i++) {
|
||||||
GardsAnalysisRoi analysisRoi = analysisRois.get(i);
|
GardsAnalysisRoi analysisRoi = analysisRois.get(i);
|
||||||
|
|
|
@ -2314,6 +2314,12 @@ public class GammaFileUtil extends AbstractLogOrReport {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> GetReportContent(PHDFile phd, String userName, String flag) {
|
||||||
|
GStoreMiddleProcessData middleData = new GStoreMiddleProcessData();
|
||||||
|
GetInterMiddlData(phd, userName, middleData, flag);
|
||||||
|
return reportContent(middleData);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean GetInterMiddlData(PHDFile phd, String userName, GStoreMiddleProcessData middleData, String flag) {
|
public boolean GetInterMiddlData(PHDFile phd, String userName, GStoreMiddleProcessData middleData, String flag) {
|
||||||
boolean bRet = true;
|
boolean bRet = true;
|
||||||
Map<String, NuclideLines> temp = new HashMap<>();
|
Map<String, NuclideLines> temp = new HashMap<>();
|
||||||
|
@ -3115,6 +3121,293 @@ public class GammaFileUtil extends AbstractLogOrReport {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> reportContent(GStoreMiddleProcessData middleData) {
|
||||||
|
List<String> result = new ArrayList<>();
|
||||||
|
result.add(" CNL06 GENERATED REPORT");
|
||||||
|
result.add(" " + middleData.analyses_type + " RADIONUCLIDE REPORT");
|
||||||
|
if (middleData.sample_Type.equals(SystemType.PARTICULATE.getType())) {
|
||||||
|
result.add(" (Particulates Version) ");
|
||||||
|
} else if (middleData.sample_Type.equals(SystemType.GAMMA.getType())) {
|
||||||
|
result.add(" (Noble Gas Version) ");
|
||||||
|
}
|
||||||
|
result.add(" Creation Date " + DateUtils.formatDate(new Date(), "yyyy/MM/dd-HH:mm:ss"));
|
||||||
|
result.add("#SAMPLE INFORMATION");
|
||||||
|
//报告内容第一部分数据
|
||||||
|
result.add(rowFormat("%sStation ID:%-25s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_stationID));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sDetector ID:%-24s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_detectID));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sSample ID:%-26s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_id));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sSample Geometry:%-20s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_Geometry));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sSample Quantity[m3]:%-16s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_quantity));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sSample Type:%-24s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_Type));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sCollection Start:%-19s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_collection_start));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sCollection Stop:%-20s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_collection_stop));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sSampling Time[h]:%-19s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_time));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sDecay Time[h]:%-22s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_decay_time));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAcquisition Start:%-18s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_acquisiton_start));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAcquisition Stop:%-19s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_acquistion_stop));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAcquisition Time[s]:%-16s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_acquistion_time));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAvg Flow Rate[m3/h]:%-16s%s", StringPool.SPACE, StringPool.SPACE, middleData.sample_Avg_Flow_Rate));
|
||||||
|
|
||||||
|
String[] cells1 = new String[]{" Collection Station Comments"};
|
||||||
|
String[] datas1 = new String[]{middleData.Collection_Station_Comments};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMap1 = GetReportFixedWidth(cells1, datas1, 30);
|
||||||
|
List<String> title1 = reportMap1.get("title");
|
||||||
|
List<String> content1 = reportMap1.get("content");
|
||||||
|
for (int i = 0; i < title1.size(); i++) {
|
||||||
|
String title = title1.get(i);
|
||||||
|
String content = content1.get(i);
|
||||||
|
result.add(String.format("%s:%-8s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
//报告内容第二部分数据
|
||||||
|
String[] cell2 = new String[]{" Analysis General Comments"};
|
||||||
|
String[] datas2 = new String[]{middleData.NDC_Analysis_General_Comments};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMap2 = GetReportFixedWidth(cell2, datas2, 30);
|
||||||
|
List<String> title2 = reportMap2.get("title");
|
||||||
|
List<String> content2 = reportMap2.get("content");
|
||||||
|
for (int i = 0; i < title2.size(); i++) {
|
||||||
|
String title = title2.get(i);
|
||||||
|
String content = content2.get(i);
|
||||||
|
result.add(String.format("%s:%-10s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
//获取核素信息
|
||||||
|
String qsNuclidesName = "";
|
||||||
|
for (int m = 0; m < middleData.nucl_ided_Nuclidename.size() - 1; m++) {
|
||||||
|
qsNuclidesName = qsNuclidesName + middleData.nucl_ided_Nuclidename.get(m) + ";";
|
||||||
|
}
|
||||||
|
if (middleData.nucl_ided_Nuclidename.size() > 1) {
|
||||||
|
qsNuclidesName = qsNuclidesName + middleData.nucl_ided_Nuclidename.get(middleData.nucl_ided_Nuclidename.size() - 1);
|
||||||
|
}
|
||||||
|
result.add("#ACTIVITY SUMMARY");
|
||||||
|
//报告内容第三部分数据
|
||||||
|
String[] cells3 = new String[]{" Nuclides Identified"};
|
||||||
|
String[] datas3 = new String[]{qsNuclidesName};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMap3 = GetReportFixedWidth(cells3, datas3, 30);
|
||||||
|
List<String> title3 = reportMap3.get("title");
|
||||||
|
List<String> content3 = reportMap3.get("content");
|
||||||
|
for (int i = 0; i < title3.size(); i++) {
|
||||||
|
String title = title3.get(i);
|
||||||
|
String content = content3.get(i);
|
||||||
|
result.add(String.format("%s:%-16s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
result.add(String.format("%s:%-4s%s", " Keyline Activities for Nuclides", StringPool.SPACE, ""));
|
||||||
|
|
||||||
|
result.add(String.format("%s:%-8s%s", " with defined Reference Line", StringPool.SPACE, ""));
|
||||||
|
|
||||||
|
result.add(String.format("%s:%-12s%s", " Activity Reference Time", StringPool.SPACE, middleData.sample_acquisiton_start));
|
||||||
|
|
||||||
|
result.add(String.format("%s:%-7s%s", " Concentration Reference Time", StringPool.SPACE, middleData.sample_collection_start));
|
||||||
|
|
||||||
|
String nuclideTitle = "%-15s%-18s%-15s%-15s%-15s%-21s%-15s";
|
||||||
|
String[] nuclideData = new String[]{" Nuclide", "Halflife(s)", "Activity(Bq)", "RelErr%", "MDA(Bq)", "Conc(uBq/m^3)", "MDC"};
|
||||||
|
result.add(rowFormat(nuclideTitle, nuclideData));
|
||||||
|
|
||||||
|
for (int i = 0; i < middleData.nucl_ided_Nuclidename.size(); i++) {
|
||||||
|
result.add(rowFormat(nuclideTitle, StringPool.SPACE + middleData.nucl_ided_Nuclidename.get(i), middleData.nucl_ided_Halflife.get(i), String.format("%.3f", Double.valueOf(middleData.nucl_ided_activ_key.get(i))),
|
||||||
|
String.format("%.3f", Double.valueOf(middleData.nucl_ided_activ_key_err.get(i)) / Double.valueOf(middleData.nucl_ided_activ_key.get(i)) * 100), middleData.nucl_ided_mda.get(i),
|
||||||
|
middleData.nucl_ided_Concentration.get(i), middleData.nucl_ided_MDC.get(i)));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
result.add("#PEAK SEARCH RESULTS");
|
||||||
|
|
||||||
|
result.add(StringPool.SPACE + middleData.peaks_idPeak.size() + " peaks reported:");
|
||||||
|
|
||||||
|
double peaksUsed = 0;
|
||||||
|
for (int m = 0; m < middleData.peaks_Nuclide_name.size(); m++) {
|
||||||
|
if (StringUtils.isNotBlank(middleData.peaks_Nuclide_name.get(m))) {
|
||||||
|
peaksUsed++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result.add(StringPool.SPACE + peaksUsed + " peaks with ID (" + NumberFormatUtil.numberSixLen(String.valueOf(peaksUsed / middleData.peaks_idPeak.size() * 100)) + "%):");
|
||||||
|
|
||||||
|
result.add(StringPool.SPACE + (middleData.peaks_idPeak.size() - peaksUsed) + " peaks without ID(" + NumberFormatUtil.numberSixLen(String.valueOf(Double.valueOf(middleData.peaks_idPeak.size() - peaksUsed) / middleData.peaks_idPeak.size() * 100)) + "%):");
|
||||||
|
|
||||||
|
String peakTitle = "%-10s%-15s%-15s%-14s%-15s%-21s%-15s%-11s%-28s";
|
||||||
|
String[] peakData = new String[]{" PeakID", "Energy[kev]", "Centroid", "FWHM[kev]", "NetArea", "NAErr%", "Signif", "Sensit", "Nuclide"};
|
||||||
|
result.add(rowFormat(peakTitle, peakData));
|
||||||
|
|
||||||
|
for (int i = 0; i < middleData.peaks_idPeak.size(); i++) {
|
||||||
|
result.add(rowFormat(peakTitle, StringPool.SPACE + middleData.peaks_idPeak.get(i), String.format("%.3f", Double.valueOf(middleData.peaks_Energy.get(i))),
|
||||||
|
String.format("%.3f", Double.valueOf(middleData.peaks_peakCentroid.get(i))), String.format("%.3f", Double.valueOf(middleData.peaks_Fwhm.get(i))),
|
||||||
|
String.format("%.3f", Double.valueOf(middleData.peaks_Area.get(i))),
|
||||||
|
String.format("%.3f", (Double.valueOf(middleData.peaks_areaErr.get(i)) / Double.valueOf(middleData.peaks_Area.get(i)) * 100)),
|
||||||
|
String.format("%.3f", Double.valueOf(middleData.peaks_Significance.get(i))), String.format("%.3f", Double.valueOf(middleData.peaks_Sensitivity.get(i))),
|
||||||
|
StringUtils.join(middleData.peaks_Nuclide_name.get(i), StringPool.SEMICOLON)));
|
||||||
|
}
|
||||||
|
result.add("#PROCESSING PARAMETERS");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sECutAnalysis_Low:%-19s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getECutAnalysis_Low())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sECutAnalysis_High:%-18s%s", StringPool.SPACE, StringPool.SPACE, middleData.setting_specSetup.getECutAnalysis_High() == -9999 ? "inf" : String.valueOf(middleData.setting_specSetup.getECutAnalysis_High())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sEnergyTolerance:%-20s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getEnergyTolerance())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sBaseImprovePSS:%-21s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getBaseImprovePSS())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sPSS_low:%-28s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getPss_low())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sk_back:%-29s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getK_back())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sk_alpha:%-28s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getK_alpha())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sk_beta:%-29s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getK_beta())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sRiskLevelK:%-25s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getRiskLevelK())));
|
||||||
|
|
||||||
|
Date refTimeAct = middleData.setting_specSetup.getRefTime_act();
|
||||||
|
result.add(rowFormat("%srefTime_act:%-24s%s", StringPool.SPACE, StringPool.SPACE, DateUtils.formatDate(refTimeAct), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
|
||||||
|
result.add(rowFormat("%srefTime_conc:%-23s%s", StringPool.SPACE, StringPool.SPACE, DateUtils.formatDate(middleData.setting_specSetup.getRefTime_conc(), "yyyy-MM-dd HH:mm:ss")));
|
||||||
|
|
||||||
|
result.add("#CALIBRATION PARAMETERS");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sCalibrationPSS_low:%-17s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getCalibrationPSS_low())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sCalibrationPSS_high:%-16s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getCalibrationPSS_high())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sbUpdateCal:%-25s%s", StringPool.SPACE, StringPool.SPACE, (middleData.setting_specSetup.isBUpdateCal() ? "1" : "0")));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sKeepCalPeakSearchPeaks:%-13s%s", StringPool.SPACE, StringPool.SPACE, (middleData.setting_specSetup.isKeepCalPeakSearchPeaks() ? "1" : "0")));
|
||||||
|
if (middleData.calibration_pairs_E_idCalPoint.size() > 0) {
|
||||||
|
result.add("#Calibration");
|
||||||
|
result.add(" Energy Calibration [" + middleData.calibration_pairs_E_Input + " ]");
|
||||||
|
result.add(rowFormat("%sFunction:%-27s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_E_functionTypeDef));
|
||||||
|
String[] cellsE4 = new String[]{" E"};
|
||||||
|
String[] datasE4 = new String[]{middleData.calibration_E_functionDef};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMapE4 = GetReportFixedWidth(cellsE4, datasE4, 30);
|
||||||
|
List<String> titleE4 = reportMapE4.get("title");
|
||||||
|
List<String> contentE4 = reportMapE4.get("content");
|
||||||
|
for (int i = 0; i < titleE4.size(); i++) {
|
||||||
|
String title = titleE4.get(i);
|
||||||
|
String content = contentE4.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
String[] cells4 = new String[]{" P"};
|
||||||
|
String[] datas4 = new String[]{middleData.calibration_E_coeff_string};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMap4 = GetReportFixedWidth(cells4, datas4, 30);
|
||||||
|
List<String> title4 = reportMap4.get("title");
|
||||||
|
List<String> content4 = reportMap4.get("content");
|
||||||
|
for (int i = 0; i < title4.size(); i++) {
|
||||||
|
String title = title4.get(i);
|
||||||
|
String content = content4.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
result.add(rowFormat("%sErr:%-32s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_E_uncoeff_string));
|
||||||
|
result.add(rowFormat("%sData:%-31s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_pairs_E_Input));
|
||||||
|
}
|
||||||
|
if (middleData.calibration_pairs_R_idCalPoint.size() > 0) {
|
||||||
|
result.add(" Resolution Calibration [" + middleData.calibration_pairs_R_Input + " ]");
|
||||||
|
result.add(rowFormat("%sFunction:%-27s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_R_functionTypeDef));
|
||||||
|
String[] cellsE5 = new String[]{" E"};
|
||||||
|
String[] datasE5 = new String[]{middleData.calibration_R_functionDef};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMapE5 = GetReportFixedWidth(cellsE5, datasE5, 30);
|
||||||
|
List<String> titleE5 = reportMapE5.get("title");
|
||||||
|
List<String> contentE5 = reportMapE5.get("content");
|
||||||
|
for (int i = 0; i < titleE5.size(); i++) {
|
||||||
|
String title = titleE5.get(i);
|
||||||
|
String content = contentE5.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
String[] cells5 = new String[]{" P"};
|
||||||
|
String[] datas5 = new String[]{middleData.calibration_R_coeff_string};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMap5 = GetReportFixedWidth(cells5, datas5, 30);
|
||||||
|
List<String> title5 = reportMap5.get("title");
|
||||||
|
List<String> content5 = reportMap5.get("content");
|
||||||
|
for (int i = 0; i < title5.size(); i++) {
|
||||||
|
String title = title5.get(i);
|
||||||
|
String content = content5.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
result.add(rowFormat("%sErr:%-32s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_R_uncoeff_string));
|
||||||
|
result.add(rowFormat("%sData:%-31s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_pairs_R_Input));
|
||||||
|
}
|
||||||
|
if (middleData.calibration_pairs_EF_idCalPoint.size() > 0) {
|
||||||
|
result.add(" Efficiency Calibration [" + middleData.calibration_pairs_EF_Input + " ]");
|
||||||
|
result.add(rowFormat("%sFunction:%-27s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_EF_functionTypeDef));
|
||||||
|
String[] cellsE6 = new String[]{" E"};
|
||||||
|
String[] datasE6 = new String[]{middleData.calibration_EF_functionDef};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMapE6 = GetReportFixedWidth(cellsE6, datasE6, 30);
|
||||||
|
List<String> titleE6 = reportMapE6.get("title");
|
||||||
|
List<String> contentE6 = reportMapE6.get("content");
|
||||||
|
for (int i = 0; i < titleE6.size(); i++) {
|
||||||
|
String title = titleE6.get(i);
|
||||||
|
String content = contentE6.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
String[] cells6 = new String[]{" P"};
|
||||||
|
String[] datas6 = new String[]{middleData.calibration_EF_coeff_string};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMap6 = GetReportFixedWidth(cells6, datas6, 30);
|
||||||
|
List<String> title6 = reportMap6.get("title");
|
||||||
|
List<String> content6 = reportMap6.get("content");
|
||||||
|
for (int i = 0; i < title6.size(); i++) {
|
||||||
|
String title = title6.get(i);
|
||||||
|
String content = content6.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
result.add(rowFormat("%sErr:%-32s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_EF_uncoeff_string));
|
||||||
|
result.add(rowFormat("%sData:%-31s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_pairs_EF_Input));
|
||||||
|
}
|
||||||
|
if (middleData.calibration_pairs_T_idCalPoint.size() > 0) {
|
||||||
|
result.add(" Tot_efficiency Calibration [" + middleData.calibration_pairs_T_Input + " ]");
|
||||||
|
result.add(rowFormat("%sFunction:%-27s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_T_functionTypeDef));
|
||||||
|
String[] cellsE7 = new String[]{" E"};
|
||||||
|
String[] datasE7 = new String[]{middleData.calibration_T_functionDef};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMapE7 = GetReportFixedWidth(cellsE7, datasE7, 30);
|
||||||
|
List<String> titleE7 = reportMapE7.get("title");
|
||||||
|
List<String> contentE7 = reportMapE7.get("content");
|
||||||
|
for (int i = 0; i < titleE7.size(); i++) {
|
||||||
|
String title = titleE7.get(i);
|
||||||
|
String content = contentE7.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
String[] cells7 = new String[]{" P"};
|
||||||
|
String[] datas7 = new String[]{middleData.calibration_T_coeff_string};
|
||||||
|
//根据固定宽度切割数据
|
||||||
|
Map<String, List<String>> reportMap7 = GetReportFixedWidth(cells7, datas7, 30);
|
||||||
|
List<String> title7 = reportMap7.get("title");
|
||||||
|
List<String> content7 = reportMap7.get("content");
|
||||||
|
for (int i = 0; i < title7.size(); i++) {
|
||||||
|
String title = title7.get(i);
|
||||||
|
String content = content7.get(i);
|
||||||
|
result.add(rowFormat("%s:%-34s%s", title, StringPool.SPACE, content));
|
||||||
|
}
|
||||||
|
result.add(rowFormat("%sErr:%-32s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_T_uncoeff_string));
|
||||||
|
result.add(rowFormat("%sData:%-31s%s", StringPool.SPACE, StringPool.SPACE, middleData.calibration_pairs_T_Input));
|
||||||
|
}
|
||||||
|
result.add("#DATA QUALITY FLAGS");
|
||||||
|
String qualityTitle = "%-15s%-15s%-15s%-15s";
|
||||||
|
result.add(rowFormat(qualityTitle, " Name", "Pass/Fail", "Value", "Test"));
|
||||||
|
for (int i = 0; i < middleData.QC_CHECK_QC_NAME.size(); i++) {
|
||||||
|
result.add(rowFormat(qualityTitle, StringPool.SPACE + middleData.QC_CHECK_QC_NAME.get(i), (Double.valueOf(middleData.QC_CHECK_QC_RESULT.get(i)) < 1 ? "Fail" : "Pass"), StringUtils.isNotBlank(middleData.QC_CHECK_QC_VALUE.get(i)) ? String.format("%.3f", Double.valueOf(middleData.QC_CHECK_QC_VALUE.get(i))) : "null", middleData.QC_CHECK_QC_STANDARD.get(i)));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public List<String> DoubleLimit(List data) {
|
public List<String> DoubleLimit(List data) {
|
||||||
List<String> rData = new LinkedList<>();
|
List<String> rData = new LinkedList<>();
|
||||||
for(int pos=0;pos<data.size();pos++) {
|
for(int pos=0;pos<data.size();pos++) {
|
||||||
|
|
|
@ -7,7 +7,5 @@ import java.util.List;
|
||||||
|
|
||||||
public interface IGardsAnalysisRoiAutoService extends IService<GardsAnalysisRoi> {
|
public interface IGardsAnalysisRoiAutoService extends IService<GardsAnalysisRoi> {
|
||||||
|
|
||||||
Integer getIdAnalysisAny(Integer sampleId);
|
List<GardsAnalysisRoi> analysisRoi(Integer idAnalysis);
|
||||||
|
|
||||||
List<GardsAnalysisRoi> analysisRoi(Integer sampleId);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,21 +16,11 @@ import java.util.List;
|
||||||
@DS("ora")
|
@DS("ora")
|
||||||
public class GardsAnalysisRoiAutoServiceImpl extends ServiceImpl<GardsAnalysisRoiMapper, GardsAnalysisRoi> implements IGardsAnalysisRoiAutoService {
|
public class GardsAnalysisRoiAutoServiceImpl extends ServiceImpl<GardsAnalysisRoiMapper, GardsAnalysisRoi> implements IGardsAnalysisRoiAutoService {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer getIdAnalysisAny(Integer sampleId) {
|
public List<GardsAnalysisRoi> analysisRoi(Integer idAnalysis) {
|
||||||
LambdaQueryWrapper<GardsAnalysisRoi> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<GardsAnalysisRoi> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.eq(GardsAnalysisRoi::getSampleId, sampleId);
|
wrapper.eq(GardsAnalysisRoi::getIdAnalysis, idAnalysis);
|
||||||
List<GardsAnalysisRoi> analysisRois = list(wrapper);
|
wrapper.orderByAsc(GardsAnalysisRoi::getRoiNum);
|
||||||
return analysisRois.stream().findAny().orElse(new GardsAnalysisRoi())
|
|
||||||
.getIdAnalysis();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<GardsAnalysisRoi> analysisRoi(Integer sampleId) {
|
|
||||||
LambdaQueryWrapper<GardsAnalysisRoi> wrapper = new LambdaQueryWrapper<>();
|
|
||||||
wrapper.eq(GardsAnalysisRoi::getSampleId, sampleId);
|
|
||||||
wrapper.orderByAsc(GardsAnalysisRoi::getIdAnalysis);
|
|
||||||
return list(wrapper);
|
return list(wrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,11 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jeecg.common.cache.SelfCache;
|
import org.jeecg.common.cache.SelfCache;
|
||||||
import org.jeecg.modules.base.abstracts.AbstractLogOrReport;
|
import org.jeecg.modules.base.abstracts.AbstractLogOrReport;
|
||||||
import org.jeecg.modules.base.enums.CalName;
|
import org.jeecg.modules.base.enums.CalName;
|
||||||
|
import org.jeecg.modules.base.enums.DataTypeAbbr;
|
||||||
|
import org.jeecg.modules.entity.GardsCalibrationSpectrum;
|
||||||
|
import org.jeecg.modules.entity.GardsROIChannelsSpectrum;
|
||||||
|
import org.jeecg.modules.entity.GardsROIResultsSpectrum;
|
||||||
|
import org.jeecg.modules.entity.GardsXeResultsSpectrum;
|
||||||
import org.jeecg.modules.entity.vo.*;
|
import org.jeecg.modules.entity.vo.*;
|
||||||
import org.jeecg.modules.native_jni.CalValuesHandler;
|
import org.jeecg.modules.native_jni.CalValuesHandler;
|
||||||
import org.jeecg.modules.native_jni.EnergySpectrumHandler;
|
import org.jeecg.modules.native_jni.EnergySpectrumHandler;
|
||||||
|
@ -27,6 +32,7 @@ import java.io.PrintWriter;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@ -1104,4 +1110,434 @@ public class SelfStationUtil extends AbstractLogOrReport {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> reportContent(BetaDataFile betaDataFile, RRRLogInfo rrrLogInfo){
|
||||||
|
GardsCalibrationSpectrum gammaCalibrationParamS = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum gammaCalibrationParamG = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum gammaCalibrationParamD = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum gammaCalibrationParamES = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum gammaCalibrationParamEG = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum gammaCalibrationParamED = new GardsCalibrationSpectrum();
|
||||||
|
|
||||||
|
GardsCalibrationSpectrum betaCalibrationParamS = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum betaCalibrationParamG = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum betaCalibrationParamD = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum betaCalibrationParamES = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum betaCalibrationParamEG = new GardsCalibrationSpectrum();
|
||||||
|
GardsCalibrationSpectrum betaCalibrationParamED = new GardsCalibrationSpectrum();
|
||||||
|
|
||||||
|
List<String> result = new ArrayList<>();
|
||||||
|
//对分析后的内容进行数据获取
|
||||||
|
List<GardsROIChannelsSpectrum> channelsSpectrums = betaDataFile.getRoiChannelsSpectrumList();
|
||||||
|
List<GardsROIChannelsSpectrum> roiChannelsSpectrumsSample = channelsSpectrums.stream().filter(item -> item.getDataType().equalsIgnoreCase(DataTypeAbbr.SAMPLEPHD.getType())).collect(Collectors.toList());
|
||||||
|
List<GardsROIChannelsSpectrum> roiChannelsSpectrumsGas = channelsSpectrums.stream().filter(item -> item.getDataType().equalsIgnoreCase(DataTypeAbbr.GASBKPHD.getType())).collect(Collectors.toList());
|
||||||
|
List<GardsROIChannelsSpectrum> roiChannelsSpectrumsDet = channelsSpectrums.stream().filter(item -> item.getDataType().equalsIgnoreCase(DataTypeAbbr.DETBKPHD.getType())).collect(Collectors.toList());
|
||||||
|
List<GardsROIResultsSpectrum> resultsSpectrums = betaDataFile.getRoiResultsSpectrumList();
|
||||||
|
List<GardsXeResultsSpectrum> xeResultsSpectrums = betaDataFile.getXeResultsSpectrumList();
|
||||||
|
for (int i=0; i<xeResultsSpectrums.size(); i++) {
|
||||||
|
for (int j=0; j<rrrLogInfo.getXeResultsSpectrumList().size(); j++) {
|
||||||
|
if (xeResultsSpectrums.get(i).getNuclideName().equalsIgnoreCase(rrrLogInfo.getXeResultsSpectrumList().get(j).getNuclideName())) {
|
||||||
|
xeResultsSpectrums.get(i).setNidFlag(rrrLogInfo.getXeResultsSpectrumList().get(j).getNidFlag());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//#SAMPLE: LIMITS PER ROI GAMMA
|
||||||
|
List<GardsCalibrationSpectrum> gammaCalibrationParamList = betaDataFile.getGammaCalibrationSpectrumList();
|
||||||
|
List<GardsCalibrationSpectrum> gammaCalibrationSpectrumEList = betaDataFile.getGammaCalibrationSpectrumEList();
|
||||||
|
for (int i=0; i<gammaCalibrationParamList.size(); i++) {
|
||||||
|
if (gammaCalibrationParamList.get(i).getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())) {
|
||||||
|
gammaCalibrationParamS = gammaCalibrationParamList.get(i);
|
||||||
|
} else if (gammaCalibrationParamList.get(i).getDataType().equals(DataTypeAbbr.GASBKPHD.getType())) {
|
||||||
|
gammaCalibrationParamG = gammaCalibrationParamList.get(i);
|
||||||
|
} else if (gammaCalibrationParamList.get(i).getDataType().equals(DataTypeAbbr.DETBKPHD.getType())) {
|
||||||
|
gammaCalibrationParamD = gammaCalibrationParamList.get(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i=0; i<gammaCalibrationSpectrumEList.size(); i++) {
|
||||||
|
if (gammaCalibrationSpectrumEList.get(i).getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())) {
|
||||||
|
gammaCalibrationParamES = gammaCalibrationSpectrumEList.get(i);
|
||||||
|
} else if (gammaCalibrationSpectrumEList.get(i).getDataType().equals(DataTypeAbbr.GASBKPHD.getType())) {
|
||||||
|
gammaCalibrationParamEG = gammaCalibrationSpectrumEList.get(i);
|
||||||
|
} else if (gammaCalibrationSpectrumEList.get(i).getDataType().equals(DataTypeAbbr.DETBKPHD.getType())) {
|
||||||
|
gammaCalibrationParamED = gammaCalibrationSpectrumEList.get(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//#SAMPLE: LIMITS PER ROI BETA
|
||||||
|
List<GardsCalibrationSpectrum> betaCalibrationParamList = betaDataFile.getBetaCalibrationSpectrumList();
|
||||||
|
List<GardsCalibrationSpectrum> betaCalibrationSpectrumEList = betaDataFile.getBetaCalibrationSpectrumEList();
|
||||||
|
for (int i=0; i<betaCalibrationParamList.size(); i++) {
|
||||||
|
if (betaCalibrationParamList.get(i).getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())) {
|
||||||
|
betaCalibrationParamS = betaCalibrationParamList.get(i);
|
||||||
|
} else if (betaCalibrationParamList.get(i).getDataType().equals(DataTypeAbbr.GASBKPHD.getType())) {
|
||||||
|
betaCalibrationParamG = betaCalibrationParamList.get(i);
|
||||||
|
} else if (betaCalibrationParamList.get(i).getDataType().equals(DataTypeAbbr.DETBKPHD.getType())) {
|
||||||
|
betaCalibrationParamD = betaCalibrationParamList.get(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i=0; i<betaCalibrationSpectrumEList.size(); i++) {
|
||||||
|
if (betaCalibrationSpectrumEList.get(i).getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())) {
|
||||||
|
betaCalibrationParamES = betaCalibrationSpectrumEList.get(i);
|
||||||
|
} else if (betaCalibrationSpectrumEList.get(i).getDataType().equals(DataTypeAbbr.GASBKPHD.getType())) {
|
||||||
|
betaCalibrationParamEG = betaCalibrationSpectrumEList.get(i);
|
||||||
|
} else if (betaCalibrationSpectrumEList.get(i).getDataType().equals(DataTypeAbbr.DETBKPHD.getType())) {
|
||||||
|
betaCalibrationParamED = betaCalibrationSpectrumEList.get(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Information information = new Information();
|
||||||
|
//sampleFile 相关数据
|
||||||
|
EnergySpectrumStruct sampleSourceData = betaDataFile.getSampleStruct();
|
||||||
|
if (Objects.nonNull(sampleSourceData)) {
|
||||||
|
try {
|
||||||
|
information.setSample_measid_name(sampleSourceData.measurement_id);
|
||||||
|
information.setSample_det_measid_name(sampleSourceData.detector_bk_measurement_id);
|
||||||
|
information.setSample_gas_measid_name(sampleSourceData.gas_bk_measurement_id);
|
||||||
|
information.setSit_det_code(sampleSourceData.site_code);
|
||||||
|
information.setSample_type(sampleSourceData.system_type);
|
||||||
|
information.setGeometry(sampleSourceData.sample_geometry);
|
||||||
|
information.setSpectral_qualifie(sampleSourceData.spectrum_quantity);
|
||||||
|
String transmit_dtg_str=sampleSourceData.transmit_date+ StringPool.SPACE+sampleSourceData.transmit_time;
|
||||||
|
Date transmit_dtg = DateUtils.parseDate(transmit_dtg_str);
|
||||||
|
information.setTransmit_dtg(transmit_dtg);
|
||||||
|
information.setDetect_code(sampleSourceData.detector_code);
|
||||||
|
information.setMeasurementID(sampleSourceData.measurement_id.replace("\\","/"));
|
||||||
|
information.setBkgdMeasurementID(sampleSourceData.detector_bk_measurement_id.replace("\\","/"));
|
||||||
|
information.setGasBkgdMeasurementID(sampleSourceData.gas_bk_measurement_id.replace("\\","/"));
|
||||||
|
information.setSampleRefId(sampleSourceData.sample_ref_id);
|
||||||
|
String collect_start_str = sampleSourceData.collection_start_date+StringPool.SPACE+sampleSourceData.collection_start_time;
|
||||||
|
Date collect_start = DateUtils.parseDate(collect_start_str);
|
||||||
|
information.setCollect_start(collect_start);
|
||||||
|
String collect_stop_str = sampleSourceData.collection_stop_date+StringPool.SPACE+sampleSourceData.collection_stop_time;
|
||||||
|
Date collect_stop = DateUtils.parseDate(collect_stop_str);
|
||||||
|
information.setCollect_stop(collect_stop);
|
||||||
|
information.setS_xe_stable_volume(sampleSourceData.air_volume);
|
||||||
|
String acquisition_start_str = sampleSourceData.acquisition_start_date+StringPool.SPACE+sampleSourceData.acquisition_start_time;
|
||||||
|
Date acquisition_start = DateUtils.parseDate(acquisition_start_str);
|
||||||
|
information.setAcquisition_start(acquisition_start);
|
||||||
|
long dataTime = (long) (acquisition_start.getTime() + sampleSourceData.acquisition_real_time * 1000);
|
||||||
|
String acquisition_stop_str = DateUtils.formatDate(new Date(dataTime), "yyyy/MM/dd HH:mm:ss");
|
||||||
|
Date acquisition_stop = DateUtils.parseDate(acquisition_stop_str);
|
||||||
|
information.setAcquisition_stop(acquisition_stop);
|
||||||
|
information.setAcquisition_real_sec(sampleSourceData.acquisition_real_time);
|
||||||
|
information.setAcquisition_live_sec(sampleSourceData.acquisition_live_time);
|
||||||
|
information.setS_volume_of_Xe(sampleSourceData.sample_volume_of_Xe);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EnergySpectrumStruct gasSourceData = betaDataFile.getGasStruct();
|
||||||
|
if (Objects.nonNull(gasSourceData)) {
|
||||||
|
information.setGas_measid_name(gasSourceData.measurement_id);
|
||||||
|
}
|
||||||
|
EnergySpectrumStruct detSourceData = betaDataFile.getDetStruct();
|
||||||
|
if (Objects.nonNull(detSourceData)) {
|
||||||
|
information.setDet_measid_name(detSourceData.measurement_id);
|
||||||
|
}
|
||||||
|
result.add(titleFormat("%sCNL06 GENERATED REPORT%s", 60, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
result.add(titleFormat("%sREVIEWED RADIONUCLIDE REPORT%s", 57, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
result.add(titleFormat("%s(Noble Gas Version)%s", 61, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
result.add(titleFormat("%sCreation Date "+DateUtils.formatDate(new Date(), "yyyy/MM/dd-HH:mm:ss")+"%s", 54, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
result.add("#FILE INFORMATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sSampleMeasID:%-15s%s", StringPool.SPACE, StringPool.SPACE, information.getMeasurementID()));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sGASBKMeasID:%-16s%s", StringPool.SPACE, StringPool.SPACE, information.getGasBkgdMeasurementID()));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sSRID:%-23s%s", StringPool.SPACE, StringPool.SPACE, information.getSampleRefId()));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sDetector Type:%-14s%s", StringPool.SPACE, StringPool.SPACE, "3D b-g"));
|
||||||
|
|
||||||
|
result.add("#COLLECTION INFORMATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sStation CODE:%-15s%s", StringPool.SPACE, StringPool.SPACE, information.getSit_det_code()));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sDetector CODE:%-14s%s", StringPool.SPACE, StringPool.SPACE, information.getDetect_code()));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sCollection Start:%-11s%s", StringPool.SPACE, StringPool.SPACE, DateUtils.formatDate(information.getCollect_start(), "yyyy/MM/dd HH:mm:ss")));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sCollection Stop:%-12s%s", StringPool.SPACE, StringPool.SPACE, DateUtils.formatDate(information.getCollect_stop(), "yyyy/MM/dd HH:mm:ss")));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sCollection TIME(h):%-9s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(((information.getCollect_stop().getTime()-information.getCollect_start().getTime())/1000)/3600)));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAir Volume[cm3]:%-12s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(information.getS_xe_stable_volume())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sXe Volume[cm3]:%-13s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(information.getS_volume_of_Xe())));
|
||||||
|
|
||||||
|
result.add("#ACQUISITION INFORMATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAcquisition Start:%-10s%s", StringPool.SPACE, StringPool.SPACE, DateUtils.formatDate(information.getAcquisition_start(), "yyyy/MM/dd HH:mm:ss")));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAcq Real Time(s):%-11s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(information.getAcquisition_real_sec())));
|
||||||
|
|
||||||
|
result.add(rowFormat("%sAcq Live Time:%-14s%s", StringPool.SPACE, StringPool.SPACE, String.valueOf(information.getAcquisition_live_sec())));
|
||||||
|
|
||||||
|
result.add("#SOFTWARE");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sversion:%-20s%s", StringPool.SPACE, StringPool.SPACE, "1.0.1"));
|
||||||
|
|
||||||
|
result.add("#SAMPLE Old CALIBRATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sOld Beta%-43sOld Gamma%-42s", StringPool.SPACE, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
//拼接历史计算公式 CH
|
||||||
|
String oldBetaSampleCHStr = rowFormat("%sCH(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2)));
|
||||||
|
String oldGammaSampleCHStr = rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x%-24s",
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2)), StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-oldBetaSampleCHStr.length())+"s%s", oldBetaSampleCHStr, StringPool.SPACE, oldGammaSampleCHStr));
|
||||||
|
|
||||||
|
//拼接历史计算公式 E
|
||||||
|
String oldBetaSampleEStr = rowFormat("%sE(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2)));
|
||||||
|
String oldGammaSampleEStr = rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x%-24s",
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2)), StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-oldBetaSampleEStr.length())+"s%s", oldBetaSampleEStr, StringPool.SPACE, oldGammaSampleEStr));
|
||||||
|
|
||||||
|
result.add("#SAMPLE New CALIBRATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sNew Beta%-43sNew Gamma%-42s", StringPool.SPACE, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
//拼接新计算公式 CH
|
||||||
|
String newBetaSampleCHStr = rowFormat("%sCH(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
(Objects.isNull(betaCalibrationParamES.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamES.getCoeff1()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamES.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamES.getCoeff2()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamES.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamES.getCoeff3()))));
|
||||||
|
String newGammaSampleCHStr = rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x%-24s",
|
||||||
|
(Objects.isNull(gammaCalibrationParamES.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamES.getCoeff1()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamES.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamES.getCoeff2()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamES.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamES.getCoeff3()))),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-newBetaSampleCHStr.length())+"s%s", newBetaSampleCHStr, StringPool.SPACE, newGammaSampleCHStr));
|
||||||
|
|
||||||
|
//拼接新计算公式 E
|
||||||
|
String newBetaSampleEStr = rowFormat("%sE(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
(Objects.isNull(betaCalibrationParamS.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff1()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamS.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff2()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamS.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff3()))));
|
||||||
|
String newGammaSampleEStr = rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x%-24s",
|
||||||
|
(Objects.isNull(gammaCalibrationParamS.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff1()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamS.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff2()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamS.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff3()))),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-newBetaSampleEStr.length())+"s%s", newBetaSampleEStr, StringPool.SPACE, newGammaSampleEStr));
|
||||||
|
|
||||||
|
|
||||||
|
result.add("#SAMPLE: LIMITS PER ROI");
|
||||||
|
|
||||||
|
String limitRoi = "%s%-15s%-15s%-15s";
|
||||||
|
result.add(rowFormat(limitRoi, StringPool.SPACE, "Roi", "Beta", "Gamma"));
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(roiChannelsSpectrumsSample)) {
|
||||||
|
for (GardsROIChannelsSpectrum channelsSpectrum:roiChannelsSpectrumsSample) {
|
||||||
|
result.add(rowFormat(limitRoi, StringPool.SPACE, String.valueOf(channelsSpectrum.getRoi()), channelsSpectrum.getBChanStart()+" to "+channelsSpectrum.getBChanStop(), channelsSpectrum.getGChanStart()+" to "+channelsSpectrum.getGChanStop()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result.add("#DET Old CALIBRATION");
|
||||||
|
result.add(rowFormat("%sOld Beta%-43sOld Gamma%-42s", StringPool.SPACE, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
//拼接历史计算公式 CH
|
||||||
|
String oldBetaDetCHStr = rowFormat("%sCH(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE, NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2)));
|
||||||
|
String oldGammaDetCHStr = rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x%-24s", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2)),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-oldBetaDetCHStr.length())+"s%s", oldBetaDetCHStr, StringPool.SPACE, oldGammaDetCHStr));
|
||||||
|
|
||||||
|
//拼接历史计算公式 E
|
||||||
|
String oldBetaDetEStr = rowFormat("%sE(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE, NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2)));
|
||||||
|
String oldGammaDetEStr = rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x%-24s", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2)),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-oldBetaDetEStr.length())+"s%s", oldBetaDetEStr, StringPool.SPACE, oldGammaDetEStr));
|
||||||
|
|
||||||
|
result.add("#DET New CALIBRATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sNew Beta%-43sNew Gamma%-42s", StringPool.SPACE, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
//拼接新计算公式 CH
|
||||||
|
String newBetaDetCHStr = rowFormat("%sCH(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
(Objects.isNull(betaCalibrationParamED.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff1()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamED.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff2()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamED.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff3()))));
|
||||||
|
String newGammaDetCHStr = rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x%-24s", (Objects.isNull(gammaCalibrationParamED.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff1()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamED.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff2()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamED.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff3()))),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-newBetaDetCHStr.length())+"s%s", newBetaDetCHStr, StringPool.SPACE, newGammaDetCHStr));
|
||||||
|
|
||||||
|
//拼接新计算公式 E
|
||||||
|
String newBetaDetEStr = rowFormat("%sE(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
(Objects.isNull(betaCalibrationParamD.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamD.getCoeff1()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamD.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamD.getCoeff2()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamD.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamD.getCoeff3()))));
|
||||||
|
String newGammaDetEStr = rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x%-24s", (Objects.isNull(gammaCalibrationParamD.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamD.getCoeff1()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamD.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamD.getCoeff2()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamD.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamD.getCoeff3()))),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-newBetaDetEStr.length())+"s%s", newBetaDetEStr, StringPool.SPACE, newGammaDetEStr));
|
||||||
|
|
||||||
|
result.add("#DET: LIMITS PER ROI");
|
||||||
|
|
||||||
|
result.add(rowFormat(limitRoi, StringPool.SPACE, "Roi", "Beta", "Gamma"));
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(roiChannelsSpectrumsDet)) {
|
||||||
|
for (GardsROIChannelsSpectrum channelsSpectrum:roiChannelsSpectrumsDet) {
|
||||||
|
result.add(rowFormat(limitRoi, StringPool.SPACE, String.valueOf(channelsSpectrum.getRoi()), channelsSpectrum.getBChanStart()+" to "+channelsSpectrum.getBChanStop(), channelsSpectrum.getGChanStart()+" to "+channelsSpectrum.getGChanStop()));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result.add("#GAS Old CALIBRATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sOld Beta%-43sOld Gamma%-42s", StringPool.SPACE, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
//拼接历史计算公式 CH
|
||||||
|
String oldBetaGasCHStr = rowFormat("%sCH(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE, NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2)));
|
||||||
|
String oldGammaGasCHStr = rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x%-24s", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2)),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-oldBetaGasCHStr.length())+"s%s", oldBetaGasCHStr, StringPool.SPACE, oldGammaGasCHStr));
|
||||||
|
|
||||||
|
String oldBetaGasEStr = rowFormat("%sE(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE, NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2)));
|
||||||
|
String oldGammaGasEStr = rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x%-24s", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)),
|
||||||
|
NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2)),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-oldBetaGasEStr.length())+"s%s", oldBetaGasEStr, StringPool.SPACE, oldGammaGasEStr));
|
||||||
|
|
||||||
|
result.add("#GAS New CALIBRATION");
|
||||||
|
|
||||||
|
result.add(rowFormat("%sNew Beta%-43sNew Gamma%-42s", StringPool.SPACE, StringPool.SPACE, StringPool.SPACE));
|
||||||
|
|
||||||
|
//拼接新计算公式 CH
|
||||||
|
String newBetaGasCHStr = rowFormat("%sCH(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
(Objects.isNull(betaCalibrationParamEG.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff1()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamEG.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff2()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamEG.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff3()))));
|
||||||
|
String newGammaGasCHStr = rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x%-24s", (Objects.isNull(gammaCalibrationParamEG.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff1()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamEG.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff2()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamEG.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff3()))),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-newBetaGasCHStr.length())+"s%s", newBetaGasCHStr, StringPool.SPACE, newGammaGasCHStr));
|
||||||
|
|
||||||
|
//拼接新计算公式 E
|
||||||
|
String newBetaGasEStr = rowFormat("%sE(x) = (%s)+(%s)*x+(%s)x*x", StringPool.SPACE,
|
||||||
|
(Objects.isNull(betaCalibrationParamG.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamG.getCoeff1()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamG.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamG.getCoeff2()))),
|
||||||
|
(Objects.isNull(betaCalibrationParamG.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamG.getCoeff3()))));
|
||||||
|
String newGammaGasEStr = rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x%-24s", (Objects.isNull(gammaCalibrationParamG.getCoeff1())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamG.getCoeff1()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamG.getCoeff2())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamG.getCoeff2()))),
|
||||||
|
(Objects.isNull(gammaCalibrationParamG.getCoeff3())?NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2)):NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamG.getCoeff3()))),
|
||||||
|
StringPool.SPACE);
|
||||||
|
result.add(rowFormat("%s%-"+(52-newBetaGasEStr.length())+"s%s", newBetaGasEStr, StringPool.SPACE, newGammaGasEStr));
|
||||||
|
|
||||||
|
result.add("#GAS: LIMITS PER ROI");
|
||||||
|
|
||||||
|
result.add(rowFormat(limitRoi, StringPool.SPACE, "Roi", "Beta", "Gamma"));
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(roiChannelsSpectrumsGas)) {
|
||||||
|
for (GardsROIChannelsSpectrum channelsSpectrum:roiChannelsSpectrumsGas) {
|
||||||
|
result.add(rowFormat(limitRoi, StringPool.SPACE, String.valueOf(channelsSpectrum.getRoi()), channelsSpectrum.getBChanStart()+" to "+channelsSpectrum.getBChanStop(), channelsSpectrum.getGChanStart()+" to "+channelsSpectrum.getGChanStop()));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result.add("#GROSS COUNTS PER ROI");
|
||||||
|
String grossRoi = "%s%-15s%-15s%-15s%-15s";
|
||||||
|
result.add(rowFormat(grossRoi, StringPool.SPACE, "Roi", "Sample", "GasBkgnd", "DetBkgnd"));
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
for (GardsROIResultsSpectrum resultsSpectrum:resultsSpectrums) {
|
||||||
|
result.add(rowFormat(grossRoi, StringPool.SPACE, String.valueOf(resultsSpectrum.getRoi()), String.valueOf(resultsSpectrum.getSGross()), String.valueOf(resultsSpectrum.getGGross()), String.valueOf(resultsSpectrum.getBGross())));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result.add("#NET COUNTS AND LC PER ROI");
|
||||||
|
|
||||||
|
String netRoi = "%s%-15s%-25s%-15s";
|
||||||
|
if (betaDataFile.isBProcessed()) {
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
if (Objects.isNull(resultsSpectrums.get(0).getLcCts())) {
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, "Roi", "Net count", StringPool.SPACE));
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
for (GardsROIResultsSpectrum resultsSpectrum:resultsSpectrums){
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, String.valueOf(resultsSpectrum.getRoi()), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getNet()))+" +/- "+NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getNetErr())), StringPool.SPACE));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, "Roi", "Net count", "LC"));
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
for (GardsROIResultsSpectrum resultsSpectrum:resultsSpectrums){
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, String.valueOf(resultsSpectrum.getRoi()), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getNet()))+" +/- "+NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getNetErr())), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getLcCts()))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, "Roi", "Net count", "LC"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
if (Objects.isNull(resultsSpectrums.get(0).getLcCts())) {
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, "Roi", "Net count", StringPool.SPACE));
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
for (GardsROIResultsSpectrum resultsSpectrum:resultsSpectrums){
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, String.valueOf(resultsSpectrum.getRoi()), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getNet()))+" +/- "+NumberFormatUtil.numberSixLen(String.valueOf(Math.sqrt(resultsSpectrum.getNetErr()))), StringPool.SPACE));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, "Roi", "Net count", "LC"));
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
for (GardsROIResultsSpectrum resultsSpectrum:resultsSpectrums){
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, String.valueOf(resultsSpectrum.getRoi()), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getNet()))+" +/- "+NumberFormatUtil.numberSixLen(String.valueOf(Math.sqrt(resultsSpectrum.getNetErr()))), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getLcCts()))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
result.add(rowFormat(netRoi, StringPool.SPACE, "Roi", "Net count", "LC"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result.add("#CONCENTRATION AND LC PER ROI");
|
||||||
|
String conLcRoi = "%s%-15s%-25s%-15s%-15s";
|
||||||
|
result.add(rowFormat(conLcRoi, StringPool.SPACE, "Roi", "Conc(mBq/m3)", "LC(mBq/m3)", "MDC(mBq/m3):"));
|
||||||
|
|
||||||
|
if (betaDataFile.isBProcessed()) {
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
for (GardsROIResultsSpectrum resultsSpectrum:resultsSpectrums){
|
||||||
|
result.add(rowFormat(conLcRoi, StringPool.SPACE, String.valueOf(resultsSpectrum.getRoi()), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getConc()))+" +/- "+NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getConcErr())), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getLc())), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getMdc()))));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (CollectionUtils.isNotEmpty(resultsSpectrums)) {
|
||||||
|
for (GardsROIResultsSpectrum resultsSpectrum:resultsSpectrums){
|
||||||
|
result.add(rowFormat(conLcRoi, StringPool.SPACE, String.valueOf(resultsSpectrum.getRoi()), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getConcErr()))+" +/- "+NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getConcErr())), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getLc())), NumberFormatUtil.numberSixLen(String.valueOf(resultsSpectrum.getMdc()))));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result.add("#RESULT SUMMARY");
|
||||||
|
String resultSum = "%s%-15s%-25s%-15s%-15s%-15s";
|
||||||
|
result.add(rowFormat(resultSum, StringPool.SPACE, "Nuclide Name", "Conc", "LC", "MDC", "NID Flag"));
|
||||||
|
if (CollectionUtils.isNotEmpty(xeResultsSpectrums)) {
|
||||||
|
for (GardsXeResultsSpectrum xeResultsSpectrum:xeResultsSpectrums) {
|
||||||
|
result.add(rowFormat(resultSum, StringPool.SPACE, xeResultsSpectrum.getNuclideName(), NumberFormatUtil.numberSixLen(String.valueOf(xeResultsSpectrum.getConc()))+" +/- "+NumberFormatUtil.numberSixLen(String.valueOf(xeResultsSpectrum.getConcErr())), NumberFormatUtil.numberSixLen(String.valueOf(xeResultsSpectrum.getLc())), NumberFormatUtil.numberSixLen(String.valueOf(xeResultsSpectrum.getMdc())), String.valueOf(xeResultsSpectrum.getNidFlag())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -401,4 +401,16 @@ public class SelfStationController {
|
||||||
public Result saveToDB(String fileName, HttpServletRequest request) {
|
public Result saveToDB(String fileName, HttpServletRequest request) {
|
||||||
return selfStationService.saveToDB(fileName, request);
|
return selfStationService.saveToDB(fileName, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("viewARR")
|
||||||
|
@ApiOperation(value = "查看ARR报告", notes = "查看ARR报告")
|
||||||
|
public Result<?> viewARR(Integer sampleId, HttpServletResponse response) {
|
||||||
|
return selfStationService.viewARR(sampleId, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("viewRRR")
|
||||||
|
@ApiOperation(value = "查看RRR报告", notes = "查看RRR报告")
|
||||||
|
public Result<?> viewRRR(@RequestBody RRRLogInfo rrrLogInfo, HttpServletRequest request) {
|
||||||
|
return selfStationService.viewRRR(rrrLogInfo, request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import org.jeecg.modules.base.entity.configuration.GardsNuclLib;
|
||||||
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
|
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
|
||||||
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
||||||
import org.jeecg.modules.base.entity.rnman.*;
|
import org.jeecg.modules.base.entity.rnman.*;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsAnalyses;
|
||||||
import org.jeecg.modules.entity.*;
|
import org.jeecg.modules.entity.*;
|
||||||
import org.jeecg.modules.entity.vo.*;
|
import org.jeecg.modules.entity.vo.*;
|
||||||
|
|
||||||
|
@ -39,6 +40,8 @@ public interface SpectrumAnalysisMapper {
|
||||||
|
|
||||||
String viewARR(@Param(value = "sampleId") Integer sampleId);
|
String viewARR(@Param(value = "sampleId") Integer sampleId);
|
||||||
|
|
||||||
|
GardsAnalyses viewARRSelf(@Param(value = "sampleId") Integer sampleId);
|
||||||
|
|
||||||
String viewRRR(@Param(value = "sampleId") Integer sampleId);
|
String viewRRR(@Param(value = "sampleId") Integer sampleId);
|
||||||
|
|
||||||
GardsSampleDataSpectrum getSampleData(@Param(value = "sampleId") Integer sampleId);
|
GardsSampleDataSpectrum getSampleData(@Param(value = "sampleId") Integer sampleId);
|
||||||
|
|
|
@ -230,6 +230,10 @@
|
||||||
SELECT REPORT_PAHT FROM RNAUTO.GARDS_ANALYSES where SAMPLE_ID = #{sampleId}
|
SELECT REPORT_PAHT FROM RNAUTO.GARDS_ANALYSES where SAMPLE_ID = #{sampleId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="viewARRSelf" resultType="org.jeecg.modules.base.entity.rnauto.GardsAnalyses">
|
||||||
|
SELECT IDANALYSIS, REPORT_PAHT AS reportPath FROM RNAUTO.GARDS_ANALYSES where SAMPLE_ID = #{sampleId}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="viewRRR" resultType="java.lang.String">
|
<select id="viewRRR" resultType="java.lang.String">
|
||||||
SELECT REPORT_PAHT FROM RNMAN.GARDS_ANALYSES where SAMPLE_ID = #{sampleId}
|
SELECT REPORT_PAHT FROM RNMAN.GARDS_ANALYSES where SAMPLE_ID = #{sampleId}
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -132,4 +132,8 @@ public interface ISelfStationService {
|
||||||
Result viewSpectrum(String fileName, HttpServletRequest request);
|
Result viewSpectrum(String fileName, HttpServletRequest request);
|
||||||
|
|
||||||
Result saveToDB(String fileName, HttpServletRequest request);
|
Result saveToDB(String fileName, HttpServletRequest request);
|
||||||
|
|
||||||
|
Result<?> viewARR(Integer sampleId, HttpServletResponse response);
|
||||||
|
|
||||||
|
Result<?> viewRRR(RRRLogInfo rrrLogInfo, HttpServletRequest request);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,9 @@ import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.math3.fitting.WeightedObservedPoints;
|
import org.apache.commons.math3.fitting.WeightedObservedPoints;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.common.cache.SelfCache;
|
import org.jeecg.common.cache.SelfCache;
|
||||||
|
import org.jeecg.common.constant.Prompt;
|
||||||
import org.jeecg.common.constant.StringConstant;
|
import org.jeecg.common.constant.StringConstant;
|
||||||
|
import org.jeecg.common.constant.enums.FileTypeEnum;
|
||||||
import org.jeecg.common.properties.ParameterProperties;
|
import org.jeecg.common.properties.ParameterProperties;
|
||||||
import org.jeecg.common.properties.SpectrumPathProperties;
|
import org.jeecg.common.properties.SpectrumPathProperties;
|
||||||
import org.jeecg.common.system.util.JwtUtil;
|
import org.jeecg.common.system.util.JwtUtil;
|
||||||
|
@ -26,6 +28,8 @@ import org.jeecg.modules.base.dto.RoiDto;
|
||||||
import org.jeecg.modules.base.entity.configuration.GardsNuclLib;
|
import org.jeecg.modules.base.entity.configuration.GardsNuclLib;
|
||||||
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
|
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
|
||||||
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsAnalyses;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsAnalysisRoi;
|
||||||
import org.jeecg.modules.base.entity.rnman.GardsAnalySetting;
|
import org.jeecg.modules.base.entity.rnman.GardsAnalySetting;
|
||||||
import org.jeecg.modules.entity.GardsSampleDataSpectrum;
|
import org.jeecg.modules.entity.GardsSampleDataSpectrum;
|
||||||
import org.jeecg.modules.entity.GardsXeResultsSpectrum;
|
import org.jeecg.modules.entity.GardsXeResultsSpectrum;
|
||||||
|
@ -110,6 +114,8 @@ public class SelfStationServiceImpl implements ISelfStationService {
|
||||||
private IGardsCalibrationSpectrumService calibrationSpectrumService;
|
private IGardsCalibrationSpectrumService calibrationSpectrumService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IGardsAnalysesSpectrumService analysesSpectrumService;
|
private IGardsAnalysesSpectrumService analysesSpectrumService;
|
||||||
|
@Autowired
|
||||||
|
private IGardsAnalysisRoiAutoService analysisRoiAutoService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -5023,6 +5029,63 @@ public class SelfStationServiceImpl implements ISelfStationService {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@DS("ora")
|
||||||
|
public Result<?> viewARR(Integer sampleId, HttpServletResponse response) {
|
||||||
|
GardsAnalyses analyses = spectrumAnalysisMapper.viewARRSelf(sampleId);
|
||||||
|
Map<String, List<String>> result = new HashMap<>();
|
||||||
|
if (ObjectUtil.isNull(analyses))
|
||||||
|
return Result.error("The automatic handler generated report does not exist!");
|
||||||
|
Integer idAnalysis = analyses.getIdAnalysis();
|
||||||
|
String reportPath = analyses.getReportPath();
|
||||||
|
String rootPath = spectrumPathProperties.getRootPath();
|
||||||
|
String saveFilePath = spectrumPathProperties.getSaveFilePath();
|
||||||
|
reportPath = rootPath + saveFilePath + StrUtil.SLASH + reportPath + FileTypeEnum.arr.getType();
|
||||||
|
if (!FileUtil.exist(reportPath))
|
||||||
|
return Result.error("The automatic handler generated report does not exist!");
|
||||||
|
result.put("Beta", FileUtil.readUtf8Lines(reportPath));
|
||||||
|
List<GardsAnalysisRoi> analysisRois = analysisRoiAutoService.analysisRoi(idAnalysis);
|
||||||
|
for (GardsAnalysisRoi analysisRoi : analysisRois) {
|
||||||
|
Integer roiNum = analysisRoi.getRoiNum();
|
||||||
|
String roiReportPath = analysisRoi.getReportPath();
|
||||||
|
roiReportPath = rootPath + saveFilePath + StrUtil.SLASH + roiReportPath + FileTypeEnum.arr.getType();
|
||||||
|
if (!FileUtil.exist(roiReportPath)) continue;
|
||||||
|
result.put("Gamma_ROI_" + roiNum, FileUtil.readUtf8Lines(roiReportPath));
|
||||||
|
}
|
||||||
|
return Result.OK(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result<?> viewRRR(RRRLogInfo rrrLogInfo, HttpServletRequest request) {
|
||||||
|
String userName = JwtUtil.getUserNameByToken(request);
|
||||||
|
Map<String, List<String>> result = new HashMap<>();
|
||||||
|
Cache<String, SelfStationData> selfCache = selfStationCache.getSelfCache();
|
||||||
|
SelfStationData selfStationData = selfCache.getIfPresent(rrrLogInfo.getSampleFileName() + StringPool.DASH + userName);
|
||||||
|
if (ObjectUtil.isNull(selfStationData))
|
||||||
|
return Result.error("Please select the parse file first!");
|
||||||
|
// 生成Beta 报告内容
|
||||||
|
BetaDataFile betaDataFile = selfStationData.getBetaDataFile();
|
||||||
|
if (ObjectUtil.isNull(betaDataFile))
|
||||||
|
return Result.error("Load basic file information first!");
|
||||||
|
if (betaDataFile.isSaveAnalysisResult())
|
||||||
|
result.put("Beta", selfStationUtil.reportContent(betaDataFile, rrrLogInfo));
|
||||||
|
// 生成4个Gamma ROI报告内容
|
||||||
|
SelfStationVueData sampleVueData = selfStationData.getSampleVueData();
|
||||||
|
PHDFile phd1 = sampleVueData.getROIOnePHDFile();
|
||||||
|
PHDFile phd2 = sampleVueData.getROITwoPHDFile();
|
||||||
|
PHDFile phd3 = sampleVueData.getROIThreePHDFile();
|
||||||
|
PHDFile phd4 = sampleVueData.getROIFourPHDFile();
|
||||||
|
List<String> reportContent1 = gammaFileUtil.GetReportContent(phd1, userName, "log");
|
||||||
|
List<String> reportContent2 = gammaFileUtil.GetReportContent(phd2, userName, "log");
|
||||||
|
List<String> reportContent3 = gammaFileUtil.GetReportContent(phd3, userName, "log");
|
||||||
|
List<String> reportContent4 = gammaFileUtil.GetReportContent(phd4, userName, "log");
|
||||||
|
result.put("Gamma_ROI_1", reportContent1);
|
||||||
|
result.put("Gamma_ROI_2", reportContent2);
|
||||||
|
result.put("Gamma_ROI_3", reportContent3);
|
||||||
|
result.put("Gamma_ROI_4", reportContent4);
|
||||||
|
return Result.OK(result);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean SaveSampleToDB(PHDFile phd, String input_file_name) {
|
public boolean SaveSampleToDB(PHDFile phd, String input_file_name) {
|
||||||
boolean bRet = false;
|
boolean bRet = false;
|
||||||
|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.ReUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
@ -189,12 +190,14 @@ public class SpectrumFileServiceImpl implements ISpectrumFileService {
|
||||||
// if (!exist) return Result.OK(page);
|
// if (!exist) return Result.OK(page);
|
||||||
List<File> ftpFiles = ListUtil.toList(folder.listFiles());
|
List<File> ftpFiles = ListUtil.toList(folder.listFiles());
|
||||||
// 根据文件名进行过滤
|
// 根据文件名进行过滤
|
||||||
|
String regex1 = "[a-zA-Z]{3}[0-9]{2}_[0-9]{3}-[0-9]{8}_[0-9]{4}_S_(FULL_|PREL_)\\d+\\.PHD";
|
||||||
|
String regex2 = "[a-zA-Z]{3}[0-9]{2}_[0-9]{3}-[0-9]{8}_[0-9]{4}_S_(FULL_|PREL_)\\d+\\.\\d+\\.PHD";
|
||||||
String name = fileVo.getName();
|
String name = fileVo.getName();
|
||||||
if (StrUtil.isNotBlank(name)){
|
if (StrUtil.isNotBlank(name)){
|
||||||
String[] names = name.split(comma);
|
String[] names = name.split(comma);
|
||||||
ftpFiles = ftpFiles.stream()
|
ftpFiles = ftpFiles.stream()
|
||||||
.filter(file -> containsAllIgnoreCase(file.getName(),names))
|
.filter(file -> containsAllIgnoreCase(file.getName(),names))
|
||||||
.filter(file -> !StrUtil.contains(file.getName(), "_ROI_"))
|
.filter(file -> ReUtil.isMatch(regex1, file.getName()) || ReUtil.isMatch(regex2, file.getName()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
for (File ftpFile : ftpFiles) {
|
for (File ftpFile : ftpFiles) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user