修改beta模块saveToDB接口问题

修改gamma模块saveToDB接口问题
修改beta模块saveToTXT,saveToExcel,saveToHtml问题
This commit is contained in:
qiaoqinzheng 2023-09-21 17:20:10 +08:00
parent f7e8a4ed02
commit 7feca0fdef
31 changed files with 321 additions and 362 deletions

View File

@ -117,12 +117,12 @@
<td width="453" height="40">New Gamma</td> <td width="453" height="40">New Gamma</td>
</tr> </tr>
<tr> <tr>
<td width="463" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td> <td width="463" height="40"> CH(x) = ([[${betaCalibrationSEC.coeff1}]])+([[${betaCalibrationSEC.coeff2}]])*x+([[${betaCalibrationSEC.coeff3}]])x*x</td>
<td width="453" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td> <td width="453" height="40"> CH(x) = ([[${gammaCalibrationSEC.coeff1}]])+([[${gammaCalibrationSEC.coeff2}]])*x+([[${gammaCalibrationSEC.coeff3}]])x*x</td>
</tr> </tr>
<tr> <tr>
<td width="463" height="40"> E(x) = (-3.33443)+(0.398048)*x+(-0.000124)x*x</td> <td width="463" height="40"> E(x) = ([[${betaCalibrationSCE.coeff1}]])+([[${betaCalibrationSCE.coeff2}]])*x+([[${betaCalibrationSCE.coeff3}]])x*x</td>
<td width="453" height="40"> E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x</td> <td width="453" height="40"> E(x) = ([[${gammaCalibrationSCE.coeff1}]])+([[${gammaCalibrationSCE.coeff2}]])*x+([[${gammaCalibrationSCE.coeff3}]])x*x</td>
</tr> </tr>
<tr> <tr>
<td colspan="5" height="40">&nbsp</td> <td colspan="5" height="40">&nbsp</td>
@ -169,12 +169,12 @@
<td width="453" height="40">New Gamma</td> <td width="453" height="40">New Gamma</td>
</tr> </tr>
<tr> <tr>
<td width="463" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td> <td width="463" height="40"> CH(x) = ([[${betaCalibrationDEC.coeff1}]])+([[${betaCalibrationDEC.coeff2}]])*x+([[${betaCalibrationDEC.coeff3}]])x*x</td>
<td width="453" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td> <td width="453" height="40"> CH(x) = ([[${gammaCalibrationDEC.coeff1}]])+([[${gammaCalibrationDEC.coeff2}]])*x+([[${gammaCalibrationDEC.coeff3}]])x*x</td>
</tr> </tr>
<tr> <tr>
<td width="463" height="40"> E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x</td> <td width="463" height="40"> E(x) = ([[${betaCalibrationDCE.coeff1}]])+([[${betaCalibrationDCE.coeff2}]])*x+([[${betaCalibrationDCE.coeff3}]])x*x</td>
<td width="453" height="40"> E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x</td> <td width="453" height="40"> E(x) = ([[${gammaCalibrationDCE.coeff1}]])+([[${gammaCalibrationDCE.coeff2}]])*x+([[${gammaCalibrationDCE.coeff3}]])x*x</td>
</tr> </tr>
<tr> <tr>
<td colspan="5" height="40">&nbsp</td> <td colspan="5" height="40">&nbsp</td>
@ -222,12 +222,12 @@
<td width="453" height="40">New Gamma</td> <td width="453" height="40">New Gamma</td>
</tr> </tr>
<tr> <tr>
<td width="463" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td> <td width="463" height="40"> CH(x) = ([[${betaCalibrationGEC.coeff1}]])+([[${betaCalibrationGEC.coeff2}]])*x+([[${betaCalibrationGEC.coeff3}]])x*x</td>
<td width="453" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td> <td width="453" height="40"> CH(x) = ([[${gammaCalibrationGEC.coeff1}]])+([[${gammaCalibrationGEC.coeff2}]])*x+([[${gammaCalibrationGEC.coeff3}]])x*x</td>
</tr> </tr>
<tr> <tr>
<td width="463" height="40"> E(x) = (-3.33443)+(0.398048)*x+(-0.000124)x*x</td> <td width="463" height="40"> E(x) = ([[${betaCalibrationGCE.coeff1}]])+([[${betaCalibrationGCE.coeff2}]])*x+([[${betaCalibrationGCE.coeff3}]])x*x</td>
<td width="453" height="40"> E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x</td> <td width="453" height="40"> E(x) = ([[${gammaCalibrationGCE.coeff1}]])+([[${gammaCalibrationGCE.coeff2}]])*x+([[${gammaCalibrationGCE.coeff3}]])x*x</td>
</tr> </tr>
<tr> <tr>
<td colspan="5" height="40">&nbsp</td> <td colspan="5" height="40">&nbsp</td>

View File

@ -33,8 +33,7 @@
#SAMPLE New CALIBRATION #SAMPLE New CALIBRATION
New Beta New Gamma New Beta New Gamma
CH(x) = (?1)+(?2)*x+(?3)x*x CH(x) = (?1)+(?2)*x+(?3)x*x ${sampleNewCalibration}
E(x) = (-3.33443)+(0.398048)*x+(-0.000124)x*x E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x
#SAMPLE: LIMITS PER ROI #SAMPLE: LIMITS PER ROI
Roi Beta Gamma Roi Beta Gamma
@ -47,8 +46,7 @@ ${sampleRoi}
#DET New CALIBRATION #DET New CALIBRATION
New Beta New Gamma New Beta New Gamma
CH(x) = (?1)+(?2)*x+(?3)x*x CH(x) = (?1)+(?2)*x+(?3)x*x ${detNewCalibration}
E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x
#DET: LIMITS PER ROI #DET: LIMITS PER ROI
Roi Beta Gamma Roi Beta Gamma
@ -61,8 +59,7 @@ ${detRoi}
#GAS New CALIBRATION #GAS New CALIBRATION
New Beta New Gamma New Beta New Gamma
CH(x) = (?1)+(?2)*x+(?3)x*x CH(x) = (?1)+(?2)*x+(?3)x*x ${gasNewCalibration}
E(x) = (-3.33443)+(0.398048)*x+(-0.000124)x*x E(x) = (0.879727)+(0.365551)*x+(-2.8e-05)x*x
#GAS: LIMITS PER ROI #GAS: LIMITS PER ROI
Roi Beta Gamma Roi Beta Gamma

View File

