feat:自建台站自动处理分析结果存库
This commit is contained in:
parent
970d4f3027
commit
2e0814fa14
|
@ -0,0 +1,48 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@TableName("RNAUTO.GARDS_ANALYSIS_ROI")
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class GardsAnalysisRoi {
|
||||||
|
|
||||||
|
@TableId("IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
private Integer roiNum;
|
||||||
|
|
||||||
|
private Double minX;
|
||||||
|
|
||||||
|
private Double maxX;
|
||||||
|
|
||||||
|
private Double minY;
|
||||||
|
|
||||||
|
private Double maxY;
|
||||||
|
|
||||||
|
private String phdPath;
|
||||||
|
|
||||||
|
private String baselinePath;
|
||||||
|
|
||||||
|
private String lcPath;
|
||||||
|
|
||||||
|
private String scacPath;
|
||||||
|
|
||||||
|
private String logPath;
|
||||||
|
|
||||||
|
private String reportPath;
|
||||||
|
}
|
|
@ -0,0 +1,74 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 存储数据分析过程中能量、分辨率和效率刻度实际使用的刻度点数据。
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("RNAUTO.GARDS_CALIBRATION_PAIRS_ROI")
|
||||||
|
public class GardsCalibrationPairsRoi implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* G:gamma探测器的数据,#g_;B:beta探测器的数据,#b_
|
||||||
|
*/
|
||||||
|
@TableField(value = "SAMPLE_TYPE")
|
||||||
|
private String sampleType;
|
||||||
|
/**
|
||||||
|
* energy:能量刻度;
|
||||||
|
* efficiency:效率刻度;
|
||||||
|
* Resolution:分辨率刻度
|
||||||
|
*/
|
||||||
|
@TableField(value = "CALTYPE")
|
||||||
|
private String caltype;
|
||||||
|
/**
|
||||||
|
* PHD:代表数据来自PHD文件;External:代表数据来自外部,如刻度工具、其它文件等
|
||||||
|
*/
|
||||||
|
@TableField(value = "INPUT")
|
||||||
|
private String input;
|
||||||
|
/**
|
||||||
|
* 刻度点ID号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDCALPOINT")
|
||||||
|
private Integer idCalPoint;
|
||||||
|
|
||||||
|
@TableField(value = "XVALUE")
|
||||||
|
private Double xValue;
|
||||||
|
|
||||||
|
@TableField(value = "YVALUE")
|
||||||
|
private Double yValue;
|
||||||
|
|
||||||
|
@TableField(value = "DECAY_MODE")
|
||||||
|
private String decayMode;
|
||||||
|
/**
|
||||||
|
* y值不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCYVALUE")
|
||||||
|
private Double uncYValue;
|
||||||
|
|
||||||
|
@TableField(value = "MODDATE")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,119 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 存储数据分析过程中能量、分辨率和效率刻度的拟合结果。
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("RNAUTO.GARDS_CALIBRATION_ROI")
|
||||||
|
public class GardsCalibrationRoi implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
@TableField(value = "ROI_ID")
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* G:gamma探测器的数据,#g_;B:beta探测器的数据,#b_
|
||||||
|
*/
|
||||||
|
@TableField(value = "SAMPLE_TYPE")
|
||||||
|
private String sampleType;
|
||||||
|
/**
|
||||||
|
* energy:能量刻度;
|
||||||
|
* efficiency:效率刻度;
|
||||||
|
* Resolution:分辨率刻度
|
||||||
|
*/
|
||||||
|
@TableField(value = "CALTYPE")
|
||||||
|
private String calType;
|
||||||
|
/**
|
||||||
|
* 拟合方程ID号(统一定义)
|
||||||
|
*/
|
||||||
|
@TableField(value = "FUNCTION")
|
||||||
|
private Integer function;
|
||||||
|
/**
|
||||||
|
* 拟合方程描述
|
||||||
|
*/
|
||||||
|
@TableField(value = "FUNCTIONDEF")
|
||||||
|
private String functionDef;
|
||||||
|
/**
|
||||||
|
* 拟合的起始值
|
||||||
|
*/
|
||||||
|
@TableField(value = "STARTOFRANGE")
|
||||||
|
private Integer startOfRange;
|
||||||
|
/**
|
||||||
|
* 拟合的结束值
|
||||||
|
*/
|
||||||
|
@TableField(value = "ENDOFRANGE")
|
||||||
|
private Integer endOfRange;
|
||||||
|
/**
|
||||||
|
* 拟合系数1
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF1")
|
||||||
|
private Double coeff1;
|
||||||
|
/**
|
||||||
|
* 拟合系数2
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF2")
|
||||||
|
private Double coeff2;
|
||||||
|
/**
|
||||||
|
* 拟合系数3
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF3")
|
||||||
|
private Double coeff3;
|
||||||
|
/**
|
||||||
|
* 拟合系数4
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF4")
|
||||||
|
private Double coeff4;
|
||||||
|
/**
|
||||||
|
* 拟合系数5
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF5")
|
||||||
|
private Double coeff5;
|
||||||
|
/**
|
||||||
|
* 拟合系数6
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF6")
|
||||||
|
private Double coeff6;
|
||||||
|
/**
|
||||||
|
* 拟合系数7
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF7")
|
||||||
|
private Double coeff7;
|
||||||
|
/**
|
||||||
|
* 拟合系数8
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF8")
|
||||||
|
private Double coeff8;
|
||||||
|
/**
|
||||||
|
* 拟合系数9
|
||||||
|
*/
|
||||||
|
@TableField(value = "COEFF9")
|
||||||
|
private Double coeff9;
|
||||||
|
|
||||||
|
@TableField(value = "MODDATE")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
@TableField(value = "COEFF_STRING")
|
||||||
|
private String coeffString;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@TableName("RNAUTO.GARDS_MDC_ROI")
|
||||||
|
public class GardsMDCRoi implements Serializable {
|
||||||
|
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
@TableField(value = "ROI_ID")
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
@TableField(value = "NUCLIDENAME")
|
||||||
|
private String nuclideName;
|
||||||
|
|
||||||
|
@TableField(value = "ENERGY")
|
||||||
|
private Double energy;
|
||||||
|
|
||||||
|
@TableField(value = "YIELD")
|
||||||
|
private Double yield;
|
||||||
|
|
||||||
|
@TableField(value = "EFFICIENCY")
|
||||||
|
private Double efficiency;
|
||||||
|
|
||||||
|
@TableField(value = "MDC")
|
||||||
|
private String mdc;
|
||||||
|
|
||||||
|
@TableField(value = "MDC_ERR")
|
||||||
|
private String mdcErr;
|
||||||
|
|
||||||
|
@TableField(value = "MODDATE")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,122 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 存储gamma谱中识别到的核素计算结果。
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("RNAUTO.GARDS_NUCL_IDED_ROI")
|
||||||
|
public class GardsNuclIdedRoi implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
@TableField(value = "ROI_ID")
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素名称
|
||||||
|
*/
|
||||||
|
@TableField(value = "NUCLIDENAME")
|
||||||
|
private String nuclideName;
|
||||||
|
/**
|
||||||
|
* 核素类型
|
||||||
|
*/
|
||||||
|
@TableField(value = "TYPE")
|
||||||
|
private String type;
|
||||||
|
/**
|
||||||
|
* 核素半衰期
|
||||||
|
*/
|
||||||
|
@TableField(value = "HALFLIFE")
|
||||||
|
private String halflife;
|
||||||
|
/**
|
||||||
|
* 平均活度值
|
||||||
|
*/
|
||||||
|
@TableField(value = "AVE_ACTIV")
|
||||||
|
private String aveActiv;
|
||||||
|
/**
|
||||||
|
* 平均活度值不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "AVE_ACTIV_ERR")
|
||||||
|
private Double aveActivErr;
|
||||||
|
/**
|
||||||
|
* 主射线活度值
|
||||||
|
*/
|
||||||
|
@TableField(value = "ACTIV_KEY")
|
||||||
|
private Double activKey;
|
||||||
|
/**
|
||||||
|
* 主射线活度值不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "ACTIV_KEY_ERR")
|
||||||
|
private Double activKeyErr;
|
||||||
|
/**
|
||||||
|
* 核素的最小可探测活度
|
||||||
|
*/
|
||||||
|
@TableField(value = "MDA")
|
||||||
|
private String mda;
|
||||||
|
/**
|
||||||
|
* 核素的最小可探测活度不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "MDA_ERR")
|
||||||
|
private Double mdaErr;
|
||||||
|
/**
|
||||||
|
* 核素识别标志
|
||||||
|
*/
|
||||||
|
@TableField(value = "NID_FLAG")
|
||||||
|
private Integer nidFlag;
|
||||||
|
|
||||||
|
@TableField(value = "ACTIV_DECAY")
|
||||||
|
private Double activDecay;
|
||||||
|
|
||||||
|
@TableField(value = "ACTIV_DECAY_ERR")
|
||||||
|
private Double activDecayErr;
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子(无设为1)
|
||||||
|
*/
|
||||||
|
@TableField(value = "CSC_RATIO")
|
||||||
|
private Double cscRatio;
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子不确定度(无设为0)
|
||||||
|
*/
|
||||||
|
@TableField(value = "CSC_RATIO_ERR")
|
||||||
|
private Double cscRatioErr;
|
||||||
|
/**
|
||||||
|
* 活度是否经过符合相加校正
|
||||||
|
*/
|
||||||
|
@TableField(value = "CSC_MOD_FLAG")
|
||||||
|
private Integer cscModFlag;
|
||||||
|
|
||||||
|
@TableField(value = "MODDATE")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
@TableField(value = "MDC")
|
||||||
|
private String mdc;
|
||||||
|
|
||||||
|
@TableField(value = "CONCENTRATION")
|
||||||
|
private String concentration;
|
||||||
|
|
||||||
|
@TableField(value = "KEY_ENERGY")
|
||||||
|
private String keyEnergy;
|
||||||
|
|
||||||
|
@TableField(value = "KEY_YIELD")
|
||||||
|
private String keyYield;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,126 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 存储gamma谱中识别到的峰计算结果。
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("RNAUTO.GARDS_NUCL_LINES_IDED_ROI")
|
||||||
|
public class GardsNuclLinesIdedRoi implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
@TableField(value = "ROI_ID")
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰序号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDPEAK")
|
||||||
|
private Integer idPeak;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素名称
|
||||||
|
*/
|
||||||
|
@TableField(value = "NUCLIDENAME")
|
||||||
|
private String nuclideName;
|
||||||
|
|
||||||
|
@TableField(value = "MODDATE")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的能量(keV)
|
||||||
|
*/
|
||||||
|
@TableField(value = "ENERGY")
|
||||||
|
private Double energy;
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的能量不确定度(keV)
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCENERGY")
|
||||||
|
private Double uncEnergy;
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的发射几率
|
||||||
|
*/
|
||||||
|
@TableField(value = "ABUNDANCE")
|
||||||
|
private Double abundance;
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的发射几率不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCABUNDANCE")
|
||||||
|
private Double uncAbundance;
|
||||||
|
/**
|
||||||
|
* 利用该峰计算得到的活度
|
||||||
|
*/
|
||||||
|
@TableField(value = "ACTIVITY")
|
||||||
|
private String activity;
|
||||||
|
/**
|
||||||
|
* 利用该峰计算得到的活度不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCACTIVITY")
|
||||||
|
private Double uncActivity;
|
||||||
|
/**
|
||||||
|
* 该峰处的探测效率
|
||||||
|
*/
|
||||||
|
@TableField(value = "EFFIC")
|
||||||
|
private Double effic;
|
||||||
|
/**
|
||||||
|
* 该峰处的探测效率不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNEFFIC")
|
||||||
|
private Double unEffic;
|
||||||
|
/**
|
||||||
|
* 利用该峰计算得到的最小可探测活度
|
||||||
|
*/
|
||||||
|
@TableField(value = "MDA")
|
||||||
|
private Double mda;
|
||||||
|
/**
|
||||||
|
* 主射线标识:0-否;1-是
|
||||||
|
*/
|
||||||
|
@TableField(value = "KEY_FLAG")
|
||||||
|
private Double keyFlag;
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子(无设为1)
|
||||||
|
*/
|
||||||
|
@TableField(value = "CSC_RATIO")
|
||||||
|
private Double cscRatio;
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子不确定度(无设为0)
|
||||||
|
*/
|
||||||
|
@TableField(value = "CSC_RATIO_ERR")
|
||||||
|
private Double cscRatioErr;
|
||||||
|
/**
|
||||||
|
* 活度是否经过符合相加校正
|
||||||
|
*/
|
||||||
|
@TableField(value = "CSC_MOD_FLAG")
|
||||||
|
private Double cscModFlag;
|
||||||
|
|
||||||
|
@TableField(value = "NUCLIDEFULLNAME")
|
||||||
|
private String nuclidefullname;
|
||||||
|
|
||||||
|
@TableField(value = "MDC")
|
||||||
|
private String mdc;
|
||||||
|
|
||||||
|
@TableField(value = "CONCENTRATION")
|
||||||
|
private String concentration;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,166 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 存储gamma谱的寻峰结果
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("RNAUTO.GARDS_PEAKS_ROI")
|
||||||
|
public class GardsPeaksRoi implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
/**
|
||||||
|
* 峰序号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDPEAK")
|
||||||
|
private Integer idPeak;
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
@TableField(value = "ROI_ID")
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
@TableField(value = "MODDATE")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰中心道(道址)
|
||||||
|
*/
|
||||||
|
@TableField(value = "CENTROIDCHANNEL")
|
||||||
|
private Double centroidChannel;
|
||||||
|
/**
|
||||||
|
* 峰中心道不确定度(道址)
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCCENTROIDCHANNEL")
|
||||||
|
private Double uncCentroidChannel;
|
||||||
|
/**
|
||||||
|
* 峰中心道能量(keV)
|
||||||
|
*/
|
||||||
|
@TableField(value = "ENERGY")
|
||||||
|
private Double energy;
|
||||||
|
/**
|
||||||
|
* 峰中心道能量不确定度(keV)
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCENERGY")
|
||||||
|
private Double uncEnergy;
|
||||||
|
/**
|
||||||
|
* 峰面积(计数)。已扣除基线面积,但未扣除空白样品计数和探测器本底计数
|
||||||
|
*/
|
||||||
|
@TableField(value = "AREA")
|
||||||
|
private Double area;
|
||||||
|
/**
|
||||||
|
* 峰面积不确定度(计数)
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCAREA")
|
||||||
|
private Double uncArea;
|
||||||
|
/**
|
||||||
|
* 峰的净计数率(1/s)=峰面积/活时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "NETCOUNTRATE")
|
||||||
|
private Double netCountRate;
|
||||||
|
/**
|
||||||
|
* 峰的净计数率的不确定度(1/s)
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCNETCOUNTRATE")
|
||||||
|
private Double uncNetCountRate;
|
||||||
|
/**
|
||||||
|
* 测量系统在峰能量处的绝对效率
|
||||||
|
*/
|
||||||
|
@TableField(value = "EFFICIENCY")
|
||||||
|
private Double efficiency;
|
||||||
|
/**
|
||||||
|
* 测量系统在峰能量处的绝对效率的不确定度
|
||||||
|
*/
|
||||||
|
@TableField(value = "UNCEFFICIENCY")
|
||||||
|
private Double uncefficiency;
|
||||||
|
/**
|
||||||
|
* 峰的半高宽(道)
|
||||||
|
*/
|
||||||
|
@TableField(value = "FWHM")
|
||||||
|
private Double fwhm;
|
||||||
|
/**
|
||||||
|
* 峰的十分之一高宽(道)
|
||||||
|
*/
|
||||||
|
@TableField(value = "FWTM")
|
||||||
|
private Double fwtm;
|
||||||
|
/**
|
||||||
|
* 峰的重要性因子
|
||||||
|
*/
|
||||||
|
@TableField(value = "SIGNIFICANCE")
|
||||||
|
private Double significance;
|
||||||
|
/**
|
||||||
|
* 峰的可探测线Lc
|
||||||
|
*/
|
||||||
|
@TableField(value = "LC")
|
||||||
|
private Double lc;
|
||||||
|
/**
|
||||||
|
* 峰的感兴趣区的起始道
|
||||||
|
*/
|
||||||
|
@TableField(value = "ROISTART")
|
||||||
|
private Double roiStart;
|
||||||
|
/**
|
||||||
|
* 峰的感兴趣区的结束道
|
||||||
|
*/
|
||||||
|
@TableField(value = "ROIEND")
|
||||||
|
private Double roiEnd;
|
||||||
|
|
||||||
|
@TableField(value = "MULTIINDEX")
|
||||||
|
private Double mulitiIndex;
|
||||||
|
|
||||||
|
@TableField(value = "TAIL")
|
||||||
|
private Double tail;
|
||||||
|
|
||||||
|
@TableField(value = "TAILALPHA")
|
||||||
|
private Double tailAlpha;
|
||||||
|
|
||||||
|
@TableField(value = "UPPERTAIL")
|
||||||
|
private Double upperTail;
|
||||||
|
|
||||||
|
@TableField(value = "UPPERTAILALPHA")
|
||||||
|
private Double upperTailAlpha;
|
||||||
|
|
||||||
|
@TableField(value = "BWWIDTHCHAN")
|
||||||
|
private Double bwwidthchan;
|
||||||
|
|
||||||
|
@TableField(value = "RECOILDELTACHAN")
|
||||||
|
private Double recoildeltachan;
|
||||||
|
|
||||||
|
@TableField(value = "STEPRAIO")
|
||||||
|
private Double stepraio;
|
||||||
|
|
||||||
|
@TableField(value = "LD")
|
||||||
|
private Double ld;
|
||||||
|
|
||||||
|
@TableField(value = "SENSITIVITY")
|
||||||
|
private Double sensitivity;
|
||||||
|
|
||||||
|
@TableField(value = "BACKGROUNDAREA")
|
||||||
|
private Double backgroundarea;
|
||||||
|
|
||||||
|
@TableField(value = "MEANBACKCOUNT")
|
||||||
|
private Double meanbackcount;
|
||||||
|
|
||||||
|
@TableField(value = "RECOILBETACHAN")
|
||||||
|
private Double recoilbetachan;
|
||||||
|
|
||||||
|
@TableField(value = "PEAKCOMMENTS")
|
||||||
|
private String peakcomments;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnauto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@TableName(value = "RNAUTO.GARDS_QC_CHECK_ROI")
|
||||||
|
public class GardsQcCheckRoi implements Serializable {
|
||||||
|
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
@TableField(value = "ROI_ID")
|
||||||
|
private Integer roiId;
|
||||||
|
|
||||||
|
@TableField(value = "QC_NAME")
|
||||||
|
private String qcName;
|
||||||
|
|
||||||
|
@TableField(value = "QC_VALUE")
|
||||||
|
private Double qcValue;
|
||||||
|
|
||||||
|
@TableField(value = "QC_STANDARD")
|
||||||
|
private String qcStandard;
|
||||||
|
|
||||||
|
@TableField(value = "QC_RESULT")
|
||||||
|
private Integer qcResult;
|
||||||
|
|
||||||
|
@TableField(value = "MODDATE")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
}
|
|
@ -2,14 +2,17 @@ package org.jeecg.modules.spectrum;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.map.MapUtil;
|
import cn.hutool.core.map.MapUtil;
|
||||||
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
|
import com.google.common.collect.HashBasedTable;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
import com.google.common.collect.Table;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
@ -18,6 +21,7 @@ import org.jeecg.common.constant.enums.SpectrumSystemType;
|
||||||
import org.jeecg.common.properties.ParameterProperties;
|
import org.jeecg.common.properties.ParameterProperties;
|
||||||
import org.jeecg.common.properties.SpectrumPathProperties;
|
import org.jeecg.common.properties.SpectrumPathProperties;
|
||||||
import org.jeecg.common.util.*;
|
import org.jeecg.common.util.*;
|
||||||
|
import org.jeecg.modules.ErrorLogManager;
|
||||||
import org.jeecg.modules.base.bizVo.AttributeItemVo;
|
import org.jeecg.modules.base.bizVo.AttributeItemVo;
|
||||||
import org.jeecg.modules.base.dto.*;
|
import org.jeecg.modules.base.dto.*;
|
||||||
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
import org.jeecg.modules.base.entity.original.GardsSampleData;
|
||||||
|
@ -26,10 +30,10 @@ import org.jeecg.modules.base.enums.DSType;
|
||||||
import org.jeecg.modules.base.enums.MiddleDataType;
|
import org.jeecg.modules.base.enums.MiddleDataType;
|
||||||
import org.jeecg.modules.base.enums.SpectrumType;
|
import org.jeecg.modules.base.enums.SpectrumType;
|
||||||
import org.jeecg.modules.config.datasource.DataSourceSwitcher;
|
import org.jeecg.modules.config.datasource.DataSourceSwitcher;
|
||||||
|
import org.jeecg.modules.eneity.event.SpectrumErrorEvent;
|
||||||
import org.jeecg.modules.entity.vo.*;
|
import org.jeecg.modules.entity.vo.*;
|
||||||
import org.jeecg.modules.exception.AnalySpectrumException;
|
import org.jeecg.modules.exception.AnalySpectrumException;
|
||||||
import org.jeecg.modules.exception.CAnalyseException;
|
import org.jeecg.modules.exception.CAnalyseException;
|
||||||
import org.jeecg.modules.exception.GAnalyseException;
|
|
||||||
import org.jeecg.modules.file.FileOperation;
|
import org.jeecg.modules.file.FileOperation;
|
||||||
import org.jeecg.modules.native_jni.EnergySpectrumHandler;
|
import org.jeecg.modules.native_jni.EnergySpectrumHandler;
|
||||||
import org.jeecg.modules.native_jni.struct.BgBoundary;
|
import org.jeecg.modules.native_jni.struct.BgBoundary;
|
||||||
|
@ -127,6 +131,8 @@ public class Sample_C_Analysis {
|
||||||
private PHDFile phdFile3;
|
private PHDFile phdFile3;
|
||||||
private PHDFile phdFile4;
|
private PHDFile phdFile4;
|
||||||
|
|
||||||
|
private Table<Integer, Integer, GStoreMiddleProcessData> middleDataTable;
|
||||||
|
|
||||||
public Sample_C_Analysis(AbstractS_D_Q_G_SpectrumHandler spectrumHandler, EnergySpectrumStruct sampleStruct, SpectrumServiceQuotes serviceQuotes,
|
public Sample_C_Analysis(AbstractS_D_Q_G_SpectrumHandler spectrumHandler, EnergySpectrumStruct sampleStruct, SpectrumServiceQuotes serviceQuotes,
|
||||||
GardsSampleData sampleData) {
|
GardsSampleData sampleData) {
|
||||||
this.spectrumHandler = spectrumHandler;
|
this.spectrumHandler = spectrumHandler;
|
||||||
|
@ -189,19 +195,20 @@ public class Sample_C_Analysis {
|
||||||
Map<String, NuclideLines> nuclideLibs = this.getNuclideLinesG();
|
Map<String, NuclideLines> nuclideLibs = this.getNuclideLinesG();
|
||||||
|
|
||||||
//读取参数内容
|
//读取参数内容
|
||||||
readMDCParameter(phdFile1);
|
Map<String, CalMDCInfo> mdcInfoMap = readMDCParameter(phdFile1, phdFile2, phdFile3, phdFile4);
|
||||||
readMDCParameter(phdFile2);
|
|
||||||
readMDCParameter(phdFile3);
|
|
||||||
readMDCParameter(phdFile4);
|
|
||||||
|
|
||||||
// 执行分析业务代码
|
// 执行分析业务代码
|
||||||
boolean analyFlag1 = gammaFileUtil.GetMiddleData(phdFile1, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData1, MiddleDataType.Auto.getType(), "");
|
boolean analyFlag1 = gammaFileUtil.GetMiddleData(phdFile1, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData1, MiddleDataType.Auto.getType(), "");
|
||||||
boolean analyFlag2 = gammaFileUtil.GetMiddleData(phdFile2, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData2, MiddleDataType.Auto.getType(), "");
|
boolean analyFlag2 = gammaFileUtil.GetMiddleData(phdFile2, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData2, MiddleDataType.Auto.getType(), "");
|
||||||
boolean analyFlag3 = gammaFileUtil.GetMiddleData(phdFile3, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData3, MiddleDataType.Auto.getType(), "");
|
boolean analyFlag3 = gammaFileUtil.GetMiddleData(phdFile3, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData3, MiddleDataType.Auto.getType(), "");
|
||||||
boolean analyFlag4 = gammaFileUtil.GetMiddleData(phdFile4, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData4, MiddleDataType.Auto.getType(), "");
|
boolean analyFlag4 = gammaFileUtil.GetMiddleData(phdFile4, CommonConstant.REPORT_PREFIX_AUTO, nuclideLibs, middleData4, MiddleDataType.Auto.getType(), "");
|
||||||
|
// 数据插入数据库
|
||||||
|
this.storageDataToDatabase(mdcInfoMap, null,
|
||||||
|
middleData1, middleData2, middleData3, middleData4);
|
||||||
/*if (analyFlag) {
|
/*if (analyFlag) {
|
||||||
// 数据插入数据库
|
// 数据插入数据库
|
||||||
this.storageDataToDatabase(phdFile, middleData, phdFile.getQcItems());
|
this.storageDataToDatabase(mdcInfoMap, null,
|
||||||
|
middleData1, middleData2, middleData3, middleData4);
|
||||||
|
|
||||||
// 生成日志文件
|
// 生成日志文件
|
||||||
writeLog(middleData.getAnalyses_LogPath(), middleData);
|
writeLog(middleData.getAnalyses_LogPath(), middleData);
|
||||||
|
@ -316,9 +323,11 @@ public class Sample_C_Analysis {
|
||||||
/**
|
/**
|
||||||
* 读取计算MDC参数文件方法
|
* 读取计算MDC参数文件方法
|
||||||
*/
|
*/
|
||||||
public void readMDCParameter(PHDFile phd) {
|
public Map<String, CalMDCInfo> readMDCParameter(PHDFile... phdFiles) {
|
||||||
//存储文件结果用的map
|
//存储文件结果用的map
|
||||||
Map<String, CalMDCInfo> mdcInfoMap = new TreeMap<>();
|
Map<String, CalMDCInfo> mdcInfoMap = new TreeMap<>();
|
||||||
|
if (ArrayUtil.isEmpty(phdFiles)) return mdcInfoMap;
|
||||||
|
String systemType = phdFiles[0].getHeader().getSystem_type();
|
||||||
//配置文件路径
|
//配置文件路径
|
||||||
String filePath = parameterProperties.getFilePath()+ File.separator + "MDCParameter.xml";
|
String filePath = parameterProperties.getFilePath()+ File.separator + "MDCParameter.xml";
|
||||||
try {
|
try {
|
||||||
|
@ -339,7 +348,7 @@ public class Sample_C_Analysis {
|
||||||
for (int i=0; i<docChildNodes.getLength(); i++) {
|
for (int i=0; i<docChildNodes.getLength(); i++) {
|
||||||
//获取节点信息
|
//获取节点信息
|
||||||
Node node = docChildNodes.item(i);
|
Node node = docChildNodes.item(i);
|
||||||
if (node.getNodeName().equalsIgnoreCase(phd.getHeader().getSystem_type())) {
|
if (node.getNodeName().equalsIgnoreCase(systemType)) {
|
||||||
NodeList childNodes = node.getChildNodes();
|
NodeList childNodes = node.getChildNodes();
|
||||||
if (Objects.nonNull(childNodes) && childNodes.getLength() > 0) {
|
if (Objects.nonNull(childNodes) && childNodes.getLength() > 0) {
|
||||||
//遍历子节点信息
|
//遍历子节点信息
|
||||||
|
@ -374,16 +383,15 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollectionUtils.isNotEmpty(mdcInfoMap)) {
|
if (MapUtil.isNotEmpty(mdcInfoMap)) {
|
||||||
phd.setMdcInfoMap(mdcInfoMap);
|
for (PHDFile phdFile : phdFiles) {
|
||||||
|
phdFile.setMdcInfoMap(mdcInfoMap);
|
||||||
}
|
}
|
||||||
} catch (ParserConfigurationException e) {
|
}
|
||||||
throw new RuntimeException(e);
|
} catch (ParserConfigurationException | IOException | SAXException e) {
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
} catch (SAXException e) {
|
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
return mdcInfoMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -413,43 +421,40 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void storageDataToDatabase(PHDFile phdFile, GStoreMiddleProcessData middleData, Map<String, QcCheckItem> qcItems){
|
public void storageDataToDatabase(Map<String, CalMDCInfo> mdcInfoMap, Map<String, QcCheckItem> qcItems, GStoreMiddleProcessData... middleDatas){
|
||||||
//如果数据已经存储,不在重复存储
|
// 如果数据已经存储 不再重复存储
|
||||||
final Integer idAnalysis = serviceQuotes.getAnalysesService().getIdAnalysis(this.sampleData.getSampleId());
|
final Integer idAnalysisAny = serviceQuotes.getAnalysisRoiAutoService().getIdAnalysisAny(this.sampleData.getSampleId());
|
||||||
if(Objects.nonNull(idAnalysis)){
|
if(Objects.nonNull(idAnalysisAny)) return;
|
||||||
// log.warn("{} file analysis data has been stored",new File(this.sampleTempFilePath).getName());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
DataSourceSwitcher.switchToOracle();
|
DataSourceSwitcher.switchToOracle();
|
||||||
final TransactionStatus transactionStatus = serviceQuotes.getTransactionManager().getTransaction(serviceQuotes.getTransactionDefinition());
|
final TransactionStatus transactionStatus = serviceQuotes.getTransactionManager().getTransaction(serviceQuotes.getTransactionDefinition());
|
||||||
try {
|
try {
|
||||||
Integer sampleId = this.sampleData.getSampleId();
|
Integer sampleId = this.sampleData.getSampleId();
|
||||||
// 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES
|
// 保存分析结果 ==> INSERT INTO RNAUTO.GARDS_ANALYSES
|
||||||
saveAnalysis(middleData, sampleId);
|
saveAnalysisROI(sampleId, middleDatas);
|
||||||
// 获取分析结果ID ==> SELECT IDANALYSIS
|
// 获取Table IdAnalysis:RoiId:GStoreMiddleProcessData
|
||||||
Integer IdAnalysis = getIdAnalysis(sampleId);
|
middleDataTable(sampleId, middleDatas);
|
||||||
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
// 修改保存结果状态 ==> UPDATE ORIGINAL.GARDS_SAMPLE_DATA
|
||||||
// serviceQuotes.getSampleDataService().updateStatus(null,null);
|
// serviceQuotes.getSampleDataService().updateStatus(null,null);
|
||||||
/* GARDS_CALIBRATION_PAIRS 数据表保存 */
|
/* GARDS_CALIBRATION_PAIRS_ROI 数据表保存 */
|
||||||
saveCalibrationPairs(middleData, sampleId, IdAnalysis);
|
saveCalibrationPairsROI(sampleId);
|
||||||
/* GARDS_CALIBRATION 数据表保存 */
|
/* GARDS_CALIBRATION_ROI 数据表保存 */
|
||||||
saveCalibration(middleData, sampleId, IdAnalysis);
|
saveCalibrationROI(sampleId);
|
||||||
/* Gards_Peaks 数据表保存 */
|
/* Gards_Peaks_ROI 数据表保存 */
|
||||||
savePeaks(middleData, sampleId, IdAnalysis);
|
savePeaksROI(sampleId);
|
||||||
/* Gards_Nucl_Lines_Ided 数据表保存 */
|
/* Gards_Nucl_Lines_Ided_ROI 数据表保存 */
|
||||||
saveNuclLinesIded(middleData, sampleId, IdAnalysis);
|
saveNuclLinesIdedROI(sampleId);
|
||||||
/* Gards_Nucl_Ided 数据表保存 */
|
/* Gards_Nucl_Ided_ROI 数据表保存 */
|
||||||
saveNuclIded(middleData, sampleId, IdAnalysis);
|
saveNuclIdedROI(sampleId);
|
||||||
/* Gards_Qc_Check 数据表保存 */
|
/* Gards_Qc_Check_ROI 数据表保存 */
|
||||||
saveQcCheck(middleData, sampleId, IdAnalysis, qcItems);
|
// saveQcCheckROI(sampleId, qcItems);
|
||||||
/* GARDS_MDC 数据表保存 */
|
/* GARDS_MDC_ROI 数据表保存 */
|
||||||
saveMDC(sampleId, IdAnalysis, phdFile.getMdcInfoMap());
|
saveMDCROI(sampleId, mdcInfoMap);
|
||||||
//提交事务
|
//提交事务
|
||||||
serviceQuotes.getTransactionManager().commit(transactionStatus);
|
serviceQuotes.getTransactionManager().commit(transactionStatus);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
//设置分析数据存储失败标记
|
// 设置分析数据存储失败标记
|
||||||
// this.parsingProcessLog.setAnalysisDataStoreFlag(false);
|
// this.parsingProcessLog.setAnalysisDataStoreFlag(false);
|
||||||
//回滚事务
|
// 回滚事务
|
||||||
serviceQuotes.getTransactionManager().rollback(transactionStatus);
|
serviceQuotes.getTransactionManager().rollback(transactionStatus);
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -732,31 +737,60 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveAnalysis(GStoreMiddleProcessData middleData,Integer sampleId){
|
public void saveAnalysisROI(Integer sampleId, GStoreMiddleProcessData... middleDatas){
|
||||||
GardsAnalyses analysis = toAnalysis(middleData);
|
List<GardsAnalysisRoi> analysisRois = new ArrayList<>();
|
||||||
analysis.setSampleId(sampleId);
|
for (GStoreMiddleProcessData middleData : middleDatas) {
|
||||||
serviceQuotes.getAnalysesService().save(analysis);
|
GardsAnalysisRoi analysisRoi = new GardsAnalysisRoi();
|
||||||
|
analysisRoi.setSampleId(sampleId);
|
||||||
|
analysisRoi.setPhdPath(this.spectrumHandler.spectrumFileRelativePath);
|
||||||
|
analysisRoi.setBaselinePath(middleData.getAnalyses_baseline_filePath());
|
||||||
|
analysisRoi.setLcPath(middleData.getAnalyses_lc_filePath());
|
||||||
|
analysisRoi.setScacPath(middleData.getAnalyses_scac_filePath());
|
||||||
|
analysisRoi.setLogPath(middleData.getAnalyses_LogPath());
|
||||||
|
analysisRoi.setReportPath(middleData.getAnalyses_ReportPath());
|
||||||
|
analysisRois.add(analysisRoi);
|
||||||
|
}
|
||||||
|
// ROI 相关列值赋值
|
||||||
|
List<String> roiNumber = this.sampleStruct.ROI_number;
|
||||||
|
for (int i = 0; i < roiNumber.size(); i++) {
|
||||||
|
GardsAnalysisRoi analysisRoi = analysisRois.get(i);
|
||||||
|
analysisRoi.setRoiNum(Integer.valueOf(roiNumber.get(i)));
|
||||||
|
analysisRoi.setMinX(this.sampleStruct.POI_B_x1.get(i));
|
||||||
|
analysisRoi.setMaxX(this.sampleStruct.POI_B_x2.get(i));
|
||||||
|
analysisRoi.setMinY(this.sampleStruct.POI_G_y1.get(i));
|
||||||
|
analysisRoi.setMaxY(this.sampleStruct.POI_G_y2.get(i));
|
||||||
|
}
|
||||||
|
serviceQuotes.getAnalysisRoiAutoService().saveBatch(analysisRois);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getIdAnalysis(Integer sampleId){
|
public void middleDataTable(Integer sampleId, GStoreMiddleProcessData... middleDatas){
|
||||||
return serviceQuotes.getAnalysesService().getIdAnalysis(sampleId);
|
List<GardsAnalysisRoi> analysisRois = serviceQuotes.getAnalysisRoiAutoService().analysisRoi(sampleId);
|
||||||
|
Table<Integer, Integer, GStoreMiddleProcessData> middleDataTable = HashBasedTable.create();
|
||||||
|
for (int i = 0; i < analysisRois.size(); i++) {
|
||||||
|
GardsAnalysisRoi analysisRoi = analysisRois.get(i);
|
||||||
|
Integer idAnalysis = analysisRoi.getIdAnalysis();
|
||||||
|
Integer roiId = analysisRoi.getRoiId();
|
||||||
|
middleDataTable.put(idAnalysis, roiId, middleDatas[i]);
|
||||||
|
}
|
||||||
|
this.middleDataTable = middleDataTable;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveCalibrationPairs(GStoreMiddleProcessData middleData,
|
public List<GardsCalibrationPairsRoi> saveCalibrationPairsROI(Integer sampleId, Integer IdAnalysis,
|
||||||
Integer sampleId, Integer IdAnalysis){
|
Integer roiId, GStoreMiddleProcessData middleData){
|
||||||
String pairsSampleType = middleData.getCalibration_pairs_sample_type();
|
String pairsSampleType = middleData.getCalibration_pairs_sample_type();
|
||||||
GardsCalibrationPairs pairs = new GardsCalibrationPairs();
|
GardsCalibrationPairsRoi pairs = new GardsCalibrationPairsRoi();
|
||||||
// GARDS_CALIBRATION_PAIRS (Energy) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
// GARDS_CALIBRATION_PAIRS (Energy) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||||
String base_E_Paris = "calibration_pairs_E_idCalPoint";
|
String base_E_Paris = "calibration_pairs_E_idCalPoint";
|
||||||
PairsEDto pairsEDto = new PairsEDto();
|
PairsEDto pairsEDto = new PairsEDto();
|
||||||
BeanUtil.copyProperties(middleData,pairsEDto);
|
BeanUtil.copyProperties(middleData, pairsEDto);
|
||||||
List<GardsCalibrationPairs> pairsE = Lists.newArrayList();
|
List<GardsCalibrationPairsRoi> pairsE = Lists.newArrayList();
|
||||||
if (pairsEDto.getCalibration_pairs_E_idCalPoint().size() > 0) {
|
if (pairsEDto.getCalibration_pairs_E_idCalPoint().size() > 0) {
|
||||||
pairsE = mapFields(pairsEDto, pairs, base_E_Paris, fieldMap);
|
pairsE = mapFields(pairsEDto, pairs, base_E_Paris, fieldMap);
|
||||||
String pairsECaltype = middleData.getCalibration_pairs_E_Caltype();
|
String pairsECaltype = middleData.getCalibration_pairs_E_Caltype();
|
||||||
String pairsEInput = middleData.getCalibration_pairs_E_Input();
|
String pairsEInput = middleData.getCalibration_pairs_E_Input();
|
||||||
for (GardsCalibrationPairs onePairs : pairsE) {
|
for (GardsCalibrationPairsRoi onePairs : pairsE) {
|
||||||
onePairs.setSampleId(sampleId);
|
onePairs.setSampleId(sampleId);
|
||||||
|
onePairs.setRoiId(roiId);
|
||||||
onePairs.setIdAnalysis(IdAnalysis);
|
onePairs.setIdAnalysis(IdAnalysis);
|
||||||
onePairs.setSampleType(pairsSampleType);
|
onePairs.setSampleType(pairsSampleType);
|
||||||
onePairs.setCaltype(pairsECaltype);
|
onePairs.setCaltype(pairsECaltype);
|
||||||
|
@ -766,14 +800,15 @@ public class Sample_C_Analysis {
|
||||||
// GARDS_CALIBRATION_PAIRS (Efficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
// GARDS_CALIBRATION_PAIRS (Efficiency) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION_PAIRS
|
||||||
String base_EF_Paris = "calibration_pairs_EF_idCalPoint";
|
String base_EF_Paris = "calibration_pairs_EF_idCalPoint";
|
||||||
PairsEFDto pairsEFDto = new PairsEFDto();
|
PairsEFDto pairsEFDto = new PairsEFDto();
|
||||||
BeanUtil.copyProperties(middleData,pairsEFDto);
|
BeanUtil.copyProperties(middleData, pairsEFDto);
|
||||||
List<GardsCalibrationPairs> pairsEF = Lists.newArrayList();
|
List<GardsCalibrationPairsRoi> pairsEF = Lists.newArrayList();
|
||||||
if (pairsEFDto.getCalibration_pairs_EF_idCalPoint().size() > 0) {
|
if (pairsEFDto.getCalibration_pairs_EF_idCalPoint().size() > 0) {
|
||||||
pairsEF = mapFields(pairsEFDto, pairs, base_EF_Paris, fieldMap);
|
pairsEF = mapFields(pairsEFDto, pairs, base_EF_Paris, fieldMap);
|
||||||
String pairsEFCaltype = middleData.getCalibration_pairs_EF_Caltype();
|
String pairsEFCaltype = middleData.getCalibration_pairs_EF_Caltype();
|
||||||
String pairsEFInput = middleData.getCalibration_pairs_EF_Input();
|
String pairsEFInput = middleData.getCalibration_pairs_EF_Input();
|
||||||
for (GardsCalibrationPairs onePairs : pairsEF) {
|
for (GardsCalibrationPairsRoi onePairs : pairsEF) {
|
||||||
onePairs.setSampleId(sampleId);
|
onePairs.setSampleId(sampleId);
|
||||||
|
onePairs.setRoiId(roiId);
|
||||||
onePairs.setIdAnalysis(IdAnalysis);
|
onePairs.setIdAnalysis(IdAnalysis);
|
||||||
onePairs.setSampleType(pairsSampleType);
|
onePairs.setSampleType(pairsSampleType);
|
||||||
onePairs.setCaltype(pairsEFCaltype);
|
onePairs.setCaltype(pairsEFCaltype);
|
||||||
|
@ -784,13 +819,14 @@ public class Sample_C_Analysis {
|
||||||
String base_R_Paris = "calibration_pairs_R_idCalPoint";
|
String base_R_Paris = "calibration_pairs_R_idCalPoint";
|
||||||
PairsRDto pairsRDto = new PairsRDto();
|
PairsRDto pairsRDto = new PairsRDto();
|
||||||
BeanUtil.copyProperties(middleData,pairsRDto);
|
BeanUtil.copyProperties(middleData,pairsRDto);
|
||||||
List<GardsCalibrationPairs> pairsR = Lists.newArrayList();
|
List<GardsCalibrationPairsRoi> pairsR = Lists.newArrayList();
|
||||||
if (pairsRDto.getCalibration_pairs_R_idCalPoint().size() > 0) {
|
if (pairsRDto.getCalibration_pairs_R_idCalPoint().size() > 0) {
|
||||||
pairsR = mapFields(pairsRDto, pairs, base_R_Paris, fieldMap);
|
pairsR = mapFields(pairsRDto, pairs, base_R_Paris, fieldMap);
|
||||||
String pairsRCaltype = middleData.getCalibration_pairs_R_Caltype();
|
String pairsRCaltype = middleData.getCalibration_pairs_R_Caltype();
|
||||||
String pairsRInput = middleData.getCalibration_pairs_R_Input();
|
String pairsRInput = middleData.getCalibration_pairs_R_Input();
|
||||||
for (GardsCalibrationPairs onePairs : pairsR) {
|
for (GardsCalibrationPairsRoi onePairs : pairsR) {
|
||||||
onePairs.setSampleId(sampleId);
|
onePairs.setSampleId(sampleId);
|
||||||
|
onePairs.setRoiId(roiId);
|
||||||
onePairs.setIdAnalysis(IdAnalysis);
|
onePairs.setIdAnalysis(IdAnalysis);
|
||||||
onePairs.setSampleType(pairsSampleType);
|
onePairs.setSampleType(pairsSampleType);
|
||||||
onePairs.setCaltype(pairsRCaltype);
|
onePairs.setCaltype(pairsRCaltype);
|
||||||
|
@ -801,13 +837,14 @@ public class Sample_C_Analysis {
|
||||||
String base_T_Paris = "calibration_pairs_T_idCalPoint";
|
String base_T_Paris = "calibration_pairs_T_idCalPoint";
|
||||||
PairsTDto pairsTDto = new PairsTDto();
|
PairsTDto pairsTDto = new PairsTDto();
|
||||||
BeanUtil.copyProperties(middleData,pairsTDto);
|
BeanUtil.copyProperties(middleData,pairsTDto);
|
||||||
List<GardsCalibrationPairs> pairsT = Lists.newArrayList();
|
List<GardsCalibrationPairsRoi> pairsT = Lists.newArrayList();
|
||||||
if (pairsTDto.getCalibration_pairs_T_idCalPoint().size() > 0) {
|
if (pairsTDto.getCalibration_pairs_T_idCalPoint().size() > 0) {
|
||||||
pairsT = mapFields(pairsTDto, pairs, base_T_Paris, fieldMap);
|
pairsT = mapFields(pairsTDto, pairs, base_T_Paris, fieldMap);
|
||||||
String pairsTCaltype = middleData.getCalibration_pairs_T_Caltype();
|
String pairsTCaltype = middleData.getCalibration_pairs_T_Caltype();
|
||||||
String pairsTInput = middleData.getCalibration_pairs_T_Input();
|
String pairsTInput = middleData.getCalibration_pairs_T_Input();
|
||||||
for (GardsCalibrationPairs onePairs : pairsT) {
|
for (GardsCalibrationPairsRoi onePairs : pairsT) {
|
||||||
onePairs.setSampleId(sampleId);
|
onePairs.setSampleId(sampleId);
|
||||||
|
onePairs.setRoiId(roiId);
|
||||||
onePairs.setIdAnalysis(IdAnalysis);
|
onePairs.setIdAnalysis(IdAnalysis);
|
||||||
onePairs.setSampleType(pairsSampleType);
|
onePairs.setSampleType(pairsSampleType);
|
||||||
onePairs.setCaltype(pairsTCaltype);
|
onePairs.setCaltype(pairsTCaltype);
|
||||||
|
@ -815,23 +852,37 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// GARDS_CALIBRATION_PAIRS 汇总保存
|
// GARDS_CALIBRATION_PAIRS 汇总保存
|
||||||
List<GardsCalibrationPairs> allPairs = new ArrayList<>();
|
List<GardsCalibrationPairsRoi> allPairs = new ArrayList<>();
|
||||||
allPairs.addAll(pairsE);allPairs.addAll(pairsEF);
|
allPairs.addAll(pairsE);allPairs.addAll(pairsEF);
|
||||||
allPairs.addAll(pairsR);allPairs.addAll(pairsT);
|
allPairs.addAll(pairsR);allPairs.addAll(pairsT);
|
||||||
serviceQuotes.getGardsCalibrationPairsService().saveBatch(allPairs);
|
return allPairs;
|
||||||
}
|
}
|
||||||
public void saveCalibration(GStoreMiddleProcessData middleData,
|
|
||||||
Integer sampleId, Integer IdAnalysis){
|
public void saveCalibrationPairsROI(Integer sampleId){
|
||||||
|
List<GardsCalibrationPairsRoi> pairsRois = new ArrayList<>();
|
||||||
|
Set<Table.Cell<Integer, Integer, GStoreMiddleProcessData>> cells = this.middleDataTable.cellSet();
|
||||||
|
for (Table.Cell<Integer, Integer, GStoreMiddleProcessData> cell : cells) {
|
||||||
|
Integer IdAnalysis = cell.getRowKey();
|
||||||
|
Integer roiId = cell.getColumnKey();
|
||||||
|
GStoreMiddleProcessData middleData = cell.getValue();
|
||||||
|
pairsRois.addAll(saveCalibrationPairsROI(sampleId, IdAnalysis, roiId, middleData));
|
||||||
|
}
|
||||||
|
this.serviceQuotes.getCalibrationPairsRoiAutoService().saveBatch(pairsRois);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<GardsCalibrationRoi> saveCalibrationROI(Integer sampleId, Integer IdAnalysis, Integer roiId,
|
||||||
|
GStoreMiddleProcessData middleData){
|
||||||
String calibrationSampleType = middleData.getCalibration_sample_type();
|
String calibrationSampleType = middleData.getCalibration_sample_type();
|
||||||
List<String> pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint();
|
List<String> pairsEIdCalPoint = middleData.getCalibration_pairs_E_idCalPoint();
|
||||||
List<String> pairsEFIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint();
|
List<String> pairsEFIdCalPoint = middleData.getCalibration_pairs_EF_idCalPoint();
|
||||||
List<String> pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint();
|
List<String> pairsRIdCalPoint = middleData.getCalibration_pairs_R_idCalPoint();
|
||||||
List<String> pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint();
|
List<String> pairsTIdCalPoint = middleData.getCalibration_pairs_T_idCalPoint();
|
||||||
List<GardsCalibration> calibrations = new ArrayList<>();
|
List<GardsCalibrationRoi> calibrations = new ArrayList<>();
|
||||||
// GARDS_CALIBRATION (E) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
// GARDS_CALIBRATION (E) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||||
if (CollUtil.isNotEmpty(pairsEIdCalPoint)){
|
if (CollUtil.isNotEmpty(pairsEIdCalPoint)){
|
||||||
GardsCalibration calibration = new GardsCalibration();
|
GardsCalibrationRoi calibration = new GardsCalibrationRoi();
|
||||||
calibration.setSampleId(sampleId);
|
calibration.setSampleId(sampleId);
|
||||||
|
calibration.setRoiId(roiId);
|
||||||
calibration.setIdAnalysis(IdAnalysis);
|
calibration.setIdAnalysis(IdAnalysis);
|
||||||
calibration.setSampleType(calibrationSampleType);
|
calibration.setSampleType(calibrationSampleType);
|
||||||
calibration.setCalType(middleData.getCalibration_E_Caltype());
|
calibration.setCalType(middleData.getCalibration_E_Caltype());
|
||||||
|
@ -845,8 +896,9 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
// GARDS_CALIBRATION (EF) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
// GARDS_CALIBRATION (EF) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||||
if (CollUtil.isNotEmpty(pairsEFIdCalPoint)){
|
if (CollUtil.isNotEmpty(pairsEFIdCalPoint)){
|
||||||
GardsCalibration calibration = new GardsCalibration();
|
GardsCalibrationRoi calibration = new GardsCalibrationRoi();
|
||||||
calibration.setSampleId(sampleId);
|
calibration.setSampleId(sampleId);
|
||||||
|
calibration.setRoiId(roiId);
|
||||||
calibration.setIdAnalysis(IdAnalysis);
|
calibration.setIdAnalysis(IdAnalysis);
|
||||||
calibration.setSampleType(calibrationSampleType);
|
calibration.setSampleType(calibrationSampleType);
|
||||||
String efCaltype = middleData.getCalibration_EF_Caltype();
|
String efCaltype = middleData.getCalibration_EF_Caltype();
|
||||||
|
@ -866,8 +918,9 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
// GARDS_CALIBRATION (R) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
// GARDS_CALIBRATION (R) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||||
if (CollUtil.isNotEmpty(pairsRIdCalPoint)){
|
if (CollUtil.isNotEmpty(pairsRIdCalPoint)){
|
||||||
GardsCalibration calibration = new GardsCalibration();
|
GardsCalibrationRoi calibration = new GardsCalibrationRoi();
|
||||||
calibration.setSampleId(sampleId);
|
calibration.setSampleId(sampleId);
|
||||||
|
calibration.setRoiId(roiId);
|
||||||
calibration.setIdAnalysis(IdAnalysis);
|
calibration.setIdAnalysis(IdAnalysis);
|
||||||
calibration.setSampleType(calibrationSampleType);
|
calibration.setSampleType(calibrationSampleType);
|
||||||
String rCaltype = middleData.getCalibration_R_Caltype();
|
String rCaltype = middleData.getCalibration_R_Caltype();
|
||||||
|
@ -887,8 +940,9 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
// GARDS_CALIBRATION (T) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
// GARDS_CALIBRATION (T) ==> INSERT INTO RNAUTO.GARDS_CALIBRATION
|
||||||
if (CollUtil.isNotEmpty(pairsTIdCalPoint)){
|
if (CollUtil.isNotEmpty(pairsTIdCalPoint)){
|
||||||
GardsCalibration calibration = new GardsCalibration();
|
GardsCalibrationRoi calibration = new GardsCalibrationRoi();
|
||||||
calibration.setSampleId(sampleId);
|
calibration.setSampleId(sampleId);
|
||||||
|
calibration.setRoiId(roiId);
|
||||||
calibration.setIdAnalysis(IdAnalysis);
|
calibration.setIdAnalysis(IdAnalysis);
|
||||||
calibration.setSampleType(calibrationSampleType);
|
calibration.setSampleType(calibrationSampleType);
|
||||||
String tCaltype = middleData.getCalibration_T_Caltype();
|
String tCaltype = middleData.getCalibration_T_Caltype();
|
||||||
|
@ -906,71 +960,122 @@ public class Sample_C_Analysis {
|
||||||
calibration.setModdate(new Date());
|
calibration.setModdate(new Date());
|
||||||
calibrations.add(calibration);
|
calibrations.add(calibration);
|
||||||
}
|
}
|
||||||
if (calibrations.size() > 0) {
|
return calibrations;
|
||||||
serviceQuotes.getGardsCalibrationService().createBatch(calibrations);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void savePeaks(GStoreMiddleProcessData middleData,Integer sampleId, Integer IdAnalysis){
|
public void saveCalibrationROI(Integer sampleId){
|
||||||
// Gards_Peaks数据表 ==> INSERT INTO RNAUTO.GARDS_PEAKS
|
List<GardsCalibrationRoi> calibrationRois = new ArrayList<>();
|
||||||
|
Set<Table.Cell<Integer, Integer, GStoreMiddleProcessData>> cells = this.middleDataTable.cellSet();
|
||||||
|
for (Table.Cell<Integer, Integer, GStoreMiddleProcessData> cell : cells) {
|
||||||
|
Integer IdAnalysis = cell.getRowKey();
|
||||||
|
Integer roiId = cell.getColumnKey();
|
||||||
|
GStoreMiddleProcessData middleData = cell.getValue();
|
||||||
|
calibrationRois.addAll(saveCalibrationROI(sampleId, IdAnalysis, roiId, middleData));
|
||||||
|
}
|
||||||
|
this.serviceQuotes.getCalibrationRoiAutoService().createBatch(calibrationRois);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<GardsPeaksRoi> savePeaksROI(Integer sampleId, Integer IdAnalysis,
|
||||||
|
Integer roiId, GStoreMiddleProcessData middleData){
|
||||||
|
// Gards_Peaks_ROI数据表 ==> INSERT INTO RNAUTO.GARDS_PEAKS_ROI
|
||||||
String base_P_IdPeak = "peaks_idPeak";
|
String base_P_IdPeak = "peaks_idPeak";
|
||||||
GardsPeaksDto gardsPeaksDto = new GardsPeaksDto();
|
GardsPeaksDto gardsPeaksDto = new GardsPeaksDto();
|
||||||
BeanUtil.copyProperties(middleData,gardsPeaksDto);
|
BeanUtil.copyProperties(middleData, gardsPeaksDto);
|
||||||
GardsPeaks gardsPeaks = new GardsPeaks();
|
GardsPeaksRoi peak = new GardsPeaksRoi();
|
||||||
if (gardsPeaksDto.getPeaks_idPeak().size() > 0) {
|
List<GardsPeaksRoi> peaks = new ArrayList<>();
|
||||||
List<GardsPeaks> peaks = mapFields(gardsPeaksDto, gardsPeaks, base_P_IdPeak, fieldMap);
|
if (CollUtil.isNotEmpty(gardsPeaksDto.getPeaks_idPeak())) {
|
||||||
peaks.forEach(ided -> {
|
peaks = mapFields(gardsPeaksDto, peak, base_P_IdPeak, fieldMap);
|
||||||
ided.setSampleId(sampleId);
|
peaks.forEach(item -> {
|
||||||
ided.setIdAnalysis(IdAnalysis);
|
item.setRoiId(roiId);
|
||||||
|
item.setSampleId(sampleId);
|
||||||
|
item.setIdAnalysis(IdAnalysis);
|
||||||
});
|
});
|
||||||
serviceQuotes.getGardsPeaksAutoService().saveBatch(peaks);
|
|
||||||
}
|
}
|
||||||
|
return peaks;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveNuclLinesIded(GStoreMiddleProcessData middleData,
|
public void savePeaksROI(Integer sampleId){
|
||||||
Integer sampleId, Integer IdAnalysis){
|
List<GardsPeaksRoi> peaksRois = new ArrayList<>();
|
||||||
|
Set<Table.Cell<Integer, Integer, GStoreMiddleProcessData>> cells = this.middleDataTable.cellSet();
|
||||||
|
for (Table.Cell<Integer, Integer, GStoreMiddleProcessData> cell : cells) {
|
||||||
|
Integer IdAnalysis = cell.getRowKey();
|
||||||
|
Integer roiId = cell.getColumnKey();
|
||||||
|
GStoreMiddleProcessData middleData = cell.getValue();
|
||||||
|
peaksRois.addAll(savePeaksROI(sampleId, IdAnalysis, roiId, middleData));
|
||||||
|
}
|
||||||
|
this.serviceQuotes.getPeaksRoiAutoService().saveBatch(peaksRois);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<GardsNuclLinesIdedRoi> saveNuclLinesIdedROI(Integer sampleId, Integer IdAnalysis, Integer roiId,
|
||||||
|
GStoreMiddleProcessData middleData){
|
||||||
// Gards_Nucl_Lines_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_LINES_IDED
|
// Gards_Nucl_Lines_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_LINES_IDED
|
||||||
Map<String, GStoreMiddleProcessDataNuclLinesIded> nuclLinesIdedData = middleData.getNucl_lines_ided_data();
|
Map<String, GStoreMiddleProcessDataNuclLinesIded> nuclLinesIdedData = middleData.getNucl_lines_ided_data();
|
||||||
String base_IdPeak = "idPeak";
|
String base_IdPeak = "idPeak";
|
||||||
List<GardsNuclLinesIded> allNuclLinesIdeds = new ArrayList<>();
|
List<GardsNuclLinesIdedRoi> allNuclLinesIdeds = new ArrayList<>();
|
||||||
for (Map.Entry<String, GStoreMiddleProcessDataNuclLinesIded> entry : nuclLinesIdedData.entrySet()) {
|
for (Map.Entry<String, GStoreMiddleProcessDataNuclLinesIded> entry : nuclLinesIdedData.entrySet()) {
|
||||||
String nuclideName = entry.getKey();
|
String nuclideName = entry.getKey();
|
||||||
GStoreMiddleProcessDataNuclLinesIded nuclLinesIded = entry.getValue();
|
GStoreMiddleProcessDataNuclLinesIded nuclLinesIded = entry.getValue();
|
||||||
GardsNuclLinesIded gardsNuclLinesIded = new GardsNuclLinesIded();
|
GardsNuclLinesIdedRoi linesIdedRoi = new GardsNuclLinesIdedRoi();
|
||||||
List<GardsNuclLinesIded> gardsNuclLinesIdeds = mapFields(nuclLinesIded, gardsNuclLinesIded, base_IdPeak, fieldMap);
|
List<GardsNuclLinesIdedRoi> linesIdedRois = mapFields(nuclLinesIded, linesIdedRoi, base_IdPeak, fieldMap);
|
||||||
if (CollUtil.isNotEmpty(gardsNuclLinesIdeds)){
|
if (CollUtil.isNotEmpty(linesIdedRois)){
|
||||||
for (GardsNuclLinesIded ided : gardsNuclLinesIdeds) {
|
for (GardsNuclLinesIdedRoi idedRoi : linesIdedRois) {
|
||||||
ided.setSampleId(sampleId);
|
idedRoi.setRoiId(roiId);
|
||||||
ided.setIdAnalysis(IdAnalysis);
|
idedRoi.setSampleId(sampleId);
|
||||||
ided.setNuclideName(nuclideName);
|
idedRoi.setIdAnalysis(IdAnalysis);
|
||||||
|
idedRoi.setNuclideName(nuclideName);
|
||||||
}
|
}
|
||||||
allNuclLinesIdeds.addAll(gardsNuclLinesIdeds);
|
allNuclLinesIdeds.addAll(linesIdedRois);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
serviceQuotes.getGardsNuclLinesIdedAutoService().saveBatch(allNuclLinesIdeds);
|
return allNuclLinesIdeds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveNuclIded(GStoreMiddleProcessData middleData,
|
public void saveNuclLinesIdedROI(Integer sampleId){
|
||||||
Integer sampleId, Integer IdAnalysis){
|
List<GardsNuclLinesIdedRoi> linesIdedRois = new ArrayList<>();
|
||||||
|
Set<Table.Cell<Integer, Integer, GStoreMiddleProcessData>> cells = this.middleDataTable.cellSet();
|
||||||
|
for (Table.Cell<Integer, Integer, GStoreMiddleProcessData> cell : cells) {
|
||||||
|
Integer IdAnalysis = cell.getRowKey();
|
||||||
|
Integer roiId = cell.getColumnKey();
|
||||||
|
GStoreMiddleProcessData middleData = cell.getValue();
|
||||||
|
linesIdedRois.addAll(saveNuclLinesIdedROI(sampleId, IdAnalysis, roiId, middleData));
|
||||||
|
}
|
||||||
|
this.serviceQuotes.getNuclLinesIdedRoiAutoService().saveBatch(linesIdedRois);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<GardsNuclIdedRoi> saveNuclIdedROI(Integer sampleId, Integer IdAnalysis,
|
||||||
|
Integer roiId, GStoreMiddleProcessData middleData){
|
||||||
// Gards_Nucl_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_IDED
|
// Gards_Nucl_Ided数据表 ==> INSERT INTO RNAUTO.GARDS_NUCL_IDED
|
||||||
GardsNuclIdedDto gardsNuclIdedDto = new GardsNuclIdedDto();
|
GardsNuclIdedDto nuclIdedDto = new GardsNuclIdedDto();
|
||||||
GardsNuclIded gardsNuclIded = new GardsNuclIded();
|
GardsNuclIdedRoi nuclIdedRoi = new GardsNuclIdedRoi();
|
||||||
BeanUtil.copyProperties(middleData,gardsNuclIdedDto);
|
BeanUtil.copyProperties(middleData, nuclIdedDto);
|
||||||
if (!gardsNuclIdedDto.getNucl_ided_Nuclidename().isEmpty()) {
|
List<GardsNuclIdedRoi> nuclIdedRois = new ArrayList<>();
|
||||||
|
if (CollUtil.isNotEmpty(nuclIdedDto.getNucl_ided_Nuclidename())) {
|
||||||
String base_NuclideName = "nucl_ided_Nuclidename";
|
String base_NuclideName = "nucl_ided_Nuclidename";
|
||||||
List<GardsNuclIded> gardsNuclIdeds =
|
nuclIdedRois = mapFields(nuclIdedDto, nuclIdedRoi, base_NuclideName, fieldMap);
|
||||||
mapFields(gardsNuclIdedDto, gardsNuclIded, base_NuclideName, fieldMap);
|
for (GardsNuclIdedRoi idedRoi : nuclIdedRois) {
|
||||||
for (GardsNuclIded ided : gardsNuclIdeds) {
|
idedRoi.setRoiId(roiId);
|
||||||
ided.setSampleId(sampleId);
|
idedRoi.setSampleId(sampleId);
|
||||||
ided.setIdAnalysis(IdAnalysis);
|
idedRoi.setIdAnalysis(IdAnalysis);
|
||||||
}
|
}
|
||||||
serviceQuotes.getGardsNuclIdedAutoService().saveBatch(gardsNuclIdeds);
|
|
||||||
}
|
}
|
||||||
// serviceQuotes.get
|
return nuclIdedRois;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveQcCheck(GStoreMiddleProcessData middleData,
|
public void saveNuclIdedROI(Integer sampleId){
|
||||||
Integer sampleId, Integer IdAnalysis,Map<String, QcCheckItem> qcItems){
|
List<GardsNuclIdedRoi> idedRois = new ArrayList<>();
|
||||||
|
Set<Table.Cell<Integer, Integer, GStoreMiddleProcessData>> cells = this.middleDataTable.cellSet();
|
||||||
|
for (Table.Cell<Integer, Integer, GStoreMiddleProcessData> cell : cells) {
|
||||||
|
Integer IdAnalysis = cell.getRowKey();
|
||||||
|
Integer roiId = cell.getColumnKey();
|
||||||
|
GStoreMiddleProcessData middleData = cell.getValue();
|
||||||
|
idedRois.addAll(saveNuclIdedROI(sampleId, IdAnalysis, roiId, middleData));
|
||||||
|
}
|
||||||
|
this.serviceQuotes.getNuclIdedRoiAutoService().saveBatch(idedRois);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveQcCheckROI(Integer sampleId, Integer IdAnalysis, Integer roiId,
|
||||||
|
Map<String, QcCheckItem> qcItems,
|
||||||
|
GStoreMiddleProcessData middleData){
|
||||||
// Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK
|
// Gards_Qc_Check数据表 ==> INSERT INTO RNAUTO.GARDS_QC_CHECK
|
||||||
if (MapUtil.isNotEmpty(qcItems)){
|
if (MapUtil.isNotEmpty(qcItems)){
|
||||||
String base_QC = String.valueOf(qcItems.size());
|
String base_QC = String.valueOf(qcItems.size());
|
||||||
|
@ -988,31 +1093,46 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveMDC(Integer sampleId, Integer IdAnalysis, Map<String, CalMDCInfo> mdcInfoMap) {
|
public void saveQcCheckROI(Integer sampleId, Map<String, QcCheckItem> qcItems){
|
||||||
List<GardsMDC> mdcList = new LinkedList<>();
|
|
||||||
if (CollectionUtils.isNotEmpty(mdcInfoMap)) {
|
}
|
||||||
|
|
||||||
|
public List<GardsMDCRoi> saveMDCROI(Integer sampleId, Integer IdAnalysis,
|
||||||
|
Integer roiId, Map<String, CalMDCInfo> mdcInfoMap) {
|
||||||
|
List<GardsMDCRoi> mdcRois = new LinkedList<>();
|
||||||
for (CalMDCInfo mdcInfo :mdcInfoMap.values()) {
|
for (CalMDCInfo mdcInfo :mdcInfoMap.values()) {
|
||||||
if (Objects.nonNull(mdcInfo.getEnergy()) && Objects.nonNull(mdcInfo.getYield()) && Objects.nonNull(mdcInfo.getEfficiency())) {
|
if (ObjectUtil.isNull(mdcInfo)) continue;
|
||||||
GardsMDC mdc = new GardsMDC();
|
if (Objects.nonNull(mdcInfo.getEnergy()) && Objects.nonNull(mdcInfo.getYield())
|
||||||
mdc.setIdAnalysis(IdAnalysis);
|
&& Objects.nonNull(mdcInfo.getEfficiency())) {
|
||||||
mdc.setSampleId(sampleId);
|
GardsMDCRoi mdcRoi = new GardsMDCRoi();
|
||||||
mdc.setNuclideName(mdcInfo.getNuclideName());
|
mdcRoi.setRoiId(roiId);
|
||||||
mdc.setEnergy(mdcInfo.getEnergy());
|
mdcRoi.setSampleId(sampleId);
|
||||||
mdc.setYield(mdcInfo.getYield());
|
mdcRoi.setIdAnalysis(IdAnalysis);
|
||||||
mdc.setEfficiency(mdcInfo.getEfficiency());
|
mdcRoi.setNuclideName(mdcInfo.getNuclideName());
|
||||||
|
mdcRoi.setEnergy(mdcInfo.getEnergy());
|
||||||
|
mdcRoi.setYield(mdcInfo.getYield());
|
||||||
|
mdcRoi.setEfficiency(mdcInfo.getEfficiency());
|
||||||
if (Objects.nonNull(mdcInfo.getMdc()) && Double.isFinite(mdcInfo.getMdc())) {
|
if (Objects.nonNull(mdcInfo.getMdc()) && Double.isFinite(mdcInfo.getMdc())) {
|
||||||
mdc.setMdc(String.valueOf(mdcInfo.getMdc()));
|
mdcRoi.setMdc(String.valueOf(mdcInfo.getMdc()));
|
||||||
} else {
|
} else {
|
||||||
mdc.setMdc(null);
|
mdcRoi.setMdc(null);
|
||||||
}
|
}
|
||||||
mdc.setMdcErr(null);
|
mdcRoi.setMdcErr(null);
|
||||||
mdcList.add(mdc);
|
mdcRois.add(mdcRoi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return mdcRois;
|
||||||
}
|
}
|
||||||
if (CollectionUtils.isNotEmpty(mdcList)) {
|
|
||||||
serviceQuotes.getGardsMDCAutoService().saveBatch(mdcList);
|
public void saveMDCROI(Integer sampleId, Map<String, CalMDCInfo> mdcInfoMap){
|
||||||
|
List<GardsMDCRoi> mdcRois = new ArrayList<>();
|
||||||
|
Set<Table.Cell<Integer, Integer, GStoreMiddleProcessData>> cells = this.middleDataTable.cellSet();
|
||||||
|
for (Table.Cell<Integer, Integer, GStoreMiddleProcessData> cell : cells) {
|
||||||
|
Integer IdAnalysis = cell.getRowKey();
|
||||||
|
Integer roiId = cell.getColumnKey();
|
||||||
|
mdcRois.addAll(saveMDCROI(sampleId, IdAnalysis, roiId, mdcInfoMap));
|
||||||
}
|
}
|
||||||
|
this.serviceQuotes.getMdcRoiAutoService().saveBatch(mdcRois);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, NuclideLines> getNuclideLinesG() {
|
public Map<String, NuclideLines> getNuclideLinesG() {
|
||||||
|
@ -1173,35 +1293,6 @@ public class Sample_C_Analysis {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private GardsAnalyses toAnalysis(GStoreMiddleProcessData middleData){
|
|
||||||
GardsAnalyses gardsAnalyses = new GardsAnalyses();
|
|
||||||
String dateTime = DateConstant.DATE_BIAS_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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* public <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 {
|
try {
|
||||||
List<T2> result = new ArrayList<>();
|
List<T2> result = new ArrayList<>();
|
||||||
|
|
|
@ -9,6 +9,7 @@ import org.jeecg.common.util.RedisUtil;
|
||||||
import org.jeecg.common.util.SelfUtil;
|
import org.jeecg.common.util.SelfUtil;
|
||||||
import org.jeecg.modules.datasource.OraDataSourceProperties;
|
import org.jeecg.modules.datasource.OraDataSourceProperties;
|
||||||
import org.jeecg.modules.service.*;
|
import org.jeecg.modules.service.*;
|
||||||
|
import org.jeecg.modules.service.impl.GardsCalibrationRoiAutoServiceImpl;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.core.io.ResourceLoader;
|
import org.springframework.core.io.ResourceLoader;
|
||||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
|
@ -91,6 +92,23 @@ public class SpectrumServiceQuotes {
|
||||||
|
|
||||||
private final SelfUtil selfStationUtil;
|
private final SelfUtil selfStationUtil;
|
||||||
|
|
||||||
|
/* 自动处理库_ROI相关类引用 */
|
||||||
|
private final IGardsAnalysisRoiAutoService analysisRoiAutoService;
|
||||||
|
|
||||||
|
private final GardsCalibrationRoiAutoServiceImpl calibrationRoiAutoService;
|
||||||
|
|
||||||
|
private final IGardsCalibrationPairsRoiAutoService calibrationPairsRoiAutoService;
|
||||||
|
|
||||||
|
private final IGardsMdcRoiAutoService mdcRoiAutoService;
|
||||||
|
|
||||||
|
private final IGardsNuclIdedRoiAutoService nuclIdedRoiAutoService;
|
||||||
|
|
||||||
|
private final IGardsNuclLinesIdedRoiAutoService nuclLinesIdedRoiAutoService;
|
||||||
|
|
||||||
|
private final IGardsPeaksRoiAutoService peaksRoiAutoService;
|
||||||
|
|
||||||
|
private final IGardsQcCheckRoiAutoService qcCheckRoiAutoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 原始库插入数据锁
|
* 原始库插入数据锁
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsAnalysisRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface GardsAnalysisRoiMapper extends BaseMapper<GardsAnalysisRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsCalibrationPairsRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface GardsCalibrationPairsRoiMapper extends BaseMapper<GardsCalibrationPairsRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsCalibration;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsCalibrationRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
public interface GardsCalibrationRoiMapper extends BaseMapper<GardsCalibrationRoi> {
|
||||||
|
|
||||||
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
|
int createBatch(@Param("calibrationRois") List<GardsCalibrationRoi> calibrationRois);
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsMDCRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface GardsMdcRoiMapper extends BaseMapper<GardsMDCRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsNuclIdedRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface GardsNuclIdedRoiMapper extends BaseMapper<GardsNuclIdedRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsNuclLinesIdedRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface GardsNuclLinesIdedRoiMapper extends BaseMapper<GardsNuclLinesIdedRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsPeaksRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface GardsPeaksRoiMapper extends BaseMapper<GardsPeaksRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsQcCheckRoi;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface GardsQcCheckRoiMapper extends BaseMapper<GardsQcCheckRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsAnalysisRoiMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsCalibrationPairsRoiMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsCalibrationRoiMapper">
|
||||||
|
|
||||||
|
<insert id="createBatch" parameterType="org.jeecg.modules.base.entity.rnauto.GardsCalibrationRoi">
|
||||||
|
begin
|
||||||
|
<foreach collection="calibrationRois" separator=";" close=";" item="calibration">
|
||||||
|
insert into RNAUTO.GARDS_CALIBRATION_ROI(
|
||||||
|
SAMPLE_ID,
|
||||||
|
ROI_ID,
|
||||||
|
IDANALYSIS,
|
||||||
|
SAMPLE_TYPE,
|
||||||
|
CALTYPE,
|
||||||
|
FUNCTION,
|
||||||
|
FUNCTIONDEF,
|
||||||
|
STARTOFRANGE,
|
||||||
|
ENDOFRANGE,
|
||||||
|
COEFF_STRING,
|
||||||
|
moddate)
|
||||||
|
values
|
||||||
|
(#{calibration.sampleId},
|
||||||
|
#{calibration.roiId},
|
||||||
|
#{calibration.idAnalysis},
|
||||||
|
#{calibration.sampleType},
|
||||||
|
#{calibration.calType},
|
||||||
|
#{calibration.function},
|
||||||
|
#{calibration.functionDef},
|
||||||
|
#{calibration.startOfRange},
|
||||||
|
#{calibration.endOfRange},
|
||||||
|
#{calibration.coeffString},
|
||||||
|
#{calibration.moddate})
|
||||||
|
</foreach>
|
||||||
|
end;
|
||||||
|
</insert>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsMdcRoiMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsNuclIdedRoiMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsNuclLinesIdedRoiMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsPeaksRoiMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.mapper.GardsQcCheckRoiMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,13 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsAnalysisRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface IGardsAnalysisRoiAutoService extends IService<GardsAnalysisRoi> {
|
||||||
|
|
||||||
|
Integer getIdAnalysisAny(Integer sampleId);
|
||||||
|
|
||||||
|
List<GardsAnalysisRoi> analysisRoi(Integer sampleId);
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsCalibrationPairsRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IGardsCalibrationPairsRoiAutoService extends IService<GardsCalibrationPairsRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsCalibrationRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface IGardsCalibrationRoiAutoService extends IService<GardsCalibrationRoi> {
|
||||||
|
|
||||||
|
int createBatch(List<GardsCalibrationRoi> calibrationRois);
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsMDCRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
public interface IGardsMdcRoiAutoService extends IService<GardsMDCRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsNuclIdedRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IGardsNuclIdedRoiAutoService extends IService<GardsNuclIdedRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsNuclLinesIdedRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IGardsNuclLinesIdedRoiAutoService extends IService<GardsNuclLinesIdedRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsPeaksRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IGardsPeaksRoiAutoService extends IService<GardsPeaksRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsQcCheckRoi;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IGardsQcCheckRoiAutoService extends IService<GardsQcCheckRoi> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsAnalyses;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsAnalysisRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsAnalysisRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsAnalysisRoiAutoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@DS("ora")
|
||||||
|
public class GardsAnalysisRoiAutoServiceImpl extends ServiceImpl<GardsAnalysisRoiMapper, GardsAnalysisRoi> implements IGardsAnalysisRoiAutoService {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer getIdAnalysisAny(Integer sampleId) {
|
||||||
|
LambdaQueryWrapper<GardsAnalysisRoi> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(GardsAnalysisRoi::getSampleId, sampleId);
|
||||||
|
List<GardsAnalysisRoi> analysisRois = list(wrapper);
|
||||||
|
return analysisRois.stream().findAny().orElse(new GardsAnalysisRoi())
|
||||||
|
.getIdAnalysis();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<GardsAnalysisRoi> analysisRoi(Integer sampleId) {
|
||||||
|
LambdaQueryWrapper<GardsAnalysisRoi> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(GardsAnalysisRoi::getSampleId, sampleId);
|
||||||
|
wrapper.orderByAsc(GardsAnalysisRoi::getIdAnalysis);
|
||||||
|
return list(wrapper);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsCalibrationPairsRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsCalibrationPairsRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsCalibrationPairsRoiAutoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GardsCalibrationPairsRoiAutoServiceImpl extends ServiceImpl<GardsCalibrationPairsRoiMapper, GardsCalibrationPairsRoi> implements IGardsCalibrationPairsRoiAutoService {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsCalibrationRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsCalibrationRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsCalibrationRoiAutoService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@DS("ora")
|
||||||
|
public class GardsCalibrationRoiAutoServiceImpl extends ServiceImpl<GardsCalibrationRoiMapper, GardsCalibrationRoi> implements IGardsCalibrationRoiAutoService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int createBatch(List<GardsCalibrationRoi> calibrationRois) {
|
||||||
|
return this.baseMapper.createBatch(calibrationRois);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsMDCRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsMdcRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsMdcRoiAutoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GardsMdcRoiAutoServiceImpl extends ServiceImpl<GardsMdcRoiMapper, GardsMDCRoi> implements IGardsMdcRoiAutoService {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsNuclIdedRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsNuclIdedRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsNuclIdedRoiAutoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GardsNuclIdedRoiAutoServiceImpl extends ServiceImpl<GardsNuclIdedRoiMapper, GardsNuclIdedRoi> implements IGardsNuclIdedRoiAutoService {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsNuclLinesIdedRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsNuclLinesIdedRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsNuclLinesIdedRoiAutoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GardsNuclLinesIdedRoiAutoServiceImpl extends ServiceImpl<GardsNuclLinesIdedRoiMapper, GardsNuclLinesIdedRoi> implements IGardsNuclLinesIdedRoiAutoService {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsPeaksRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsPeaksRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsPeaksRoiAutoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GardsPeaksRoiAutoServiceImpl extends ServiceImpl<GardsPeaksRoiMapper, GardsPeaksRoi> implements IGardsPeaksRoiAutoService {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import org.jeecg.modules.base.entity.rnauto.GardsQcCheckRoi;
|
||||||
|
import org.jeecg.modules.mapper.GardsQcCheckRoiMapper;
|
||||||
|
import org.jeecg.modules.service.IGardsQcCheckRoiAutoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2024-07-24
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GardsQcCheckRoiAutoServiceImpl extends ServiceImpl<GardsQcCheckRoiMapper, GardsQcCheckRoi> implements IGardsQcCheckRoiAutoService {
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user