From 6596ef789e177db9796f8084335ffe6d6c1ceea8 Mon Sep 17 00:00:00 2001 From: panbaolin <123456> Date: Fri, 26 Jan 2024 15:29:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:1.=E6=96=B0=E5=8A=A0=E5=88=86=E6=9E=90id?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SpectrumAnalysisServiceImpl.java | 332 +++++++++--------- 1 file changed, 167 insertions(+), 165 deletions(-) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index 74aece7f..c4f7a9a7 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -406,178 +406,180 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements File detTmp = null; File qcTmp = null; try { - //查询数据库文件信息 - SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId, analysisID); - if (Objects.nonNull(dbSpectrumFilePath)) { - Map sampleMap = new HashMap<>(); - Map gasBgMap = new HashMap<>(); - Map detBgMap = new HashMap<>(); - Map qcMap = new HashMap<>(); - //获取sample相关信息 - GardsSampleData sample = null; - String sampleFileName = ""; - if (StringUtils.isNotBlank(dbSpectrumFilePath.getSampleFilePath())) { - sample = spectrumAnalysisMapper.findSampleByFilePath(dbSpectrumFilePath.getSampleFilePath()); - sampleFileName = dbSpectrumFilePath.getSampleFilePath().substring(dbSpectrumFilePath.getSampleFilePath().lastIndexOf(StringPool.SLASH) + 1); - } - //获取gas相关信息 - GardsSampleData gasBg = null; - String gasFileName = ""; - if (StringUtils.isNotBlank(dbSpectrumFilePath.getGasBgFilePath())) { - gasBg = spectrumAnalysisMapper.findSampleByFilePath(dbSpectrumFilePath.getGasBgFilePath()); - gasFileName = dbSpectrumFilePath.getGasBgFilePath().substring(dbSpectrumFilePath.getGasBgFilePath().lastIndexOf(StringPool.SLASH)+1); - } - //获取det相关信息 - GardsSampleData detBg = null; - String detFileName = ""; - if (StringUtils.isNotBlank(dbSpectrumFilePath.getDetBgFilePath())) { - detBg = spectrumAnalysisMapper.findSampleByFilePath(dbSpectrumFilePath.getDetBgFilePath()); - detFileName = dbSpectrumFilePath.getDetBgFilePath().substring(dbSpectrumFilePath.getDetBgFilePath().lastIndexOf(StringPool.SLASH)+1); - } - //获取qc相关信息 - String dbQcFilePath = ""; - GardsSampleData qc = null; - String qcFileName = ""; - if (Objects.nonNull(dbSpectrumFilePath.getCollectStart()) && StringUtils.isNotBlank(dbSpectrumFilePath.getSiteDetCode())) { - String collectStartStr = DateUtils.formatDate(dbSpectrumFilePath.getCollectStart(), "yyyy/MM/dd HH:mm:ss"); - dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(dbSpectrumFilePath.getSiteDetCode(), collectStartStr); - if (StringUtils.isNotBlank(dbQcFilePath)) { - qc = spectrumAnalysisMapper.findSampleByFilePath(dbQcFilePath); - qcFileName = dbQcFilePath.substring(dbQcFilePath.lastIndexOf(StringPool.SLASH)+1); + if (Objects.nonNull(analysisID)) { + //查询数据库文件信息 + SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId, analysisID); + if (Objects.nonNull(dbSpectrumFilePath)) { + Map sampleMap = new HashMap<>(); + Map gasBgMap = new HashMap<>(); + Map detBgMap = new HashMap<>(); + Map qcMap = new HashMap<>(); + //获取sample相关信息 + GardsSampleData sample = null; + String sampleFileName = ""; + if (StringUtils.isNotBlank(dbSpectrumFilePath.getSampleFilePath())) { + sample = spectrumAnalysisMapper.findSampleByFilePath(dbSpectrumFilePath.getSampleFilePath()); + sampleFileName = dbSpectrumFilePath.getSampleFilePath().substring(dbSpectrumFilePath.getSampleFilePath().lastIndexOf(StringPool.SLASH) + 1); } - } - //从缓存中获取公用变量的数据 - BetaDataFile betaDataFile = cache.getIfPresent(sampleFileName + "-" + userName); - //如果缓存中没有公用变量的数据 - if (Objects.isNull(betaDataFile)) { - betaDataFile = new BetaDataFile(); - if (dbName.equalsIgnoreCase("RNAUTO")) { - xeResultsSpectrumList = spectrumAnalysisMapper.ReadXeResults(dbName, analysisID, sampleId); - gammaCalibrationSpectrumList = spectrumAnalysisMapper.ReadGammaCalibrationParam("RNAUTO", analysisID); - betaCalibrationSpectrumList = spectrumAnalysisMapper.ReadBetaCalibrationParam("RNAUTO", analysisID); - roiChannelsSpectrumList = spectrumAnalysisMapper.ReadROIChannels("RNAUTO", analysisID, sampleId); - roiResultsSpectrumList = spectrumAnalysisMapper.ReadROIResults("RNAUTO", analysisID, sampleId); + //获取gas相关信息 + GardsSampleData gasBg = null; + String gasFileName = ""; + if (StringUtils.isNotBlank(dbSpectrumFilePath.getGasBgFilePath())) { + gasBg = spectrumAnalysisMapper.findSampleByFilePath(dbSpectrumFilePath.getGasBgFilePath()); + gasFileName = dbSpectrumFilePath.getGasBgFilePath().substring(dbSpectrumFilePath.getGasBgFilePath().lastIndexOf(StringPool.SLASH)+1); + } + //获取det相关信息 + GardsSampleData detBg = null; + String detFileName = ""; + if (StringUtils.isNotBlank(dbSpectrumFilePath.getDetBgFilePath())) { + detBg = spectrumAnalysisMapper.findSampleByFilePath(dbSpectrumFilePath.getDetBgFilePath()); + detFileName = dbSpectrumFilePath.getDetBgFilePath().substring(dbSpectrumFilePath.getDetBgFilePath().lastIndexOf(StringPool.SLASH)+1); + } + //获取qc相关信息 + String dbQcFilePath = ""; + GardsSampleData qc = null; + String qcFileName = ""; + if (Objects.nonNull(dbSpectrumFilePath.getCollectStart()) && StringUtils.isNotBlank(dbSpectrumFilePath.getSiteDetCode())) { + String collectStartStr = DateUtils.formatDate(dbSpectrumFilePath.getCollectStart(), "yyyy/MM/dd HH:mm:ss"); + dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(dbSpectrumFilePath.getSiteDetCode(), collectStartStr); + if (StringUtils.isNotBlank(dbQcFilePath)) { + qc = spectrumAnalysisMapper.findSampleByFilePath(dbQcFilePath); + qcFileName = dbQcFilePath.substring(dbQcFilePath.lastIndexOf(StringPool.SLASH)+1); + } + } + //从缓存中获取公用变量的数据 + BetaDataFile betaDataFile = cache.getIfPresent(sampleFileName + "-" + userName); + //如果缓存中没有公用变量的数据 + if (Objects.isNull(betaDataFile)) { + betaDataFile = new BetaDataFile(); + if (dbName.equalsIgnoreCase("RNAUTO")) { + xeResultsSpectrumList = spectrumAnalysisMapper.ReadXeResults(dbName, analysisID, sampleId); + gammaCalibrationSpectrumList = spectrumAnalysisMapper.ReadGammaCalibrationParam("RNAUTO", analysisID); + betaCalibrationSpectrumList = spectrumAnalysisMapper.ReadBetaCalibrationParam("RNAUTO", analysisID); + roiChannelsSpectrumList = spectrumAnalysisMapper.ReadROIChannels("RNAUTO", analysisID, sampleId); + roiResultsSpectrumList = spectrumAnalysisMapper.ReadROIResults("RNAUTO", analysisID, sampleId); + } else { + gammaCalibrationPairsList = spectrumAnalysisMapper.ReadGammaFitChannelEnergy(analysisID, sampleId); + betaCalibrationPairsList = spectrumAnalysisMapper.ReadBetaFitChannelEnergy(analysisID, sampleId); + xeResultsSpectrumList = spectrumAnalysisMapper.ReadXeResults(dbName, analysisID, sampleId); + gammaCalibrationSpectrumList = spectrumAnalysisMapper.ReadGammaCalibrationParam("RNMAN", analysisID); + betaCalibrationSpectrumList = spectrumAnalysisMapper.ReadBetaCalibrationParam("RNMAN", analysisID); + roiChannelsSpectrumList = spectrumAnalysisMapper.ReadROIChannels("RNMAN", analysisID, sampleId); + roiResultsSpectrumList = spectrumAnalysisMapper.ReadROIResults("RNMAN", analysisID, sampleId); + } + //给公用变量赋值sampleId + betaDataFile.setSampleId(String.valueOf(sampleId)); + //用于记录文件路径信息 + List filePaths = new LinkedList<>(); + //判断sample信息是否存在 + if (Objects.nonNull(sample)) { + betaDataFile.setSampleFilePathName(ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbSpectrumFilePath.getSampleFilePath()); + betaDataFile.setSampleFileName(sampleFileName); + sampleTmp = ftpUtil.downloadFile(betaDataFile.getSampleFilePathName(), "betaGamma"); + if (Objects.nonNull(sampleTmp)) { + betaDataFile.setSampleTmpPath(sampleTmp.getAbsolutePath()); + EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(sampleTmp.getAbsolutePath()); + betaDataFile.setSampleStruct(struct); + sampleMap = phdFileUtil.getSourceData(struct, sample.getSampleId(), sample.getStatus(), "sample", betaDataFile); + sampleMap.put("fileName", betaDataFile.getSampleFileName()); + resultMap.put("sample",sampleMap); + } + } + //判断gas信息是否存在 + if (Objects.nonNull(gasBg)) { + betaDataFile.setGasFilePathName(ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbSpectrumFilePath.getGasBgFilePath()); + betaDataFile.setGasFileName(gasFileName); + gasTmp = ftpUtil.downloadFile(betaDataFile.getGasFilePathName(), "betaGamma"); + if (Objects.nonNull(gasTmp)) { + betaDataFile.setGasTmpPath(gasTmp.getAbsolutePath()); + EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(gasTmp.getAbsolutePath()); + betaDataFile.setGasStruct(struct); + gasBgMap = phdFileUtil.getSourceData(struct, gasBg.getSampleId(), gasBg.getStatus(), "gas", betaDataFile); + gasBgMap.put("fileName", betaDataFile.getGasFileName()); + resultMap.put("gasBg",gasBgMap); + } + } + //判断det信息是否存在 + if (Objects.nonNull(detBg)) { + betaDataFile.setDetFilePathName(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbSpectrumFilePath.getDetBgFilePath()); + betaDataFile.setDetFileName(detFileName); + detTmp = ftpUtil.downloadFile(betaDataFile.getDetFilePathName(), "betaGamma"); + if (Objects.nonNull(detTmp)) { + betaDataFile.setDetTmpPath(detTmp.getAbsolutePath()); + EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(detTmp.getAbsolutePath()); + betaDataFile.setDetStruct(struct); + detBgMap = phdFileUtil.getSourceData(struct, detBg.getSampleId(), detBg.getStatus(), "det", betaDataFile); + detBgMap.put("fileName", betaDataFile.getDetFileName()); + resultMap.put("detBg",detBgMap); + } + } + //判断qc信息是否存在 + if (Objects.nonNull(qc)) { + betaDataFile.setQcFilePathName(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbQcFilePath); + betaDataFile.setQcFileName(qcFileName); + qcTmp = ftpUtil.downloadFile(betaDataFile.getQcFilePathName(), "betaGamma"); + if (Objects.nonNull(qcTmp)) { + betaDataFile.setQcTmpPath(qcTmp.getAbsolutePath()); + EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(qcTmp.getAbsolutePath()); + betaDataFile.setQcStruct(struct); + qcMap = phdFileUtil.getSourceData(struct, qc.getSampleId(), qc.getStatus(), "qc", betaDataFile); + qcMap.put("fileName", betaDataFile.getQcFileName()); + resultMap.put("qc",qcMap); + } + } } else { - gammaCalibrationPairsList = spectrumAnalysisMapper.ReadGammaFitChannelEnergy(analysisID, sampleId); - betaCalibrationPairsList = spectrumAnalysisMapper.ReadBetaFitChannelEnergy(analysisID, sampleId); - xeResultsSpectrumList = spectrumAnalysisMapper.ReadXeResults(dbName, analysisID, sampleId); - gammaCalibrationSpectrumList = spectrumAnalysisMapper.ReadGammaCalibrationParam("RNMAN", analysisID); - betaCalibrationSpectrumList = spectrumAnalysisMapper.ReadBetaCalibrationParam("RNMAN", analysisID); - roiChannelsSpectrumList = spectrumAnalysisMapper.ReadROIChannels("RNMAN", analysisID, sampleId); - roiResultsSpectrumList = spectrumAnalysisMapper.ReadROIResults("RNMAN", analysisID, sampleId); + xeResultsSpectrumList = betaDataFile.getXeResultsSpectrumList(); + sampleMap = loadData("sample", betaDataFile); + sampleMap.put("fileName", betaDataFile.getSampleFileName()); + resultMap.put("sample",sampleMap); + gasBgMap = loadData("gas", betaDataFile); + gasBgMap.put("fileName", betaDataFile.getGasFileName()); + resultMap.put("gasBg",gasBgMap); + detBgMap = loadData("det", betaDataFile); + detBgMap.put("fileName", betaDataFile.getDetFileName()); + resultMap.put("detBg",detBgMap); + qcMap = loadData("qc", betaDataFile); + qcMap.put("fileName", betaDataFile.getQcFileName()); + resultMap.put("qc",qcMap); } - //给公用变量赋值sampleId - betaDataFile.setSampleId(String.valueOf(sampleId)); - //用于记录文件路径信息 - List filePaths = new LinkedList<>(); - //判断sample信息是否存在 - if (Objects.nonNull(sample)) { - betaDataFile.setSampleFilePathName(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbSpectrumFilePath.getSampleFilePath()); - betaDataFile.setSampleFileName(sampleFileName); - sampleTmp = ftpUtil.downloadFile(betaDataFile.getSampleFilePathName(), "betaGamma"); - if (Objects.nonNull(sampleTmp)) { - betaDataFile.setSampleTmpPath(sampleTmp.getAbsolutePath()); - EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(sampleTmp.getAbsolutePath()); - betaDataFile.setSampleStruct(struct); - sampleMap = phdFileUtil.getSourceData(struct, sample.getSampleId(), sample.getStatus(), "sample", betaDataFile); - sampleMap.put("fileName", betaDataFile.getSampleFileName()); - resultMap.put("sample",sampleMap); - } - } - //判断gas信息是否存在 - if (Objects.nonNull(gasBg)) { - betaDataFile.setGasFilePathName(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbSpectrumFilePath.getGasBgFilePath()); - betaDataFile.setGasFileName(gasFileName); - gasTmp = ftpUtil.downloadFile(betaDataFile.getGasFilePathName(), "betaGamma"); - if (Objects.nonNull(gasTmp)) { - betaDataFile.setGasTmpPath(gasTmp.getAbsolutePath()); - EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(gasTmp.getAbsolutePath()); - betaDataFile.setGasStruct(struct); - gasBgMap = phdFileUtil.getSourceData(struct, gasBg.getSampleId(), gasBg.getStatus(), "gas", betaDataFile); - gasBgMap.put("fileName", betaDataFile.getGasFileName()); - resultMap.put("gasBg",gasBgMap); - } - } - //判断det信息是否存在 - if (Objects.nonNull(detBg)) { - betaDataFile.setDetFilePathName(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbSpectrumFilePath.getDetBgFilePath()); - betaDataFile.setDetFileName(detFileName); - detTmp = ftpUtil.downloadFile(betaDataFile.getDetFilePathName(), "betaGamma"); - if (Objects.nonNull(detTmp)) { - betaDataFile.setDetTmpPath(detTmp.getAbsolutePath()); - EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(detTmp.getAbsolutePath()); - betaDataFile.setDetStruct(struct); - detBgMap = phdFileUtil.getSourceData(struct, detBg.getSampleId(), detBg.getStatus(), "det", betaDataFile); - detBgMap.put("fileName", betaDataFile.getDetFileName()); - resultMap.put("detBg",detBgMap); - } - } - //判断qc信息是否存在 - if (Objects.nonNull(qc)) { - betaDataFile.setQcFilePathName(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH +dbQcFilePath); - betaDataFile.setQcFileName(qcFileName); - qcTmp = ftpUtil.downloadFile(betaDataFile.getQcFilePathName(), "betaGamma"); - if (Objects.nonNull(qcTmp)) { - betaDataFile.setQcTmpPath(qcTmp.getAbsolutePath()); - EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(qcTmp.getAbsolutePath()); - betaDataFile.setQcStruct(struct); - qcMap = phdFileUtil.getSourceData(struct, qc.getSampleId(), qc.getStatus(), "qc", betaDataFile); - qcMap.put("fileName", betaDataFile.getQcFileName()); - resultMap.put("qc",qcMap); + //分析状态颜色 + phdFileUtil.getLightColor(sampleMap,gasBgMap,detBgMap,qcMap); + //Xe + if (CollectionUtils.isNotEmpty(xeResultsSpectrumList)){ + for (GardsXeResultsSpectrum xeData:xeResultsSpectrumList) { + Double conc = xeData.getConc(); + Double mdc = xeData.getMdc(); + if (conc < 0){ + xeData.setColor("red"); + xeData.setNidFlag(0); + } else if (0 mdc) { + xeData.setColor("green"); + xeData.setNidFlag(1); + } + xeData.setMdc(Double.valueOf(NumberFormatUtil.numberSixLen(String.valueOf(xeData.getMdc())))); + xeData.setConc(Double.valueOf(NumberFormatUtil.numberSixLen(String.valueOf(xeData.getConc())))); + xeData.setConcErr(Double.valueOf(NumberFormatUtil.numberSixLen(String.valueOf(xeData.getConcErr())))); } } + betaDataFile.setGammaCalibrationSpectrumList(gammaCalibrationSpectrumList); + betaDataFile.setBetaCalibrationSpectrumList(betaCalibrationSpectrumList); + betaDataFile.setRoiChannelsSpectrumList(roiChannelsSpectrumList); + betaDataFile.setRoiResultsSpectrumList(roiResultsSpectrumList); + betaDataFile.setGammaCalibrationPairsList(gammaCalibrationPairsList); + betaDataFile.setBetaCalibrationPairsList(betaCalibrationPairsList); + betaDataFile.setXeResultsSpectrumList(xeResultsSpectrumList); + betaDataFile.setSaveAnalysisResult(true); + resultMap.put("XeData", phdFileUtil.viewXeData(xeResultsSpectrumList)); + resultMap.put("bProcessed", betaDataFile.isBProcessed()); + resultMap.put("savedAnalysisResult", betaDataFile.isSaveAnalysisResult()); + cache.put(betaDataFile.getSampleFileName()+"-"+userName, betaDataFile); + betaCache.setBetaCache(cache); } else { - xeResultsSpectrumList = betaDataFile.getXeResultsSpectrumList(); - sampleMap = loadData("sample", betaDataFile); - sampleMap.put("fileName", betaDataFile.getSampleFileName()); - resultMap.put("sample",sampleMap); - gasBgMap = loadData("gas", betaDataFile); - gasBgMap.put("fileName", betaDataFile.getGasFileName()); - resultMap.put("gasBg",gasBgMap); - detBgMap = loadData("det", betaDataFile); - detBgMap.put("fileName", betaDataFile.getDetFileName()); - resultMap.put("detBg",detBgMap); - qcMap = loadData("qc", betaDataFile); - qcMap.put("fileName", betaDataFile.getQcFileName()); - resultMap.put("qc",qcMap); + resultMap.clear(); } - //分析状态颜色 - phdFileUtil.getLightColor(sampleMap,gasBgMap,detBgMap,qcMap); - //Xe - if (CollectionUtils.isNotEmpty(xeResultsSpectrumList)){ - for (GardsXeResultsSpectrum xeData:xeResultsSpectrumList) { - Double conc = xeData.getConc(); - Double mdc = xeData.getMdc(); - if (conc < 0){ - xeData.setColor("red"); - xeData.setNidFlag(0); - } else if (0 mdc) { - xeData.setColor("green"); - xeData.setNidFlag(1); - } - xeData.setMdc(Double.valueOf(NumberFormatUtil.numberSixLen(String.valueOf(xeData.getMdc())))); - xeData.setConc(Double.valueOf(NumberFormatUtil.numberSixLen(String.valueOf(xeData.getConc())))); - xeData.setConcErr(Double.valueOf(NumberFormatUtil.numberSixLen(String.valueOf(xeData.getConcErr())))); - } - } - betaDataFile.setGammaCalibrationSpectrumList(gammaCalibrationSpectrumList); - betaDataFile.setBetaCalibrationSpectrumList(betaCalibrationSpectrumList); - betaDataFile.setRoiChannelsSpectrumList(roiChannelsSpectrumList); - betaDataFile.setRoiResultsSpectrumList(roiResultsSpectrumList); - betaDataFile.setGammaCalibrationPairsList(gammaCalibrationPairsList); - betaDataFile.setBetaCalibrationPairsList(betaCalibrationPairsList); - betaDataFile.setXeResultsSpectrumList(xeResultsSpectrumList); - betaDataFile.setSaveAnalysisResult(true); - resultMap.put("XeData", phdFileUtil.viewXeData(xeResultsSpectrumList)); - resultMap.put("bProcessed", betaDataFile.isBProcessed()); - resultMap.put("savedAnalysisResult", betaDataFile.isSaveAnalysisResult()); - cache.put(betaDataFile.getSampleFileName()+"-"+userName, betaDataFile); - betaCache.setBetaCache(cache); - } else { - resultMap.clear(); } } catch (Exception e) { e.printStackTrace();