fix:修改 自动处理分析新beta保存刻度数据业务。修改从数据库加载读取刻度数据业务逻辑
This commit is contained in:
parent
2908b406d7
commit
e6d017af0b
|
@ -554,7 +554,7 @@ public class Sample_C_Analysis {
|
|||
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
||||
// serviceQuotes.getSampleDataService().updateStatus(null,null);
|
||||
/* GARDS_CALIBRATION_PAIRS_ROI 数据表保存 */
|
||||
saveCalibrationPairsROI(sampleId, idAnalysis);
|
||||
saveCalibrationPairs(sampleId, idAnalysis);
|
||||
/* GARDS_CALIBRATION_ROI 数据表保存 */
|
||||
saveCalibrationROI(sampleId, idAnalysis);
|
||||
/* Gards_Peaks_ROI 数据表保存 */
|
||||
|
@ -919,22 +919,21 @@ public class Sample_C_Analysis {
|
|||
this.middleDataMap = middleDataMap;
|
||||
}
|
||||
|
||||
public List<GardsCalibrationPairsRoi> saveCalibrationPairsROI(Integer sampleId, Integer IdAnalysis,
|
||||
Integer roiId, GStoreMiddleProcessData middleData){
|
||||
public List<GardsCalibrationPairs> saveCalibrationPairs(Integer sampleId, Integer IdAnalysis,
|
||||
Integer roiId, GStoreMiddleProcessData middleData){
|
||||
String pairsSampleType = middleData.getCalibration_pairs_sample_type();
|
||||
GardsCalibrationPairsRoi pairs = new GardsCalibrationPairsRoi();
|
||||
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<GardsCalibrationPairsRoi> pairsE = Lists.newArrayList();
|
||||
List<GardsCalibrationPairs> pairsE = Lists.newArrayList();
|
||||
if (!pairsEDto.getCalibration_pairs_E_idCalPoint().isEmpty()) {
|
||||
pairsE = mapFields(pairsEDto, pairs, base_E_Paris, fieldMap);
|
||||
String pairsECaltype = middleData.getCalibration_pairs_E_Caltype();
|
||||
String pairsEInput = middleData.getCalibration_pairs_E_Input();
|
||||
for (GardsCalibrationPairsRoi onePairs : pairsE) {
|
||||
for (GardsCalibrationPairs onePairs : pairsE) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setRoiId(roiId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsECaltype);
|
||||
|
@ -945,14 +944,13 @@ public class Sample_C_Analysis {
|
|||
String base_EF_Paris = "calibration_pairs_EF_idCalPoint";
|
||||
PairsEFDto pairsEFDto = new PairsEFDto();
|
||||
BeanUtil.copyProperties(middleData, pairsEFDto);
|
||||
List<GardsCalibrationPairsRoi> pairsEF = Lists.newArrayList();
|
||||
List<GardsCalibrationPairs> pairsEF = Lists.newArrayList();
|
||||
if (!pairsEFDto.getCalibration_pairs_EF_idCalPoint().isEmpty()) {
|
||||
pairsEF = mapFields(pairsEFDto, pairs, base_EF_Paris, fieldMap);
|
||||
String pairsEFCaltype = middleData.getCalibration_pairs_EF_Caltype();
|
||||
String pairsEFInput = middleData.getCalibration_pairs_EF_Input();
|
||||
for (GardsCalibrationPairsRoi onePairs : pairsEF) {
|
||||
for (GardsCalibrationPairs onePairs : pairsEF) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setRoiId(roiId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsEFCaltype);
|
||||
|
@ -963,14 +961,13 @@ public class Sample_C_Analysis {
|
|||
String base_R_Paris = "calibration_pairs_R_idCalPoint";
|
||||
PairsRDto pairsRDto = new PairsRDto();
|
||||
BeanUtil.copyProperties(middleData,pairsRDto);
|
||||
List<GardsCalibrationPairsRoi> pairsR = Lists.newArrayList();
|
||||
List<GardsCalibrationPairs> pairsR = Lists.newArrayList();
|
||||
if (!pairsRDto.getCalibration_pairs_R_idCalPoint().isEmpty()) {
|
||||
pairsR = mapFields(pairsRDto, pairs, base_R_Paris, fieldMap);
|
||||
String pairsRCaltype = middleData.getCalibration_pairs_R_Caltype();
|
||||
String pairsRInput = middleData.getCalibration_pairs_R_Input();
|
||||
for (GardsCalibrationPairsRoi onePairs : pairsR) {
|
||||
for (GardsCalibrationPairs onePairs : pairsR) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setRoiId(roiId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsRCaltype);
|
||||
|
@ -981,14 +978,13 @@ public class Sample_C_Analysis {
|
|||
String base_T_Paris = "calibration_pairs_T_idCalPoint";
|
||||
PairsTDto pairsTDto = new PairsTDto();
|
||||
BeanUtil.copyProperties(middleData,pairsTDto);
|
||||
List<GardsCalibrationPairsRoi> pairsT = Lists.newArrayList();
|
||||
List<GardsCalibrationPairs> pairsT = Lists.newArrayList();
|
||||
if (!pairsTDto.getCalibration_pairs_T_idCalPoint().isEmpty()) {
|
||||
pairsT = mapFields(pairsTDto, pairs, base_T_Paris, fieldMap);
|
||||
String pairsTCaltype = middleData.getCalibration_pairs_T_Caltype();
|
||||
String pairsTInput = middleData.getCalibration_pairs_T_Input();
|
||||
for (GardsCalibrationPairsRoi onePairs : pairsT) {
|
||||
for (GardsCalibrationPairs onePairs : pairsT) {
|
||||
onePairs.setSampleId(sampleId);
|
||||
onePairs.setRoiId(roiId);
|
||||
onePairs.setIdAnalysis(IdAnalysis);
|
||||
onePairs.setSampleType(pairsSampleType);
|
||||
onePairs.setCaltype(pairsTCaltype);
|
||||
|
@ -996,21 +992,21 @@ public class Sample_C_Analysis {
|
|||
}
|
||||
}
|
||||
// GARDS_CALIBRATION_PAIRS 汇总保存
|
||||
List<GardsCalibrationPairsRoi> allPairs = new ArrayList<>();
|
||||
List<GardsCalibrationPairs> allPairs = new ArrayList<>();
|
||||
allPairs.addAll(pairsE);allPairs.addAll(pairsEF);
|
||||
allPairs.addAll(pairsR);allPairs.addAll(pairsT);
|
||||
return allPairs;
|
||||
}
|
||||
|
||||
public void saveCalibrationPairsROI(Integer sampleId, Integer IdAnalysis){
|
||||
List<GardsCalibrationPairsRoi> pairsRois = new ArrayList<>();
|
||||
public void saveCalibrationPairs(Integer sampleId, Integer IdAnalysis){
|
||||
List<GardsCalibrationPairs> pairsRois = new ArrayList<>();
|
||||
Set<Map.Entry<Integer, GStoreMiddleProcessData>> entries = this.middleDataMap.entrySet();
|
||||
for (Map.Entry<Integer, GStoreMiddleProcessData> entry : entries) {
|
||||
Integer roiId = entry.getKey();
|
||||
GStoreMiddleProcessData middleData = entry.getValue();
|
||||
pairsRois.addAll(saveCalibrationPairsROI(sampleId, IdAnalysis, roiId, middleData));
|
||||
pairsRois.addAll(saveCalibrationPairs(sampleId, IdAnalysis, roiId, middleData));
|
||||
}
|
||||
this.serviceQuotes.getCalibrationPairsRoiAutoService().saveBatch(pairsRois);
|
||||
this.serviceQuotes.getGardsCalibrationPairsService().saveBatch(pairsRois);
|
||||
}
|
||||
|
||||
public List<GardsCalibrationRoi> saveCalibrationROI(Integer sampleId, Integer IdAnalysis, Integer roiId,
|
||||
|
@ -1106,16 +1102,105 @@ public class Sample_C_Analysis {
|
|||
return calibrations;
|
||||
}
|
||||
|
||||
public List<GardsCalibration> saveCalibration(Integer sampleId, Integer IdAnalysis, Integer roiId,
|
||||
GStoreMiddleProcessData middleData){
|
||||
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());
|
||||
calibration.setModdate(new Date());
|
||||
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();
|
||||
double efStartOfRange = middleData.getCalibration_EF_startOfRange();
|
||||
double efEndOfRange = middleData.getCalibration_EF_endOfRange();
|
||||
String efCoeffString = middleData.getCalibration_EF_coeff_string();
|
||||
calibration.setCalType(efCaltype);
|
||||
calibration.setFunction((int)efFunction);
|
||||
calibration.setFunctionDef(efFunctionDef);
|
||||
calibration.setStartOfRange((int)efStartOfRange);
|
||||
calibration.setEndOfRange((int)efEndOfRange);
|
||||
calibration.setCoeffString(efCoeffString);
|
||||
calibration.setModdate(new Date());
|
||||
calibrations.add(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();
|
||||
double rStartOfRange = middleData.getCalibration_R_startOfRange();
|
||||
double rEndOfRange = middleData.getCalibration_R_endOfRange();
|
||||
String rCoeffString = middleData.getCalibration_R_coeff_string();
|
||||
calibration.setCalType(rCaltype);
|
||||
calibration.setFunction((int)rFunction);
|
||||
calibration.setFunctionDef(rFunctionDef);
|
||||
calibration.setStartOfRange((int)rStartOfRange);
|
||||
calibration.setEndOfRange((int)rEndOfRange);
|
||||
calibration.setCoeffString(rCoeffString);
|
||||
calibration.setModdate(new Date());
|
||||
calibrations.add(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();
|
||||
double tStartOfRange = middleData.getCalibration_T_startOfRange();
|
||||
double tEndOfRange = middleData.getCalibration_T_endOfRange();
|
||||
String tCoeffString = middleData.getCalibration_T_coeff_string();
|
||||
calibration.setCalType(tCaltype);
|
||||
calibration.setFunction((int)middleData.getCalibration_T_function());
|
||||
calibration.setFunctionDef(tFunctionDef);
|
||||
calibration.setStartOfRange((int)tStartOfRange);
|
||||
calibration.setEndOfRange((int)tEndOfRange);
|
||||
calibration.setCoeffString(tCoeffString);
|
||||
calibration.setModdate(new Date());
|
||||
calibrations.add(calibration);
|
||||
}
|
||||
return calibrations;
|
||||
}
|
||||
|
||||
public void saveCalibrationROI(Integer sampleId, Integer IdAnalysis){
|
||||
List<GardsCalibrationRoi> calibrationRois = new ArrayList<>();
|
||||
List<GardsCalibration> calibrationRois = new ArrayList<>();
|
||||
Set<Map.Entry<Integer, GStoreMiddleProcessData>> entries = this.middleDataMap.entrySet();
|
||||
for (Map.Entry<Integer, GStoreMiddleProcessData> entry : entries) {
|
||||
Integer roiId = entry.getKey();
|
||||
GStoreMiddleProcessData middleData = entry.getValue();
|
||||
calibrationRois.addAll(saveCalibrationROI(sampleId, IdAnalysis, roiId, middleData));
|
||||
calibrationRois.addAll(saveCalibration(sampleId, IdAnalysis, roiId, middleData));
|
||||
}
|
||||
if (CollUtil.isNotEmpty(calibrationRois))
|
||||
this.serviceQuotes.getCalibrationRoiAutoService().createBatch(calibrationRois);
|
||||
this.serviceQuotes.getGardsCalibrationService().createBatch(calibrationRois);
|
||||
}
|
||||
|
||||
public List<GardsPeaksRoi> savePeaksROI(Integer sampleId, Integer IdAnalysis,
|
||||
|
|
|
@ -336,83 +336,6 @@ public class SelfBaseUtil extends AbstractLogOrReport {
|
|||
return equation;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ROI卡出来的Gamma数据生成新的GammaPHD文件
|
||||
* @param pathName 文件存储路径
|
||||
* @param fileName GammaPHD名称
|
||||
* @param struct BetaPHD内容
|
||||
* @param g_counts ROI卡出来的Gamma数据
|
||||
*/
|
||||
public static void createGammaFile(String pathName,String fileName, EnergySpectrumStruct struct, List<Long> g_counts) {
|
||||
File file = new File(pathName + "\\" + fileName);
|
||||
// 创建PrintWriter对象
|
||||
PrintWriter out = null;
|
||||
DecimalFormat decimalFormat = new DecimalFormat("0.000000");
|
||||
try {
|
||||
out = new PrintWriter(file);
|
||||
out.println("BEGIN IMS2.0");
|
||||
out.println("MSG_TYPE DATA");
|
||||
// todo msg_type用的不对,dll没解析出这个字段
|
||||
out.println("MSG_ID " + struct.msg_id + " " + struct.msg_type + "\n" + "DATA_TYPE " + struct.data_type);
|
||||
out.println("#Header 3");
|
||||
// 解析出的Gamma谱 系统类型暂时使用G
|
||||
out.println(struct.site_code + " " + struct.detector_code + " G " +
|
||||
struct.sample_geometry + " " + struct.spectrum_quantity);
|
||||
out.println(struct.sample_ref_id);
|
||||
out.println(struct.measurement_id + " " + struct.detector_bk_measurement_id + " 0");
|
||||
out.println(struct.transmit_date + " " + struct.transmit_time);
|
||||
out.println("#Collection");
|
||||
out.println(struct.collection_start_date + " " + struct.collection_start_time + " " +
|
||||
struct.collection_stop_date + " " + struct.collection_stop_time + " "
|
||||
+ decimalFormat.format(struct.air_volume));
|
||||
out.println("#Acquisition");
|
||||
out.println(struct.acquisition_start_date + " " + struct.acquisition_start_time + " " +
|
||||
decimalFormat.format(struct.acquisition_real_time) + " " +
|
||||
decimalFormat.format(struct.acquisition_live_time));
|
||||
out.println("#g_Energy");
|
||||
|
||||
|
||||
format(struct.g_energy, struct.g_centroid_channel, struct.g_uncertainty, out);
|
||||
out.println("#g_Resolution");
|
||||
format(struct.g_r_energy, struct.g_r_FWHM, struct.g_r_uncertainty, out);
|
||||
out.println("#g_Efficiency");
|
||||
format(struct.g_e_energy, struct.g_e_efficiency, struct.g_e_uncertainty, out);
|
||||
out.println("#g_Spectrum");
|
||||
// num_g_channel 根据g_counts数量得来和PHD写的数字没有关系;g_energy_span是PHD写的值
|
||||
out.println(struct.num_g_channel + " " + struct.g_energy_span);
|
||||
// 存储前一个数字
|
||||
String beforeStr = "";
|
||||
for (int i = 0; i < g_counts.size(); i++) {
|
||||
String str = g_counts.get(i).toString();
|
||||
if(i % 5 == 0) {
|
||||
if (i == 0) {
|
||||
out.printf((i+1)+"");
|
||||
} else {
|
||||
out.printf("\n" + (i+1) );
|
||||
}
|
||||
beforeStr = i+"";
|
||||
}
|
||||
|
||||
if(StrUtil.isEmpty(beforeStr)){
|
||||
beforeStr = str;
|
||||
}
|
||||
// 根据前一个字符长度计算需要的空格
|
||||
out.printf("%" + (str.length() + (6 - beforeStr.length()))+ "s" , g_counts.get(i));
|
||||
if(i == g_counts.size() - 1) {
|
||||
out.println();
|
||||
}
|
||||
beforeStr = str;
|
||||
}
|
||||
out.print("STOP");
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (null != out) {
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据DLL解析GammaPHD内容 得到PHDFile实体
|
||||
* @param struct dll解析后的实体
|
||||
|
@ -618,6 +541,83 @@ public class SelfBaseUtil extends AbstractLogOrReport {
|
|||
return phd;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ROI卡出来的Gamma数据生成新的GammaPHD文件
|
||||
* @param pathName 文件存储路径
|
||||
* @param fileName GammaPHD名称
|
||||
* @param struct BetaPHD内容
|
||||
* @param g_counts ROI卡出来的Gamma数据
|
||||
*/
|
||||
public static void createGammaFile(String pathName,String fileName, EnergySpectrumStruct struct, List<Long> g_counts) {
|
||||
File file = new File(pathName + "\\" + fileName);
|
||||
// 创建PrintWriter对象
|
||||
PrintWriter out = null;
|
||||
DecimalFormat decimalFormat = new DecimalFormat("0.000000");
|
||||
try {
|
||||
out = new PrintWriter(file);
|
||||
out.println("BEGIN IMS2.0");
|
||||
out.println("MSG_TYPE DATA");
|
||||
// todo msg_type用的不对,dll没解析出这个字段
|
||||
out.println("MSG_ID " + struct.msg_id + " " + struct.msg_type + "\n" + "DATA_TYPE " + struct.data_type);
|
||||
out.println("#Header 3");
|
||||
// 解析出的Gamma谱 系统类型暂时使用G
|
||||
out.println(struct.site_code + " " + struct.detector_code + " G " +
|
||||
struct.sample_geometry + " " + struct.spectrum_quantity);
|
||||
out.println(struct.sample_ref_id);
|
||||
out.println(struct.measurement_id + " " + struct.detector_bk_measurement_id + " 0");
|
||||
out.println(struct.transmit_date + " " + struct.transmit_time);
|
||||
out.println("#Collection");
|
||||
out.println(struct.collection_start_date + " " + struct.collection_start_time + " " +
|
||||
struct.collection_stop_date + " " + struct.collection_stop_time + " "
|
||||
+ decimalFormat.format(struct.air_volume));
|
||||
out.println("#Acquisition");
|
||||
out.println(struct.acquisition_start_date + " " + struct.acquisition_start_time + " " +
|
||||
decimalFormat.format(struct.acquisition_real_time) + " " +
|
||||
decimalFormat.format(struct.acquisition_live_time));
|
||||
out.println("#g_Energy");
|
||||
|
||||
|
||||
format(struct.g_energy, struct.g_centroid_channel, struct.g_uncertainty, out);
|
||||
out.println("#g_Resolution");
|
||||
format(struct.g_r_energy, struct.g_r_FWHM, struct.g_r_uncertainty, out);
|
||||
out.println("#g_Efficiency");
|
||||
format(struct.g_e_energy, struct.g_e_efficiency, struct.g_e_uncertainty, out);
|
||||
out.println("#g_Spectrum");
|
||||
// num_g_channel 根据g_counts数量得来和PHD写的数字没有关系;g_energy_span是PHD写的值
|
||||
out.println(struct.num_g_channel + " " + struct.g_energy_span);
|
||||
// 存储前一个数字
|
||||
String beforeStr = "";
|
||||
for (int i = 0; i < g_counts.size(); i++) {
|
||||
String str = g_counts.get(i).toString();
|
||||
if(i % 5 == 0) {
|
||||
if (i == 0) {
|
||||
out.printf((i+1)+"");
|
||||
} else {
|
||||
out.printf("\n" + (i+1) );
|
||||
}
|
||||
beforeStr = i+"";
|
||||
}
|
||||
|
||||
if(StrUtil.isEmpty(beforeStr)){
|
||||
beforeStr = str;
|
||||
}
|
||||
// 根据前一个字符长度计算需要的空格
|
||||
out.printf("%" + (str.length() + (6 - beforeStr.length()))+ "s" , g_counts.get(i));
|
||||
if(i == g_counts.size() - 1) {
|
||||
out.println();
|
||||
}
|
||||
beforeStr = str;
|
||||
}
|
||||
out.print("STOP");
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (null != out) {
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据格式化
|
||||
* @param aList 第一列数据
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
package org.jeecg.modules.service;
|
||||
|
||||
import org.jeecg.modules.base.entity.rnman.GardsAnalyses;
|
||||
import org.jeecg.modules.base.entity.rnman.GardsXeResults;
|
||||
import org.jeecg.modules.entity.vo.CalMDCInfo;
|
||||
import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
|
||||
import org.jeecg.modules.entity.vo.PHDFile;
|
||||
import org.jeecg.modules.entity.vo.QcCheckItem;
|
||||
import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -40,6 +39,10 @@ public interface AnalysisManService {
|
|||
|
||||
void saveCalibrationROI(Integer sampleId, Integer idAnalysis);
|
||||
|
||||
void saveCalibrationPairs(Integer sampleId, Integer idAnalysis);
|
||||
|
||||
void saveCalibration(Integer sampleId, Integer idAnalysis);
|
||||
|
||||
void savePeaksROI(Integer sampleId, Integer idAnalysis);
|
||||
|
||||
void saveNuclLinesIdedROI(Integer sampleId, Integer idAnalysis);
|
||||
|
@ -51,4 +54,6 @@ public interface AnalysisManService {
|
|||
void saveMDCROI(Integer sampleId, List<Map<String, CalMDCInfo>> mdcInfoMaps, Integer idAnalysis);
|
||||
|
||||
void saveAnalySettingROI(Integer sampleId, Integer idAnalysis, List<PHDFile> phdFiles);
|
||||
|
||||
void saveGardsXeResults(Integer sampleId, Integer idAnalysis, List<GardsXeResults> xeResultsList);
|
||||
}
|
||||
|
|
|
@ -402,6 +402,17 @@ public class PHDFileUtil extends AbstractLogOrReport {
|
|||
}
|
||||
}
|
||||
|
||||
public List<String> readLine(String filePath) {
|
||||
List<String> allLines = new ArrayList<>();
|
||||
try {
|
||||
File file = new File(filePath);
|
||||
return FileUtils.readLines(file, "UTF-8");
|
||||
}catch (IOException e){
|
||||
e.printStackTrace();
|
||||
return allLines;
|
||||
}
|
||||
}
|
||||
|
||||
public void createBgCalPara(BetaDataFile betaDataFile, List<GardsCalibrationSpectrum> gammaCalibrationSpectrumList,List<GardsCalibrationSpectrum> betaCalibrationSpectrumList,
|
||||
List<GardsCalibrationPairsSpectrum> gammaCalibrationPairsList,List<GardsCalibrationPairsSpectrum> betaCalibrationPairsList) {
|
||||
SpectrumGroup spectrum_group = new SpectrumGroup();
|
||||
|
@ -663,17 +674,6 @@ public class PHDFileUtil extends AbstractLogOrReport {
|
|||
}
|
||||
}
|
||||
|
||||
public List<String> readLine(String filePath) {
|
||||
List<String> allLines = new ArrayList<>();
|
||||
try {
|
||||
File file = new File(filePath);
|
||||
return FileUtils.readLines(file, "UTF-8");
|
||||
}catch (IOException e){
|
||||
e.printStackTrace();
|
||||
return allLines;
|
||||
}
|
||||
}
|
||||
|
||||
public void getLightColor(Map<String, Object> sampleMap, Map<String, Object> gasBgMap, Map<String, Object> detBgMap, Map<String, Object> qcMap) {
|
||||
SpectrumData sampleSpectrumData = (SpectrumData)sampleMap.get("spectrumData");
|
||||
SpectrumData gasBgSpectrumData = (SpectrumData)gasBgMap.get("spectrumData");
|
||||
|
|
|
@ -18,10 +18,7 @@ import org.jeecg.modules.base.abstracts.AbstractLogOrReport;
|
|||
import org.jeecg.modules.base.enums.CalName;
|
||||
import org.jeecg.modules.base.enums.DataTypeAbbr;
|
||||
import org.jeecg.modules.base.enums.SampleFileHeader;
|
||||
import org.jeecg.modules.entity.GardsCalibrationSpectrum;
|
||||
import org.jeecg.modules.entity.GardsROIChannelsSpectrum;
|
||||
import org.jeecg.modules.entity.GardsROIResultsSpectrum;
|
||||
import org.jeecg.modules.entity.GardsXeResultsSpectrum;
|
||||
import org.jeecg.modules.entity.*;
|
||||
import org.jeecg.modules.entity.vo.*;
|
||||
import org.jeecg.modules.native_jni.CalValuesHandler;
|
||||
import org.jeecg.modules.native_jni.EnergySpectrumHandler;
|
||||
|
@ -1421,4 +1418,56 @@ public class SelfStationUtil extends SelfBaseUtil {
|
|||
return baseLineCount;
|
||||
}
|
||||
|
||||
public void updateEnergyData(BetaDataFile betaDataFile, String type, int channel,
|
||||
List<GardsCalibrationPairsSpectrum> gammaCalibrationPairs,
|
||||
List<GardsCalibrationPairsSpectrum> betaCalibrationPairs, Map<String, Object> map) {
|
||||
List<Double> channels = new LinkedList<>();
|
||||
List<List<Double>> gammaNewEnergyList = new LinkedList<>();
|
||||
List<List<Double>> betaNewEnergyList = new LinkedList<>();
|
||||
//填充道值数组的数据
|
||||
for (int i = 0; i < channel; i++) {
|
||||
channels.add(Double.valueOf(i));
|
||||
}
|
||||
//过滤出Gamma对应的表单数据
|
||||
List<Double> gammaChannelList = gammaCalibrationPairs.stream().map(GardsCalibrationPairsSpectrum::getXValue).collect(Collectors.toList());
|
||||
List<Double> gammaEnergyList = gammaCalibrationPairs.stream().map(GardsCalibrationPairsSpectrum::getYValue).collect(Collectors.toList());
|
||||
//计算gamma对应的数据
|
||||
List<Double> gammaFittingPara = EnergySpectrumHandler.GetFileFittingPara(gammaChannelList, gammaEnergyList);
|
||||
//计算道值的能量
|
||||
List<Double> gammaEnergys = EnergySpectrumHandler.GetFileFittingData(channels,gammaFittingPara);
|
||||
//将新计算的能量封装到数组
|
||||
for (Double calEnergy:gammaEnergys) {
|
||||
List<Double> newEnergy = new LinkedList<>();
|
||||
newEnergy.add(calEnergy);
|
||||
gammaNewEnergyList.add(newEnergy);
|
||||
}
|
||||
map.put("gammaEnergyData", gammaNewEnergyList);
|
||||
|
||||
//过滤出Beta对应的表单数据
|
||||
List<Double> betaChannelList = betaCalibrationPairs.stream().map(GardsCalibrationPairsSpectrum::getXValue).collect(Collectors.toList());
|
||||
List<Double> betaEnergyList = betaCalibrationPairs.stream().map(GardsCalibrationPairsSpectrum::getYValue).collect(Collectors.toList());
|
||||
//计算beta对应的数据
|
||||
List<Double> betaFittingPara = EnergySpectrumHandler.GetFileFittingPara(betaChannelList, betaEnergyList);
|
||||
|
||||
//计算道值的能量
|
||||
List<Double> betaEnergys = EnergySpectrumHandler.GetFileFittingData(channels,betaFittingPara);
|
||||
//将新计算的能量封装到数组
|
||||
for (Double calEnergy:betaEnergys) {
|
||||
List<Double> newEnergy = new LinkedList<>();
|
||||
newEnergy.add(calEnergy);
|
||||
betaNewEnergyList.add(newEnergy);
|
||||
}
|
||||
map.put("betaEnergyData", betaNewEnergyList);
|
||||
if (type.equalsIgnoreCase("sample")) {
|
||||
betaDataFile.setSampleGammaEnergyList(gammaNewEnergyList);
|
||||
betaDataFile.setSampleBetaEnergyList(betaNewEnergyList);
|
||||
} else if (type.equalsIgnoreCase("gas")) {
|
||||
betaDataFile.setGasGammaEnergyList(gammaNewEnergyList);
|
||||
betaDataFile.setGasBetaEnergyList(betaNewEnergyList);
|
||||
} else if (type.equalsIgnoreCase("det")) {
|
||||
betaDataFile.setDetGammaEnergyList(gammaNewEnergyList);
|
||||
betaDataFile.setDetBetaEnergyList(betaNewEnergyList);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,59 +1,17 @@
|
|||
package org.jeecg.modules.entity;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecg.modules.base.entity.rnman.GardsXeResults;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class GardsXeResultsSpectrum implements Serializable {
|
||||
|
||||
/**
|
||||
* 样品id
|
||||
*/
|
||||
private Integer sampleId;
|
||||
|
||||
/**
|
||||
* 分析ID号
|
||||
*/
|
||||
private Integer idAnalysis;
|
||||
|
||||
/**
|
||||
* 核素名称
|
||||
*/
|
||||
private String nuclideName;
|
||||
/**
|
||||
* 感兴趣区活度浓度
|
||||
*/
|
||||
private Double conc;
|
||||
|
||||
/**
|
||||
* 感兴趣区活度浓度不确定度
|
||||
*/
|
||||
private Double concErr;
|
||||
/**
|
||||
* 感兴趣区MDC
|
||||
*/
|
||||
private Double mdc;
|
||||
public class GardsXeResultsSpectrum extends GardsXeResults implements Serializable {
|
||||
/**
|
||||
* 感兴趣区MDC
|
||||
*/
|
||||
private Double mda;
|
||||
/**
|
||||
* 感兴趣区LC
|
||||
*/
|
||||
private Double lc;
|
||||
/**
|
||||
* 感兴趣区识别标示;1:识别到,0,未识别到
|
||||
*/
|
||||
private Integer nidFlag;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date moddate;
|
||||
|
||||
private String color;
|
||||
|
||||
|
|
|
@ -61,14 +61,18 @@ public class BetaDataFile implements Serializable {
|
|||
|
||||
private List<SeriseData> betaList;
|
||||
|
||||
/** e2c */
|
||||
private List<String> betaFittingPara;
|
||||
|
||||
/** c2e*/
|
||||
private List<String> betaFittingParaToUi;
|
||||
|
||||
private List<SeriseData> gammaList;
|
||||
|
||||
/** e2c */
|
||||
private List<String> gammaFittingPara;
|
||||
|
||||
/** c2e*/
|
||||
private List<String> gammaFittingParaToUi;
|
||||
|
||||
private List<SeriseData> betaListNow;
|
||||
|
|
|
@ -70,23 +70,29 @@ public interface SpectrumAnalysisMapper {
|
|||
|
||||
List<GardsPeaksSpectrum> getPeaks(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsPeaksSpectrum> getPeaksROI(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
List<GardsPeaksSpectrum> getPeaksROI(@Param(value = "dbName") String dbName, @Param(value = "dbAnalyRoi") String dbAnalyRoi,
|
||||
@Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsCalibrationPairsSpectrum> getCalibrationPairs(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsCalibrationPairsSpectrum> getCalibrationPairsROI(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
List<GardsCalibrationPairsSpectrum> getCalibrationPairsROI(@Param(value = "dbName") String dbName,
|
||||
@Param(value = "dbAnalyRoi") String dbAnalyRoi,
|
||||
@Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsCalibrationSpectrum> getPara(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsCalibrationSpectrum> getParaROI(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
List<GardsCalibrationSpectrum> getParaROI(@Param(value = "dbName") String dbName, @Param(value = "dbAnalyRoi") String dbAnalyRoi,
|
||||
@Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsNuclLinesIdedSpectrum> getNuclLinesIded(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsNuclLinesIdedSpectrum> getNuclLinesIdedROI(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
List<GardsNuclLinesIdedSpectrum> getNuclLinesIdedROI(@Param(value = "dbName") String dbName, @Param(value = "dbAnalyRoi") String dbAnalyRoi,
|
||||
@Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsNuclIdedSpectrum> getNuclIded(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsNuclIdedSpectrum> getNuclIdedROI(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
List<GardsNuclIdedSpectrum> getNuclIdedROI(@Param(value = "dbName") String dbName, @Param(value = "dbAnalyRoi") String dbAnalyRoi,
|
||||
@Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<GardsQcCheckSpectrum> getQcCheck(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
|
@ -94,7 +100,8 @@ public interface SpectrumAnalysisMapper {
|
|||
|
||||
List<CalMDCInfo> getMDC(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
List<CalMDCInfo> getMDCROI(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||
List<CalMDCInfo> getMDCROI(@Param(value = "dbName") String dbName, @Param(value = "dbAnalyRoi") String dbAnalyRoi,
|
||||
@Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
GardsAnalySetting getAnalySetting(@Param(value = "idAnalysis") Integer idAnalysis);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package org.jeecg.modules.service.impl;
|
||||
package org.jeecg.modules.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
|
@ -7,17 +7,13 @@ import cn.hutool.core.util.NumberUtil;
|
|||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.google.common.collect.HashBasedTable;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Table;
|
||||
import org.jeecg.modules.base.dto.*;
|
||||
import org.jeecg.modules.base.entity.rnman.*;
|
||||
import org.jeecg.modules.entity.vo.*;
|
||||
import org.jeecg.modules.native_jni.struct.EnergySpectrumStruct;
|
||||
import org.jeecg.modules.service.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
@ -46,6 +42,12 @@ public class AnalysisManServiceImpl implements AnalysisManService {
|
|||
private IGardsQcCheckRoiManService qcCheckRoiManService;
|
||||
@Autowired
|
||||
private IGardsAnalySettingRoiService analySettingRoiService;
|
||||
@Autowired
|
||||
private IGardsCalibrationSpectrumService calibrationSpectrumService;
|
||||
@Autowired
|
||||
private IGardsCalibrationPairsSpectrumService calibrationPairsSpectrumService;
|
||||
@Autowired
|
||||
private IGardsXeResultsSpectrumService xeResultsSpectrumService;
|
||||
|
||||
private Map<Integer, GStoreMiddleProcessData> middleDataMap;
|
||||
|
||||
|
@ -101,16 +103,22 @@ public class AnalysisManServiceImpl implements AnalysisManService {
|
|||
|
||||
@Override
|
||||
public void deleteCalibrationPairs(Integer idAnalysis) {
|
||||
LambdaUpdateWrapper<GardsCalibrationPairsRoi> wrapper = new LambdaUpdateWrapper<>();
|
||||
/*LambdaUpdateWrapper<GardsCalibrationPairsRoi> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(GardsCalibrationPairsRoi::getIdAnalysis, idAnalysis);
|
||||
calibrationPairsRoiManService.remove(wrapper);
|
||||
calibrationPairsRoiManService.remove(wrapper);*/
|
||||
LambdaUpdateWrapper<GardsCalibrationPairs> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(GardsCalibrationPairs::getIdAnalysis, idAnalysis);
|
||||
calibrationPairsSpectrumService.remove(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteCalibration(Integer idAnalysis) {
|
||||
LambdaUpdateWrapper<GardsCalibrationRoi> wrapper = new LambdaUpdateWrapper<>();
|
||||
/*LambdaUpdateWrapper<GardsCalibrationRoi> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(GardsCalibrationRoi::getIdAnalysis, idAnalysis);
|
||||
calibrationRoiManService.remove(wrapper);
|
||||
calibrationRoiManService.remove(wrapper);*/
|
||||
LambdaUpdateWrapper<GardsCalibration> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(GardsCalibration::getIdAnalysis, idAnalysis);
|
||||
calibrationSpectrumService.remove(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -263,6 +271,110 @@ public class AnalysisManServiceImpl implements AnalysisManService {
|
|||
calibrationRoiManService.createBatch(calibrationRois);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveCalibrationPairs(Integer sampleId, Integer idAnalysis) {
|
||||
Set<Map.Entry<Integer, GStoreMiddleProcessData>> entries = this.middleDataMap.entrySet();
|
||||
for (Map.Entry<Integer, GStoreMiddleProcessData> entry : entries) {
|
||||
Integer roiId = entry.getKey();
|
||||
GStoreMiddleProcessData middleData = entry.getValue();
|
||||
List<GardsCalibrationPairs> gardsCalibrationPairs = saveCalibrationPairs(sampleId, idAnalysis, roiId, middleData);
|
||||
calibrationPairsSpectrumService.saveBatch(gardsCalibrationPairs);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public List<GardsCalibrationPairs> saveCalibrationPairs(Integer sampleId, Integer IdAnalysis,
|
||||
Integer roiId, GStoreMiddleProcessData middleData){
|
||||
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 = Lists.newArrayList();
|
||||
if (pairsEDto.getCalibration_pairs_E_idCalPoint().size() > 0) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
// 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 = Lists.newArrayList();
|
||||
if (pairsEFDto.getCalibration_pairs_EF_idCalPoint().size() > 0) {
|
||||
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 = Lists.newArrayList();
|
||||
if (pairsRDto.getCalibration_pairs_R_idCalPoint().size() > 0) {
|
||||
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 = Lists.newArrayList();
|
||||
if (pairsTDto.getCalibration_pairs_T_idCalPoint().size() > 0) {
|
||||
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);
|
||||
return allPairs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveCalibration(Integer sampleId, Integer idAnalysis) {
|
||||
Set<Map.Entry<Integer, GStoreMiddleProcessData>> entries = this.middleDataMap.entrySet();
|
||||
for (Map.Entry<Integer, GStoreMiddleProcessData> entry : entries) {
|
||||
Integer roiId = entry.getKey();
|
||||
GStoreMiddleProcessData middleData = entry.getValue();
|
||||
List<GardsCalibration> gardsCalibrations = saveCalibration(sampleId, idAnalysis, roiId, middleData);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public List<GardsCalibrationRoi> saveCalibrationROI(Integer sampleId, Integer IdAnalysis, Integer roiId,
|
||||
GStoreMiddleProcessData middleData){
|
||||
String calibrationSampleType = middleData.getCalibration_sample_type();
|
||||
|
@ -356,6 +468,100 @@ public class AnalysisManServiceImpl implements AnalysisManService {
|
|||
return calibrations;
|
||||
}
|
||||
|
||||
public List<GardsCalibration> saveCalibration(Integer sampleId, Integer IdAnalysis, Integer roiId,
|
||||
GStoreMiddleProcessData middleData){
|
||||
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());
|
||||
calibration.setModdate(new Date());
|
||||
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();
|
||||
double efStartOfRange = middleData.getCalibration_EF_startOfRange();
|
||||
double efEndOfRange = middleData.getCalibration_EF_endOfRange();
|
||||
String efCoeffString = middleData.getCalibration_EF_coeff_string();
|
||||
calibration.setCalType(efCaltype);
|
||||
calibration.setFunction((int)efFunction);
|
||||
calibration.setFunctionDef(efFunctionDef);
|
||||
calibration.setStartOfRange((int)efStartOfRange);
|
||||
calibration.setEndOfRange((int)efEndOfRange);
|
||||
calibration.setCoeffString(efCoeffString);
|
||||
calibration.setModdate(new Date());
|
||||
calibrations.add(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();
|
||||
double rStartOfRange = middleData.getCalibration_R_startOfRange();
|
||||
double rEndOfRange = middleData.getCalibration_R_endOfRange();
|
||||
String rCoeffString = middleData.getCalibration_R_coeff_string();
|
||||
calibration.setCalType(rCaltype);
|
||||
calibration.setFunction((int)rFunction);
|
||||
calibration.setFunctionDef(rFunctionDef);
|
||||
calibration.setStartOfRange((int)rStartOfRange);
|
||||
calibration.setEndOfRange((int)rEndOfRange);
|
||||
calibration.setCoeffString(rCoeffString);
|
||||
calibration.setModdate(new Date());
|
||||
calibrations.add(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();
|
||||
double tStartOfRange = middleData.getCalibration_T_startOfRange();
|
||||
double tEndOfRange = middleData.getCalibration_T_endOfRange();
|
||||
String tCoeffString = middleData.getCalibration_T_coeff_string();
|
||||
calibration.setCalType(tCaltype);
|
||||
calibration.setFunction((int)middleData.getCalibration_T_function());
|
||||
calibration.setFunctionDef(tFunctionDef);
|
||||
calibration.setStartOfRange((int)tStartOfRange);
|
||||
calibration.setEndOfRange((int)tEndOfRange);
|
||||
calibration.setCoeffString(tCoeffString);
|
||||
calibration.setModdate(new Date());
|
||||
calibrations.add(calibration);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(calibrations)) {
|
||||
for (GardsCalibration calibration:calibrations) {
|
||||
calibrationSpectrumService.insertCalibration(calibration);
|
||||
}
|
||||
}
|
||||
return calibrations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void savePeaksROI(Integer sampleId, Integer idAnalysis) {
|
||||
List<GardsPeaksRoi> peaksRois = new ArrayList<>();
|
||||
|
@ -536,6 +742,18 @@ public class AnalysisManServiceImpl implements AnalysisManService {
|
|||
analySettingRoiService.saveBatch(analySettingRois);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void saveGardsXeResults(Integer sampleId, Integer idAnalysis, List<GardsXeResults> xeResultsList) {
|
||||
for (GardsXeResults xeResults:xeResultsList) {
|
||||
xeResults.setIdAnalysis(idAnalysis);
|
||||
xeResults.setSampleId(sampleId);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(xeResultsList)) {
|
||||
xeResultsSpectrumService.saveBatch(xeResultsList);
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String,String> fieldMap(){
|
||||
Map<String,String> fieldMap = new HashMap<>();
|
||||
// Gards_Nucl_Lines_Ided
|
|
@ -1,6 +1,7 @@
|
|||
package org.jeecg.modules.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.jeecg.modules.base.entity.rnman.GardsCalibration;
|
||||
import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn;
|
||||
import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
|
||||
|
@ -9,6 +10,8 @@ import java.util.List;
|
|||
|
||||
public interface IGardsCalibrationSpectrumService extends IService<GardsCalibration> {
|
||||
|
||||
void insertCalibration(GardsCalibration calibration);
|
||||
|
||||
int saveGardsCalibration(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis);
|
||||
|
||||
int saveCalibrationGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
|
||||
|
|
|
@ -26,6 +26,16 @@ import java.util.stream.Collectors;
|
|||
public class GardsCalibrationSpectrumServiceImpl extends ServiceImpl<GardsCalibrationSpectrumMapper, GardsCalibration> implements IGardsCalibrationSpectrumService {
|
||||
|
||||
|
||||
@Override
|
||||
public void insertCalibration(GardsCalibration calibration) {
|
||||
this.baseMapper.insertCalibration(calibration);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertCalibrationGamma(GardsCalibration calibration) {
|
||||
this.baseMapper.insertCalibrationGamma(calibration);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int saveGardsCalibration(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis) {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user