Merge remote-tracking branch 'origin/station' into station
This commit is contained in:
commit
cdfdbc374a
|
@ -82,7 +82,7 @@ public class GardsNuclearfacility implements Serializable {
|
||||||
*/
|
*/
|
||||||
@TableField(value = "RETIREDATE")
|
@TableField(value = "RETIREDATE")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date retireDate;
|
private Date retireDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -90,7 +90,7 @@ public class GardsNuclearfacility implements Serializable {
|
||||||
*/
|
*/
|
||||||
@TableField(value = "GRIDCONEETIONDATE")
|
@TableField(value = "GRIDCONEETIONDATE")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date gridconeetionDate;
|
private Date gridconeetionDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -159,7 +159,7 @@ public class GardsSampleData implements Serializable {
|
||||||
*/
|
*/
|
||||||
@TableField(value = "MODDATE")
|
@TableField(value = "MODDATE")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date moddate;
|
private Date moddate;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -31,12 +31,16 @@ public class GardsAnalyses implements Serializable {
|
||||||
* 分析开始时间
|
* 分析开始时间
|
||||||
*/
|
*/
|
||||||
@TableField(value = "ANALYSISBEGIN")
|
@TableField(value = "ANALYSISBEGIN")
|
||||||
private Data analysisBegin;
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date analysisBegin;
|
||||||
/**
|
/**
|
||||||
* 分析结束时间
|
* 分析结束时间
|
||||||
*/
|
*/
|
||||||
@TableField(value = "ANALYSISEND")
|
@TableField(value = "ANALYSISEND")
|
||||||
private Data analysisEnd;
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date analysisEnd;
|
||||||
/**
|
/**
|
||||||
* Reviewed:交互,auto:自动
|
* Reviewed:交互,auto:自动
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -111,4 +111,5 @@ public class GardsCalibration implements Serializable {
|
||||||
|
|
||||||
@TableField(value = "COEFF_STRING")
|
@TableField(value = "COEFF_STRING")
|
||||||
private String coeffString;
|
private String coeffString;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,4 +67,5 @@ public class GardsCalibrationPairs implements Serializable {
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date moddate;
|
private Date moddate;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,4 +114,5 @@ public class GardsNuclIded implements Serializable {
|
||||||
|
|
||||||
@TableField(value = "KEY_YIELD")
|
@TableField(value = "KEY_YIELD")
|
||||||
private String keyYield;
|
private String keyYield;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,12 @@ import java.util.Date;
|
||||||
@TableName("RNAUTO.GARDS_NUCL_LINES_IDED")
|
@TableName("RNAUTO.GARDS_NUCL_LINES_IDED")
|
||||||
public class GardsNuclLinesIded implements Serializable {
|
public class GardsNuclLinesIded implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 样品id
|
* 样品id
|
||||||
*/
|
*/
|
||||||
|
@ -26,16 +32,11 @@ public class GardsNuclLinesIded implements Serializable {
|
||||||
*/
|
*/
|
||||||
@TableField(value = "IDPEAK")
|
@TableField(value = "IDPEAK")
|
||||||
private Integer idPeak;
|
private Integer idPeak;
|
||||||
/**
|
|
||||||
* 分析ID号
|
|
||||||
*/
|
|
||||||
@TableField(value = "IDANALYSIS")
|
|
||||||
private Integer idAnalysis;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 核素名称
|
* 核素名称
|
||||||
*/
|
*/
|
||||||
@TableField(value = "NUCLIDE_NAME")
|
@TableField(value = "NUCLIDENAME")
|
||||||
private String nuclideName;
|
private String nuclideName;
|
||||||
|
|
||||||
@TableField(value = "MODDATE")
|
@TableField(value = "MODDATE")
|
||||||
|
@ -108,4 +109,14 @@ public class GardsNuclLinesIded implements Serializable {
|
||||||
*/
|
*/
|
||||||
@TableField(value = "CSC_MOD_FLAG")
|
@TableField(value = "CSC_MOD_FLAG")
|
||||||
private Double cscModFlag;
|
private Double cscModFlag;
|
||||||
|
|
||||||
|
@TableField(value = "NUCLIDEFULLNAME")
|
||||||
|
private String nuclidefullname;
|
||||||
|
|
||||||
|
@TableField(value = "MDC")
|
||||||
|
private String mdc;
|
||||||
|
|
||||||
|
@TableField(value = "CONCENTRATION")
|
||||||
|
private String concentration;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -159,4 +159,5 @@ public class GardsPeaks implements Serializable {
|
||||||
|
|
||||||
@TableField(value = "PEAKCOMMENTS")
|
@TableField(value = "PEAKCOMMENTS")
|
||||||
private String peakcomments;
|
private String peakcomments;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
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 sun.security.krb5.internal.PAData;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@TableName(value = "RNAUTO.GARDS_QC_CHECK")
|
||||||
|
public class GardsQcCheck implements Serializable {
|
||||||
|
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idanalysis;
|
||||||
|
|
||||||
|
@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;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,76 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnman;
|
||||||
|
|
||||||
|
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 = "RNMAN.GARDS_ANALY_SETTING")
|
||||||
|
public class GardsAnalySetting implements Serializable {
|
||||||
|
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idanalysis;
|
||||||
|
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
@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;
|
||||||
|
|
||||||
|
@TableField(value = "ECUTANALYSIS_LOW")
|
||||||
|
private Double ecutanalysisLow;
|
||||||
|
|
||||||
|
@TableField(value = "ECUTANALYSIS_HIGH")
|
||||||
|
private Double ecutanalysisHigh;
|
||||||
|
|
||||||
|
@TableField(value = "ENERGYTOLERANCE")
|
||||||
|
private Double energytolerance;
|
||||||
|
|
||||||
|
@TableField(value = "CALIBRATIONPSS_HIGH")
|
||||||
|
private Double calibrationpssHigh;
|
||||||
|
|
||||||
|
@TableField(value = "CALIBRATIONPSS_LOW")
|
||||||
|
private Double calibrationpssLow;
|
||||||
|
|
||||||
|
@TableField(value = "BASEIMPROVEPSS")
|
||||||
|
private Double baseimprovepss;
|
||||||
|
|
||||||
|
@TableField(value = "PSS_LOW")
|
||||||
|
private Double pssLow;
|
||||||
|
|
||||||
|
@TableField(value = "K_BACK")
|
||||||
|
private Double KBack;
|
||||||
|
|
||||||
|
@TableField(value = "K_ALPHA")
|
||||||
|
private Double KAlpha;
|
||||||
|
|
||||||
|
@TableField(value = "K_BETA")
|
||||||
|
private Double KBeta;
|
||||||
|
|
||||||
|
@TableField(value = "RISKLEVELK")
|
||||||
|
private Double risklevelk;
|
||||||
|
|
||||||
|
@TableField(value = "BUPDATECAL")
|
||||||
|
private Integer bupdatecal;
|
||||||
|
|
||||||
|
@TableField(value = "KEEPCALPEAKSERCHPEAKS")
|
||||||
|
private Integer keepcalpeakserchpeaks;
|
||||||
|
|
||||||
|
@TableField(value = "REFTIME_ACT")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
private Date reftimeAct;
|
||||||
|
|
||||||
|
@TableField(value = "REFTIME_CONC")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
private Date reftimeConc;
|
||||||
|
|
||||||
|
}
|
|
@ -31,12 +31,16 @@ public class GardsAnalyses implements Serializable {
|
||||||
* 分析开始时间
|
* 分析开始时间
|
||||||
*/
|
*/
|
||||||
@TableField(value = "ANALYSISBEGIN")
|
@TableField(value = "ANALYSISBEGIN")
|
||||||
private Data analysisBegin;
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date analysisBegin;
|
||||||
/**
|
/**
|
||||||
* 分析结束时间
|
* 分析结束时间
|
||||||
*/
|
*/
|
||||||
@TableField(value = "ANALYSISEND")
|
@TableField(value = "ANALYSISEND")
|
||||||
private Data analysisEnd;
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date analysisEnd;
|
||||||
/**
|
/**
|
||||||
* Reviewed:交互,auto:自动
|
* Reviewed:交互,auto:自动
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -108,4 +108,14 @@ public class GardsNuclLinesIded implements Serializable {
|
||||||
*/
|
*/
|
||||||
@TableField(value = "CSC_MOD_FLAG")
|
@TableField(value = "CSC_MOD_FLAG")
|
||||||
private Double cscModFlag;
|
private Double cscModFlag;
|
||||||
|
|
||||||
|
@TableField(value = "NUCLIDEFULLNAME")
|
||||||
|
private String nuclidefullname;
|
||||||
|
|
||||||
|
@TableField(value = "MDC")
|
||||||
|
private String mdc;
|
||||||
|
|
||||||
|
@TableField(value = "CONCENTRATION")
|
||||||
|
private String concentration;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package org.jeecg.modules.base.entity.rnman;
|
||||||
|
|
||||||
|
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 = "RNMAN.GARDS_QC_CHECK")
|
||||||
|
public class GardsQcCheck implements Serializable {
|
||||||
|
|
||||||
|
@TableField(value = "SAMPLE_ID")
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
@TableField(value = "IDANALYSIS")
|
||||||
|
private Integer idanalysis;
|
||||||
|
|
||||||
|
@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;
|
||||||
|
|
||||||
|
}
|
|
@ -22,6 +22,13 @@
|
||||||
<groupId>org.jeecgframework.boot</groupId>
|
<groupId>org.jeecgframework.boot</groupId>
|
||||||
<artifactId>jeecg-boot-base-core</artifactId>
|
<artifactId>jeecg-boot-base-core</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.ejml/ejml-simple -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ejml</groupId>
|
||||||
|
<artifactId>ejml-simple</artifactId>
|
||||||
|
<version>0.39</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,8 +1,8 @@
|
||||||
package org.jeecg.common.util;
|
package org.jeecg.common.util;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
|
import org.jeecg.modules.base.entity.postgre.SysUser;
|
||||||
import org.jeecg.modules.service.IUserTaskService;
|
import org.jeecg.modules.service.IUserTaskService;
|
||||||
import org.jeecg.modules.system.entity.SysUser;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.jeecg.modules.controller;
|
package org.jeecg.modules.controller;
|
||||||
|
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.modules.service.IDataService;
|
||||||
import org.jeecg.modules.service.IGammaService;
|
import org.jeecg.modules.service.IGammaService;
|
||||||
import org.jeecg.modules.service.ISpectrumAnalysisService;
|
import org.jeecg.modules.service.ISpectrumAnalysisService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -9,22 +10,36 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("gamma")
|
@RequestMapping("gamma")
|
||||||
public class GammaController {
|
public class GammaController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IGammaService gammaService;
|
private IGammaService gammaService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISpectrumAnalysisService spectrumAnalysisService;
|
private IDataService dataService;
|
||||||
|
|
||||||
@GetMapping("gammaByFile")
|
@GetMapping("initValue")
|
||||||
public Result gammaByFile(@RequestParam Integer sampleId,
|
public Result initValue(HttpServletRequest request){
|
||||||
@RequestParam String dbName){
|
return dataService.initValue(request);
|
||||||
return spectrumAnalysisService.getDBSpectrumChart(dbName, sampleId);
|
}
|
||||||
|
|
||||||
|
@GetMapping("gammaByDB")
|
||||||
|
public Result gammaByDB(@RequestParam Integer sampleId, @RequestParam String dbName){
|
||||||
|
return gammaService.gammaByDB(dbName, sampleId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("configure")
|
||||||
|
public Result configure(@RequestParam Integer sampleId){
|
||||||
|
return gammaService.configure(sampleId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("Reprocessing")
|
||||||
|
public Result Reprocessing(@RequestParam Integer sampleId){
|
||||||
|
return gammaService.Reprocessing(sampleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,9 @@ import io.swagger.annotations.ApiOperation;
|
||||||
import org.jeecg.common.api.QueryRequest;
|
import org.jeecg.common.api.QueryRequest;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.modules.entity.GardsSampleDataSpectrum;
|
import org.jeecg.modules.entity.GardsSampleDataSpectrum;
|
||||||
|
import org.jeecg.modules.entity.vo.AnalyseData;
|
||||||
|
import org.jeecg.modules.entity.vo.FittingBody;
|
||||||
|
import org.jeecg.modules.entity.vo.SeriseData;
|
||||||
import org.jeecg.modules.entity.vo.StatisticsQueryData;
|
import org.jeecg.modules.entity.vo.StatisticsQueryData;
|
||||||
import org.jeecg.modules.service.ISpectrumAnalysisService;
|
import org.jeecg.modules.service.ISpectrumAnalysisService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -133,10 +136,31 @@ public class SpectrumAnalysesController {
|
||||||
return spectrumAnalysisService.statisticsQueryBtn(detectorName, stationId, statisticsType, startTime, endTime);
|
return spectrumAnalysisService.statisticsQueryBtn(detectorName, stationId, statisticsType, startTime, endTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("fitting")
|
@PostMapping("fitting")
|
||||||
@ApiOperation(value = "公式计算新的曲线", notes = "公式计算新的曲线")
|
@ApiOperation(value = "公式计算新的曲线", notes = "公式计算新的曲线")
|
||||||
public Result fitting(Double paramA, Double paramB, Double paramC, List<Double> tempPoints){
|
public Result fitting(@RequestBody FittingBody fittingBody){
|
||||||
return spectrumAnalysisService.fitting(paramA, paramB, paramC, tempPoints);
|
return spectrumAnalysisService.fitting(fittingBody.getParamA(), fittingBody.getParamB(), fittingBody.getParamC(), fittingBody.getTempPoints(), fittingBody.getCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("getGammaGated")
|
||||||
|
@ApiOperation(value = "获取gamma对应count数据", notes = "获取gamma对应count数据")
|
||||||
|
public Result getGammaGated(Integer chartHeight, Integer channelWidth, Integer gammaChannel, Integer sampleId){
|
||||||
|
return spectrumAnalysisService.getGammaGated(chartHeight, channelWidth, gammaChannel, sampleId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("ReAnalyse")
|
||||||
|
public Result ReAnalyse(@RequestBody AnalyseData analyseData){
|
||||||
|
return spectrumAnalysisService.ReAnalyse(analyseData);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("analyseCurrentSpectrum")
|
||||||
|
public Result analyseCurrentSpectrum(String dbName, Integer sampleId){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("analyseAllSpectrum")
|
||||||
|
public Result analyseAllSpectrum(){
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,139 @@
|
||||||
|
package org.jeecg.modules.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GardsAnalysesSpectrum implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析开始时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date analysisBegin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析结束时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date analysisEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reviewed:交互,auto:自动
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用的软件名称
|
||||||
|
*/
|
||||||
|
private String software;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 软件版本号
|
||||||
|
*/
|
||||||
|
private String swVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析员名称
|
||||||
|
*/
|
||||||
|
private String analyst;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 基线计数方法描述
|
||||||
|
*/
|
||||||
|
private String baselineMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 寻峰方法描述
|
||||||
|
*/
|
||||||
|
private String peaksMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素识别方法描述
|
||||||
|
*/
|
||||||
|
private String nuclideMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不确定度计算描述
|
||||||
|
*/
|
||||||
|
private String uncCalcMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lc计算方法描述
|
||||||
|
*/
|
||||||
|
private String lcMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 寻峰起始道
|
||||||
|
*/
|
||||||
|
private Integer searchStartChannel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 寻峰结束道
|
||||||
|
*/
|
||||||
|
private Integer searchEndChannel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 寻峰阈值
|
||||||
|
*/
|
||||||
|
private Double searchThreshold;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰数目
|
||||||
|
*/
|
||||||
|
private Integer numberOfPeaks;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总计数
|
||||||
|
*/
|
||||||
|
private Float totalCounts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分级结果
|
||||||
|
*/
|
||||||
|
private Integer category;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注释
|
||||||
|
*/
|
||||||
|
private String comments;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
private String usedgasphd;
|
||||||
|
|
||||||
|
private String useddetphd;
|
||||||
|
|
||||||
|
private Integer usedgasphdId;
|
||||||
|
|
||||||
|
private Integer useddetphdId;
|
||||||
|
|
||||||
|
private String baselinePath;
|
||||||
|
|
||||||
|
private String lcPath;
|
||||||
|
|
||||||
|
private String scacPath;
|
||||||
|
|
||||||
|
private String logPath;
|
||||||
|
|
||||||
|
private String reportPath;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,61 @@
|
||||||
|
package org.jeecg.modules.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GardsCalibrationPairsSpectrum implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* G:gamma探测器的数据,#g_;B:beta探测器的数据,#b_
|
||||||
|
*/
|
||||||
|
private String sampleType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* energy:能量刻度;
|
||||||
|
* efficiency:效率刻度;
|
||||||
|
* Resolution:分辨率刻度
|
||||||
|
*/
|
||||||
|
private String caltype;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHD:代表数据来自PHD文件;External:代表数据来自外部,如刻度工具、其它文件等
|
||||||
|
*/
|
||||||
|
private String input;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 刻度点ID号
|
||||||
|
*/
|
||||||
|
private Integer idCalPoint;
|
||||||
|
|
||||||
|
private Double xValue;
|
||||||
|
|
||||||
|
private Double yValue;
|
||||||
|
|
||||||
|
private String decayMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* y值不确定度
|
||||||
|
*/
|
||||||
|
private String uncYValue;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
package org.jeecg.modules.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GardsCalibrationSpectrum implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* G:gamma探测器的数据,#g_;B:beta探测器的数据,#b_
|
||||||
|
*/
|
||||||
|
private String sampleType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* energy:能量刻度;
|
||||||
|
* efficiency:效率刻度;
|
||||||
|
* Resolution:分辨率刻度
|
||||||
|
*/
|
||||||
|
private String calType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合方程ID号(统一定义)
|
||||||
|
*/
|
||||||
|
private Integer function;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合方程描述
|
||||||
|
*/
|
||||||
|
private String functionDef;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合的起始值
|
||||||
|
*/
|
||||||
|
private Integer startOfRange;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合的结束值
|
||||||
|
*/
|
||||||
|
private Integer endOfRange;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数1
|
||||||
|
*/
|
||||||
|
private Double coeff1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数2
|
||||||
|
*/
|
||||||
|
private Double coeff2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数3
|
||||||
|
*/
|
||||||
|
private Double coeff3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数4
|
||||||
|
*/
|
||||||
|
private Double coeff4;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数5
|
||||||
|
*/
|
||||||
|
private Double coeff5;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数6
|
||||||
|
*/
|
||||||
|
private Double coeff6;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数7
|
||||||
|
*/
|
||||||
|
private Double coeff7;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数8
|
||||||
|
*/
|
||||||
|
private Double coeff8;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拟合系数9
|
||||||
|
*/
|
||||||
|
private Double coeff9;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
private String coeffString;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,104 @@
|
||||||
|
package org.jeecg.modules.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GardsNuclIdedSpectrum implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素名称
|
||||||
|
*/
|
||||||
|
private String nuclideName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素类型
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素半衰期
|
||||||
|
*/
|
||||||
|
private String halflife;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平均活度值
|
||||||
|
*/
|
||||||
|
private String aveActiv;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平均活度值不确定度
|
||||||
|
*/
|
||||||
|
private Double aveActivErr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主射线活度值
|
||||||
|
*/
|
||||||
|
private Double activKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主射线活度值不确定度
|
||||||
|
*/
|
||||||
|
private Double activKeyErr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素的最小可探测活度
|
||||||
|
*/
|
||||||
|
private String mda;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素的最小可探测活度不确定度
|
||||||
|
*/
|
||||||
|
private Double mdaErr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素识别标志
|
||||||
|
*/
|
||||||
|
private Integer nidFlag;
|
||||||
|
|
||||||
|
private Double activDecay;
|
||||||
|
|
||||||
|
private Double activDecayErr;
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子(无设为1)
|
||||||
|
*/
|
||||||
|
private Double cscRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子不确定度(无设为0)
|
||||||
|
*/
|
||||||
|
private Double cscRatioErr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活度是否经过符合相加校正
|
||||||
|
*/
|
||||||
|
private Integer cscModFlag;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
private String mdc;
|
||||||
|
|
||||||
|
private String concentration;
|
||||||
|
|
||||||
|
private String keyEnergy;
|
||||||
|
|
||||||
|
private String keyYield;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,109 @@
|
||||||
|
package org.jeecg.modules.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GardsNuclLinesIdedSpectrum implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰序号
|
||||||
|
*/
|
||||||
|
private Integer idPeak;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素名称
|
||||||
|
*/
|
||||||
|
private String nuclideName;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的能量(keV)
|
||||||
|
*/
|
||||||
|
private Double energy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的能量不确定度(keV)
|
||||||
|
*/
|
||||||
|
private Double uncEnergy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的发射几率
|
||||||
|
*/
|
||||||
|
private Double abundance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 核素库中核素对应峰的发射几率不确定度
|
||||||
|
*/
|
||||||
|
private Double uncAbundance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 利用该峰计算得到的活度
|
||||||
|
*/
|
||||||
|
private String activity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 利用该峰计算得到的活度不确定度
|
||||||
|
*/
|
||||||
|
private Double uncActivity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 该峰处的探测效率
|
||||||
|
*/
|
||||||
|
private Double effic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 该峰处的探测效率不确定度
|
||||||
|
*/
|
||||||
|
private Double uncEffic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 利用该峰计算得到的最小可探测活度
|
||||||
|
*/
|
||||||
|
private Double mda;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主射线标识:0-否;1-是
|
||||||
|
*/
|
||||||
|
private Double keyFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子(无设为1)
|
||||||
|
*/
|
||||||
|
private Double cscRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 符合相加校正因子不确定度(无设为0)
|
||||||
|
*/
|
||||||
|
private Double cscRatioErr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活度是否经过符合相加校正
|
||||||
|
*/
|
||||||
|
private Double cscModFlag;
|
||||||
|
|
||||||
|
private String nuclidefullname;
|
||||||
|
|
||||||
|
private String mdc;
|
||||||
|
|
||||||
|
private String concentration;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,155 @@
|
||||||
|
package org.jeecg.modules.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GardsPeaksSpectrum implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 样品id
|
||||||
|
*/
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰序号
|
||||||
|
*/
|
||||||
|
private Integer idPeak;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析ID号
|
||||||
|
*/
|
||||||
|
private Integer idAnalysis;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰中心道(道址)
|
||||||
|
*/
|
||||||
|
private Double centroidChannel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰中心道不确定度(道址)
|
||||||
|
*/
|
||||||
|
private Double uncCentroidChannel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰中心道能量(keV)
|
||||||
|
*/
|
||||||
|
private Double energy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰中心道能量不确定度(keV)
|
||||||
|
*/
|
||||||
|
private Double uncEnergy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰面积(计数)。已扣除基线面积,但未扣除空白样品计数和探测器本底计数
|
||||||
|
*/
|
||||||
|
private Double area;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰面积不确定度(计数)
|
||||||
|
*/
|
||||||
|
private Double uncArea;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 峰的净计数率(1/s)=峰面积/活时间
|
||||||
|
*/
|
||||||
|
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,29 @@
|
||||||
|
package org.jeecg.modules.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GardsQcCheckSpectrum implements Serializable {
|
||||||
|
|
||||||
|
private Integer sampleId;
|
||||||
|
|
||||||
|
private Integer idanalysis;
|
||||||
|
|
||||||
|
private String qcName;
|
||||||
|
|
||||||
|
private Double qcValue;
|
||||||
|
|
||||||
|
private String qcStandard;
|
||||||
|
|
||||||
|
private Integer qcResult;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
private Date moddate;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AcquisitionBlock implements Serializable {
|
||||||
|
|
||||||
|
/* Acquisition Block */
|
||||||
|
private String acquisition_start_date; // acquisition start date (yyyy / mm / dd)
|
||||||
|
|
||||||
|
private String acquisition_start_time; // acquisition start time (hh : mm : ss . s)
|
||||||
|
|
||||||
|
private Double acquisition_real_time; // acquisition real time (s)
|
||||||
|
|
||||||
|
private Double acquisition_live_time; // acquisition live time (s)
|
||||||
|
|
||||||
|
public AcquisitionBlock(){
|
||||||
|
acquisition_start_date="";
|
||||||
|
acquisition_start_time="";
|
||||||
|
acquisition_real_time=0.0;
|
||||||
|
acquisition_live_time=0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,44 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AnalyseData implements Serializable {
|
||||||
|
|
||||||
|
private String applyType;
|
||||||
|
|
||||||
|
private boolean sampleData;
|
||||||
|
|
||||||
|
private boolean GasBgData;
|
||||||
|
|
||||||
|
private boolean DetBgData;
|
||||||
|
|
||||||
|
private boolean QCData;
|
||||||
|
|
||||||
|
private boolean gFitting;
|
||||||
|
|
||||||
|
private boolean bFitting;
|
||||||
|
|
||||||
|
private boolean bGammaEnergyValid;
|
||||||
|
|
||||||
|
private boolean bBetaEnergyValid;
|
||||||
|
|
||||||
|
private List<TableWidget> fittingChannelEnergy;
|
||||||
|
|
||||||
|
private CalibrationParam g_calibration_param;
|
||||||
|
|
||||||
|
private CalibrationParam b_calibration_param;
|
||||||
|
|
||||||
|
private String dbName;
|
||||||
|
|
||||||
|
private List<Integer> sampleIds;
|
||||||
|
|
||||||
|
public AnalyseData(){
|
||||||
|
g_calibration_param = new CalibrationParam();
|
||||||
|
b_calibration_param = new CalibrationParam();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BaseControls implements Serializable {
|
||||||
|
private boolean ReplotUsed;
|
||||||
|
private boolean ReplotNeeded;
|
||||||
|
private int rg_low; //分析范围的最小值
|
||||||
|
private int rg_high; //分析范围的最大值
|
||||||
|
private List<Double> XCtrl;
|
||||||
|
private List<Double> YCtrl;
|
||||||
|
private List<Double> YSlope;
|
||||||
|
private List<Double> Baseline;
|
||||||
|
private List<Double> StepCounts;
|
||||||
|
|
||||||
|
public BaseControls(){
|
||||||
|
rg_low = 1;
|
||||||
|
rg_high = 1;
|
||||||
|
ReplotUsed = false;
|
||||||
|
ReplotNeeded = false;
|
||||||
|
XCtrl=new LinkedList<>();
|
||||||
|
YCtrl=new LinkedList<>();
|
||||||
|
YSlope=new LinkedList<>();
|
||||||
|
Baseline=new LinkedList<>();
|
||||||
|
StepCounts=new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class BgCalibratePara implements Serializable {
|
||||||
|
|
||||||
|
private List<Double> b_e_cal; //b 能刻度系数
|
||||||
|
private List<Double> g_e_cal; //g 能刻度系数
|
||||||
|
private int b_e_cal_flag; //b 自计算刻度系数配置
|
||||||
|
private int g_e_cal_flag; //g 自计算刻度系数配置
|
||||||
|
private boolean bApplyNewCalicSample; // 界面交互新刻度应用
|
||||||
|
private boolean bApplyNewCalicDetBg;
|
||||||
|
private boolean bApplyNewCalicGasBg;
|
||||||
|
private boolean bApplyNewCalicQc;
|
||||||
|
public BgCalibratePara() {
|
||||||
|
b_e_cal = new LinkedList<>();
|
||||||
|
g_e_cal = new LinkedList<>();
|
||||||
|
b_e_cal_flag = 2;
|
||||||
|
g_e_cal_flag = 2;
|
||||||
|
bApplyNewCalicSample = false;
|
||||||
|
bApplyNewCalicDetBg = false;
|
||||||
|
bApplyNewCalicGasBg = false;
|
||||||
|
bApplyNewCalicQc = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CalibrationBlock implements Serializable {
|
||||||
|
|
||||||
|
/* Calibration Block */
|
||||||
|
private String date_calibration; // date of last calibration (yyyy / mm / dd)
|
||||||
|
|
||||||
|
private String time_calibration; // time of last calibration (hh : mm : ss)
|
||||||
|
|
||||||
|
public CalibrationBlock(){
|
||||||
|
date_calibration = "";
|
||||||
|
time_calibration = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CalibrationParam implements Serializable {
|
||||||
|
|
||||||
|
public double param_a_c2e_old;
|
||||||
|
public double param_b_c2e_old;
|
||||||
|
public double param_c_c2e_old;
|
||||||
|
public double param_a_c2e_new;
|
||||||
|
public double param_b_c2e_new;
|
||||||
|
public double param_c_c2e_new;
|
||||||
|
|
||||||
|
public double param_a_e2c_old;
|
||||||
|
public double param_b_e2c_old;
|
||||||
|
public double param_c_e2c_old;
|
||||||
|
public double param_a_e2c_new;
|
||||||
|
public double param_b_e2c_new;
|
||||||
|
public double param_c_e2c_new;
|
||||||
|
|
||||||
|
public CalibrationParam() {
|
||||||
|
param_a_c2e_old = 0;
|
||||||
|
param_b_c2e_old = 0;
|
||||||
|
param_c_c2e_old = 0;
|
||||||
|
param_a_e2c_old = 0;
|
||||||
|
param_b_e2c_old = 0;
|
||||||
|
param_c_e2c_old = 0;
|
||||||
|
|
||||||
|
param_a_c2e_new = 0;
|
||||||
|
param_b_c2e_new = 0;
|
||||||
|
param_c_c2e_new = 0;
|
||||||
|
param_a_e2c_new = 0;
|
||||||
|
param_b_e2c_new = 0;
|
||||||
|
param_c_e2c_new = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,61 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CertificateBlock implements Serializable {
|
||||||
|
|
||||||
|
/* Certificate Block */
|
||||||
|
private double total_source_activity; // total source activity (Bq)
|
||||||
|
|
||||||
|
private String assay_date; // assay date (yyyy / mm / dd)
|
||||||
|
|
||||||
|
private String assay_time; // assay time (hh : mm : ss)
|
||||||
|
|
||||||
|
private String units_activity; // units of activity: “B,” “b” for Bq or “[blank]”; if nothing, then “B” is assigned
|
||||||
|
|
||||||
|
private List<String> nuclide_name; // nuclide name
|
||||||
|
|
||||||
|
private List<String> half_life_time; // half-life in seconds, hours, days, or years
|
||||||
|
|
||||||
|
private List<String> time_unit; // time unit(Y, D, H, S)
|
||||||
|
|
||||||
|
private List<Double> activity_nuclide_time_assay;// activity of nuclide at time of assay
|
||||||
|
|
||||||
|
private List<Double> uncertainty; // uncertainty (%)
|
||||||
|
|
||||||
|
private List<Double> g_energy; // γ-energy (keV)
|
||||||
|
|
||||||
|
private List<Double> g_intensity; // γ-intensity (percent)
|
||||||
|
|
||||||
|
private List<String> electron_decay_mode; // electron decay mode descriptor: B for β particle or C for conversion electron (CE), 0 for none (that is, γ-only source)
|
||||||
|
|
||||||
|
private List<Double> maximum_energy; // maximum β-particle energy or CE energy (keV)
|
||||||
|
|
||||||
|
private List<Double> intensity_b_particle; // intensity of β-particle (percent)
|
||||||
|
|
||||||
|
private int record_count;
|
||||||
|
|
||||||
|
public CertificateBlock(){
|
||||||
|
total_source_activity=0;
|
||||||
|
assay_date="";
|
||||||
|
assay_time="";
|
||||||
|
units_activity="";
|
||||||
|
nuclide_name= new LinkedList<>();
|
||||||
|
half_life_time= new LinkedList<>();
|
||||||
|
time_unit= new LinkedList<>();
|
||||||
|
activity_nuclide_time_assay= new LinkedList<>();
|
||||||
|
uncertainty= new LinkedList<>();
|
||||||
|
g_energy= new LinkedList<>();
|
||||||
|
g_intensity= new LinkedList<>();
|
||||||
|
electron_decay_mode= new LinkedList<>();
|
||||||
|
maximum_energy= new LinkedList<>();
|
||||||
|
intensity_b_particle= new LinkedList<>();
|
||||||
|
record_count=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ChartData implements Serializable {
|
||||||
|
private String name;
|
||||||
|
private String group;
|
||||||
|
private String color;
|
||||||
|
private boolean show;
|
||||||
|
private String type;
|
||||||
|
private List<SeriseData> pointlist;
|
||||||
|
|
||||||
|
public ChartData() {
|
||||||
|
name = "";
|
||||||
|
group = "";
|
||||||
|
color = "yellow";
|
||||||
|
show = true;
|
||||||
|
type = "Either";
|
||||||
|
pointlist = new LinkedList<>();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CollectionBlock implements Serializable {
|
||||||
|
|
||||||
|
/* Collection Block */
|
||||||
|
private String collection_start_date; // collection start date (yyyy / mm / dd)
|
||||||
|
|
||||||
|
private String collection_start_time; // collection start time (hh : mm : ss . s)
|
||||||
|
|
||||||
|
private String collection_stop_date; // collection stop date (yyyy / mm / dd)
|
||||||
|
|
||||||
|
private String collection_stop_time; // collection stop time (hh : mm : ss . s)
|
||||||
|
|
||||||
|
private double air_volume; // total air volume sampled (standard cubic meters [scm])
|
||||||
|
|
||||||
|
public CollectionBlock(){
|
||||||
|
collection_start_date="";
|
||||||
|
collection_start_time="";
|
||||||
|
collection_stop_date="";
|
||||||
|
collection_stop_time="";
|
||||||
|
air_volume=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class FittingBody implements Serializable {
|
||||||
|
|
||||||
|
private Double paramA;
|
||||||
|
|
||||||
|
private Double paramB;
|
||||||
|
|
||||||
|
private Double paramC;
|
||||||
|
|
||||||
|
private List<SeriseData> tempPoints;
|
||||||
|
|
||||||
|
private Integer count;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GEfficiencyBlock implements Serializable {
|
||||||
|
|
||||||
|
private List<Double> g_energy; // γ -energy (keV)
|
||||||
|
|
||||||
|
private List<Double> efficiency; // efficiency (counts in peak/photon emitted)
|
||||||
|
|
||||||
|
private List<Double> uncertainty; // uncertainty (counts in peak/photon emitted)
|
||||||
|
|
||||||
|
private Integer record_count;
|
||||||
|
|
||||||
|
public GEfficiencyBlock(){
|
||||||
|
g_energy = new LinkedList<>();
|
||||||
|
efficiency = new LinkedList<>();
|
||||||
|
uncertainty = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GEnergyBlock implements Serializable {
|
||||||
|
|
||||||
|
private List<Double> g_energy; // γ -energy (keV)
|
||||||
|
|
||||||
|
private List<Double> centroid_channel; // centroid channel
|
||||||
|
|
||||||
|
private List<Double> uncertainty; // uncertainty (channels)
|
||||||
|
|
||||||
|
private Integer record_count;
|
||||||
|
|
||||||
|
public GEnergyBlock(){
|
||||||
|
g_energy = new LinkedList<>();
|
||||||
|
centroid_channel = new LinkedList<>();
|
||||||
|
uncertainty = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GResolutionBlock implements Serializable {
|
||||||
|
|
||||||
|
private List<Double> g_energy; // γ -energy (keV)
|
||||||
|
|
||||||
|
private List<Double> FWHM; // FWHM (keV)
|
||||||
|
|
||||||
|
private List<Double> uncertainty; // uncertainty (keV)
|
||||||
|
|
||||||
|
private Integer record_count;
|
||||||
|
|
||||||
|
public GResolutionBlock(){
|
||||||
|
g_energy = new LinkedList<>();
|
||||||
|
FWHM = new LinkedList<>();
|
||||||
|
uncertainty = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GSpectrumBlock implements Serializable {
|
||||||
|
|
||||||
|
/* g_Spectrum Block */
|
||||||
|
private long num_g_channel; // number of γ channels
|
||||||
|
|
||||||
|
private long g_energy_span; // γ-energy span (keV)
|
||||||
|
|
||||||
|
private long begin_channel; // begin of channels
|
||||||
|
|
||||||
|
private List<Long> counts; // count at channel
|
||||||
|
|
||||||
|
public GSpectrumBlock(){
|
||||||
|
num_g_channel=0;
|
||||||
|
g_energy_span=0;
|
||||||
|
begin_channel=0;
|
||||||
|
counts= new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class HalfData implements Serializable {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private Double half;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class HeaderBlock implements Serializable {
|
||||||
|
|
||||||
|
/* Header Black */
|
||||||
|
private String designator; // designator
|
||||||
|
|
||||||
|
private String site_code; // site code
|
||||||
|
|
||||||
|
private String detector_code; // detector code
|
||||||
|
|
||||||
|
private String system_type; // system type: P for particulate; B for gas with 3-D β - γ coincidence detection; and
|
||||||
|
// G for all other gas systems (high-resolu-tion γ-spectrometry or 2-D β-γ coinci-dence detection)
|
||||||
|
|
||||||
|
private String sample_geometry; // sample geometry
|
||||||
|
|
||||||
|
private String spectrum_quantity; // spectrum qualifier: preliminary ( PREL )or full ( FULL)
|
||||||
|
|
||||||
|
private String sample_ref_id; // sample reference identification
|
||||||
|
|
||||||
|
private String measurement_id; // measurement identification
|
||||||
|
|
||||||
|
private String detector_bk_measurement_id; // detector background measurement identification
|
||||||
|
|
||||||
|
private String gas_bk_measurement_id; // gas background measurement identification (memory effect)
|
||||||
|
|
||||||
|
private String transmit_date; // transmit date (yyyy / mm / dd)
|
||||||
|
|
||||||
|
private String transmit_time; // transmit time (hh : mm : ss . s)
|
||||||
|
|
||||||
|
public HeaderBlock(){
|
||||||
|
designator="";
|
||||||
|
site_code="";
|
||||||
|
detector_code="";
|
||||||
|
system_type="";
|
||||||
|
sample_geometry="";
|
||||||
|
spectrum_quantity="";
|
||||||
|
sample_ref_id="";
|
||||||
|
measurement_id="";
|
||||||
|
detector_bk_measurement_id="";
|
||||||
|
gas_bk_measurement_id="";
|
||||||
|
transmit_date="";
|
||||||
|
transmit_time="";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MessageInfo implements Serializable {
|
||||||
|
|
||||||
|
/* Infomations */
|
||||||
|
private String msg_type;
|
||||||
|
|
||||||
|
private String msg_id;
|
||||||
|
|
||||||
|
private String msg_src_code;
|
||||||
|
|
||||||
|
private String ref_id_str;
|
||||||
|
|
||||||
|
private String ref_src_code;
|
||||||
|
|
||||||
|
private String seq_num;
|
||||||
|
|
||||||
|
private String tot_num;
|
||||||
|
|
||||||
|
private String product_id;
|
||||||
|
|
||||||
|
private String delivery_id;
|
||||||
|
|
||||||
|
private String data_type;
|
||||||
|
|
||||||
|
private boolean verify_srid;
|
||||||
|
|
||||||
|
public MessageInfo(){
|
||||||
|
msg_type="";
|
||||||
|
msg_id="";
|
||||||
|
msg_src_code="";
|
||||||
|
ref_id_str="";
|
||||||
|
ref_src_code="";
|
||||||
|
seq_num="";
|
||||||
|
tot_num="";
|
||||||
|
product_id="";
|
||||||
|
delivery_id="";
|
||||||
|
data_type="";
|
||||||
|
verify_srid=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class NuclideActMda implements Serializable {
|
||||||
|
private boolean bCalculateMDA;
|
||||||
|
private int calculateIdx;
|
||||||
|
private int key_flag; // 第 key_flag 条射线是主射线,从 0 开始编号, key_flag < 0 表示无主射线
|
||||||
|
private double halflife;
|
||||||
|
private double activity;
|
||||||
|
private double act_err;
|
||||||
|
private double mda;
|
||||||
|
private double mdc;
|
||||||
|
private double efficiency;
|
||||||
|
private double effi_err;
|
||||||
|
private double concentration;
|
||||||
|
private List<String> fullNames;
|
||||||
|
private List<Double> vEnergy; // 匹配的γ射线能量
|
||||||
|
private List<Double> vUncertE;
|
||||||
|
private List<Double> vYield; // 匹配的γ射线分支比
|
||||||
|
private List<Double> vUncertY;
|
||||||
|
private List<Integer> vPeakIdx; // 匹配的峰序号, 从 1 开始
|
||||||
|
|
||||||
|
public NuclideActMda() {
|
||||||
|
bCalculateMDA = false;
|
||||||
|
calculateIdx = -1;
|
||||||
|
key_flag = -1;
|
||||||
|
halflife = 0.0;
|
||||||
|
activity = 0.0;
|
||||||
|
act_err = 0.0;
|
||||||
|
mda = 0.0;
|
||||||
|
mdc = 0.0;
|
||||||
|
efficiency = 0.0;
|
||||||
|
effi_err = 0.0;
|
||||||
|
concentration = 0.0;
|
||||||
|
fullNames = new LinkedList<>();
|
||||||
|
vEnergy = new LinkedList<>();
|
||||||
|
vUncertE = new LinkedList<>();
|
||||||
|
vYield = new LinkedList<>();
|
||||||
|
vUncertY = new LinkedList<>();
|
||||||
|
vPeakIdx = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class NuclideLine implements Serializable {
|
||||||
|
|
||||||
|
private String FullName;
|
||||||
|
|
||||||
|
private Double energy;
|
||||||
|
|
||||||
|
private Double energy_uncert;
|
||||||
|
|
||||||
|
private Double yield;
|
||||||
|
|
||||||
|
private Double yield_uncert;
|
||||||
|
|
||||||
|
private Double key_flag;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class NuclideLines implements Serializable {
|
||||||
|
public List<String> fullNames; // 核素全名
|
||||||
|
public List<Double> vEnergy; // 核素的所有γ射线能量
|
||||||
|
public List<Double> vUncertE;
|
||||||
|
public List<Double> vYield; // 核素γ射线分支比
|
||||||
|
public List<Double> vUncertY;
|
||||||
|
public double halflife;// 单位:秒
|
||||||
|
public int key_flag; // 记录主射线下标
|
||||||
|
public int maxYeildIdx;
|
||||||
|
|
||||||
|
public NuclideLines() {
|
||||||
|
maxYeildIdx = -1;
|
||||||
|
key_flag = -1;
|
||||||
|
halflife = 0;
|
||||||
|
fullNames=new LinkedList<>();
|
||||||
|
vEnergy=new LinkedList<>();
|
||||||
|
vUncertE=new LinkedList<>();
|
||||||
|
vYield=new LinkedList<>();
|
||||||
|
vUncertY=new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PHDFile implements Serializable {
|
||||||
|
|
||||||
|
private boolean isValid; // 是否有效谱
|
||||||
|
private boolean bAnalyed; // 记录是否被分析
|
||||||
|
private String analy_start_time;
|
||||||
|
|
||||||
|
private String filename; // 谱文件名称
|
||||||
|
private String filepath; // 谱文件路径
|
||||||
|
private String log_path;
|
||||||
|
private String report_path;
|
||||||
|
private String baseline_path;
|
||||||
|
private String lc_path;
|
||||||
|
private String scac_path;
|
||||||
|
private String totalCmt; // 谱文件总注释
|
||||||
|
private String oriTotalCmt;// 原始谱总注释
|
||||||
|
|
||||||
|
SpecSetup usedSetting; // 当前使用的分析设置
|
||||||
|
|
||||||
|
SpecSetup setting; // 新修改的分析设置
|
||||||
|
|
||||||
|
// 分析结果
|
||||||
|
private List<PeakInfo> vPeak;
|
||||||
|
private List<Double> vEnergy;
|
||||||
|
private List<Double> vBase;
|
||||||
|
private List<Double> vLc;
|
||||||
|
private List<Double> vScac;
|
||||||
|
//stdvec vFwhm;
|
||||||
|
//stdvec vFwhmc;
|
||||||
|
BaseControls baseCtrls;
|
||||||
|
|
||||||
|
// 当前修改的刻度名称
|
||||||
|
private String newEner;
|
||||||
|
private String newReso;
|
||||||
|
private String newEffi;
|
||||||
|
private String newTotE;
|
||||||
|
|
||||||
|
// 当前寻峰结果所用的刻度名称
|
||||||
|
private String usedEner;
|
||||||
|
private String usedReso;
|
||||||
|
private String usedEffi;
|
||||||
|
private String usedTotE;
|
||||||
|
|
||||||
|
// 当前寻峰结果所用的刻度数据
|
||||||
|
private GEnergyBlock usedEnerKD;
|
||||||
|
private GResolutionBlock usedResoKD;
|
||||||
|
private GEfficiencyBlock usedEffiKD;
|
||||||
|
private TotaleffBlock usedTotEKD;
|
||||||
|
|
||||||
|
// 存储所有的刻度数据
|
||||||
|
private Map<String, GEnergyBlock> mapEnerKD; // 能量刻度
|
||||||
|
private Map<String, GResolutionBlock> mapResoKD; // 分辨率刻度
|
||||||
|
private Map<String, GEfficiencyBlock> mapEffiKD; // 效率刻度
|
||||||
|
private Map<String, TotaleffBlock> mapTotEKD; // 总效率刻度
|
||||||
|
|
||||||
|
// 当前寻峰结果所用的刻度参数
|
||||||
|
private ParameterInfo usedEnerPara;
|
||||||
|
private ParameterInfo usedResoPara;
|
||||||
|
private ParameterInfo usedEffiPara;
|
||||||
|
private ParameterInfo usedTotEPara;
|
||||||
|
|
||||||
|
// 存储所有的刻度参数
|
||||||
|
private Map<String, ParameterInfo> mapEnerPara;
|
||||||
|
private Map<String, ParameterInfo> mapResoPara;
|
||||||
|
private Map<String, ParameterInfo> mapEffiPara;
|
||||||
|
private Map<String, ParameterInfo> mapTotEPara;
|
||||||
|
|
||||||
|
// 其他参数,目前存储的是默认值
|
||||||
|
private ParameterInfo para_stepRatio;
|
||||||
|
private ParameterInfo para_tail;
|
||||||
|
private ParameterInfo para_tailAlpha;
|
||||||
|
private ParameterInfo para_tailRight;
|
||||||
|
private ParameterInfo para_tailRightAlpha;
|
||||||
|
|
||||||
|
// 谱基本信息
|
||||||
|
private String id_sample;
|
||||||
|
private String id_analysis;
|
||||||
|
private String status;
|
||||||
|
private String category;
|
||||||
|
private HeaderBlock header;
|
||||||
|
private MessageInfo msgInfo;
|
||||||
|
private GSpectrumBlock Spec;
|
||||||
|
private AcquisitionBlock acq;
|
||||||
|
private CollectionBlock collect;
|
||||||
|
private ProcessingBlock process;
|
||||||
|
private CalibrationBlock calibration;
|
||||||
|
private SampleBlock sampleBlock;
|
||||||
|
private CertificateBlock certificate;
|
||||||
|
|
||||||
|
// QC Check
|
||||||
|
private Map<String, QcCheckItem> QcItems;
|
||||||
|
|
||||||
|
// 核素活度浓度
|
||||||
|
private Map<String, NuclideActMda> mapNucActMda;
|
||||||
|
|
||||||
|
public PHDFile() {
|
||||||
|
bAnalyed = false;
|
||||||
|
isValid = true;
|
||||||
|
analy_start_time = "";
|
||||||
|
filename = "";
|
||||||
|
filepath = "";
|
||||||
|
log_path = "";
|
||||||
|
report_path = "";
|
||||||
|
baseline_path="";
|
||||||
|
lc_path="";
|
||||||
|
scac_path="";
|
||||||
|
totalCmt = "";
|
||||||
|
oriTotalCmt="";
|
||||||
|
usedSetting = new SpecSetup();
|
||||||
|
setting = new SpecSetup();
|
||||||
|
vPeak = new LinkedList<>();
|
||||||
|
vEnergy = new LinkedList<>();
|
||||||
|
vBase = new LinkedList<>();
|
||||||
|
vLc = new LinkedList<>();
|
||||||
|
vScac = new LinkedList<>();
|
||||||
|
baseCtrls = new BaseControls();
|
||||||
|
newEner = "PHD";
|
||||||
|
newReso = "PHD";
|
||||||
|
newEffi = "PHD";
|
||||||
|
newTotE = "PHD";
|
||||||
|
usedEner= "";
|
||||||
|
usedReso= "";
|
||||||
|
usedEffi= "";
|
||||||
|
usedTotE= "";
|
||||||
|
mapEnerKD = new HashMap<>();
|
||||||
|
mapResoKD = new HashMap<>();
|
||||||
|
mapEffiKD = new HashMap<>();
|
||||||
|
mapTotEKD = new HashMap<>();
|
||||||
|
usedEnerPara = new ParameterInfo();
|
||||||
|
usedResoPara = new ParameterInfo();
|
||||||
|
usedEffiPara = new ParameterInfo();
|
||||||
|
usedTotEPara = new ParameterInfo();
|
||||||
|
mapEnerPara = new HashMap<>();
|
||||||
|
mapResoPara = new HashMap<>();
|
||||||
|
mapEffiPara = new HashMap<>();
|
||||||
|
mapTotEPara = new HashMap<>();
|
||||||
|
para_stepRatio = new ParameterInfo();
|
||||||
|
para_tail = new ParameterInfo();
|
||||||
|
para_tailAlpha = new ParameterInfo();
|
||||||
|
para_tailRight = new ParameterInfo();
|
||||||
|
para_tailRightAlpha = new ParameterInfo();
|
||||||
|
id_sample = "";
|
||||||
|
id_analysis = "";
|
||||||
|
status = "";
|
||||||
|
category = "";
|
||||||
|
header = new HeaderBlock();
|
||||||
|
msgInfo = new MessageInfo();
|
||||||
|
Spec = new GSpectrumBlock();
|
||||||
|
acq = new AcquisitionBlock();
|
||||||
|
collect = new CollectionBlock();
|
||||||
|
process = new ProcessingBlock();
|
||||||
|
calibration = new CalibrationBlock();
|
||||||
|
sampleBlock = new SampleBlock();
|
||||||
|
certificate = new CertificateBlock();
|
||||||
|
QcItems = new HashMap<>();
|
||||||
|
mapNucActMda = new HashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ParameterInfo implements Serializable {
|
||||||
|
|
||||||
|
private List<Double> p;
|
||||||
|
|
||||||
|
private List<Double> perr;
|
||||||
|
|
||||||
|
public ParameterInfo(){
|
||||||
|
p = new LinkedList<>();
|
||||||
|
perr = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,68 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PeakInfo implements Serializable {
|
||||||
|
|
||||||
|
public int index; //峰序号
|
||||||
|
|
||||||
|
public int multiIndex; //重峰序号
|
||||||
|
|
||||||
|
public int left; //峰的左边界
|
||||||
|
|
||||||
|
public int right; //峰的右边界
|
||||||
|
|
||||||
|
public double peakCentroid; //峰拟合后加权峰中心道
|
||||||
|
|
||||||
|
public double energy;
|
||||||
|
|
||||||
|
public double fwhmc; //半高宽
|
||||||
|
|
||||||
|
public double fwhm; //以keV为单位的半高宽
|
||||||
|
|
||||||
|
public double area; //净面积
|
||||||
|
|
||||||
|
public double areaErr; //
|
||||||
|
|
||||||
|
public double efficiency;
|
||||||
|
|
||||||
|
public double lc;
|
||||||
|
|
||||||
|
public double ld;
|
||||||
|
|
||||||
|
public double meanBackCount;
|
||||||
|
|
||||||
|
public double backgroundArea;
|
||||||
|
|
||||||
|
public double significance;
|
||||||
|
|
||||||
|
public double sensitivity;
|
||||||
|
|
||||||
|
public double stepRatio;
|
||||||
|
|
||||||
|
public double tail;
|
||||||
|
|
||||||
|
public double tailAlpha;
|
||||||
|
|
||||||
|
public double upperTail;
|
||||||
|
|
||||||
|
public double upperTailAlpha;
|
||||||
|
|
||||||
|
public double BWWidthChan;
|
||||||
|
|
||||||
|
public double recoilBetaChan;
|
||||||
|
|
||||||
|
public double recoilDeltaChan;
|
||||||
|
|
||||||
|
public String comments;
|
||||||
|
|
||||||
|
public List<String> nuclides;
|
||||||
|
|
||||||
|
public PeakInfo(){
|
||||||
|
nuclides = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ProcessingBlock implements Serializable {
|
||||||
|
|
||||||
|
/* Processing Block */
|
||||||
|
private double sample_volume_of_Xe; // sample volume of Xe (cm 3 )
|
||||||
|
|
||||||
|
private double uncertainty_1; // uncertainty (cm 3 )
|
||||||
|
|
||||||
|
private double Xe_collection_yield; // Xe collection yield (Xe gas in sample/total Xe gas sampled)
|
||||||
|
|
||||||
|
private double uncertainty_2; // uncertainty (Xe gas in sample/total Xe gas sampled)
|
||||||
|
|
||||||
|
private String archive_bottle_id; // archive bottle identification
|
||||||
|
|
||||||
|
public ProcessingBlock(){
|
||||||
|
sample_volume_of_Xe=0;
|
||||||
|
uncertainty_1=0;
|
||||||
|
Xe_collection_yield=0;
|
||||||
|
uncertainty_2=0;
|
||||||
|
archive_bottle_id="";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class QcCheckItem implements Serializable {
|
||||||
|
|
||||||
|
private String standard;
|
||||||
|
|
||||||
|
private double value;
|
||||||
|
|
||||||
|
private boolean bPass;
|
||||||
|
|
||||||
|
public QcCheckItem(){
|
||||||
|
standard="";
|
||||||
|
bPass = false;
|
||||||
|
value = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SampleBlock implements Serializable {
|
||||||
|
|
||||||
|
/* Sample Block */
|
||||||
|
private double dimension_1;
|
||||||
|
|
||||||
|
private double dimension_2;
|
||||||
|
|
||||||
|
public SampleBlock(){
|
||||||
|
dimension_1=0;
|
||||||
|
dimension_2=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ShapeData implements Serializable {
|
||||||
|
|
||||||
|
private int size;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String color;
|
||||||
|
|
||||||
|
private SeriseData point;
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
public ShapeData() {
|
||||||
|
size = 4;
|
||||||
|
color = "red";
|
||||||
|
type = "Shape_Round";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,57 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SpecSetup implements Serializable {
|
||||||
|
|
||||||
|
private double ECutAnalysis_Low;
|
||||||
|
|
||||||
|
private double ECutAnalysis_High;
|
||||||
|
|
||||||
|
private double EnergyTolerance;
|
||||||
|
|
||||||
|
private double CalibrationPSS_high;
|
||||||
|
|
||||||
|
private double CalibrationPSS_low;
|
||||||
|
|
||||||
|
private double BaseImprovePSS;
|
||||||
|
|
||||||
|
private double PSS_low;
|
||||||
|
|
||||||
|
private double k_back;
|
||||||
|
|
||||||
|
private double k_alpha;
|
||||||
|
|
||||||
|
private double k_beta;
|
||||||
|
|
||||||
|
private double RiskLevelK;
|
||||||
|
|
||||||
|
private boolean bUpdateCal;
|
||||||
|
|
||||||
|
private boolean KeepCalPeakSearchPeaks;
|
||||||
|
|
||||||
|
private Date refTime_act; //活度参考时间,默认是AcqStartTime
|
||||||
|
|
||||||
|
private Date refTime_conc; //默认是CollectStartTime
|
||||||
|
|
||||||
|
public SpecSetup(){
|
||||||
|
ECutAnalysis_Low = 12.0;
|
||||||
|
ECutAnalysis_High = 12.0;
|
||||||
|
EnergyTolerance = 0.5;
|
||||||
|
CalibrationPSS_high = 10.0;
|
||||||
|
CalibrationPSS_low = 5.0;
|
||||||
|
BaseImprovePSS = 10.0;
|
||||||
|
PSS_low = 2.7;
|
||||||
|
k_back = 1.25;
|
||||||
|
k_alpha = 2.576;
|
||||||
|
k_beta = 1.645;
|
||||||
|
RiskLevelK = 4.264890;
|
||||||
|
bUpdateCal = false;
|
||||||
|
KeepCalPeakSearchPeaks = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SpectrumGroup implements Serializable {
|
||||||
|
|
||||||
|
private String SampleSpectrumFile;
|
||||||
|
private String GasBgSpectrumFile;
|
||||||
|
private String DetBgSpectrumFile;
|
||||||
|
private BgCalibratePara BgCalPara;
|
||||||
|
private List<Double> b_c2e;
|
||||||
|
private List<Double> g_c2e;
|
||||||
|
|
||||||
|
public SpectrumGroup(){
|
||||||
|
BgCalPara = new BgCalibratePara();
|
||||||
|
b_c2e = new LinkedList<>();
|
||||||
|
g_c2e = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -13,8 +13,8 @@ public class TableWidget implements Serializable {
|
||||||
|
|
||||||
private Double energy;
|
private Double energy;
|
||||||
|
|
||||||
private String c;
|
private String FWHMC;
|
||||||
|
|
||||||
private String keV;
|
private String FWHMkeV;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package org.jeecg.modules.entity.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TotaleffBlock implements Serializable {
|
||||||
|
|
||||||
|
private List<Double> g_energy; // γ -energy (keV)
|
||||||
|
|
||||||
|
private List<Double> total_efficiency; // total efficiency (counts/photon emitted)
|
||||||
|
|
||||||
|
private List<Double> uncertainty; // uncertainty (counts/photon emitted)
|
||||||
|
|
||||||
|
private int record_count;
|
||||||
|
|
||||||
|
public TotaleffBlock(){
|
||||||
|
g_energy = new LinkedList<>();
|
||||||
|
total_efficiency = new LinkedList<>();
|
||||||
|
uncertainty = new LinkedList<>();
|
||||||
|
record_count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
package org.jeecg.modules.mapper;
|
package org.jeecg.modules.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.jeecg.modules.system.entity.GardsDetectors;
|
import org.jeecg.modules.base.entity.configuration.GardsDetectors;
|
||||||
|
|
||||||
public interface GardsDetectorsSpectrumMapper extends BaseMapper<GardsDetectors> {
|
public interface GardsDetectorsSpectrumMapper extends BaseMapper<GardsDetectors> {
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,12 +3,9 @@ package org.jeecg.modules.mapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.jeecg.modules.entity.GardsSampleDataSpectrum;
|
import org.jeecg.modules.base.entity.rnman.GardsAnalySetting;
|
||||||
import org.jeecg.modules.entity.GardsXeResultsSpectrum;
|
import org.jeecg.modules.entity.*;
|
||||||
import org.jeecg.modules.entity.vo.CommentData;
|
import org.jeecg.modules.entity.vo.*;
|
||||||
import org.jeecg.modules.entity.vo.SpectrumFileRecord;
|
|
||||||
import org.jeecg.modules.entity.vo.StatisticsData;
|
|
||||||
import org.jeecg.modules.entity.vo.StatisticsQueryData;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -50,5 +47,28 @@ public interface SpectrumAnalysisMapper {
|
||||||
|
|
||||||
List<StatisticsData> statisticsQuerySampleVolumn(String startDate, String endDate, List<String> detectorList);
|
List<StatisticsData> statisticsQuerySampleVolumn(String startDate, String endDate, List<String> detectorList);
|
||||||
|
|
||||||
|
String getStatus(@Param(value = "sampleId") Integer sampleId);
|
||||||
|
|
||||||
|
GardsAnalysesSpectrum getAnalysis(@Param(value = "dbName") String dbName, @Param(value = "sampleId") Integer sampleId);
|
||||||
|
|
||||||
|
List<GardsPeaksSpectrum> getPeaks(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||||
|
|
||||||
|
List<GardsCalibrationPairsSpectrum> getCalibrationPairs(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||||
|
|
||||||
|
List<GardsCalibrationSpectrum> getPara(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||||
|
|
||||||
|
List<GardsNuclLinesIdedSpectrum> getNuclLinesIded(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||||
|
|
||||||
|
List<GardsNuclIdedSpectrum> getNuclIded(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||||
|
|
||||||
|
List<GardsQcCheckSpectrum> getQcCheck(@Param(value = "dbName") String dbName, @Param(value = "idAnalysis") Integer idAnalysis);
|
||||||
|
|
||||||
|
GardsAnalySetting getAnalySetting(@Param(value = "idAnalysis") Integer idAnalysis);
|
||||||
|
|
||||||
|
List<NuclideLine> getNuclideLines(@Param(value = "name") String name);
|
||||||
|
|
||||||
|
List<HalfData> getHalf(@Param(value = "names") List<String> names);
|
||||||
|
|
||||||
|
List<String> UserNuclide(@Param(value = "systemType") String systemType, @Param(value = "userName") String userName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -361,5 +361,134 @@
|
||||||
order by gsd.COLLECT_START
|
order by gsd.COLLECT_START
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getStatus" resultType="java.lang.String">
|
||||||
|
SELECT STATUS FROM ORIGINAL.GARDS_SAMPLE_DATA WHERE SAMPLE_ID = #{sampleId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getAnalysis" resultType="org.jeecg.modules.entity.GardsAnalysesSpectrum">
|
||||||
|
SELECT
|
||||||
|
IDANALYSIS,
|
||||||
|
COMMENTS,
|
||||||
|
SEARCHSTARTCHANNEL,
|
||||||
|
SEARCHENDCHANNEL,
|
||||||
|
SEARCHTHRESHOLD,
|
||||||
|
NUMBEROFPEAKS,
|
||||||
|
BASELINE_PATH,
|
||||||
|
LC_PATH,
|
||||||
|
SCAC_PATH
|
||||||
|
FROM
|
||||||
|
${dbName}
|
||||||
|
WHERE SAMPLE_ID = #{sampleId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPeaks" resultType="org.jeecg.modules.entity.GardsPeaksSpectrum">
|
||||||
|
SELECT
|
||||||
|
IDPEAK,
|
||||||
|
CENTROIDCHANNEL,
|
||||||
|
ENERGY,
|
||||||
|
AREA,
|
||||||
|
UNCAREA,
|
||||||
|
EFFICIENCY,
|
||||||
|
FWHM,
|
||||||
|
FWTM,
|
||||||
|
SIGNIFICANCE,
|
||||||
|
LC,
|
||||||
|
ROISTART,
|
||||||
|
ROIEND,
|
||||||
|
MULTIINDEX,
|
||||||
|
TAIL,
|
||||||
|
TAILALPHA,
|
||||||
|
UPPERTAIL,
|
||||||
|
UPPERTAILALPHA,
|
||||||
|
BWWIDTHCHAN,
|
||||||
|
RECOILDELTACHAN,
|
||||||
|
STEPRAIO,
|
||||||
|
LD,
|
||||||
|
SENSITIVITY,
|
||||||
|
BACKGROUNDAREA,
|
||||||
|
MEANBACKCOUNT,
|
||||||
|
PEAKCOMMENTS
|
||||||
|
FROM ${dbName}
|
||||||
|
WHERE IDANALYSIS = #{idAnalysis}
|
||||||
|
ORDER BY IDPEAK
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getCalibrationPairs" resultType="org.jeecg.modules.entity.GardsCalibrationPairsSpectrum">
|
||||||
|
SELECT CALTYPE, INPUT, XVALUE, YVALUE, UNCYVALUE FROM ${dbName} WHERE IDANALYSIS = #{idAnalysis} ORDER BY XVALUE
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPara" resultType="org.jeecg.modules.entity.GardsCalibrationSpectrum">
|
||||||
|
SELECT * FROM ${dbName} WHERE IDANALYSIS = #{idAnalysis}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getNuclLinesIded" resultType="org.jeecg.modules.entity.GardsNuclLinesIdedSpectrum">
|
||||||
|
SELECT
|
||||||
|
NUCLIDENAME,
|
||||||
|
NUCLIDEFULLNAME,
|
||||||
|
IDPEAK,
|
||||||
|
ENERGY,
|
||||||
|
UNCENERGY,
|
||||||
|
ABUNDANCE,
|
||||||
|
UNCABUNDANCE,
|
||||||
|
ACTIVITY,
|
||||||
|
UNCACTIVITY,
|
||||||
|
EFFIC,
|
||||||
|
UNEFFIC,
|
||||||
|
MDA,
|
||||||
|
KEY_FLAG,
|
||||||
|
MDC,
|
||||||
|
CONCENTRATION
|
||||||
|
FROM ${dbName}
|
||||||
|
WHERE IDANALYSIS = #{idAnalysis}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getNuclIded" resultType="org.jeecg.modules.entity.GardsNuclIdedSpectrum">
|
||||||
|
SELECT NUCLIDENAME, HALFLIFE, KEY_ENERGY, KEY_YIELD FROM ${dbName} WHERE IDANALYSIS = #{idAnalysis}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getQcCheck" resultType="org.jeecg.modules.entity.GardsQcCheckSpectrum">
|
||||||
|
SELECT QC_NAME, QC_VALUE, QC_STANDARD, QC_RESULT FROM ${dbName} WHERE IDANALYSIS = #{idAnalysis}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getAnalySetting" resultType="org.jeecg.modules.base.entity.rnman.GardsAnalySetting">
|
||||||
|
SELECT
|
||||||
|
ECUTANALYSIS_LOW,
|
||||||
|
ECUTANALYSIS_HIGH,
|
||||||
|
ENERGYTOLERANCE,
|
||||||
|
CALIBRATIONPSS_HIGH,
|
||||||
|
CALIBRATIONPSS_LOW,
|
||||||
|
BASEIMPROVEPSS,
|
||||||
|
PSS_LOW,
|
||||||
|
K_BACK,
|
||||||
|
K_ALPHA,
|
||||||
|
K_BETA,
|
||||||
|
RISKLEVELK,
|
||||||
|
BUPDATECAL,
|
||||||
|
KEEPCALPEAKSERCHPEAKS,
|
||||||
|
REFTIME_ACT,
|
||||||
|
REFTIME_CONC
|
||||||
|
FROM RNMAN.GARDS_ANALY_SETTING
|
||||||
|
WHERE idanalysis = #{idAnalysis}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getNuclideLines" resultType="org.jeecg.modules.entity.vo.NuclideLine">
|
||||||
|
SELECT FULLNAME,ENERGY,ENERGY_UNCERT,YIELD,YIELD_UNCERT,KEY_FLAG from CONFIGURATION.GARDS_NUCL_LINES_LIB WHERE NAME = #{name} ORDER BY ENERGY
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getHalf" resultType="org.jeecg.modules.entity.vo.HalfData">
|
||||||
|
SELECT
|
||||||
|
NAME,
|
||||||
|
HALFLIFE
|
||||||
|
FROM
|
||||||
|
CONFIGURATION.GARDS_NUCL_LIB
|
||||||
|
WHERE NAME IN
|
||||||
|
<foreach collection="names" item="name" open="(" separator="," close=")">
|
||||||
|
#{name}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="UserNuclide" resultType="java.lang.String">
|
||||||
|
SELECT nuclide_name FROM sys_default_nuclide where use_type = 3 and nuclide_type = #{systemType} and create_by = #{userName}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -0,0 +1,18 @@
|
||||||
|
package org.jeecg.modules.native_jni;
|
||||||
|
|
||||||
|
import org.jeecg.modules.entity.vo.PeakInfo;
|
||||||
|
import org.jeecg.modules.native_jni.struct.CalValuesOut;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class CalValuesHandler {
|
||||||
|
|
||||||
|
public static native CalValuesOut calFcnEval(List<Double> x, List<Double> para);
|
||||||
|
|
||||||
|
public static native CalValuesOut energyToChannel(List<Double> energy, List<Double> para);
|
||||||
|
|
||||||
|
public static native CalValuesOut calDerivEval(List<Double> channel, List<Double> para);
|
||||||
|
|
||||||
|
public static native List<Double> interp1(PeakInfo peak, List<Double> t_base, List<Double> regChan);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package org.jeecg.modules.native_jni.struct;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class CalValuesOut {
|
||||||
|
|
||||||
|
public int rowNum;
|
||||||
|
|
||||||
|
public int colNum;
|
||||||
|
|
||||||
|
public List<Double> counts;
|
||||||
|
|
||||||
|
}
|
|
@ -6,8 +6,8 @@ import java.util.List;
|
||||||
* 能谱结构体字段信息
|
* 能谱结构体字段信息
|
||||||
*/
|
*/
|
||||||
public class EnergySpectrumStruct {
|
public class EnergySpectrumStruct {
|
||||||
|
|
||||||
/************************* Infomations ******************/
|
/************************* Infomations ******************/
|
||||||
/**
|
/**
|
||||||
* 消息类型
|
* 消息类型
|
||||||
*/
|
*/
|
||||||
|
@ -70,6 +70,10 @@ public class EnergySpectrumStruct {
|
||||||
* transmit time (hh : mm : ss . s)
|
* transmit time (hh : mm : ss . s)
|
||||||
*/
|
*/
|
||||||
public String transmit_time;
|
public String transmit_time;
|
||||||
|
/************************* Comment ******************/
|
||||||
|
public Double dimension_1;
|
||||||
|
|
||||||
|
public Double dimension_2;
|
||||||
|
|
||||||
/************************* Comment ******************/
|
/************************* Comment ******************/
|
||||||
public String comment;
|
public String comment;
|
||||||
|
@ -356,48 +360,193 @@ public class EnergySpectrumStruct {
|
||||||
* counts at channels
|
* counts at channels
|
||||||
*/
|
*/
|
||||||
public List<Long> h_counts;
|
public List<Long> h_counts;
|
||||||
|
|
||||||
public EnergySpectrumStruct() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
/************************* Certificate_Block ******************/
|
||||||
public String toString() {
|
/**
|
||||||
return "EnergySpectrumStruct [msg_type=" + msg_type + ", msg_id=" + msg_id + ", data_type=" + data_type
|
* total source activity (Bq)
|
||||||
+ ", designator=" + designator + ", site_code=" + site_code + ", detector_code=" + detector_code
|
*/
|
||||||
+ ", system_type=" + system_type + ", sample_geometry=" + sample_geometry + ", spectrum_quantity="
|
public double total_source_activity;
|
||||||
+ spectrum_quantity + ", sample_ref_id=" + sample_ref_id + ", measurement_id=" + measurement_id
|
/**
|
||||||
+ ", detector_bk_measurement_id=" + detector_bk_measurement_id + ", gas_bk_measurement_id="
|
* assay date (yyyy / mm / dd)
|
||||||
+ gas_bk_measurement_id + ", transmit_date=" + transmit_date + ", transmit_time=" + transmit_time
|
*/
|
||||||
+ ", comment=" + comment + ", acquisition_start_date=" + acquisition_start_date
|
public String assay_date;
|
||||||
+ ", acquisition_start_time=" + acquisition_start_time + ", acquisition_real_time="
|
/**
|
||||||
+ acquisition_real_time + ", acquisition_live_time=" + acquisition_live_time
|
* assay time (hh : mm : ss)
|
||||||
+ ", collection_start_date=" + collection_start_date + ", collection_start_time="
|
*/
|
||||||
+ collection_start_time + ", collection_stop_date=" + collection_stop_date + ", collection_stop_time="
|
public String assay_time;
|
||||||
+ collection_stop_time + ", air_volume=" + air_volume + ", sample_volume_of_Xe=" + sample_volume_of_Xe
|
/**
|
||||||
+ ", uncertainty_1=" + uncertainty_1 + ", Xe_collection_yield=" + Xe_collection_yield
|
* units of activity: “B,” “b” for Bq or “[blank]”; if nothing, then “B” is assigned
|
||||||
+ ", uncertainty_2=" + uncertainty_2 + ", archive_bottle_id=" + archive_bottle_id
|
*/
|
||||||
+ ", date_calibration=" + date_calibration + ", time_calibration=" + time_calibration + ", g_energy="
|
public String units_activity;
|
||||||
+ g_energy + ", g_centroid_channel=" + g_centroid_channel + ", g_uncertainty=" + g_uncertainty
|
/**
|
||||||
+ ", g_record_count=" + g_record_count + ", b_electron_energy=" + b_electron_energy + ", b_decay_mode="
|
* nuclide name
|
||||||
+ b_decay_mode + ", b_channel=" + b_channel + ", b_uncertainty=" + b_uncertainty + ", b_record_count="
|
*/
|
||||||
+ b_record_count + ", g_r_energy=" + g_r_energy + ", g_r_FWHM=" + g_r_FWHM + ", g_r_uncertainty="
|
public List<String> nuclide_name;
|
||||||
+ g_r_uncertainty + ", g_r_record_count=" + g_r_record_count + ", b_r_electron_energy="
|
/**
|
||||||
+ b_r_electron_energy + ", b_r_FWHM=" + b_r_FWHM + ", b_r_uncertainty=" + b_r_uncertainty
|
* half-life in seconds, hours, days, or years
|
||||||
+ ", b_r_record_count=" + b_r_record_count + ", g_e_energy=" + g_e_energy + ", g_e_efficiency="
|
*/
|
||||||
+ g_e_efficiency + ", g_e_uncertainty=" + g_e_uncertainty + ", g_e_record_count=" + g_e_record_count
|
public List<String> half_life_time;
|
||||||
+ ", ROI_number=" + ROI_number + ", POI_B_x1=" + POI_B_x1 + ", POI_B_x2=" + POI_B_x2 + ", POI_G_y1="
|
/**
|
||||||
+ POI_G_y1 + ", POI_G_y2=" + POI_G_y2 + ", roi_record_count=" + roi_record_count + ", bg_nuclide_name="
|
* time unit(Y, D, H, S)
|
||||||
+ bg_nuclide_name + ", bg_ROI_number=" + bg_ROI_number + ", bg_efficiency=" + bg_efficiency
|
*/
|
||||||
+ ", bg_uncertainty=" + bg_uncertainty + ", bg_record_count=" + bg_record_count + ", ratio_id="
|
public List<String> time_unit;
|
||||||
+ ratio_id + ", ROI_num_highter_G_energy_ROI=" + ROI_num_highter_G_energy_ROI
|
/**
|
||||||
+ ", ROI_num_lower_G_energy_ROI=" + ROI_num_lower_G_energy_ROI + ", count_ratio=" + count_ratio
|
* activity of nuclide at time of assay
|
||||||
+ ", count_ratio_uncertainty=" + count_ratio_uncertainty + ", ratio_record_count=" + ratio_record_count
|
*/
|
||||||
+ ", num_g_channel=" + num_g_channel + ", g_energy_span=" + g_energy_span + ", g_begin_channel="
|
public List<Double> activity_nuclide_time_assay;
|
||||||
+ g_begin_channel + ", g_counts=" + g_counts + ", num_b_channel=" + num_b_channel + ", b_energy_span="
|
/**
|
||||||
+ b_energy_span + ", b_begin_channel=" + b_begin_channel + ", b_counts=" + b_counts + ", b_channels="
|
* uncertainty (%)
|
||||||
+ b_channels + ", g_channels=" + g_channels + ", b_h_energy_span=" + b_h_energy_span
|
*/
|
||||||
+ ", g_h_energy_span=" + g_h_energy_span + ", h_counts="+ h_counts +"]";
|
public List<Double> uncertainty;
|
||||||
}
|
/**
|
||||||
|
* γ-energy (keV)
|
||||||
|
*/
|
||||||
|
public List<Double> cer_g_energy;
|
||||||
|
/**
|
||||||
|
* γ-intensity (percent)
|
||||||
|
*/
|
||||||
|
public List<Double> g_intensity;
|
||||||
|
/**
|
||||||
|
* electron decay mode descriptor: B for β particle or C for conversion electron (CE), 0 for none (that is, γ-only source)
|
||||||
|
*/
|
||||||
|
public List<String> electron_decay_mode;
|
||||||
|
/**
|
||||||
|
* maximum β-particle energy or CE energy (keV)
|
||||||
|
*/
|
||||||
|
public List<Double> maximum_energy;
|
||||||
|
/**
|
||||||
|
* intensity of β-particle (percent)
|
||||||
|
*/
|
||||||
|
public List<Double> intensity_b_particle;
|
||||||
|
|
||||||
|
public int record_count;
|
||||||
|
/************************* Totaleff Block ******************/
|
||||||
|
/**
|
||||||
|
* γ-energy (keV)
|
||||||
|
*/
|
||||||
|
public List<Double> t_g_energy;
|
||||||
|
/**
|
||||||
|
* total efficiency (counts/photon emitted)
|
||||||
|
*/
|
||||||
|
public List<Double> total_efficiency;
|
||||||
|
/**
|
||||||
|
* uncertainty (counts/photon emitted)
|
||||||
|
*/
|
||||||
|
public List<Double> t_uncertainty;
|
||||||
|
|
||||||
|
public int t_record_count;
|
||||||
|
|
||||||
|
public EnergySpectrumStruct() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "EnergySpectrumStruct{" +
|
||||||
|
"msg_type='" + msg_type + '\'' +
|
||||||
|
", msg_id='" + msg_id + '\'' +
|
||||||
|
", data_type='" + data_type + '\'' +
|
||||||
|
", designator='" + designator + '\'' +
|
||||||
|
", site_code='" + site_code + '\'' +
|
||||||
|
", detector_code='" + detector_code + '\'' +
|
||||||
|
", system_type='" + system_type + '\'' +
|
||||||
|
", sample_geometry='" + sample_geometry + '\'' +
|
||||||
|
", spectrum_quantity='" + spectrum_quantity + '\'' +
|
||||||
|
", sample_ref_id='" + sample_ref_id + '\'' +
|
||||||
|
", measurement_id='" + measurement_id + '\'' +
|
||||||
|
", detector_bk_measurement_id='" + detector_bk_measurement_id + '\'' +
|
||||||
|
", gas_bk_measurement_id='" + gas_bk_measurement_id + '\'' +
|
||||||
|
", transmit_date='" + transmit_date + '\'' +
|
||||||
|
", transmit_time='" + transmit_time + '\'' +
|
||||||
|
", comment='" + comment + '\'' +
|
||||||
|
", acquisition_start_date='" + acquisition_start_date + '\'' +
|
||||||
|
", acquisition_start_time='" + acquisition_start_time + '\'' +
|
||||||
|
", acquisition_real_time=" + acquisition_real_time +
|
||||||
|
", acquisition_live_time=" + acquisition_live_time +
|
||||||
|
", collection_start_date='" + collection_start_date + '\'' +
|
||||||
|
", collection_start_time='" + collection_start_time + '\'' +
|
||||||
|
", collection_stop_date='" + collection_stop_date + '\'' +
|
||||||
|
", collection_stop_time='" + collection_stop_time + '\'' +
|
||||||
|
", air_volume=" + air_volume +
|
||||||
|
", sample_volume_of_Xe=" + sample_volume_of_Xe +
|
||||||
|
", uncertainty_1=" + uncertainty_1 +
|
||||||
|
", Xe_collection_yield=" + Xe_collection_yield +
|
||||||
|
", uncertainty_2=" + uncertainty_2 +
|
||||||
|
", archive_bottle_id='" + archive_bottle_id + '\'' +
|
||||||
|
", date_calibration='" + date_calibration + '\'' +
|
||||||
|
", time_calibration='" + time_calibration + '\'' +
|
||||||
|
", g_energy=" + g_energy +
|
||||||
|
", g_centroid_channel=" + g_centroid_channel +
|
||||||
|
", g_uncertainty=" + g_uncertainty +
|
||||||
|
", g_record_count=" + g_record_count +
|
||||||
|
", b_electron_energy=" + b_electron_energy +
|
||||||
|
", b_decay_mode=" + b_decay_mode +
|
||||||
|
", b_channel=" + b_channel +
|
||||||
|
", b_uncertainty=" + b_uncertainty +
|
||||||
|
", b_record_count=" + b_record_count +
|
||||||
|
", g_r_energy=" + g_r_energy +
|
||||||
|
", g_r_FWHM=" + g_r_FWHM +
|
||||||
|
", g_r_uncertainty=" + g_r_uncertainty +
|
||||||
|
", g_r_record_count=" + g_r_record_count +
|
||||||
|
", b_r_electron_energy=" + b_r_electron_energy +
|
||||||
|
", b_r_FWHM=" + b_r_FWHM +
|
||||||
|
", b_r_uncertainty=" + b_r_uncertainty +
|
||||||
|
", b_r_record_count=" + b_r_record_count +
|
||||||
|
", g_e_energy=" + g_e_energy +
|
||||||
|
", g_e_efficiency=" + g_e_efficiency +
|
||||||
|
", g_e_uncertainty=" + g_e_uncertainty +
|
||||||
|
", g_e_record_count=" + g_e_record_count +
|
||||||
|
", ROI_number=" + ROI_number +
|
||||||
|
", POI_B_x1=" + POI_B_x1 +
|
||||||
|
", POI_B_x2=" + POI_B_x2 +
|
||||||
|
", POI_G_y1=" + POI_G_y1 +
|
||||||
|
", POI_G_y2=" + POI_G_y2 +
|
||||||
|
", roi_record_count=" + roi_record_count +
|
||||||
|
", bg_nuclide_name=" + bg_nuclide_name +
|
||||||
|
", bg_ROI_number=" + bg_ROI_number +
|
||||||
|
", bg_efficiency=" + bg_efficiency +
|
||||||
|
", bg_uncertainty=" + bg_uncertainty +
|
||||||
|
", bg_record_count=" + bg_record_count +
|
||||||
|
", ratio_id=" + ratio_id +
|
||||||
|
", ROI_num_highter_G_energy_ROI=" + ROI_num_highter_G_energy_ROI +
|
||||||
|
", ROI_num_lower_G_energy_ROI=" + ROI_num_lower_G_energy_ROI +
|
||||||
|
", count_ratio=" + count_ratio +
|
||||||
|
", count_ratio_uncertainty=" + count_ratio_uncertainty +
|
||||||
|
", ratio_record_count=" + ratio_record_count +
|
||||||
|
", num_g_channel=" + num_g_channel +
|
||||||
|
", g_energy_span=" + g_energy_span +
|
||||||
|
", g_begin_channel=" + g_begin_channel +
|
||||||
|
", g_counts=" + g_counts +
|
||||||
|
", num_b_channel=" + num_b_channel +
|
||||||
|
", b_energy_span=" + b_energy_span +
|
||||||
|
", b_begin_channel=" + b_begin_channel +
|
||||||
|
", b_counts=" + b_counts +
|
||||||
|
", b_channels=" + b_channels +
|
||||||
|
", g_channels=" + g_channels +
|
||||||
|
", b_h_energy_span=" + b_h_energy_span +
|
||||||
|
", g_h_energy_span=" + g_h_energy_span +
|
||||||
|
", h_counts=" + h_counts +
|
||||||
|
", total_source_activity=" + total_source_activity +
|
||||||
|
", assay_date='" + assay_date + '\'' +
|
||||||
|
", assay_time='" + assay_time + '\'' +
|
||||||
|
", units_activity='" + units_activity + '\'' +
|
||||||
|
", nuclide_name=" + nuclide_name +
|
||||||
|
", half_life_time=" + half_life_time +
|
||||||
|
", time_unit=" + time_unit +
|
||||||
|
", activity_nuclide_time_assay=" + activity_nuclide_time_assay +
|
||||||
|
", uncertainty=" + uncertainty +
|
||||||
|
", cer_g_energy=" + cer_g_energy +
|
||||||
|
", g_intensity=" + g_intensity +
|
||||||
|
", electron_decay_mode=" + electron_decay_mode +
|
||||||
|
", maximum_energy=" + maximum_energy +
|
||||||
|
", intensity_b_particle=" + intensity_b_particle +
|
||||||
|
", record_count=" + record_count +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
EnergySpectrumStruct s = new EnergySpectrumStruct();
|
||||||
|
System.out.println(s);
|
||||||
|
System.out.println(s.gas_bk_measurement_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
public interface IDataService {
|
||||||
|
|
||||||
|
Result initValue(HttpServletRequest request);
|
||||||
|
|
||||||
|
}
|
|
@ -1,5 +1,15 @@
|
||||||
package org.jeecg.modules.service;
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
public interface IGammaService{
|
public interface IGammaService{
|
||||||
void gammaByFile(String path,String fileName);
|
|
||||||
|
Result gammaByDB(String dbName, Integer sampleId);
|
||||||
|
|
||||||
|
Result configure(Integer sampleId);
|
||||||
|
|
||||||
|
Result Reprocessing(Integer sampleId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@ package org.jeecg.modules.service;
|
||||||
import org.jeecg.common.api.QueryRequest;
|
import org.jeecg.common.api.QueryRequest;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.modules.entity.GardsSampleDataSpectrum;
|
import org.jeecg.modules.entity.GardsSampleDataSpectrum;
|
||||||
|
import org.jeecg.modules.entity.vo.AnalyseData;
|
||||||
|
import org.jeecg.modules.entity.vo.SeriseData;
|
||||||
import org.jeecg.modules.entity.vo.StatisticsQueryData;
|
import org.jeecg.modules.entity.vo.StatisticsQueryData;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
@ -48,6 +50,14 @@ public interface ISpectrumAnalysisService {
|
||||||
|
|
||||||
Result statisticsQueryBtn(String detectorName, Integer stationId, String statisticsType, Date startTime, Date endTime);
|
Result statisticsQueryBtn(String detectorName, Integer stationId, String statisticsType, Date startTime, Date endTime);
|
||||||
|
|
||||||
Result fitting(Double paramA, Double paramB, Double paramC, List<Double> tempPoints);
|
Result fitting(Double paramA, Double paramB, Double paramC, List<SeriseData> tempPointsArray, Integer count);
|
||||||
|
|
||||||
|
Result getGammaGated(Integer chartHeight, Integer channelWidth, Integer gammaChannel, Integer sampleId);
|
||||||
|
|
||||||
|
Result ReAnalyse(AnalyseData analyseData);
|
||||||
|
|
||||||
|
Result analyseCurrentSpectrum(String dbName, Integer sampleId);
|
||||||
|
|
||||||
|
Result analyseAllSpectrum();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package org.jeecg.modules.service;
|
package org.jeecg.modules.service;
|
||||||
|
|
||||||
import org.jeecg.modules.system.entity.SysUser;
|
import org.jeecg.modules.base.entity.postgre.SysUser;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.system.util.JwtUtil;
|
||||||
|
import org.jeecg.common.util.GammaFileUtil;
|
||||||
|
import org.jeecg.common.util.RedisUtil;
|
||||||
|
import org.jeecg.modules.entity.vo.NuclideLines;
|
||||||
|
import org.jeecg.modules.mapper.SpectrumAnalysisMapper;
|
||||||
|
import org.jeecg.modules.service.IDataService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service("dataService")
|
||||||
|
public class DataServiceImpl implements IDataService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SpectrumAnalysisMapper spectrumAnalysisMapper;
|
||||||
|
@Autowired
|
||||||
|
private GammaFileUtil gammaFileUtil;
|
||||||
|
@Autowired
|
||||||
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result initValue(HttpServletRequest request) {
|
||||||
|
Result result = new Result();
|
||||||
|
String userName = JwtUtil.getUserNameByToken(request);
|
||||||
|
List<String> PNuclideList = spectrumAnalysisMapper.UserNuclide("P", userName);
|
||||||
|
if (CollectionUtils.isEmpty(PNuclideList)){
|
||||||
|
PNuclideList = spectrumAnalysisMapper.UserNuclide("P", "admin");
|
||||||
|
}
|
||||||
|
List<String> GNuclideList = spectrumAnalysisMapper.UserNuclide("G", userName);
|
||||||
|
if (CollectionUtils.isEmpty(GNuclideList)){
|
||||||
|
GNuclideList = spectrumAnalysisMapper.UserNuclide("G", "admin");
|
||||||
|
}
|
||||||
|
Map<String, NuclideLines> PNuclideLinesMap = gammaFileUtil.GetNuclideLines(PNuclideList);
|
||||||
|
redisUtil.set("Gamma:GammaPInit"+userName,PNuclideLinesMap);
|
||||||
|
Map<String, NuclideLines> GNuclideLinesMap = gammaFileUtil.GetNuclideLines(GNuclideList);
|
||||||
|
redisUtil.set("Gamma:GammaGInit"+userName,GNuclideLinesMap);
|
||||||
|
result.setSuccess(true);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,13 +1,97 @@
|
||||||
package org.jeecg.modules.service.impl;
|
package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.system.util.JwtUtil;
|
||||||
|
import org.jeecg.common.util.GammaFileUtil;
|
||||||
|
import org.jeecg.common.util.RedisUtil;
|
||||||
|
import org.jeecg.modules.entity.vo.NuclideLines;
|
||||||
|
import org.jeecg.modules.entity.vo.PHDFile;
|
||||||
|
import org.jeecg.modules.entity.vo.SpecSetup;
|
||||||
import org.jeecg.modules.service.IGammaService;
|
import org.jeecg.modules.service.IGammaService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service(value = "gammaService")
|
||||||
|
@DS("ora")
|
||||||
public class GammaServiceImpl implements IGammaService {
|
public class GammaServiceImpl implements IGammaService {
|
||||||
|
|
||||||
@Override
|
@Autowired
|
||||||
public void gammaByFile(String path,String fileName) {
|
private RedisUtil redisUtil;
|
||||||
|
@Autowired
|
||||||
|
private GammaFileUtil gammaFileUtil;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result gammaByDB(String dbName, Integer sampleId) {
|
||||||
|
Result result = new Result();
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
PHDFile phd = new PHDFile();
|
||||||
|
//读取文件内容
|
||||||
|
gammaFileUtil.loadFile(sampleId, phd, result);
|
||||||
|
//从数据库中读取相关信息 ---- 目前代码未完善
|
||||||
|
gammaFileUtil.getResultFromDB(dbName, sampleId, phd, result);
|
||||||
|
// 更新 ‘QC Flags’ 状态
|
||||||
|
List<String> qcstate = gammaFileUtil.Qcstate(phd);
|
||||||
|
map.put("QCFlag", qcstate);
|
||||||
|
// 更新 ‘Detailed Information’ 信息
|
||||||
|
List<String> detailedInfo = gammaFileUtil.DetailedInfo(phd);
|
||||||
|
map.put("DetailedInformation", detailedInfo);
|
||||||
|
// 更新 ACQ 模块中各时间信息
|
||||||
|
map.put("start_time", phd.getAcq().getAcquisition_start_date() + "\n" + phd.getAcq().getAcquisition_start_time());
|
||||||
|
map.put("real_time", String.format("%.2f", phd.getAcq().getAcquisition_real_time()));
|
||||||
|
map.put("live_time", String.format("%.2f", phd.getAcq().getAcquisition_live_time()));
|
||||||
|
double deadTime = (phd.getAcq().getAcquisition_real_time() - phd.getAcq().getAcquisition_live_time()) / phd.getAcq().getAcquisition_real_time();
|
||||||
|
map.put("dead_time", String.format("%.2f", deadTime*100));
|
||||||
|
gammaFileUtil.UpdateChart(phd, map);
|
||||||
|
redisUtil.set("Gamma : Gamma_"+sampleId, phd);
|
||||||
|
result.setSuccess(true);
|
||||||
|
result.setResult(map);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result configure(Integer sampleId) {
|
||||||
|
Result result = new Result();
|
||||||
|
PHDFile phd = (PHDFile) redisUtil.get("Gamma_" + sampleId);
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
// 用当前谱使用的设置初始化界面控件
|
||||||
|
SpecSetup setup = phd.getUsedSetting();
|
||||||
|
map.put("edit_ps_low", setup.getECutAnalysis_Low());
|
||||||
|
map.put("edit_ps_high", setup.getECutAnalysis_High());
|
||||||
|
map.put("edit_energy", setup.getEnergyTolerance());
|
||||||
|
map.put("edit_pss_low", setup.getPSS_low());
|
||||||
|
map.put("edit_cal_low", setup.getCalibrationPSS_low());
|
||||||
|
map.put("edit_cal_high", setup.getCalibrationPSS_high());
|
||||||
|
map.put("checkBox_updateCal", setup.isBUpdateCal());
|
||||||
|
map.put("checkBox_keepPeak", setup.isKeepCalPeakSearchPeaks());
|
||||||
|
map.put("edit_bi_pss", setup.getBaseImprovePSS());
|
||||||
|
map.put("edit_riskLevelK", setup.getRiskLevelK());
|
||||||
|
map.put("edit_k_back", setup.getK_back());
|
||||||
|
map.put("edit_k_alpha", setup.getK_alpha());
|
||||||
|
map.put("edit_k_beta", setup.getK_beta());
|
||||||
|
map.put("dateTime_Act", setup.getRefTime_act());
|
||||||
|
map.put("dateTime_Conc", setup.getRefTime_conc());
|
||||||
|
|
||||||
|
// 当前谱文件为非 “P” 类型时禁用“刻度更新”模块
|
||||||
|
if(!phd.getHeader().getSystem_type().toUpperCase().contains("P")) {
|
||||||
|
map.put("group_calPS", false);
|
||||||
|
}
|
||||||
|
result.setSuccess(true);
|
||||||
|
result.setResult(map);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result Reprocessing(Integer sampleId) {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,9 +173,6 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
result.error500("数据库类型不存在");
|
result.error500("数据库类型不存在");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
if (redisUtil.hasKey("Spectrum_"+sampleId)){
|
|
||||||
redisUtil.del("Spectrum_"+sampleId);
|
|
||||||
}
|
|
||||||
//查询数据库文件信息
|
//查询数据库文件信息
|
||||||
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
|
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
|
||||||
//查询数据库中结果的Xe数据
|
//查询数据库中结果的Xe数据
|
||||||
|
@ -213,7 +210,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
detBgMap = this.fenxi(pathName, fileName, xeDataList, detBg.getSampleId(), detBg.getStatus());
|
detBgMap = this.fenxi(pathName, fileName, xeDataList, detBg.getSampleId(), detBg.getStatus());
|
||||||
resultMap.put("detBg",detBgMap);
|
resultMap.put("detBg",detBgMap);
|
||||||
}
|
}
|
||||||
String collectStartStr = DateUtils.formatDate(dbSpectrumFilePath.getCollectStart(), "yyyy-MM-dd HH:mm:ss");
|
String collectStartStr = DateUtils.formatDate(dbSpectrumFilePath.getCollectStart(), "yyyy/MM/dd HH:mm:ss");
|
||||||
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(dbSpectrumFilePath.getSiteDetCode(), collectStartStr);
|
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(dbSpectrumFilePath.getSiteDetCode(), collectStartStr);
|
||||||
dbSpectrumFilePath.setQcFilePath(dbQcFilePath);
|
dbSpectrumFilePath.setQcFilePath(dbQcFilePath);
|
||||||
filePath.add(dbQcFilePath);
|
filePath.add(dbQcFilePath);
|
||||||
|
@ -226,7 +223,6 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
}
|
}
|
||||||
phdFileUtil.getLightColor(sampleMap,gasBgMap,detBgMap,qcMap);
|
phdFileUtil.getLightColor(sampleMap,gasBgMap,detBgMap,qcMap);
|
||||||
}
|
}
|
||||||
redisUtil.set("Spectrum_"+sampleId, filePath);
|
|
||||||
result.setSuccess(true);
|
result.setSuccess(true);
|
||||||
result.setResult(resultMap);
|
result.setResult(resultMap);
|
||||||
return result;
|
return result;
|
||||||
|
@ -285,9 +281,6 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
result.error500("删除失败!");
|
result.error500("删除失败!");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
for (Integer sampleId:sampleIds) {
|
|
||||||
redisUtil.del("Spectrum_"+sampleId);
|
|
||||||
}
|
|
||||||
result.success("删除成功");
|
result.success("删除成功");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -498,7 +491,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
List<String> lines = phdFileUtil.readLine(detBgFilePath);
|
List<String> lines = phdFileUtil.readLine(detBgFilePath);
|
||||||
map.put("detBg", lines);
|
map.put("detBg", lines);
|
||||||
}
|
}
|
||||||
String collectStartStr = DateUtils.formatDate(dbSpectrumFilePath.getCollectStart(), "yyyy-MM-dd HH:mm:ss");
|
String collectStartStr = DateUtils.formatDate(dbSpectrumFilePath.getCollectStart(), "yyyy/MM/dd HH:mm:ss");
|
||||||
String dbQcFilePath = StringPool.SLASH+ spectrumPathProperties.getRootPath() +StringPool.SLASH+spectrumAnalysisMapper.getQCFilePath(dbSpectrumFilePath.getSiteDetCode(), collectStartStr);
|
String dbQcFilePath = StringPool.SLASH+ spectrumPathProperties.getRootPath() +StringPool.SLASH+spectrumAnalysisMapper.getQCFilePath(dbSpectrumFilePath.getSiteDetCode(), collectStartStr);
|
||||||
if(StringUtils.isNotBlank(dbQcFilePath)){
|
if(StringUtils.isNotBlank(dbQcFilePath)){
|
||||||
List<String> lines = phdFileUtil.readLine(dbQcFilePath);
|
List<String> lines = phdFileUtil.readLine(dbQcFilePath);
|
||||||
|
@ -554,15 +547,15 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
String sit_det_code = struct.site_code;
|
String sit_det_code = struct.site_code;
|
||||||
String detect_code = struct.detector_code;
|
String detect_code = struct.detector_code;
|
||||||
String sample_id = sampleId.toString();
|
String sample_id = sampleId.toString();
|
||||||
Date collectStartDate = DateUtils.parseDate(struct.collection_start_date.replace(StringPool.SLASH, StringPool.DASH) + StringPool.SPACE + struct.collection_start_time.substring(0, struct.collection_start_time.indexOf(StringPool.DOT)), "yyyy-MM-dd HH:mm:ss");
|
Date collectStartDate = DateUtils.parseDate(struct.collection_start_date + StringPool.SPACE + struct.collection_start_time.substring(0, struct.collection_start_time.indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss");
|
||||||
Date collectStopDate = DateUtils.parseDate(struct.collection_stop_date.replace(StringPool.SLASH, StringPool.DASH) + StringPool.SPACE + struct.collection_stop_time.substring(0, struct.collection_stop_time.indexOf(StringPool.DOT)), "yyyy-MM-dd HH:mm:ss");
|
Date collectStopDate = DateUtils.parseDate(struct.collection_stop_date + StringPool.SPACE + struct.collection_stop_time.substring(0, struct.collection_stop_time.indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss");
|
||||||
String collect_start = DateUtils.formatDate(collectStartDate, "yyyy-MM-dd HH:mm:ss");
|
String collect_start = DateUtils.formatDate(collectStartDate, "yyyy/MM/dd HH:mm:ss");
|
||||||
String collect_stop = DateUtils.formatDate(collectStopDate, "yyyy-MM-dd HH:mm:ss");
|
String collect_stop = DateUtils.formatDate(collectStopDate, "yyyy/MM/dd HH:mm:ss");
|
||||||
String collection_time_value = String.format ("%.2f",Double.valueOf(collectStopDate.getTime()/1000 - collectStartDate.getTime()/ 1000));
|
String collection_time_value = String.format ("%.2f",Double.valueOf(collectStopDate.getTime()/1000 - collectStartDate.getTime()/ 1000));
|
||||||
String s_volume_of_Xe = String.valueOf(struct.air_volume);
|
String s_volume_of_Xe = String.valueOf(struct.air_volume);
|
||||||
String s_xe_stable_volume = String.valueOf(struct.sample_volume_of_Xe);
|
String s_xe_stable_volume = String.valueOf(struct.sample_volume_of_Xe);
|
||||||
Date acquisitionStartDate = DateUtils.parseDate(struct.acquisition_start_date.replace(StringPool.SLASH, StringPool.DASH) + StringPool.SPACE + struct.acquisition_start_time.substring(0, struct.acquisition_start_time.indexOf(StringPool.DOT)), "yyyy-MM-dd HH:mm:ss");
|
Date acquisitionStartDate = DateUtils.parseDate(struct.acquisition_start_date + StringPool.SPACE + struct.acquisition_start_time.substring(0, struct.acquisition_start_time.indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss");
|
||||||
String acquisition_start = DateUtils.formatDate(acquisitionStartDate, "yyyy-MM-dd HH:mm:ss");
|
String acquisition_start = DateUtils.formatDate(acquisitionStartDate, "yyyy/MM/dd HH:mm:ss");
|
||||||
String acquisition_real_sec = String.valueOf(struct.acquisition_real_time);
|
String acquisition_real_sec = String.valueOf(struct.acquisition_real_time);
|
||||||
String acquisition_live_sec = String.valueOf(struct.acquisition_live_time);
|
String acquisition_live_sec = String.valueOf(struct.acquisition_live_time);
|
||||||
StringBuffer strBuffer = new StringBuffer();
|
StringBuffer strBuffer = new StringBuffer();
|
||||||
|
@ -671,19 +664,19 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
|
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
|
||||||
bkgdMeasurementID = struct.detector_bk_measurement_id;
|
bkgdMeasurementID = struct.detector_bk_measurement_id;
|
||||||
gasBkgdMeasurementID = struct.gas_bk_measurement_id;
|
gasBkgdMeasurementID = struct.gas_bk_measurement_id;
|
||||||
Date collectStartDate = DateUtils.parseDate(struct.collection_start_date.replace(StringPool.SLASH, StringPool.DASH) + StringPool.SPACE + struct.collection_start_time.substring(0, struct.collection_start_time.indexOf(StringPool.DOT)), "yyyy-MM-dd HH:mm:ss");
|
Date collectStartDate = DateUtils.parseDate(struct.collection_start_date + StringPool.SPACE + struct.collection_start_time.substring(0, struct.collection_start_time.indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss");
|
||||||
Date collectStopDate = DateUtils.parseDate(struct.collection_stop_date.replace(StringPool.SLASH, StringPool.DASH) + StringPool.SPACE + struct.collection_stop_time.substring(0, struct.collection_stop_time.indexOf(StringPool.DOT)), "yyyy-MM-dd HH:mm:ss");
|
Date collectStopDate = DateUtils.parseDate(struct.collection_stop_date + StringPool.SPACE + struct.collection_stop_time.substring(0, struct.collection_stop_time.indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss");
|
||||||
Double collection_time = Double.valueOf(collectStopDate.getTime() / 1000 - collectStartDate.getTime() / 1000);
|
Double collection_time = Double.valueOf(collectStopDate.getTime() / 1000 - collectStartDate.getTime() / 1000);
|
||||||
String collection_time_value = String.format("%.2f",Double.valueOf(collectStopDate.getTime()/1000 - collectStartDate.getTime()/ 1000)/3600.0);
|
String collection_time_value = String.format("%.2f",Double.valueOf(collectStopDate.getTime()/1000 - collectStartDate.getTime()/ 1000)/3600.0);
|
||||||
qcResult.setCollectTimeValue(collection_time_value);
|
qcResult.setCollectTimeValue(collection_time_value);
|
||||||
if (collectionTimeSections.get(1) < collection_time && collection_time < collectionTimeSections.get(4)){
|
if (collectionTimeSections.get(1) < collection_time/3600 && collection_time/3600 < collectionTimeSections.get(4)){
|
||||||
qcResult.setCollectTimeStatus("Pass");
|
qcResult.setCollectTimeStatus("Pass");
|
||||||
}else {
|
}else {
|
||||||
qcResult.setCollectTimeStatus("Failed");
|
qcResult.setCollectTimeStatus("Failed");
|
||||||
}
|
}
|
||||||
String acquisition_live_sec = String.format("%.2f",struct.acquisition_live_time/3600.0);
|
String acquisition_live_sec = String.format("%.2f",struct.acquisition_live_time/3600.0);
|
||||||
qcResult.setAcquisitionTimeValue(acquisition_live_sec);
|
qcResult.setAcquisitionTimeValue(acquisition_live_sec);
|
||||||
if (acquisitionTimeSections.get(1) < struct.acquisition_live_time && struct.acquisition_live_time < acquisitionTimeSections.get(4)){
|
if (acquisitionTimeSections.get(1) < struct.acquisition_live_time/3600.0 && struct.acquisition_live_time/3600.0 < acquisitionTimeSections.get(4)){
|
||||||
qcResult.setAcquisitionTimeStatus("Pass");
|
qcResult.setAcquisitionTimeStatus("Pass");
|
||||||
}else {
|
}else {
|
||||||
qcResult.setAcquisitionTimeStatus("Failed");
|
qcResult.setAcquisitionTimeStatus("Failed");
|
||||||
|
@ -943,7 +936,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
GardsSampleData sampleData = spectrumAnalysisMapper.getSampleData(sampleId);
|
GardsSampleData sampleData = spectrumAnalysisMapper.getSampleData(sampleId);
|
||||||
String collectStartStr = DateUtils.formatDate(sampleData.getCollectStart(), "yyyy-MM-dd HH:mm:ss");
|
String collectStartStr = DateUtils.formatDate(sampleData.getCollectStart(), "yyyy/MM/dd HH:mm:ss");
|
||||||
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(sampleData.getSiteDetCode(), collectStartStr);
|
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(sampleData.getSiteDetCode(), collectStartStr);
|
||||||
FTPClient ftpClient = ftpUtil.LoginFTP();
|
FTPClient ftpClient = ftpUtil.LoginFTP();
|
||||||
if (Objects.isNull(ftpClient)){
|
if (Objects.isNull(ftpClient)){
|
||||||
|
@ -1075,7 +1068,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
GardsSampleData sampleData = spectrumAnalysisMapper.getSampleData(sampleId);
|
GardsSampleData sampleData = spectrumAnalysisMapper.getSampleData(sampleId);
|
||||||
String collectStartStr = DateUtils.formatDate(sampleData.getCollectStart(), "yyyy-MM-dd HH:mm:ss");
|
String collectStartStr = DateUtils.formatDate(sampleData.getCollectStart(), "yyyy/MM/dd HH:mm:ss");
|
||||||
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(sampleData.getSiteDetCode(), collectStartStr);
|
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(sampleData.getSiteDetCode(), collectStartStr);
|
||||||
FTPClient ftpClient = ftpUtil.LoginFTP();
|
FTPClient ftpClient = ftpUtil.LoginFTP();
|
||||||
if (Objects.isNull(ftpClient)){
|
if (Objects.isNull(ftpClient)){
|
||||||
|
@ -1143,9 +1136,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
long gChannels = struct.g_channels;
|
long gChannels = struct.g_channels;
|
||||||
List<Long> hCounts = struct.h_counts;
|
List<Long> hCounts = struct.h_counts;
|
||||||
List<HistogramData> histogramDataList = new LinkedList<>();
|
List<HistogramData> histogramDataList = new LinkedList<>();
|
||||||
Map<String, List<Long>> countMap = new HashMap<>();
|
|
||||||
for (int column=0; column<bChannels; column++) {
|
for (int column=0; column<bChannels; column++) {
|
||||||
List<Long> counts = new LinkedList<>();
|
|
||||||
for (int row=0; row<gChannels; row++) {
|
for (int row=0; row<gChannels; row++) {
|
||||||
Long index = column * gChannels + row;
|
Long index = column * gChannels + row;
|
||||||
long count = hCounts.get(index.intValue());
|
long count = hCounts.get(index.intValue());
|
||||||
|
@ -1155,13 +1146,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
histogramData.setG(column);
|
histogramData.setG(column);
|
||||||
histogramDataList.add(histogramData);
|
histogramDataList.add(histogramData);
|
||||||
}
|
}
|
||||||
counts.add(count);
|
|
||||||
}
|
}
|
||||||
countMap.put(String.valueOf(column), counts);
|
|
||||||
}
|
}
|
||||||
map.put("histogramData", histogramDataList);
|
map.put("histogramData", histogramDataList);
|
||||||
//Gamma-gated Beta Spectrum: QC
|
|
||||||
map.put("gammaGatedBetaSpectrum", countMap);
|
|
||||||
//计算Calibration Parameter Of Gamma Detector
|
//计算Calibration Parameter Of Gamma Detector
|
||||||
List<Double> bChannelList = struct.b_channel;
|
List<Double> bChannelList = struct.b_channel;
|
||||||
List<Double> bEnergy = struct.b_electron_energy;
|
List<Double> bEnergy = struct.b_electron_energy;
|
||||||
|
@ -1221,123 +1208,120 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
public Result viewExtrapolation(Integer sampleId) {
|
public Result viewExtrapolation(Integer sampleId) {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
String dbName = "RNAUTO.GARDS_ANALYSES";
|
String sampleFilePath = spectrumAnalysisMapper.getSampleFilePath(sampleId);
|
||||||
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
|
|
||||||
//加载dll工具库
|
//加载dll工具库
|
||||||
System.loadLibrary("ReadPHDFile");
|
System.loadLibrary("ReadPHDFile");
|
||||||
if (Objects.nonNull(dbSpectrumFilePath)){
|
FTPClient ftpClient = ftpUtil.LoginFTP();
|
||||||
String sampleFilePath = dbSpectrumFilePath.getSampleFilePath();
|
if (Objects.isNull(ftpClient)){
|
||||||
if (StringUtils.isNotBlank(sampleFilePath)){
|
result.error500("ftp连接失败");
|
||||||
String samplePathName = sampleFilePath.substring(0, sampleFilePath.lastIndexOf(StringPool.SLASH));
|
return result;
|
||||||
String sampleFileName = sampleFilePath.substring(sampleFilePath.lastIndexOf(StringPool.SLASH)+1);
|
}
|
||||||
FTPClient ftpClient = ftpUtil.LoginFTP();
|
if (StringUtils.isNotBlank(sampleFilePath)){
|
||||||
if (Objects.isNull(ftpClient)){
|
String samplePathName = sampleFilePath.substring(0, sampleFilePath.lastIndexOf(StringPool.SLASH));
|
||||||
result.error500("ftp连接失败");
|
String sampleFileName = sampleFilePath.substring(sampleFilePath.lastIndexOf(StringPool.SLASH)+1);
|
||||||
|
try {
|
||||||
|
//切换被动模式
|
||||||
|
ftpClient.enterLocalPassiveMode();
|
||||||
|
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
|
||||||
|
// 设置编码,当文件中存在中文且上传后文件乱码时可使用此配置项
|
||||||
|
ftpClient.setControlEncoding("UTF-8");
|
||||||
|
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
|
||||||
|
samplePathName = StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + samplePathName;
|
||||||
|
ftpClient.changeWorkingDirectory(samplePathName);
|
||||||
|
List<FTPFile> sampleFtpFiles = Arrays.asList(ftpClient.listFiles());
|
||||||
|
sampleFtpFiles = sampleFtpFiles.stream().filter(item-> item.getName().equals(sampleFileName)).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isEmpty(sampleFtpFiles)){
|
||||||
|
result.error500("ftp下对应的SAMPLE文件不存在");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
try {
|
FTPFile sampleFtpFile = sampleFtpFiles.get(0);
|
||||||
ftpClient.enterLocalPassiveMode();
|
if (Objects.nonNull(sampleFtpFile)){
|
||||||
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
|
//获取ftp文件的输入流
|
||||||
// 设置编码,当文件中存在中文且上传后文件乱码时可使用此配置项
|
InputStream inputStream = ftpClient.retrieveFileStream(sampleFtpFile.getName());
|
||||||
ftpClient.setControlEncoding("UTF-8");
|
//声明一个临时文件
|
||||||
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
|
File file = File.createTempFile("tmp", null);
|
||||||
samplePathName = StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + samplePathName;
|
//ftp文件输入流复制给临时文件
|
||||||
ftpClient.changeWorkingDirectory(samplePathName);
|
FileUtils.copyInputStreamToFile(inputStream, file);
|
||||||
List<FTPFile> sampleFtpFiles = Arrays.asList(ftpClient.listFiles());
|
//读取文件信息
|
||||||
sampleFtpFiles = sampleFtpFiles.stream().filter(item-> item.getName().equals(sampleFileName)).collect(Collectors.toList());
|
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
|
||||||
if (CollectionUtils.isEmpty(sampleFtpFiles)){
|
//Acquisition
|
||||||
result.error500("ftp下对应的SAMPLE文件不存在");
|
String acquisitionStart = struct.acquisition_start_date + " " + struct.acquisition_start_time;
|
||||||
return result;
|
String acquisitionRealTime = String.valueOf(struct.acquisition_real_time);
|
||||||
|
String acquisitionLiveTime = String.valueOf(struct.acquisition_live_time);
|
||||||
|
map.put("acquisitionStart", acquisitionStart);
|
||||||
|
map.put("acquisitionRealTime", acquisitionRealTime);
|
||||||
|
map.put("acquisitionLiveTime", acquisitionLiveTime);
|
||||||
|
//Gamma Spectrum: Sample
|
||||||
|
//蓝色线
|
||||||
|
List<Long> gCounts = struct.g_counts;
|
||||||
|
List<SeriseData> gammaOriginSeriseData = new LinkedList<>();
|
||||||
|
for (int i=0; i< struct.num_g_channel; i++){
|
||||||
|
long count = gCounts.get(i);
|
||||||
|
SeriseData temp = new SeriseData();
|
||||||
|
temp.setX(i);
|
||||||
|
temp.setY(count);
|
||||||
|
gammaOriginSeriseData.add(temp);
|
||||||
}
|
}
|
||||||
FTPFile sampleFtpFile = sampleFtpFiles.get(0);
|
map.put("gammaOriginSeriseData", gammaOriginSeriseData);
|
||||||
if (Objects.nonNull(sampleFtpFile)){
|
List<Double> chanelEnergy = new LinkedList<>();
|
||||||
//获取ftp文件的输入流
|
List<Double> gCentroidChannel = struct.g_centroid_channel;
|
||||||
InputStream inputStream = ftpClient.retrieveFileStream(sampleFtpFile.getName());
|
List<Double> gEnergy = struct.g_energy;
|
||||||
//声明一个临时文件
|
List<Double> fittingPara = EnergySpectrumHandler.GetFileFittingPara(gCentroidChannel,gEnergy);
|
||||||
File file = File.createTempFile("tmp", null);
|
for (int i=0; i<struct.num_g_channel; i++){
|
||||||
//ftp文件输入流复制给临时文件
|
List<Double> channel = new LinkedList<>();
|
||||||
FileUtils.copyInputStreamToFile(inputStream, file);
|
channel.add(Double.valueOf(i));
|
||||||
//读取文件信息
|
List<Double> energy = EnergySpectrumHandler.GetFileFittingData(channel, fittingPara);
|
||||||
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
|
if(CollectionUtils.isNotEmpty(energy)) {
|
||||||
//Acquisition
|
chanelEnergy.add(energy.get(0));
|
||||||
String acquisitionStart = struct.acquisition_start_date + " " + struct.acquisition_start_time;
|
|
||||||
String acquisitionRealTime = String.valueOf(struct.acquisition_real_time);
|
|
||||||
String acquisitionLiveTime = String.valueOf(struct.acquisition_live_time);
|
|
||||||
map.put("acquisitionStart", acquisitionStart);
|
|
||||||
map.put("acquisitionRealTime", acquisitionRealTime);
|
|
||||||
map.put("acquisitionLiveTime", acquisitionLiveTime);
|
|
||||||
//Gamma Spectrum: Sample
|
|
||||||
//蓝色线
|
|
||||||
List<Long> gCounts = struct.g_counts;
|
|
||||||
List<SeriseData> gammaOriginSeriseData = new LinkedList<>();
|
|
||||||
for (int i=0; i< struct.num_g_channel; i++){
|
|
||||||
long count = gCounts.get(i);
|
|
||||||
SeriseData temp = new SeriseData();
|
|
||||||
temp.setX(i);
|
|
||||||
temp.setY(count);
|
|
||||||
gammaOriginSeriseData.add(temp);
|
|
||||||
}
|
|
||||||
map.put("gammaOriginSeriseData", gammaOriginSeriseData);
|
|
||||||
List<Double> chanelEnergy = new LinkedList<>();
|
|
||||||
List<Double> gCentroidChannel = struct.g_centroid_channel;
|
|
||||||
List<Double> gEnergy = struct.g_energy;
|
|
||||||
List<Double> fittingPara = EnergySpectrumHandler.GetFileFittingPara(gCentroidChannel,gEnergy);
|
|
||||||
for (int i=0; i<struct.num_g_channel; i++){
|
|
||||||
List<Double> channel = new LinkedList<>();
|
|
||||||
channel.add(Double.valueOf(i));
|
|
||||||
List<Double> energy = EnergySpectrumHandler.GetFileFittingData(channel, fittingPara);
|
|
||||||
if(CollectionUtils.isNotEmpty(energy)) {
|
|
||||||
chanelEnergy.add(energy.get(0));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
map.put("gammaChannelEnergy", chanelEnergy);
|
|
||||||
//绿色线
|
|
||||||
List<SeriseData> gammaProjectedSeriseData = new LinkedList<>();
|
|
||||||
List<Long> gammaProjectedDataValue = this.handleHistogram(struct.h_counts, struct.b_channels, struct.g_channels, "Vertical");
|
|
||||||
for (int i=0; i<gammaProjectedDataValue.size(); i++) {
|
|
||||||
long count = gammaProjectedDataValue.get(i);
|
|
||||||
SeriseData temp = new SeriseData();
|
|
||||||
temp.setX(i);
|
|
||||||
temp.setY(count);
|
|
||||||
gammaProjectedSeriseData.add(temp);
|
|
||||||
}
|
|
||||||
map.put("gammaProjectedSeriseData", gammaProjectedSeriseData);
|
|
||||||
//Beta Spectrum: Sample
|
|
||||||
//蓝色
|
|
||||||
List<Long> bCounts = struct.b_counts;
|
|
||||||
List<SeriseData> betaOriginSeriseData = new LinkedList<>();
|
|
||||||
for (int i=0; i< struct.num_b_channel; i++){
|
|
||||||
long count = bCounts.get(i);
|
|
||||||
SeriseData temp = new SeriseData();
|
|
||||||
temp.setX(i);
|
|
||||||
temp.setY(count);
|
|
||||||
betaOriginSeriseData.add(temp);
|
|
||||||
}
|
|
||||||
map.put("betaOriginSeriseData", betaOriginSeriseData);
|
|
||||||
List<SeriseData> betaProjectedSeriseData = new LinkedList<>();
|
|
||||||
List<Long> betaProjectedDataValue = this.handleHistogram(struct.h_counts, struct.b_channels, struct.g_channels, "Horizontal");
|
|
||||||
for (int i=0; i<betaProjectedDataValue.size(); i++) {
|
|
||||||
long count = betaProjectedDataValue.get(i);
|
|
||||||
SeriseData temp = new SeriseData();
|
|
||||||
temp.setX(i);
|
|
||||||
temp.setY(count);
|
|
||||||
betaProjectedSeriseData.add(temp);
|
|
||||||
}
|
|
||||||
map.put("betaProjectedSeriseData", betaProjectedSeriseData);
|
|
||||||
if (Objects.nonNull(inputStream)){
|
|
||||||
inputStream.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
map.put("gammaChannelEnergy", chanelEnergy);
|
||||||
|
//绿色线
|
||||||
|
List<SeriseData> gammaProjectedSeriseData = new LinkedList<>();
|
||||||
|
List<Long> gammaProjectedDataValue = this.handleHistogram(struct.h_counts, struct.b_channels, struct.g_channels, "Vertical");
|
||||||
|
for (int i=0; i<gammaProjectedDataValue.size(); i++) {
|
||||||
|
long count = gammaProjectedDataValue.get(i);
|
||||||
|
SeriseData temp = new SeriseData();
|
||||||
|
temp.setX(i);
|
||||||
|
temp.setY(count);
|
||||||
|
gammaProjectedSeriseData.add(temp);
|
||||||
|
}
|
||||||
|
map.put("gammaProjectedSeriseData", gammaProjectedSeriseData);
|
||||||
|
//Beta Spectrum: Sample
|
||||||
|
//蓝色
|
||||||
|
List<Long> bCounts = struct.b_counts;
|
||||||
|
List<SeriseData> betaOriginSeriseData = new LinkedList<>();
|
||||||
|
for (int i=0; i< struct.num_b_channel; i++){
|
||||||
|
long count = bCounts.get(i);
|
||||||
|
SeriseData temp = new SeriseData();
|
||||||
|
temp.setX(i);
|
||||||
|
temp.setY(count);
|
||||||
|
betaOriginSeriseData.add(temp);
|
||||||
|
}
|
||||||
|
map.put("betaOriginSeriseData", betaOriginSeriseData);
|
||||||
|
List<SeriseData> betaProjectedSeriseData = new LinkedList<>();
|
||||||
|
List<Long> betaProjectedDataValue = this.handleHistogram(struct.h_counts, struct.b_channels, struct.g_channels, "Horizontal");
|
||||||
|
for (int i=0; i<betaProjectedDataValue.size(); i++) {
|
||||||
|
long count = betaProjectedDataValue.get(i);
|
||||||
|
SeriseData temp = new SeriseData();
|
||||||
|
temp.setX(i);
|
||||||
|
temp.setY(count);
|
||||||
|
betaProjectedSeriseData.add(temp);
|
||||||
|
}
|
||||||
|
map.put("betaProjectedSeriseData", betaProjectedSeriseData);
|
||||||
|
if (Objects.nonNull(inputStream)){
|
||||||
|
inputStream.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (Objects.nonNull(ftpClient)){
|
||||||
|
ftpClient.disconnect();
|
||||||
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} finally {
|
|
||||||
try {
|
|
||||||
if (Objects.nonNull(ftpClient)){
|
|
||||||
ftpClient.disconnect();
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1441,13 +1425,13 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
result.error500("开始时间不能为空");
|
result.error500("开始时间不能为空");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
String startDate = DateUtils.formatDate(statisticsQueryData.getStartTime(), "yyyy-MM-dd");
|
String startDate = DateUtils.formatDate(statisticsQueryData.getStartTime(), "yyyy/MM/dd");
|
||||||
statisticsQueryData.setStartDate(startDate);
|
statisticsQueryData.setStartDate(startDate);
|
||||||
if (Objects.isNull(statisticsQueryData.getEndTime())){
|
if (Objects.isNull(statisticsQueryData.getEndTime())){
|
||||||
result.error500("结束时间不能为空");
|
result.error500("结束时间不能为空");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
String endDate = DateUtils.formatDate(statisticsQueryData.getEndTime(), "yyyy-MM-dd");
|
String endDate = DateUtils.formatDate(statisticsQueryData.getEndTime(), "yyyy/MM/dd");
|
||||||
statisticsQueryData.setEndDate(endDate);
|
statisticsQueryData.setEndDate(endDate);
|
||||||
List<String> detectorList = new LinkedList<>();
|
List<String> detectorList = new LinkedList<>();
|
||||||
if (StringUtils.isNotBlank(statisticsQueryData.getDetectorName())){
|
if (StringUtils.isNotBlank(statisticsQueryData.getDetectorName())){
|
||||||
|
@ -1634,12 +1618,12 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
result.error500("开始时间不能为空");
|
result.error500("开始时间不能为空");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
String startDate = DateUtils.formatDate(startTime, "yyyy-MM-dd");
|
String startDate = DateUtils.formatDate(startTime, "yyyy/MM/dd");
|
||||||
if (Objects.isNull(endTime)){
|
if (Objects.isNull(endTime)){
|
||||||
result.error500("结束时间不能为空");
|
result.error500("结束时间不能为空");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
String endDate = DateUtils.formatDate(endTime, "yyyy-MM-dd");
|
String endDate = DateUtils.formatDate(endTime, "yyyy/MM/dd");
|
||||||
List<String> detectorList = new LinkedList<>();
|
List<String> detectorList = new LinkedList<>();
|
||||||
if (StringUtils.isNotBlank(detectorName)){
|
if (StringUtils.isNotBlank(detectorName)){
|
||||||
if (detectorName.equals("All")){
|
if (detectorName.equals("All")){
|
||||||
|
@ -1713,58 +1697,341 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result fitting(Double paramA, Double paramB, Double paramC, List<Double> tempPoints) {
|
public Result fitting(Double paramA, Double paramB, Double paramC, List<SeriseData> tempPoints, Integer count) {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
List<Double> fittingPara = new LinkedList<>();
|
//加载dll工具库
|
||||||
fittingPara.add(paramA);
|
System.loadLibrary("ReadPHDFile");
|
||||||
fittingPara.add(paramB);
|
if ((CollectionUtils.isNotEmpty(tempPoints) && Objects.nonNull(count) && tempPoints.size() != count) || (Objects.isNull(paramA) || StringUtils.isBlank(String.valueOf(paramA)))
|
||||||
fittingPara.add(paramC);
|
|| (Objects.isNull(paramB) || StringUtils.isBlank(String.valueOf(paramB))) || (Objects.isNull(paramC) || StringUtils.isBlank(String.valueOf(paramC))) ){
|
||||||
List<Double> xs = new LinkedList<>();
|
List<Double> xs = new LinkedList<>();
|
||||||
for (int i=0; i<tempPoints.size(); i++){
|
List<Double> ys = new LinkedList<>();
|
||||||
xs.add(tempPoints.get(i));
|
for (int i=0; i<tempPoints.size(); i++){
|
||||||
}
|
xs.add(tempPoints.get(i).getX());
|
||||||
List<Double> ys = EnergySpectrumHandler.GetFileFittingPara(xs, fittingPara);
|
ys.add(tempPoints.get(i).getY());
|
||||||
List<SeriseData> seriseDataList = new LinkedList<>();
|
}
|
||||||
List<TableWidget> tableWidgets = new LinkedList<>();
|
//C to E
|
||||||
for (int i=0; i<xs.size(); i++) {
|
List<Double> fittingPara = EnergySpectrumHandler.GetFileFittingPara(xs, ys);
|
||||||
//表单数据信息
|
List<String> fittingParaStr = new LinkedList<>();
|
||||||
TableWidget tableWidget = new TableWidget();
|
for (Double para:fittingPara) {
|
||||||
tableWidget.setRowCount(i+1);
|
fittingParaStr.add(String.valueOf(para));
|
||||||
tableWidget.setChannel(xs.get(i));
|
}
|
||||||
tableWidget.setEnergy(ys.get(i));
|
map.put("CToE", fittingParaStr);
|
||||||
tableWidgets.add(tableWidget);
|
|
||||||
//折线图位置信息
|
|
||||||
SeriseData seriseData = new SeriseData();
|
|
||||||
seriseData.setX(xs.get(i));
|
|
||||||
seriseData.setY(ys.get(i));
|
|
||||||
seriseDataList.add(seriseData);
|
|
||||||
}
|
|
||||||
map.put("tableWidgets", tableWidgets);
|
|
||||||
map.put("newScatterSeriesData", seriseDataList);
|
|
||||||
|
|
||||||
List<Double> channels = new LinkedList<>();
|
List<Double> channels = new LinkedList<>();
|
||||||
for (int i=0; i<255; i++) {
|
for (int i=0; i<255; i++) {
|
||||||
channels.add(Double.valueOf(i));
|
channels.add(Double.valueOf(i));
|
||||||
|
}
|
||||||
|
List<Double> energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara);
|
||||||
|
List<SeriseData> newLineSeries = new LinkedList<>();
|
||||||
|
for (int i=0; i<channels.size(); ++i) {
|
||||||
|
SeriseData seriseData = new SeriseData();
|
||||||
|
seriseData.setX(channels.get(i));
|
||||||
|
seriseData.setY(energys.get(i));
|
||||||
|
newLineSeries.add(seriseData);
|
||||||
|
}
|
||||||
|
map.put("newLineSeries", newLineSeries);
|
||||||
|
//E to C
|
||||||
|
List<Double> fittingParaToUi = EnergySpectrumHandler.GetFileFittingPara(ys, xs);
|
||||||
|
List<String> fittingParaToUiStr = new LinkedList<>();
|
||||||
|
for (Double para:fittingParaToUi) {
|
||||||
|
fittingParaToUiStr.add(String.valueOf(para));
|
||||||
|
}
|
||||||
|
map.put("EToC", fittingParaToUiStr);
|
||||||
|
}else {
|
||||||
|
List<Double> fittingPara = new LinkedList<>();
|
||||||
|
fittingPara.add(paramA);
|
||||||
|
fittingPara.add(paramB);
|
||||||
|
fittingPara.add(paramC);
|
||||||
|
List<Double> xs = new LinkedList<>();
|
||||||
|
for (int i=0; i<tempPoints.size(); i++){
|
||||||
|
xs.add(tempPoints.get(i).getX());
|
||||||
|
}
|
||||||
|
List<Double> ys = EnergySpectrumHandler.GetFileFittingData(xs, fittingPara);
|
||||||
|
List<SeriseData> seriseDataList = new LinkedList<>();
|
||||||
|
List<TableWidget> tableWidgets = new LinkedList<>();
|
||||||
|
for (int i=0; i<xs.size(); i++) {
|
||||||
|
//表单数据信息
|
||||||
|
TableWidget tableWidget = new TableWidget();
|
||||||
|
tableWidget.setRowCount(i+1);
|
||||||
|
tableWidget.setChannel(xs.get(i));
|
||||||
|
tableWidget.setEnergy(ys.get(i));
|
||||||
|
tableWidgets.add(tableWidget);
|
||||||
|
//折线图位置信息
|
||||||
|
SeriseData seriseData = new SeriseData();
|
||||||
|
seriseData.setX(xs.get(i));
|
||||||
|
seriseData.setY(ys.get(i));
|
||||||
|
seriseDataList.add(seriseData);
|
||||||
|
}
|
||||||
|
map.put("tableWidgets", tableWidgets);
|
||||||
|
map.put("newScatterSeriesData", seriseDataList);
|
||||||
|
|
||||||
|
List<Double> channels = new LinkedList<>();
|
||||||
|
for (int i=0; i<255; i++) {
|
||||||
|
channels.add(Double.valueOf(i));
|
||||||
|
}
|
||||||
|
List<Double> energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara);
|
||||||
|
List<SeriseData> newLineSeries = new LinkedList<>();
|
||||||
|
for (int i=0; i<channels.size(); ++i) {
|
||||||
|
SeriseData seriseData = new SeriseData();
|
||||||
|
seriseData.setX(channels.get(i));
|
||||||
|
seriseData.setY(energys.get(i));
|
||||||
|
newLineSeries.add(seriseData);
|
||||||
|
}
|
||||||
|
map.put("newLineSeries", newLineSeries);
|
||||||
|
//E to C
|
||||||
|
List<Double> fittingParaToUi = EnergySpectrumHandler.GetFileFittingPara(ys, xs);
|
||||||
|
List<String> fittingParaToUiStr = new LinkedList<>();
|
||||||
|
for (Double para:fittingParaToUi) {
|
||||||
|
fittingParaToUiStr.add(String.valueOf(para));
|
||||||
|
}
|
||||||
|
map.put("EToC", fittingParaToUiStr);
|
||||||
}
|
}
|
||||||
List<Double> energys = EnergySpectrumHandler.GetFileFittingData(channels,fittingPara);
|
|
||||||
List<SeriseData> newLineSeries = new LinkedList<>();
|
|
||||||
for (int i=0; i<channels.size(); ++i) {
|
|
||||||
SeriseData seriseData = new SeriseData();
|
|
||||||
seriseData.setX(channels.get(i));
|
|
||||||
seriseData.setY(energys.get(i));
|
|
||||||
}
|
|
||||||
map.put("newLineSeries", newLineSeries);
|
|
||||||
//E to C
|
|
||||||
List<Double> fittingParaToUi = EnergySpectrumHandler.GetFileFittingPara(ys, xs);
|
|
||||||
List<String> fittingParaToUiStr = new LinkedList<>();
|
|
||||||
for (Double para:fittingParaToUi) {
|
|
||||||
fittingParaToUiStr.add(String.valueOf(para));
|
|
||||||
}
|
|
||||||
map.put("EToC", fittingParaToUiStr);
|
|
||||||
result.setSuccess(true);
|
result.setSuccess(true);
|
||||||
result.setResult(map);
|
result.setResult(map);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result getGammaGated(Integer chartHeight, Integer channelWidth, Integer gammaChannel, Integer sampleId) {
|
||||||
|
//选择矩形框高度
|
||||||
|
Integer flagHeight = channelWidth * (chartHeight/256);
|
||||||
|
int value = Double.valueOf(flagHeight / 2).intValue();
|
||||||
|
//计算得到最高值
|
||||||
|
int up = gammaChannel - value;
|
||||||
|
if (up<0){
|
||||||
|
up = 0;
|
||||||
|
}
|
||||||
|
//计算得到最低值
|
||||||
|
int down = up + value;
|
||||||
|
Result result = new Result();
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
GardsSampleData sampleData = spectrumAnalysisMapper.getSampleData(sampleId);
|
||||||
|
String collectStartStr = DateUtils.formatDate(sampleData.getCollectStart(), "yyyy/MM/dd HH:mm:ss");
|
||||||
|
String dbQcFilePath = spectrumAnalysisMapper.getQCFilePath(sampleData.getSiteDetCode(), collectStartStr);
|
||||||
|
FTPClient ftpClient = ftpUtil.LoginFTP();
|
||||||
|
if (Objects.isNull(ftpClient)){
|
||||||
|
result.error500("ftp连接失败");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
//切换被动模式
|
||||||
|
ftpClient.enterLocalPassiveMode();
|
||||||
|
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
|
||||||
|
// 设置编码,当文件中存在中文且上传后文件乱码时可使用此配置项
|
||||||
|
ftpClient.setControlEncoding("UTF-8");
|
||||||
|
ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
|
||||||
|
if (StringUtils.isNotBlank(dbQcFilePath)){
|
||||||
|
String qcPathName = dbQcFilePath.substring(0, dbQcFilePath.lastIndexOf(StringPool.SLASH));
|
||||||
|
String qcFileName = dbQcFilePath.substring(dbQcFilePath.lastIndexOf(StringPool.SLASH)+1);
|
||||||
|
qcPathName=StringPool.SLASH + spectrumPathProperties.getRootPath() + StringPool.SLASH + qcPathName;
|
||||||
|
ftpClient.changeWorkingDirectory(qcPathName);
|
||||||
|
List<FTPFile> qcFtpFiles = Arrays.asList(ftpClient.listFiles());
|
||||||
|
qcFtpFiles=qcFtpFiles.stream().filter(item -> item.getName().equals(qcFileName)).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isEmpty(qcFtpFiles)){
|
||||||
|
result.error500("ftp下对应的QC文件不存在");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
FTPFile qcFtpFile = qcFtpFiles.get(0);
|
||||||
|
if (Objects.nonNull(qcFtpFile)){
|
||||||
|
InputStream inputStream = ftpClient.retrieveFileStream(qcFtpFile.getName());
|
||||||
|
//声明一个临时文件
|
||||||
|
File file = File.createTempFile("tmp", null);
|
||||||
|
//将ftp文件的输入流复制给临时文件
|
||||||
|
FileUtils.copyInputStreamToFile(inputStream, file);
|
||||||
|
//加载dll工具库
|
||||||
|
System.loadLibrary("ReadPHDFile");
|
||||||
|
EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath());
|
||||||
|
//Beta-Gamma Spectrum: QC
|
||||||
|
long bChannels = struct.b_channels;
|
||||||
|
List<Long> hCounts = struct.h_counts;
|
||||||
|
List<SeriseData> serise_data = new LinkedList<>();
|
||||||
|
for ( int i=0; i<bChannels; ++i ) {
|
||||||
|
long count = 0;
|
||||||
|
for (int j=up; j<=down; ++j) {
|
||||||
|
Long index = j * bChannels + i;
|
||||||
|
count += hCounts.get(index.intValue());
|
||||||
|
}
|
||||||
|
SeriseData temp = new SeriseData();
|
||||||
|
temp.setX(i);
|
||||||
|
temp.setY(count);
|
||||||
|
serise_data.add(temp);
|
||||||
|
}
|
||||||
|
map.put("data", serise_data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (Objects.nonNull(ftpClient)){
|
||||||
|
ftpClient.disconnect();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result.setSuccess(true);
|
||||||
|
result.setResult(map);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result ReAnalyse(AnalyseData analyseData) {
|
||||||
|
String dbName = "";
|
||||||
|
if (analyseData.getDbName().equalsIgnoreCase("auto")){
|
||||||
|
dbName = "RNAUTO.GARDS_ANALYSES";
|
||||||
|
}else if (analyseData.getDbName().equalsIgnoreCase("man")){
|
||||||
|
dbName = "RNMAN.GARDS_ANALYSES";
|
||||||
|
}
|
||||||
|
if ("CurrentSpectrum".equals(analyseData.getApplyType())) {
|
||||||
|
List<Integer> sampleIds = analyseData.getSampleIds();
|
||||||
|
if (CollectionUtils.isNotEmpty(sampleIds)){
|
||||||
|
Integer sampleId = sampleIds.get(0);
|
||||||
|
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
|
||||||
|
if (Objects.nonNull(dbSpectrumFilePath)) {
|
||||||
|
BetaGammaAnalyzeCurrentProcess(analyseData, dbSpectrumFilePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if ("AllSpectrum".equals(analyseData.getApplyType())) {
|
||||||
|
Map<String, SpectrumFileRecord> m_loadData = new HashMap<>();
|
||||||
|
for (int i=0; i<analyseData.getSampleIds().size(); i++) {
|
||||||
|
Integer sampleId = analyseData.getSampleIds().get(i);
|
||||||
|
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
|
||||||
|
m_loadData.put(String.valueOf(sampleId), dbSpectrumFilePath);
|
||||||
|
}
|
||||||
|
BetaGammaAnalyzeAllProcess(m_loadData, analyseData);
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (analyseData.isBBetaEnergyValid()) {
|
||||||
|
// ui->BetaOriginalChartView->SetFittingParam(fit_analy_param.b_calibration_param.param_a_c2e_new,
|
||||||
|
// fit_analy_param.b_calibration_param.param_b_c2e_new,
|
||||||
|
// fit_analy_param.b_calibration_param.param_c_c2e_new);
|
||||||
|
// ui->BetaProjectedChartView->SetFittingParam(fit_analy_param.b_calibration_param.param_a_c2e_new,
|
||||||
|
// fit_analy_param.b_calibration_param.param_b_c2e_new,
|
||||||
|
// fit_analy_param.b_calibration_param.param_c_c2e_new);
|
||||||
|
// }
|
||||||
|
// if (analyseData.isBGammaEnergyValid()) {
|
||||||
|
// ui->GammaOriginalChartView->SetFittingParam(fit_analy_param.g_calibration_param.param_a_c2e_new,
|
||||||
|
// fit_analy_param.g_calibration_param.param_b_c2e_new,
|
||||||
|
// fit_analy_param.g_calibration_param.param_c_c2e_new);
|
||||||
|
// ui->GammaProjectedChartView->SetFittingParam(fit_analy_param.g_calibration_param.param_a_c2e_new,
|
||||||
|
// fit_analy_param.g_calibration_param.param_b_c2e_new,
|
||||||
|
// fit_analy_param.g_calibration_param.param_c_c2e_new);
|
||||||
|
// }
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BetaGammaAnalyzeCurrentProcess(AnalyseData analyseData, SpectrumFileRecord dbSpectrumFilePath){
|
||||||
|
SpectrumGroup spectrum_group = new SpectrumGroup();
|
||||||
|
spectrum_group.setSampleSpectrumFile(dbSpectrumFilePath.getSampleFilePath());
|
||||||
|
spectrum_group.setGasBgSpectrumFile(dbSpectrumFilePath.getGasBgFilePath());
|
||||||
|
spectrum_group.setDetBgSpectrumFile(dbSpectrumFilePath.getDetBgFilePath());
|
||||||
|
|
||||||
|
if (analyseData.isBBetaEnergyValid()) {
|
||||||
|
List<Double> beCal = new LinkedList<>();
|
||||||
|
beCal.add(analyseData.getB_calibration_param().param_c_e2c_new);
|
||||||
|
beCal.add(analyseData.getB_calibration_param().param_b_e2c_new);
|
||||||
|
beCal.add(analyseData.getB_calibration_param().param_a_e2c_new);
|
||||||
|
spectrum_group.getBgCalPara().setB_e_cal(beCal);
|
||||||
|
List<Double> bc2e = new LinkedList<>();
|
||||||
|
bc2e.add(analyseData.getB_calibration_param().param_c_c2e_new);
|
||||||
|
bc2e.add(analyseData.getB_calibration_param().param_b_c2e_new);
|
||||||
|
bc2e.add(analyseData.getB_calibration_param().param_a_c2e_new);
|
||||||
|
spectrum_group.setB_c2e(bc2e);
|
||||||
|
}
|
||||||
|
if (analyseData.isBGammaEnergyValid()) {
|
||||||
|
List<Double> geCal = new LinkedList<>();
|
||||||
|
geCal.add(analyseData.getG_calibration_param().param_c_e2c_new);
|
||||||
|
geCal.add(analyseData.getG_calibration_param().param_b_e2c_new);
|
||||||
|
geCal.add(analyseData.getG_calibration_param().param_a_e2c_new);
|
||||||
|
spectrum_group.getBgCalPara().setG_e_cal(geCal);
|
||||||
|
List<Double> gc2e = new LinkedList<>();
|
||||||
|
gc2e.add(analyseData.getG_calibration_param().param_c_c2e_new);
|
||||||
|
gc2e.add(analyseData.getG_calibration_param().param_b_c2e_new);
|
||||||
|
gc2e.add(analyseData.getG_calibration_param().param_a_c2e_new);
|
||||||
|
spectrum_group.setG_c2e(gc2e);
|
||||||
|
}
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicSample(analyseData.isSampleData());
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicGasBg(analyseData.isGasBgData());
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicDetBg(analyseData.isDetBgData());
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicQc(analyseData.isQCData());
|
||||||
|
List<SpectrumGroup> spectrum_group_list = new LinkedList<>();
|
||||||
|
spectrum_group_list.add(spectrum_group);
|
||||||
|
// beta_gamma_analy.SetSpectrumGroupList(spectrum_group_list);
|
||||||
|
// AnalyProcessDlg analy_dlg(beta_gamma_analy);
|
||||||
|
// analy_dlg.SetProgressRange(0, spectrum_group_list.count());
|
||||||
|
// analy_dlg.exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BetaGammaAnalyzeAllProcess(Map<String, SpectrumFileRecord> m_loadData, AnalyseData analyseData){
|
||||||
|
List<SpectrumGroup> spectrum_group_list = new LinkedList<>();
|
||||||
|
for (Map.Entry<String, SpectrumFileRecord> entry: m_loadData.entrySet()){
|
||||||
|
SpectrumGroup spectrum_group = new SpectrumGroup();
|
||||||
|
SpectrumFileRecord spectrumFileRecord = entry.getValue();
|
||||||
|
spectrum_group.setSampleSpectrumFile(spectrumFileRecord.getSampleFilePath());
|
||||||
|
spectrum_group.setGasBgSpectrumFile(spectrumFileRecord.getGasBgFilePath());
|
||||||
|
spectrum_group.setDetBgSpectrumFile(spectrumFileRecord.getDetBgFilePath());
|
||||||
|
|
||||||
|
if (analyseData.isBBetaEnergyValid()) {
|
||||||
|
List<Double> beCal = new LinkedList<>();
|
||||||
|
beCal.add(analyseData.getB_calibration_param().param_c_e2c_new);
|
||||||
|
beCal.add(analyseData.getB_calibration_param().param_b_e2c_new);
|
||||||
|
beCal.add(analyseData.getB_calibration_param().param_a_e2c_new);
|
||||||
|
spectrum_group.getBgCalPara().setB_e_cal(beCal);
|
||||||
|
List<Double> bc2e = new LinkedList<>();
|
||||||
|
bc2e.add(analyseData.getB_calibration_param().param_c_c2e_new);
|
||||||
|
bc2e.add(analyseData.getB_calibration_param().param_b_c2e_new);
|
||||||
|
bc2e.add(analyseData.getB_calibration_param().param_a_c2e_new);
|
||||||
|
spectrum_group.setB_c2e(bc2e);
|
||||||
|
}
|
||||||
|
if (analyseData.isBGammaEnergyValid()) {
|
||||||
|
List<Double> geCal = new LinkedList<>();
|
||||||
|
geCal.add(analyseData.getG_calibration_param().param_c_e2c_new);
|
||||||
|
geCal.add(analyseData.getG_calibration_param().param_b_e2c_new);
|
||||||
|
geCal.add(analyseData.getG_calibration_param().param_a_e2c_new);
|
||||||
|
spectrum_group.getBgCalPara().setG_e_cal(geCal);
|
||||||
|
List<Double> gc2e = new LinkedList<>();
|
||||||
|
gc2e.add(analyseData.getG_calibration_param().param_c_c2e_new);
|
||||||
|
gc2e.add(analyseData.getG_calibration_param().param_b_c2e_new);
|
||||||
|
gc2e.add(analyseData.getG_calibration_param().param_a_c2e_new);
|
||||||
|
spectrum_group.setG_c2e(gc2e);
|
||||||
|
}
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicSample(analyseData.isSampleData());
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicGasBg(analyseData.isGasBgData());
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicDetBg(analyseData.isDetBgData());
|
||||||
|
spectrum_group.getBgCalPara().setBApplyNewCalicQc(analyseData.isQCData());
|
||||||
|
|
||||||
|
spectrum_group_list.add(spectrum_group);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollectionUtils.isNotEmpty(spectrum_group_list)) {
|
||||||
|
// beta_gamma_analy.SetSpectrumGroupList(spectrum_group_list);
|
||||||
|
// AnalyProcessDlg analy_dlg(beta_gamma_analy);
|
||||||
|
// analy_dlg.SetProgressRange(0, spectrum_group_list.count());
|
||||||
|
// analy_dlg.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result analyseCurrentSpectrum(String dbName, Integer sampleId) {
|
||||||
|
if (dbName.equalsIgnoreCase("auto")){
|
||||||
|
dbName = "RNAUTO.GARDS_ANALYSES";
|
||||||
|
}else if (dbName.equalsIgnoreCase("man")){
|
||||||
|
dbName = "RNMAN.GARDS_ANALYSES";
|
||||||
|
}
|
||||||
|
SpectrumFileRecord dbSpectrumFilePath = spectrumAnalysisMapper.getDBSpectrumFilePath(dbName, sampleId);
|
||||||
|
// BetaGammaAnalyzeCurrentProcess();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result analyseAllSpectrum() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
package org.jeecg.modules.system.entity;
|
|
||||||
|
|
||||||
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 = "CONFIGURATION.GARDS_DETECTORS")
|
|
||||||
public class GardsDetectors implements Serializable {
|
|
||||||
|
|
||||||
@TableField(value = "DETECTOR_ID")
|
|
||||||
private Integer detectorId;
|
|
||||||
|
|
||||||
@TableField(value = "DETECTOR_CODE")
|
|
||||||
private String detectorCode;
|
|
||||||
|
|
||||||
@TableField(value = "LON")
|
|
||||||
private Double lon;
|
|
||||||
|
|
||||||
@TableField(value = "LAT")
|
|
||||||
private Double lat;
|
|
||||||
|
|
||||||
@TableField(value = "TYPE")
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
@TableField(value = "CHANNELS")
|
|
||||||
private Double channels;
|
|
||||||
|
|
||||||
@TableField(value = "RATED_EFFICIENCY")
|
|
||||||
private Double ratedEfficiency;
|
|
||||||
|
|
||||||
@TableField(value = "RATED_RESOLUTION")
|
|
||||||
private Double ratedResolution;
|
|
||||||
|
|
||||||
@TableField(value = "ECAL_RANGE_MAX")
|
|
||||||
private Double ecalRangeMax;
|
|
||||||
|
|
||||||
@TableField(value = "DATE_BEGIN")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date dateBegin;
|
|
||||||
|
|
||||||
@TableField(value = "DATE_END")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date dateEnd;
|
|
||||||
|
|
||||||
@TableField(value = "STATUS")
|
|
||||||
private String status;
|
|
||||||
|
|
||||||
@TableField(value = "DESCRIPTION")
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
@TableField(value = "MODDATE")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date moddate;
|
|
||||||
|
|
||||||
@TableField(value = "STATION_ID")
|
|
||||||
private Integer stationId;
|
|
||||||
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String stationName;
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,58 +0,0 @@
|
||||||
package org.jeecg.modules.system.entity;
|
|
||||||
|
|
||||||
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 = "CONFIGURATION.GARDS_STATIONS")
|
|
||||||
public class GardsStations implements Serializable {
|
|
||||||
|
|
||||||
@TableField(value = "STATION_ID")
|
|
||||||
private Integer stationId;
|
|
||||||
|
|
||||||
@TableField(value = "STATION_CODE")
|
|
||||||
private String stationCode;
|
|
||||||
|
|
||||||
@TableField(value = "COUNTRY_CODE")
|
|
||||||
private String countryCode;
|
|
||||||
|
|
||||||
@TableField(value = "TYPE")
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
@TableField(value = "LON")
|
|
||||||
private Double lon;
|
|
||||||
|
|
||||||
@TableField(value = "LAT")
|
|
||||||
private Double lat;
|
|
||||||
|
|
||||||
@TableField(value = "ELEVATION")
|
|
||||||
private Double elevation;
|
|
||||||
|
|
||||||
@TableField(value = "DESCRIPTION")
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
@TableField(value = "DATE_BEGIN")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date dateBegin;
|
|
||||||
|
|
||||||
@TableField(value = "DATE_END")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date dateEnd;
|
|
||||||
|
|
||||||
@TableField(value = "STATUS")
|
|
||||||
private String status;
|
|
||||||
|
|
||||||
@TableField(value = "MODDATE")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date moddate;
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,204 +0,0 @@
|
||||||
package org.jeecg.modules.system.entity;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
import org.jeecg.common.aspect.annotation.Dict;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 用户表
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @Author scott
|
|
||||||
* @since 2018-12-20
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@EqualsAndHashCode(callSuper = false)
|
|
||||||
@Accessors(chain = true)
|
|
||||||
public class SysUser implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* id
|
|
||||||
*/
|
|
||||||
@TableId(type = IdType.ASSIGN_ID)
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 登录账号
|
|
||||||
*/
|
|
||||||
@Excel(name = "登录账号", width = 15)
|
|
||||||
private String username;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 真实姓名
|
|
||||||
*/
|
|
||||||
@Excel(name = "真实姓名", width = 15)
|
|
||||||
private String realname;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 密码
|
|
||||||
*/
|
|
||||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
|
||||||
private String password;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* md5密码盐
|
|
||||||
*/
|
|
||||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
|
||||||
private String salt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 头像
|
|
||||||
*/
|
|
||||||
@Excel(name = "头像", width = 15,type = 2)
|
|
||||||
private String avatar;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生日
|
|
||||||
*/
|
|
||||||
@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
|
|
||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
|
||||||
private Date birthday;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 性别(1:男 2:女)
|
|
||||||
*/
|
|
||||||
@Excel(name = "性别", width = 15,dicCode="sex")
|
|
||||||
@Dict(dicCode = "sex")
|
|
||||||
private Integer sex;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 电子邮件
|
|
||||||
*/
|
|
||||||
@Excel(name = "电子邮件", width = 15)
|
|
||||||
private String email;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 电话
|
|
||||||
*/
|
|
||||||
@Excel(name = "电话", width = 15)
|
|
||||||
private String phone;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 登录选择部门编码
|
|
||||||
*/
|
|
||||||
private String orgCode;
|
|
||||||
/**
|
|
||||||
* 登录选择租户ID
|
|
||||||
*/
|
|
||||||
private Integer loginTenantId;
|
|
||||||
|
|
||||||
/**部门名称*/
|
|
||||||
private transient String orgCodeTxt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 状态(1:正常 2:冻结 )
|
|
||||||
*/
|
|
||||||
@Excel(name = "状态", width = 15,dicCode="user_status")
|
|
||||||
@Dict(dicCode = "user_status")
|
|
||||||
private Integer status;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除状态(0,正常,1已删除)
|
|
||||||
*/
|
|
||||||
@Excel(name = "删除状态", width = 15,dicCode="del_flag")
|
|
||||||
@TableLogic
|
|
||||||
private Integer delFlag;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 工号,唯一键
|
|
||||||
*/
|
|
||||||
@Excel(name = "工号", width = 15)
|
|
||||||
private String workNo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 职务,关联职务表
|
|
||||||
*/
|
|
||||||
@Excel(name = "职务", width = 15)
|
|
||||||
@Dict(dictTable ="sys_position",dicText = "name",dicCode = "code")
|
|
||||||
private String post;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 座机号
|
|
||||||
*/
|
|
||||||
@Excel(name = "座机号", width = 15)
|
|
||||||
private String telephone;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建人
|
|
||||||
*/
|
|
||||||
private String createBy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建时间
|
|
||||||
*/
|
|
||||||
private Date createTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新人
|
|
||||||
*/
|
|
||||||
private String updateBy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新时间
|
|
||||||
*/
|
|
||||||
private Date updateTime;
|
|
||||||
/**
|
|
||||||
* 同步工作流引擎1同步0不同步
|
|
||||||
*/
|
|
||||||
private Integer activitiSync;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 身份(0 普通成员 1 上级)
|
|
||||||
*/
|
|
||||||
@Excel(name="(1普通成员 2上级)",width = 15)
|
|
||||||
private Integer userIdentity;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 负责部门
|
|
||||||
*/
|
|
||||||
@Excel(name="负责部门",width = 15,dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
|
|
||||||
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
|
|
||||||
private String departIds;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 多租户ids临时用,不持久化数据库(数据库字段不存在)
|
|
||||||
*/
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String relTenantIds;
|
|
||||||
|
|
||||||
/**设备id uniapp推送用*/
|
|
||||||
private String clientId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 登录首页地址
|
|
||||||
*/
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String homePath;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 职位名称
|
|
||||||
*/
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String postText;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 流程状态
|
|
||||||
*/
|
|
||||||
private String bpmStatus;
|
|
||||||
}
|
|
|
@ -17,7 +17,7 @@ public class SysTaskChangeVo {
|
||||||
private List<String> stationIds;
|
private List<String> stationIds;
|
||||||
|
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||||
private Date day;
|
private Date day;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user