fix:Sample_G_Analysis

This commit is contained in:
nieziyan 2023-09-01 18:05:01 +08:00
parent 807c8270ee
commit 73dc624d51
3 changed files with 124 additions and 104 deletions

View File

@ -1,92 +0,0 @@
package org.jeecg.modules.spectrum;
import cn.hutool.core.util.StrUtil;
import org.jeecg.common.constant.Setting;
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
import org.jeecg.modules.base.vo.PHDFile;
import org.jeecg.modules.base.vo.SpecSetup;
import org.jeecg.modules.service.GardsAnalysesService;
import org.jeecg.modules.service.IGardsGammaDefaultParamsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@Component
public class Prepare_G_Analysis {
@Autowired
private IGardsGammaDefaultParamsService gammaDefaultParamsService;
@Autowired
private GardsAnalysesService analysesService;
public PHDFile getSettingFromDB(String systemType){
Map<String, String> mapSetting = gammaDefaultParamsService.mapSetting();
PHDFile phdFile = new PHDFile();
SpecSetup setting = phdFile.getSetting();
String BaseImprovePSS = mapSetting.get(Setting.BASEIMPROVEPSS);
if (StrUtil.isNotBlank(BaseImprovePSS))
setting.setBaseImprovePSS(Double.parseDouble(BaseImprovePSS));
String CalibrationPSS_low = mapSetting.get(Setting.CALIBRATIONPSS_LOW);
if (StrUtil.isNotBlank(CalibrationPSS_low))
setting.setCalibrationPSS_low(Double.parseDouble(CalibrationPSS_low));
String CalibrationPSS_high = mapSetting.get(Setting.CALIBRATIONPSS_HIGH);
if (StrUtil.isNotBlank(CalibrationPSS_high))
setting.setCalibrationPSS_high(Double.parseDouble(CalibrationPSS_high));
String ECutAnalysis_High = mapSetting.get(Setting.ECUTANALYSIS_HIGH);
if (StrUtil.isNotBlank(ECutAnalysis_High)){
setting.setECutAnalysis_High(Double.parseDouble(ECutAnalysis_High));
}else {
setting.setECutAnalysis_High(Double.POSITIVE_INFINITY);
}
if (StrUtil.equals(systemType,"P")){
String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_P);
if (StrUtil.isNotBlank(ECutAnalysis_Low))
setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low));
String bUpdateCal_P = mapSetting.get(Setting.BUPDATECAL_P);
setting.setBUpdateCal(StrUtil.equals(bUpdateCal_P, "1"));
}else {
String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_G);
if (StrUtil.isNotBlank(ECutAnalysis_Low))
setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low));
String bUpdateCal_G = mapSetting.get(Setting.BUPDATECAL_G);
setting.setBUpdateCal(StrUtil.equals(bUpdateCal_G, "1"));
}
String EnergyTolerance = mapSetting.get(Setting.ENERGYTOLERANCE);
if (StrUtil.isNotBlank(EnergyTolerance))
setting.setEnergyTolerance(Double.parseDouble(EnergyTolerance));
String KeepCalPeakSearchPeaks = mapSetting.get(Setting.KEEPCALPEAKSERCHPEAKS);
setting.setKeepCalPeakSearchPeaks(StrUtil.equals(KeepCalPeakSearchPeaks,"1"));
String k_alpha = mapSetting.get(Setting.K_ALPHA);
if (StrUtil.isNotBlank(k_alpha))
setting.setK_alpha(Double.parseDouble(k_alpha));
String k_back = mapSetting.get(Setting.K_BACK);
if (StrUtil.isNotBlank(k_back))
setting.setK_back(Double.parseDouble(k_back));
String k_beta = mapSetting.get(Setting.K_BETA);
if (StrUtil.isNotBlank(k_beta))
setting.setK_beta(Double.parseDouble(k_beta));
String PSS_low = mapSetting.get(Setting.PSS_LOW);
if (StrUtil.isNotBlank(PSS_low))
setting.setPSS_low(Double.parseDouble(PSS_low));
String RiskLevelK = mapSetting.get(Setting.RISKLEVELK);
if (StrUtil.isNotBlank(RiskLevelK))
setting.setRiskLevelK(Double.parseDouble(RiskLevelK));
return phdFile;
}
public Map<String, List<GardsNuclLinesLib>> getNuclideLinesG(){
return null;
}
public Map<String,List<GardsNuclLinesLib>> getNuclideLinesP(){
return null;
}
public void saveAnalysis(){
}
}

