From 2d0ea1e7546c7cf30f9152e580fecbee37dadf6a Mon Sep 17 00:00:00 2001 From: orgin Date: Fri, 22 Sep 2023 17:17:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20gamma=E8=87=AA=E5=8A=A8=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/spectrum/Sample_G_Analysis.java | 83 +++++-------------- 1 file changed, 20 insertions(+), 63 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 fc94021f..340158f1 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 @@ -23,7 +23,6 @@ import org.jeecg.modules.base.entity.rnauto.*; import org.jeecg.modules.entity.vo.*; import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct; -import java.io.File; import java.lang.reflect.Field; import java.util.*; @@ -104,10 +103,11 @@ public class Sample_G_Analysis { GammaFileUtil gammaFileUtil = new GammaFileUtil(); PHDFile phdFile = new PHDFile(); - // todo 获取数据库 Gamma 默认参数 - // todo 文件路径 + // 获取数据库 Gamma 默认参数 + getSettingFromDB(phdFile); + // 文件路径 middleData.setAnalyses_save_filePath(this.sampleInputFilename); - // todo 读取文件内容并附值 + // 读取文件内容并附值 this.setPHDFile(phdFile, this.energySpectrumStruct); // todo 根据系统类型传入不同的核素参数 Map nuclideLibs = new HashMap<>(); @@ -124,22 +124,22 @@ public class Sample_G_Analysis { // 获取分析结果ID ==> SELECT IDANALYSIS Integer IdAnalysis = getIdAnalysis(sampleId); // 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA -// serviceQuotes.getSampleDataService().updateStatus(null,null); + serviceQuotes.getSampleDataService().updateStatus(null,null); /* GARDS_CALIBRATION_PAIRS 数据表保存 */ -// saveCalibrationPairs(middleData,sampleId,IdAnalysis); + saveCalibrationPairs(middleData, sampleId, IdAnalysis); /* GARDS_CALIBRATION 数据表保存 */ -// saveCalibration(middleData,sampleId,IdAnalysis); + saveCalibration(middleData, sampleId, IdAnalysis); /* Gards_Peaks 数据表保存 */ -// savePeaks(middleData); + savePeaks(middleData); /* Gards_Nucl_Lines_Ided 数据表保存 */ -// saveNuclLinesIded(middleData,sampleId,IdAnalysis); + saveNuclLinesIded(middleData, sampleId, IdAnalysis); /* Gards_Nucl_Ided 数据表保存 */ -// saveNuclIded(middleData,sampleId,IdAnalysis); + saveNuclIded(middleData, sampleId, IdAnalysis); /* Gards_Qc_Check 数据表保存 */ -// saveQcCheck(middleData,sampleId,IdAnalysis); - /* */ - /** 收尾处理 ==> 写日志文件和报告文件 **/ + saveQcCheck(middleData, sampleId, IdAnalysis, phdFile.getQcItems()); + // 生成日志文件 writeLog(middleData.getAnalyses_LogPath(), middleData); + // todo 报告文件 }catch (Exception e){ e.printStackTrace(); @@ -148,6 +148,11 @@ public class Sample_G_Analysis { } } + /** + * 生成日志文件 + * @param logFilePath + * @param middleData + */ private void writeLog(String logFilePath, GStoreMiddleProcessData middleData) { String sampleId = middleData.getSample_id(); MyLogFormatUtil myLogFormatUtil = new MyLogFormatUtil(); @@ -411,51 +416,6 @@ public class Sample_G_Analysis { FileUtil.writeLines(writes, logFilePath, "utf8"); } - private static List getAttribute(List channel, String channelUnit, List energys, String energyUnit, - List errors, String errorUnit){ - - List> data = new ArrayList<>(); - List result = new ArrayList<>(); - - // 初始化数据 - for (int i = 0; i < channel.size(); i++) { - data.add(Arrays.asList( - "Channel : " + channel.get(i) + " " + channelUnit, - "Energy : " + energys.get(i) + " " + energyUnit, - "Error : " + errors.get(i) + " " + errorUnit) - ); - } - // 计算每列数据中最长的字符串长度 - int[] columnWidths = new int[data.get(0).size()]; - for (List row : data) { - for (int i = 0; i < row.size(); i++) { - columnWidths[i] = Math.max(columnWidths[i], row.get(i).length()); - } - } - - // 构造格式化字符串 - StringBuilder formatBuilder = new StringBuilder(); - for (int i = 0; i < columnWidths.length; i++) { - formatBuilder.append("%-" + (columnWidths[i] + 4) + "s"); - } - formatBuilder.append("\n"); - String format = formatBuilder.toString(); - // 格式化输出日志 - for (List row : data) { - String log = String.format(format, row.toArray()); - result.add(log); - System.out.print(log); - } - return result; - } - - public static void main(String[] args) { - List channels = Arrays.asList("59.541", "88.034", "122.061", "165.857", "391.698", "661.657", "834.838", "898.036", "1115.540", "1173.230", "1332.490", "1836.050"); - List energies = Arrays.asList("0.168", "0.176", "0.174", "0.155", "0.092", "0.059", "0.051", "0.040", "0.040", "0.031", "0.028", "0.022"); - List errors = Arrays.asList("0.003", "0.004", "0.003", "0.003", "0.002", "0.001", "0.001", "0.001", "0.001", "0.001", "0.001", "0.000"); - getAttribute(channels,"",energies,"",errors,""); - } - public void saveAnalysis(GStoreMiddleProcessData middleData,Integer sampleId){ GardsAnalyses analysis = toAnalysis(middleData); analysis.setSampleId(sampleId); @@ -669,10 +629,8 @@ public class Sample_G_Analysis { } public void saveQcCheck(GStoreMiddleProcessData middleData, - Integer sampleId, Integer IdAnalysis){ + Integer sampleId, Integer IdAnalysis,Map qcItems){ // Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK - PHDFile phdFile = getSettingFromDB(); - Map qcItems = phdFile.getQcItems(); if (MapUtil.isNotEmpty(qcItems)){ String base_QC = String.valueOf(qcItems.size()); QcCheckDto qcCheckDto = new QcCheckDto(); @@ -772,10 +730,9 @@ public class Sample_G_Analysis { return fieldMap; } - public PHDFile getSettingFromDB(){ + public PHDFile getSettingFromDB(PHDFile phdFile){ Map mapSetting = serviceQuotes.getGammaDefaultParamsService() .mapSetting(); - PHDFile phdFile = new PHDFile(); SpecSetup setting = phdFile.getSetting(); String BaseImprovePSS = mapSetting.get(Setting.BASEIMPROVEPSS); if (StrUtil.isNotBlank(BaseImprovePSS))