GammaFileUtil遗漏writeFile方法调用问题修改

This commit is contained in:
qiaoqinzheng 2023-10-16 17:18:32 +08:00
parent 3aec8a468a
commit bc1d9fb90a

View File

@ -601,8 +601,6 @@ public class GammaFileUtil extends AbstractLogOrReport {
} }
public void RunQC(PHDFile phd) { public void RunQC(PHDFile phd) {
//调用dll库
//System.loadLibrary("GammaAnaly");
try { try {
//获取phdFile的 采集开始时间 //获取phdFile的 采集开始时间
Date start = DateUtils.parseDate(phd.getCollect().getCollection_start_date() + StringPool.SPACE + phd.getCollect().getCollection_start_time()); Date start = DateUtils.parseDate(phd.getCollect().getCollection_start_date() + StringPool.SPACE + phd.getCollect().getCollection_start_time());
@ -747,7 +745,6 @@ public class GammaFileUtil extends AbstractLogOrReport {
} }
public Double CalculateMDC(PHDFile phd, List<Double> vMdcInfo, Double CCF) { public Double CalculateMDC(PHDFile phd, List<Double> vMdcInfo, Double CCF) {
//System.loadLibrary("GammaAnaly");
try { try {
//判断用于计算的数据大小是否小于3 判断集合中最后一个数值是否等于0 //判断用于计算的数据大小是否小于3 判断集合中最后一个数值是否等于0
if(vMdcInfo.size() < 3 || vMdcInfo.get(2) == 0) { if(vMdcInfo.size() < 3 || vMdcInfo.get(2) == 0) {
@ -2518,14 +2515,14 @@ public class GammaFileUtil extends AbstractLogOrReport {
strBuffer.append(System.lineSeparator()); strBuffer.append(System.lineSeparator());
//文本内容第十二部分数据 //文本内容第十二部分数据
String data1 = String.format("%s peaks reported", String.valueOf(middleData.peaks_idPeak.size())); String data1 = String.format("%s peaks reported", String.valueOf(middleData.peaks_idPeak.size()));
String data2 = String.format("%s peaks with ID (%s%)", String.valueOf(peaksUsed), String.valueOf(peaksUsed / middleData.peaks_idPeak.size() * 100)); String data2 = String.format("%s peaks with ID (%s%%)", String.valueOf(peaksUsed), String.valueOf(peaksUsed / middleData.peaks_idPeak.size() * 100 ) );
String data3 = String.format("%s peaks without ID(%s%)", String.valueOf(middleData.peaks_idPeak.size() - peaksUsed), String.valueOf(Double.valueOf(middleData.peaks_idPeak.size() - peaksUsed) / middleData.peaks_idPeak.size() * 100)); String data3 = String.format("%s peaks without ID(%s%%)", String.valueOf(middleData.peaks_idPeak.size() - peaksUsed), String.valueOf(Double.valueOf(middleData.peaks_idPeak.size() - peaksUsed) / middleData.peaks_idPeak.size() * 100));
String[] dataTitle12 = new String[]{data1, data2, data3}; String[] dataTitle12 = new String[]{data1, data2, data3};
String[] dataContent12 = new String[]{"", "", ""}; String[] dataContent12 = new String[]{"", "", ""};
strBuffer.append(attributeFormat(dataTitle12, dataContent12)); strBuffer.append(attributeFormat(dataTitle12, dataContent12));
//文本内容第十三部分数据 //文本内容第十三部分数据
String data14= "PeakID : %-7s Energy : %-13s Centroid : %-13s FWHM : %-10s NetArea : %-16s NAErr%% : %-23s Signif : %-13s Sensit : %-13s Nuclide : %-30s";
for (int i=0; i<middleData.peaks_idPeak.size();i++){ for (int i=0; i<middleData.peaks_idPeak.size();i++){
String data14= "PeakID : %-7sEnergy : %-13sCentroid : %-13sFWHM : %-10sNetArea : %-16sNAErr% : %-23sSignif : %-13sSensit : %-13sNuclide : %-30s";
String idPeak = middleData.peaks_idPeak.get(i); String idPeak = middleData.peaks_idPeak.get(i);
String energy = middleData.peaks_Energy.get(i); String energy = middleData.peaks_Energy.get(i);
String peakCentroid = String.format("%.3f", Double.valueOf(middleData.peaks_peakCentroid.get(i))); String peakCentroid = String.format("%.3f", Double.valueOf(middleData.peaks_peakCentroid.get(i)));
@ -2566,8 +2563,8 @@ public class GammaFileUtil extends AbstractLogOrReport {
//换行 //换行
strBuffer.append(System.lineSeparator()); strBuffer.append(System.lineSeparator());
//文本内容第十五部分数据 //文本内容第十五部分数据
String data15 = "Nuclide : %-11s Halflife : %-20s Activity : %-14s RelErr : %-12s Conc : %-24s MDC : %-17s";
for (int i=0;i<middleData.nucl_ided_Nuclidename.size();i++){ for (int i=0;i<middleData.nucl_ided_Nuclidename.size();i++){
String data15 = "Nuclide : %-11sHalflife : %-20sActivity : %-14sRelErr : %-12sConc : %-24sMDC : %-17s";
String nuclideName = middleData.nucl_ided_Nuclidename.get(i); String nuclideName = middleData.nucl_ided_Nuclidename.get(i);
String halflife = middleData.nucl_ided_Halflife.get(i); String halflife = middleData.nucl_ided_Halflife.get(i);
String activity = String.format("%.3f", Double.valueOf(middleData.nucl_ided_activ_key.get(i))) + " bq"; String activity = String.format("%.3f", Double.valueOf(middleData.nucl_ided_activ_key.get(i))) + " bq";
@ -2589,7 +2586,7 @@ public class GammaFileUtil extends AbstractLogOrReport {
strBuffer.append(System.lineSeparator()); strBuffer.append(System.lineSeparator());
//日志文本内容第十六部分数据 //日志文本内容第十六部分数据
for (int i=0; i<middleData.QC_CHECK_QC_NAME.size();i++){ for (int i=0; i<middleData.QC_CHECK_QC_NAME.size();i++){
String data16 = "Name : %-15sPass/Fail : %-9sValue : %-14sTest : %-16s"; String data16 = "Name : %-15s Pass/Fail : %-9s Value : %-14s Test : %-16s";
String qcName = middleData.QC_CHECK_QC_NAME.get(i); String qcName = middleData.QC_CHECK_QC_NAME.get(i);
String qcResult = middleData.QC_CHECK_QC_RESULT.get(i).equals("0") ? "Fail" : "Pass"; String qcResult = middleData.QC_CHECK_QC_RESULT.get(i).equals("0") ? "Fail" : "Pass";
String qcValue = String.format("%.3f", Double.valueOf(middleData.QC_CHECK_QC_VALUE.get(i))); String qcValue = String.format("%.3f", Double.valueOf(middleData.QC_CHECK_QC_VALUE.get(i)));
@ -3110,6 +3107,9 @@ public class GammaFileUtil extends AbstractLogOrReport {
String qsSaveBaseLine = StringPool.SLASH+spectrumPathProperties.getRootPath()+StringPool.SLASH+qsBaseLinePath; String qsSaveBaseLine = StringPool.SLASH+spectrumPathProperties.getRootPath()+StringPool.SLASH+qsBaseLinePath;
String qsSaveLc = StringPool.SLASH+spectrumPathProperties.getRootPath()+StringPool.SLASH+qsLcPath; String qsSaveLc = StringPool.SLASH+spectrumPathProperties.getRootPath()+StringPool.SLASH+qsLcPath;
String qsSaveScac = StringPool.SLASH+spectrumPathProperties.getRootPath()+StringPool.SLASH+qsScacPath; String qsSaveScac = StringPool.SLASH+spectrumPathProperties.getRootPath()+StringPool.SLASH+qsScacPath;
GammaReportUtil.writeFile(fileAnlyse.getBaseCtrls(), qsSaveBaseLine);
GammaReportUtil.writeFile(fileAnlyse.getVLc(), "LC", qsSaveLc);
GammaReportUtil.writeFile(fileAnlyse.getVScac(), "SCSC", qsSaveScac);
// WriteBaseInfo(fileAnlyse.getBaseCtrls(),qsSaveBaseLine); // WriteBaseInfo(fileAnlyse.getBaseCtrls(),qsSaveBaseLine);
// WriteLcScac(fileAnlyse.getVLc(),"Lc",qsSaveLc); // WriteLcScac(fileAnlyse.getVLc(),"Lc",qsSaveLc);
// WriteLcScac(fileAnlyse.getVScac(),"Scac",qsSaveScac); // WriteLcScac(fileAnlyse.getVScac(),"Scac",qsSaveScac);
@ -4359,30 +4359,33 @@ public class GammaFileUtil extends AbstractLogOrReport {
} }
// Certificate // Certificate
if(CollectionUtils.isNotEmpty(phd.getCertificate().getG_energy())) { CertificateBlock phdCertificate = phd.getCertificate();
spectrum.append("#Certificate"); if (Objects.nonNull(phdCertificate)) {
//换行 if(CollectionUtils.isNotEmpty(phd.getCertificate().getG_energy())) {
spectrum.append(System.lineSeparator()); spectrum.append("#Certificate");
spectrum.append(phd.getCertificate().getTotal_source_activity()); //换行
spectrum.append(phd.getCertificate().getAssay_date());
spectrum.append(phd.getCertificate().getAssay_time());
spectrum.append(phd.getCertificate().getUnits_activity());
//换行
spectrum.append(System.lineSeparator());
String certificate = "%-12s %-12s %-12s %-12s %-12s %-12s %-12s %-12s %-12s %-12s";
for(int i=0; i<phd.getCertificate().getG_energy().size(); i++) {
String nuclide_name = phd.getCertificate().getNuclide_name().get(i);
String half_life_time = phd.getCertificate().getHalf_life_time().get(i);
String time_unit = phd.getCertificate().getTime_unit().get(i);
String activity_nuclide_time_assay = String.valueOf(phd.getCertificate().getActivity_nuclide_time_assay().get(i));
String uncertainty = String.valueOf(phd.getCertificate().getUncertainty().get(i));
String g_energy = String.valueOf(phd.getCertificate().getG_energy().get(i));
String g_intensity = String.valueOf(phd.getCertificate().getG_intensity().get(i));
String electron_decay_mode = phd.getCertificate().getElectron_decay_mode().get(i);
String maximum_energy = String.valueOf(phd.getCertificate().getMaximum_energy().get(i));
String intensity_b_particle = String.valueOf(phd.getCertificate().getIntensity_b_particle().get(i));
spectrum.append(rowFormat(certificate, nuclide_name, half_life_time, time_unit, activity_nuclide_time_assay, uncertainty, g_energy, g_intensity, electron_decay_mode, maximum_energy, intensity_b_particle));
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
spectrum.append(phd.getCertificate().getTotal_source_activity());
spectrum.append(phd.getCertificate().getAssay_date());
spectrum.append(phd.getCertificate().getAssay_time());
spectrum.append(phd.getCertificate().getUnits_activity());
//换行
spectrum.append(System.lineSeparator());
String certificate = "%-12s %-12s %-12s %-12s %-12s %-12s %-12s %-12s %-12s %-12s";
for(int i=0; i<phd.getCertificate().getG_energy().size(); i++) {
String nuclide_name = phd.getCertificate().getNuclide_name().get(i);
String half_life_time = phd.getCertificate().getHalf_life_time().get(i);
String time_unit = phd.getCertificate().getTime_unit().get(i);
String activity_nuclide_time_assay = String.valueOf(phd.getCertificate().getActivity_nuclide_time_assay().get(i));
String uncertainty = String.valueOf(phd.getCertificate().getUncertainty().get(i));
String g_energy = String.valueOf(phd.getCertificate().getG_energy().get(i));
String g_intensity = String.valueOf(phd.getCertificate().getG_intensity().get(i));
String electron_decay_mode = phd.getCertificate().getElectron_decay_mode().get(i);
String maximum_energy = String.valueOf(phd.getCertificate().getMaximum_energy().get(i));
String intensity_b_particle = String.valueOf(phd.getCertificate().getIntensity_b_particle().get(i));
spectrum.append(rowFormat(certificate, nuclide_name, half_life_time, time_unit, activity_nuclide_time_assay, uncertainty, g_energy, g_intensity, electron_decay_mode, maximum_energy, intensity_b_particle));
spectrum.append(System.lineSeparator());
}
} }
} }
@ -4402,14 +4405,16 @@ public class GammaFileUtil extends AbstractLogOrReport {
//换行 //换行
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
GEnergyBlock g_ener = phd.getUsedEnerKD(); GEnergyBlock g_ener = phd.getUsedEnerKD();
for(int i=0; i<g_ener.getG_energy().size(); i++) { if (Objects.nonNull(g_ener)) {
String g_energy = RightFill(String.format("%.9f", g_ener.getG_energy().get(i)), 16); for(int i=0; i<g_ener.getG_energy().size(); i++) {
String centroid_channel = RightFill(String.format("%.9f", g_ener.getCentroid_channel().get(i)), 16); String g_energy = RightFill(String.format("%.9f", g_ener.getG_energy().get(i)), 16);
String uncertainty = RightFill(String.format("%.9f", g_ener.getUncertainty().get(i).isNaN() ? 0.5 : g_ener.getUncertainty().get(i)), 16); String centroid_channel = RightFill(String.format("%.9f", g_ener.getCentroid_channel().get(i)), 16);
String energy = "%s %s %s"; String uncertainty = RightFill(String.format("%.9f", g_ener.getUncertainty().get(i).isNaN() ? 0.5 : g_ener.getUncertainty().get(i)), 16);
spectrum.append(rowFormat(energy, g_energy, centroid_channel, uncertainty)); String energy = "%s %s %s";
//换行 spectrum.append(rowFormat(energy, g_energy, centroid_channel, uncertainty));
spectrum.append(System.lineSeparator()); //换行
spectrum.append(System.lineSeparator());
}
} }
// #g_Resolution // #g_Resolution
@ -4417,14 +4422,16 @@ public class GammaFileUtil extends AbstractLogOrReport {
//换行 //换行
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
GResolutionBlock g_reso = phd.getUsedResoKD(); GResolutionBlock g_reso = phd.getUsedResoKD();
for(int i=0; i<g_reso.getFWHM().size(); i++) { if (Objects.nonNull(g_reso)) {
String g_energy = RightFill(String.format("%.9f", g_reso.getG_energy().get(i)), 16); for(int i=0; i<g_reso.getFWHM().size(); i++) {
String fwhm = RightFill(String.format("%.9f", g_reso.getFWHM().get(i)), 16); String g_energy = RightFill(String.format("%.9f", g_reso.getG_energy().get(i)), 16);
String uncertainty = RightFill(String.format("%.9f", g_reso.getUncertainty().get(i).isNaN() ? 0.5 : g_reso.getUncertainty().get(i)), 16); String fwhm = RightFill(String.format("%.9f", g_reso.getFWHM().get(i)), 16);
String reso = "%s %s %s"; String uncertainty = RightFill(String.format("%.9f", g_reso.getUncertainty().get(i).isNaN() ? 0.5 : g_reso.getUncertainty().get(i)), 16);
spectrum.append(rowFormat(reso, g_energy, fwhm, uncertainty)); String reso = "%s %s %s";
//换行 spectrum.append(rowFormat(reso, g_energy, fwhm, uncertainty));
spectrum.append(System.lineSeparator()); //换行
spectrum.append(System.lineSeparator());
}
} }
// #g_Efficiency // #g_Efficiency
@ -4432,29 +4439,33 @@ public class GammaFileUtil extends AbstractLogOrReport {
//换行 //换行
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
GEfficiencyBlock g_effi = phd.getUsedEffiKD(); GEfficiencyBlock g_effi = phd.getUsedEffiKD();
for(int i=0; i<g_effi.getEfficiency().size(); i++) { if (Objects.nonNull(g_effi)) {
String g_energy = RightFill(String.format("%.9f", g_effi.getG_energy().get(i)), 16); for(int i=0; i<g_effi.getEfficiency().size(); i++) {
String g_efficiency = RightFill(String.format("%.9f", g_effi.getEfficiency().get(i)), 16); String g_energy = RightFill(String.format("%.9f", g_effi.getG_energy().get(i)), 16);
String uncertainty = RightFill(String.format("%.9f", g_effi.getUncertainty().get(i).isNaN() ? 0.5 : g_effi.getUncertainty().get(i)), 16); String g_efficiency = RightFill(String.format("%.9f", g_effi.getEfficiency().get(i)), 16);
String efficiency = "%s %s %s"; String uncertainty = RightFill(String.format("%.9f", g_effi.getUncertainty().get(i).isNaN() ? 0.5 : g_effi.getUncertainty().get(i)), 16);
spectrum.append(rowFormat(efficiency, g_energy, g_efficiency, uncertainty)); String efficiency = "%s %s %s";
spectrum.append(System.lineSeparator()); spectrum.append(rowFormat(efficiency, g_energy, g_efficiency, uncertainty));
spectrum.append(System.lineSeparator());
}
} }
// #TotalEff // #TotalEff
if(phd.getUsedTotEKD().getG_energy().size() > 0) { TotaleffBlock g_totE = phd.getUsedTotEKD();
spectrum.append("#TotalEff"); if (Objects.nonNull(g_totE)) {
//换行 if(g_totE.getG_energy().size() > 0) {
spectrum.append(System.lineSeparator()); spectrum.append("#TotalEff");
TotaleffBlock g_totE = phd.getUsedTotEKD();
for(int i=0; i<g_totE.getRecord_count(); i++) {
String g_energy = RightFill(String.format("%.9f", g_totE.getG_energy().get(i)), 16);
String total_efficiency = RightFill(String.format("%.9f", g_totE.getTotal_efficiency().get(i)), 16);
String uncertainty = RightFill(String.format("%.9f", g_totE.getUncertainty().get(i).isNaN() ? 0.5 : g_totE.getUncertainty().get(i)), 16);
String totalEff = "%s %s %s";
spectrum.append(rowFormat(totalEff, g_energy, total_efficiency, uncertainty));
//换行 //换行
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
for(int i=0; i<g_totE.getRecord_count(); i++) {
String g_energy = RightFill(String.format("%.9f", g_totE.getG_energy().get(i)), 16);
String total_efficiency = RightFill(String.format("%.9f", g_totE.getTotal_efficiency().get(i)), 16);
String uncertainty = RightFill(String.format("%.9f", g_totE.getUncertainty().get(i).isNaN() ? 0.5 : g_totE.getUncertainty().get(i)), 16);
String totalEff = "%s %s %s";
spectrum.append(rowFormat(totalEff, g_energy, total_efficiency, uncertainty));
//换行
spectrum.append(System.lineSeparator());
}
} }
} }
@ -4462,44 +4473,60 @@ public class GammaFileUtil extends AbstractLogOrReport {
spectrum.append("#g_Spectrum"); spectrum.append("#g_Spectrum");
//换行 //换行
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
String spectrumData = "%s %s"; GSpectrumBlock spec = phd.getSpec();
String num_g_channel = RightFill(String.valueOf(phd.getSpec().getNum_g_channel()), 5); if (Objects.nonNull(spec)) {
String g_energy_span = RightFill(String.valueOf(phd.getSpec().getG_energy_span()), 4); String spectrumData = "%s %s";
spectrum.append(rowFormat(spectrumData, num_g_channel, g_energy_span)); String num_g_channel = RightFill(String.valueOf(phd.getSpec().getNum_g_channel()), 5);
//换行 String g_energy_span = RightFill(String.valueOf(phd.getSpec().getG_energy_span()), 4);
spectrum.append(System.lineSeparator()); spectrum.append(rowFormat(spectrumData, num_g_channel, g_energy_span));
int i=0;
int j = (int) phd.getSpec().getBegin_channel();
int len = phd.getSpec().getCounts().size();
for(; i<len-4; i+=5,j+=5) {
String spectrumData2 = "%s %s %s %s %s %s";
String number1 = RightFill(String.valueOf(j), 5);
String number2 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i)), 10);
String number3 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 1)), 10);
String number4 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 2)), 10);
String number5 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 3)), 10);
String number6 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 4)), 10);
spectrum.append(rowFormat(spectrumData2, number1, number2, number3, number4, number5, number6));
//换行 //换行
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
} int i=0;
if(i < len) { int j = (int) phd.getSpec().getBegin_channel();
String spectrumData3 = "%s %s"; int len = phd.getSpec().getCounts().size();
String number1 = RightFill(String.valueOf(j), 5); for(; i<len-4; i+=5,j+=5) {
String number2 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i)), 10); String spectrumData2 = "%s %s %s %s %s %s";
spectrum.append(rowFormat(spectrumData3, number1, number2)); String number1 = RightFill(String.valueOf(j), 5);
for(i = i+1; i < phd.getSpec().getNum_g_channel(); ++i) { String number2 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i)), 10);
String spectrumData4 = " %s"; String number3 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 1)), 10);
String number3 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i)), 10); String number4 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 2)), 10);
spectrum.append(rowFormat(spectrumData4, number3)); String number5 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 3)), 10);
String number6 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i + 4)), 10);
spectrum.append(rowFormat(spectrumData2, number1, number2, number3, number4, number5, number6));
//换行
spectrum.append(System.lineSeparator());
}
if(i < len) {
String spectrumData3 = "%s %s";
String number1 = RightFill(String.valueOf(j), 5);
String number2 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i)), 10);
spectrum.append(rowFormat(spectrumData3, number1, number2));
for(i = i+1; i < phd.getSpec().getNum_g_channel(); ++i) {
String spectrumData4 = " %s";
String number3 = RightFill(String.valueOf(phd.getSpec().getCounts().get(i)), 10);
spectrum.append(rowFormat(spectrumData4, number3));
}
spectrum.append(System.lineSeparator());
} }
spectrum.append(System.lineSeparator());
} }
spectrum.append("STOP"); spectrum.append("STOP");
spectrum.append(System.lineSeparator()); spectrum.append(System.lineSeparator());
return spectrum.toString(); return spectrum.toString();
} }
public ChartData CreateTempBaseLine(String color, String name, BaseControls m_baseCtrl) {
ChartData cData = new ChartData();
cData.setColor(color);
cData.setName(name);
for(int i=0; i<m_baseCtrl.getBaseline().size(); ++i) {
SeriseData seriseData = new SeriseData();
seriseData.setX(i+1);
seriseData.setY(m_baseCtrl.getBaseline().get(i));
cData.getPointlist().add(seriseData);
}
return cData;
}
public List<ShapeData> CreateShapeCP(BaseControls baseControls) { public List<ShapeData> CreateShapeCP(BaseControls baseControls) {
List<ShapeData> shapes = new LinkedList<>(); List<ShapeData> shapes = new LinkedList<>();
for(int i=0; i<baseControls.getXCtrl().size(); ++i) { for(int i=0; i<baseControls.getXCtrl().size(); ++i) {