@ -2710,10 +2710,11 @@ public class GammaFileUtil {
} }
public List<String> DoubleLimit(List data){ public List<String> DoubleLimit(List data){
List<String> rData = new LinkedList<>();
for(int pos=0;pos<data.size();pos++) { for(int pos=0;pos<data.size();pos++) {
data.set(pos, String.format("%.3f", Double.valueOf(String.valueOf(data.get(pos))))); rData.add(String.format("%.3f", Double.valueOf(String.valueOf(data.get(pos)))));
} }
return data; return rData;
} }
List<String> DoubleLimit_G(List<Double> _data) { List<String> DoubleLimit_G(List<Double> _data) {

View File

@ -76,15 +76,8 @@ public class GammaFileUtil {
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
ftpClient.changeWorkingDirectory(pathName); ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); inputStream = ftpClient.retrieveFileStream(fileName);
ftpFiles = ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); if (Objects.nonNull(inputStream)) {
if (ftpFiles.size() == 0) {
result.error500("ftp获取文件数据失败");
return false;
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)) {
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
//声明一个临时文件 //声明一个临时文件
File file = File.createTempFile("tmp", null); File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件 //将ftp文件的输入流复制给临时文件
@ -270,7 +263,7 @@ public class GammaFileUtil {
return true; return true;
} }
public void SetBaseInfo(PHDFile phd){ public void SetBaseInfo(PHDFile phd) {
String pathName = phd.getFilepath(); String pathName = phd.getFilepath();
String fileName = phd.getFilename(); String fileName = phd.getFilename();
//文件名称需要加上自动处理的前缀以及修改不同的文件后缀名 //文件名称需要加上自动处理的前缀以及修改不同的文件后缀名
@ -281,6 +274,7 @@ public class GammaFileUtil {
if (Objects.isNull(ftpClient)){ if (Objects.isNull(ftpClient)){
String warning = "ftp连接失败"; String warning = "ftp连接失败";
} }
InputStream inputStream = null;
try { try {
//切换被动模式 //切换被动模式
ftpClient.enterLocalPassiveMode(); ftpClient.enterLocalPassiveMode();
@ -289,27 +283,27 @@ public class GammaFileUtil {
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
ftpClient.changeWorkingDirectory(pathName); ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles());
String lcFileName = "RNAUTO_"+subFileName + ".lc"; String lcFileName = "RNAUTO_"+subFileName + ".lc";
List<FTPFile> lcFiles = ftpFiles.stream().filter(item -> item.getName().equals(lcFileName)).collect(Collectors.toList()); inputStream = ftpClient.retrieveFileStream(lcFileName);
if (CollectionUtils.isNotEmpty(lcFiles)){ if (Objects.nonNull(inputStream)){
FTPFile lcFile = lcFiles.get(0); //声明一个临时文件
if (Objects.nonNull(lcFile)){ File file = File.createTempFile("tmp", null);
InputStream inputStream = ftpClient.retrieveFileStream(lcFile.getName()); //将ftp文件的输入流复制给临时文件
//声明一个临时文件 FileUtils.copyInputStreamToFile(inputStream, file);
File file = File.createTempFile("tmp", null); List<String> readLines = FileUtils.readLines(file, "UTF-8");
//将ftp文件的输入流复制给临时文件 List<Double> vData = ReadLcScacInfo(readLines);
FileUtils.copyInputStreamToFile(inputStream, file); phd.setVLc(vData);
List<String> readLines = FileUtils.readLines(file, "UTF-8");
List<Double> vData = ReadLcScacInfo(readLines);
phd.setVLc(vData);
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} finally { } finally {
try { try {
ftpClient.disconnect(); if (Objects.nonNull(ftpClient)) {
ftpClient.disconnect();
}
if (Objects.nonNull(inputStream)) {
inputStream.close();
}
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -321,6 +315,7 @@ public class GammaFileUtil {
if (Objects.isNull(ftpClient)){ if (Objects.isNull(ftpClient)){
String warning = "ftp连接失败"; String warning = "ftp连接失败";
} }
InputStream inputStream = null;
try { try {
//切换被动模式 //切换被动模式
ftpClient.enterLocalPassiveMode(); ftpClient.enterLocalPassiveMode();
@ -329,27 +324,27 @@ public class GammaFileUtil {
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
ftpClient.changeWorkingDirectory(pathName); ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles());
String scacFileName = "RNAUTO_"+subFileName + ".scac"; String scacFileName = "RNAUTO_"+subFileName + ".scac";
List<FTPFile> scacFiles = ftpFiles.stream().filter(item -> item.getName().equals(scacFileName)).collect(Collectors.toList()); inputStream = ftpClient.retrieveFileStream(scacFileName);
if (CollectionUtils.isNotEmpty(scacFiles)){ if (Objects.nonNull(inputStream)){
FTPFile scacFile = scacFiles.get(0); //声明一个临时文件
if (Objects.nonNull(scacFile)){ File file = File.createTempFile("tmp", null);
InputStream inputStream = ftpClient.retrieveFileStream(scacFile.getName()); //将ftp文件的输入流复制给临时文件
//声明一个临时文件 FileUtils.copyInputStreamToFile(inputStream, file);
File file = File.createTempFile("tmp", null); List<String> readLines = FileUtils.readLines(file, "UTF-8");
//将ftp文件的输入流复制给临时文件 List<Double> vData = ReadLcScacInfo(readLines);
FileUtils.copyInputStreamToFile(inputStream, file); phd.setVScac(vData);
List<String> readLines = FileUtils.readLines(file, "UTF-8");
List<Double> vData = ReadLcScacInfo(readLines);
phd.setVScac(vData);
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} finally { } finally {
try { try {
ftpClient.disconnect(); if (Objects.nonNull(ftpClient)) {
ftpClient.disconnect();
}
if (Objects.nonNull(inputStream)) {
inputStream.close();
}
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -361,6 +356,7 @@ public class GammaFileUtil {
if (Objects.isNull(ftpClient)){ if (Objects.isNull(ftpClient)){
String warning = "ftp连接失败"; String warning = "ftp连接失败";
} }
InputStream inputStream = null;
try { try {
//切换被动模式 //切换被动模式
ftpClient.enterLocalPassiveMode(); ftpClient.enterLocalPassiveMode();
@ -369,27 +365,27 @@ public class GammaFileUtil {
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
ftpClient.changeWorkingDirectory(pathName); ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles());
String baselineFileName = "RNAUTO_"+subFileName + ".baseline"; String baselineFileName = "RNAUTO_"+subFileName + ".baseline";
List<FTPFile> baselineFiles = ftpFiles.stream().filter(item -> item.getName().equals(baselineFileName)).collect(Collectors.toList()); inputStream = ftpClient.retrieveFileStream(baselineFileName);
if (CollectionUtils.isNotEmpty(baselineFiles)){ if (Objects.nonNull(inputStream)){
FTPFile baselineFile = baselineFiles.get(0); //声明一个临时文件
if (Objects.nonNull(baselineFile)){ File file = File.createTempFile("tmp", null);
InputStream inputStream = ftpClient.retrieveFileStream(baselineFile.getName()); //将ftp文件的输入流复制给临时文件
//声明一个临时文件 FileUtils.copyInputStreamToFile(inputStream, file);
File file = File.createTempFile("tmp", null); List<String> readLines = FileUtils.readLines(file, "UTF-8");
//将ftp文件的输入流复制给临时文件 ReadBaseCtrlInfo(phd,readLines);
FileUtils.copyInputStreamToFile(inputStream, file); phd.setVBase(phd.getBaseCtrls().getBaseline());
List<String> readLines = FileUtils.readLines(file, "UTF-8");
ReadBaseCtrlInfo(phd,readLines);
phd.setVBase(phd.getBaseCtrls().getBaseline());
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} finally { } finally {
try { try {
ftpClient.disconnect(); if (Objects.nonNull(ftpClient)) {
ftpClient.disconnect();
}
if (Objects.nonNull(inputStream)) {
inputStream.close();
}
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -397,7 +393,7 @@ public class GammaFileUtil {
} }
} }
public List<Double> ReadLcScacInfo(List<String> readLines){ public List<Double> ReadLcScacInfo(List<String> readLines) {
List<Double> vData = new LinkedList<>(); List<Double> vData = new LinkedList<>();
for (int i=0; i< readLines.size(); i++){ for (int i=0; i< readLines.size(); i++){
String line = readLines.get(i); String line = readLines.get(i);
@ -432,7 +428,7 @@ public class GammaFileUtil {
return vData; return vData;
} }
public void ReadBaseCtrlInfo(PHDFile phd, List<String> readLines){ public void ReadBaseCtrlInfo(PHDFile phd, List<String> readLines) {
for (int i=0; i< readLines.size(); i++){ for (int i=0; i< readLines.size(); i++){
String line = readLines.get(i); String line = readLines.get(i);
if (line.contains("#")){ if (line.contains("#")){
@ -486,7 +482,7 @@ public class GammaFileUtil {
} }
} }
public boolean getResultFromDB(String dbName, Integer sampleId, PHDFile phd, Result result){ public boolean getResultFromDB(String dbName, String userName, Integer sampleId, PHDFile phd, Result result) {
//判断连接的数据库 //判断连接的数据库
String T_analy, T_calib, T_peaks, T_param, T_nuc_line, T_nuc_act, T_qc, T_setting; String T_analy, T_calib, T_peaks, T_param, T_nuc_line, T_nuc_act, T_qc, T_setting;
if (dbName.equals("auto")){ if (dbName.equals("auto")){
@ -497,6 +493,7 @@ public class GammaFileUtil {
T_nuc_line = "RNAUTO.GARDS_NUCL_LINES_IDED"; T_nuc_line = "RNAUTO.GARDS_NUCL_LINES_IDED";
T_nuc_act = "RNAUTO.GARDS_NUCL_IDED"; T_nuc_act = "RNAUTO.GARDS_NUCL_IDED";
T_qc = "RNAUTO.GARDS_QC_CHECK"; T_qc = "RNAUTO.GARDS_QC_CHECK";
userName = "RNAUTO";
}else { }else {
T_analy = "RNMAN.GARDS_ANALYSES"; T_analy = "RNMAN.GARDS_ANALYSES";
T_calib = "RNMAN.GARDS_CALIBRATION_PAIRS"; T_calib = "RNMAN.GARDS_CALIBRATION_PAIRS";
@ -519,7 +516,7 @@ public class GammaFileUtil {
} }
// 获取 ananlysis_idBaseLineLcScac峰数量Category谱注释等信息 // 获取 ananlysis_idBaseLineLcScac峰数量Category谱注释等信息
GardsAnalysesSpectrum analysis = spectrumAnalysisMapper.getAnalysis(T_analy, sampleId); GardsAnalysesSpectrum analysis = spectrumAnalysisMapper.getAnalysis(T_analy, sampleId, userName);
int peakNum = 0; int peakNum = 0;
if (Objects.nonNull(analysis)){ if (Objects.nonNull(analysis)){
phd.setId_analysis(analysis.getIdAnalysis().toString()); phd.setId_analysis(analysis.getIdAnalysis().toString());
@ -780,7 +777,7 @@ public class GammaFileUtil {
return true; return true;
} }
public List<String> Qcstate(PHDFile phd){ public List<String> Qcstate(PHDFile phd) {
// Collection Time Acq Time Decay Time SampVol Be7-FWHM Ba140-MDC Xe133-MDC // Collection Time Acq Time Decay Time SampVol Be7-FWHM Ba140-MDC Xe133-MDC
List<String> qcState = new LinkedList<>(); List<String> qcState = new LinkedList<>();
for (int i=0;i<7; i++){ for (int i=0;i<7; i++){
@ -809,7 +806,7 @@ public class GammaFileUtil {
return qcState; return qcState;
} }
public void RunQC(PHDFile phd){ public void RunQC(PHDFile phd) {
System.loadLibrary("GammaAnaly"); System.loadLibrary("GammaAnaly");
try { try {
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());
@ -911,7 +908,7 @@ public class GammaFileUtil {
} }
} }
public Double CalculateMDC(PHDFile phd, List<Double> vMdcInfo, Double CCF){ public Double CalculateMDC(PHDFile phd, List<Double> vMdcInfo, Double CCF) {
try { try {
System.loadLibrary("GammaAnaly"); System.loadLibrary("GammaAnaly");
if(vMdcInfo.size() < 3 || vMdcInfo.get(2) == 0) { if(vMdcInfo.size() < 3 || vMdcInfo.get(2) == 0) {
@ -988,7 +985,7 @@ public class GammaFileUtil {
} }
} }
public boolean ReadQCLimit(Map<String, QcCheckItem> qcItems, Map<String, Double> vMdcInfoMap, Double ener_Be7, String systemType){ public boolean ReadQCLimit(Map<String, QcCheckItem> qcItems, Map<String, Double> vMdcInfoMap, Double ener_Be7, String systemType) {
try { try {
String filePath = parameterFilePath+ File.separator +"SystemManager.xml"; String filePath = parameterFilePath+ File.separator +"SystemManager.xml";
//创建一个文档解析器工厂 //创建一个文档解析器工厂
@ -1175,7 +1172,7 @@ public class GammaFileUtil {
} }
} }
public void UpdateChart(PHDFile phd, Map<String, Object> map, Map<String, String> colorMap){ public void UpdateChart(PHDFile phd, Map<String, Object> map, Map<String, String> colorMap) {
List<Long> m_vCount = new LinkedList<>(); List<Long> m_vCount = new LinkedList<>();
long m_nCount = phd.getSpec().getNum_g_channel(); long m_nCount = phd.getSpec().getNum_g_channel();
long m_nSChan = phd.getSpec().getBegin_channel(); long m_nSChan = phd.getSpec().getBegin_channel();
@ -1203,7 +1200,7 @@ public class GammaFileUtil {
map.put("shapeChannelData", shapeChannelData); map.put("shapeChannelData", shapeChannelData);
} }
public ChartData Energy_Count(PHDFile phd, List<Long> m_vCount, long m_nCount, String color){ public ChartData Energy_Count(PHDFile phd, List<Long> m_vCount, long m_nCount, String color) {
int start = 0; int start = 0;
long end = -1; long end = -1;
//Energy //Energy
@ -1228,7 +1225,7 @@ public class GammaFileUtil {
return data1; return data1;
} }
public ChartData Channel_Count(List<Long> m_vCount, long m_nCount, String color){ public ChartData Channel_Count(List<Long> m_vCount, long m_nCount, String color) {
int start = 1; int start = 1;
long end = -1; long end = -1;
ChartData data1 = new ChartData(); ChartData data1 = new ChartData();
@ -1252,7 +1249,7 @@ public class GammaFileUtil {
return data1; return data1;
} }
public List<ChartData> Lc_Scac_base(boolean showLc, PHDFile phd, long m_nCount, Map<String, String> colorMap){ public List<ChartData> Lc_Scac_base(boolean showLc, PHDFile phd, long m_nCount, Map<String, String> colorMap) {
List<ChartData> datalist = new LinkedList<>(); List<ChartData> datalist = new LinkedList<>();
int start = 0; int start = 0;
long end = -1; long end = -1;
@ -1342,15 +1339,15 @@ public class GammaFileUtil {
return datalist; return datalist;
} }
public List<ChartData> Channel_Peak(PHDFile phd, long m_nCount, String color){ public List<ChartData> Channel_Peak(PHDFile phd, long m_nCount, String color) {
return PeakSet(phd.getVPeak(), phd.getVBase(), color, m_nCount, null, false); return PeakSet(phd.getVPeak(), phd.getVBase(), color, m_nCount, null, false);
} }
public List<ChartData> Energy_Peak(PHDFile phd, long m_nCount, String color){ public List<ChartData> Energy_Peak(PHDFile phd, long m_nCount, String color) {
return PeakSet(phd.getVPeak(), phd.getVBase(), color, m_nCount, phd.getUsedEnerPara().getP(), true); return PeakSet(phd.getVPeak(), phd.getVBase(), color, m_nCount, phd.getUsedEnerPara().getP(), true);
} }
public List<ChartData> PeakSet(List<PeakInfo> vPeak, List<Double> vBase, String color, long m_nCount, List<Double> p, boolean bEnergy){ public List<ChartData> PeakSet(List<PeakInfo> vPeak, List<Double> vBase, String color, long m_nCount, List<Double> p, boolean bEnergy) {
System.loadLibrary("GammaAnaly"); System.loadLibrary("GammaAnaly");
List<ChartData> datalist = new LinkedList<>(); List<ChartData> datalist = new LinkedList<>();
int peakNum = vPeak.size(); int peakNum = vPeak.size();
@ -1428,7 +1425,7 @@ public class GammaFileUtil {
return datalist; return datalist;
} }
public List<ShapeData> Energy_BaseCP(PHDFile phd){ public List<ShapeData> Energy_BaseCP(PHDFile phd) {
System.loadLibrary("GammaAnaly"); System.loadLibrary("GammaAnaly");
List<ShapeData> shapes = new LinkedList<>(); List<ShapeData> shapes = new LinkedList<>();
CalValuesOut calValuesOut = CalValuesHandler.calFcnEval(phd.getBaseCtrls().getXCtrl(), phd.getUsedEnerPara().getP()); CalValuesOut calValuesOut = CalValuesHandler.calFcnEval(phd.getBaseCtrls().getXCtrl(), phd.getUsedEnerPara().getP());
@ -1447,7 +1444,7 @@ public class GammaFileUtil {
return shapes; return shapes;
} }
public List<ShapeData> Channel_BaseCP(PHDFile phd){ public List<ShapeData> Channel_BaseCP(PHDFile phd) {
List<ShapeData> shapes = new LinkedList<>(); List<ShapeData> shapes = new LinkedList<>();
int num = phd.getBaseCtrls().getXCtrl().size(); int num = phd.getBaseCtrls().getXCtrl().size();
if(num == phd.getBaseCtrls().getYCtrl().size()) { if(num == phd.getBaseCtrls().getYCtrl().size()) {
@ -1464,7 +1461,7 @@ public class GammaFileUtil {
return shapes; return shapes;
} }
public List<ChartData> AllData(boolean showLc, PHDFile phd, List<Long> m_vCount, long m_nCount, Map<String, String> colorMap){ public List<ChartData> AllData(boolean showLc, PHDFile phd, List<Long> m_vCount, long m_nCount, Map<String, String> colorMap) {
List<ChartData> datalist = new LinkedList<>(); List<ChartData> datalist = new LinkedList<>();
datalist.add(Channel_Count(m_vCount, m_nCount, colorMap.get("Color_Spec"))); datalist.add(Channel_Count(m_vCount, m_nCount, colorMap.get("Color_Spec")));
datalist.add(Energy_Count(phd, m_vCount, m_nCount, colorMap.get("Color_Spec"))); datalist.add(Energy_Count(phd, m_vCount, m_nCount, colorMap.get("Color_Spec")));
@ -1474,7 +1471,7 @@ public class GammaFileUtil {
return datalist; return datalist;
} }
public boolean AnalyseData(PHDFile phd, ConfigureData configureData, List<String> nuclides, boolean bSingle){ public boolean AnalyseData(PHDFile phd, ConfigureData configureData, List<String> nuclides, boolean bSingle) {
//调用方法判断是否修改了参数 //调用方法判断是否修改了参数
if (Objects.nonNull(configureData)){ if (Objects.nonNull(configureData)){
SpecSetup phdSetting = phd.getSetting(); SpecSetup phdSetting = phd.getSetting();
@ -1583,7 +1580,7 @@ public class GammaFileUtil {
} }
} }
public void NuclidesIdent(PHDFile phd, Map<String, NuclideLines> map){ public void NuclidesIdent(PHDFile phd, Map<String, NuclideLines> map) {
// 当重新分析时先清除上一次的分析结果 // 当重新分析时先清除上一次的分析结果
phd.getMapNucActMda().clear(); phd.getMapNucActMda().clear();
for(int i=0; i<phd.getVPeak().size(); ++i){ for(int i=0; i<phd.getVPeak().size(); ++i){
@ -1773,7 +1770,7 @@ public class GammaFileUtil {
} }
} }
private boolean CalculateMDCs(PHDFile phd, NuclideActMda nucActMda, int mainPeakIdx, double lambda, double keyLineYield, double CCF){ private boolean CalculateMDCs(PHDFile phd, NuclideActMda nucActMda, int mainPeakIdx, double lambda, double keyLineYield, double CCF) {
// 计算衰变校正因子DCF // 计算衰变校正因子DCF
try { try {
Date collectStart = DateUtils.parseDate(phd.getCollect().getCollection_start_date() + StringPool.SPACE + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss"); Date collectStart = DateUtils.parseDate(phd.getCollect().getCollection_start_date() + StringPool.SPACE + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss");
@ -1890,7 +1887,7 @@ public class GammaFileUtil {
return cData; return cData;
} }
public List<SeriseData> Differance(PHDFile phd, List<PeakInfo> vecPeak, List<Long> m_vCount, long m_nCount){ public List<SeriseData> Differance(PHDFile phd, List<PeakInfo> vecPeak, List<Long> m_vCount, long m_nCount) {
System.loadLibrary("GammaAnaly"); System.loadLibrary("GammaAnaly");
List<SeriseData> pointlist = new LinkedList<>(); List<SeriseData> pointlist = new LinkedList<>();
int start =0; int start =0;
@ -1981,7 +1978,7 @@ public class GammaFileUtil {
return pointlist; return pointlist;
} }
public void ReadData(List<Double> m_vEnergy, List<String> m_vNuclide){ public void ReadData(List<Double> m_vEnergy, List<String> m_vNuclide) {
try { try {
String filePath = parameterFilePath+File.separator+"Energy_Nuclide.txt"; String filePath = parameterFilePath+File.separator+"Energy_Nuclide.txt";
File file = new File(filePath); File file = new File(filePath);
@ -2389,7 +2386,7 @@ public class GammaFileUtil {
} }
} }
public boolean GetInterMiddlData(PHDFile phd, String userName, GStoreMiddleProcessData middleData){ public boolean GetInterMiddlData(PHDFile phd, String userName, GStoreMiddleProcessData middleData) {
boolean bRet = true; boolean bRet = true;
Map<String, NuclideLines> temp = new HashMap<>(); Map<String, NuclideLines> temp = new HashMap<>();
try { try {
@ -2401,7 +2398,7 @@ public class GammaFileUtil {
return bRet; return bRet;
} }
public String GetLogContent(GStoreMiddleProcessData middleData){ public String GetLogContent(GStoreMiddleProcessData middleData) {
StringBuffer strBuffer = new StringBuffer(); StringBuffer strBuffer = new StringBuffer();
strBuffer.append("-------------------------- Sample Analyse Beginning at "+DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss")+" ---------------------------\n"); strBuffer.append("-------------------------- Sample Analyse Beginning at "+DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss")+" ---------------------------\n");
strBuffer.append("\n"); strBuffer.append("\n");
@ -2572,7 +2569,7 @@ public class GammaFileUtil {
return strBuffer.toString(); return strBuffer.toString();
} }
public String GetReportContent(GStoreMiddleProcessData middleData){ public String GetReportContent(GStoreMiddleProcessData middleData) {
StringBuffer strBuffer = new StringBuffer(); StringBuffer strBuffer = new StringBuffer();
strBuffer.append("CNL06 GENERATED REPORT\n"); strBuffer.append("CNL06 GENERATED REPORT\n");
strBuffer.append(middleData.analyses_type+" RADIONUCLIDE REPORT\n"); strBuffer.append(middleData.analyses_type+" RADIONUCLIDE REPORT\n");
@ -2714,11 +2711,12 @@ public class GammaFileUtil {
return strBuffer.toString(); return strBuffer.toString();
} }
public List<String> DoubleLimit(List data){ public List<String> DoubleLimit(List data) {
List<String> rData = new LinkedList<>();
for(int pos=0;pos<data.size();pos++) { for(int pos=0;pos<data.size();pos++) {
data.set(pos, String.format("%.3f", Double.valueOf(String.valueOf(data.get(pos))))); rData.add(String.format("%.3f", Double.valueOf(String.valueOf(data.get(pos)))));
} }
return data; return rData;
} }
public List<String> DoubleLimit_I(List<Double> _data) { public List<String> DoubleLimit_I(List<Double> _data) {
@ -2887,13 +2885,13 @@ public class GammaFileUtil {
for(int pos=0;pos<fileAnlyse.getUsedEnerKD().getG_energy().size();pos++) { for(int pos=0;pos<fileAnlyse.getUsedEnerKD().getG_energy().size();pos++) {
temp.add(String.valueOf(pos)); temp.add(String.valueOf(pos));
} }
middleData.calibration_pairs_E_idCalPoint = DoubleLimit(temp); middleData.calibration_pairs_E_idCalPoint = temp;
middleData.calibration_pairs_E_xValue = DoubleLimit(fileAnlyse.getUsedEnerKD().getCentroid_channel()); middleData.calibration_pairs_E_xValue = DoubleLimit(fileAnlyse.getUsedEnerKD().getCentroid_channel());
middleData.calibration_pairs_E_yValue = DoubleLimit(fileAnlyse.getUsedEnerKD().getG_energy()); middleData.calibration_pairs_E_yValue = DoubleLimit(fileAnlyse.getUsedEnerKD().getG_energy());
middleData.calibration_pairs_E_uncYValue =DoubleLimit(fileAnlyse.getUsedEnerKD().getUncertainty()); middleData.calibration_pairs_E_uncYValue =DoubleLimit(fileAnlyse.getUsedEnerKD().getUncertainty());
if(Objects.nonNull(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()))) { if(Objects.nonNull(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()))) {
middleData.calibration_pairs_S_E_idCalPoint =DoubleLimit(temp); middleData.calibration_pairs_S_E_idCalPoint =temp;
middleData.calibration_pairs_S_E_xValue =DoubleLimit(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()).getCentroid_channel()); middleData.calibration_pairs_S_E_xValue =DoubleLimit(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()).getCentroid_channel());
middleData.calibration_pairs_S_E_yValue =DoubleLimit(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()).getG_energy()); middleData.calibration_pairs_S_E_yValue =DoubleLimit(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()).getG_energy());
middleData.calibration_pairs_S_E_uncYValue =DoubleLimit(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()).getUncertainty()); middleData.calibration_pairs_S_E_uncYValue =DoubleLimit(fileAnlyse.getMapEnerKD().get(CalName.CalPHD.getType()).getUncertainty());
@ -2912,13 +2910,13 @@ public class GammaFileUtil {
{ {
temp.add(String.valueOf(pos)); temp.add(String.valueOf(pos));
} }
middleData.calibration_pairs_EF_idCalPoint =DoubleLimit(temp); middleData.calibration_pairs_EF_idCalPoint =temp;
middleData.calibration_pairs_EF_xValue =DoubleLimit(fileAnlyse.getUsedEffiKD().getG_energy()); middleData.calibration_pairs_EF_xValue =DoubleLimit(fileAnlyse.getUsedEffiKD().getG_energy());
middleData.calibration_pairs_EF_yValue =DoubleLimit(fileAnlyse.getUsedEffiKD().getEfficiency()); middleData.calibration_pairs_EF_yValue =DoubleLimit(fileAnlyse.getUsedEffiKD().getEfficiency());
middleData.calibration_pairs_EF_uncYValue=DoubleLimit(fileAnlyse.getUsedEffiKD().getUncertainty()); middleData.calibration_pairs_EF_uncYValue=DoubleLimit(fileAnlyse.getUsedEffiKD().getUncertainty());
if(Objects.nonNull(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()))) { if(Objects.nonNull(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()))) {
middleData.calibration_pairs_S_EF_idCalPoint =DoubleLimit(temp); middleData.calibration_pairs_S_EF_idCalPoint =temp;
middleData.calibration_pairs_S_EF_xValue =DoubleLimit(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()).getG_energy()); middleData.calibration_pairs_S_EF_xValue =DoubleLimit(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()).getG_energy());
middleData.calibration_pairs_S_EF_yValue =DoubleLimit(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()).getEfficiency()); middleData.calibration_pairs_S_EF_yValue =DoubleLimit(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()).getEfficiency());
middleData.calibration_pairs_S_EF_uncYValue=DoubleLimit(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()).getUncertainty()); middleData.calibration_pairs_S_EF_uncYValue=DoubleLimit(fileAnlyse.getMapEffiKD().get(CalName.CalPHD.getType()).getUncertainty());
@ -2936,13 +2934,13 @@ public class GammaFileUtil {
for(int pos=0;pos<fileAnlyse.getUsedResoKD().getFWHM().size();pos++) { for(int pos=0;pos<fileAnlyse.getUsedResoKD().getFWHM().size();pos++) {
temp.add(String.valueOf(pos)); temp.add(String.valueOf(pos));
} }
middleData.calibration_pairs_R_idCalPoint =DoubleLimit(temp); middleData.calibration_pairs_R_idCalPoint =temp;
middleData.calibration_pairs_R_xValue =DoubleLimit(fileAnlyse.getUsedResoKD().getG_energy()); middleData.calibration_pairs_R_xValue =DoubleLimit(fileAnlyse.getUsedResoKD().getG_energy());
middleData.calibration_pairs_R_yValue =DoubleLimit(fileAnlyse.getUsedResoKD().getFWHM()); middleData.calibration_pairs_R_yValue =DoubleLimit(fileAnlyse.getUsedResoKD().getFWHM());
middleData.calibration_pairs_R_uncYValue =DoubleLimit(fileAnlyse.getUsedResoKD().getUncertainty()); middleData.calibration_pairs_R_uncYValue =DoubleLimit(fileAnlyse.getUsedResoKD().getUncertainty());
if(Objects.nonNull(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()))) { if(Objects.nonNull(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()))) {
middleData.calibration_pairs_S_R_idCalPoint =DoubleLimit(temp); middleData.calibration_pairs_S_R_idCalPoint =temp;
middleData.calibration_pairs_S_R_xValue =DoubleLimit(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()).getG_energy()); middleData.calibration_pairs_S_R_xValue =DoubleLimit(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()).getG_energy());
middleData.calibration_pairs_S_R_yValue =DoubleLimit(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()).getFWHM()); middleData.calibration_pairs_S_R_yValue =DoubleLimit(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()).getFWHM());
middleData.calibration_pairs_S_R_uncYValue =DoubleLimit(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()).getUncertainty()); middleData.calibration_pairs_S_R_uncYValue =DoubleLimit(fileAnlyse.getMapResoKD().get(CalName.CalPHD.getType()).getUncertainty());
@ -2960,12 +2958,12 @@ public class GammaFileUtil {
temp.add(String.valueOf(pos)); temp.add(String.valueOf(pos));
} }
middleData.calibration_pairs_T_idCalPoint =DoubleLimit(temp); middleData.calibration_pairs_T_idCalPoint =temp;
middleData.calibration_pairs_T_xValue =DoubleLimit(fileAnlyse.getUsedTotEKD().getG_energy()); middleData.calibration_pairs_T_xValue =DoubleLimit(fileAnlyse.getUsedTotEKD().getG_energy());
middleData.calibration_pairs_T_yValue =DoubleLimit(fileAnlyse.getUsedTotEKD().getTotal_efficiency()); middleData.calibration_pairs_T_yValue =DoubleLimit(fileAnlyse.getUsedTotEKD().getTotal_efficiency());
middleData.calibration_pairs_T_uncYValue =DoubleLimit(fileAnlyse.getUsedTotEKD().getUncertainty()); middleData.calibration_pairs_T_uncYValue =DoubleLimit(fileAnlyse.getUsedTotEKD().getUncertainty());
if(Objects.nonNull(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()))) { if(Objects.nonNull(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()))) {
middleData.calibration_pairs_S_T_idCalPoint =DoubleLimit(temp); middleData.calibration_pairs_S_T_idCalPoint =temp;
middleData.calibration_pairs_S_T_xValue =DoubleLimit(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()).getG_energy()); middleData.calibration_pairs_S_T_xValue =DoubleLimit(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()).getG_energy());
middleData.calibration_pairs_S_T_yValue =DoubleLimit(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()).getTotal_efficiency()); middleData.calibration_pairs_S_T_yValue =DoubleLimit(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()).getTotal_efficiency());
middleData.calibration_pairs_S_T_uncYValue =DoubleLimit(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()).getUncertainty()); middleData.calibration_pairs_S_T_uncYValue =DoubleLimit(fileAnlyse.getMapTotEKD().get(CalName.CalPHD.getType()).getUncertainty());
@ -3111,7 +3109,7 @@ public class GammaFileUtil {
//gards_ peaks数据表 //gards_ peaks数据表
if(fileAnlyse.getVPeak().size() != 0) { if(fileAnlyse.getVPeak().size() != 0) {
List<Double> dvctIDPEAK = new LinkedList<>(); List<String> dvctIDPEAK = new LinkedList<>();
List<Double> dvctCENTROIDCHANNEL = new LinkedList<>(); List<Double> dvctCENTROIDCHANNEL = new LinkedList<>();
List<Double> dvctUNCCENTROIDCHANNEL = new LinkedList<>(); List<Double> dvctUNCCENTROIDCHANNEL = new LinkedList<>();
List<Double> dvctENERGY = new LinkedList<>(); List<Double> dvctENERGY = new LinkedList<>();
@ -3144,7 +3142,7 @@ public class GammaFileUtil {
List<String> dvctNuclide_name = new LinkedList<>(); List<String> dvctNuclide_name = new LinkedList<>();
List<String> dvctComments = new LinkedList<>(); List<String> dvctComments = new LinkedList<>();
for(int m=0; m<fileAnlyse.getVPeak().size(); m++) { for(int m=0; m<fileAnlyse.getVPeak().size(); m++) {
dvctIDPEAK.add(Double.valueOf(m+1)); dvctIDPEAK.add(String.valueOf(m+1));
dvctCENTROIDCHANNEL.add(fileAnlyse.getVPeak().get(m).peakCentroid); dvctCENTROIDCHANNEL.add(fileAnlyse.getVPeak().get(m).peakCentroid);
dvctENERGY.add(fileAnlyse.getVPeak().get(m).energy); dvctENERGY.add(fileAnlyse.getVPeak().get(m).energy);
dvctAREA.add(fileAnlyse.getVPeak().get(m).area); dvctAREA.add(fileAnlyse.getVPeak().get(m).area);
@ -3178,7 +3176,7 @@ public class GammaFileUtil {
dvctComments.add(t_comment); dvctComments.add(t_comment);
dvctNuclide_name.add(StringUtils.join(fileAnlyse.getVPeak().get(m).nuclides, ";")); dvctNuclide_name.add(StringUtils.join(fileAnlyse.getVPeak().get(m).nuclides, ";"));
} }
middleData.peaks_idPeak =DoubleLimit_I(dvctIDPEAK); middleData.peaks_idPeak =dvctIDPEAK;
middleData.peaks_peakCentroid =DoubleLimit_G(dvctCENTROIDCHANNEL); middleData.peaks_peakCentroid =DoubleLimit_G(dvctCENTROIDCHANNEL);
middleData.peaks_uncpeakCentroid =DoubleLimit_G(dvctUNCCENTROIDCHANNEL); middleData.peaks_uncpeakCentroid =DoubleLimit_G(dvctUNCCENTROIDCHANNEL);
middleData.peaks_Energy =DoubleLimit_G(dvctENERGY); middleData.peaks_Energy =DoubleLimit_G(dvctENERGY);
@ -3213,7 +3211,7 @@ public class GammaFileUtil {
GStoreMiddleProcessDataNuclLinesIded nucl_lines_ided_data = new GStoreMiddleProcessDataNuclLinesIded(); GStoreMiddleProcessDataNuclLinesIded nucl_lines_ided_data = new GStoreMiddleProcessDataNuclLinesIded();
for(Map.Entry<String, NuclideActMda> itor:fileAnlyse.getMapNucActMda().entrySet()) { for(Map.Entry<String, NuclideActMda> itor:fileAnlyse.getMapNucActMda().entrySet()) {
List<String> svctNUCLIDEFULLNAME = new LinkedList<>(); List<String> svctNUCLIDEFULLNAME = new LinkedList<>();
List<Double> dvctIDPEAK = new LinkedList<>(); List<String> dvctIDPEAK = new LinkedList<>();
List<Double> dvctENERGY = new LinkedList<>(); List<Double> dvctENERGY = new LinkedList<>();
List<Double> dvctUNCENERGY = new LinkedList<>(); List<Double> dvctUNCENERGY = new LinkedList<>();
List<Double> dvctABUNDANCE = new LinkedList<>(); List<Double> dvctABUNDANCE = new LinkedList<>();
@ -3242,7 +3240,7 @@ public class GammaFileUtil {
first = first<second?first:second; first = first<second?first:second;
for(int m=0;m<first;m++) { for(int m=0;m<first;m++) {
svctNUCLIDEFULLNAME.add( itor.getValue().getFullNames().get(m).replace("\'", "\'\'") ); svctNUCLIDEFULLNAME.add( itor.getValue().getFullNames().get(m).replace("\'", "\'\'") );
dvctIDPEAK.add(itor.getValue().getVPeakIdx().get(m).doubleValue()); dvctIDPEAK.add(itor.getValue().getVPeakIdx().get(m).toString());
dvctENERGY.add(itor.getValue().getVEnergy().get(m)); dvctENERGY.add(itor.getValue().getVEnergy().get(m));
dvctUNCENERGY.add(itor.getValue().getVUncertE().get(m)); dvctUNCENERGY.add(itor.getValue().getVUncertE().get(m));
dvctABUNDANCE.add(itor.getValue().getVYield().get(m)); dvctABUNDANCE.add(itor.getValue().getVYield().get(m));
@ -3265,7 +3263,7 @@ public class GammaFileUtil {
dvctCONCENTRATION.add(String.format("%e", itor.getValue().getConcentration())); dvctCONCENTRATION.add(String.format("%e", itor.getValue().getConcentration()));
} }
nucl_lines_ided_data.nuclideFullname = svctNUCLIDEFULLNAME; nucl_lines_ided_data.nuclideFullname = svctNUCLIDEFULLNAME;
nucl_lines_ided_data.idPeak =DoubleLimit_I(dvctIDPEAK); nucl_lines_ided_data.idPeak =dvctIDPEAK;
nucl_lines_ided_data.Energy =DoubleLimit_G(dvctENERGY); nucl_lines_ided_data.Energy =DoubleLimit_G(dvctENERGY);
nucl_lines_ided_data.uncEnergy =DoubleLimit_G(dvctUNCENERGY); nucl_lines_ided_data.uncEnergy =DoubleLimit_G(dvctUNCENERGY);
nucl_lines_ided_data.Abundance =DoubleLimit_G(dvctABUNDANCE); nucl_lines_ided_data.Abundance =DoubleLimit_G(dvctABUNDANCE);
@ -3619,7 +3617,7 @@ public class GammaFileUtil {
return spectrum.toString(); return spectrum.toString();
} }
public double GetEnergyByFloatChan(PHDFile phd, int channel){ public double GetEnergyByFloatChan(PHDFile phd, int channel) {
// 算法描述取指定点附近的两点根据 y=ax+b 方程求指定点处的能量 // 算法描述取指定点附近的两点根据 y=ax+b 方程求指定点处的能量
double y = 0.0; double y = 0.0;
long m_nCount = phd.getSpec().getNum_g_channel(); long m_nCount = phd.getSpec().getNum_g_channel();
@ -3634,7 +3632,7 @@ public class GammaFileUtil {
return y; return y;
} }
public List<String> InitList(double energy, double tolerance, List<String> nuclides){ public List<String> InitList(double energy, double tolerance, List<String> nuclides) {
if(nuclides.size() < 1){ if(nuclides.size() < 1){
return new LinkedList<>(); return new LinkedList<>();
} }
@ -3644,7 +3642,7 @@ public class GammaFileUtil {
return nuclideList; return nuclideList;
} }
public void InitTable(String name, Map<String, Object> map, PHDFile phd, Map<String, String> colorMap){ public void InitTable(String name, Map<String, Object> map, PHDFile phd, Map<String, String> colorMap) {
InitNuclideInfo(name, map); InitNuclideInfo(name, map);
long span = phd.getSpec().getG_energy_span(); long span = phd.getSpec().getG_energy_span();
List<GardsNuclLinesLib> nuclideTableList = spectrumAnalysisMapper.getNuclideTable(name, span); List<GardsNuclLinesLib> nuclideTableList = spectrumAnalysisMapper.getNuclideTable(name, span);
@ -3654,7 +3652,7 @@ public class GammaFileUtil {
} }
} }
public void InitNuclideInfo(String name, Map<String, Object> map){ public void InitNuclideInfo(String name, Map<String, Object> map) {
map.put("name", name); map.put("name", name);
GardsNuclLib nuclideInfo = spectrumAnalysisMapper.getNuclideInfo(name); GardsNuclLib nuclideInfo = spectrumAnalysisMapper.getNuclideInfo(name);
@ -3686,7 +3684,7 @@ public class GammaFileUtil {
} }
} }
public void InitChart(List<GardsNuclLinesLib> nuclideTableList, PHDFile phd, Map<String, Object> map, Map<String, String> colorMap){ public void InitChart(List<GardsNuclLinesLib> nuclideTableList, PHDFile phd, Map<String, Object> map, Map<String, String> colorMap) {
List<Map<String, Object>> chartList = new LinkedList<>(); List<Map<String, Object>> chartList = new LinkedList<>();
for (int i=0; i < nuclideTableList.size(); i++){ for (int i=0; i < nuclideTableList.size(); i++){
Map<String, Object> chartMap = new HashMap<>(); Map<String, Object> chartMap = new HashMap<>();
@ -3788,7 +3786,7 @@ public class GammaFileUtil {
return channel; return channel;
} }
public void InitPara(PHDFile phd){ public void InitPara(PHDFile phd) {
List<Double> Acal_tail_para = new LinkedList<>(); List<Double> Acal_tail_para = new LinkedList<>();
Acal_tail_para.add(99.0); Acal_tail_para.add(99.0);
Acal_tail_para.add(0.0); Acal_tail_para.add(0.0);
@ -3863,7 +3861,7 @@ public class GammaFileUtil {
return i; return i;
} }
public List<TablePeaks> FitPeakBaseLine(PHDFile phd, List<Integer> vIdx){ public List<TablePeaks> FitPeakBaseLine(PHDFile phd, List<Integer> vIdx) {
List<TablePeaks> tablePeaksList = new LinkedList<>(); List<TablePeaks> tablePeaksList = new LinkedList<>();
int peakNum = vIdx.size(); int peakNum = vIdx.size();
for (int i=0; i<peakNum; ++i) { for (int i=0; i<peakNum; ++i) {
@ -4052,15 +4050,8 @@ public class GammaFileUtil {
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
ftpClient.changeWorkingDirectory(compareFilePath); ftpClient.changeWorkingDirectory(compareFilePath);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); inputStream = ftpClient.retrieveFileStream(compareFileName);
ftpFiles = ftpFiles.stream().filter(item -> item.getName().equals(compareFileName)).collect(Collectors.toList()); if (Objects.nonNull(inputStream)) {
if (ftpFiles.size() == 0) {
result.error500("ftp获取文件数据失败");
return m_vecCompare;
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)) {
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
//声明一个临时文件 //声明一个临时文件
File file = File.createTempFile("tmp", null); File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件 //将ftp文件的输入流复制给临时文件
@ -4095,7 +4086,7 @@ public class GammaFileUtil {
return m_vecCompare; return m_vecCompare;
} }
public List<ChartData> CompareData(List<Long> m_vecCompare, long m_nCount, Map<String, String> colorMap, List<Double> vEnergy){ public List<ChartData> CompareData(List<Long> m_vecCompare, long m_nCount, Map<String, String> colorMap, List<Double> vEnergy) {
List<ChartData> datalist = new LinkedList<>(); List<ChartData> datalist = new LinkedList<>();
int size = m_vecCompare.size(); int size = m_vecCompare.size();
if(size == m_nCount) { if(size == m_nCount) {

View File

@ -278,6 +278,8 @@ public class PHDFileUtil {
} }
public List<String> readLine(String filePath){ public List<String> readLine(String filePath){
String parameterFilePath = filePath.substring(0, filePath.lastIndexOf(StringPool.SLASH));
String fileName = filePath.substring(filePath.lastIndexOf(StringPool.SLASH) + 1);
//连接ftp //连接ftp
FTPClient ftpClient = ftpUtil.LoginFTP(); FTPClient ftpClient = ftpUtil.LoginFTP();
//判断ftp是否连接成功 //判断ftp是否连接成功
@ -286,32 +288,24 @@ public class PHDFileUtil {
} }
InputStream iStream= null; InputStream iStream= null;
try { try {
//被动模式
ftpClient.enterLocalPassiveMode(); ftpClient.enterLocalPassiveMode();
String fileName = filePath.substring(filePath.lastIndexOf(StringPool.SLASH) + 1); //设置文件类型--二进制文件
String parameterFilePath = filePath.substring(0, filePath.lastIndexOf(StringPool.SLASH)); ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
//判断文件路径是否为空 //
if (StringUtils.isNotBlank(parameterFilePath)){ ftpClient.setControlEncoding("UTF-8");
//在当前工作路径下读取文件 ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
ftpClient.changeWorkingDirectory(parameterFilePath); //在当前工作路径下读取文件
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); ftpClient.changeWorkingDirectory(parameterFilePath);
// 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项 //读取ftp文件的输入流
ftpClient.setControlEncoding(ftpUtil.getEncoding()); iStream=ftpClient.retrieveFileStream(fileName);
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); if (Objects.nonNull(iStream)) {
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); //声明一个临时文件
if (CollectionUtils.isNotEmpty(ftpFiles)){ File file = File.createTempFile("tmp", null);
for (FTPFile ftpFile:ftpFiles) { //将ftp文件的输入流复制给临时文件
if (ftpFile.getName().equals(fileName)){ FileUtils.copyInputStreamToFile(iStream, file);
//读取ftp文件的输入流 List<String> allLines = FileUtils.readLines(file, ftpUtil.getEncoding());
iStream=ftpClient.retrieveFileStream(ftpFile.getName()); return allLines;
//声明一个临时文件
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(iStream, file);
List<String> allLines = FileUtils.readLines(file, ftpUtil.getEncoding());
return allLines;
}
}
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -488,38 +482,31 @@ public class PHDFileUtil {
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
//切换工作路径 //切换工作路径
ftpClient.changeWorkingDirectory(filePath); ftpClient.changeWorkingDirectory(filePath);
//获取路径下所有的ftp文件信息 //解析sampleFile
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); inputStream = ftpClient.retrieveFileStream(sampleFileName);
if (CollectionUtils.isNotEmpty(ftpFiles)) { if (Objects.nonNull(inputStream)) {
//获取sampleFileName //声明一个临时文件
ftpFiles = ftpFiles.stream().filter(item -> item.getName().equals(sampleFileName)).collect(Collectors.toList()); File file = File.createTempFile("tmp", null);
if (CollectionUtils.isNotEmpty(ftpFiles)) { //将ftp文件的输入流复制给临时文件
FTPFile sampleFile = ftpFiles.get(0); FileUtils.copyInputStreamToFile(inputStream, file);
//解析sampleFile //加载sampleFile内容
inputStream = ftpClient.retrieveFileStream(sampleFile.getName()); EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
//声明一个临时文件 //获取所需要的数据
File file = File.createTempFile("tmp", null); String dataType = struct.data_type;
//将ftp文件的输入流复制给临时文件 String systemType = struct.system_type;
FileUtils.copyInputStreamToFile(inputStream, file); String spectrumQuantity = struct.spectrum_quantity;
//加载sampleFile内容 double acquisitionLiveTime = struct.acquisition_live_time;
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath()); String measurementId = struct.measurement_id;
//获取所需要的数据 String gasBkMeasurementId = struct.gas_bk_measurement_id;
String dataType = struct.data_type; String detectorBkMeasurementId = struct.detector_bk_measurement_id;
String systemType = struct.system_type; //格式化文件名称
String spectrumQuantity = struct.spectrum_quantity; String fileSuffix = nameStandUtil.GetSuffix(dataType, systemType, spectrumQuantity, String.valueOf(acquisitionLiveTime));
double acquisitionLiveTime = struct.acquisition_live_time; String measurementName = nameStandUtil.GetFileNameFromDateTime(measurementId, fileSuffix);
String measurementId = struct.measurement_id; String gasFileName = nameStandUtil.GetFileNameFromDateTime(gasBkMeasurementId, "_G.PHD");
String gasBkMeasurementId = struct.gas_bk_measurement_id; String detaFileName = nameStandUtil.GetFileNameFromDateTime(detectorBkMeasurementId, "_D.PHD");
String detectorBkMeasurementId = struct.detector_bk_measurement_id; map.put("gasFileName", gasFileName);
//格式化文件名称 map.put("detaFileName", detaFileName);
String fileSuffix = nameStandUtil.GetSuffix(dataType, systemType, spectrumQuantity, String.valueOf(acquisitionLiveTime)); map.put("sampleSystemType", systemType);
String measurementName = nameStandUtil.GetFileNameFromDateTime(measurementId, fileSuffix);
String gasFileName = nameStandUtil.GetFileNameFromDateTime(gasBkMeasurementId, "_G.PHD");
String detaFileName = nameStandUtil.GetFileNameFromDateTime(detectorBkMeasurementId, "_D.PHD");
map.put("gasFileName", gasFileName);
map.put("detaFileName", detaFileName);
map.put("sampleSystemType", systemType);
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -554,18 +541,11 @@ public class PHDFileUtil {
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
//切换文件路径 //切换文件路径
ftpClient.changeWorkingDirectory(filePath); ftpClient.changeWorkingDirectory(filePath);
//获取路径下所有文件信息 inputStream = ftpClient.retrieveFileStream(fileName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); if (Objects.nonNull(inputStream)){
if (CollectionUtils.isNotEmpty(ftpFiles)){ file = File.createTempFile("tmp", null);
//根据文件名称 分别获取 sample gas det文件 //将ftp文件的输入流复制给临时文件
List<FTPFile> files = ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); FileUtils.copyInputStreamToFile(inputStream, file);
if (CollectionUtils.isNotEmpty(files)){
FTPFile ftpFile = files.get(0);
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -631,18 +611,11 @@ public class PHDFileUtil {
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
//切换文件路径 //切换文件路径
ftpClient.changeWorkingDirectory(filePath); ftpClient.changeWorkingDirectory(filePath);
//获取路径下所有文件信息 inputStream = ftpClient.retrieveFileStream(fileName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); if (Objects.nonNull(inputStream)){
if (CollectionUtils.isNotEmpty(ftpFiles)){ file = File.createTempFile("tmp", null);
//根据文件名称 分别获取 sample gas det文件 //将ftp文件的输入流复制给临时文件
List<FTPFile> files = ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); FileUtils.copyInputStreamToFile(inputStream, file);
if (CollectionUtils.isNotEmpty(files)){
FTPFile ftpFile = files.get(0);
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -763,18 +736,11 @@ public class PHDFileUtil {
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
//切换文件路径 //切换文件路径
ftpClient.changeWorkingDirectory(path); ftpClient.changeWorkingDirectory(path);
//获取路径下所有文件信息 inputStream = ftpClient.retrieveFileStream(fileName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); if (Objects.nonNull(inputStream)){
if (CollectionUtils.isNotEmpty(ftpFiles)){ file = File.createTempFile("tmp", null);
//根据文件名称 分别获取 sample gas det文件 //将ftp文件的输入流复制给临时文件
List<FTPFile> files = ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); FileUtils.copyInputStreamToFile(inputStream, file);
if (CollectionUtils.isNotEmpty(files)){
FTPFile ftpFile = files.get(0);
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
@ -837,18 +803,13 @@ public class PHDFileUtil {
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
ftpClient.changeWorkingDirectory(filePath); ftpClient.changeWorkingDirectory(filePath);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); inputStream = ftpClient.retrieveFileStream(fileName);
ftpFiles = ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); if (Objects.nonNull(inputStream)){
if (CollectionUtils.isNotEmpty(ftpFiles)){ //声明一个临时文件
FTPFile ftpFile = ftpFiles.get(0); File file = File.createTempFile("tmp", null);
if (Objects.nonNull(ftpFile)){ //将ftp文件的输入流复制给临时文件
inputStream = ftpClient.retrieveFileStream(ftpFile.getName()); FileUtils.copyInputStreamToFile(inputStream, file);
//声明一个临时文件 struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
File file = File.createTempFile("tmp", null);
//将ftp文件的输入流复制给临时文件
FileUtils.copyInputStreamToFile(inputStream, file);
struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
}
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);

View File

@ -24,8 +24,8 @@ public class GammaController {
@GetMapping("initValue") @GetMapping("initValue")
@ApiOperation(value = "初始化gamma数据", notes = "初始化gamma数据") @ApiOperation(value = "初始化gamma数据", notes = "初始化gamma数据")
public Result initValue(Integer sampleId, String dbName) { public Result initValue(Integer sampleId, String dbName, HttpServletRequest request) {
return gammaService.initValue(sampleId, dbName); return gammaService.initValue(sampleId, dbName, request);
} }
@GetMapping("gammaByDB") @GetMapping("gammaByDB")

View File

@ -231,8 +231,32 @@ public class BgDataAnlyseResultIn implements Serializable {
List<GardsCalibrationSpectrum> gammaCalibrationSpectrumList; List<GardsCalibrationSpectrum> gammaCalibrationSpectrumList;
GardsCalibrationSpectrum gammaCalibrationSCE;
GardsCalibrationSpectrum gammaCalibrationSEC;
GardsCalibrationSpectrum gammaCalibrationGCE;
GardsCalibrationSpectrum gammaCalibrationGEC;
GardsCalibrationSpectrum gammaCalibrationDCE;
GardsCalibrationSpectrum gammaCalibrationDEC;
List<GardsCalibrationSpectrum> betaCalibrationSpectrumList; List<GardsCalibrationSpectrum> betaCalibrationSpectrumList;
GardsCalibrationSpectrum betaCalibrationSCE;
GardsCalibrationSpectrum betaCalibrationSEC;
GardsCalibrationSpectrum betaCalibrationGCE;
GardsCalibrationSpectrum betaCalibrationGEC;
GardsCalibrationSpectrum betaCalibrationDCE;
GardsCalibrationSpectrum betaCalibrationDEC;
List<GardsROIChannelsSpectrum> roiChannelsSpectrumList; List<GardsROIChannelsSpectrum> roiChannelsSpectrumList;
List<GardsROIResultsSpectrum> roiResultsSpectrumList; List<GardsROIResultsSpectrum> roiResultsSpectrumList;

View File

@ -1,11 +1,12 @@
package org.jeecg.modules.mapper; package org.jeecg.modules.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.base.entity.rnman.GardsAnalyses; import org.jeecg.modules.base.entity.rnman.GardsAnalyses;
import org.jeecg.modules.entity.GardsAnalysesSpectrum; import org.jeecg.modules.entity.GardsAnalysesSpectrum;
public interface GardsAnalysesManMapper extends BaseMapper<GardsAnalyses> { public interface GardsAnalysesManMapper extends BaseMapper<GardsAnalyses> {
void updateEntity(GardsAnalysesSpectrum analyses); void updateEntity(@Param(value = "analyses") GardsAnalysesSpectrum analyses);
} }

View File

@ -1,7 +1,13 @@
package org.jeecg.modules.mapper; package org.jeecg.modules.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.base.entity.rnman.GardsCalibration; import org.jeecg.modules.base.entity.rnman.GardsCalibration;
public interface GardsCalibrationSpectrumMapper extends BaseMapper<GardsCalibration> { public interface GardsCalibrationSpectrumMapper extends BaseMapper<GardsCalibration> {
@InterceptorIgnore(tenantLine = "true")
void insertCalibrationGamma(@Param(value = "calibration") GardsCalibration calibration);
} }

View File

@ -5,8 +5,8 @@
<update id="updateEntity"> <update id="updateEntity">
UPDATE UPDATE
RNMAN.GARDS_ANALYSES RNMAN.GARDS_ANALYSES
SET ANALYSISBEGIN = to_date(#{analyses.analysisBeginStr},'yyyy/MM/dd HH:mm:ss'), SET ANALYSISBEGIN = to_date(#{analyses.analysisBeginStr},'yyyy/MM/dd HH:mi:ss'),
ANALYSISEND = to_date(#{analyses.analysisEndStr},'yyyy/MM/dd HH:mm:ss'), ANALYSISEND = to_date(#{analyses.analysisEndStr},'yyyy/MM/dd HH:mi:ss'),
SOFTWARE = #{analyses.software}, SOFTWARE = #{analyses.software},
SWVERSION = #{analyses.swVersion}, SWVERSION = #{analyses.swVersion},
COMMENTS = #{analyses.comments}, COMMENTS = #{analyses.comments},

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mapper.GardsCalibrationSpectrumMapper">
<insert id="insertCalibrationGamma">
INSERT INTO
RNMAN.GARDS_CALIBRATION(
SAMPLE_ID,
IDANALYSIS,
SAMPLE_TYPE,
CALTYPE,
FUNCTION,
FUNCTIONDEF,
STARTOFRANGE,
ENDOFRANGE,
COEFF_STRING)
VALUES(#{calibration.sampleId},
#{calibration.idAnalysis},
#{calibration.sampleType},
#{calibration.calType},
#{calibration.function},
#{calibration.functionDef},
#{calibration.startOfRange},
#{calibration.endOfRange},
#{calibration.coeffString})
</insert>
</mapper>

View File

@ -11,7 +11,7 @@ import java.util.List;
public interface IGammaService{ public interface IGammaService{
Result initValue(Integer sampleId, String dbName); Result initValue(Integer sampleId, String dbName, HttpServletRequest request);
Result gammaByDB(String dbName, Integer sampleId, HttpServletRequest request); Result gammaByDB(String dbName, Integer sampleId, HttpServletRequest request);

View File

@ -6,6 +6,6 @@ import org.jeecg.modules.entity.vo.PHDFile;
public interface IGardsAnalySettingSpectrumService extends IService<GardsAnalySetting> { public interface IGardsAnalySettingSpectrumService extends IService<GardsAnalySetting> {
boolean saveAnalySettingGamma(PHDFile phd, String idAnalysis); int saveAnalySettingGamma(PHDFile phd, String idAnalysis);
} }

View File

@ -11,6 +11,6 @@ public interface IGardsCalibrationPairsSpectrumService extends IService<GardsCal
int saveGardsCalibrationPairs(List<GardsCalibrationPairs> calibrationPairsList); int saveGardsCalibrationPairs(List<GardsCalibrationPairs> calibrationPairsList);
boolean saveGardsCalibrationPairsGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis); int saveGardsCalibrationPairsGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
} }

View File

@ -10,6 +10,6 @@ public interface IGardsCalibrationSpectrumService extends IService<GardsCalibrat
int saveGardsCalibration(List<GardsCalibration> calibrationPairsList); int saveGardsCalibration(List<GardsCalibration> calibrationPairsList);
boolean saveCalibrationGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis); int saveCalibrationGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
} }

View File

@ -7,6 +7,6 @@ import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
public interface IGardsNuclIdedSpectrumService extends IService<GardsNuclIded> { public interface IGardsNuclIdedSpectrumService extends IService<GardsNuclIded> {
boolean saveNuclIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis); int saveNuclIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
} }

View File

@ -6,6 +6,6 @@ import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
public interface IGardsNuclLinesIdedSpectrumService extends IService<GardsNuclLinesIded> { public interface IGardsNuclLinesIdedSpectrumService extends IService<GardsNuclLinesIded> {
boolean saveNuclLinesIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis); int saveNuclLinesIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
} }

View File

@ -6,6 +6,6 @@ import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
public interface IGardsPeaksSpectrumService extends IService<GardsPeaks> { public interface IGardsPeaksSpectrumService extends IService<GardsPeaks> {
boolean savePeaksGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis); int savePeaksGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
} }

View File

@ -7,6 +7,6 @@ import org.jeecg.modules.entity.vo.PHDFile;
public interface IGardsQcCheckSpectrumService extends IService<GardsQcCheck> { public interface IGardsQcCheckSpectrumService extends IService<GardsQcCheck> {
boolean saveQcCheckGamma(GStoreMiddleProcessData middleData, PHDFile phd, String idAnalysis); int saveQcCheckGamma(GStoreMiddleProcessData middleData, PHDFile phd, String idAnalysis);
} }

View File

@ -18,11 +18,9 @@ public interface ISpectrumAnalysisService {
Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleDataSpectrum gardsSampleData, String dbName, String[] menuTypes, boolean AllUsers, boolean CollectStopB, boolean AcqStartB, Date startDate, Date endDate, HttpServletRequest request); Result getDBSpectrumList(QueryRequest queryRequest, GardsSampleDataSpectrum gardsSampleData, String dbName, String[] menuTypes, boolean AllUsers, boolean CollectStopB, boolean AcqStartB, Date startDate, Date endDate, HttpServletRequest request);
Result getSpectrumFiles(HttpServletRequest request);
Result getFilesBySampleFile(String fileName, HttpServletRequest request); Result getFilesBySampleFile(String fileName, HttpServletRequest request);
Result getDBSpectrumChart(String dbName, Integer sampleId); Result getDBSpectrumChart(String dbName, Integer sampleId, HttpServletRequest request);
Result getFileSpectrumChart(String sampleFileName, String gasFileName, String detFileName, String qcFileName, HttpServletRequest request); Result getFileSpectrumChart(String sampleFileName, String gasFileName, String detFileName, String qcFileName, HttpServletRequest request);

View File

@ -15,7 +15,6 @@ import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.cache.LocalCache; import org.jeecg.common.cache.LocalCache;
import org.jeecg.common.constant.DateConstant; import org.jeecg.common.constant.DateConstant;
@ -30,7 +29,6 @@ import org.jeecg.modules.entity.vo.*;
import org.jeecg.modules.entity.*; import org.jeecg.modules.entity.*;
import org.jeecg.modules.mapper.SpectrumAnalysisMapper; import org.jeecg.modules.mapper.SpectrumAnalysisMapper;
import org.jeecg.modules.native_jni.CalValuesHandler; import org.jeecg.modules.native_jni.CalValuesHandler;
import org.jeecg.modules.native_jni.struct.CalValuesOut;
import org.jeecg.modules.service.*; import org.jeecg.modules.service.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -77,8 +75,6 @@ public class GammaServiceImpl implements IGammaService {
private SpectrumPathProperties spectrumPathProperties; private SpectrumPathProperties spectrumPathProperties;
@Autowired @Autowired
private FTPUtil ftpUtil; private FTPUtil ftpUtil;
@Autowired
private SSEUtil sseUtil;
@Value("${ZeroTime}") @Value("${ZeroTime}")
private String ZeroTimeStr; private String ZeroTimeStr;
@Autowired @Autowired
@ -115,8 +111,9 @@ public class GammaServiceImpl implements IGammaService {
private IGardsAnalySettingSpectrumService analySettingSpectrumService; private IGardsAnalySettingSpectrumService analySettingSpectrumService;
@Override @Override
public Result initValue(Integer sampleId, String dbName) { public Result initValue(Integer sampleId, String dbName, HttpServletRequest request) {
Result result = new Result(); Result result = new Result();
String userName = JwtUtil.getUserNameByToken(request);
Cache<String, PHDFile> phdCache = localCache.getPHDCache(); Cache<String, PHDFile> phdCache = localCache.getPHDCache();
PHDFile phd = new PHDFile(); PHDFile phd = new PHDFile();
//读取文件内容 //读取文件内容
@ -135,7 +132,7 @@ public class GammaServiceImpl implements IGammaService {
//声明基础数组信息 //声明基础数组信息
gammaFileUtil.SetBaseInfo(phd); gammaFileUtil.SetBaseInfo(phd);
//从数据库中读取相关信息 //从数据库中读取相关信息
boolean bRet = gammaFileUtil.getResultFromDB(dbName, sampleId, phd, result); boolean bRet = gammaFileUtil.getResultFromDB(dbName, userName, sampleId, phd, result);
if (!bRet){ if (!bRet){
return result; return result;
} }
@ -169,7 +166,7 @@ public class GammaServiceImpl implements IGammaService {
//声明基础数组信息 //声明基础数组信息
gammaFileUtil.SetBaseInfo(phd); gammaFileUtil.SetBaseInfo(phd);
//从数据库中读取相关信息 //从数据库中读取相关信息
boolean bRet = gammaFileUtil.getResultFromDB(dbName, sampleId, phd, result); boolean bRet = gammaFileUtil.getResultFromDB(dbName, userName, sampleId, phd, result);
if (!bRet){ if (!bRet){
return result; return result;
} }
@ -205,7 +202,10 @@ public class GammaServiceImpl implements IGammaService {
String path = StringPool.SLASH + spectrumPathProperties.getUploadPath() + StringPool.SLASH + userName; String path = StringPool.SLASH + spectrumPathProperties.getUploadPath() + StringPool.SLASH + userName;
PHDFile phd = new PHDFile(); PHDFile phd = new PHDFile();
//加载文件内容 //加载文件内容
gammaFileUtil.loadFile(path, fileName, phd, result); boolean bRet = gammaFileUtil.loadFile(path, fileName, phd, result);
if (!bRet) {
return result;
}
//获取当前角色的颜色配置 //获取当前角色的颜色配置
Map<String, String> colorMap = sysUserColorService.initColor(userName); Map<String, String> colorMap = sysUserColorService.initColor(userName);
// 更新 QC Flags 状态 // 更新 QC Flags 状态
@ -2113,7 +2113,7 @@ public class GammaServiceImpl implements IGammaService {
if(StringUtils.isBlank(reportPath.trim())) { if(StringUtils.isBlank(reportPath.trim())) {
String waring = "The file isn't existed."; String waring = "The file isn't existed.";
} }
String pathName = reportPath.substring(0, reportPath.lastIndexOf(StringPool.SLASH)); String pathName = StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + reportPath.substring(0, reportPath.lastIndexOf(StringPool.SLASH));
String fileName = reportPath.substring(reportPath.lastIndexOf(StringPool.SLASH)+1)+".txt"; String fileName = reportPath.substring(reportPath.lastIndexOf(StringPool.SLASH)+1)+".txt";
//连接ftp //连接ftp
FTPClient ftpClient = ftpUtil.LoginFTP(); FTPClient ftpClient = ftpUtil.LoginFTP();
@ -2129,16 +2129,9 @@ public class GammaServiceImpl implements IGammaService {
// 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项 // 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
pathName=StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + pathName;
ftpClient.changeWorkingDirectory(pathName); ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); inputStream = ftpClient.retrieveFileStream(fileName);
ftpFiles=ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); if (Objects.nonNull(inputStream)){
if (CollectionUtils.isEmpty(ftpFiles)){
throw new RuntimeException("ftp下对应的报告文件不存在");
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)){
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
outputStream = response.getOutputStream(); outputStream = response.getOutputStream();
byte[] buffer = new byte[1024]; byte[] buffer = new byte[1024];
int bytesRead; int bytesRead;
@ -2176,7 +2169,7 @@ public class GammaServiceImpl implements IGammaService {
if(StringUtils.isBlank(reportPath.trim())) { if(StringUtils.isBlank(reportPath.trim())) {
String waring = "The file isn't existed."; String waring = "The file isn't existed.";
} }
String pathName = reportPath.substring(0, reportPath.lastIndexOf(StringPool.SLASH)); String pathName = StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + reportPath.substring(0, reportPath.lastIndexOf(StringPool.SLASH));
String fileName = reportPath.substring(reportPath.lastIndexOf(StringPool.SLASH)+1)+".txt"; String fileName = reportPath.substring(reportPath.lastIndexOf(StringPool.SLASH)+1)+".txt";
//连接ftp //连接ftp
FTPClient ftpClient = ftpUtil.LoginFTP(); FTPClient ftpClient = ftpUtil.LoginFTP();
@ -2192,16 +2185,9 @@ public class GammaServiceImpl implements IGammaService {
// 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项 // 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
pathName=StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + pathName;
ftpClient.changeWorkingDirectory(pathName); ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); inputStream = ftpClient.retrieveFileStream(fileName);
ftpFiles=ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); if (Objects.nonNull(inputStream)){
if (CollectionUtils.isEmpty(ftpFiles)){
throw new RuntimeException("ftp下对应的报告文件不存在");
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)){
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
//设置响应类型 //设置响应类型
response.setContentType("application/octet-stream"); response.setContentType("application/octet-stream");
//解决中文不能生成文件 //解决中文不能生成文件
@ -2721,7 +2707,7 @@ public class GammaServiceImpl implements IGammaService {
if (StringUtils.isBlank(logPath)){ if (StringUtils.isBlank(logPath)){
String waring = "The file isn't existed."; String waring = "The file isn't existed.";
} }
String pathName = logPath.substring(0, logPath.lastIndexOf(StringPool.SLASH)); String pathName = StringPool.SLASH + spectrumPathProperties.getLogPath() + StringPool.SLASH + logPath.substring(0, logPath.lastIndexOf(StringPool.SLASH));
String fileName = logPath.substring(logPath.lastIndexOf(StringPool.SLASH) + 1); String fileName = logPath.substring(logPath.lastIndexOf(StringPool.SLASH) + 1);
//连接ftp //连接ftp
FTPClient ftpClient = ftpUtil.LoginFTP(); FTPClient ftpClient = ftpUtil.LoginFTP();
@ -2737,16 +2723,9 @@ public class GammaServiceImpl implements IGammaService {
// 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项 // 设置编码当文件中存在中文且上传后文件乱码时可使用此配置项
ftpClient.setControlEncoding("UTF-8"); ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE); ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
pathName=StringPool.SLASH + spectrumPathProperties.getLogPath() + StringPool.SLASH + pathName;
ftpClient.changeWorkingDirectory(pathName); ftpClient.changeWorkingDirectory(pathName);
List<FTPFile> ftpFiles = Arrays.asList(ftpClient.listFiles()); inputStream = ftpClient.retrieveFileStream(fileName);
ftpFiles=ftpFiles.stream().filter(item -> item.getName().equals(fileName)).collect(Collectors.toList()); if (Objects.nonNull(inputStream)){
if (CollectionUtils.isEmpty(ftpFiles)){
throw new RuntimeException("ftp下对应的报告文件不存在");
}
FTPFile ftpFile = ftpFiles.get(0);
if (Objects.nonNull(ftpFile)){
inputStream = ftpClient.retrieveFileStream(ftpFile.getName());
outputStream = response.getOutputStream(); outputStream = response.getOutputStream();
byte[] buffer = new byte[1024]; byte[] buffer = new byte[1024];
int bytesRead; int bytesRead;
@ -2919,42 +2898,18 @@ public class GammaServiceImpl implements IGammaService {
spectrumAnalysisMapper.deleteAnalySetting(Integer.valueOf(idAnalysis)); spectrumAnalysisMapper.deleteAnalySetting(Integer.valueOf(idAnalysis));
} }
// RNMAN.GARDS_CALIBRATION_PAIRS 表写入 Energy 刻度数据对 // RNMAN.GARDS_CALIBRATION_PAIRS 表写入 Energy 刻度数据对
bRet = calibrationPairsSpectrumService.saveGardsCalibrationPairsGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis); calibrationPairsSpectrumService.saveGardsCalibrationPairsGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis);
if (!bRet) { calibrationSpectrumService.saveCalibrationGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis);
result.error500("Save analysis results to DB failed.");
return result;
}
bRet = calibrationSpectrumService.saveCalibrationGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis);
if (!bRet) {
result.error500("Save analysis results to DB failed.");
return result;
}
// RNMAN.GARDS_PEAKS 表写入峰信息 // RNMAN.GARDS_PEAKS 表写入峰信息
bRet = peaksSpectrumService.savePeaksGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis); peaksSpectrumService.savePeaksGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis);
if (!bRet) {
result.error500("Save analysis results to DB failed.");
return result;
}
// RNMAN.GARDS_NUCL_LINES_IDED 表写入被识别核素的射线信息 // RNMAN.GARDS_NUCL_LINES_IDED 表写入被识别核素的射线信息
bRet = nuclLinesIdedSpectrumService.saveNuclLinesIdedGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis); nuclLinesIdedSpectrumService.saveNuclLinesIdedGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis);
if (!bRet) {
result.error500("Save analysis results to DB failed.");
return result;
}
// RNMAN.GARDS_NUCL_IDED 表写入被识别核素的活度浓度信息 // RNMAN.GARDS_NUCL_IDED 表写入被识别核素的活度浓度信息
bRet = nuclIdedSpectrumService.saveNuclIdedGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis); nuclIdedSpectrumService.saveNuclIdedGamma(middleData, Integer.valueOf(phd.getId_sample()), idAnalysis);
if (!bRet) {
result.error500("Save analysis results to DB failed.");
return result;
}
// RNMAN.GARDS_QC_CHECK 表写入 QC 检查结果 // RNMAN.GARDS_QC_CHECK 表写入 QC 检查结果
bRet = qcCheckSpectrumService.saveQcCheckGamma(middleData, phd, idAnalysis); qcCheckSpectrumService.saveQcCheckGamma(middleData, phd, idAnalysis);
if (!bRet) {
result.error500("Save analysis results to DB failed.");
return result;
}
// RNMAN.GARDS_ANALY_SETTING 表写入 SpecSetup 分析参数设置 // RNMAN.GARDS_ANALY_SETTING 表写入 SpecSetup 分析参数设置
bRet = analySettingSpectrumService.saveAnalySettingGamma(phd, idAnalysis); analySettingSpectrumService.saveAnalySettingGamma(phd, idAnalysis);
if(bRet) { if(bRet) {
phd.setStatus("R"); phd.setStatus("R");
List<String> paths=new LinkedList<>(); List<String> paths=new LinkedList<>();

View File

@ -15,8 +15,7 @@ public class GardsAnalySettingSpectrumServiceImpl extends ServiceImpl<GardsAnaly
@Override @Override
@Transactional @Transactional
public boolean saveAnalySettingGamma(PHDFile phd, String idAnalysis) { public int saveAnalySettingGamma(PHDFile phd, String idAnalysis) {
boolean bRet = false;
GardsAnalySetting analySetting = new GardsAnalySetting(); GardsAnalySetting analySetting = new GardsAnalySetting();
analySetting.setIdanalysis(Integer.valueOf(idAnalysis)); analySetting.setIdanalysis(Integer.valueOf(idAnalysis));
analySetting.setSampleId(Integer.valueOf(phd.getId_sample())); analySetting.setSampleId(Integer.valueOf(phd.getId_sample()));
@ -36,10 +35,7 @@ public class GardsAnalySettingSpectrumServiceImpl extends ServiceImpl<GardsAnaly
analySetting.setReftimeAct(phd.getUsedSetting().getRefTime_act()); analySetting.setReftimeAct(phd.getUsedSetting().getRefTime_act());
analySetting.setReftimeConc(phd.getUsedSetting().getRefTime_conc()); analySetting.setReftimeConc(phd.getUsedSetting().getRefTime_conc());
int insert = this.baseMapper.insert(analySetting); int insert = this.baseMapper.insert(analySetting);
if (insert>0){ return insert;
bRet = true;
}
return bRet;
} }
} }

View File

@ -31,8 +31,7 @@ public class GardsCalibrationPairsSpectrumServiceImpl extends ServiceImpl<GardsC
@Override @Override
@Transactional @Transactional
public boolean saveGardsCalibrationPairsGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) { public int saveGardsCalibrationPairsGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) {
boolean bRet = false;
List<GardsCalibrationPairs> calibrationPairsList = new LinkedList<>(); List<GardsCalibrationPairs> calibrationPairsList = new LinkedList<>();
// RNMAN.GARDS_CALIBRATION_PAIRS 表写入 Energy 刻度数据对 // RNMAN.GARDS_CALIBRATION_PAIRS 表写入 Energy 刻度数据对
int t_size = middleData.calibration_pairs_E_idCalPoint.size(); int t_size = middleData.calibration_pairs_E_idCalPoint.size();
@ -108,8 +107,8 @@ public class GardsCalibrationPairsSpectrumServiceImpl extends ServiceImpl<GardsC
} }
} }
if (CollectionUtils.isNotEmpty(calibrationPairsList)) { if (CollectionUtils.isNotEmpty(calibrationPairsList)) {
bRet = this.saveBatch(calibrationPairsList); this.saveBatch(calibrationPairsList);
} }
return bRet; return calibrationPairsList.size();
} }
} }

View File

@ -29,8 +29,7 @@ public class GardsCalibrationSpectrumServiceImpl extends ServiceImpl<GardsCalibr
@Override @Override
@Transactional @Transactional
public boolean saveCalibrationGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) { public int saveCalibrationGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) {
boolean bRet = false;
List<GardsCalibration> calibrationList = new LinkedList<>(); List<GardsCalibration> calibrationList = new LinkedList<>();
int t_size = middleData.calibration_pairs_E_idCalPoint.size(); int t_size = middleData.calibration_pairs_E_idCalPoint.size();
if (t_size>0){ if (t_size>0){
@ -96,8 +95,10 @@ public class GardsCalibrationSpectrumServiceImpl extends ServiceImpl<GardsCalibr
calibrationList.add(calibration); calibrationList.add(calibration);
} }
if (CollectionUtils.isNotEmpty(calibrationList)) { if (CollectionUtils.isNotEmpty(calibrationList)) {
bRet = this.saveBatch(calibrationList); for (GardsCalibration calibration:calibrationList) {
this.baseMapper.insertCalibrationGamma(calibration);
}
} }
return bRet; return calibrationList.size();
} }
} }

View File

@ -21,8 +21,7 @@ public class GardsNuclIdedSpectrumServiceImpl extends ServiceImpl<GardsNuclIdedS
@Override @Override
@Transactional @Transactional
public boolean saveNuclIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) { public int saveNuclIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) {
boolean bRet = false;
List<GardsNuclIded> nuclIdedList = new LinkedList<>(); List<GardsNuclIded> nuclIdedList = new LinkedList<>();
int t_size = middleData.nucl_ided_Nuclidename.size(); int t_size = middleData.nucl_ided_Nuclidename.size();
if(t_size > 0){ if(t_size > 0){
@ -51,9 +50,9 @@ public class GardsNuclIdedSpectrumServiceImpl extends ServiceImpl<GardsNuclIdedS
} }
} }
if (CollectionUtils.isNotEmpty(nuclIdedList)) { if (CollectionUtils.isNotEmpty(nuclIdedList)) {
bRet = this.saveBatch(nuclIdedList); this.saveBatch(nuclIdedList);
} }
return bRet; return nuclIdedList.size();
} }
} }

View File

@ -21,8 +21,7 @@ public class GardsNuclLinesIdedSpectrumServiceImpl extends ServiceImpl<GardsNucl
@Override @Override
@Transactional @Transactional
public boolean saveNuclLinesIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) { public int saveNuclLinesIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) {
boolean bRet = false;
Map<String, GStoreMiddleProcessDataNuclLinesIded> map = middleData.nucl_lines_ided_data; Map<String, GStoreMiddleProcessDataNuclLinesIded> map = middleData.nucl_lines_ided_data;
List<GardsNuclLinesIded> nuclLinesIdedList = new LinkedList<>(); List<GardsNuclLinesIded> nuclLinesIdedList = new LinkedList<>();
for(String key: map.keySet()){ for(String key: map.keySet()){
@ -55,7 +54,7 @@ public class GardsNuclLinesIdedSpectrumServiceImpl extends ServiceImpl<GardsNucl
if (CollectionUtils.isNotEmpty(nuclLinesIdedList)) { if (CollectionUtils.isNotEmpty(nuclLinesIdedList)) {
this.saveBatch(nuclLinesIdedList); this.saveBatch(nuclLinesIdedList);
} }
return bRet; return nuclLinesIdedList.size();
} }
} }

View File

@ -20,7 +20,7 @@ public class GardsPeaksSpectrumServiceImpl extends ServiceImpl<GardsPeaksSpectru
@Override @Override
@Transactional @Transactional
public boolean savePeaksGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) { public int savePeaksGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis) {
List<GardsPeaks> peaksList = new LinkedList<>(); List<GardsPeaks> peaksList = new LinkedList<>();
int t_size = middleData.peaks_idPeak.size(); int t_size = middleData.peaks_idPeak.size();
if(t_size > 0){ if(t_size > 0){
@ -30,13 +30,13 @@ public class GardsPeaksSpectrumServiceImpl extends ServiceImpl<GardsPeaksSpectru
peaks.setIdAnalysis(Integer.valueOf(idAnalysis)); peaks.setIdAnalysis(Integer.valueOf(idAnalysis));
peaks.setIdPeak(Integer.valueOf(middleData.peaks_idPeak.get(i))); peaks.setIdPeak(Integer.valueOf(middleData.peaks_idPeak.get(i)));
peaks.setCentroidChannel(Double.valueOf(middleData.peaks_peakCentroid.get(i))); peaks.setCentroidChannel(Double.valueOf(middleData.peaks_peakCentroid.get(i)));
peaks.setUncCentroidChannel(Double.valueOf(middleData.peaks_uncpeakCentroid.get(i))); peaks.setUncCentroidChannel(null);
peaks.setEnergy(Double.valueOf(middleData.peaks_Energy.get(i))); peaks.setEnergy(Double.valueOf(middleData.peaks_Energy.get(i)));
peaks.setUncEnergy(Double.valueOf(middleData.peaks_uncEnergy.get(i))); peaks.setUncEnergy(null);
peaks.setArea(Double.valueOf(middleData.peaks_Area.get(i))); peaks.setArea(Double.valueOf(middleData.peaks_Area.get(i)));
peaks.setUncArea(Double.valueOf(middleData.peaks_areaErr.get(i))); peaks.setUncArea(Double.valueOf(middleData.peaks_areaErr.get(i)));
peaks.setEfficiency(Double.valueOf(middleData.peaks_Efficiency.get(i))); peaks.setEfficiency(Double.valueOf(middleData.peaks_Efficiency.get(i)));
peaks.setUncefficiency(Double.valueOf(middleData.peaks_Uncefficiency.get(i))); peaks.setUncefficiency(null);
peaks.setFwhm(Double.valueOf(middleData.peaks_Fwhm.get(i))); peaks.setFwhm(Double.valueOf(middleData.peaks_Fwhm.get(i)));
peaks.setFwtm(Double.valueOf(middleData.peaks_Fwhmc.get(i))); peaks.setFwtm(Double.valueOf(middleData.peaks_Fwhmc.get(i)));
peaks.setSignificance(Double.valueOf(middleData.peaks_Significance.get(i))); peaks.setSignificance(Double.valueOf(middleData.peaks_Significance.get(i)));
@ -65,7 +65,7 @@ public class GardsPeaksSpectrumServiceImpl extends ServiceImpl<GardsPeaksSpectru
if (CollectionUtils.isNotEmpty(peaksList)) { if (CollectionUtils.isNotEmpty(peaksList)) {
this.saveBatch(peaksList); this.saveBatch(peaksList);
} }
return false; return peaksList.size();
} }
} }

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.service.impl; package org.jeecg.modules.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.base.entity.rnman.GardsQcCheck; import org.jeecg.modules.base.entity.rnman.GardsQcCheck;
import org.jeecg.modules.entity.vo.GStoreMiddleProcessData; import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
@ -21,25 +22,25 @@ public class GardsQcCheckSpectrumServiceImpl extends ServiceImpl<GardsQcCheckSpe
@Override @Override
@Transactional @Transactional
public boolean saveQcCheckGamma(GStoreMiddleProcessData middleData, PHDFile phd, String idAnalysis) { public int saveQcCheckGamma(GStoreMiddleProcessData middleData, PHDFile phd, String idAnalysis) {
boolean bRet = false;
int t_size = phd.getQcItems().size(); int t_size = phd.getQcItems().size();
if(t_size > 0){ List<GardsQcCheck> qcCheckList = new LinkedList<>();
List<GardsQcCheckSpectrum> qcCheckList = new LinkedList<>(); if(t_size > 0) {
for (int i=0; i<t_size; i++){ for (int i=0; i<t_size; i++){
GardsQcCheckSpectrum qcCheck = new GardsQcCheckSpectrum(); GardsQcCheck qcCheck = new GardsQcCheck();
qcCheck.setSampleId(Integer.valueOf(phd.getId_sample())); qcCheck.setSampleId(Integer.valueOf(phd.getId_sample()));
qcCheck.setIdanalysis(Integer.valueOf(idAnalysis)); qcCheck.setIdanalysis(Integer.valueOf(idAnalysis));
qcCheck.setQcName(middleData.QC_CHECK_QC_NAME.get(i)); qcCheck.setQcName(middleData.QC_CHECK_QC_NAME.get(i));
qcCheck.setQcValue(Double.valueOf(middleData.QC_CHECK_QC_VALUE.get(i))); qcCheck.setQcValue(Double.valueOf(middleData.QC_CHECK_QC_VALUE.get(i)));
qcCheck.setQcStandard(middleData.QC_CHECK_QC_STANDARD.get(i)); qcCheck.setQcStandard(middleData.QC_CHECK_QC_STANDARD.get(i));
qcCheck.setQcResult(Integer.valueOf(middleData.QC_CHECK_QC_RESULT.get(i))); qcCheck.setQcResult(Double.valueOf(middleData.QC_CHECK_QC_RESULT.get(i)).intValue());
qcCheckList.add(qcCheck); qcCheckList.add(qcCheck);
} }
} }
if (CollectionUtils.isNotEmpty(qcCheckList)) {
return bRet; this.saveBatch(qcCheckList);
}
return qcCheckList.size();
} }
} }

View File

@ -102,7 +102,7 @@ public class GardsSampleAuxSpectrumServiceImpl extends ServiceImpl<GardsSampleAu
sampleAux.setGasBkgdMeasurementId(phd.getHeader().getGas_bk_measurement_id()); sampleAux.setGasBkgdMeasurementId(phd.getHeader().getGas_bk_measurement_id());
sampleAux.setSampleHeight(phd.getSampleBlock().getDimension_2()); sampleAux.setSampleHeight(phd.getSampleBlock().getDimension_2());
sampleAux.setSampleDiameter(phd.getSampleBlock().getDimension_1()); sampleAux.setSampleDiameter(phd.getSampleBlock().getDimension_1());
sampleAux.setCalibrationDtg(DateUtils.parseDate(calibTime)); sampleAux.setCalibrationDtg(StringUtils.isNotBlank(calibTime)?DateUtils.parseDate(calibTime):null);
sampleAux.setMsgId(phd.getMsgInfo().getMsg_id()); sampleAux.setMsgId(phd.getMsgInfo().getMsg_id());
sampleAux.setArchiveBottleId(phd.getProcess().getArchive_bottle_id()); sampleAux.setArchiveBottleId(phd.getProcess().getArchive_bottle_id());
sampleAux.setXeVolume(phd.getProcess().getSample_volume_of_Xe()); sampleAux.setXeVolume(phd.getProcess().getSample_volume_of_Xe());

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.service.impl; package org.jeecg.modules.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.base.entity.original.GardsSampleCert; import org.jeecg.modules.base.entity.original.GardsSampleCert;
@ -44,7 +45,7 @@ public class GardsSampleCertSpectrumServiceImpl extends ServiceImpl<GardsSampleC
GardsSampleCert sampleCert = new GardsSampleCert(); GardsSampleCert sampleCert = new GardsSampleCert();
sampleCert.setSampleId(sampleId); sampleCert.setSampleId(sampleId);
sampleCert.setQuantity(phd.getCertificate().getTotal_source_activity()); sampleCert.setQuantity(phd.getCertificate().getTotal_source_activity());
sampleCert.setAssayDate(DateUtils.parseDate(assay_date)); sampleCert.setAssayDate(StringUtils.isNotBlank(assay_date)?DateUtils.parseDate(assay_date):null);
sampleCert.setUnit(phd.getCertificate().getUnits_activity()); sampleCert.setUnit(phd.getCertificate().getUnits_activity());
insert = this.baseMapper.insert(sampleCert); insert = this.baseMapper.insert(sampleCert);
} catch (ParseException e) { } catch (ParseException e) {