fix: gamma自动处理
This commit is contained in:
parent
e08f3d4208
commit
2d0ea1e754
|
@ -23,7 +23,6 @@ import org.jeecg.modules.base.entity.rnauto.*;
|
||||||
import org.jeecg.modules.entity.vo.*;
|
import org.jeecg.modules.entity.vo.*;
|
||||||
import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct;
|
import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
@ -104,10 +103,11 @@ public class Sample_G_Analysis {
|
||||||
GammaFileUtil gammaFileUtil = new GammaFileUtil();
|
GammaFileUtil gammaFileUtil = new GammaFileUtil();
|
||||||
PHDFile phdFile = new PHDFile();
|
PHDFile phdFile = new PHDFile();
|
||||||
|
|
||||||
// todo 获取数据库 Gamma 默认参数
|
// 获取数据库 Gamma 默认参数
|
||||||
// todo 文件路径
|
getSettingFromDB(phdFile);
|
||||||
|
// 文件路径
|
||||||
middleData.setAnalyses_save_filePath(this.sampleInputFilename);
|
middleData.setAnalyses_save_filePath(this.sampleInputFilename);
|
||||||
// todo 读取文件内容并附值
|
// 读取文件内容并附值
|
||||||
this.setPHDFile(phdFile, this.energySpectrumStruct);
|
this.setPHDFile(phdFile, this.energySpectrumStruct);
|
||||||
// todo 根据系统类型传入不同的核素参数
|
// todo 根据系统类型传入不同的核素参数
|
||||||
Map<String, NuclideLines> nuclideLibs = new HashMap<>();
|
Map<String, NuclideLines> nuclideLibs = new HashMap<>();
|
||||||
|
@ -124,22 +124,22 @@ public class Sample_G_Analysis {
|
||||||
// 获取分析结果ID ==> SELECT IDANALYSIS
|
// 获取分析结果ID ==> SELECT IDANALYSIS
|
||||||
Integer IdAnalysis = getIdAnalysis(sampleId);
|
Integer IdAnalysis = getIdAnalysis(sampleId);
|
||||||
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
||||||
// serviceQuotes.getSampleDataService().updateStatus(null,null);
|
serviceQuotes.getSampleDataService().updateStatus(null,null);
|
||||||
/* GARDS_CALIBRATION_PAIRS 数据表保存 */
|
/* GARDS_CALIBRATION_PAIRS 数据表保存 */
|
||||||
// saveCalibrationPairs(middleData,sampleId,IdAnalysis);
|
saveCalibrationPairs(middleData, sampleId, IdAnalysis);
|
||||||
/* GARDS_CALIBRATION 数据表保存 */
|
/* GARDS_CALIBRATION 数据表保存 */
|
||||||
// saveCalibration(middleData,sampleId,IdAnalysis);
|
saveCalibration(middleData, sampleId, IdAnalysis);
|
||||||
/* Gards_Peaks 数据表保存 */
|
/* Gards_Peaks 数据表保存 */
|
||||||
// savePeaks(middleData);
|
savePeaks(middleData);
|
||||||
/* Gards_Nucl_Lines_Ided 数据表保存 */
|
/* Gards_Nucl_Lines_Ided 数据表保存 */
|
||||||
// saveNuclLinesIded(middleData,sampleId,IdAnalysis);
|
saveNuclLinesIded(middleData, sampleId, IdAnalysis);
|
||||||
/* Gards_Nucl_Ided 数据表保存 */
|
/* Gards_Nucl_Ided 数据表保存 */
|
||||||
// saveNuclIded(middleData,sampleId,IdAnalysis);
|
saveNuclIded(middleData, sampleId, IdAnalysis);
|
||||||
/* Gards_Qc_Check 数据表保存 */
|
/* Gards_Qc_Check 数据表保存 */
|
||||||
// saveQcCheck(middleData,sampleId,IdAnalysis);
|
saveQcCheck(middleData, sampleId, IdAnalysis, phdFile.getQcItems());
|
||||||
/* */
|
// 生成日志文件
|
||||||
/** 收尾处理 ==> 写日志文件和报告文件 **/
|
|
||||||
writeLog(middleData.getAnalyses_LogPath(), middleData);
|
writeLog(middleData.getAnalyses_LogPath(), middleData);
|
||||||
|
// todo 报告文件
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
||||||
|
@ -148,6 +148,11 @@ public class Sample_G_Analysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成日志文件
|
||||||
|
* @param logFilePath
|
||||||
|
* @param middleData
|
||||||
|
*/
|
||||||
private void writeLog(String logFilePath, GStoreMiddleProcessData middleData) {
|
private void writeLog(String logFilePath, GStoreMiddleProcessData middleData) {
|
||||||
String sampleId = middleData.getSample_id();
|
String sampleId = middleData.getSample_id();
|
||||||
MyLogFormatUtil myLogFormatUtil = new MyLogFormatUtil();
|
MyLogFormatUtil myLogFormatUtil = new MyLogFormatUtil();
|
||||||
|
@ -411,51 +416,6 @@ public class Sample_G_Analysis {
|
||||||
FileUtil.writeLines(writes, logFilePath, "utf8");
|
FileUtil.writeLines(writes, logFilePath, "utf8");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<String> getAttribute(List<String> channel, String channelUnit, List<String> energys, String energyUnit,
|
|
||||||
List<String> errors, String errorUnit){
|
|
||||||
|
|
||||||
List<List<String>> data = new ArrayList<>();
|
|
||||||
List<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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){
|
public void saveAnalysis(GStoreMiddleProcessData middleData,Integer sampleId){
|
||||||
GardsAnalyses analysis = toAnalysis(middleData);
|
GardsAnalyses analysis = toAnalysis(middleData);
|
||||||
analysis.setSampleId(sampleId);
|
analysis.setSampleId(sampleId);
|
||||||
|
@ -669,10 +629,8 @@ public class Sample_G_Analysis {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveQcCheck(GStoreMiddleProcessData middleData,
|
public void saveQcCheck(GStoreMiddleProcessData middleData,
|
||||||
Integer sampleId, Integer IdAnalysis){
|
Integer sampleId, Integer IdAnalysis,Map<String, QcCheckItem> qcItems){
|
||||||
// Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK
|
// Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK
|
||||||
PHDFile phdFile = getSettingFromDB();
|
|
||||||
Map<String, QcCheckItem> qcItems = phdFile.getQcItems();
|
|
||||||
if (MapUtil.isNotEmpty(qcItems)){
|
if (MapUtil.isNotEmpty(qcItems)){
|
||||||
String base_QC = String.valueOf(qcItems.size());
|
String base_QC = String.valueOf(qcItems.size());
|
||||||
QcCheckDto qcCheckDto = new QcCheckDto();
|
QcCheckDto qcCheckDto = new QcCheckDto();
|
||||||
|
@ -772,10 +730,9 @@ public class Sample_G_Analysis {
|
||||||
return fieldMap;
|
return fieldMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PHDFile getSettingFromDB(){
|
public PHDFile getSettingFromDB(PHDFile phdFile){
|
||||||
Map<String, String> mapSetting = serviceQuotes.getGammaDefaultParamsService()
|
Map<String, String> mapSetting = serviceQuotes.getGammaDefaultParamsService()
|
||||||
.mapSetting();
|
.mapSetting();
|
||||||
PHDFile phdFile = new PHDFile();
|
|
||||||
SpecSetup setting = phdFile.getSetting();
|
SpecSetup setting = phdFile.getSetting();
|
||||||
String BaseImprovePSS = mapSetting.get(Setting.BASEIMPROVEPSS);
|
String BaseImprovePSS = mapSetting.get(Setting.BASEIMPROVEPSS);
|
||||||
if (StrUtil.isNotBlank(BaseImprovePSS))
|
if (StrUtil.isNotBlank(BaseImprovePSS))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user