View File

@ -1,36 +1,147 @@
package org.jeecg.modules.spectrum;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.jeecg.common.constant.DateConstant;
import org.jeecg.common.constant.Setting;
import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.modules.base.entity.configuration.GardsNuclLinesLib;
import org.jeecg.modules.base.entity.original.GardsSampleData;
import org.jeecg.modules.base.entity.rnauto.GardsAnalyses;
import org.jeecg.modules.base.entity.rnauto.GardsRoiChannels;
import org.jeecg.modules.base.vo.GStoreMiddleProcessData;
import org.jeecg.modules.base.vo.PHDFile;
import org.jeecg.modules.base.vo.SpecSetup;
import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
@NoArgsConstructor
public class Sample_G_Analysis {
// Gamma谱分析前的准备数据
private Prepare_G_Analysis prepareGAnalysis;
// Sample谱原始数据
private GardsSampleData sampleData;
// 分析所需Service
private SpectrumServiceQuotes serviceQuotes;
// Sample谱结构体数据
private EnergySpectrumStruct energySpectrumStruct;
public Sample_G_Analysis(EnergySpectrumStruct energySpectrumStruct) {
public Sample_G_Analysis(EnergySpectrumStruct energySpectrumStruct,SpectrumServiceQuotes serviceQuotes,
GardsSampleData sampleData) {
this.sampleData = sampleData;
this.serviceQuotes = serviceQuotes;
this.energySpectrumStruct = energySpectrumStruct;
}
public void analysis(){
init();
String systemType = energySpectrumStruct.system_type;
PHDFile phdFile = prepareGAnalysis.getSettingFromDB(systemType);
PHDFile phdFile = getSettingFromDB();
GStoreMiddleProcessData middleData = new GStoreMiddleProcessData();
// 保存Gards_Analyses
GardsAnalyses analysis = toAnalysis(middleData);
Integer sampleId = sampleData.getSampleId();
analysis.setSampleId(sampleId);
serviceQuotes.getAnalysesService().save(analysis);
}
private void init(){
prepareGAnalysis = SpringContextUtils.getBean(Prepare_G_Analysis.class);
public void getNuclideLinesG(){
}
public void getNuclideLinesP(){
}
public PHDFile getSettingFromDB(){
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))
setting.setBaseImprovePSS(Double.parseDouble(BaseImprovePSS));
String CalibrationPSS_low = mapSetting.get(Setting.CALIBRATIONPSS_LOW);
if (StrUtil.isNotBlank(CalibrationPSS_low))
setting.setCalibrationPSS_low(Double.parseDouble(CalibrationPSS_low));
String CalibrationPSS_high = mapSetting.get(Setting.CALIBRATIONPSS_HIGH);
if (StrUtil.isNotBlank(CalibrationPSS_high))
setting.setCalibrationPSS_high(Double.parseDouble(CalibrationPSS_high));
String ECutAnalysis_High = mapSetting.get(Setting.ECUTANALYSIS_HIGH);
if (StrUtil.isNotBlank(ECutAnalysis_High)){
setting.setECutAnalysis_High(Double.parseDouble(ECutAnalysis_High));
}else {
setting.setECutAnalysis_High(Double.POSITIVE_INFINITY);
}
String systemType = energySpectrumStruct.system_type;
if (StrUtil.equals(systemType,"P")){
String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_P);
if (StrUtil.isNotBlank(ECutAnalysis_Low))
setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low));
String bUpdateCal_P = mapSetting.get(Setting.BUPDATECAL_P);
setting.setBUpdateCal(StrUtil.equals(bUpdateCal_P, "1"));
}else {
String ECutAnalysis_Low = mapSetting.get(Setting.ECUTANALYSIS_LOW_G);
if (StrUtil.isNotBlank(ECutAnalysis_Low))
setting.setECutAnalysis_Low(Double.parseDouble(ECutAnalysis_Low));
String bUpdateCal_G = mapSetting.get(Setting.BUPDATECAL_G);
setting.setBUpdateCal(StrUtil.equals(bUpdateCal_G, "1"));
}
String EnergyTolerance = mapSetting.get(Setting.ENERGYTOLERANCE);
if (StrUtil.isNotBlank(EnergyTolerance))
setting.setEnergyTolerance(Double.parseDouble(EnergyTolerance));
String KeepCalPeakSearchPeaks = mapSetting.get(Setting.KEEPCALPEAKSERCHPEAKS);
setting.setKeepCalPeakSearchPeaks(StrUtil.equals(KeepCalPeakSearchPeaks,"1"));
String k_alpha = mapSetting.get(Setting.K_ALPHA);
if (StrUtil.isNotBlank(k_alpha))
setting.setK_alpha(Double.parseDouble(k_alpha));
String k_back = mapSetting.get(Setting.K_BACK);
if (StrUtil.isNotBlank(k_back))
setting.setK_back(Double.parseDouble(k_back));
String k_beta = mapSetting.get(Setting.K_BETA);
if (StrUtil.isNotBlank(k_beta))
setting.setK_beta(Double.parseDouble(k_beta));
String PSS_low = mapSetting.get(Setting.PSS_LOW);
if (StrUtil.isNotBlank(PSS_low))
setting.setPSS_low(Double.parseDouble(PSS_low));
String RiskLevelK = mapSetting.get(Setting.RISKLEVELK);
if (StrUtil.isNotBlank(RiskLevelK))
setting.setRiskLevelK(Double.parseDouble(RiskLevelK));
return phdFile;
}
private GardsAnalyses toAnalysis(GStoreMiddleProcessData middleData){
GardsAnalyses gardsAnalyses = new GardsAnalyses();
String dateTime = DateConstant.DATE_TIME;
String analysisBegin = middleData.getAnalyses_analysisBegin();
Date analysis_Begin = DateUtil.parse(analysisBegin, dateTime)
.toJdkDate();
gardsAnalyses.setAnalysisBegin(analysis_Begin);
String analysisEnd = middleData.getAnalyses_analysisEnd();
Date analysis_End = DateUtil.parse(analysisEnd, dateTime)
.toJdkDate();
gardsAnalyses.setAnalysisEnd(analysis_End);
gardsAnalyses.setType(middleData.getAnalyses_type());
gardsAnalyses.setSoftware(middleData.getAnalyses_software());
gardsAnalyses.setSwVersion(middleData.getAnalyses_swVersion());
gardsAnalyses.setAnalyst(middleData.getAnalyses_analyst());
gardsAnalyses.setComments(middleData.getAnalyses_comments());
gardsAnalyses.setSearchStartChannel((int)middleData.getAnalyses_searchStartChannel());
gardsAnalyses.setSearchEndChannel((int)middleData.getAnalyses_searchEndChannel());
gardsAnalyses.setSearchThreshold(middleData.getAnalyses_searchThreshold());
gardsAnalyses.setNumberOfPeaks((int) middleData.getAnalyses_numberOfPeaks());
gardsAnalyses.setTotalCounts((float) middleData.getAnalyses_totalCounts());
gardsAnalyses.setBaselinePath(middleData.getAnalyses_baseline_filePath());
gardsAnalyses.setLcPath(middleData.getAnalyses_lc_filePath());
gardsAnalyses.setScacPath(middleData.getAnalyses_scac_filePath());
gardsAnalyses.setLogPath(middleData.getAnalyses_LogPath());
gardsAnalyses.setReportPath(middleData.getAnalyses_ReportPath());
return gardsAnalyses;
}
}

View File

@ -48,4 +48,5 @@ public class SpectrumServiceQuotes {
private final GardsAnalysesService analysesService;
private final IGardsGammaDefaultParamsService gammaDefaultParamsService;
}