feat:Sample_G_Analysis
This commit is contained in:
parent
fb4b563aee
commit
a210b75205
|
@ -0,0 +1,39 @@
|
|||
package org.jeecg.modules.base.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class GardsPeaksDto {
|
||||
|
||||
private List<String> peaks_idPeak; //峰序号
|
||||
private List<String> peaks_peakCentroid; //峰中心道(道址)
|
||||
private List<String> peaks_uncpeakCentroid; //峰中心道不确定度(道址)
|
||||
private List<String> peaks_Energy; //峰中心道能量(keV)
|
||||
private List<String> peaks_uncEnergy; //峰中心道能量不确定度(keV)
|
||||
private List<String> peaks_Area; //峰面积(计数)。已扣除基线面积,但未扣除空白样品计数和探测器本底计数
|
||||
private List<String> peaks_areaErr; //峰面积不确定度(以计数为单位)
|
||||
private List<String> peaks_netCountRate; //峰的净计数率(1/s)=峰面积/活时间 未知
|
||||
private List<String> peaks_uncNetCountRate; //峰的净计数率的不确定度(1/s) 未知
|
||||
private List<String> peaks_Efficiency; //测量系统在峰能量处的绝对效率
|
||||
private List<String> peaks_Uncefficiency; //测量系统在峰能量处的绝对效率的不确定度
|
||||
private List<String> peaks_Fwhm; //峰的半高宽(keV)
|
||||
private List<String> peaks_Fwhmc; //峰的半高宽(Channel)
|
||||
private List<String> peaks_Significance; //峰的灵敏度
|
||||
private List<String> peaks_Sensitivity; //重峰序号
|
||||
private List<String> peaks_multiIndex; //峰的感兴趣区的起始道left
|
||||
private List<String> peaks_ROIstart; //峰的感兴趣区的结束道right
|
||||
private List<String> peaks_ROIend; //峰序号
|
||||
private List<String> peaks_tail; //
|
||||
private List<String> peaks_tailAlpha; //
|
||||
private List<String> peaks_upperTail; //
|
||||
private List<String> peaks_upperTailAlpha; //
|
||||
private List<String> peaks_BWWidthChan; //
|
||||
private List<String> peaks_recoilDeltaChan; //
|
||||
private List<String> peaks_stepRatio; //
|
||||
private List<String> peaks_backgroundArea; //在峰区域下的基线面积(计数)
|
||||
private List<String> peaks_meanBackCount; //基线面积/道数(计数)
|
||||
private List<String> peaks_Lc; //峰的可探测线Lc
|
||||
private List<String> peaks_Ld; //峰的可探测线Ld
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.jeecg.modules.base.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PairsEDto {
|
||||
|
||||
private List<String> calibration_pairs_E_idCalPoint;
|
||||
private List<String> calibration_pairs_E_xValue;
|
||||
private List<String> calibration_pairs_E_yValue;
|
||||
private List<String> calibration_pairs_E_uncYValue;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.jeecg.modules.base.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PairsEFDto {
|
||||
|
||||
private List<String> calibration_pairs_EF_idCalPoint;
|
||||
private List<String> calibration_pairs_EF_xValue;
|
||||
private List<String> calibration_pairs_EF_yValue;
|
||||
private List<String> calibration_pairs_EF_uncYValue;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.jeecg.modules.base.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PairsRDto {
|
||||
|
||||
private List<String> calibration_pairs_R_idCalPoint;
|
||||
private List<String> calibration_pairs_R_xValue;
|
||||
private List<String> calibration_pairs_R_yValue;
|
||||
private List<String> calibration_pairs_R_uncYValue;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.jeecg.modules.base.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PairsTDto {
|
||||
|
||||
private List<String> calibration_pairs_T_idCalPoint;
|
||||
private List<String> calibration_pairs_T_xValue;
|
||||
private List<String> calibration_pairs_T_yValue;
|
||||
private List<String> calibration_pairs_T_uncYValue;
|
||||
}
|
|
@ -9,8 +9,7 @@ import cn.hutool.core.util.StrUtil;
|
|||
import lombok.Data;
|
||||
import org.jeecg.common.constant.DateConstant;
|
||||
import org.jeecg.common.constant.Setting;
|
||||
import org.jeecg.modules.base.dto.GardsNuclIdedDto;
|
||||
import org.jeecg.modules.base.dto.QcCheckDto;
|
||||
import org.jeecg.modules.base.dto.*;
|
||||
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
||||
import org.jeecg.modules.base.entity.rnauto.*;
|
||||
import org.jeecg.modules.entity.vo.*;
|
||||
|
@ -21,6 +20,8 @@ import java.util.*;
|
|||
@Data
|
||||
public class Sample_G_Analysis {
|
||||
|
||||
private final Map<String,String> fieldMap = fieldMap();
|
||||
|
||||
// Sample谱原始数据
|
||||
private GardsSampleData sampleData;
|
||||
|
||||
|
@ -38,111 +39,143 @@ public class Sample_G_Analysis {
|
|||
}
|
||||
|
||||
public void analysis(){
|
||||
/* 准备Gamma分析需要的数据 */
|
||||
PHDFile phdFile = getSettingFromDB();
|
||||
try {
|
||||
/* 准备Gamma分析需要的数据 */
|
||||
GStoreMiddleProcessData middleData = new GStoreMiddleProcessData();
|
||||
Integer sampleId = sampleData.getSampleId();
|
||||
|
||||
Map<String,String> fieldMap = fieldMap();
|
||||
// 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES
|
||||
saveAnalysis(middleData,sampleId);
|
||||
// 获取分析结果ID ==> SELECT IDANALYSIS
|
||||
Integer IdAnalysis = getIdAnalysis(sampleId);
|
||||
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
||||
serviceQuotes.getSampleDataService().updateStatus(null,null);
|
||||
/* GARDS_CALIBRATION_PAIRS 数据表保存 */
|
||||
saveCalibrationPairs(middleData,sampleId,IdAnalysis);
|
||||
/* GARDS_CALIBRATION 数据表保存 */
|
||||
saveCalibration(middleData,sampleId,IdAnalysis);
|
||||
/* Gards_Peaks 数据表保存 */
|
||||
savePeaks(middleData);
|
||||
/* Gards_Nucl_Lines_Ided 数据表保存 */
|
||||
saveNuclLinesIded(middleData,sampleId,IdAnalysis);
|
||||
/* Gards_Nucl_Ided 数据表保存 */
|
||||
saveNuclIded(middleData,sampleId,IdAnalysis);
|
||||
/* Gards_Qc_Check 数据表保存 */
|
||||
saveQcCheck(middleData,sampleId,IdAnalysis);
|
||||
// 收尾处理 ==> 写日志文件和报告文件
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
|
||||
/** 从MiddleData获取需要的数据 **/
|
||||
GStoreMiddleProcessData middleData = new GStoreMiddleProcessData();
|
||||
String pairsSampleType = middleData.getCalibration_pairs_sample_type();
|
||||
String calibrationSampleType = middleData.getCalibration_sample_type();
|
||||
// Energy
|
||||
String pairsECaltype = middleData.getCalibration_pairs_E_Caltype();
|
||||
String pairsEInput = middleData.getCalibration_pairs_E_Input();
|
||||
List<String> pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint();
|
||||
List<String> pairsEXValue = middleData.getCalibration_pairs_E_xValue();
|
||||
List<String> pairsEYValue = middleData.getCalibration_pairs_E_yValue();
|
||||
List<String> pairsEUncYValue = middleData.getCalibration_pairs_E_uncYValue();
|
||||
// Efficiency
|
||||
String pairsEfCaltype = middleData.getCalibration_pairs_EF_Caltype();
|
||||
String pairsEfInput = middleData.getCalibration_pairs_EF_Input();
|
||||
List<String> pairsEfIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint();
|
||||
List<String> pairsEfXValue = middleData.getCalibration_pairs_EF_xValue();
|
||||
List<String> pairsEfYValue = middleData.getCalibration_pairs_EF_yValue();
|
||||
List<String> pairsEfUncYValue = middleData.getCalibration_pairs_EF_uncYValue();
|
||||
// Resolution
|
||||
String pairsRCaltype = middleData.getCalibration_pairs_R_Caltype();
|
||||
String pairsRInput = middleData.getCalibration_pairs_R_Input();
|
||||
List<String> pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint();
|
||||
List<String> pairsRXValue = middleData.getCalibration_pairs_R_xValue();
|
||||
List<String> pairsRYValue = middleData.getCalibration_pairs_R_yValue();
|
||||
List<String> pairsRUncYValue = middleData.getCalibration_pairs_R_uncYValue();
|
||||
// TotalEfficiency
|
||||
String pairsTCaltype = middleData.getCalibration_pairs_T_Caltype();
|
||||
String pairsTInput = middleData.getCalibration_pairs_T_Input();
|
||||
List<String> pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint();
|
||||
List<String> pairsTXValue = middleData.getCalibration_pairs_T_xValue();
|
||||
List<String> pairsTYValue = middleData.getCalibration_pairs_T_yValue();
|
||||
List<String> pairsTUncYValue = middleData.getCalibration_pairs_T_uncYValue();
|
||||
}finally {
|
||||
|
||||
// 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES
|
||||
}
|
||||
}
|
||||
|
||||
public void saveAnalysis(GStoreMiddleProcessData middleData,Integer sampleId){
|
||||
GardsAnalyses analysis = toAnalysis(middleData);
|
||||
Integer sampleId = sampleData.getSampleId();
|
||||
analysis.setSampleId(sampleId);
|
||||
serviceQuotes.getAnalysesService().save(analysis);
|
||||
// 获取分析结果ID ==> SELECT IDANALYSIS
|
||||
Integer IdAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(sampleId);
|
||||
// ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
||||
serviceQuotes.getSampleDataService().updateStatus(null,null);
|
||||
// Energy ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs();
|
||||
calibrationPairs.setSampleId(sampleId);
|
||||
calibrationPairs.setIdAnalysis(IdAnalysis);
|
||||
calibrationPairs.setSampleType(pairsSampleType);
|
||||
calibrationPairs.setCaltype(pairsECaltype);
|
||||
calibrationPairs.setInput(pairsEInput);
|
||||
calibrationPairs.setIdCalPoint(null);
|
||||
calibrationPairs.setXValue(null);
|
||||
calibrationPairs.setYValue(null);
|
||||
calibrationPairs.setUncYValue(null);
|
||||
serviceQuotes.getGardsCalibrationPairsService().save(calibrationPairs);
|
||||
// Efficiency ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
calibrationPairs.setCaltype(pairsEfCaltype);
|
||||
calibrationPairs.setInput(pairsEfInput);
|
||||
calibrationPairs.setIdCalPoint(null);
|
||||
calibrationPairs.setXValue(null);
|
||||
calibrationPairs.setYValue(null);
|
||||
calibrationPairs.setUncYValue(null);
|
||||
serviceQuotes.getGardsCalibrationPairsService().save(calibrationPairs);
|
||||
// Resolution ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
calibrationPairs.setCaltype(pairsRCaltype);
|
||||
calibrationPairs.setInput(pairsRInput);
|
||||
calibrationPairs.setIdCalPoint(null);
|
||||
calibrationPairs.setXValue(null);
|
||||
calibrationPairs.setYValue(null);
|
||||
calibrationPairs.setUncYValue(null);
|
||||
serviceQuotes.getGardsCalibrationPairsService().save(calibrationPairs);
|
||||
// TotalEfficiency ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
calibrationPairs.setCaltype(pairsTCaltype);
|
||||
calibrationPairs.setInput(pairsTInput);
|
||||
calibrationPairs.setIdCalPoint(null);
|
||||
calibrationPairs.setXValue(null);
|
||||
calibrationPairs.setYValue(null);
|
||||
calibrationPairs.setUncYValue(null);
|
||||
serviceQuotes.getGardsCalibrationPairsService().save(calibrationPairs);
|
||||
// E ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
GardsCalibration calibration = new GardsCalibration();
|
||||
calibration.setSampleId(sampleId);
|
||||
calibration.setIdAnalysis(IdAnalysis);
|
||||
calibration.setSampleType(calibrationSampleType);
|
||||
if (CollUtil.isNotEmpty(pairsEIdCalPoint)){
|
||||
String eCaltype = middleData.getCalibration_E_Caltype();
|
||||
double eFunction = middleData.getCalibration_E_function();
|
||||
String eFunctionDef = middleData.getCalibration_E_functionDef();
|
||||
double eStartOfRange = middleData.getCalibration_E_startOfRange();
|
||||
double eEndOfRange = middleData.getCalibration_E_endOfRange();
|
||||
String eCoeffString = middleData.getCalibration_E_coeff_string();
|
||||
calibration.setCalType(eCaltype);
|
||||
calibration.setFunction((int)eFunction);
|
||||
calibration.setFunctionDef(eFunctionDef);
|
||||
calibration.setStartOfRange((int)eStartOfRange);
|
||||
calibration.setEndOfRange((int)eEndOfRange);
|
||||
calibration.setCoeffString(eCoeffString);
|
||||
serviceQuotes.getGardsCalibrationService().save(calibration);
|
||||
}
|
||||
|
||||
public Integer getIdAnalysis(Integer sampleId){
|
||||
return serviceQuotes.getAnalysesService().getIdAnalysis(sampleId);
|
||||
}
|
||||
|
||||
public void saveCalibrationPairs(GStoreMiddleProcessData middleData,
|
||||
Integer sampleId, Integer IdAnalysis){
|
||||
String pairsSampleType = middleData.getCalibration_pairs_sample_type();
|
||||
GardsCalibrationPairs pairs = new GardsCalibrationPairs();
|
||||
// GARDS_CALIBRATION_PAIRS (Energy) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
String base_E_Paris = "calibration_pairs_E_idCalPoint";
|
||||
PairsEDto pairsEDto = new PairsEDto();
|
||||
BeanUtil.copyProperties(middleData,pairsEDto);
|
||||
List<GardsCalibrationPairs> pairsE = mapFields(pairsEDto, pairs, base_E_Paris, fieldMap);
|
||||
String pairsECaltype = middleData.getCalibration_pairs_E_Caltype();
|
||||
String pairsEInput = middleData.getCalibration_pairs_E_Input();
|
||||
for (GardsCalibrationPairs onePairs : pairsE) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsECaltype);
|
||||
onePairs.setInput(pairsEInput);
|
||||
}
|
||||
// EF ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
if (CollUtil.isNotEmpty(pairsEfIdCalPoint)){
|
||||
// GARDS_CALIBRATION_PAIRS (Efficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
String base_EF_Paris = "calibration_pairs_EF_idCalPoint";
|
||||
PairsEFDto pairsEFDto = new PairsEFDto();
|
||||
BeanUtil.copyProperties(middleData,pairsEFDto);
|
||||
List<GardsCalibrationPairs> pairsEF = mapFields(pairsEFDto, pairs, base_EF_Paris, fieldMap);
|
||||
String pairsEFCaltype = middleData.getCalibration_pairs_EF_Caltype();
|
||||
String pairsEFInput = middleData.getCalibration_pairs_EF_Input();
|
||||
for (GardsCalibrationPairs onePairs : pairsEF) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsEFCaltype);
|
||||
onePairs.setInput(pairsEFInput);
|
||||
}
|
||||
// GARDS_CALIBRATION_PAIRS (Resolution) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
String base_R_Paris = "calibration_pairs_R_idCalPoint";
|
||||
PairsRDto pairsRDto = new PairsRDto();
|
||||
BeanUtil.copyProperties(middleData,pairsRDto);
|
||||
List<GardsCalibrationPairs> pairsR = mapFields(pairsRDto, pairs, base_R_Paris, fieldMap);
|
||||
String pairsRCaltype = middleData.getCalibration_pairs_R_Caltype();
|
||||
String pairsRInput = middleData.getCalibration_pairs_R_Input();
|
||||
for (GardsCalibrationPairs onePairs : pairsR) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsRCaltype);
|
||||
onePairs.setInput(pairsRInput);
|
||||
}
|
||||
// GARDS_CALIBRATION_PAIRS (TotalEfficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||
String base_T_Paris = "calibration_pairs_T_idCalPoint";
|
||||
PairsTDto pairsTDto = new PairsTDto();
|
||||
BeanUtil.copyProperties(middleData,pairsTDto);
|
||||
List<GardsCalibrationPairs> pairsT = mapFields(pairsTDto, pairs, base_T_Paris, fieldMap);
|
||||
String pairsTCaltype = middleData.getCalibration_pairs_T_Caltype();
|
||||
String pairsTInput = middleData.getCalibration_pairs_T_Input();
|
||||
for (GardsCalibrationPairs onePairs : pairsT) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsTCaltype);
|
||||
onePairs.setInput(pairsTInput);
|
||||
}
|
||||
// GARDS_CALIBRATION_PAIRS 汇总保存
|
||||
List<GardsCalibrationPairs> allPairs = new ArrayList<>();
|
||||
allPairs.addAll(pairsE);allPairs.addAll(pairsEF);
|
||||
allPairs.addAll(pairsR);allPairs.addAll(pairsT);
|
||||
serviceQuotes.getGardsCalibrationPairsService().saveBatch(allPairs);
|
||||
}
|
||||
|
||||
public void saveCalibration(GStoreMiddleProcessData middleData,
|
||||
Integer sampleId, Integer IdAnalysis){
|
||||
String calibrationSampleType = middleData.getCalibration_sample_type();
|
||||
List<String> pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint();
|
||||
List<String> pairsEFIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint();
|
||||
List<String> pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint();
|
||||
List<String> pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint();
|
||||
List<GardsCalibration> calibrations = new ArrayList<>();
|
||||
// GARDS_CALIBRATION (E) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
if (CollUtil.isNotEmpty(pairsEIdCalPoint)){
|
||||
GardsCalibration calibration = new GardsCalibration();
|
||||
calibration.setSampleId(sampleId);
|
||||
calibration.setIdAnalysis(IdAnalysis);
|
||||
calibration.setSampleType(calibrationSampleType);
|
||||
calibration.setCalType(middleData.getCalibration_E_Caltype());
|
||||
calibration.setFunction((int)middleData.getCalibration_E_function());
|
||||
calibration.setFunctionDef(middleData.getCalibration_E_functionDef());
|
||||
calibration.setStartOfRange((int)middleData.getCalibration_E_startOfRange());
|
||||
calibration.setEndOfRange((int)middleData.getCalibration_E_endOfRange());
|
||||
calibration.setCoeffString(middleData.getCalibration_E_coeff_string());
|
||||
calibrations.add(calibration);
|
||||
}
|
||||
// GARDS_CALIBRATION (EF) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
if (CollUtil.isNotEmpty(pairsEFIdCalPoint)){
|
||||
GardsCalibration calibration = new GardsCalibration();
|
||||
calibration.setSampleId(sampleId);
|
||||
calibration.setIdAnalysis(IdAnalysis);
|
||||
calibration.setSampleType(calibrationSampleType);
|
||||
String efCaltype = middleData.getCalibration_EF_Caltype();
|
||||
double efFunction = middleData.getCalibration_EF_function();
|
||||
String efFunctionDef = middleData.getCalibration_EF_functionDef();
|
||||
|
@ -155,10 +188,14 @@ public class Sample_G_Analysis {
|
|||
calibration.setStartOfRange((int)efStartOfRange);
|
||||
calibration.setEndOfRange((int)efEndOfRange);
|
||||
calibration.setCoeffString(efCoeffString);
|
||||
serviceQuotes.getGardsCalibrationService().save(calibration);
|
||||
calibrations.add(calibration);
|
||||
}
|
||||
// R ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
// GARDS_CALIBRATION (R) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
if (CollUtil.isNotEmpty(pairsRIdCalPoint)){
|
||||
GardsCalibration calibration = new GardsCalibration();
|
||||
calibration.setSampleId(sampleId);
|
||||
calibration.setIdAnalysis(IdAnalysis);
|
||||
calibration.setSampleType(calibrationSampleType);
|
||||
String rCaltype = middleData.getCalibration_R_Caltype();
|
||||
double rFunction = middleData.getCalibration_R_function();
|
||||
String rFunctionDef = middleData.getCalibration_R_functionDef();
|
||||
|
@ -171,10 +208,14 @@ public class Sample_G_Analysis {
|
|||
calibration.setStartOfRange((int)rStartOfRange);
|
||||
calibration.setEndOfRange((int)rEndOfRange);
|
||||
calibration.setCoeffString(rCoeffString);
|
||||
serviceQuotes.getGardsCalibrationService().save(calibration);
|
||||
calibrations.add(calibration);
|
||||
}
|
||||
// T ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
// GARDS_CALIBRATION (T) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||
if (CollUtil.isNotEmpty(pairsTIdCalPoint)){
|
||||
GardsCalibration calibration = new GardsCalibration();
|
||||
calibration.setSampleId(sampleId);
|
||||
calibration.setIdAnalysis(IdAnalysis);
|
||||
calibration.setSampleType(calibrationSampleType);
|
||||
String tCaltype = middleData.getCalibration_T_Caltype();
|
||||
double tFunction = middleData.getCalibration_T_function();
|
||||
String tFunctionDef = middleData.getCalibration_T_functionDef();
|
||||
|
@ -182,121 +223,38 @@ public class Sample_G_Analysis {
|
|||
double tEndOfRange = middleData.getCalibration_T_endOfRange();
|
||||
String tCoeffString = middleData.getCalibration_T_coeff_string();
|
||||
calibration.setCalType(tCaltype);
|
||||
calibration.setFunction((int)tFunction);
|
||||
calibration.setFunction((int)middleData.getCalibration_T_function());
|
||||
calibration.setFunctionDef(tFunctionDef);
|
||||
calibration.setStartOfRange((int)tStartOfRange);
|
||||
calibration.setEndOfRange((int)tEndOfRange);
|
||||
calibration.setCoeffString(tCoeffString);
|
||||
serviceQuotes.getGardsCalibrationService().save(calibration);
|
||||
calibrations.add(calibration);
|
||||
}
|
||||
serviceQuotes.getGardsCalibrationService().saveBatch(calibrations);
|
||||
}
|
||||
|
||||
public void savePeaks(GStoreMiddleProcessData middleData){
|
||||
// Gards_Peaks数据表 ==> INSERT INTO RNAUTO.GARDS_PEAKS
|
||||
List<String> idPeak = middleData.getPeaks_idPeak();
|
||||
if (CollUtil.isNotEmpty(idPeak)){
|
||||
List<String> peakCentroid = middleData.getPeaks_peakCentroid();
|
||||
List<String> uncpeakCentroid = middleData.getPeaks_uncpeakCentroid();
|
||||
List<String> energy = middleData.getPeaks_Energy();
|
||||
List<String> uncEnergy = middleData.getPeaks_uncEnergy();
|
||||
List<String> area = middleData.getPeaks_Area();
|
||||
List<String> areaErr = middleData.getPeaks_areaErr();
|
||||
List<String> efficiency = middleData.getPeaks_Efficiency();
|
||||
List<String> uncefficiency = middleData.getPeaks_Uncefficiency();
|
||||
List<String> fwhm = middleData.getPeaks_Fwhm();
|
||||
List<String> fwhmc = middleData.getPeaks_Fwhmc();
|
||||
List<String> significance = middleData.getPeaks_Significance();
|
||||
List<String> sensitivity = middleData.getPeaks_Sensitivity();
|
||||
List<String> multiIndex = middleData.getPeaks_multiIndex();
|
||||
List<String> roIstart = middleData.getPeaks_ROIstart();
|
||||
List<String> roIend = middleData.getPeaks_ROIend();
|
||||
List<String> tail = middleData.getPeaks_tail();
|
||||
List<String> tailAlpha = middleData.getPeaks_tailAlpha();
|
||||
List<String> upperTail = middleData.getPeaks_upperTail();
|
||||
List<String> upperTailAlpha = middleData.getPeaks_upperTailAlpha();
|
||||
List<String> bwWidthChan = middleData.getPeaks_BWWidthChan();
|
||||
List<String> recoilDeltaChan = middleData.getPeaks_recoilDeltaChan();
|
||||
List<String> stepRatio = middleData.getPeaks_stepRatio();
|
||||
List<String> backgroundArea = middleData.getPeaks_backgroundArea();
|
||||
List<String> meanBackCount = middleData.getPeaks_meanBackCount();
|
||||
List<String> lc = middleData.getPeaks_Lc();
|
||||
List<String> ld = middleData.getPeaks_Ld();
|
||||
List<String> netCountRate = middleData.getPeaks_netCountRate();
|
||||
List<String> uncNetCountRate = middleData.getPeaks_uncNetCountRate();
|
||||
List<GardsPeaks> peaks = new ArrayList<>();
|
||||
for (int i = 0; i < idPeak.size(); i++) {
|
||||
GardsPeaks peak = new GardsPeaks();
|
||||
peak.setSampleId(sampleId);
|
||||
peak.setIdAnalysis(IdAnalysis);
|
||||
if (StrUtil.isNotBlank(idPeak.get(i)))
|
||||
peak.setIdPeak(Integer.valueOf(idPeak.get(i)));
|
||||
if (StrUtil.isNotBlank(peakCentroid.get(i)))
|
||||
peak.setCentroidChannel(Double.valueOf(peakCentroid.get(i)));
|
||||
if (StrUtil.isNotBlank(uncpeakCentroid.get(i)))
|
||||
peak.setUncCentroidChannel(Double.valueOf(uncpeakCentroid.get(i)));
|
||||
if (StrUtil.isNotBlank(energy.get(i)))
|
||||
peak.setEnergy(Double.valueOf(energy.get(i)));
|
||||
if (StrUtil.isNotBlank(uncEnergy.get(i)))
|
||||
peak.setUncEnergy(Double.valueOf(uncEnergy.get(i)));
|
||||
if (StrUtil.isNotBlank(area.get(i)))
|
||||
peak.setArea(Double.valueOf(area.get(i)));
|
||||
if (StrUtil.isNotBlank(areaErr.get(i)))
|
||||
peak.setUncArea(Double.valueOf(areaErr.get(i)));
|
||||
if (StrUtil.isNotBlank(efficiency.get(i)))
|
||||
peak.setEfficiency(Double.valueOf(efficiency.get(i)));
|
||||
if (StrUtil.isNotBlank(uncefficiency.get(i)))
|
||||
peak.setUncefficiency(Double.valueOf(uncefficiency.get(i)));
|
||||
if (StrUtil.isNotBlank(fwhm.get(i)))
|
||||
peak.setFwhm(Double.valueOf(fwhm.get(i)));
|
||||
if (StrUtil.isNotBlank(fwhmc.get(i)))
|
||||
peak.setFwtm(Double.valueOf(fwhmc.get(i)));
|
||||
if (StrUtil.isNotBlank(significance.get(i)))
|
||||
peak.setSignificance(Double.valueOf(significance.get(i)));
|
||||
if (StrUtil.isNotBlank(sensitivity.get(i)))
|
||||
peak.setSensitivity(Double.valueOf(sensitivity.get(i)));
|
||||
if (StrUtil.isNotBlank(multiIndex.get(i)))
|
||||
peak.setMulitiIndex(Double.valueOf(multiIndex.get(i)));
|
||||
if (StrUtil.isNotBlank(roIstart.get(i)))
|
||||
peak.setRoiStart(Double.valueOf(roIstart.get(i)));
|
||||
if (StrUtil.isNotBlank(roIend.get(i)))
|
||||
peak.setRoiEnd(Double.valueOf(roIend.get(i)));
|
||||
if (StrUtil.isNotBlank(tail.get(i)))
|
||||
peak.setTail(Double.valueOf(tail.get(i)));
|
||||
if (StrUtil.isNotBlank(tailAlpha.get(i)))
|
||||
peak.setTailAlpha(Double.valueOf(tailAlpha.get(i)));
|
||||
if (StrUtil.isNotBlank(upperTail.get(i)))
|
||||
peak.setUpperTail(Double.valueOf(upperTail.get(i)));
|
||||
if (StrUtil.isNotBlank(upperTailAlpha.get(i)))
|
||||
peak.setUpperTailAlpha(Double.valueOf(upperTailAlpha.get(i)));
|
||||
if (StrUtil.isNotBlank(bwWidthChan.get(i)))
|
||||
peak.setBwwidthchan(Double.valueOf(bwWidthChan.get(i)));
|
||||
if (StrUtil.isNotBlank(recoilDeltaChan.get(i)))
|
||||
peak.setRecoildeltachan(Double.valueOf(recoilDeltaChan.get(i)));
|
||||
if (StrUtil.isNotBlank(stepRatio.get(i)))
|
||||
peak.setStepraio(Double.valueOf(stepRatio.get(i)));
|
||||
if (StrUtil.isNotBlank(backgroundArea.get(i)))
|
||||
peak.setBackgroundarea(Double.valueOf(backgroundArea.get(i)));
|
||||
if (StrUtil.isNotBlank(meanBackCount.get(i)))
|
||||
peak.setMeanbackcount(Double.valueOf(meanBackCount.get(i)));
|
||||
if (StrUtil.isNotBlank(lc.get(i)))
|
||||
peak.setLc(Double.valueOf(lc.get(i)));
|
||||
if (StrUtil.isNotBlank(ld.get(i)))
|
||||
peak.setLd(Double.valueOf(ld.get(i)));
|
||||
if (StrUtil.isNotBlank(netCountRate.get(i)))
|
||||
peak.setNetCountRate(Double.valueOf(netCountRate.get(i)));
|
||||
if (StrUtil.isNotBlank(uncNetCountRate.get(i)))
|
||||
peak.setUncNetCountRate(Double.valueOf(uncNetCountRate.get(i)));
|
||||
peaks.add(peak);
|
||||
}
|
||||
serviceQuotes.getGardsPeaksAutoService().saveBatch(peaks);
|
||||
}
|
||||
String base_P_IdPeak = "peaks_idPeak";
|
||||
GardsPeaksDto gardsPeaksDto = new GardsPeaksDto();
|
||||
BeanUtil.copyProperties(middleData,gardsPeaksDto);
|
||||
GardsPeaks gardsPeaks = new GardsPeaks();
|
||||
List<GardsPeaks> peaks = mapFields(gardsPeaksDto, gardsPeaks, base_P_IdPeak, fieldMap);
|
||||
serviceQuotes.getGardsPeaksAutoService().saveBatch(peaks);
|
||||
}
|
||||
|
||||
public void saveNuclLinesIded(GStoreMiddleProcessData middleData,
|
||||
Integer sampleId, Integer IdAnalysis){
|
||||
// Gards_Nucl_Lines_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_LINES_IDED
|
||||
Map<String, GStoreMiddleProcessDataNuclLinesIded> nuclLinesIdedData = middleData.getNucl_lines_ided_data();
|
||||
String base_idPeak = "idPeak";
|
||||
String base_IdPeak = "idPeak";
|
||||
List<GardsNuclLinesIded> allNuclLinesIdeds = new ArrayList<>();
|
||||
for (Map.Entry<String, GStoreMiddleProcessDataNuclLinesIded> entry : nuclLinesIdedData.entrySet()) {
|
||||
String nuclideName = entry.getKey();
|
||||
GStoreMiddleProcessDataNuclLinesIded nuclLinesIded = entry.getValue();
|
||||
GardsNuclLinesIded gardsNuclLinesIded = new GardsNuclLinesIded();
|
||||
List<GardsNuclLinesIded> gardsNuclLinesIdeds =
|
||||
mapFields(nuclLinesIded, gardsNuclLinesIded, base_idPeak, fieldMap);
|
||||
mapFields(nuclLinesIded, gardsNuclLinesIded, base_IdPeak, fieldMap);
|
||||
if (CollUtil.isNotEmpty(gardsNuclLinesIdeds)){
|
||||
for (GardsNuclLinesIded ided : gardsNuclLinesIdeds) {
|
||||
ided.setSampleId(sampleId);
|
||||
|
@ -307,19 +265,28 @@ public class Sample_G_Analysis {
|
|||
}
|
||||
}
|
||||
serviceQuotes.getGardsNuclLinesIdedAutoService().saveBatch(allNuclLinesIdeds);
|
||||
}
|
||||
|
||||
public void saveNuclIded(GStoreMiddleProcessData middleData,
|
||||
Integer sampleId, Integer IdAnalysis){
|
||||
// Gards_Nucl_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_IDED
|
||||
GardsNuclIdedDto gardsNuclIdedDto = new GardsNuclIdedDto();
|
||||
GardsNuclIded gardsNuclIded = new GardsNuclIded();
|
||||
BeanUtil.copyProperties(middleData,gardsNuclIdedDto);
|
||||
String base_nuclideName = "nucl_ided_Nuclidename";
|
||||
String base_NuclideName = "nucl_ided_Nuclidename";
|
||||
List<GardsNuclIded> gardsNuclIdeds =
|
||||
mapFields(gardsNuclIdedDto, gardsNuclIded, base_nuclideName, fieldMap);
|
||||
mapFields(gardsNuclIdedDto, gardsNuclIded, base_NuclideName, fieldMap);
|
||||
for (GardsNuclIded ided : gardsNuclIdeds) {
|
||||
ided.setSampleId(sampleId);
|
||||
ided.setIdAnalysis(IdAnalysis);
|
||||
}
|
||||
// serviceQuotes.get
|
||||
}
|
||||
|
||||
public void saveQcCheck(GStoreMiddleProcessData middleData,
|
||||
Integer sampleId, Integer IdAnalysis){
|
||||
// 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());
|
||||
|
@ -333,7 +300,6 @@ public class Sample_G_Analysis {
|
|||
}
|
||||
serviceQuotes.getGardsQcCheckAutoService().saveBatch(gardsQcChecks);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void getNuclideLinesG(){
|
||||
|
@ -347,42 +313,75 @@ public class Sample_G_Analysis {
|
|||
public Map<String,String> fieldMap(){
|
||||
Map<String,String> fieldMap = new HashMap<>();
|
||||
// Gards_Nucl_Lines_Ided
|
||||
fieldMap.put("nuclideFullname","nuclidefullname");
|
||||
fieldMap.put("Energy","energy");
|
||||
fieldMap.put("Abundance","abundance");
|
||||
fieldMap.put("Activity","activity");
|
||||
fieldMap.put("Effic","effic");
|
||||
fieldMap.put("uncEffic","unEffic");
|
||||
fieldMap.put("Mda","mda");
|
||||
fieldMap.put("key_flag","keyFlag");
|
||||
fieldMap.put("csc_ratio","cscRatio");
|
||||
fieldMap.put("csc_ratio_err","cscRatioErr");
|
||||
fieldMap.put("csc_mod_flag","cscModFlag");
|
||||
fieldMap.put("MDC","mdc");
|
||||
fieldMap.put("nuclideFullname","nuclidefullname");fieldMap.put("Energy","energy");
|
||||
fieldMap.put("Abundance","abundance");fieldMap.put("Activity","activity");
|
||||
fieldMap.put("Effic","effic");fieldMap.put("uncEffic","unEffic");
|
||||
fieldMap.put("Mda","mda");fieldMap.put("key_flag","keyFlag");
|
||||
fieldMap.put("csc_ratio","cscRatio");fieldMap.put("csc_ratio_err","cscRatioErr");
|
||||
fieldMap.put("csc_mod_flag","cscModFlag");fieldMap.put("MDC","mdc");
|
||||
fieldMap.put("Concentration","concentration");
|
||||
// Gards_Nucl_Ided
|
||||
fieldMap.put("nucl_ided_Nucidename","nuclideName");
|
||||
fieldMap.put("nucl_ided_Type","type");
|
||||
fieldMap.put("nucl_ided_Halflife","halflife");
|
||||
fieldMap.put("nucl_ided_ave_activ","aveActiv");
|
||||
fieldMap.put("nucl_ided_ave_activ_err","aveActivErr");
|
||||
fieldMap.put("nucl_ided_activ_key","activKey");
|
||||
fieldMap.put("nucl_ided_activ_key_err","activKeyErr");
|
||||
fieldMap.put("nucl_ided_mda","mda");
|
||||
fieldMap.put("nucl_ided_mda_err","mdaErr");
|
||||
fieldMap.put("nucl_ided_nid_flag","nidFlag");
|
||||
fieldMap.put("nucl_ided_csc_ratio","cscRatio");
|
||||
fieldMap.put("nucl_ided_csc_ratio_err","cscRatioErr");
|
||||
fieldMap.put("nucl_ided_csc_mod_flag","cscModFlag");
|
||||
fieldMap.put("nucl_ided_MDC","mdc");
|
||||
fieldMap.put("nucl_ided_Concentration","concentration");
|
||||
fieldMap.put("nucl_ided_Key_Energy","keyEnergy");
|
||||
fieldMap.put("nucl_ided_Nucidename","nuclideName");fieldMap.put("nucl_ided_Type","type");
|
||||
fieldMap.put("nucl_ided_Halflife","halflife");fieldMap.put("nucl_ided_ave_activ","aveActiv");
|
||||
fieldMap.put("nucl_ided_ave_activ_err","aveActivErr");fieldMap.put("nucl_ided_activ_key","activKey");
|
||||
fieldMap.put("nucl_ided_activ_key_err","activKeyErr");fieldMap.put("nucl_ided_mda","mda");
|
||||
fieldMap.put("nucl_ided_mda_err","mdaErr");fieldMap.put("nucl_ided_nid_flag","nidFlag");
|
||||
fieldMap.put("nucl_ided_csc_ratio","cscRatio");fieldMap.put("nucl_ided_csc_ratio_err","cscRatioErr");
|
||||
fieldMap.put("nucl_ided_csc_mod_flag","cscModFlag");fieldMap.put("nucl_ided_MDC","mdc");
|
||||
fieldMap.put("nucl_ided_Concentration","concentration");fieldMap.put("nucl_ided_Key_Energy","keyEnergy");
|
||||
fieldMap.put("nucl_ided_Key_Yield","keyYield");
|
||||
// Gards_Qc_Check
|
||||
fieldMap.put("QC_CHECK_QC_NAME","qcName");
|
||||
fieldMap.put("QC_CHECK_QC_VALUE","qcValue");
|
||||
fieldMap.put("QC_CHECK_QC_STANDARD","qcStandard");
|
||||
fieldMap.put("QC_CHECK_QC_RESULT","qcResult");
|
||||
// Gards_Peaks
|
||||
fieldMap.put("peaks_idPeak", "idPeak");
|
||||
fieldMap.put("peaks_peakCentroid", "centroidChannel");
|
||||
fieldMap.put("peaks_uncpeakCentroid", "uncCentroidChannel");
|
||||
fieldMap.put("peaks_Energy", "energy");
|
||||
fieldMap.put("peaks_uncEnergy", "uncEnergy");
|
||||
fieldMap.put("peaks_Area", "area");
|
||||
fieldMap.put("peaks_areaErr", "uncArea");
|
||||
fieldMap.put("peaks_netCountRate", "netCountRate");
|
||||
fieldMap.put("peaks_uncNetCountRate", "uncNetCountRate");
|
||||
fieldMap.put("peaks_Efficiency", "efficiency");
|
||||
fieldMap.put("peaks_Uncefficiency", "uncefficiency");
|
||||
fieldMap.put("peaks_Fwhm", "fwhm");
|
||||
fieldMap.put("peaks_Fwhmc", "fwtm");
|
||||
fieldMap.put("peaks_Significance", "significance");
|
||||
fieldMap.put("peaks_Sensitivity", "sensitivity");
|
||||
fieldMap.put("peaks_multiIndex", "mulitiIndex");
|
||||
fieldMap.put("peaks_ROIstart", "roiStart");
|
||||
fieldMap.put("peaks_ROIend", "roiEnd");
|
||||
fieldMap.put("peaks_tail", "tail");
|
||||
fieldMap.put("peaks_tailAlpha", "tailAlpha");
|
||||
fieldMap.put("peaks_upperTail", "upperTail");
|
||||
fieldMap.put("peaks_upperTailAlpha", "upperTailAlpha");
|
||||
fieldMap.put("peaks_BWWidthChan", "bwwidthchan");
|
||||
fieldMap.put("peaks_recoilDeltaChan", "recoildeltachan");
|
||||
fieldMap.put("peaks_stepRatio", "stepraio");
|
||||
fieldMap.put("peaks_backgroundArea", "backgroundarea");
|
||||
fieldMap.put("peaks_meanBackCount", "meanbackcount");
|
||||
fieldMap.put("peaks_Lc", "lc");
|
||||
fieldMap.put("peaks_Ld", "ld");
|
||||
// GARDS_CALIBRATION_PAIRS
|
||||
fieldMap.put("calibration_pairs_E_idCalPoint","idCalPoint");
|
||||
fieldMap.put("calibration_pairs_E_xValue","xValue");
|
||||
fieldMap.put("calibration_pairs_E_yValue","yValue");
|
||||
fieldMap.put("calibration_pairs_E_uncYValue","uncYValue");
|
||||
fieldMap.put("calibration_pairs_EF_idCalPoint","idCalPoint");
|
||||
fieldMap.put("calibration_pairs_EF_xValue","xValue");
|
||||
fieldMap.put("calibration_pairs_EF_yValue","yValue");
|
||||
fieldMap.put("calibration_pairs_EF_uncYValue","uncYValue");
|
||||
fieldMap.put("calibration_pairs_R_idCalPoint","idCalPoint");
|
||||
fieldMap.put("calibration_pairs_R_xValue","xValue");
|
||||
fieldMap.put("calibration_pairs_R_yValue","yValue");
|
||||
fieldMap.put("calibration_pairs_R_uncYValue","uncYValue");
|
||||
fieldMap.put("calibration_pairs_T_idCalPoint","idCalPoint");
|
||||
fieldMap.put("calibration_pairs_T_xValue","xValue");
|
||||
fieldMap.put("calibration_pairs_T_yValue","yValue");
|
||||
fieldMap.put("calibration_pairs_T_uncYValue","uncYValue");
|
||||
return fieldMap;
|
||||
}
|
||||
|
||||
|
@ -472,7 +471,7 @@ public class Sample_G_Analysis {
|
|||
return gardsAnalyses;
|
||||
}
|
||||
|
||||
public static <T1,T2> List<T2> mapFields(T1 source, T2 tartget, String baseLine, Map<String,String> fieldMap) {
|
||||
public <T1,T2> List<T2> mapFields(T1 source, T2 tartget, String baseLine, Map<String,String> fieldMap) {
|
||||
try {
|
||||
List<T2> result = new ArrayList<>();
|
||||
Class<?> sourceClass = source.getClass();
|
||||
|
|
Loading…
Reference in New Issue
Block a user