From 3cddd5d18ca4435112922efff3da88c85074d335 Mon Sep 17 00:00:00 2001 From: orgin Date: Mon, 23 Oct 2023 10:51:04 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Agamma=E8=87=AA=E5=8A=A8=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=87=8A=EF=BC=9B=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E5=87=BA=E7=8E=B0=E5=BC=82=E5=B8=B8=EF=BC=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E4=B8=AD=E5=88=86=E6=9E=90=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E8=BF=98=E6=98=AFP=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/spectrum/Sample_G_Analysis.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java index b78134d1..b6cda63c 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/spectrum/Sample_G_Analysis.java @@ -29,13 +29,12 @@ import org.jeecg.modules.base.entity.rnauto.*; import org.jeecg.modules.base.enums.MiddleDataType; import org.jeecg.modules.config.datasource.DataSourceSwitcher; import org.jeecg.modules.entity.vo.*; +import org.jeecg.modules.exception.GAnalyseException; import org.jeecg.modules.file.FileOperation; import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct; import org.jeecgframework.core.util.ApplicationContextUtil; import org.springframework.transaction.TransactionStatus; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.Field; import java.util.*; @@ -111,15 +110,17 @@ public class Sample_G_Analysis { sampleData.getInputFileName().lastIndexOf((StringConstant.SLASH)+1)); } - public void analysis(){ + public void analysis() throws GAnalyseException{ log.info("Gamma自动处理分析--Start"); try { /* 准备Gamma分析需要的数据 */ GStoreMiddleProcessData middleData = new GStoreMiddleProcessData(); Integer sampleId = sampleData.getSampleId(); + // 获取配置文件 GammaFileUtil gammaFileUtil = ApplicationContextUtil.getContext().getBean(GammaFileUtil.class); parameterProperties = ApplicationContextUtil.getContext().getBean(ParameterProperties.class); + PHDFile phdFile = new PHDFile(); phdFile.setXmlFilePath(parameterProperties.getFilePath()); // 解析PHD文件 @@ -128,16 +129,20 @@ public class Sample_G_Analysis { String pathName = File.separator + spectrumPathProperties.getSaveFilePath() + File.separator + sampleFilePath.substring(0, sampleFilePath.lastIndexOf(StringPool.SLASH)); String fileName = sampleFilePath.substring(sampleFilePath.lastIndexOf(StringPool.SLASH)+1); + + // 解析能谱文件 boolean flag = gammaFileUtil.loadFile(pathName, fileName, phdFile, new Result()); - // todo 测试阶段暂时注释掉,获取数据库 Gamma 默认参数 + + // 获取数据库 Gamma 默认参数 getSettingFromDB(phdFile); + // 文件路径 middleData.setAnalyses_save_filePath(this.sampleInputFilename); // 读取文件内容并附值 this.setPHDFile(phdFile, this.energySpectrumStruct); phdFile.getSetting().setRefTime_act(DateUtils.parseDate(phdFile.getAcq().getAcquisition_start_date()+" "+phdFile.getAcq().getAcquisition_start_time())); phdFile.getSetting().setRefTime_conc(DateUtils.parseDate(phdFile.getCollect().getCollection_start_date()+" "+phdFile.getCollect().getCollection_start_time())); - // todo 根据系统类型传入不同的核素参数 + // 根据能谱的系统类型传入不同的核素参数 Map nuclideLibs = new HashMap<>(); if (this.systemType.equals(SpectrumSystemType.P.name())) { nuclideLibs = this.getNuclideLinesP(); @@ -145,6 +150,8 @@ public class Sample_G_Analysis { if (this.systemType.equals(SpectrumSystemType.G.name())) { nuclideLibs = this.getNuclideLinesG(); } + + // 执行分析业务代码 gammaFileUtil.GetMiddleData(phdFile, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData, MiddleDataType.Auto.getType()); // 数据插入数据库 @@ -152,7 +159,8 @@ public class Sample_G_Analysis { // 生成日志文件 writeLog(middleData.getAnalyses_LogPath(), middleData); - // todo 报告文件 + + // 生成报告文件 String reportContent = gammaFileUtil.GetReportContent(middleData); String reportPath = StringUtils.substringBeforeLast(middleData.getAnalyses_ReportPath(), StringPool.SLASH); String reportName = StringUtils.substringAfterLast(middleData.getAnalyses_ReportPath(), StringPool.SLASH) + ".txt"; @@ -160,14 +168,11 @@ public class Sample_G_Analysis { spectrumPathProperties.getSaveFilePath() + File.separator + reportPath + File.separator + reportName; // 保存文件 - try { - FileOperation.saveOrAppendFile(savePath, reportContent, false); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } + FileOperation.saveOrAppendFile(savePath, reportContent, false); }catch (Exception e){ e.printStackTrace(); - + log.error(e.getMessage()); + throw new GAnalyseException("Sample Analyse Error at "+DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss")); }finally { }