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.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<String, NuclideLines> 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<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){
|
||||
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<String, QcCheckItem> qcItems){
|
||||
// Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK
|
||||
PHDFile phdFile = getSettingFromDB();
|
||||
Map<String, QcCheckItem> 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<String, String> mapSetting = serviceQuotes.getGammaDefaultParamsService()
|
||||
.mapSetting();
|
||||
PHDFile phdFile = new PHDFile();
|
||||
SpecSetup setting = phdFile.getSetting();
|
||||
String BaseImprovePSS = mapSetting.get(Setting.BASEIMPROVEPSS);
|
||||
if (StrUtil.isNotBlank(BaseImprovePSS))
|
||||
|
|
Loading…
Reference in New Issue
Block a user