From 238444ff053173a0e800dc2e2f87e09367c1dfec Mon Sep 17 00:00:00 2001 From: duwenyuan <15600000461@163.com> Date: Wed, 17 Dec 2025 12:56:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=98=E5=82=A8GARDS=5FROI=5FRESULTS?= =?UTF-8?q?=E8=A1=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/spectrum/Sample_C_Analysis.java | 2383 +++++++++-------- 1 file changed, 1194 insertions(+), 1189 deletions(-) diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_C_Analysis.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_C_Analysis.java index d48021e1..45adcd6f 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_C_Analysis.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_C_Analysis.java @@ -38,10 +38,7 @@ import org.jeecg.modules.exception.CAnalyseException; import org.jeecg.modules.exception.FileNotExistException; import org.jeecg.modules.file.FileOperation; import org.jeecg.modules.native_jni.EnergySpectrumHandler; -import org.jeecg.modules.native_jni.struct.BgBoundary; -import org.jeecg.modules.native_jni.struct.CalcBgBoundaryParam; -import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct; -import org.jeecg.modules.native_jni.struct.SelfBgAnalyseResult; +import org.jeecg.modules.native_jni.struct.*; import org.jeecgframework.core.util.ApplicationContextUtil; import org.springframework.dao.DuplicateKeyException; import org.springframework.transaction.TransactionStatus; @@ -73,249 +70,249 @@ public class Sample_C_Analysis { private static final String ARR_FILE_SUFFIX = ".txt"; private static final String ARR_FILE_NAME_TAIL = "_rpt"; - private final Map fieldMap = fieldMap(); + private final Map fieldMap = fieldMap(); - private AbstractS_D_Q_G_SpectrumHandler spectrumHandler; + private AbstractS_D_Q_G_SpectrumHandler spectrumHandler; - // Sample谱原始数据 - private GardsSampleData sampleData; + // Sample谱原始数据 + private GardsSampleData sampleData; - // 分析所需Service - private SpectrumServiceQuotes serviceQuotes; + // 分析所需Service + private SpectrumServiceQuotes serviceQuotes; - // Sample谱结构体数据 - private EnergySpectrumStruct sampleStruct; + // Sample谱结构体数据 + private EnergySpectrumStruct sampleStruct; - // 能谱文件存储路径属性 - private SpectrumPathProperties spectrumPathProperties; + // 能谱文件存储路径属性 + private SpectrumPathProperties spectrumPathProperties; - private ParameterProperties parameterProperties; + private ParameterProperties parameterProperties; - private RedisUtil redisUtil; + private RedisUtil redisUtil; - private FTPUtil ftpUtil; + private FTPUtil ftpUtil; - /** - * 系统类型 - */ - private String systemType; + /** + * 系统类型 + */ + private String systemType; - /** - * 数据类型 - */ - private String dataType; + /** + * 数据类型 + */ + private String dataType; - /** - * 样品谱地址 - */ - private String sampleInputFilename; + /** + * 样品谱地址 + */ + private String sampleInputFilename; - /** - * 样品谱名称 - */ - private String sampleFilename; + /** + * 样品谱名称 + */ + private String sampleFilename; - private String sampleFilePath; + private String sampleFilePath; - /** - * 日志文件路径 - */ - private String logFilePath; - /** - * 日志文件名称 - */ - private String logFileName; - /** - * 报告文件路径 - */ - private String arrFilePath; - /** - * 报告文件名称 - */ - private String arrFileName; + /** + * 日志文件路径 + */ + private String logFilePath; + /** + * 日志文件名称 + */ + private String logFileName; + /** + * 报告文件路径 + */ + private String arrFilePath; + /** + * 报告文件名称 + */ + private String arrFileName; - /* - * 自建台站谱解析所需的四个Gamms谱对象 - */ - private PHDFile phdFile1; - private PHDFile phdFile2; - private PHDFile phdFile3; - private PHDFile phdFile4; + /* + * 自建台站谱解析所需的四个Gamms谱对象 + */ + private PHDFile phdFile1; + private PHDFile phdFile2; + private PHDFile phdFile3; + private PHDFile phdFile4; - private List phdFilePaths; + private List phdFilePaths; - private Map middleDataMap; + private Map middleDataMap; - protected Date startAnalysisTime; + protected Date startAnalysisTime; - protected Date endAnalysisTime; + protected Date endAnalysisTime; - protected GardsSampleData detSampleData = null; + protected GardsSampleData detSampleData = null; - protected EnergySpectrumStruct detStruct = null; + protected EnergySpectrumStruct detStruct = null; - private String detFileFinalPath; + private String detFileFinalPath; - protected ParsingProcessLog parsingProcessLog; + protected ParsingProcessLog parsingProcessLog; - private SelfBgAnalyseResult analyseResult; + private SelfBgAnalyseResult analyseResult; - private String spectrumFileRelativePath; + private String spectrumFileRelativePath; - public Sample_C_Analysis(AbstractS_D_Q_G_SpectrumHandler spectrumHandler, EnergySpectrumStruct sampleStruct, SpectrumServiceQuotes serviceQuotes, - GardsSampleData sampleData) { - this.analyseResult = new SelfBgAnalyseResult(); - this.spectrumHandler = spectrumHandler; - this.sampleData = sampleData; - this.serviceQuotes = serviceQuotes; - this.sampleStruct = sampleStruct; - this.systemType = sampleStruct.system_type; - this.dataType = sampleStruct.data_type; - this.parsingProcessLog = spectrumHandler.parsingProcessLog; - this.sampleInputFilename = sampleData.getInputFileName(); - this.sampleFilename = StringUtils.substring(sampleData.getInputFileName(), - sampleData.getInputFileName().lastIndexOf((StringConstant.SLASH))+1); - this.spectrumFileRelativePath = spectrumHandler.getFileSaveRelativePath(); - } + public Sample_C_Analysis(AbstractS_D_Q_G_SpectrumHandler spectrumHandler, EnergySpectrumStruct sampleStruct, SpectrumServiceQuotes serviceQuotes, + GardsSampleData sampleData) { + this.analyseResult = new SelfBgAnalyseResult(); + this.spectrumHandler = spectrumHandler; + this.sampleData = sampleData; + this.serviceQuotes = serviceQuotes; + this.sampleStruct = sampleStruct; + this.systemType = sampleStruct.system_type; + this.dataType = sampleStruct.data_type; + this.parsingProcessLog = spectrumHandler.parsingProcessLog; + this.sampleInputFilename = sampleData.getInputFileName(); + this.sampleFilename = StringUtils.substring(sampleData.getInputFileName(), + sampleData.getInputFileName().lastIndexOf((StringConstant.SLASH)) + 1); + this.spectrumFileRelativePath = spectrumHandler.getFileSaveRelativePath(); + } - public void analysis() throws CAnalyseException, AnalySpectrumException{ - log.info("SelfStaion自动处理分析--Start"); - try { - this.startAnalysisTime = new Date(); + public void analysis() throws CAnalyseException, AnalySpectrumException { + log.info("SelfStaion自动处理分析--Start"); + try { + this.startAnalysisTime = new Date(); - //声明分析日志对象 - // parsingProcessLog.setSample_C_Analysis(this); + //声明分析日志对象 + // parsingProcessLog.setSample_C_Analysis(this); - //查询det数据(sampleId,inputFileName) sample数据在构造函数已经传过来 + //查询det数据(sampleId,inputFileName) sample数据在构造函数已经传过来 // this.queryPHDFile(); - //查找det谱PHD文件 sample谱PHD文件位置在构造函数已经传过来 + //查找det谱PHD文件 sample谱PHD文件位置在构造函数已经传过来 // this.getPHDFile(); - // Beta谱进行分析 TODO Analysis + // Beta谱进行分析 TODO Analysis - //获取PHD文件的路径以及文件名称信息 - String sampleFilePathName = spectrumHandler.spectrumFile.getAbsolutePath().replace("\\", StringPool.SLASH); - this.sampleFilePath = sampleFilePathName.substring(0, sampleFilePathName.lastIndexOf(StringPool.SLASH)); + //获取PHD文件的路径以及文件名称信息 + String sampleFilePathName = spectrumHandler.spectrumFile.getAbsolutePath().replace("\\", StringPool.SLASH); + this.sampleFilePath = sampleFilePathName.substring(0, sampleFilePathName.lastIndexOf(StringPool.SLASH)); - /* 使用自建台站谱生成4个Gamma谱 */ - this.create4PHD(); + /* 使用自建台站谱生成4个Gamma谱 */ + this.create4PHD(); - /* 准备Gamma分析需要的数据 */ - Integer sampleId = sampleData.getSampleId(); + /* 准备Gamma分析需要的数据 */ + Integer sampleId = sampleData.getSampleId(); - // 文件路径 - GStoreMiddleProcessData middleData1 = new GStoreMiddleProcessData(this.sampleInputFilename); - GStoreMiddleProcessData middleData2 = new GStoreMiddleProcessData(this.sampleInputFilename); - GStoreMiddleProcessData middleData3 = new GStoreMiddleProcessData(this.sampleInputFilename); - GStoreMiddleProcessData middleData4 = new GStoreMiddleProcessData(this.sampleInputFilename); + // 文件路径 + GStoreMiddleProcessData middleData1 = new GStoreMiddleProcessData(this.sampleInputFilename); + GStoreMiddleProcessData middleData2 = new GStoreMiddleProcessData(this.sampleInputFilename); + GStoreMiddleProcessData middleData3 = new GStoreMiddleProcessData(this.sampleInputFilename); + GStoreMiddleProcessData middleData4 = new GStoreMiddleProcessData(this.sampleInputFilename); - // 读取文件内容并附值 + // 读取文件内容并附值 // this.setPHDFile(phdFile1, phdFile2, phdFile3, phdFile4); - // 获取数据库 Gamma 默认参数 - getSettingFromDB(phdFile1, phdFile2, phdFile3, phdFile4); + // 获取数据库 Gamma 默认参数 + getSettingFromDB(phdFile1, phdFile2, phdFile3, phdFile4); - // 根据能谱的系统类型传入不同的核素参数 - Map nuclideLibs = this.getNuclideLinesG(); + // 根据能谱的系统类型传入不同的核素参数 + Map nuclideLibs = this.getNuclideLinesG(); - //读取参数内容 - Map mdcInfoMap = readMDCParameter(phdFile1, phdFile2, phdFile3, phdFile4); - // 执行gamma分析业务代码 - GammaFileUtil gammaFileUtil = ApplicationContextUtil.getContext().getBean(GammaFileUtil.class); - boolean analyFlag1 = gammaFileUtil.GetMiddleData(phdFile1, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData1, MiddleDataType.Auto.getType(), ""); - boolean analyFlag2 = gammaFileUtil.GetMiddleData(phdFile2, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData2, MiddleDataType.Auto.getType(), ""); - boolean analyFlag3 = gammaFileUtil.GetMiddleData(phdFile3, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData3, MiddleDataType.Auto.getType(), ""); - boolean analyFlag4 = gammaFileUtil.GetMiddleData(phdFile4, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData4, MiddleDataType.Auto.getType(), ""); + //读取参数内容 + Map mdcInfoMap = readMDCParameter(phdFile1, phdFile2, phdFile3, phdFile4); + // 执行gamma分析业务代码 + GammaFileUtil gammaFileUtil = ApplicationContextUtil.getContext().getBean(GammaFileUtil.class); + boolean analyFlag1 = gammaFileUtil.GetMiddleData(phdFile1, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData1, MiddleDataType.Auto.getType(), ""); + boolean analyFlag2 = gammaFileUtil.GetMiddleData(phdFile2, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData2, MiddleDataType.Auto.getType(), ""); + boolean analyFlag3 = gammaFileUtil.GetMiddleData(phdFile3, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData3, MiddleDataType.Auto.getType(), ""); + boolean analyFlag4 = gammaFileUtil.GetMiddleData(phdFile4, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData4, MiddleDataType.Auto.getType(), ""); - // 获取自建台站参数 - SelfParameter selfParameter = (SelfParameter) redisUtil.get(RedisConstant.SELF_PARAMETER); + // 获取自建台站参数 + SelfParameter selfParameter = (SelfParameter) redisUtil.get(RedisConstant.SELF_PARAMETER); - long numBChannel = this.sampleStruct.num_b_channel; - List bChannel = this.sampleStruct.b_channel; - List bElectronEnergy = this.sampleStruct.b_electron_energy; - //计算得到C to E公式数据 - List fittingPara = EnergySpectrumHandler.GetFileFittingPara(bChannel, bElectronEnergy); - List s_b_fitting_e_c = new LinkedList<>(); - for (Double para : fittingPara) { - s_b_fitting_e_c.add(para); - } - this.analyseResult.setS_b_fitting_e_c(s_b_fitting_e_c); + long numBChannel = this.sampleStruct.num_b_channel; + List bChannel = this.sampleStruct.b_channel; + List bElectronEnergy = this.sampleStruct.b_electron_energy; + //计算得到C to E公式数据 + List fittingPara = EnergySpectrumHandler.GetFileFittingPara(bChannel, bElectronEnergy); + List s_b_fitting_e_c = new LinkedList<>(); + for (Double para : fittingPara) { + s_b_fitting_e_c.add(para); + } + this.analyseResult.setS_b_fitting_e_c(s_b_fitting_e_c); - List channel = new LinkedList<>(); - for (int i = 0; i < numBChannel - 1 ; ++i) { - channel.add(Double.valueOf(i)); - } - List energy = EnergySpectrumHandler.GetFileFittingData(channel, fittingPara); - //E to C - List fittingParaToUi = EnergySpectrumHandler.GetFileFittingPara(energy, channel); - List s_g_fitting_e_c = new LinkedList<>(); - for (Double para:fittingParaToUi) { - s_g_fitting_e_c.add(para); - } - analyseResult.setS_g_fitting_e_c(s_g_fitting_e_c); + List channel = new LinkedList<>(); + for (int i = 0; i < numBChannel - 1; ++i) { + channel.add(Double.valueOf(i)); + } + List energy = EnergySpectrumHandler.GetFileFittingData(channel, fittingPara); + //E to C + List fittingParaToUi = EnergySpectrumHandler.GetFileFittingPara(energy, channel); + List s_g_fitting_e_c = new LinkedList<>(); + for (Double para : fittingParaToUi) { + s_g_fitting_e_c.add(para); + } + analyseResult.setS_g_fitting_e_c(s_g_fitting_e_c); - // 执行beta分析 - List selfXeResults = SelfBaseUtil.betaAnalyse(selfParameter.getNuclideMap(), sampleStruct.POI_G_y1, - sampleStruct.POI_G_y2, sampleFilePathName, phdFile1, phdFile2, phdFile3, phdFile4); + // 执行beta分析 + List selfXeResults = SelfBaseUtil.betaAnalyse(selfParameter.getNuclideMap(), sampleStruct.POI_G_y1, + sampleStruct.POI_G_y2, sampleFilePathName, phdFile1, phdFile2, phdFile3, phdFile4); - analyseResult.setXeResults(selfXeResults); - List roiResult = SelfBaseUtil.getRoiResult(selfXeResults); + analyseResult.setXeResults(selfXeResults); + List roiResult = SelfBaseUtil.getRoiResult(selfXeResults); - boolean analyFlag = analyFlag1 && analyFlag2 && analyFlag3 && analyFlag4 && !selfXeResults.isEmpty(); + boolean analyFlag = analyFlag1 && analyFlag2 && analyFlag3 && analyFlag4 && !selfXeResults.isEmpty(); - if (analyFlag) { - this.endAnalysisTime = new Date(); + if (analyFlag) { + this.endAnalysisTime = new Date(); - StringBuilder finalReportPath = new StringBuilder(); - finalReportPath.append(spectrumPathProperties.getRootPath()); + StringBuilder finalReportPath = new StringBuilder(); + finalReportPath.append(spectrumPathProperties.getRootPath()); // finalReportPath.append(File.separator); - finalReportPath.append(spectrumPathProperties.getSaveFilePath()); - finalReportPath.append(spectrumPathProperties.getArrPath()); - finalReportPath.append(File.separator); - finalReportPath.append(this.spectrumFileRelativePath); + finalReportPath.append(spectrumPathProperties.getSaveFilePath()); + finalReportPath.append(spectrumPathProperties.getArrPath()); + finalReportPath.append(File.separator); + finalReportPath.append(this.spectrumFileRelativePath); // finalReportPath.append(arrFilePath); - finalReportPath.append(File.separator); - String arrFileTail = ARR_FILE_NAME_TAIL+ARR_FILE_SUFFIX; - finalReportPath.append(this.sampleFilename.replace(DataType.SAMPLEPHD.getSuffix(),arrFileTail)); + finalReportPath.append(File.separator); + String arrFileTail = ARR_FILE_NAME_TAIL + ARR_FILE_SUFFIX; + finalReportPath.append(this.sampleFilename.replace(DataType.SAMPLEPHD.getSuffix(), arrFileTail)); - // gamma数据插入数据库 - this.storageDataToDatabase(mdcInfoMap, finalReportPath.toString(), null, - middleData1, middleData2, middleData3, middleData4); + // gamma数据插入数据库 + this.storageDataToDatabase(mdcInfoMap, finalReportPath.toString(), null, + middleData1, middleData2, middleData3, middleData4); - // 生成gamma日志文件 - writeLog(middleData1, middleData2, middleData3, middleData4); + // 生成gamma日志文件 + writeLog(middleData1, middleData2, middleData3, middleData4); - // 生成gamma报告文件 - writeReport(middleData1, middleData2, middleData3, middleData4); + // 生成gamma报告文件 + writeReport(middleData1, middleData2, middleData3, middleData4); - // 生成beta报告 - SelfBaseUtil.createReport(sampleId, finalReportPath.toString(), sampleStruct, null, selfXeResults); - //发送数据到redis - // middleData.setSample_id(String.valueOf(sampleId)); - // pushToRedis(middleData); - } else { - ErrorLogManager.getInstance().write(new SpectrumErrorEvent(new Date(), phdFile1.getAnalyMessage(), this.sampleFilename)); - throw new AnalySpectrumException(phdFile1.getAnalyMessage()); - } - } catch (Exception e){ - e.printStackTrace(); - log.error("Sample_C_Analysis", e); - if (e instanceof DuplicateKeyException) { - throw new CAnalyseException("Sample Analyse Error at "+DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss"), true); - } else if (e instanceof AnalySpectrumException) { - throw new AnalySpectrumException(e.getMessage()); - } else { - throw new CAnalyseException("Sample Analyse Error at "+DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss")); - } - } - log.info("SelfStaion自动处理分析--End"); - } + // 生成beta报告 + SelfBaseUtil.createReport(sampleId, finalReportPath.toString(), sampleStruct, null, selfXeResults); + //发送数据到redis + // middleData.setSample_id(String.valueOf(sampleId)); + // pushToRedis(middleData); + } else { + ErrorLogManager.getInstance().write(new SpectrumErrorEvent(new Date(), phdFile1.getAnalyMessage(), this.sampleFilename)); + throw new AnalySpectrumException(phdFile1.getAnalyMessage()); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("Sample_C_Analysis", e); + if (e instanceof DuplicateKeyException) { + throw new CAnalyseException("Sample Analyse Error at " + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"), true); + } else if (e instanceof AnalySpectrumException) { + throw new AnalySpectrumException(e.getMessage()); + } else { + throw new CAnalyseException("Sample Analyse Error at " + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss")); + } + } + log.info("SelfStaion自动处理分析--End"); + } /* * 根据自建台站样品谱生成4个Gamma谱 * */ - public void create4PHD(){ + public void create4PHD() { // 计算边界值 List gEnergy = sampleStruct.g_energy; List gCentroidChannel = sampleStruct.g_centroid_channel; @@ -395,7 +392,7 @@ public class Sample_C_Analysis { phdFile4.setXmlFilePath(parameterProperties.getFilePath()); } - public String savePath(){ + public String savePath() { //measurement_id切割后的字符数组 String[] arr = this.sampleStruct.measurement_id.split(StringConstant.DASH); //切割后第一个,元素是年,第二个是月 @@ -413,9 +410,9 @@ public class Sample_C_Analysis { } /* - * 获取savefile全路径 不包含文件名 - * */ - public String saveFullPath(){ + * 获取savefile全路径 不包含文件名 + * */ + public String saveFullPath() { spectrumPathProperties = SpringContextUtils.getBean(SpectrumPathProperties.class); String rootPath = spectrumPathProperties.getRootPath(); String saveFilePath = spectrumPathProperties.getSaveFilePath(); @@ -431,11 +428,11 @@ public class Sample_C_Analysis { this.detSampleData = serviceQuotes.getSampleDataService().getSampleIdAndInputFileName(detectorBkMeasurementId, DataTypeAbbr.DETBKPHD.getType(), this.sampleStruct.system_type); //如果找不到sample、det谱文件数据则解析失败修改记录状态 - if(StringUtils.isEmpty(this.sampleData.getInputFileName()) || Objects.isNull(this.detSampleData) || StringUtils.isEmpty(this.detSampleData.getInputFileName())){ + if (StringUtils.isEmpty(this.sampleData.getInputFileName()) || Objects.isNull(this.detSampleData) || StringUtils.isEmpty(this.detSampleData.getInputFileName())) { parsingProcessLog.setFileNotExist(true); - this.serviceQuotes.getSampleDataService().updateStatus(SampleStatus.FAIL.getValue(),this.sampleData.getInputFileName()); - ErrorLogManager.getInstance().write(new SpectrumErrorEvent(new Date(), ErrorType.GAS_OR_DET_ERROR,this.sampleFilename)); + this.serviceQuotes.getSampleDataService().updateStatus(SampleStatus.FAIL.getValue(), this.sampleData.getInputFileName()); + ErrorLogManager.getInstance().write(new SpectrumErrorEvent(new Date(), ErrorType.GAS_OR_DET_ERROR, this.sampleFilename)); throw new FileNotExistException("gas or det file is no exist or is error.."); } } @@ -453,13 +450,13 @@ public class Sample_C_Analysis { detFileFinalPath.append(detSampleData.getInputFileName()); this.detFileFinalPath = detFileFinalPath.toString(); File detFile = new File(this.detFileFinalPath); - if(!detFile.exists()){ + if (!detFile.exists()) { flag = true; } - if(flag){ + if (flag) { parsingProcessLog.setFileNotExist(true); - ErrorLogManager.getInstance().write(new SpectrumErrorEvent(new Date(), ErrorType.GAS_OR_DET_ERROR,this.sampleFilename)); + ErrorLogManager.getInstance().write(new SpectrumErrorEvent(new Date(), ErrorType.GAS_OR_DET_ERROR, this.sampleFilename)); throw new FileNotExistException("gas or det file is no exist or is error.."); } // this.detStruct = EnergySpectrumHandler.getSourceData(this.detFileFinalPath); @@ -467,7 +464,7 @@ public class Sample_C_Analysis { } /** - * 读取计算MDC参数文件方法 + * 读取计算MDC参数文件方法 */ public Map readMDCParameter(PHDFile... phdFiles) { //存储文件结果用的map @@ -475,7 +472,7 @@ public class Sample_C_Analysis { if (ArrayUtil.isEmpty(phdFiles)) return mdcInfoMap; String systemType = phdFiles[0].getHeader().getSystem_type(); //配置文件路径 - String filePath = parameterProperties.getFilePath()+ File.separator + "MDCParameter.xml"; + String filePath = parameterProperties.getFilePath() + File.separator + "MDCParameter.xml"; try { //创建一个文档解析器工厂 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); @@ -483,7 +480,7 @@ public class Sample_C_Analysis { DocumentBuilder documentBuilder = factory.newDocumentBuilder(); //读取xml文件生成一个文档 Document document = documentBuilder.parse(filePath); - if (Objects.nonNull(document)){ + if (Objects.nonNull(document)) { //获取文档的根元素 Element element = document.getDocumentElement(); //获取根元素的子节点 @@ -491,14 +488,14 @@ public class Sample_C_Analysis { //判断文件内的节点是否大于0 if (Objects.nonNull(docChildNodes) && docChildNodes.getLength() > 0) { //遍历文件节点读取内容 - for (int i=0; i 0) { //遍历子节点信息 - for (int j=0; j< childNodes.getLength(); j++) { + for (int j = 0; j < childNodes.getLength(); j++) { //获取子节点信息 Node childNode = childNodes.item(j); //判断节点名称是否是item @@ -509,7 +506,7 @@ public class Sample_C_Analysis { if (Objects.nonNull(attributes)) { CalMDCInfo info = new CalMDCInfo(); //遍历属性信息 - for (int k=0; k nuclides = Maps.newHashMap(); - for (int i=0; i nuclides = Maps.newHashMap(); + for (int i = 0; i < middleData.nucl_ided_Nuclidename.size(); i++) { nuclides.put(middleData.nucl_ided_Nuclidename.get(i), middleData.nucl_ided_Concentration.get(i)); } info.setNuclides(nuclides); @@ -568,56 +565,65 @@ public class Sample_C_Analysis { } } - public void storageDataToDatabase(Map mdcInfoMap, String reportPath, String logFilePath, - GStoreMiddleProcessData... middleDatas){ - // 如果数据已经存储 不再重复存储 - Integer idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(this.sampleData.getSampleId()); - if(ObjectUtil.isNotNull(idAnalysis)) return; - DataSourceSwitcher.switchToOracle(); - final TransactionStatus transactionStatus = serviceQuotes.getTransactionManager().getTransaction(serviceQuotes.getTransactionDefinition()); - try { - Integer sampleId = this.sampleData.getSampleId(); - // 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES TODO 填充Beta分析产生的报告和日志地址 - saveAnalysis(sampleId, this.detSampleData, this.startAnalysisTime, this.endAnalysisTime, logFilePath, reportPath); - // 获取分析结果ID ==> SELECT IDANALYSIS - idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(sampleId); - // 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES - saveAnalysisROI(sampleId, idAnalysis, middleDatas); - // 获取Table RoiId:GStoreMiddleProcessData - middleDataTable(idAnalysis, middleDatas); - // 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA - // serviceQuotes.getSampleDataService().updateStatus(null,null); - /* GARDS_CALIBRATION_PAIRS_ROI 数据表保存 */ - saveCalibrationPairs(sampleId, idAnalysis); - /* GARDS_CALIBRATION_ROI 数据表保存 */ - saveCalibrationROI(sampleId, idAnalysis); - /* Gards_Peaks_ROI 数据表保存 */ - savePeaksROI(sampleId, idAnalysis); - /* Gards_Nucl_Lines_Ided_ROI 数据表保存 */ - saveNuclLinesIdedROI(sampleId, idAnalysis); - /* Gards_Nucl_Ided_ROI 数据表保存 */ - saveNuclIdedROI(sampleId, idAnalysis); - /* Gards_Qc_Check_ROI 数据表保存 */ - // saveQcCheckROI(sampleId, qcItems); - /* GARDS_MDC_ROI 数据表保存 */ - saveMDCROI(sampleId, idAnalysis,mdcInfoMap); + public void storageDataToDatabase(Map mdcInfoMap, String reportPath, String logFilePath, + GStoreMiddleProcessData... middleDatas) { + // 如果数据已经存储 不再重复存储 + Integer idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(this.sampleData.getSampleId()); + if (ObjectUtil.isNotNull(idAnalysis)) return; + DataSourceSwitcher.switchToOracle(); + final TransactionStatus transactionStatus = serviceQuotes.getTransactionManager().getTransaction(serviceQuotes.getTransactionDefinition()); + try { + Integer sampleId = this.sampleData.getSampleId(); + // 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES TODO 填充Beta分析产生的报告和日志地址 + saveAnalysis(sampleId, this.detSampleData, this.startAnalysisTime, this.endAnalysisTime, logFilePath, reportPath); + // 获取分析结果ID ==> SELECT IDANALYSIS + idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(sampleId); + // 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES + saveAnalysisROI(sampleId, idAnalysis, middleDatas); + // 获取Table RoiId:GStoreMiddleProcessData + middleDataTable(idAnalysis, middleDatas); + // 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA + // serviceQuotes.getSampleDataService().updateStatus(null,null); + /* GARDS_CALIBRATION_PAIRS_ROI 数据表保存 */ + saveCalibrationPairs(sampleId, idAnalysis); + /* GARDS_CALIBRATION_ROI 数据表保存 */ + saveCalibrationROI(sampleId, idAnalysis); + /* Gards_Peaks_ROI 数据表保存 */ + savePeaksROI(sampleId, idAnalysis); + /* Gards_Nucl_Lines_Ided_ROI 数据表保存 */ + saveNuclLinesIdedROI(sampleId, idAnalysis); + /* Gards_Nucl_Ided_ROI 数据表保存 */ + saveNuclIdedROI(sampleId, idAnalysis); + /* Gards_Qc_Check_ROI 数据表保存 */ + // saveQcCheckROI(sampleId, qcItems); + /* GARDS_MDC_ROI 数据表保存 */ + saveMDCROI(sampleId, idAnalysis, mdcInfoMap); - /* 存储gards_calibration表数据sample谱B_Energy和G_Energy块数据 */ - saveGardsCalibration(sampleId, idAnalysis); - /* gards_Xe_results数据表XE_131m、XE_133、XE_133m、XE_135数据 */ - saveXeResult(sampleId, idAnalysis); - //提交事务 - serviceQuotes.getTransactionManager().commit(transactionStatus); - } catch (Exception e) { - // 设置分析数据存储失败标记 - // this.parsingProcessLog.setAnalysisDataStoreFlag(false); - // 回滚事务 - serviceQuotes.getTransactionManager().rollback(transactionStatus); - throw e; - } finally { - DataSourceSwitcher.clearDataSource(); - } - } + /* 存储gards_calibration表数据sample谱B_Energy和G_Energy块数据 */ + saveGardsCalibration(sampleId, idAnalysis); + /* gards_Xe_results数据表XE_131m、XE_133、XE_133m、XE_135数据 */ + saveXeResult(sampleId, idAnalysis); + /**GARDS_ROI_RESULTS**/ + saveRoiResults(sampleId, idAnalysis); + + + //提交事务 + serviceQuotes.getTransactionManager().commit(transactionStatus); + } catch (Exception e) { + // 设置分析数据存储失败标记 + // this.parsingProcessLog.setAnalysisDataStoreFlag(false); + // 回滚事务 + serviceQuotes.getTransactionManager().rollback(transactionStatus); + throw e; + } finally { + DataSourceSwitcher.clearDataSource(); + } + } + + private void saveRoiResults(Integer sampleId, Integer idAnalysis) { + List roiResult = SelfBaseUtil.getRoiResult(this.analyseResult.getXeResults()); + serviceQuotes.getRoiResultsService().create(roiResult, sampleId, idAnalysis); + } private void writeLog(GStoreMiddleProcessData... middleDatas) { for (GStoreMiddleProcessData middleData : middleDatas) { @@ -639,594 +645,593 @@ public class Sample_C_Analysis { } } - /** - * 生成日志文件 - * @param logFilePath - * @param middleData - */ - private void writeLog(String logFilePath, GStoreMiddleProcessData middleData) { - logFilePath = spectrumPathProperties.getRootPath() + spectrumPathProperties.getLogPath() + File.separator + logFilePath; - String sampleId = middleData.getSample_id(); - MyLogFormatUtil myLogFormatUtil = new MyLogFormatUtil(); - List writes = new LinkedList<>(); + /** + * 生成日志文件 + * + * @param logFilePath + * @param middleData + */ + private void writeLog(String logFilePath, GStoreMiddleProcessData middleData) { + logFilePath = spectrumPathProperties.getRootPath() + spectrumPathProperties.getLogPath() + File.separator + logFilePath; + String sampleId = middleData.getSample_id(); + MyLogFormatUtil myLogFormatUtil = new MyLogFormatUtil(); + List writes = new LinkedList<>(); - // 自动处理分析开始 - String analyseBegin = MyLogFormatUtil.analyseResultsBegin.replace("%1", "date"); - writes.add(MyLogFormatUtil.getTitleFormat(analyseBegin, MyLogFormatUtil.FILE_TITLE_FLAG)); + // 自动处理分析开始 + String analyseBegin = MyLogFormatUtil.analyseResultsBegin.replace("%1", "date"); + writes.add(MyLogFormatUtil.getTitleFormat(analyseBegin, MyLogFormatUtil.FILE_TITLE_FLAG)); - /* Read calibration data */ - writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.titleCalibration)); + /* Read calibration data */ + writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.titleCalibration)); - List data = new ArrayList<>(); - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.SetSampleGEnergyChannel.replace("%1", sampleId))); + List data = new ArrayList<>(); + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.SetSampleGEnergyChannel.replace("%1", sampleId))); - AttributeItemVo item = null; - item = new AttributeItemVo("Channel", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_E_xValue(), 3)); - data.add(item); - item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_E_yValue(),3)); - data.add(item); - item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_E_uncYValue(), 3)); - data.add(item); - writes.addAll(MyLogFormatUtil.getBlockContext(data)); + AttributeItemVo item = null; + item = new AttributeItemVo("Channel", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_E_xValue(), 3)); + data.add(item); + item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_E_yValue(), 3)); + data.add(item); + item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_E_uncYValue(), 3)); + data.add(item); + writes.addAll(MyLogFormatUtil.getBlockContext(data)); - // Reading gamma Efficiency pairs(sampleID: %1) - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GSetSampleEfficiencyChannel.replace("%1", sampleId))); - data.clear(); - item = new AttributeItemVo("Channel", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_EF_xValue(), 3)); - data.add(item); - item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_EF_yValue(), 3)); - data.add(item); - item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_EF_uncYValue(), 3)); - data.add(item); - writes.addAll(MyLogFormatUtil.getBlockContext(data)); + // Reading gamma Efficiency pairs(sampleID: %1) + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GSetSampleEfficiencyChannel.replace("%1", sampleId))); + data.clear(); + item = new AttributeItemVo("Channel", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_EF_xValue(), 3)); + data.add(item); + item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_EF_yValue(), 3)); + data.add(item); + item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_EF_uncYValue(), 3)); + data.add(item); + writes.addAll(MyLogFormatUtil.getBlockContext(data)); - // Reading gamma Resolution pairs(sampleID: %1) - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GSetSampleResolutionChannel.replace("%1", sampleId))); - data.clear(); - item = new AttributeItemVo("Channel", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_R_xValue(), 3)); - data.add(item); - item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_R_yValue(),3)); - data.add(item); - item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_R_uncYValue(),3)); - data.add(item); - writes.addAll(MyLogFormatUtil.getBlockContext(data)); + // Reading gamma Resolution pairs(sampleID: %1) + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GSetSampleResolutionChannel.replace("%1", sampleId))); + data.clear(); + item = new AttributeItemVo("Channel", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_R_xValue(), 3)); + data.add(item); + item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_R_yValue(), 3)); + data.add(item); + item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_R_uncYValue(), 3)); + data.add(item); + writes.addAll(MyLogFormatUtil.getBlockContext(data)); - // Reading gamma TotalEfficiency pairs(sampleID: %1) - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GSetSampleTotalEfficiencyChannel.replace("%1", sampleId))); - data.clear(); - item = new AttributeItemVo("Channel", middleData.getCalibration_pairs_S_T_xValue()); - data.add(item); - item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_T_yValue(), 3)); - data.add(item); - item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_T_uncYValue(), 3)); - data.add(item); - writes.addAll(MyLogFormatUtil.getBlockContext(data)); + // Reading gamma TotalEfficiency pairs(sampleID: %1) + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GSetSampleTotalEfficiencyChannel.replace("%1", sampleId))); + data.clear(); + item = new AttributeItemVo("Channel", middleData.getCalibration_pairs_S_T_xValue()); + data.add(item); + item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_T_yValue(), 3)); + data.add(item); + item = new AttributeItemVo("Error", MyLogFormatUtil.getValuePoint(middleData.getCalibration_pairs_S_T_uncYValue(), 3)); + data.add(item); + writes.addAll(MyLogFormatUtil.getBlockContext(data)); - // Reading sample information - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.sampleInfo)); - Map infoMap = new LinkedHashMap<>(); - infoMap.put("Collection Start", middleData.sample_collection_start); - infoMap.put("Collection Stop", middleData.sample_collection_stop); - infoMap.put("Sampling Time[h]", middleData.sample_time); - infoMap.put("Sample Quantity[m3]", middleData.sample_quantity); - infoMap.put("Decay Time[h]", middleData.sample_decay_time); - infoMap.put("Acquisition Start", middleData.sample_acquisiton_start); - infoMap.put("Acquisition Stop", middleData.sample_acquistion_stop); - infoMap.put("Acquisition Time[s]", middleData.sample_acquistion_time); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + // Reading sample information + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.sampleInfo)); + Map infoMap = new LinkedHashMap<>(); + infoMap.put("Collection Start", middleData.sample_collection_start); + infoMap.put("Collection Stop", middleData.sample_collection_stop); + infoMap.put("Sampling Time[h]", middleData.sample_time); + infoMap.put("Sample Quantity[m3]", middleData.sample_quantity); + infoMap.put("Decay Time[h]", middleData.sample_decay_time); + infoMap.put("Acquisition Start", middleData.sample_acquisiton_start); + infoMap.put("Acquisition Stop", middleData.sample_acquistion_stop); + infoMap.put("Acquisition Time[s]", middleData.sample_acquistion_time); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - // Read calibration finished - writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.titleCalibrationIdEnd)); + // Read calibration finished + writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.titleCalibrationIdEnd)); - /* Starting Calibration */ - writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleCalibration)); + /* Starting Calibration */ + writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleCalibration)); - // Energy Calibration [%1 ] - if(middleData.calibration_pairs_E_idCalPoint.size()>0) { - infoMap = new LinkedHashMap<>(); - infoMap.put("Energy Calibration [%1 ]".replace("%1", middleData.calibration_pairs_R_Input), ""); - infoMap.put("Function", middleData.calibration_E_functionTypeDef); - infoMap.put("E", middleData.calibration_E_functionDef); - infoMap.put("P", middleData.calibration_E_coeff_string); - infoMap.put("Err", middleData.calibration_E_uncoeff_string); - infoMap.put("Data", middleData.calibration_pairs_E_Input); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - } + // Energy Calibration [%1 ] + if (middleData.calibration_pairs_E_idCalPoint.size() > 0) { + infoMap = new LinkedHashMap<>(); + infoMap.put("Energy Calibration [%1 ]".replace("%1", middleData.calibration_pairs_R_Input), ""); + infoMap.put("Function", middleData.calibration_E_functionTypeDef); + infoMap.put("E", middleData.calibration_E_functionDef); + infoMap.put("P", middleData.calibration_E_coeff_string); + infoMap.put("Err", middleData.calibration_E_uncoeff_string); + infoMap.put("Data", middleData.calibration_pairs_E_Input); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + } - // Resolution Calibration [%1 ] - if(middleData.calibration_pairs_R_idCalPoint.size()>0) { - infoMap = new LinkedHashMap<>(); - infoMap.put("Resolution Calibration [%1 ]".replace("%1", middleData.calibration_pairs_R_Input) , ""); - infoMap.put("Function", middleData.calibration_R_functionTypeDef); - infoMap.put("E", middleData.calibration_R_functionDef); - infoMap.put("P", middleData.calibration_R_coeff_string); - infoMap.put("Err", middleData.calibration_R_uncoeff_string); - infoMap.put("Data", middleData.calibration_pairs_R_Input); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - } + // Resolution Calibration [%1 ] + if (middleData.calibration_pairs_R_idCalPoint.size() > 0) { + infoMap = new LinkedHashMap<>(); + infoMap.put("Resolution Calibration [%1 ]".replace("%1", middleData.calibration_pairs_R_Input), ""); + infoMap.put("Function", middleData.calibration_R_functionTypeDef); + infoMap.put("E", middleData.calibration_R_functionDef); + infoMap.put("P", middleData.calibration_R_coeff_string); + infoMap.put("Err", middleData.calibration_R_uncoeff_string); + infoMap.put("Data", middleData.calibration_pairs_R_Input); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + } - // Efficiency Calibration [PHD ] - if(middleData.calibration_pairs_EF_idCalPoint.size()>0) { - infoMap = new LinkedHashMap<>(); - infoMap.put("Efficiency Calibration [%1 ]".replace("%1", middleData.calibration_pairs_EF_Input), ""); - infoMap.put("Function", middleData.calibration_pairs_EF_Input); - infoMap.put("E", middleData.calibration_EF_functionTypeDef); - infoMap.put("P", middleData.calibration_EF_functionDef); - infoMap.put("Err", middleData.calibration_EF_coeff_string); - infoMap.put("Data", middleData.calibration_EF_uncoeff_string); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - } + // Efficiency Calibration [PHD ] + if (middleData.calibration_pairs_EF_idCalPoint.size() > 0) { + infoMap = new LinkedHashMap<>(); + infoMap.put("Efficiency Calibration [%1 ]".replace("%1", middleData.calibration_pairs_EF_Input), ""); + infoMap.put("Function", middleData.calibration_pairs_EF_Input); + infoMap.put("E", middleData.calibration_EF_functionTypeDef); + infoMap.put("P", middleData.calibration_EF_functionDef); + infoMap.put("Err", middleData.calibration_EF_coeff_string); + infoMap.put("Data", middleData.calibration_EF_uncoeff_string); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + } - if(middleData.calibration_pairs_T_idCalPoint.size()>0) { - infoMap = new LinkedHashMap<>(); - infoMap.put("Tot_efficiency Calibration [%1 ]".replace("%1", middleData.calibration_pairs_T_Input), ""); - infoMap.put("Function", middleData.calibration_pairs_T_Input); - infoMap.put("E", middleData.calibration_T_functionTypeDef); - infoMap.put("P", middleData.calibration_T_functionDef); - infoMap.put("Err", middleData.calibration_T_coeff_string); - infoMap.put("Data", middleData.calibration_T_uncoeff_string); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + if (middleData.calibration_pairs_T_idCalPoint.size() > 0) { + infoMap = new LinkedHashMap<>(); + infoMap.put("Tot_efficiency Calibration [%1 ]".replace("%1", middleData.calibration_pairs_T_Input), ""); + infoMap.put("Function", middleData.calibration_pairs_T_Input); + infoMap.put("E", middleData.calibration_T_functionTypeDef); + infoMap.put("P", middleData.calibration_T_functionDef); + infoMap.put("Err", middleData.calibration_T_coeff_string); + infoMap.put("Data", middleData.calibration_T_uncoeff_string); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - } - // Calibration Finished - writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleCalibrationEnd)); + } + // Calibration Finished + writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleCalibrationEnd)); - /* Starting Spectrum Analysis */ - writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleSpectrum)); + /* Starting Spectrum Analysis */ + writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleSpectrum)); - // PROCESSING PARAMETERS..... - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetPROCESSING)); + // PROCESSING PARAMETERS..... + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetPROCESSING)); - infoMap = new LinkedHashMap<>(); - infoMap.put("ECutAnalysis_Low", middleData.setting_specSetup.getECutAnalysis_Low()); - infoMap.put("ECutAnalysis_High", middleData.setting_specSetup.getECutAnalysis_High()); - infoMap.put("EnergyTolerance", middleData.setting_specSetup.getEnergyTolerance()); - infoMap.put("BaseImprovePSS", middleData.setting_specSetup.getBaseImprovePSS()); - infoMap.put("PSS_low", middleData.setting_specSetup.getPss_low()); - infoMap.put("k_back", middleData.setting_specSetup.getK_back()); - infoMap.put("k_alpha", middleData.setting_specSetup.getK_alpha()); - infoMap.put("k_beta", middleData.setting_specSetup.getK_beta()); - infoMap.put("RiskLevelK", middleData.setting_specSetup.getRiskLevelK()); - infoMap.put("refTime_act", middleData.setting_specSetup.getRefTime_act()); - infoMap.put("refTime_conc", middleData.setting_specSetup.getRefTime_conc()); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + infoMap = new LinkedHashMap<>(); + infoMap.put("ECutAnalysis_Low", middleData.setting_specSetup.getECutAnalysis_Low()); + infoMap.put("ECutAnalysis_High", middleData.setting_specSetup.getECutAnalysis_High()); + infoMap.put("EnergyTolerance", middleData.setting_specSetup.getEnergyTolerance()); + infoMap.put("BaseImprovePSS", middleData.setting_specSetup.getBaseImprovePSS()); + infoMap.put("PSS_low", middleData.setting_specSetup.getPss_low()); + infoMap.put("k_back", middleData.setting_specSetup.getK_back()); + infoMap.put("k_alpha", middleData.setting_specSetup.getK_alpha()); + infoMap.put("k_beta", middleData.setting_specSetup.getK_beta()); + infoMap.put("RiskLevelK", middleData.setting_specSetup.getRiskLevelK()); + infoMap.put("refTime_act", middleData.setting_specSetup.getRefTime_act()); + infoMap.put("refTime_conc", middleData.setting_specSetup.getRefTime_conc()); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - // CALIBRATION PARAMETERS..... - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetCALIBRATION)); - infoMap = new LinkedHashMap<>(); - infoMap.put("CalibrationPSS_low", middleData.setting_specSetup.getCalibrationPSS_low()); - infoMap.put("CalibrationPSS_high", middleData.setting_specSetup.getCalibrationPSS_high()); - infoMap.put("bUpdateCal", middleData.setting_specSetup.isBUpdateCal()); - infoMap.put("KeepCalPeakSearchPeaks", middleData.setting_specSetup.isKeepCalPeakSearchPeaks()); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + // CALIBRATION PARAMETERS..... + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetCALIBRATION)); + infoMap = new LinkedHashMap<>(); + infoMap.put("CalibrationPSS_low", middleData.setting_specSetup.getCalibrationPSS_low()); + infoMap.put("CalibrationPSS_high", middleData.setting_specSetup.getCalibrationPSS_high()); + infoMap.put("bUpdateCal", middleData.setting_specSetup.isBUpdateCal()); + infoMap.put("KeepCalPeakSearchPeaks", middleData.setting_specSetup.isKeepCalPeakSearchPeaks()); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - // Nuclide Identified..... - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetPeakSearchResult)); - infoMap = new LinkedHashMap<>(); - int idPeakSize = middleData.peaks_idPeak.size(); - double peaksUsed = 0; - for(int m=0;m(); + int idPeakSize = middleData.peaks_idPeak.size(); + double peaksUsed = 0; + for (int m = 0; m < middleData.peaks_Nuclide_name.size(); m++) { + if (!middleData.peaks_Nuclide_name.get(m).isEmpty()) { + peaksUsed++; + } + } - infoMap.put("%1 peaks reported".replace("%1", idPeakSize + ""), ""); + infoMap.put("%1 peaks reported".replace("%1", idPeakSize + ""), ""); - infoMap.put("%1 peaks with ID (%2%)" - .replace("%1", peaksUsed+"") - .replace("%2", (peaksUsed / idPeakSize * 100) + ""), ""); + infoMap.put("%1 peaks with ID (%2%)" + .replace("%1", peaksUsed + "") + .replace("%2", (peaksUsed / idPeakSize * 100) + ""), ""); - infoMap.put("%1 peaks without ID(%2%)" - .replace("%1", (idPeakSize - peaksUsed) + "") - .replace("%2", ((idPeakSize - peaksUsed) / (idPeakSize * 100)) + ""), ""); + infoMap.put("%1 peaks without ID(%2%)" + .replace("%1", (idPeakSize - peaksUsed) + "") + .replace("%2", ((idPeakSize - peaksUsed) / (idPeakSize * 100)) + ""), ""); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - data = new ArrayList<>(); - item = new AttributeItemVo("PeakID", middleData.getPeaks_idPeak()); - data.add(item); - item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Energy(), 3)); - data.add(item); - item = new AttributeItemVo("Centroid", MyLogFormatUtil.getValuePoint(middleData.getPeaks_peakCentroid(), 3)); - data.add(item); - item = new AttributeItemVo("FWHM", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Fwhm(), 3)); - data.add(item); - item = new AttributeItemVo("NetArea", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Area(), 3)); - data.add(item); - List percentData = MyLogFormatUtil.getPercent(middleData.getPeaks_areaErr(), middleData.getPeaks_Area()); - item = new AttributeItemVo("NAErr%", MyLogFormatUtil.getValuePoint(percentData, 3)); - data.add(item); - item = new AttributeItemVo("Signif", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Significance(), 3)); - data.add(item); - item = new AttributeItemVo("Sensit", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Sensitivity(), 3)); - data.add(item); - item = new AttributeItemVo("Nuclide", middleData.getPeaks_Nuclide_name()); - data.add(item); - writes.addAll(MyLogFormatUtil.getBlock(MyLogFormatUtil.GSetSampleEfficiencyChannel, sampleId, data)); + data = new ArrayList<>(); + item = new AttributeItemVo("PeakID", middleData.getPeaks_idPeak()); + data.add(item); + item = new AttributeItemVo("Energy", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Energy(), 3)); + data.add(item); + item = new AttributeItemVo("Centroid", MyLogFormatUtil.getValuePoint(middleData.getPeaks_peakCentroid(), 3)); + data.add(item); + item = new AttributeItemVo("FWHM", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Fwhm(), 3)); + data.add(item); + item = new AttributeItemVo("NetArea", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Area(), 3)); + data.add(item); + List percentData = MyLogFormatUtil.getPercent(middleData.getPeaks_areaErr(), middleData.getPeaks_Area()); + item = new AttributeItemVo("NAErr%", MyLogFormatUtil.getValuePoint(percentData, 3)); + data.add(item); + item = new AttributeItemVo("Signif", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Significance(), 3)); + data.add(item); + item = new AttributeItemVo("Sensit", MyLogFormatUtil.getValuePoint(middleData.getPeaks_Sensitivity(), 3)); + data.add(item); + item = new AttributeItemVo("Nuclide", middleData.getPeaks_Nuclide_name()); + data.add(item); + writes.addAll(MyLogFormatUtil.getBlock(MyLogFormatUtil.GSetSampleEfficiencyChannel, sampleId, data)); - // Nuclide Identified..... - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetPeakSearchResult)); - StringBuilder qsNuclidesName = new StringBuilder(); - for(int m = 0; m < middleData.nucl_ided_Nuclidename.size() -1; m++) - { - qsNuclidesName.append(middleData.nucl_ided_Nuclidename.get(m)).append(","); - } - if(middleData.nucl_ided_Nuclidename.size() > 1) - { - qsNuclidesName.append(middleData.nucl_ided_Nuclidename.get(middleData.nucl_ided_Nuclidename.size() - 1)); - } - infoMap = new LinkedHashMap<>(); - infoMap.put("Nuclides Identified", qsNuclidesName.toString()); - infoMap.put("Keyline Activities for Nuclides with defined Reference Line", ""); - infoMap.put("Activity Reference Time", middleData.getSample_acquisiton_start()); - infoMap.put("Concentration Reference Time", middleData.getSample_collection_start()); - writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); + // Nuclide Identified..... + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetPeakSearchResult)); + StringBuilder qsNuclidesName = new StringBuilder(); + for (int m = 0; m < middleData.nucl_ided_Nuclidename.size() - 1; m++) { + qsNuclidesName.append(middleData.nucl_ided_Nuclidename.get(m)).append(","); + } + if (middleData.nucl_ided_Nuclidename.size() > 1) { + qsNuclidesName.append(middleData.nucl_ided_Nuclidename.get(middleData.nucl_ided_Nuclidename.size() - 1)); + } + infoMap = new LinkedHashMap<>(); + infoMap.put("Nuclides Identified", qsNuclidesName.toString()); + infoMap.put("Keyline Activities for Nuclides with defined Reference Line", ""); + infoMap.put("Activity Reference Time", middleData.getSample_acquisiton_start()); + infoMap.put("Concentration Reference Time", middleData.getSample_collection_start()); + writes.addAll(MyLogFormatUtil.getBlockContext(infoMap)); - data = new ArrayList<>(); - item = new AttributeItemVo("Nuclide", middleData.getNucl_ided_Nuclidename()); - data.add(item); - item = new AttributeItemVo("Halflife", middleData.getNucl_ided_Halflife()); - data.add(item); - item = new AttributeItemVo("Activity", - MyLogFormatUtil.getValuePoint(middleData.getNucl_ided_activ_key(), 3), "bq"); - data.add(item); - List ideaPercent = MyLogFormatUtil.getPercent(middleData.getNucl_ided_activ_key_err(), middleData.getNucl_ided_activ_key()); - item = new AttributeItemVo("RelErr", ideaPercent, "%"); - data.add(item); - item = new AttributeItemVo("Conc", middleData.getNucl_ided_Concentration(), "uBq/m^3"); - data.add(item); - item = new AttributeItemVo("MDC", middleData.getNucl_ided_MDC(), "uBq/m^3"); - data.add(item); - writes.addAll(MyLogFormatUtil.getBlockContext(data)); + data = new ArrayList<>(); + item = new AttributeItemVo("Nuclide", middleData.getNucl_ided_Nuclidename()); + data.add(item); + item = new AttributeItemVo("Halflife", middleData.getNucl_ided_Halflife()); + data.add(item); + item = new AttributeItemVo("Activity", + MyLogFormatUtil.getValuePoint(middleData.getNucl_ided_activ_key(), 3), "bq"); + data.add(item); + List ideaPercent = MyLogFormatUtil.getPercent(middleData.getNucl_ided_activ_key_err(), middleData.getNucl_ided_activ_key()); + item = new AttributeItemVo("RelErr", ideaPercent, "%"); + data.add(item); + item = new AttributeItemVo("Conc", middleData.getNucl_ided_Concentration(), "uBq/m^3"); + data.add(item); + item = new AttributeItemVo("MDC", middleData.getNucl_ided_MDC(), "uBq/m^3"); + data.add(item); + writes.addAll(MyLogFormatUtil.getBlockContext(data)); - data = new ArrayList<>(); - item = new AttributeItemVo("Name", middleData.getQC_CHECK_QC_NAME()); - data.add(item); - item = new AttributeItemVo("Pass/Fail", MyLogFormatUtil.getPass(middleData.getQC_CHECK_QC_RESULT())); - data.add(item); - item = new AttributeItemVo("Value", MyLogFormatUtil.getValuePoint(middleData.getQC_CHECK_QC_VALUE(), 3)); - data.add(item); - item = new AttributeItemVo("Test", middleData.getQC_CHECK_QC_STANDARD()); - data.add(item); - writes.addAll(MyLogFormatUtil.getBlockContext(data)); - // Starting Data Quality..... - writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetDataQuality)); + data = new ArrayList<>(); + item = new AttributeItemVo("Name", middleData.getQC_CHECK_QC_NAME()); + data.add(item); + item = new AttributeItemVo("Pass/Fail", MyLogFormatUtil.getPass(middleData.getQC_CHECK_QC_RESULT())); + data.add(item); + item = new AttributeItemVo("Value", MyLogFormatUtil.getValuePoint(middleData.getQC_CHECK_QC_VALUE(), 3)); + data.add(item); + item = new AttributeItemVo("Test", middleData.getQC_CHECK_QC_STANDARD()); + data.add(item); + writes.addAll(MyLogFormatUtil.getBlockContext(data)); + // Starting Data Quality..... + writes.add(MyLogFormatUtil.getHeaderFormat(MyLogFormatUtil.GGetDataQuality)); - // Spectrum Analysis Finished - writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleSpectrumEnd)); - // todo Data store successfully ..... - // todo Instance status successfully set to: P..... - // todo Error info: data has NULL INF..... + // Spectrum Analysis Finished + writes.add(MyLogFormatUtil.getTitleFormat(MyLogFormatUtil.GTitleSpectrumEnd)); + // todo Data store successfully ..... + // todo Instance status successfully set to: P..... + // todo Error info: data has NULL INF..... - // Sample Analyse Successfully at %1 - String analyseEnd = MyLogFormatUtil.analyseResultsEnd.replace("%1", "date"); - writes.add(MyLogFormatUtil.getTitleFormat(analyseEnd)); + // Sample Analyse Successfully at %1 + String analyseEnd = MyLogFormatUtil.analyseResultsEnd.replace("%1", "date"); + writes.add(MyLogFormatUtil.getTitleFormat(analyseEnd)); - // 保存文件 - try { - FileOperation.saveFile(logFilePath, writes); - } catch (IOException e) { - e.printStackTrace(); - } - } + // 保存文件 + try { + FileOperation.saveFile(logFilePath, writes); + } catch (IOException e) { + e.printStackTrace(); + } + } - public void saveAnalysisROI(Integer sampleId, Integer idAnalysis, GStoreMiddleProcessData... middleDatas){ - List analysisRois = new ArrayList<>(); - for (int i = 0; i < middleDatas.length; i++) { - GStoreMiddleProcessData middleData = middleDatas[i]; - GardsAnalysisRoi analysisRoi = new GardsAnalysisRoi(); - analysisRoi.setSampleId(sampleId); - analysisRoi.setIdAnalysis(idAnalysis); - analysisRoi.setPhdPath(this.phdFilePaths.get(i)); - analysisRoi.setBaselinePath(middleData.getAnalyses_baseline_filePath()); - analysisRoi.setLcPath(middleData.getAnalyses_lc_filePath()); - analysisRoi.setScacPath(middleData.getAnalyses_scac_filePath()); - analysisRoi.setLogPath(middleData.getAnalyses_LogPath()); - analysisRoi.setReportPath(middleData.getAnalyses_ReportPath()); - analysisRois.add(analysisRoi); - } - // ROI 相关列值赋值 - List roiNumber = this.sampleStruct.ROI_number; - for (int i = 0; i < roiNumber.size(); i++) { - GardsAnalysisRoi analysisRoi = analysisRois.get(i); - analysisRoi.setRoiNum(Integer.valueOf(roiNumber.get(i))); - analysisRoi.setMinX(this.sampleStruct.POI_B_x1.get(i)); - analysisRoi.setMaxX(this.sampleStruct.POI_B_x2.get(i)); - analysisRoi.setMinY(this.sampleStruct.POI_G_y1.get(i)); - analysisRoi.setMaxY(this.sampleStruct.POI_G_y2.get(i)); - } - serviceQuotes.getAnalysisRoiAutoService().saveBatch(analysisRois); - } + public void saveAnalysisROI(Integer sampleId, Integer idAnalysis, GStoreMiddleProcessData... middleDatas) { + List analysisRois = new ArrayList<>(); + for (int i = 0; i < middleDatas.length; i++) { + GStoreMiddleProcessData middleData = middleDatas[i]; + GardsAnalysisRoi analysisRoi = new GardsAnalysisRoi(); + analysisRoi.setSampleId(sampleId); + analysisRoi.setIdAnalysis(idAnalysis); + analysisRoi.setPhdPath(this.phdFilePaths.get(i)); + analysisRoi.setBaselinePath(middleData.getAnalyses_baseline_filePath()); + analysisRoi.setLcPath(middleData.getAnalyses_lc_filePath()); + analysisRoi.setScacPath(middleData.getAnalyses_scac_filePath()); + analysisRoi.setLogPath(middleData.getAnalyses_LogPath()); + analysisRoi.setReportPath(middleData.getAnalyses_ReportPath()); + analysisRois.add(analysisRoi); + } + // ROI 相关列值赋值 + List roiNumber = this.sampleStruct.ROI_number; + for (int i = 0; i < roiNumber.size(); i++) { + GardsAnalysisRoi analysisRoi = analysisRois.get(i); + analysisRoi.setRoiNum(Integer.valueOf(roiNumber.get(i))); + analysisRoi.setMinX(this.sampleStruct.POI_B_x1.get(i)); + analysisRoi.setMaxX(this.sampleStruct.POI_B_x2.get(i)); + analysisRoi.setMinY(this.sampleStruct.POI_G_y1.get(i)); + analysisRoi.setMaxY(this.sampleStruct.POI_G_y2.get(i)); + } + serviceQuotes.getAnalysisRoiAutoService().saveBatch(analysisRois); + } - public void middleDataTable(Integer idAnalysis, GStoreMiddleProcessData... middleDatas){ - List analysisRois = serviceQuotes.getAnalysisRoiAutoService().analysisRoi(idAnalysis); - Map middleDataMap = new LinkedHashMap<>(); - for (int i = 0; i < analysisRois.size(); i++) { - GardsAnalysisRoi analysisRoi = analysisRois.get(i); - Integer roiId = analysisRoi.getRoiId(); - middleDataMap.put(roiId, middleDatas[i]); - } - this.middleDataMap = middleDataMap; - } + public void middleDataTable(Integer idAnalysis, GStoreMiddleProcessData... middleDatas) { + List analysisRois = serviceQuotes.getAnalysisRoiAutoService().analysisRoi(idAnalysis); + Map middleDataMap = new LinkedHashMap<>(); + for (int i = 0; i < analysisRois.size(); i++) { + GardsAnalysisRoi analysisRoi = analysisRois.get(i); + Integer roiId = analysisRoi.getRoiId(); + middleDataMap.put(roiId, middleDatas[i]); + } + this.middleDataMap = middleDataMap; + } - public List saveCalibrationPairs(Integer sampleId, Integer IdAnalysis, - Integer roiId, GStoreMiddleProcessData middleData){ - String pairsSampleType = middleData.getCalibration_pairs_sample_type(); - GardsCalibrationPairs pairs = new GardsCalibrationPairs(); - // GARDS_CALIBRATION_PAIRS (Energy) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS - String base_E_Paris = "calibration_pairs_E_idCalPoint"; - PairsEDto pairsEDto = new PairsEDto(); - BeanUtil.copyProperties(middleData, pairsEDto); - List pairsE = Lists.newArrayList(); - if (!pairsEDto.getCalibration_pairs_E_idCalPoint().isEmpty()) { - pairsE = mapFields(pairsEDto, pairs, base_E_Paris, fieldMap); - String pairsECaltype = middleData.getCalibration_pairs_E_Caltype(); - String pairsEInput = middleData.getCalibration_pairs_E_Input(); - for (GardsCalibrationPairs onePairs : pairsE) { - onePairs.setSampleId(sampleId); - onePairs.setIdAnalysis(IdAnalysis); - onePairs.setSampleType(pairsSampleType); - onePairs.setCaltype(pairsECaltype); - onePairs.setInput(pairsEInput); - } - } - // GARDS_CALIBRATION_PAIRS (Efficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS - String base_EF_Paris = "calibration_pairs_EF_idCalPoint"; - PairsEFDto pairsEFDto = new PairsEFDto(); - BeanUtil.copyProperties(middleData, pairsEFDto); - List pairsEF = Lists.newArrayList(); - if (!pairsEFDto.getCalibration_pairs_EF_idCalPoint().isEmpty()) { - pairsEF = mapFields(pairsEFDto, pairs, base_EF_Paris, fieldMap); - String pairsEFCaltype = middleData.getCalibration_pairs_EF_Caltype(); - String pairsEFInput = middleData.getCalibration_pairs_EF_Input(); - for (GardsCalibrationPairs onePairs : pairsEF) { - onePairs.setSampleId(sampleId); - onePairs.setIdAnalysis(IdAnalysis); - onePairs.setSampleType(pairsSampleType); - onePairs.setCaltype(pairsEFCaltype); - onePairs.setInput(pairsEFInput); - } - } - // GARDS_CALIBRATION_PAIRS (Resolution) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS - String base_R_Paris = "calibration_pairs_R_idCalPoint"; - PairsRDto pairsRDto = new PairsRDto(); - BeanUtil.copyProperties(middleData,pairsRDto); - List pairsR = Lists.newArrayList(); - if (!pairsRDto.getCalibration_pairs_R_idCalPoint().isEmpty()) { - pairsR = mapFields(pairsRDto, pairs, base_R_Paris, fieldMap); - String pairsRCaltype = middleData.getCalibration_pairs_R_Caltype(); - String pairsRInput = middleData.getCalibration_pairs_R_Input(); - for (GardsCalibrationPairs onePairs : pairsR) { - onePairs.setSampleId(sampleId); - onePairs.setIdAnalysis(IdAnalysis); - onePairs.setSampleType(pairsSampleType); - onePairs.setCaltype(pairsRCaltype); - onePairs.setInput(pairsRInput); - } - } - // GARDS_CALIBRATION_PAIRS (TotalEfficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS - String base_T_Paris = "calibration_pairs_T_idCalPoint"; - PairsTDto pairsTDto = new PairsTDto(); - BeanUtil.copyProperties(middleData,pairsTDto); - List pairsT = Lists.newArrayList(); - if (!pairsTDto.getCalibration_pairs_T_idCalPoint().isEmpty()) { - pairsT = mapFields(pairsTDto, pairs, base_T_Paris, fieldMap); - String pairsTCaltype = middleData.getCalibration_pairs_T_Caltype(); - String pairsTInput = middleData.getCalibration_pairs_T_Input(); - for (GardsCalibrationPairs onePairs : pairsT) { - onePairs.setSampleId(sampleId); - onePairs.setIdAnalysis(IdAnalysis); - onePairs.setSampleType(pairsSampleType); - onePairs.setCaltype(pairsTCaltype); - onePairs.setInput(pairsTInput); - } - } - // GARDS_CALIBRATION_PAIRS 汇总保存 - List allPairs = new ArrayList<>(); - allPairs.addAll(pairsE);allPairs.addAll(pairsEF); - allPairs.addAll(pairsR);allPairs.addAll(pairsT); - return allPairs; - } + public List saveCalibrationPairs(Integer sampleId, Integer IdAnalysis, + Integer roiId, GStoreMiddleProcessData middleData) { + String pairsSampleType = middleData.getCalibration_pairs_sample_type(); + GardsCalibrationPairs pairs = new GardsCalibrationPairs(); + // GARDS_CALIBRATION_PAIRS (Energy) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS + String base_E_Paris = "calibration_pairs_E_idCalPoint"; + PairsEDto pairsEDto = new PairsEDto(); + BeanUtil.copyProperties(middleData, pairsEDto); + List pairsE = Lists.newArrayList(); + if (!pairsEDto.getCalibration_pairs_E_idCalPoint().isEmpty()) { + pairsE = mapFields(pairsEDto, pairs, base_E_Paris, fieldMap); + String pairsECaltype = middleData.getCalibration_pairs_E_Caltype(); + String pairsEInput = middleData.getCalibration_pairs_E_Input(); + for (GardsCalibrationPairs onePairs : pairsE) { + onePairs.setSampleId(sampleId); + onePairs.setIdAnalysis(IdAnalysis); + onePairs.setSampleType(pairsSampleType); + onePairs.setCaltype(pairsECaltype); + onePairs.setInput(pairsEInput); + } + } + // GARDS_CALIBRATION_PAIRS (Efficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS + String base_EF_Paris = "calibration_pairs_EF_idCalPoint"; + PairsEFDto pairsEFDto = new PairsEFDto(); + BeanUtil.copyProperties(middleData, pairsEFDto); + List pairsEF = Lists.newArrayList(); + if (!pairsEFDto.getCalibration_pairs_EF_idCalPoint().isEmpty()) { + pairsEF = mapFields(pairsEFDto, pairs, base_EF_Paris, fieldMap); + String pairsEFCaltype = middleData.getCalibration_pairs_EF_Caltype(); + String pairsEFInput = middleData.getCalibration_pairs_EF_Input(); + for (GardsCalibrationPairs onePairs : pairsEF) { + onePairs.setSampleId(sampleId); + onePairs.setIdAnalysis(IdAnalysis); + onePairs.setSampleType(pairsSampleType); + onePairs.setCaltype(pairsEFCaltype); + onePairs.setInput(pairsEFInput); + } + } + // GARDS_CALIBRATION_PAIRS (Resolution) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS + String base_R_Paris = "calibration_pairs_R_idCalPoint"; + PairsRDto pairsRDto = new PairsRDto(); + BeanUtil.copyProperties(middleData, pairsRDto); + List pairsR = Lists.newArrayList(); + if (!pairsRDto.getCalibration_pairs_R_idCalPoint().isEmpty()) { + pairsR = mapFields(pairsRDto, pairs, base_R_Paris, fieldMap); + String pairsRCaltype = middleData.getCalibration_pairs_R_Caltype(); + String pairsRInput = middleData.getCalibration_pairs_R_Input(); + for (GardsCalibrationPairs onePairs : pairsR) { + onePairs.setSampleId(sampleId); + onePairs.setIdAnalysis(IdAnalysis); + onePairs.setSampleType(pairsSampleType); + onePairs.setCaltype(pairsRCaltype); + onePairs.setInput(pairsRInput); + } + } + // GARDS_CALIBRATION_PAIRS (TotalEfficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS + String base_T_Paris = "calibration_pairs_T_idCalPoint"; + PairsTDto pairsTDto = new PairsTDto(); + BeanUtil.copyProperties(middleData, pairsTDto); + List pairsT = Lists.newArrayList(); + if (!pairsTDto.getCalibration_pairs_T_idCalPoint().isEmpty()) { + pairsT = mapFields(pairsTDto, pairs, base_T_Paris, fieldMap); + String pairsTCaltype = middleData.getCalibration_pairs_T_Caltype(); + String pairsTInput = middleData.getCalibration_pairs_T_Input(); + for (GardsCalibrationPairs onePairs : pairsT) { + onePairs.setSampleId(sampleId); + onePairs.setIdAnalysis(IdAnalysis); + onePairs.setSampleType(pairsSampleType); + onePairs.setCaltype(pairsTCaltype); + onePairs.setInput(pairsTInput); + } + } + // GARDS_CALIBRATION_PAIRS 汇总保存 + List allPairs = new ArrayList<>(); + allPairs.addAll(pairsE); + allPairs.addAll(pairsEF); + allPairs.addAll(pairsR); + allPairs.addAll(pairsT); + return allPairs; + } - public void saveCalibrationPairs(Integer sampleId, Integer IdAnalysis){ - List pairsRois = new ArrayList<>(); - Set> entries = this.middleDataMap.entrySet(); - for (Map.Entry entry : entries) { - Integer roiId = entry.getKey(); - GStoreMiddleProcessData middleData = entry.getValue(); - pairsRois.addAll(saveCalibrationPairs(sampleId, IdAnalysis, roiId, middleData)); - break; - } - this.serviceQuotes.getGardsCalibrationPairsService().saveBatch(pairsRois); - } + public void saveCalibrationPairs(Integer sampleId, Integer IdAnalysis) { + List pairsRois = new ArrayList<>(); + Set> entries = this.middleDataMap.entrySet(); + for (Map.Entry entry : entries) { + Integer roiId = entry.getKey(); + GStoreMiddleProcessData middleData = entry.getValue(); + pairsRois.addAll(saveCalibrationPairs(sampleId, IdAnalysis, roiId, middleData)); + break; + } + this.serviceQuotes.getGardsCalibrationPairsService().saveBatch(pairsRois); + } - public List saveCalibrationROI(Integer sampleId, Integer IdAnalysis, Integer roiId, - GStoreMiddleProcessData middleData){ - String calibrationSampleType = middleData.getCalibration_sample_type(); - List pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint(); - List pairsEFIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint(); - List pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint(); - List pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint(); - List calibrations = new ArrayList<>(); - // GARDS_CALIBRATION (E) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsEIdCalPoint)){ - GardsCalibrationRoi calibration = new GardsCalibrationRoi(); - calibration.setSampleId(sampleId); - calibration.setRoiId(roiId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - calibration.setCalType(middleData.getCalibration_E_Caltype()); - calibration.setFunction((int)middleData.getCalibration_E_function()); - calibration.setFunctionDef(middleData.getCalibration_E_functionDef()); - calibration.setStartOfRange((int)middleData.getCalibration_E_startOfRange()); - calibration.setEndOfRange((int)middleData.getCalibration_E_endOfRange()); - calibration.setCoeffString(middleData.getCalibration_E_coeff_string()); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - // GARDS_CALIBRATION (EF) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsEFIdCalPoint)){ - GardsCalibrationRoi calibration = new GardsCalibrationRoi(); - calibration.setSampleId(sampleId); - calibration.setRoiId(roiId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - String efCaltype = middleData.getCalibration_EF_Caltype(); - double efFunction = middleData.getCalibration_EF_function(); - String efFunctionDef = middleData.getCalibration_EF_functionDef(); - double efStartOfRange = middleData.getCalibration_EF_startOfRange(); - double efEndOfRange = middleData.getCalibration_EF_endOfRange(); - String efCoeffString = middleData.getCalibration_EF_coeff_string(); - calibration.setCalType(efCaltype); - calibration.setFunction((int)efFunction); - calibration.setFunctionDef(efFunctionDef); - calibration.setStartOfRange((int)efStartOfRange); - calibration.setEndOfRange((int)efEndOfRange); - calibration.setCoeffString(efCoeffString); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - // GARDS_CALIBRATION (R) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsRIdCalPoint)){ - GardsCalibrationRoi calibration = new GardsCalibrationRoi(); - calibration.setSampleId(sampleId); - calibration.setRoiId(roiId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - String rCaltype = middleData.getCalibration_R_Caltype(); - double rFunction = middleData.getCalibration_R_function(); - String rFunctionDef = middleData.getCalibration_R_functionDef(); - double rStartOfRange = middleData.getCalibration_R_startOfRange(); - double rEndOfRange = middleData.getCalibration_R_endOfRange(); - String rCoeffString = middleData.getCalibration_R_coeff_string(); - calibration.setCalType(rCaltype); - calibration.setFunction((int)rFunction); - calibration.setFunctionDef(rFunctionDef); - calibration.setStartOfRange((int)rStartOfRange); - calibration.setEndOfRange((int)rEndOfRange); - calibration.setCoeffString(rCoeffString); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - // GARDS_CALIBRATION (T) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsTIdCalPoint)){ - GardsCalibrationRoi calibration = new GardsCalibrationRoi(); - calibration.setSampleId(sampleId); - calibration.setRoiId(roiId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - String tCaltype = middleData.getCalibration_T_Caltype(); - double tFunction = middleData.getCalibration_T_function(); - String tFunctionDef = middleData.getCalibration_T_functionDef(); - double tStartOfRange = middleData.getCalibration_T_startOfRange(); - double tEndOfRange = middleData.getCalibration_T_endOfRange(); - String tCoeffString = middleData.getCalibration_T_coeff_string(); - calibration.setCalType(tCaltype); - calibration.setFunction((int)middleData.getCalibration_T_function()); - calibration.setFunctionDef(tFunctionDef); - calibration.setStartOfRange((int)tStartOfRange); - calibration.setEndOfRange((int)tEndOfRange); - calibration.setCoeffString(tCoeffString); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - return calibrations; - } + public List saveCalibrationROI(Integer sampleId, Integer IdAnalysis, Integer roiId, + GStoreMiddleProcessData middleData) { + String calibrationSampleType = middleData.getCalibration_sample_type(); + List pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint(); + List pairsEFIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint(); + List pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint(); + List pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint(); + List calibrations = new ArrayList<>(); + // GARDS_CALIBRATION (E) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsEIdCalPoint)) { + GardsCalibrationRoi calibration = new GardsCalibrationRoi(); + calibration.setSampleId(sampleId); + calibration.setRoiId(roiId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + calibration.setCalType(middleData.getCalibration_E_Caltype()); + calibration.setFunction((int) middleData.getCalibration_E_function()); + calibration.setFunctionDef(middleData.getCalibration_E_functionDef()); + calibration.setStartOfRange((int) middleData.getCalibration_E_startOfRange()); + calibration.setEndOfRange((int) middleData.getCalibration_E_endOfRange()); + calibration.setCoeffString(middleData.getCalibration_E_coeff_string()); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + // GARDS_CALIBRATION (EF) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsEFIdCalPoint)) { + GardsCalibrationRoi calibration = new GardsCalibrationRoi(); + calibration.setSampleId(sampleId); + calibration.setRoiId(roiId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + String efCaltype = middleData.getCalibration_EF_Caltype(); + double efFunction = middleData.getCalibration_EF_function(); + String efFunctionDef = middleData.getCalibration_EF_functionDef(); + double efStartOfRange = middleData.getCalibration_EF_startOfRange(); + double efEndOfRange = middleData.getCalibration_EF_endOfRange(); + String efCoeffString = middleData.getCalibration_EF_coeff_string(); + calibration.setCalType(efCaltype); + calibration.setFunction((int) efFunction); + calibration.setFunctionDef(efFunctionDef); + calibration.setStartOfRange((int) efStartOfRange); + calibration.setEndOfRange((int) efEndOfRange); + calibration.setCoeffString(efCoeffString); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + // GARDS_CALIBRATION (R) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsRIdCalPoint)) { + GardsCalibrationRoi calibration = new GardsCalibrationRoi(); + calibration.setSampleId(sampleId); + calibration.setRoiId(roiId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + String rCaltype = middleData.getCalibration_R_Caltype(); + double rFunction = middleData.getCalibration_R_function(); + String rFunctionDef = middleData.getCalibration_R_functionDef(); + double rStartOfRange = middleData.getCalibration_R_startOfRange(); + double rEndOfRange = middleData.getCalibration_R_endOfRange(); + String rCoeffString = middleData.getCalibration_R_coeff_string(); + calibration.setCalType(rCaltype); + calibration.setFunction((int) rFunction); + calibration.setFunctionDef(rFunctionDef); + calibration.setStartOfRange((int) rStartOfRange); + calibration.setEndOfRange((int) rEndOfRange); + calibration.setCoeffString(rCoeffString); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + // GARDS_CALIBRATION (T) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsTIdCalPoint)) { + GardsCalibrationRoi calibration = new GardsCalibrationRoi(); + calibration.setSampleId(sampleId); + calibration.setRoiId(roiId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + String tCaltype = middleData.getCalibration_T_Caltype(); + double tFunction = middleData.getCalibration_T_function(); + String tFunctionDef = middleData.getCalibration_T_functionDef(); + double tStartOfRange = middleData.getCalibration_T_startOfRange(); + double tEndOfRange = middleData.getCalibration_T_endOfRange(); + String tCoeffString = middleData.getCalibration_T_coeff_string(); + calibration.setCalType(tCaltype); + calibration.setFunction((int) middleData.getCalibration_T_function()); + calibration.setFunctionDef(tFunctionDef); + calibration.setStartOfRange((int) tStartOfRange); + calibration.setEndOfRange((int) tEndOfRange); + calibration.setCoeffString(tCoeffString); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + return calibrations; + } - public List saveCalibration(Integer sampleId, Integer IdAnalysis, Integer roiId, - GStoreMiddleProcessData middleData){ - String calibrationSampleType = middleData.getCalibration_sample_type(); - List pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint(); - List pairsEFIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint(); - List pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint(); - List pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint(); - List calibrations = new ArrayList<>(); - // GARDS_CALIBRATION (E) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsEIdCalPoint)){ - GardsCalibration calibration = new GardsCalibration(); - calibration.setSampleId(sampleId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - calibration.setCalType(middleData.getCalibration_E_Caltype()); - calibration.setFunction((int)middleData.getCalibration_E_function()); - calibration.setFunctionDef(middleData.getCalibration_E_functionDef()); - calibration.setStartOfRange((int)middleData.getCalibration_E_startOfRange()); - calibration.setEndOfRange((int)middleData.getCalibration_E_endOfRange()); - calibration.setCoeffString(middleData.getCalibration_E_coeff_string()); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - // GARDS_CALIBRATION (EF) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsEFIdCalPoint)){ - GardsCalibration calibration = new GardsCalibration(); - calibration.setSampleId(sampleId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - String efCaltype = middleData.getCalibration_EF_Caltype(); - double efFunction = middleData.getCalibration_EF_function(); - String efFunctionDef = middleData.getCalibration_EF_functionDef(); - double efStartOfRange = middleData.getCalibration_EF_startOfRange(); - double efEndOfRange = middleData.getCalibration_EF_endOfRange(); - String efCoeffString = middleData.getCalibration_EF_coeff_string(); - calibration.setCalType(efCaltype); - calibration.setFunction((int)efFunction); - calibration.setFunctionDef(efFunctionDef); - calibration.setStartOfRange((int)efStartOfRange); - calibration.setEndOfRange((int)efEndOfRange); - calibration.setCoeffString(efCoeffString); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - // GARDS_CALIBRATION (R) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsRIdCalPoint)){ - GardsCalibration calibration = new GardsCalibration(); - calibration.setSampleId(sampleId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - String rCaltype = middleData.getCalibration_R_Caltype(); - double rFunction = middleData.getCalibration_R_function(); - String rFunctionDef = middleData.getCalibration_R_functionDef(); - double rStartOfRange = middleData.getCalibration_R_startOfRange(); - double rEndOfRange = middleData.getCalibration_R_endOfRange(); - String rCoeffString = middleData.getCalibration_R_coeff_string(); - calibration.setCalType(rCaltype); - calibration.setFunction((int)rFunction); - calibration.setFunctionDef(rFunctionDef); - calibration.setStartOfRange((int)rStartOfRange); - calibration.setEndOfRange((int)rEndOfRange); - calibration.setCoeffString(rCoeffString); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - // GARDS_CALIBRATION (T) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION - if (CollUtil.isNotEmpty(pairsTIdCalPoint)){ - GardsCalibration calibration = new GardsCalibration(); - calibration.setSampleId(sampleId); - calibration.setIdAnalysis(IdAnalysis); - calibration.setSampleType(calibrationSampleType); - String tCaltype = middleData.getCalibration_T_Caltype(); - double tFunction = middleData.getCalibration_T_function(); - String tFunctionDef = middleData.getCalibration_T_functionDef(); - double tStartOfRange = middleData.getCalibration_T_startOfRange(); - double tEndOfRange = middleData.getCalibration_T_endOfRange(); - String tCoeffString = middleData.getCalibration_T_coeff_string(); - calibration.setCalType(tCaltype); - calibration.setFunction((int)middleData.getCalibration_T_function()); - calibration.setFunctionDef(tFunctionDef); - calibration.setStartOfRange((int)tStartOfRange); - calibration.setEndOfRange((int)tEndOfRange); - calibration.setCoeffString(tCoeffString); - calibration.setModdate(new Date()); - calibrations.add(calibration); - } - return calibrations; - } + public List saveCalibration(Integer sampleId, Integer IdAnalysis, Integer roiId, + GStoreMiddleProcessData middleData) { + String calibrationSampleType = middleData.getCalibration_sample_type(); + List pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint(); + List pairsEFIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint(); + List pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint(); + List pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint(); + List calibrations = new ArrayList<>(); + // GARDS_CALIBRATION (E) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsEIdCalPoint)) { + GardsCalibration calibration = new GardsCalibration(); + calibration.setSampleId(sampleId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + calibration.setCalType(middleData.getCalibration_E_Caltype()); + calibration.setFunction((int) middleData.getCalibration_E_function()); + calibration.setFunctionDef(middleData.getCalibration_E_functionDef()); + calibration.setStartOfRange((int) middleData.getCalibration_E_startOfRange()); + calibration.setEndOfRange((int) middleData.getCalibration_E_endOfRange()); + calibration.setCoeffString(middleData.getCalibration_E_coeff_string()); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + // GARDS_CALIBRATION (EF) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsEFIdCalPoint)) { + GardsCalibration calibration = new GardsCalibration(); + calibration.setSampleId(sampleId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + String efCaltype = middleData.getCalibration_EF_Caltype(); + double efFunction = middleData.getCalibration_EF_function(); + String efFunctionDef = middleData.getCalibration_EF_functionDef(); + double efStartOfRange = middleData.getCalibration_EF_startOfRange(); + double efEndOfRange = middleData.getCalibration_EF_endOfRange(); + String efCoeffString = middleData.getCalibration_EF_coeff_string(); + calibration.setCalType(efCaltype); + calibration.setFunction((int) efFunction); + calibration.setFunctionDef(efFunctionDef); + calibration.setStartOfRange((int) efStartOfRange); + calibration.setEndOfRange((int) efEndOfRange); + calibration.setCoeffString(efCoeffString); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + // GARDS_CALIBRATION (R) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsRIdCalPoint)) { + GardsCalibration calibration = new GardsCalibration(); + calibration.setSampleId(sampleId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + String rCaltype = middleData.getCalibration_R_Caltype(); + double rFunction = middleData.getCalibration_R_function(); + String rFunctionDef = middleData.getCalibration_R_functionDef(); + double rStartOfRange = middleData.getCalibration_R_startOfRange(); + double rEndOfRange = middleData.getCalibration_R_endOfRange(); + String rCoeffString = middleData.getCalibration_R_coeff_string(); + calibration.setCalType(rCaltype); + calibration.setFunction((int) rFunction); + calibration.setFunctionDef(rFunctionDef); + calibration.setStartOfRange((int) rStartOfRange); + calibration.setEndOfRange((int) rEndOfRange); + calibration.setCoeffString(rCoeffString); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + // GARDS_CALIBRATION (T) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION + if (CollUtil.isNotEmpty(pairsTIdCalPoint)) { + GardsCalibration calibration = new GardsCalibration(); + calibration.setSampleId(sampleId); + calibration.setIdAnalysis(IdAnalysis); + calibration.setSampleType(calibrationSampleType); + String tCaltype = middleData.getCalibration_T_Caltype(); + double tFunction = middleData.getCalibration_T_function(); + String tFunctionDef = middleData.getCalibration_T_functionDef(); + double tStartOfRange = middleData.getCalibration_T_startOfRange(); + double tEndOfRange = middleData.getCalibration_T_endOfRange(); + String tCoeffString = middleData.getCalibration_T_coeff_string(); + calibration.setCalType(tCaltype); + calibration.setFunction((int) middleData.getCalibration_T_function()); + calibration.setFunctionDef(tFunctionDef); + calibration.setStartOfRange((int) tStartOfRange); + calibration.setEndOfRange((int) tEndOfRange); + calibration.setCoeffString(tCoeffString); + calibration.setModdate(new Date()); + calibrations.add(calibration); + } + return calibrations; + } - public void saveCalibrationROI(Integer sampleId, Integer IdAnalysis){ + public void saveCalibrationROI(Integer sampleId, Integer IdAnalysis) { List calibrationRois = new ArrayList<>(); Set> entries = this.middleDataMap.entrySet(); for (Map.Entry entry : entries) { @@ -1239,61 +1244,61 @@ public class Sample_C_Analysis { this.serviceQuotes.getGardsCalibrationService().createBatch(calibrationRois); } - public List savePeaksROI(Integer sampleId, Integer IdAnalysis, - Integer roiId, GStoreMiddleProcessData middleData){ - // Gards_Peaks_ROI数据表 ==> INSERT INTO RNAUTO.GARDS_PEAKS_ROI - String base_P_IdPeak = "peaks_idPeak"; - GardsPeaksDto gardsPeaksDto = new GardsPeaksDto(); - BeanUtil.copyProperties(middleData, gardsPeaksDto); - GardsPeaksRoi peak = new GardsPeaksRoi(); - List peaks = new ArrayList<>(); - if (CollUtil.isNotEmpty(gardsPeaksDto.getPeaks_idPeak())) { - peaks = mapFields(gardsPeaksDto, peak, base_P_IdPeak, fieldMap); - peaks.forEach(item -> { - item.setRoiId(roiId); - item.setSampleId(sampleId); - item.setIdAnalysis(IdAnalysis); - }); - } - return peaks; - } + public List savePeaksROI(Integer sampleId, Integer IdAnalysis, + Integer roiId, GStoreMiddleProcessData middleData) { + // Gards_Peaks_ROI数据表 ==> INSERT INTO RNAUTO.GARDS_PEAKS_ROI + String base_P_IdPeak = "peaks_idPeak"; + GardsPeaksDto gardsPeaksDto = new GardsPeaksDto(); + BeanUtil.copyProperties(middleData, gardsPeaksDto); + GardsPeaksRoi peak = new GardsPeaksRoi(); + List peaks = new ArrayList<>(); + if (CollUtil.isNotEmpty(gardsPeaksDto.getPeaks_idPeak())) { + peaks = mapFields(gardsPeaksDto, peak, base_P_IdPeak, fieldMap); + peaks.forEach(item -> { + item.setRoiId(roiId); + item.setSampleId(sampleId); + item.setIdAnalysis(IdAnalysis); + }); + } + return peaks; + } - public void savePeaksROI(Integer sampleId, Integer IdAnalysis){ - List peaksRois = new ArrayList<>(); - Set> entries = this.middleDataMap.entrySet(); - for (Map.Entry entry : entries) { - Integer roiId = entry.getKey(); - GStoreMiddleProcessData middleData = entry.getValue(); - peaksRois.addAll(savePeaksROI(sampleId, IdAnalysis, roiId, middleData)); - } - this.serviceQuotes.getPeaksRoiAutoService().saveBatch(peaksRois); - } + public void savePeaksROI(Integer sampleId, Integer IdAnalysis) { + List peaksRois = new ArrayList<>(); + Set> entries = this.middleDataMap.entrySet(); + for (Map.Entry entry : entries) { + Integer roiId = entry.getKey(); + GStoreMiddleProcessData middleData = entry.getValue(); + peaksRois.addAll(savePeaksROI(sampleId, IdAnalysis, roiId, middleData)); + } + this.serviceQuotes.getPeaksRoiAutoService().saveBatch(peaksRois); + } - public List saveNuclLinesIdedROI(Integer sampleId, Integer IdAnalysis, Integer roiId, - GStoreMiddleProcessData middleData){ - // Gards_Nucl_Lines_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_LINES_IDED - Map nuclLinesIdedData = middleData.getNucl_lines_ided_data(); - String base_IdPeak = "idPeak"; - List allNuclLinesIdeds = new ArrayList<>(); - for (Map.Entry entry : nuclLinesIdedData.entrySet()) { - String nuclideName = entry.getKey(); - GStoreMiddleProcessDataNuclLinesIded nuclLinesIded = entry.getValue(); - GardsNuclLinesIdedRoi linesIdedRoi = new GardsNuclLinesIdedRoi(); - List linesIdedRois = mapFields(nuclLinesIded, linesIdedRoi, base_IdPeak, fieldMap); - if (CollUtil.isNotEmpty(linesIdedRois)){ - for (GardsNuclLinesIdedRoi idedRoi : linesIdedRois) { - idedRoi.setRoiId(roiId); - idedRoi.setSampleId(sampleId); - idedRoi.setIdAnalysis(IdAnalysis); - idedRoi.setNuclideName(nuclideName); - } - allNuclLinesIdeds.addAll(linesIdedRois); - } - } - return allNuclLinesIdeds; - } + public List saveNuclLinesIdedROI(Integer sampleId, Integer IdAnalysis, Integer roiId, + GStoreMiddleProcessData middleData) { + // Gards_Nucl_Lines_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_LINES_IDED + Map nuclLinesIdedData = middleData.getNucl_lines_ided_data(); + String base_IdPeak = "idPeak"; + List allNuclLinesIdeds = new ArrayList<>(); + for (Map.Entry entry : nuclLinesIdedData.entrySet()) { + String nuclideName = entry.getKey(); + GStoreMiddleProcessDataNuclLinesIded nuclLinesIded = entry.getValue(); + GardsNuclLinesIdedRoi linesIdedRoi = new GardsNuclLinesIdedRoi(); + List linesIdedRois = mapFields(nuclLinesIded, linesIdedRoi, base_IdPeak, fieldMap); + if (CollUtil.isNotEmpty(linesIdedRois)) { + for (GardsNuclLinesIdedRoi idedRoi : linesIdedRois) { + idedRoi.setRoiId(roiId); + idedRoi.setSampleId(sampleId); + idedRoi.setIdAnalysis(IdAnalysis); + idedRoi.setNuclideName(nuclideName); + } + allNuclLinesIdeds.addAll(linesIdedRois); + } + } + return allNuclLinesIdeds; + } - public void saveNuclLinesIdedROI(Integer sampleId, Integer IdAnalysis){ + public void saveNuclLinesIdedROI(Integer sampleId, Integer IdAnalysis) { List linesIdedRois = new ArrayList<>(); Set> entries = this.middleDataMap.entrySet(); for (Map.Entry entry : entries) { @@ -1304,88 +1309,88 @@ public class Sample_C_Analysis { this.serviceQuotes.getNuclLinesIdedRoiAutoService().saveBatch(linesIdedRois); } - public List saveNuclIdedROI(Integer sampleId, Integer IdAnalysis, - Integer roiId, GStoreMiddleProcessData middleData){ - // Gards_Nucl_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_IDED - GardsNuclIdedDto nuclIdedDto = new GardsNuclIdedDto(); - GardsNuclIdedRoi nuclIdedRoi = new GardsNuclIdedRoi(); - BeanUtil.copyProperties(middleData, nuclIdedDto); - List nuclIdedRois = new ArrayList<>(); - if (CollUtil.isNotEmpty(nuclIdedDto.getNucl_ided_Nuclidename())) { - String base_NuclideName = "nucl_ided_Nuclidename"; - nuclIdedRois = mapFields(nuclIdedDto, nuclIdedRoi, base_NuclideName, fieldMap); - for (GardsNuclIdedRoi idedRoi : nuclIdedRois) { - idedRoi.setRoiId(roiId); - idedRoi.setSampleId(sampleId); - idedRoi.setIdAnalysis(IdAnalysis); - } - } - return nuclIdedRois; - } + public List saveNuclIdedROI(Integer sampleId, Integer IdAnalysis, + Integer roiId, GStoreMiddleProcessData middleData) { + // Gards_Nucl_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_IDED + GardsNuclIdedDto nuclIdedDto = new GardsNuclIdedDto(); + GardsNuclIdedRoi nuclIdedRoi = new GardsNuclIdedRoi(); + BeanUtil.copyProperties(middleData, nuclIdedDto); + List nuclIdedRois = new ArrayList<>(); + if (CollUtil.isNotEmpty(nuclIdedDto.getNucl_ided_Nuclidename())) { + String base_NuclideName = "nucl_ided_Nuclidename"; + nuclIdedRois = mapFields(nuclIdedDto, nuclIdedRoi, base_NuclideName, fieldMap); + for (GardsNuclIdedRoi idedRoi : nuclIdedRois) { + idedRoi.setRoiId(roiId); + idedRoi.setSampleId(sampleId); + idedRoi.setIdAnalysis(IdAnalysis); + } + } + return nuclIdedRois; + } - public void saveNuclIdedROI(Integer sampleId, Integer IdAnalysis){ - List idedRois = new ArrayList<>(); - Set> entries = this.middleDataMap.entrySet(); - for (Map.Entry entry : entries) { - Integer roiId = entry.getKey(); - GStoreMiddleProcessData middleData = entry.getValue(); - idedRois.addAll(saveNuclIdedROI(sampleId, IdAnalysis, roiId, middleData)); - } - this.serviceQuotes.getNuclIdedRoiAutoService().saveBatch(idedRois); - } + public void saveNuclIdedROI(Integer sampleId, Integer IdAnalysis) { + List idedRois = new ArrayList<>(); + Set> entries = this.middleDataMap.entrySet(); + for (Map.Entry entry : entries) { + Integer roiId = entry.getKey(); + GStoreMiddleProcessData middleData = entry.getValue(); + idedRois.addAll(saveNuclIdedROI(sampleId, IdAnalysis, roiId, middleData)); + } + this.serviceQuotes.getNuclIdedRoiAutoService().saveBatch(idedRois); + } - public void saveQcCheckROI(Integer sampleId, Integer IdAnalysis, Integer roiId, - Map qcItems, - GStoreMiddleProcessData middleData){ - // Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK - if (MapUtil.isNotEmpty(qcItems)){ - String base_QC = String.valueOf(qcItems.size()); - QcCheckDto qcCheckDto = new QcCheckDto(); - BeanUtil.copyProperties(middleData,qcCheckDto); - if (!qcItems.isEmpty()) { - GardsQcCheck gardsQcCheck = new GardsQcCheck(); - List gardsQcChecks = mapFields(qcCheckDto, gardsQcCheck,base_QC,fieldMap); - for (GardsQcCheck qcCheck : gardsQcChecks) { - qcCheck.setSampleId(sampleId); - qcCheck.setIdanalysis(IdAnalysis); - } - serviceQuotes.getGardsQcCheckAutoService().saveBatch(gardsQcChecks); - } - } - } + public void saveQcCheckROI(Integer sampleId, Integer IdAnalysis, Integer roiId, + Map qcItems, + GStoreMiddleProcessData middleData) { + // Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK + if (MapUtil.isNotEmpty(qcItems)) { + String base_QC = String.valueOf(qcItems.size()); + QcCheckDto qcCheckDto = new QcCheckDto(); + BeanUtil.copyProperties(middleData, qcCheckDto); + if (!qcItems.isEmpty()) { + GardsQcCheck gardsQcCheck = new GardsQcCheck(); + List gardsQcChecks = mapFields(qcCheckDto, gardsQcCheck, base_QC, fieldMap); + for (GardsQcCheck qcCheck : gardsQcChecks) { + qcCheck.setSampleId(sampleId); + qcCheck.setIdanalysis(IdAnalysis); + } + serviceQuotes.getGardsQcCheckAutoService().saveBatch(gardsQcChecks); + } + } + } - public void saveQcCheckROI(Integer sampleId, Map qcItems){ + public void saveQcCheckROI(Integer sampleId, Map qcItems) { } - public List saveMDCROI(Integer sampleId, Integer IdAnalysis, - Integer roiId, Map mdcInfoMap) { - List mdcRois = new LinkedList<>(); - for (CalMDCInfo mdcInfo :mdcInfoMap.values()) { - if (ObjectUtil.isNull(mdcInfo)) continue; - if (Objects.nonNull(mdcInfo.getEnergy()) && Objects.nonNull(mdcInfo.getYield()) - && Objects.nonNull(mdcInfo.getEfficiency())) { - GardsMDCRoi mdcRoi = new GardsMDCRoi(); - mdcRoi.setRoiId(roiId); - mdcRoi.setSampleId(sampleId); - mdcRoi.setIdAnalysis(IdAnalysis); - mdcRoi.setNuclideName(mdcInfo.getNuclideName()); - mdcRoi.setEnergy(mdcInfo.getEnergy()); - mdcRoi.setYield(mdcInfo.getYield()); - mdcRoi.setEfficiency(mdcInfo.getEfficiency()); - if (Objects.nonNull(mdcInfo.getMdc()) && Double.isFinite(mdcInfo.getMdc())) { - mdcRoi.setMdc(String.valueOf(mdcInfo.getMdc())); - } else { - mdcRoi.setMdc(null); - } - mdcRoi.setMdcErr(null); - mdcRois.add(mdcRoi); - } - } - return mdcRois; - } + public List saveMDCROI(Integer sampleId, Integer IdAnalysis, + Integer roiId, Map mdcInfoMap) { + List mdcRois = new LinkedList<>(); + for (CalMDCInfo mdcInfo : mdcInfoMap.values()) { + if (ObjectUtil.isNull(mdcInfo)) continue; + if (Objects.nonNull(mdcInfo.getEnergy()) && Objects.nonNull(mdcInfo.getYield()) + && Objects.nonNull(mdcInfo.getEfficiency())) { + GardsMDCRoi mdcRoi = new GardsMDCRoi(); + mdcRoi.setRoiId(roiId); + mdcRoi.setSampleId(sampleId); + mdcRoi.setIdAnalysis(IdAnalysis); + mdcRoi.setNuclideName(mdcInfo.getNuclideName()); + mdcRoi.setEnergy(mdcInfo.getEnergy()); + mdcRoi.setYield(mdcInfo.getYield()); + mdcRoi.setEfficiency(mdcInfo.getEfficiency()); + if (Objects.nonNull(mdcInfo.getMdc()) && Double.isFinite(mdcInfo.getMdc())) { + mdcRoi.setMdc(String.valueOf(mdcInfo.getMdc())); + } else { + mdcRoi.setMdc(null); + } + mdcRoi.setMdcErr(null); + mdcRois.add(mdcRoi); + } + } + return mdcRois; + } - public void saveMDCROI(Integer sampleId, Integer IdAnalysis, Map mdcInfoMap){ + public void saveMDCROI(Integer sampleId, Integer IdAnalysis, Map mdcInfoMap) { List mdcRois = new ArrayList<>(); Set roiIds = this.middleDataMap.keySet(); for (Integer roiId : roiIds) { @@ -1402,170 +1407,170 @@ public class Sample_C_Analysis { this.serviceQuotes.getGardsCalibrationService().create(this.analyseResult, sampleId, IdAnalysis); } - public Map getNuclideLinesG() { - redisUtil = ApplicationContextUtil.getContext().getBean(RedisUtil.class); - Object nuclideLibs = redisUtil.get(RedisConstant.NUCLIDE_LINES_LIB + "G"); - return Objects.isNull(nuclideLibs) ? Maps.newHashMap() : (Map) nuclideLibs; - } + public Map getNuclideLinesG() { + redisUtil = ApplicationContextUtil.getContext().getBean(RedisUtil.class); + Object nuclideLibs = redisUtil.get(RedisConstant.NUCLIDE_LINES_LIB + "G"); + return Objects.isNull(nuclideLibs) ? Maps.newHashMap() : (Map) nuclideLibs; + } - public Map getNuclideLinesP(){ - redisUtil = ApplicationContextUtil.getContext().getBean(RedisUtil.class); - Object nuclideLibs = redisUtil.get(RedisConstant.NUCLIDE_LINES_LIB + "P"); - return Objects.isNull(nuclideLibs) ? Maps.newHashMap() : (Map) nuclideLibs; - } + public Map getNuclideLinesP() { + redisUtil = ApplicationContextUtil.getContext().getBean(RedisUtil.class); + Object nuclideLibs = redisUtil.get(RedisConstant.NUCLIDE_LINES_LIB + "P"); + return Objects.isNull(nuclideLibs) ? Maps.newHashMap() : (Map) nuclideLibs; + } - public Map fieldMap(){ - Map fieldMap = new HashMap<>(); - // Gards_Nucl_Lines_Ided - fieldMap.put("nuclideFullname","nuclidefullname"); - fieldMap.put("Energy","energy"); - fieldMap.put("Abundance","abundance"); - fieldMap.put("Activity","activity"); - fieldMap.put("Effic","effic"); - fieldMap.put("uncEffic","unEffic"); - fieldMap.put("Mda","mda"); - fieldMap.put("key_flag","keyFlag"); - fieldMap.put("csc_ratio","cscRatio"); - fieldMap.put("csc_ratio_err","cscRatioErr"); - fieldMap.put("csc_mod_flag","cscModFlag"); - fieldMap.put("MDC","mdc"); - fieldMap.put("Concentration","concentration"); - // Gards_Nucl_Ided - fieldMap.put("nucl_ided_Nuclidename","nuclideName"); - fieldMap.put("nucl_ided_Type","type"); - fieldMap.put("nucl_ided_Halflife","halflife"); - fieldMap.put("nucl_ided_ave_activ","aveActiv"); - fieldMap.put("nucl_ided_ave_activ_err","aveActivErr"); - fieldMap.put("nucl_ided_activ_key","activKey"); - fieldMap.put("nucl_ided_activ_key_err","activKeyErr"); - fieldMap.put("nucl_ided_mda","mda"); - fieldMap.put("nucl_ided_mda_err","mdaErr"); - fieldMap.put("nucl_ided_nid_flag","nidFlag"); - fieldMap.put("nucl_ided_csc_ratio","cscRatio"); - fieldMap.put("nucl_ided_csc_ratio_err","cscRatioErr"); - fieldMap.put("nucl_ided_csc_mod_flag","cscModFlag"); - fieldMap.put("nucl_ided_MDC","mdc"); - fieldMap.put("nucl_ided_Concentration","concentration"); - fieldMap.put("nucl_ided_Key_Energy","keyEnergy"); - fieldMap.put("nucl_ided_Key_Yield","keyYield"); - // Gards_Qc_Check - fieldMap.put("QC_CHECK_QC_NAME","qcName"); - fieldMap.put("QC_CHECK_QC_VALUE","qcValue"); - fieldMap.put("QC_CHECK_QC_STANDARD","qcStandard"); - fieldMap.put("QC_CHECK_QC_RESULT","qcResult"); - // Gards_Peaks - fieldMap.put("peaks_idPeak", "idPeak"); - fieldMap.put("peaks_peakCentroid", "centroidChannel"); - fieldMap.put("peaks_uncpeakCentroid", "uncCentroidChannel"); - fieldMap.put("peaks_Energy", "energy"); - fieldMap.put("peaks_uncEnergy", "uncEnergy"); - fieldMap.put("peaks_Area", "area"); - fieldMap.put("peaks_areaErr", "uncArea"); - fieldMap.put("peaks_netCountRate", "netCountRate"); - fieldMap.put("peaks_uncNetCountRate", "uncNetCountRate"); - fieldMap.put("peaks_Efficiency", "efficiency"); - fieldMap.put("peaks_Uncefficiency", "uncefficiency"); - fieldMap.put("peaks_Fwhm", "fwhm"); - fieldMap.put("peaks_Fwhmc", "fwtm"); - fieldMap.put("peaks_Significance", "significance"); - fieldMap.put("peaks_Sensitivity", "sensitivity"); - fieldMap.put("peaks_multiIndex", "mulitiIndex"); - fieldMap.put("peaks_ROIstart", "roiStart"); - fieldMap.put("peaks_ROIend", "roiEnd"); - fieldMap.put("peaks_tail", "tail"); - fieldMap.put("peaks_tailAlpha", "tailAlpha"); - fieldMap.put("peaks_upperTail", "upperTail"); - fieldMap.put("peaks_upperTailAlpha", "upperTailAlpha"); - fieldMap.put("peaks_BWWidthChan", "bwwidthchan"); - fieldMap.put("peaks_recoilDeltaChan", "recoildeltachan"); - fieldMap.put("peaks_stepRatio", "stepraio"); - fieldMap.put("peaks_backgroundArea", "backgroundarea"); - fieldMap.put("peaks_meanBackCount", "meanbackcount"); - fieldMap.put("peaks_Lc", "lc"); - fieldMap.put("peaks_Ld", "ld"); - // GARDS_CALIBRATION_PAIRS - fieldMap.put("calibration_pairs_E_idCalPoint","idCalPoint"); - fieldMap.put("calibration_pairs_E_xValue","xValue"); - fieldMap.put("calibration_pairs_E_yValue","yValue"); - fieldMap.put("calibration_pairs_E_uncYValue","uncYValue"); - fieldMap.put("calibration_pairs_EF_idCalPoint","idCalPoint"); - fieldMap.put("calibration_pairs_EF_xValue","xValue"); - fieldMap.put("calibration_pairs_EF_yValue","yValue"); - fieldMap.put("calibration_pairs_EF_uncYValue","uncYValue"); - fieldMap.put("calibration_pairs_R_idCalPoint","idCalPoint"); - fieldMap.put("calibration_pairs_R_xValue","xValue"); - fieldMap.put("calibration_pairs_R_yValue","yValue"); - fieldMap.put("calibration_pairs_R_uncYValue","uncYValue"); - fieldMap.put("calibration_pairs_T_idCalPoint","idCalPoint"); - fieldMap.put("calibration_pairs_T_xValue","xValue"); - fieldMap.put("calibration_pairs_T_yValue","yValue"); - fieldMap.put("calibration_pairs_T_uncYValue","uncYValue"); - return fieldMap; - } + public Map fieldMap() { + Map fieldMap = new HashMap<>(); + // Gards_Nucl_Lines_Ided + fieldMap.put("nuclideFullname", "nuclidefullname"); + fieldMap.put("Energy", "energy"); + fieldMap.put("Abundance", "abundance"); + fieldMap.put("Activity", "activity"); + fieldMap.put("Effic", "effic"); + fieldMap.put("uncEffic", "unEffic"); + fieldMap.put("Mda", "mda"); + fieldMap.put("key_flag", "keyFlag"); + fieldMap.put("csc_ratio", "cscRatio"); + fieldMap.put("csc_ratio_err", "cscRatioErr"); + fieldMap.put("csc_mod_flag", "cscModFlag"); + fieldMap.put("MDC", "mdc"); + fieldMap.put("Concentration", "concentration"); + // Gards_Nucl_Ided + fieldMap.put("nucl_ided_Nuclidename", "nuclideName"); + fieldMap.put("nucl_ided_Type", "type"); + fieldMap.put("nucl_ided_Halflife", "halflife"); + fieldMap.put("nucl_ided_ave_activ", "aveActiv"); + fieldMap.put("nucl_ided_ave_activ_err", "aveActivErr"); + fieldMap.put("nucl_ided_activ_key", "activKey"); + fieldMap.put("nucl_ided_activ_key_err", "activKeyErr"); + fieldMap.put("nucl_ided_mda", "mda"); + fieldMap.put("nucl_ided_mda_err", "mdaErr"); + fieldMap.put("nucl_ided_nid_flag", "nidFlag"); + fieldMap.put("nucl_ided_csc_ratio", "cscRatio"); + fieldMap.put("nucl_ided_csc_ratio_err", "cscRatioErr"); + fieldMap.put("nucl_ided_csc_mod_flag", "cscModFlag"); + fieldMap.put("nucl_ided_MDC", "mdc"); + fieldMap.put("nucl_ided_Concentration", "concentration"); + fieldMap.put("nucl_ided_Key_Energy", "keyEnergy"); + fieldMap.put("nucl_ided_Key_Yield", "keyYield"); + // Gards_Qc_Check + fieldMap.put("QC_CHECK_QC_NAME", "qcName"); + fieldMap.put("QC_CHECK_QC_VALUE", "qcValue"); + fieldMap.put("QC_CHECK_QC_STANDARD", "qcStandard"); + fieldMap.put("QC_CHECK_QC_RESULT", "qcResult"); + // Gards_Peaks + fieldMap.put("peaks_idPeak", "idPeak"); + fieldMap.put("peaks_peakCentroid", "centroidChannel"); + fieldMap.put("peaks_uncpeakCentroid", "uncCentroidChannel"); + fieldMap.put("peaks_Energy", "energy"); + fieldMap.put("peaks_uncEnergy", "uncEnergy"); + fieldMap.put("peaks_Area", "area"); + fieldMap.put("peaks_areaErr", "uncArea"); + fieldMap.put("peaks_netCountRate", "netCountRate"); + fieldMap.put("peaks_uncNetCountRate", "uncNetCountRate"); + fieldMap.put("peaks_Efficiency", "efficiency"); + fieldMap.put("peaks_Uncefficiency", "uncefficiency"); + fieldMap.put("peaks_Fwhm", "fwhm"); + fieldMap.put("peaks_Fwhmc", "fwtm"); + fieldMap.put("peaks_Significance", "significance"); + fieldMap.put("peaks_Sensitivity", "sensitivity"); + fieldMap.put("peaks_multiIndex", "mulitiIndex"); + fieldMap.put("peaks_ROIstart", "roiStart"); + fieldMap.put("peaks_ROIend", "roiEnd"); + fieldMap.put("peaks_tail", "tail"); + fieldMap.put("peaks_tailAlpha", "tailAlpha"); + fieldMap.put("peaks_upperTail", "upperTail"); + fieldMap.put("peaks_upperTailAlpha", "upperTailAlpha"); + fieldMap.put("peaks_BWWidthChan", "bwwidthchan"); + fieldMap.put("peaks_recoilDeltaChan", "recoildeltachan"); + fieldMap.put("peaks_stepRatio", "stepraio"); + fieldMap.put("peaks_backgroundArea", "backgroundarea"); + fieldMap.put("peaks_meanBackCount", "meanbackcount"); + fieldMap.put("peaks_Lc", "lc"); + fieldMap.put("peaks_Ld", "ld"); + // GARDS_CALIBRATION_PAIRS + fieldMap.put("calibration_pairs_E_idCalPoint", "idCalPoint"); + fieldMap.put("calibration_pairs_E_xValue", "xValue"); + fieldMap.put("calibration_pairs_E_yValue", "yValue"); + fieldMap.put("calibration_pairs_E_uncYValue", "uncYValue"); + fieldMap.put("calibration_pairs_EF_idCalPoint", "idCalPoint"); + fieldMap.put("calibration_pairs_EF_xValue", "xValue"); + fieldMap.put("calibration_pairs_EF_yValue", "yValue"); + fieldMap.put("calibration_pairs_EF_uncYValue", "uncYValue"); + fieldMap.put("calibration_pairs_R_idCalPoint", "idCalPoint"); + fieldMap.put("calibration_pairs_R_xValue", "xValue"); + fieldMap.put("calibration_pairs_R_yValue", "yValue"); + fieldMap.put("calibration_pairs_R_uncYValue", "uncYValue"); + fieldMap.put("calibration_pairs_T_idCalPoint", "idCalPoint"); + fieldMap.put("calibration_pairs_T_xValue", "xValue"); + fieldMap.put("calibration_pairs_T_yValue", "yValue"); + fieldMap.put("calibration_pairs_T_uncYValue", "uncYValue"); + return fieldMap; + } - public void getSettingFromDB(PHDFile... phdFiles) throws ParseException { - Map mapSetting = serviceQuotes.getGammaDefaultParamsService() - .mapSetting(); - for (PHDFile phdFile : phdFiles) { - SpecSetup setting = phdFile.getSetting(); - String BaseImprovePSS = mapSetting.get(Setting.BASEIMPROVEPSS); - if (StrUtil.isNotBlank(BaseImprovePSS)) - setting.setBaseImprovePSS(Double.parseDouble(BaseImprovePSS)); - String CalibrationPSS_low = mapSetting.get(Setting.CALIBRATIONPSS_LOW); - if (StrUtil.isNotBlank(CalibrationPSS_low)) - setting.setCalibrationPSS_low(Double.parseDouble(CalibrationPSS_low)); - String CalibrationPSS_high = mapSetting.get(Setting.CALIBRATIONPSS_HIGH); - if (StrUtil.isNotBlank(CalibrationPSS_high)) - setting.setCalibrationPSS_high(Double.parseDouble(CalibrationPSS_high)); - String ECutAnalysis_High = mapSetting.get(Setting.ECUTANALYSIS_HIGH); - if (StrUtil.isNotBlank(ECutAnalysis_High)){ - setting.setECutAnalysis_High(Double.parseDouble(ECutAnalysis_High)); - }else { - setting.setECutAnalysis_High(Double.POSITIVE_INFINITY); - } - String systemType = sampleStruct.system_type; - if (StrUtil.equals(systemType, SpectrumSystemType.P.name())){ - String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_P); - if (StrUtil.isNotBlank(ECutAnalysis_Low)) - setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low)); - String bUpdateCal_P = mapSetting.get(Setting.BUPDATECAL_P); - setting.setBUpdateCal(StrUtil.equals(bUpdateCal_P, "1")); - }else { - String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_G); - if (StrUtil.isNotBlank(ECutAnalysis_Low)) - setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low)); - String bUpdateCal_G = mapSetting.get(Setting.BUPDATECAL_G); - setting.setBUpdateCal(StrUtil.equals(bUpdateCal_G, "1")); - } - String EnergyTolerance = mapSetting.get(Setting.ENERGYTOLERANCE); - if (StrUtil.isNotBlank(EnergyTolerance)) - setting.setEnergyTolerance(Double.parseDouble(EnergyTolerance)); - String KeepCalPeakSearchPeaks = mapSetting.get(Setting.KEEPCALPEAKSERCHPEAKS); - setting.setKeepCalPeakSearchPeaks(StrUtil.equals(KeepCalPeakSearchPeaks,"1")); - String k_alpha = mapSetting.get(Setting.K_ALPHA); - if (StrUtil.isNotBlank(k_alpha)) - setting.setK_alpha(Double.parseDouble(k_alpha)); - String k_back = mapSetting.get(Setting.K_BACK); - if (StrUtil.isNotBlank(k_back)) - setting.setK_back(Double.parseDouble(k_back)); - String k_beta = mapSetting.get(Setting.K_BETA); - if (StrUtil.isNotBlank(k_beta)) - setting.setK_beta(Double.parseDouble(k_beta)); - String PSS_low = mapSetting.get(Setting.PSS_LOW); - if (StrUtil.isNotBlank(PSS_low)) - setting.setPss_low(Double.parseDouble(PSS_low)); - String RiskLevelK = mapSetting.get(Setting.RISKLEVELK); - if (StrUtil.isNotBlank(RiskLevelK)) - setting.setRiskLevelK(Double.parseDouble(RiskLevelK)); + public void getSettingFromDB(PHDFile... phdFiles) throws ParseException { + Map mapSetting = serviceQuotes.getGammaDefaultParamsService() + .mapSetting(); + for (PHDFile phdFile : phdFiles) { + SpecSetup setting = phdFile.getSetting(); + String BaseImprovePSS = mapSetting.get(Setting.BASEIMPROVEPSS); + if (StrUtil.isNotBlank(BaseImprovePSS)) + setting.setBaseImprovePSS(Double.parseDouble(BaseImprovePSS)); + String CalibrationPSS_low = mapSetting.get(Setting.CALIBRATIONPSS_LOW); + if (StrUtil.isNotBlank(CalibrationPSS_low)) + setting.setCalibrationPSS_low(Double.parseDouble(CalibrationPSS_low)); + String CalibrationPSS_high = mapSetting.get(Setting.CALIBRATIONPSS_HIGH); + if (StrUtil.isNotBlank(CalibrationPSS_high)) + setting.setCalibrationPSS_high(Double.parseDouble(CalibrationPSS_high)); + String ECutAnalysis_High = mapSetting.get(Setting.ECUTANALYSIS_HIGH); + if (StrUtil.isNotBlank(ECutAnalysis_High)) { + setting.setECutAnalysis_High(Double.parseDouble(ECutAnalysis_High)); + } else { + setting.setECutAnalysis_High(Double.POSITIVE_INFINITY); + } + String systemType = sampleStruct.system_type; + if (StrUtil.equals(systemType, SpectrumSystemType.P.name())) { + String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_P); + if (StrUtil.isNotBlank(ECutAnalysis_Low)) + setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low)); + String bUpdateCal_P = mapSetting.get(Setting.BUPDATECAL_P); + setting.setBUpdateCal(StrUtil.equals(bUpdateCal_P, "1")); + } else { + String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_G); + if (StrUtil.isNotBlank(ECutAnalysis_Low)) + setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low)); + String bUpdateCal_G = mapSetting.get(Setting.BUPDATECAL_G); + setting.setBUpdateCal(StrUtil.equals(bUpdateCal_G, "1")); + } + String EnergyTolerance = mapSetting.get(Setting.ENERGYTOLERANCE); + if (StrUtil.isNotBlank(EnergyTolerance)) + setting.setEnergyTolerance(Double.parseDouble(EnergyTolerance)); + String KeepCalPeakSearchPeaks = mapSetting.get(Setting.KEEPCALPEAKSERCHPEAKS); + setting.setKeepCalPeakSearchPeaks(StrUtil.equals(KeepCalPeakSearchPeaks, "1")); + String k_alpha = mapSetting.get(Setting.K_ALPHA); + if (StrUtil.isNotBlank(k_alpha)) + setting.setK_alpha(Double.parseDouble(k_alpha)); + String k_back = mapSetting.get(Setting.K_BACK); + if (StrUtil.isNotBlank(k_back)) + setting.setK_back(Double.parseDouble(k_back)); + String k_beta = mapSetting.get(Setting.K_BETA); + if (StrUtil.isNotBlank(k_beta)) + setting.setK_beta(Double.parseDouble(k_beta)); + String PSS_low = mapSetting.get(Setting.PSS_LOW); + if (StrUtil.isNotBlank(PSS_low)) + setting.setPss_low(Double.parseDouble(PSS_low)); + String RiskLevelK = mapSetting.get(Setting.RISKLEVELK); + if (StrUtil.isNotBlank(RiskLevelK)) + setting.setRiskLevelK(Double.parseDouble(RiskLevelK)); - setting.setRefTime_act(DateUtils.parseDate(phdFile.getAcq().getAcquisition_start_date()+" "+phdFile.getAcq().getAcquisition_start_time())); - setting.setRefTime_conc(DateUtils.parseDate(phdFile.getCollect().getCollection_start_date()+" "+phdFile.getCollect().getCollection_start_time())); + setting.setRefTime_act(DateUtils.parseDate(phdFile.getAcq().getAcquisition_start_date() + " " + phdFile.getAcq().getAcquisition_start_time())); + setting.setRefTime_conc(DateUtils.parseDate(phdFile.getCollect().getCollection_start_date() + " " + phdFile.getCollect().getCollection_start_time())); - } - } + } + } public void saveAnalysis(Integer sampleId, GardsSampleData detSampleData, Date analysisBegin, - Date analysisEnd, String logPath, String reportPath){ + Date analysisEnd, String logPath, String reportPath) { GardsAnalyses analysis = new GardsAnalyses(); // TODO 自动处理 分析表数据补全 (包括update) analysis.setSampleId(sampleId); analysis.setCategory(1);//按C++代码写死的1,该字段是分级结果张博士还没有想好数据要不要分级1,2,3,4 @@ -1576,7 +1581,7 @@ public class Sample_C_Analysis { analysis.setSwVersion(serviceQuotes.getSoftwareProperties().getSwVersion()); analysis.setAnalyst(serviceQuotes.getSoftwareProperties().getAnalyst()); analysis.setComments("test");//按C++代码写死的test - if (ObjectUtil.isNotNull(detSampleData)){ + if (ObjectUtil.isNotNull(detSampleData)) { analysis.setUseddetphd(detSampleData.getInputFileName()); analysis.setUseddetphdId(detSampleData.getSampleId()); } @@ -1645,106 +1650,106 @@ public class Sample_C_Analysis { } }*/ - public List mapFields(T1 source, T2 tartget, String baseLine, Map fieldMap) { - try { - List result = new ArrayList<>(); - Class sourceClass = source.getClass(); - boolean isNumber = NumberUtil.isNumber(baseLine); - int total; - if (isNumber){ - total = Integer.parseInt(baseLine); - }else { - Field declaredField = sourceClass.getDeclaredField(baseLine); - declaredField.setAccessible(true); - List baseList = (List) declaredField.get(source); - if (CollUtil.isEmpty(baseList)) - return result; - total = baseList.size(); - } - Class tartgetClass = (Class) tartget.getClass(); - Field[] sourceFields = sourceClass.getDeclaredFields(); - for (int i = 0; i < total; i++) { - tartget = tartgetClass.newInstance(); - for (Field sourceField : sourceFields) { - try { - sourceField.setAccessible(true); - List sourceList = (List) sourceField.get(source); - if (CollUtil.isEmpty(sourceList)) - continue; - if (sourceList.size() <= i) - continue; - String value = sourceList.get(i); - if (StrUtil.isNotBlank(value)){ - String sourceFieldName = sourceField.getName(); - String targetFieldName = fieldMap.get(sourceFieldName); - targetFieldName = StrUtil.isBlank(targetFieldName) ? sourceFieldName : targetFieldName; - Field tartgetField = tartgetClass.getDeclaredField(targetFieldName); - tartgetField.setAccessible(true); - Class type = tartgetField.getType(); - if (type == String.class) { - tartgetField.set(tartget, value); - } else if (type == Integer.class || type == int.class) { - // 避免类似0.000的String值转Integer时NumberFormatException - tartgetField.set(tartget, Double.valueOf(value).intValue()); - } else if (type == Double.class || type == double.class) { - tartgetField.set(tartget, Double.valueOf(value)); - } else if (type == Boolean.class || type == boolean.class) { - tartgetField.set(tartget, Boolean.valueOf(value)); - } - } - }catch (Exception e){ - log.error("Sample_G_Analysis.mapFields()值映射异常: {}", e.getMessage()); - } - } - result.add(tartget); - } - return result; - } catch (Exception e) { - e.printStackTrace(); - return new ArrayList<>(); - } - } + public List mapFields(T1 source, T2 tartget, String baseLine, Map fieldMap) { + try { + List result = new ArrayList<>(); + Class sourceClass = source.getClass(); + boolean isNumber = NumberUtil.isNumber(baseLine); + int total; + if (isNumber) { + total = Integer.parseInt(baseLine); + } else { + Field declaredField = sourceClass.getDeclaredField(baseLine); + declaredField.setAccessible(true); + List baseList = (List) declaredField.get(source); + if (CollUtil.isEmpty(baseList)) + return result; + total = baseList.size(); + } + Class tartgetClass = (Class) tartget.getClass(); + Field[] sourceFields = sourceClass.getDeclaredFields(); + for (int i = 0; i < total; i++) { + tartget = tartgetClass.newInstance(); + for (Field sourceField : sourceFields) { + try { + sourceField.setAccessible(true); + List sourceList = (List) sourceField.get(source); + if (CollUtil.isEmpty(sourceList)) + continue; + if (sourceList.size() <= i) + continue; + String value = sourceList.get(i); + if (StrUtil.isNotBlank(value)) { + String sourceFieldName = sourceField.getName(); + String targetFieldName = fieldMap.get(sourceFieldName); + targetFieldName = StrUtil.isBlank(targetFieldName) ? sourceFieldName : targetFieldName; + Field tartgetField = tartgetClass.getDeclaredField(targetFieldName); + tartgetField.setAccessible(true); + Class type = tartgetField.getType(); + if (type == String.class) { + tartgetField.set(tartget, value); + } else if (type == Integer.class || type == int.class) { + // 避免类似0.000的String值转Integer时NumberFormatException + tartgetField.set(tartget, Double.valueOf(value).intValue()); + } else if (type == Double.class || type == double.class) { + tartgetField.set(tartget, Double.valueOf(value)); + } else if (type == Boolean.class || type == boolean.class) { + tartgetField.set(tartget, Boolean.valueOf(value)); + } + } + } catch (Exception e) { + log.error("Sample_G_Analysis.mapFields()值映射异常: {}", e.getMessage()); + } + } + result.add(tartget); + } + return result; + } catch (Exception e) { + e.printStackTrace(); + return new ArrayList<>(); + } + } - private void setPHDFile(PHDFile... phdFiles) { - for (PHDFile phdFile : phdFiles) { - String filePath = phdFile.getTmpFilePath(); - EnergySpectrumStruct spectrumStruct = EnergySpectrumHandler.getSourceData(filePath); - HeaderBlock headerBlock = new HeaderBlock(); - BeanUtil.copyProperties(spectrumStruct, headerBlock); - phdFile.setHeader(headerBlock); + private void setPHDFile(PHDFile... phdFiles) { + for (PHDFile phdFile : phdFiles) { + String filePath = phdFile.getTmpFilePath(); + EnergySpectrumStruct spectrumStruct = EnergySpectrumHandler.getSourceData(filePath); + HeaderBlock headerBlock = new HeaderBlock(); + BeanUtil.copyProperties(spectrumStruct, headerBlock); + phdFile.setHeader(headerBlock); - CollectionBlock collectionBlock = new CollectionBlock(); - BeanUtil.copyProperties(spectrumStruct, collectionBlock); - phdFile.setCollect(collectionBlock); + CollectionBlock collectionBlock = new CollectionBlock(); + BeanUtil.copyProperties(spectrumStruct, collectionBlock); + phdFile.setCollect(collectionBlock); - // MessageInfo - MessageInfo messageInfo = new MessageInfo(); - BeanUtil.copyProperties(spectrumStruct, messageInfo); - phdFile.setMsgInfo(messageInfo); - // AcquisitionBlock - AcquisitionBlock acquisitionBlock = new AcquisitionBlock(); - BeanUtil.copyProperties(spectrumStruct, acquisitionBlock); - phdFile.setAcq(acquisitionBlock); - // GSpectrumBlock - GSpectrumBlock gSpectrumBlock = new GSpectrumBlock(); - BeanUtil.copyProperties(spectrumStruct, gSpectrumBlock); - phdFile.setSpec(gSpectrumBlock); - // ProcessingBlock - ProcessingBlock processingBlock = new ProcessingBlock(); - BeanUtil.copyProperties(spectrumStruct, processingBlock); - phdFile.setProcess(processingBlock); - // CalibrationBlock - CalibrationBlock calibrationBlock = new CalibrationBlock(); - BeanUtil.copyProperties(spectrumStruct, calibrationBlock); - phdFile.setCalibration(calibrationBlock); - // SampleBlock - SampleBlock sampleBlock = new SampleBlock(); - BeanUtil.copyProperties(spectrumStruct, sampleBlock); - phdFile.setSampleBlock(sampleBlock); - // CertificateBlock - CertificateBlock certificateBlock = new CertificateBlock(); - BeanUtil.copyProperties(spectrumStruct, certificateBlock); - phdFile.setCertificate(certificateBlock); - } - } + // MessageInfo + MessageInfo messageInfo = new MessageInfo(); + BeanUtil.copyProperties(spectrumStruct, messageInfo); + phdFile.setMsgInfo(messageInfo); + // AcquisitionBlock + AcquisitionBlock acquisitionBlock = new AcquisitionBlock(); + BeanUtil.copyProperties(spectrumStruct, acquisitionBlock); + phdFile.setAcq(acquisitionBlock); + // GSpectrumBlock + GSpectrumBlock gSpectrumBlock = new GSpectrumBlock(); + BeanUtil.copyProperties(spectrumStruct, gSpectrumBlock); + phdFile.setSpec(gSpectrumBlock); + // ProcessingBlock + ProcessingBlock processingBlock = new ProcessingBlock(); + BeanUtil.copyProperties(spectrumStruct, processingBlock); + phdFile.setProcess(processingBlock); + // CalibrationBlock + CalibrationBlock calibrationBlock = new CalibrationBlock(); + BeanUtil.copyProperties(spectrumStruct, calibrationBlock); + phdFile.setCalibration(calibrationBlock); + // SampleBlock + SampleBlock sampleBlock = new SampleBlock(); + BeanUtil.copyProperties(spectrumStruct, sampleBlock); + phdFile.setSampleBlock(sampleBlock); + // CertificateBlock + CertificateBlock certificateBlock = new CertificateBlock(); + BeanUtil.copyProperties(spectrumStruct, certificateBlock); + phdFile.setCertificate(certificateBlock); + } + } }