diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java index 0502e66b..ef6357c1 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java @@ -2641,349 +2641,354 @@ public class GammaFileUtil extends AbstractLogOrReport { } public String GetReportContent(GStoreMiddleProcessData middleData) { - StringBuffer strBuffer = new StringBuffer(); - strBuffer.append(" CNL06 GENERATED REPORT"); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(" "+middleData.analyses_type+" RADIONUCLIDE REPORT"); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(" (Noble Gas Version) "); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(" Creation Date "+DateUtils.formatDate(new Date(), "yyyy/MM/dd-HH:mm:ss")); - //换行 - strBuffer.append(System.lineSeparator()); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append("#SAMPLE INFORMATION"); - //换行 - strBuffer.append(System.lineSeparator()); - //换行 - strBuffer.append(System.lineSeparator()); - //报告内容第一部分数据 - String[] cells1 = new String[]{" Station ID", " Detector ID", " Sample ID", " Sample Geometry", " Sample Quantity[m3]", " Sample Type", " Collection Start", " Collection Stop", - " Sampling Time[h]", " Decay Time[h]", " Acquisition Start", " Acquisition Stop", " Acquisition Time[s]", " Avg Flow Rate[m3/h]", " Collection Station Comments"}; - String[] datas1 = new String[]{middleData.sample_stationID, middleData.sample_detectID, middleData.sample_id, middleData.sample_Geometry, middleData.sample_quantity, middleData.sample_Type, middleData.sample_collection_start, - middleData.sample_collection_stop, middleData.sample_time, middleData.sample_decay_time, middleData.sample_acquisiton_start, middleData.sample_acquistion_stop, middleData.sample_acquistion_time, middleData.sample_Avg_Flow_Rate, - middleData.Collection_Station_Comments}; - //根据固定宽度切割数据 - Map> reportMap1 = GetReportFixedWidth(cells1, datas1, 30); - List title1 = reportMap1.get("title"); - List content1 = reportMap1.get("content"); - for (int i=0; i< title1.size(); i++) { - String title = title1.get(i); - String content = content1.get(i); - strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + try { + StringBuffer strBuffer = new StringBuffer(); + strBuffer.append(" CNL06 GENERATED REPORT"); //换行 strBuffer.append(System.lineSeparator()); - } - //报告内容第二部分数据 - String[] cell2 = new String[]{" Analysis General Comments"}; - String[] datas2 = new String[]{middleData.NDC_Analysis_General_Comments}; - //根据固定宽度切割数据 - Map> reportMap2 = GetReportFixedWidth(cell2, datas2, 30); - List title2 = reportMap2.get("title"); - List content2 = reportMap2.get("content"); - for (int i=0; i< title2.size(); i++) { - String title = title2.get(i); - String content = content2.get(i); - strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + strBuffer.append(" "+middleData.analyses_type+" RADIONUCLIDE REPORT"); //换行 strBuffer.append(System.lineSeparator()); - } - //获取核素信息 - String qsNuclidesName = ""; - for(int m=0;m1) { - qsNuclidesName = qsNuclidesName+middleData.nucl_ided_Nuclidename.get(middleData.nucl_ided_Nuclidename.size()-1); - } - strBuffer.append("#ACTIVITY SUMMARY"); - //换行 - strBuffer.append(System.lineSeparator()); - //换行 - strBuffer.append(System.lineSeparator()); - //报告内容第三部分数据 - String[] cells3 = new String[]{" Nuclides Identified"}; - String[] datas3 = new String[]{qsNuclidesName}; - //根据固定宽度切割数据 - Map> reportMap3 = GetReportFixedWidth(cells3, datas3, 30); - List title3 = reportMap3.get("title"); - List content3 = reportMap3.get("content"); - for (int i=0; i< title3.size(); i++) { - String title = title3.get(i); - String content = content3.get(i); - strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + strBuffer.append(" (Noble Gas Version) "); //换行 strBuffer.append(System.lineSeparator()); - } - strBuffer.append(String.format("%s:%-30s%s", " Keyline Activities for Nuclides", StringPool.SPACE, "")); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " with defined Reference Line", StringPool.SPACE, "")); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Activity Reference Time", StringPool.SPACE, middleData.sample_acquisiton_start)); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Concentration Reference Time", StringPool.SPACE, middleData.sample_collection_start)); - //换行 - strBuffer.append(System.lineSeparator()); - //换行 - strBuffer.append(System.lineSeparator()); - //换行 - strBuffer.append(System.lineSeparator()); - String nuclideTitle = "%-41s%-33s%-15s%-14s%-15s%-21s%-15s"; - String[] nuclideData = new String[]{" Nuclide", "Halflife(s)", "Activity(Bq)", "RelErr%", "MDA(Bq)", "Conc(uBq/m^3)", "MDC"}; - strBuffer.append(rowFormat(nuclideTitle, nuclideData)); - strBuffer.append(System.lineSeparator()); - for (int i=0; i0) { - strBuffer.append("#Calibration"); + strBuffer.append("#SAMPLE INFORMATION"); //换行 strBuffer.append(System.lineSeparator()); - strBuffer.append(" Energy Calibration ["+middleData.calibration_pairs_E_Input+" ]"); //换行 strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_E_functionTypeDef)); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_E_functionDef)); - //换行 - strBuffer.append(System.lineSeparator()); - String[] cells4 = new String[]{" P"}; - String[] datas4 = new String[]{middleData.calibration_E_coeff_string}; + //报告内容第一部分数据 + String[] cells1 = new String[]{" Station ID", " Detector ID", " Sample ID", " Sample Geometry", " Sample Quantity[m3]", " Sample Type", " Collection Start", " Collection Stop", + " Sampling Time[h]", " Decay Time[h]", " Acquisition Start", " Acquisition Stop", " Acquisition Time[s]", " Avg Flow Rate[m3/h]", " Collection Station Comments"}; + String[] datas1 = new String[]{middleData.sample_stationID, middleData.sample_detectID, middleData.sample_id, middleData.sample_Geometry, middleData.sample_quantity, middleData.sample_Type, middleData.sample_collection_start, + middleData.sample_collection_stop, middleData.sample_time, middleData.sample_decay_time, middleData.sample_acquisiton_start, middleData.sample_acquistion_stop, middleData.sample_acquistion_time, middleData.sample_Avg_Flow_Rate, + middleData.Collection_Station_Comments}; //根据固定宽度切割数据 - Map> reportMap4 = GetReportFixedWidth(cells4, datas4, 30); - List title4 = reportMap4.get("title"); - List content4 = reportMap4.get("content"); - for (int i=0; i< title4.size(); i++) { - String title = title4.get(i); - String content = content4.get(i); + Map> reportMap1 = GetReportFixedWidth(cells1, datas1, 30); + List title1 = reportMap1.get("title"); + List content1 = reportMap1.get("content"); + for (int i=0; i< title1.size(); i++) { + String title = title1.get(i); + String content = content1.get(i); strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); //换行 strBuffer.append(System.lineSeparator()); } + //报告内容第二部分数据 + String[] cell2 = new String[]{" Analysis General Comments"}; + String[] datas2 = new String[]{middleData.NDC_Analysis_General_Comments}; + //根据固定宽度切割数据 + Map> reportMap2 = GetReportFixedWidth(cell2, datas2, 30); + List title2 = reportMap2.get("title"); + List content2 = reportMap2.get("content"); + for (int i=0; i< title2.size(); i++) { + String title = title2.get(i); + String content = content2.get(i); + strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + //换行 + strBuffer.append(System.lineSeparator()); + } + //获取核素信息 + String qsNuclidesName = ""; + for(int m=0;m1) { + qsNuclidesName = qsNuclidesName+middleData.nucl_ided_Nuclidename.get(middleData.nucl_ided_Nuclidename.size()-1); + } + strBuffer.append("#ACTIVITY SUMMARY"); + //换行 + strBuffer.append(System.lineSeparator()); + //换行 + strBuffer.append(System.lineSeparator()); + //报告内容第三部分数据 + String[] cells3 = new String[]{" Nuclides Identified"}; + String[] datas3 = new String[]{qsNuclidesName}; + //根据固定宽度切割数据 + Map> reportMap3 = GetReportFixedWidth(cells3, datas3, 30); + List title3 = reportMap3.get("title"); + List content3 = reportMap3.get("content"); + for (int i=0; i< title3.size(); i++) { + String title = title3.get(i); + String content = content3.get(i); + strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + //换行 + strBuffer.append(System.lineSeparator()); + } + strBuffer.append(String.format("%s:%-30s%s", " Keyline Activities for Nuclides", StringPool.SPACE, "")); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " with defined Reference Line", StringPool.SPACE, "")); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Activity Reference Time", StringPool.SPACE, middleData.sample_acquisiton_start)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Concentration Reference Time", StringPool.SPACE, middleData.sample_collection_start)); + //换行 + strBuffer.append(System.lineSeparator()); + //换行 + strBuffer.append(System.lineSeparator()); + //换行 + strBuffer.append(System.lineSeparator()); + String nuclideTitle = "%-41s%-33s%-15s%-14s%-15s%-21s%-15s"; + String[] nuclideData = new String[]{" Nuclide", "Halflife(s)", "Activity(Bq)", "RelErr%", "MDA(Bq)", "Conc(uBq/m^3)", "MDC"}; + strBuffer.append(rowFormat(nuclideTitle, nuclideData)); + strBuffer.append(System.lineSeparator()); + for (int i=0; i0) { - strBuffer.append(" Resolution Calibration ["+middleData.calibration_pairs_R_Input+" ]"); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_R_functionTypeDef)); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_R_functionDef)); - //换行 - strBuffer.append(System.lineSeparator()); - String[] cells5 = new String[]{" P"}; - String[] datas5 = new String[]{middleData.calibration_R_coeff_string}; - //根据固定宽度切割数据 - Map> reportMap5 = GetReportFixedWidth(cells5, datas5, 30); - List title5 = reportMap5.get("title"); - List content5 = reportMap5.get("content"); - for (int i=0; i< title5.size(); i++) { - String title = title5.get(i); - String content = content5.get(i); - strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + for (int i=0; i0) { - strBuffer.append(" Efficiency Calibration ["+middleData.calibration_pairs_EF_Input+" ]"); + strBuffer.append(String.format("%s:%-30s%s", " ECutAnalysis_High", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getECutAnalysis_High()))); //换行 strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_EF_functionTypeDef)); + strBuffer.append(String.format("%s:%-30s%s", " EnergyTolerance", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getEnergyTolerance()))); //换行 strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_EF_functionDef)); + strBuffer.append(String.format("%s:%-30s%s", " BaseImprovePSS", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getBaseImprovePSS()))); //换行 strBuffer.append(System.lineSeparator()); - String[] cells6 = new String[]{" P"}; - String[] datas6 = new String[]{middleData.calibration_EF_coeff_string}; - //根据固定宽度切割数据 - Map> reportMap6 = GetReportFixedWidth(cells6, datas6, 30); - List title6 = reportMap6.get("title"); - List content6 = reportMap6.get("content"); - for (int i=0; i< title6.size(); i++) { - String title = title6.get(i); - String content = content6.get(i); - strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + strBuffer.append(String.format("%s:%-30s%s", " PSS_low", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getPss_low()))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " k_back", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getK_back()))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " k_alpha", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getK_alpha()))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " k_beta", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getK_beta()))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " RiskLevelK", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getRiskLevelK()))); + //换行 + strBuffer.append(System.lineSeparator()); + Date refTimeAct = middleData.setting_specSetup.getRefTime_act(); + strBuffer.append(String.format("%s:%-30s%s", " refTime_act", StringPool.SPACE, DateUtils.formatDate(refTimeAct), "yyyy-MM-dd HH:mm:ss")); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " refTime_conc", StringPool.SPACE, DateUtils.formatDate(middleData.setting_specSetup.getRefTime_conc(), "yyyy-MM-dd HH:mm:ss"))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append("#CALIBRATION PARAMETERS"); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " CalibrationPSS_low", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getCalibrationPSS_low()))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " CalibrationPSS_high", StringPool.SPACE, String.valueOf(middleData.setting_specSetup.getCalibrationPSS_high()))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " bUpdateCal", StringPool.SPACE, (middleData.setting_specSetup.isBUpdateCal()?"1":"0"))); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " KeepCalPeakSearchPeaks", StringPool.SPACE, (middleData.setting_specSetup.isKeepCalPeakSearchPeaks()?"1":"0"))); + //换行 + strBuffer.append(System.lineSeparator()); + if(middleData.calibration_pairs_E_idCalPoint.size()>0) { + strBuffer.append("#Calibration"); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(" Energy Calibration ["+middleData.calibration_pairs_E_Input+" ]"); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_E_functionTypeDef)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_E_functionDef)); + //换行 + strBuffer.append(System.lineSeparator()); + String[] cells4 = new String[]{" P"}; + String[] datas4 = new String[]{middleData.calibration_E_coeff_string}; + //根据固定宽度切割数据 + Map> reportMap4 = GetReportFixedWidth(cells4, datas4, 30); + List title4 = reportMap4.get("title"); + List content4 = reportMap4.get("content"); + for (int i=0; i< title4.size(); i++) { + String title = title4.get(i); + String content = content4.get(i); + strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + //换行 + strBuffer.append(System.lineSeparator()); + } + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Err", StringPool.SPACE, middleData.calibration_E_uncoeff_string)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Data", StringPool.SPACE, middleData.calibration_pairs_E_Input)); + //换行 + strBuffer.append(System.lineSeparator()); + //换行 + strBuffer.append(System.lineSeparator()); //换行 strBuffer.append(System.lineSeparator()); } - strBuffer.append(String.format("%s:%-30s%s", " Err", StringPool.SPACE, middleData.calibration_EF_uncoeff_string)); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Data", StringPool.SPACE, middleData.calibration_pairs_EF_Input)); - //换行 - strBuffer.append(System.lineSeparator()); - //换行 - strBuffer.append(System.lineSeparator()); - } - if(middleData.calibration_pairs_T_idCalPoint.size()>0) { - strBuffer.append(" Tot_efficiency Calibration ["+middleData.calibration_pairs_T_Input+" ]"); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_T_functionTypeDef)); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_T_functionDef)); - //换行 - strBuffer.append(System.lineSeparator()); - String[] cells7 = new String[]{" P"}; - String[] datas7 = new String[]{middleData.calibration_T_coeff_string}; - //根据固定宽度切割数据 - Map> reportMap7 = GetReportFixedWidth(cells7, datas7, 30); - List title7 = reportMap7.get("title"); - List content7 = reportMap7.get("content"); - for (int i=0; i< title7.size(); i++) { - String title = title7.get(i); - String content = content7.get(i); - strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + if(middleData.calibration_pairs_R_idCalPoint.size()>0) { + strBuffer.append(" Resolution Calibration ["+middleData.calibration_pairs_R_Input+" ]"); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_R_functionTypeDef)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_R_functionDef)); + //换行 + strBuffer.append(System.lineSeparator()); + String[] cells5 = new String[]{" P"}; + String[] datas5 = new String[]{middleData.calibration_R_coeff_string}; + //根据固定宽度切割数据 + Map> reportMap5 = GetReportFixedWidth(cells5, datas5, 30); + List title5 = reportMap5.get("title"); + List content5 = reportMap5.get("content"); + for (int i=0; i< title5.size(); i++) { + String title = title5.get(i); + String content = content5.get(i); + strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + //换行 + strBuffer.append(System.lineSeparator()); + } + strBuffer.append(String.format("%s:%-30s%s", " Err", StringPool.SPACE, middleData.calibration_R_uncoeff_string)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Data", StringPool.SPACE, middleData.calibration_pairs_R_Input)); + //换行 + strBuffer.append(System.lineSeparator()); //换行 strBuffer.append(System.lineSeparator()); } - strBuffer.append(String.format("%s:%-30s%s", " Err", StringPool.SPACE, middleData.calibration_T_uncoeff_string)); - //换行 - strBuffer.append(System.lineSeparator()); - strBuffer.append(String.format("%s:%-30s%s", " Data", StringPool.SPACE, middleData.calibration_pairs_T_Input)); + if(middleData.calibration_pairs_EF_idCalPoint.size()>0) { + strBuffer.append(" Efficiency Calibration ["+middleData.calibration_pairs_EF_Input+" ]"); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_EF_functionTypeDef)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_EF_functionDef)); + //换行 + strBuffer.append(System.lineSeparator()); + String[] cells6 = new String[]{" P"}; + String[] datas6 = new String[]{middleData.calibration_EF_coeff_string}; + //根据固定宽度切割数据 + Map> reportMap6 = GetReportFixedWidth(cells6, datas6, 30); + List title6 = reportMap6.get("title"); + List content6 = reportMap6.get("content"); + for (int i=0; i< title6.size(); i++) { + String title = title6.get(i); + String content = content6.get(i); + strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + //换行 + strBuffer.append(System.lineSeparator()); + } + strBuffer.append(String.format("%s:%-30s%s", " Err", StringPool.SPACE, middleData.calibration_EF_uncoeff_string)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Data", StringPool.SPACE, middleData.calibration_pairs_EF_Input)); + //换行 + strBuffer.append(System.lineSeparator()); + //换行 + strBuffer.append(System.lineSeparator()); + } + if(middleData.calibration_pairs_T_idCalPoint.size()>0) { + strBuffer.append(" Tot_efficiency Calibration ["+middleData.calibration_pairs_T_Input+" ]"); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Function", StringPool.SPACE, middleData.calibration_T_functionTypeDef)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " E", StringPool.SPACE, middleData.calibration_T_functionDef)); + //换行 + strBuffer.append(System.lineSeparator()); + String[] cells7 = new String[]{" P"}; + String[] datas7 = new String[]{middleData.calibration_T_coeff_string}; + //根据固定宽度切割数据 + Map> reportMap7 = GetReportFixedWidth(cells7, datas7, 30); + List title7 = reportMap7.get("title"); + List content7 = reportMap7.get("content"); + for (int i=0; i< title7.size(); i++) { + String title = title7.get(i); + String content = content7.get(i); + strBuffer.append(String.format("%s:%-30s%s", title, StringPool.SPACE, content)); + //换行 + strBuffer.append(System.lineSeparator()); + } + strBuffer.append(String.format("%s:%-30s%s", " Err", StringPool.SPACE, middleData.calibration_T_uncoeff_string)); + //换行 + strBuffer.append(System.lineSeparator()); + strBuffer.append(String.format("%s:%-30s%s", " Data", StringPool.SPACE, middleData.calibration_pairs_T_Input)); + //换行 + strBuffer.append(System.lineSeparator()); + //换行 + strBuffer.append(System.lineSeparator()); + } + strBuffer.append("#DATA QUALITY FLAGS"); //换行 strBuffer.append(System.lineSeparator()); + String qualityTitle = "%-41s%-33s%-15s%-14s"; + strBuffer.append(rowFormat(qualityTitle, " Name", "Pass/Fail", "Value", "Test")); //换行 strBuffer.append(System.lineSeparator()); + for (int i=0;i DoubleLimit(List data) {