diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/GardsCalibrationSpectrumMapper.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/GardsCalibrationSpectrumMapper.java index 3f24e6f8..a411196d 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/GardsCalibrationSpectrumMapper.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/GardsCalibrationSpectrumMapper.java @@ -7,6 +7,9 @@ import org.jeecg.modules.base.entity.rnman.GardsCalibration; public interface GardsCalibrationSpectrumMapper extends BaseMapper { + @InterceptorIgnore(tenantLine = "true") + void insertCalibration(@Param(value = "calibration") GardsCalibration calibration); + @InterceptorIgnore(tenantLine = "true") void insertCalibrationGamma(@Param(value = "calibration") GardsCalibration calibration); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/GardsCalibrationSpectrumMapper.xml b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/GardsCalibrationSpectrumMapper.xml index 5f18eb40..58da4e85 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/GardsCalibrationSpectrumMapper.xml +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/mapper/xml/GardsCalibrationSpectrumMapper.xml @@ -2,6 +2,34 @@ + + INSERT INTO + RNMAN.GARDS_CALIBRATION( + SAMPLE_ID, + IDANALYSIS, + SAMPLE_TYPE, + CALTYPE, + FUNCTION, + FUNCTIONDEF, + STARTOFRANGE, + ENDOFRANGE, + COEFF1, + COEFF2, + COEFF3) + VALUES(#{calibration.sampleId}, + #{calibration.idAnalysis}, + #{calibration.sampleType}, + #{calibration.calType}, + #{calibration.function}, + #{calibration.functionDef}, + #{calibration.startOfRange}, + #{calibration.endOfRange}, + #{calibration.coeff1}, + #{calibration.coeff2}, + #{calibration.coeff3}) + + + INSERT INTO RNMAN.GARDS_CALIBRATION( diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationPairsSpectrumService.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationPairsSpectrumService.java index 508e5d9b..69a96631 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationPairsSpectrumService.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationPairsSpectrumService.java @@ -2,6 +2,7 @@ package org.jeecg.modules.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.base.entity.rnman.GardsCalibrationPairs; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import org.jeecg.modules.entity.vo.GStoreMiddleProcessData; import org.jeecg.modules.entity.vo.PHDFile; @@ -9,7 +10,7 @@ import java.util.List; public interface IGardsCalibrationPairsSpectrumService extends IService { - int saveGardsCalibrationPairs(List calibrationPairsList); + int saveGardsCalibrationPairs(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis); int saveGardsCalibrationPairsGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationSpectrumService.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationSpectrumService.java index c76067b0..f4e2a2f7 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationSpectrumService.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsCalibrationSpectrumService.java @@ -2,13 +2,14 @@ package org.jeecg.modules.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.base.entity.rnman.GardsCalibration; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import org.jeecg.modules.entity.vo.GStoreMiddleProcessData; import java.util.List; public interface IGardsCalibrationSpectrumService extends IService { - int saveGardsCalibration(List calibrationPairsList); + int saveGardsCalibration(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis); int saveCalibrationGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIChannelsSpectrumService.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIChannelsSpectrumService.java index 90b781d4..a94e6f63 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIChannelsSpectrumService.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIChannelsSpectrumService.java @@ -2,11 +2,12 @@ package org.jeecg.modules.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.base.entity.rnman.GardsRoiChannels; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import java.util.List; public interface IGardsROIChannelsSpectrumService extends IService { - int saveGardsROIChannels(List roiChannelsList); + int saveGardsROIChannels(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis); } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIResultsSpectrumService.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIResultsSpectrumService.java index eed0f3d2..9a583e07 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIResultsSpectrumService.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsROIResultsSpectrumService.java @@ -2,11 +2,12 @@ package org.jeecg.modules.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.base.entity.rnman.GardsRoiResults; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import java.util.List; public interface IGardsROIResultsSpectrumService extends IService { - int saveGardsROIResults(List roiResultsList); + int saveGardsROIResults(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer idAnalysis); } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsXeResultsSpectrumService.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsXeResultsSpectrumService.java index 800d3726..a6cfecae 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsXeResultsSpectrumService.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/IGardsXeResultsSpectrumService.java @@ -2,11 +2,12 @@ package org.jeecg.modules.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.base.entity.rnman.GardsXeResults; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import java.util.List; public interface IGardsXeResultsSpectrumService extends IService { - int saveGardsXeResults(List xeResultsList); + int saveGardsXeResults(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer idAnalysis); } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationPairsSpectrumServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationPairsSpectrumServiceImpl.java index 0f70be56..210e7cc2 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationPairsSpectrumServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationPairsSpectrumServiceImpl.java @@ -4,6 +4,10 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.base.entity.rnman.GardsCalibrationPairs; +import org.jeecg.modules.base.enums.CalName; +import org.jeecg.modules.base.enums.CalType; +import org.jeecg.modules.base.enums.SystemType; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import org.jeecg.modules.entity.vo.GStoreMiddleProcessData; import org.jeecg.modules.entity.vo.PHDFile; import org.jeecg.modules.entity.GardsCalibrationPairsSpectrum; @@ -22,7 +26,92 @@ public class GardsCalibrationPairsSpectrumServiceImpl extends ServiceImpl calibrationPairsList) { + public int saveGardsCalibrationPairs(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis) { + List calibrationPairsList = new LinkedList<>(); + if (CollectionUtils.isNotEmpty(anlyseResultIn.getB_channel_sample())) { + for (int i=0; i< anlyseResultIn.getB_channel_sample().size(); i++){ + GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); + calibrationPairs.setSampleId(sampleId); + calibrationPairs.setIdAnalysis(idAnalysis); + calibrationPairs.setSampleType(SystemType.BETA.getType()); + calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); + calibrationPairs.setInput(CalName.CalPHD.getType()); + calibrationPairs.setIdCalPoint(i); + calibrationPairs.setXValue(anlyseResultIn.getB_channel_sample().get(i)); + calibrationPairs.setYValue(anlyseResultIn.getB_energy_sample().get(i)); + calibrationPairsList.add(calibrationPairs); + } + } + if (CollectionUtils.isNotEmpty(anlyseResultIn.getG_channel_sample())) { + for (int i=0; i< anlyseResultIn.getG_channel_sample().size(); i++){ + GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); + calibrationPairs.setSampleId(sampleId); + calibrationPairs.setIdAnalysis(idAnalysis); + calibrationPairs.setSampleType(SystemType.GAMMA.getType()); + calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); + calibrationPairs.setInput(CalName.CalPHD.getType()); + calibrationPairs.setIdCalPoint(i); + calibrationPairs.setXValue(anlyseResultIn.getG_channel_sample().get(i)); + calibrationPairs.setYValue(anlyseResultIn.getG_energy_sample().get(i)); + calibrationPairsList.add(calibrationPairs); + } + } + if (CollectionUtils.isNotEmpty(anlyseResultIn.getB_channel_gas())) { + for (int i=0; i< anlyseResultIn.getB_channel_gas().size(); i++){ + GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); + calibrationPairs.setSampleId(gasId); + calibrationPairs.setIdAnalysis(idAnalysis); + calibrationPairs.setSampleType(SystemType.BETA.getType()); + calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); + calibrationPairs.setInput(CalName.CalPHD.getType()); + calibrationPairs.setIdCalPoint(i); + calibrationPairs.setXValue(anlyseResultIn.getB_channel_gas().get(i)); + calibrationPairs.setYValue(anlyseResultIn.getB_energy_gas().get(i)); + calibrationPairsList.add(calibrationPairs); + } + } + if (CollectionUtils.isNotEmpty(anlyseResultIn.getG_channel_gas())) { + for (int i=0; i< anlyseResultIn.getG_channel_gas().size(); i++){ + GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); + calibrationPairs.setSampleId(gasId); + calibrationPairs.setIdAnalysis(idAnalysis); + calibrationPairs.setSampleType(SystemType.GAMMA.getType()); + calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); + calibrationPairs.setInput(CalName.CalPHD.getType()); + calibrationPairs.setIdCalPoint(i); + calibrationPairs.setXValue(anlyseResultIn.getG_channel_gas().get(i)); + calibrationPairs.setYValue(anlyseResultIn.getG_energy_gas().get(i)); + calibrationPairsList.add(calibrationPairs); + } + } + if (CollectionUtils.isNotEmpty(anlyseResultIn.getB_channel_det())) { + for (int i=0; i< anlyseResultIn.getB_channel_det().size(); i++){ + GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); + calibrationPairs.setSampleId(detId); + calibrationPairs.setIdAnalysis(idAnalysis); + calibrationPairs.setSampleType(SystemType.BETA.getType()); + calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); + calibrationPairs.setInput(CalName.CalPHD.getType()); + calibrationPairs.setIdCalPoint(i); + calibrationPairs.setXValue(anlyseResultIn.getB_channel_det().get(i)); + calibrationPairs.setYValue(anlyseResultIn.getB_energy_det().get(i)); + calibrationPairsList.add(calibrationPairs); + } + } + if (CollectionUtils.isNotEmpty(anlyseResultIn.getG_channel_det())) { + for (int i=0; i< anlyseResultIn.getG_channel_det().size(); i++){ + GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); + calibrationPairs.setSampleId(detId); + calibrationPairs.setIdAnalysis(idAnalysis); + calibrationPairs.setSampleType(SystemType.GAMMA.getType()); + calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); + calibrationPairs.setInput(CalName.CalPHD.getType()); + calibrationPairs.setIdCalPoint(i); + calibrationPairs.setXValue(anlyseResultIn.getG_channel_det().get(i)); + calibrationPairs.setYValue(anlyseResultIn.getG_energy_det().get(i)); + calibrationPairsList.add(calibrationPairs); + } + } if (CollectionUtils.isNotEmpty(calibrationPairsList)) { this.saveBatch(calibrationPairsList); } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationSpectrumServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationSpectrumServiceImpl.java index ba21ac82..dd4f6f30 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationSpectrumServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsCalibrationSpectrumServiceImpl.java @@ -4,6 +4,12 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.base.entity.rnman.GardsCalibration; +import org.jeecg.modules.base.enums.CalType; +import org.jeecg.modules.base.enums.DataTypeAbbr; +import org.jeecg.modules.base.enums.FittingType; +import org.jeecg.modules.base.enums.SystemType; +import org.jeecg.modules.entity.GardsCalibrationSpectrum; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import org.jeecg.modules.entity.vo.GStoreMiddleProcessData; import org.jeecg.modules.mapper.GardsCalibrationSpectrumMapper; import org.jeecg.modules.service.IGardsCalibrationSpectrumService; @@ -12,6 +18,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.LinkedList; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; @Service("gardsCalibrationSpectrumService") @DS("ora") @@ -20,11 +28,116 @@ public class GardsCalibrationSpectrumServiceImpl extends ServiceImpl calibrationPairsList) { - if (CollectionUtils.isNotEmpty(calibrationPairsList)) { - this.saveBatch(calibrationPairsList); + public int saveGardsCalibration(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis) { + List calibrationSpectrumList = new LinkedList<>(); + if (Objects.nonNull(sampleId)) { + GardsCalibration calibrationB = new GardsCalibration(); + calibrationB.setSampleId(sampleId); + calibrationB.setIdAnalysis(idAnalysis); + calibrationB.setSampleType(SystemType.BETA.getType()); + calibrationB.setCalType(CalType.ENERGY_CAL.getType()); + calibrationB.setFunction(FittingType.POLY2.getCode()); + calibrationB.setFunctionDef(FittingType.POLY2.getDescription()); + calibrationB.setStartOfRange(0); + calibrationB.setEndOfRange(1); + List betaCollect = anlyseResultIn.getBetaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())).collect(Collectors.toList()); + GardsCalibrationSpectrum betaCalibrationSpectrum = betaCollect.get(0); + calibrationB.setCoeff1(Double.valueOf(betaCalibrationSpectrum.getCoeff1())); + calibrationB.setCoeff2(Double.valueOf(betaCalibrationSpectrum.getCoeff2())); + calibrationB.setCoeff3(Double.valueOf(betaCalibrationSpectrum.getCoeff3())); + calibrationSpectrumList.add(calibrationB); + + GardsCalibration calibrationG = new GardsCalibration(); + calibrationG.setSampleId(sampleId); + calibrationG.setIdAnalysis(idAnalysis); + calibrationG.setSampleType(SystemType.GAMMA.getType()); + calibrationG.setCalType(CalType.ENERGY_CAL.getType()); + calibrationG.setFunction(FittingType.POLY2.getCode()); + calibrationG.setFunctionDef(FittingType.POLY2.getDescription()); + calibrationG.setStartOfRange(0); + calibrationG.setEndOfRange(1); + List gammaCollect = anlyseResultIn.getGammaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())).collect(Collectors.toList()); + GardsCalibrationSpectrum gammaCalibrationSpectrum = gammaCollect.get(0); + calibrationG.setCoeff1(Double.valueOf(gammaCalibrationSpectrum.getCoeff1())); + calibrationG.setCoeff2(Double.valueOf(gammaCalibrationSpectrum.getCoeff2())); + calibrationG.setCoeff3(Double.valueOf(gammaCalibrationSpectrum.getCoeff3())); + calibrationSpectrumList.add(calibrationG); } - return calibrationPairsList.size(); + + if (Objects.nonNull(gasId)) { + //gas文件 Beta部分 + GardsCalibration calibrationB = new GardsCalibration(); + calibrationB.setSampleId(gasId); + calibrationB.setIdAnalysis(idAnalysis); + calibrationB.setSampleType(SystemType.BETA.getType()); + calibrationB.setCalType(CalType.ENERGY_CAL.getType()); + calibrationB.setFunction(FittingType.POLY2.getCode()); + calibrationB.setFunctionDef(FittingType.POLY2.getDescription()); + calibrationB.setStartOfRange(0); + calibrationB.setEndOfRange(1); + List betaCollect = anlyseResultIn.getBetaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.GASBKPHD.getType())).collect(Collectors.toList()); + GardsCalibrationSpectrum betaCalibrationSpectrum = betaCollect.get(0); + calibrationB.setCoeff1(Double.valueOf(betaCalibrationSpectrum.getCoeff1())); + calibrationB.setCoeff2(Double.valueOf(betaCalibrationSpectrum.getCoeff2())); + calibrationB.setCoeff3(Double.valueOf(betaCalibrationSpectrum.getCoeff3())); + calibrationSpectrumList.add(calibrationB); + //gas文件 gamma部分 + GardsCalibration calibrationG = new GardsCalibration(); + calibrationG.setSampleId(gasId); + calibrationG.setIdAnalysis(idAnalysis); + calibrationG.setSampleType(SystemType.GAMMA.getType()); + calibrationG.setCalType(CalType.ENERGY_CAL.getType()); + calibrationG.setFunction(FittingType.POLY2.getCode()); + calibrationG.setFunctionDef(FittingType.POLY2.getDescription()); + calibrationG.setStartOfRange(0); + calibrationG.setEndOfRange(1); + List gammaCollect = anlyseResultIn.getGammaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.GASBKPHD.getType())).collect(Collectors.toList()); + GardsCalibrationSpectrum gammaCalibrationSpectrum = gammaCollect.get(0); + calibrationG.setCoeff1(Double.valueOf(gammaCalibrationSpectrum.getCoeff1())); + calibrationG.setCoeff2(Double.valueOf(gammaCalibrationSpectrum.getCoeff2())); + calibrationG.setCoeff3(Double.valueOf(gammaCalibrationSpectrum.getCoeff3())); + calibrationSpectrumList.add(calibrationG); + } + + if (Objects.nonNull(detId)) { + GardsCalibration calibrationB = new GardsCalibration(); + calibrationB.setSampleId(detId); + calibrationB.setIdAnalysis(idAnalysis); + calibrationB.setSampleType(SystemType.BETA.getType()); + calibrationB.setCalType(CalType.ENERGY_CAL.getType()); + calibrationB.setFunction(FittingType.POLY2.getCode()); + calibrationB.setFunctionDef(FittingType.POLY2.getDescription()); + calibrationB.setStartOfRange(0); + calibrationB.setEndOfRange(1); + List betaCollect = anlyseResultIn.getBetaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.DETBKPHD.getType())).collect(Collectors.toList()); + GardsCalibrationSpectrum betaCalibrationSpectrum = betaCollect.get(0); + calibrationB.setCoeff1(Double.valueOf(betaCalibrationSpectrum.getCoeff1())); + calibrationB.setCoeff2(Double.valueOf(betaCalibrationSpectrum.getCoeff2())); + calibrationB.setCoeff3(Double.valueOf(betaCalibrationSpectrum.getCoeff3())); + calibrationSpectrumList.add(calibrationB); + GardsCalibration calibrationG = new GardsCalibration(); + calibrationG.setSampleId(detId); + calibrationG.setIdAnalysis(idAnalysis); + calibrationG.setSampleType(SystemType.GAMMA.getType()); + calibrationG.setCalType(CalType.ENERGY_CAL.getType()); + calibrationG.setFunction(FittingType.POLY2.getCode()); + calibrationG.setFunctionDef(FittingType.POLY2.getDescription()); + calibrationG.setStartOfRange(0); + calibrationG.setEndOfRange(1); + List gammaCollect = anlyseResultIn.getGammaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.DETBKPHD.getType())).collect(Collectors.toList()); + GardsCalibrationSpectrum gammaCalibrationSpectrum = gammaCollect.get(0); + calibrationG.setCoeff1(Double.valueOf(gammaCalibrationSpectrum.getCoeff1())); + calibrationG.setCoeff2(Double.valueOf(gammaCalibrationSpectrum.getCoeff2())); + calibrationG.setCoeff3(Double.valueOf(gammaCalibrationSpectrum.getCoeff3())); + calibrationSpectrumList.add(calibrationG); + } + + if (CollectionUtils.isNotEmpty(calibrationSpectrumList)) { + for (GardsCalibration calibration:calibrationSpectrumList) { + this.baseMapper.insertCalibration(calibration); + } + } + return calibrationSpectrumList.size(); } @Override diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsROIChannelsSpectrumServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsROIChannelsSpectrumServiceImpl.java index 3ef84935..6cf29d63 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsROIChannelsSpectrumServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GardsROIChannelsSpectrumServiceImpl.java @@ -4,12 +4,18 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.base.entity.rnman.GardsRoiChannels; +import org.jeecg.modules.base.enums.DataType; +import org.jeecg.modules.base.enums.DataTypeAbbr; +import org.jeecg.modules.entity.GardsROIChannelsSpectrum; +import org.jeecg.modules.entity.vo.BgDataAnlyseResultIn; import org.jeecg.modules.mapper.GardsROIChannelsSpectrumMapper; import org.jeecg.modules.service.IGardsROIChannelsSpectrumService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.LinkedList; import java.util.List; +import java.util.stream.Collectors; @Service("roiChannelsService") @DS("ora") @@ -17,7 +23,49 @@ public class GardsROIChannelsSpectrumServiceImpl extends ServiceImpl roiChannelsList) { + public int saveGardsROIChannels(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis) { + List roiChannelsList = new LinkedList<>(); + List roiChannelsSpectrumList = anlyseResultIn.getRoiChannelsSpectrumList(); + //过滤出sample相关的数据 + List sampleRoiChannelsSpectrumList = roiChannelsSpectrumList.stream().filter(item-> item.getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())).collect(Collectors.toList()); + for (int i=0; i gasRoiChannelsSpectrumList = roiChannelsSpectrumList.stream().filter(item-> item.getDataType().equals(DataTypeAbbr.GASBKPHD.getType())).collect(Collectors.toList()); + for (int i=0; i detRoiChannelsSpectrumList = roiChannelsSpectrumList.stream().filter(item-> item.getDataType().equals(DataTypeAbbr.DETBKPHD.getType())).collect(Collectors.toList()); + for (int i=0; i implements IGardsROIResultsSpectrumService { @Override - public int saveGardsROIResults(List roiResultsList) { + public int saveGardsROIResults(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer idAnalysis) { + List roiResultsList = new LinkedList<>(); + List roiResultsSpectrumList = anlyseResultIn.getRoiResultsSpectrumList(); + for (int i=0; i xeResultsList) { + public int saveGardsXeResults(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer idAnalysis) { + List xeResultsList = anlyseResultIn.getXeData(); + for (GardsXeResults xeResults:xeResultsList) { + xeResults.setIdAnalysis(idAnalysis); + xeResults.setSampleId(sampleId); + } if (CollectionUtils.isNotEmpty(xeResultsList)) { this.saveBatch(xeResultsList); } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index 4929c8b4..12421e5e 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -122,6 +122,17 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements private NameStandUtil nameStandUtil; @Autowired private IDataService dataService; + @Autowired + private IGardsCalibrationPairsSpectrumService gardsCalibrationPairsSpectrumService; + @Autowired + private IGardsCalibrationSpectrumService gardsCalibrationSpectrumService; + @Autowired + private IGardsROIChannelsSpectrumService gardsROIChannelsSpectrumService; + @Autowired + private IGardsXeResultsSpectrumService gardsXeResultsSpectrumService; + @Autowired + private IGardsROIResultsSpectrumService gardsROIResultsSpectrumService; + @Override @@ -4102,8 +4113,6 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements if (userStation.contains(String.valueOf(stationId))) { bAnalysisResultWriteAuthority = true; } - //获取ROI Limit数据 -// getROILimit(anlyseResultIn); //根据sample文件名称模糊查询sampleId if (StringUtils.isNotBlank(betaDataFile.getSampleFilePathName())) { anlyseResultIn.setSampleFilePath(betaDataFile.getSampleFilePathName().substring(0, betaDataFile.getSampleFilePathName().lastIndexOf(StringPool.SLASH))); @@ -4144,7 +4153,7 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements //处理数据 获取对应的channel/energy值 getChannelAndEnergy(anlyseResultIn, betaList, gammaList, betaDataFile); //分析文件内容 - analyzePHDFile(anlyseResultIn, BgCalPara, betaFittingPara, gammaFittingPara, betaDataFile); + analyzePHDFile(anlyseResultIn, betaDataFile); //判断文件是否存储过 如果没有则解析文件并进行存储 if ( !OriginalDataStore(betaDataFile, "gas", gasFilePathName) ){ result.error500("gasFile save failed"); @@ -4212,87 +4221,60 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements GardsAnalysesSpectrum analysis = spectrumAnalysisMapper.getAnalysis("RNMAN.GARDS_ANALYSES", sampleId, userName); Integer idAnalysis = analysis.getIdAnalysis(); //获取sample,gas,det三个文件分别对应的beta,gamma数据集合 - List calibrationPairsList = getCalibrationPairs(anlyseResultIn, sampleId, gasId, detId, idAnalysis); //如果分析过--删除GARDS_CALIBRATION_PAIRS表数据 新增GARDS_CALIBRATION_PAIRS表数据 if (Objects.nonNull(isExist)){ //根据idAnalysis删除GARDS_CALIBRATION_PAIRS表数据 spectrumAnalysisMapper.deleteCalibrationPairs(idAnalysis); //遍历新增GARDS_CALIBRATION_PAIRS表数据 - for (GardsCalibrationPairs calibrationPairs:calibrationPairsList) { - spectrumAnalysisMapper.insertCalibrationPairs(calibrationPairs); - } + gardsCalibrationPairsSpectrumService.saveGardsCalibrationPairs(anlyseResultIn, sampleId, gasId, detId, idAnalysis); }else {//如果没有分析过--新增GARDS_CALIBRATION_PAIRS表数据 //遍历新增GARDS_CALIBRATION_PAIRS表数据 - for (GardsCalibrationPairs calibrationPairs:calibrationPairsList) { - spectrumAnalysisMapper.insertCalibrationPairs(calibrationPairs); - } + gardsCalibrationPairsSpectrumService.saveGardsCalibrationPairs(anlyseResultIn, sampleId, gasId, detId, idAnalysis); } //gards_calibration 数据表 - List calibrationList = getCalibration(anlyseResultIn, sampleId, gasId, detId, idAnalysis); //判断是否分析过 - if (Objects.nonNull(isExist)) { + if (Objects.nonNull(isExist)) { //删除Gards_Calibration表数据 spectrumAnalysisMapper.deleteCalibration(idAnalysis); //新增Gards_Calibration表数据数据 - for (GardsCalibration calibration:calibrationList) { - spectrumAnalysisMapper.insertCalibration(calibration); - } + gardsCalibrationSpectrumService.saveGardsCalibration(anlyseResultIn, sampleId, gasId, detId, idAnalysis); } else { //新增Gards_Calibration表数据数据 - for (GardsCalibration calibration:calibrationList) { - spectrumAnalysisMapper.insertCalibration(calibration); - } + gardsCalibrationSpectrumService.saveGardsCalibration(anlyseResultIn, sampleId, gasId, detId, idAnalysis); } //gards_roi_channels数据表 - List roiChannelsList = new LinkedList<>(); - getROIChannel(sampleId, idAnalysis, anlyseResultIn.getRoiChannelsSpectrumList(), roiChannelsList, DataTypeAbbr.SAMPLEPHD.getType()); - getROIChannel(gasId, idAnalysis, anlyseResultIn.getRoiChannelsSpectrumList(), roiChannelsList, DataTypeAbbr.GASBKPHD.getType()); - getROIChannel(detId, idAnalysis, anlyseResultIn.getRoiChannelsSpectrumList(), roiChannelsList, DataTypeAbbr.DETBKPHD.getType()); //如果分析过数据 if (Objects.nonNull(isExist)){ //删除gards_roi_channels数据表数据 spectrumAnalysisMapper.deleteROIChannels(idAnalysis); //新增gards_roi_channels数据表数据 - for (GardsRoiChannels roiChannels:roiChannelsList) { - spectrumAnalysisMapper.insertROIChannels(roiChannels); - } + gardsROIChannelsSpectrumService.saveGardsROIChannels(anlyseResultIn, sampleId, gasId, detId, idAnalysis); }else {//没有分析过 //新增gards_roi_channels数据表数据 - for (GardsRoiChannels roiChannels:roiChannelsList) { - spectrumAnalysisMapper.insertROIChannels(roiChannels); - } + gardsROIChannelsSpectrumService.saveGardsROIChannels(anlyseResultIn, sampleId, gasId, detId, idAnalysis); } //gards_Xe_results数据表 - List xeResultsList = getXeResults(anlyseResultIn, sampleId, idAnalysis); if(Objects.nonNull(isExist)) { //删除gards_Xe_results数据表数据 spectrumAnalysisMapper.deleteXeResult(idAnalysis); //新增gards_Xe_results数据表数据 - for (GardsXeResults xeResults:xeResultsList) { - spectrumAnalysisMapper.insertXeResult(xeResults); - } + gardsXeResultsSpectrumService.saveGardsXeResults(anlyseResultIn, sampleId, idAnalysis); } else { //新增gards_Xe_results数据表数据 - for (GardsXeResults xeResults:xeResultsList) { - spectrumAnalysisMapper.insertXeResult(xeResults); - } + gardsXeResultsSpectrumService.saveGardsXeResults(anlyseResultIn, sampleId, idAnalysis); } //gards_roi_results数据表 - List roiResultsSpectrumList = getROIResult(anlyseResultIn.getRoiResultsSpectrumList(), sampleId, idAnalysis); if(Objects.nonNull(isExist)) { //删除gards_roi_results数据表数据 spectrumAnalysisMapper.deleteROIResults(idAnalysis); //新增gards_roi_results数据表数据 - for (GardsRoiResults roiResults:roiResultsSpectrumList) { - spectrumAnalysisMapper.insertROIResults(roiResults); - } + gardsROIResultsSpectrumService.saveGardsROIResults(anlyseResultIn, sampleId, idAnalysis); } else { //新增gards_roi_results数据表数据 - for (GardsRoiResults roiResults:roiResultsSpectrumList) { - spectrumAnalysisMapper.insertROIResults(roiResults); - } + gardsROIResultsSpectrumService.saveGardsROIResults(anlyseResultIn, sampleId, idAnalysis); } //上传本次文件到ftp人工交互存储路径下 + long uploadStartTime = System.currentTimeMillis(); try { if (StringUtils.isNotBlank(sampleFilePathName)) { //sample文件的saveFile存储路径 @@ -4392,6 +4374,191 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements return result; } + @Transactional + public boolean OriginalDataStore(BetaDataFile betaDataFile, String type, String filePathName) { + //根据新的文件路径名称查询数据是否存在 + GardsSampleData isExist = spectrumAnalysisMapper.findSampleByFile(filePathName); + //如果数据已经存入过数据库 则 修改状态后返回 + if (Objects.nonNull(isExist)){ + //如果文件已经存入过数据库则修改状态 + spectrumAnalysisMapper.updateAnalysesStatus(filePathName); + return true; + } + //读取文件内容 + EnergySpectrumStruct sourceData = null; + File file = null; + try { + if (Objects.nonNull(betaDataFile)){ + + if (type.equalsIgnoreCase("sample")) { + file = new File(betaDataFile.getSampleTmpPath()); + sourceData = betaDataFile.getSampleStruct(); + } else if (type.equalsIgnoreCase("gas")) { + file = new File(betaDataFile.getGasTmpPath()); + sourceData = betaDataFile.getGasStruct(); + } else if (type.equalsIgnoreCase("det")) { + file = new File(betaDataFile.getDetTmpPath()); + sourceData = betaDataFile.getDetStruct(); + } else if (type.equalsIgnoreCase("qc")) { + file = new File(betaDataFile.getQcTmpPath()); + sourceData = betaDataFile.getQcStruct(); + } + //获取文件中块名信息 + List readLines = getFileBlockList(file); + //查询台站id + Integer stationId = spectrumAnalysisMapper.getStationId(sourceData.site_code); + Integer detectorId = spectrumAnalysisMapper.getDetectorId(sourceData.detector_code); + if(Objects.isNull(stationId) || Objects.isNull(detectorId)) { + String error = "get station_id or detect_id error"; + return false; + } + //新增Gards_Sample_Data表数据 + sampleDataSpectrumService.saveSampleData(sourceData, stationId, detectorId, filePathName, readLines); + //获取sampleId + Integer sampleId = spectrumAnalysisMapper.getSampleId(filePathName); + //存储Gards_Sample_Aux表数据 + sampleAuxSpectrumService.saveSampleAux(sourceData, sampleId, readLines); + //判断文件是否包含Comment块 新增Gards_Description数据 + if (readLines.contains(SampleFileHeader.COMMENT.getMessage())){ + sampleDescriptionSpectrumService.saveSampleDescription(sourceData, sampleId); + } + //判断文件是否包含Certificate块 新增Gards_Sample_Cert数据 + if (readLines.contains(SampleFileHeader.CERTIFICATE.getMessage())){ + sampleCertSpectrumService.saveSampleCert(sourceData, sampleId); + sampleCertLineSpectrumService.saveSampleCertLine(sourceData, sampleId); + } + //新增Gards_Calibration_Pairs_Orig数据 + calibrationPairsOrigSpectrumService.saveGardsCalibrationPairsOrig(sourceData, sampleId, readLines); + //判断文件是否包含b-gEfficiency块 新增Gards_Sample_Cert数据 + if (readLines.contains(SampleFileHeader.BGEFFICIENCY.getMessage())){ + bgEfficiencyPairsSpectrumService.saveBgEfficiencyPairs(sourceData, sampleId); + } + //判断文件是否包含TotalEff块 新增Gards_Sample_Cert数据 + if (readLines.contains(SampleFileHeader.TOTALEFF.getMessage())){ + totalEfficiencyPairsSpectrumService.saveTotalEfficiencyPairs(sourceData, sampleId); + } + //判断文件是否包含Ratios块 新增Gards_Sample_Ratios数据 + if (readLines.contains(SampleFileHeader.RATIOS.getMessage())){ + sampleRatiosSpectrumService.saveSampleRatios(sourceData, sampleId); + } + //判断是否包含ROI_Limits块 新增Gards_ROI_Limits数据 + if (readLines.contains(SampleFileHeader.ROILIMITS.getMessage())){ + roiLimitsSpectrumService.saveRoiLimits(sourceData, sampleId); + } + //新增Gards_Spectrum数据 + spectrumService.saveSpectrum(sourceData, sampleId, readLines, filePathName); + //判断是否包含Histogram块 新增Gards_Histogram数据 + if (readLines.contains(SampleFileHeader.HISTOGRAM.getMessage())){ + histogramService.saveHistogram(sourceData, sampleId, filePathName); + } + } + return true; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + public List getFileBlockList(File file) { + List readLines = new LinkedList<>(); + try { + List allLines = FileUtils.readLines(file, "UTF-8"); + for (String line:allLines) { + if (line.contains("#")){ + readLines.add(line); + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + return readLines; + } + + public SpectrumData getSpectrumData(Integer sampleId, BetaDataFile betaDataFile, String type) { + //根据 sampleId获取sampleData的数据内容 + GardsSampleDataSpectrum sampleData = spectrumAnalysisMapper.getSampleData(sampleId); + File file = null; + EnergySpectrumStruct struct = null; + if (type.equalsIgnoreCase("sample")) { + file = new File(betaDataFile.getSampleTmpPath()); + struct = betaDataFile.getSampleStruct(); + } else if (type.equalsIgnoreCase("gas")) { + file = new File(betaDataFile.getGasTmpPath()); + struct = betaDataFile.getGasStruct(); + } else if (type.equalsIgnoreCase("det")) { + file = new File(betaDataFile.getDetTmpPath()); + struct = betaDataFile.getDetStruct(); + } else if (type.equalsIgnoreCase("qc")) { + file = new File(betaDataFile.getQcTmpPath()); + struct = betaDataFile.getQcStruct(); + } + SpectrumData spectrumData = new SpectrumData(); + try { + //封装散点图下的基础数据信息 + //Station Code + String stationCode = struct.site_code; + //Detector Code + String detectorCode = struct.detector_code; + //Data Type + String dataType = struct.data_type; + //Collection Start + Date CollectionStart = null; + if ( StringUtils.isNotBlank(struct.collection_start_date) && StringUtils.isNotBlank(struct.collection_start_time) ){ + CollectionStart = DateUtils.parseDate(struct.collection_start_date + StringPool.SPACE + struct.collection_start_time); + } + //Collection Stop + Date CollectionStop = null; + if ( StringUtils.isNotBlank(struct.collection_stop_date) && StringUtils.isNotBlank(struct.collection_stop_time) ){ + CollectionStop = DateUtils.parseDate(struct.collection_stop_date + StringPool.SPACE + struct.collection_stop_time); + } + //Collection Time + String CollectionTime = ""; + if ( Objects.nonNull(CollectionStart) && Objects.nonNull(CollectionStop) ){ + CollectionTime = String.format ("%.2f",Double.valueOf(CollectionStop.getTime()/1000 - CollectionStart.getTime()/ 1000)); + } + //Acquisition Start + Date AcquisitionStart = null; + if ( StringUtils.isNotBlank(struct.collection_start_date) && StringUtils.isNotBlank(struct.collection_start_time) ){ + AcquisitionStart = DateUtils.parseDate(struct.acquisition_start_date + StringPool.SPACE + struct.acquisition_start_time); + } + //Acq Real Time + double AcquisitionRealTime = struct.acquisition_real_time; + //Acq live Time + double AcquisitionLiveTime = struct.acquisition_live_time; + //Air Volume[m3] + double airVolume = struct.air_volume; + //Xe Volume[m3] + double xeVolume = struct.sample_volume_of_Xe; + //xeCollectionYield + double xeCollectionYield = struct.Xe_collection_yield; + //gasBkMeasurementId + String gasBkMeasurementId = struct.gas_bk_measurement_id; + //detectorBkMeasurementId + String detectorBkMeasurementId = struct.detector_bk_measurement_id; + //measurementId + String measurementId = struct.measurement_id; + spectrumData.setSampleId(sampleId); + spectrumData.setStatus(sampleData.getStatus()); + spectrumData.setStationCode(stationCode); + spectrumData.setDetectorCode(detectorCode); + spectrumData.setDataType(dataType); + spectrumData.setCollectionStart(CollectionStart); + spectrumData.setCollectionStop(CollectionStop); + spectrumData.setCollectionTime(CollectionTime); + spectrumData.setAcquisitionStart(AcquisitionStart); + spectrumData.setAcquisitionRealTime(String.format("%.2f", AcquisitionRealTime)); + spectrumData.setAcquisitionLiveTime(String.format("%.2f", AcquisitionLiveTime)); + spectrumData.setAirVolume(String.format("%.5f", airVolume)); + spectrumData.setXeVolume(String.format("%.5f", xeVolume)); + spectrumData.setYield(xeCollectionYield); + spectrumData.setGasBkMeasurementId(gasBkMeasurementId); + spectrumData.setDetectorBkMeasurementId(detectorBkMeasurementId); + spectrumData.setMeasurementId(measurementId); + } catch (ParseException e) { + throw new RuntimeException(e); + } + return spectrumData; + } + /** * 分析成功数据发送到Redis */ @@ -5038,7 +5205,6 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements ExportUtil.exportXls(response, template, analyze, export); } - public void saveToTxtOld(BgDataAnlyseResultIn anlyseResultIn, HttpServletRequest request, HttpServletResponse response) { String userName = JwtUtil.getUserNameByToken(request); // 解析文件,生成导出数据 @@ -5610,701 +5776,58 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements } } - public void analyzePHDFile(BgDataAnlyseResultIn anlyseResultIn, BgCalibratePara BgCalPara, List betaFittingPara, List gammaFittingPara, BetaDataFile betaDataFile) { - File sampleTmp = null; - File gasTmp = null; - File detTmp = null; - try { - //根据文件路径 文件名称获取对应的临时文件 - sampleTmp = new File(betaDataFile.getSampleTmpPath()); - gasTmp = new File(betaDataFile.getGasTmpPath()); - detTmp = new File(betaDataFile.getDetTmpPath()); - //调用动态库解析文件 - //Gamma Energy Calibration页面 如果点击过fitting使BGammaEnergyValid并且有勾选 - //如果三个sampleData,GasData,DetData数据都是被勾选状态 则需要传递新的参数重新分析 否则不需要改变数据分析当前文件内容 - BgAnalyseResult bgAnalyseResult = null; - if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { - if (Objects.isNull(BgCalPara)) { - bgAnalyseResult = EnergySpectrumHandler.bgAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath()); - } else { - bgAnalyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), BgCalPara); - } - if (StringUtils.isBlank(bgAnalyseResult.error_log) || bgAnalyseResult.error_log.equalsIgnoreCase("no error.")) { - //处理XeData的数据 - List xeResultsSpectrumList = new LinkedList<>(); - GardsXeResults xe131m = new GardsXeResults(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(bgAnalyseResult.Xe131m_con); - xe131m.setConcErr(bgAnalyseResult.Xe131m_uncer); - xe131m.setLc(bgAnalyseResult.LC_Xe131m); - xe131m.setMdc(bgAnalyseResult.MDC_Xe131m); - xe131m.setNidFlag(anlyseResultIn.getXe131mFlag()); - xeResultsSpectrumList.add(xe131m); - GardsXeResults xe133 = new GardsXeResults(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(bgAnalyseResult.Xe133_con); - xe133.setConcErr(bgAnalyseResult.Xe133_uncer); - xe133.setLc(bgAnalyseResult.LC_Xe133); - xe133.setMdc(bgAnalyseResult.MDC_Xe133); - xe133.setNidFlag(anlyseResultIn.getXe133Flag()); - xeResultsSpectrumList.add(xe133); - GardsXeResults xe133m = new GardsXeResults(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(bgAnalyseResult.Xe133m_con); - xe133m.setConcErr(bgAnalyseResult.Xe133m_uncer); - xe133m.setLc(bgAnalyseResult.LC_Xe133m); - xe133m.setMdc(bgAnalyseResult.MDC_Xe133m); - xe133m.setNidFlag(anlyseResultIn.getXe133mFlag()); - xeResultsSpectrumList.add(xe133m); - GardsXeResults xe135 = new GardsXeResults(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(bgAnalyseResult.Xe135_con); - xe135.setConcErr(bgAnalyseResult.Xe135_uncer); - xe135.setLc(bgAnalyseResult.LC_Xe135); - xe135.setMdc(bgAnalyseResult.MDC_Xe135); - xe135.setNidFlag(anlyseResultIn.getXe135Flag()); - xeResultsSpectrumList.add(xe135); - anlyseResultIn.setXeData(xeResultsSpectrumList); - //处理GammaCalibration的数据 - List gammaCalibrationSpectrumList = new LinkedList<>(); - if (anlyseResultIn.isBGammaEnergyValidSample()) { - GardsCalibrationSpectrum gammaCalibrationS = new GardsCalibrationSpectrum(); - gammaCalibrationS.setDataType(DataTypeAbbr.SAMPLEPHD.getType()); - gammaCalibrationS.setCoeff1(Double.valueOf(gammaFittingPara.get(0))); - gammaCalibrationS.setCoeff2(Double.valueOf(gammaFittingPara.get(1))); - gammaCalibrationS.setCoeff3(Double.valueOf(gammaFittingPara.get(2))); - gammaCalibrationSpectrumList.add(gammaCalibrationS); - } else { - GardsCalibrationSpectrum gammaCalibrationS = new GardsCalibrationSpectrum(); - gammaCalibrationS.setDataType(DataTypeAbbr.SAMPLEPHD.getType()); - gammaCalibrationS.setCoeff1(bgAnalyseResult.s_g_fitting_e_c.get(0)); - gammaCalibrationS.setCoeff2(bgAnalyseResult.s_g_fitting_e_c.get(1)); - gammaCalibrationS.setCoeff3(bgAnalyseResult.s_g_fitting_e_c.get(2)); - gammaCalibrationSpectrumList.add(gammaCalibrationS); - } - if (anlyseResultIn.isBGammaEnergyValidGas()) { - GardsCalibrationSpectrum gammaCalibrationG = new GardsCalibrationSpectrum(); - gammaCalibrationG.setDataType(DataTypeAbbr.GASBKPHD.getType()); - gammaCalibrationG.setCoeff1(Double.valueOf(gammaFittingPara.get(0))); - gammaCalibrationG.setCoeff2(Double.valueOf(gammaFittingPara.get(1))); - gammaCalibrationG.setCoeff3(Double.valueOf(gammaFittingPara.get(2))); - gammaCalibrationSpectrumList.add(gammaCalibrationG); - } else { - GardsCalibrationSpectrum gammaCalibrationG = new GardsCalibrationSpectrum(); - gammaCalibrationG.setDataType(DataTypeAbbr.GASBKPHD.getType()); - gammaCalibrationG.setCoeff1(bgAnalyseResult.g_g_fitting_e_c.get(0)); - gammaCalibrationG.setCoeff2(bgAnalyseResult.g_g_fitting_e_c.get(1)); - gammaCalibrationG.setCoeff3(bgAnalyseResult.g_g_fitting_e_c.get(2)); - gammaCalibrationSpectrumList.add(gammaCalibrationG); - } - if (anlyseResultIn.isBGammaEnergyValidDet()) { - GardsCalibrationSpectrum gammaCalibrationD = new GardsCalibrationSpectrum(); - gammaCalibrationD.setDataType(DataTypeAbbr.DETBKPHD.getType()); - gammaCalibrationD.setCoeff1(Double.valueOf(gammaFittingPara.get(0))); - gammaCalibrationD.setCoeff2(Double.valueOf(gammaFittingPara.get(1))); - gammaCalibrationD.setCoeff3(Double.valueOf(gammaFittingPara.get(2))); - gammaCalibrationSpectrumList.add(gammaCalibrationD); - } else { - GardsCalibrationSpectrum gammaCalibrationD = new GardsCalibrationSpectrum(); - gammaCalibrationD.setDataType(DataTypeAbbr.DETBKPHD.getType()); - gammaCalibrationD.setCoeff1(bgAnalyseResult.d_g_fitting_e_c.get(0)); - gammaCalibrationD.setCoeff2(bgAnalyseResult.d_g_fitting_e_c.get(1)); - gammaCalibrationD.setCoeff3(bgAnalyseResult.d_g_fitting_e_c.get(2)); - gammaCalibrationSpectrumList.add(gammaCalibrationD); - } - anlyseResultIn.setGammaCalibrationSpectrumList(gammaCalibrationSpectrumList); - //处理BetaCalibration数据 - List betaCalibrationSpectrumList = new LinkedList<>(); - if (anlyseResultIn.isBBetaEnergyValidSample()) { - GardsCalibrationSpectrum betaCalibrationS = new GardsCalibrationSpectrum(); - betaCalibrationS.setDataType(DataTypeAbbr.SAMPLEPHD.getType()); - betaCalibrationS.setCoeff1(Double.valueOf(betaFittingPara.get(0))); - betaCalibrationS.setCoeff2(Double.valueOf(betaFittingPara.get(1))); - betaCalibrationS.setCoeff3(Double.valueOf(betaFittingPara.get(2))); - betaCalibrationSpectrumList.add(betaCalibrationS); - } else { - GardsCalibrationSpectrum betaCalibrationS = new GardsCalibrationSpectrum(); - betaCalibrationS.setDataType(DataTypeAbbr.SAMPLEPHD.getType()); - betaCalibrationS.setCoeff1(bgAnalyseResult.s_b_fitting_e_c.get(0)); - betaCalibrationS.setCoeff2(bgAnalyseResult.s_b_fitting_e_c.get(1)); - betaCalibrationS.setCoeff3(bgAnalyseResult.s_b_fitting_e_c.get(2)); - betaCalibrationSpectrumList.add(betaCalibrationS); - } - if (anlyseResultIn.isBBetaEnergyValidGas()) { - GardsCalibrationSpectrum betaCalibrationG = new GardsCalibrationSpectrum(); - betaCalibrationG.setDataType(DataTypeAbbr.GASBKPHD.getType()); - betaCalibrationG.setCoeff1(Double.valueOf(betaFittingPara.get(0))); - betaCalibrationG.setCoeff2(Double.valueOf(betaFittingPara.get(1))); - betaCalibrationG.setCoeff3(Double.valueOf(betaFittingPara.get(2))); - betaCalibrationSpectrumList.add(betaCalibrationG); - } else { - GardsCalibrationSpectrum betaCalibrationG = new GardsCalibrationSpectrum(); - betaCalibrationG.setDataType(DataTypeAbbr.GASBKPHD.getType()); - betaCalibrationG.setCoeff1(bgAnalyseResult.g_b_fitting_e_c.get(0)); - betaCalibrationG.setCoeff2(bgAnalyseResult.g_b_fitting_e_c.get(1)); - betaCalibrationG.setCoeff3(bgAnalyseResult.g_b_fitting_e_c.get(2)); - betaCalibrationSpectrumList.add(betaCalibrationG); - } - if (anlyseResultIn.isBBetaEnergyValidDet()) { - GardsCalibrationSpectrum betaCalibrationD = new GardsCalibrationSpectrum(); - betaCalibrationD.setDataType(DataTypeAbbr.DETBKPHD.getType()); - betaCalibrationD.setCoeff1(Double.valueOf(betaFittingPara.get(0))); - betaCalibrationD.setCoeff2(Double.valueOf(betaFittingPara.get(1))); - betaCalibrationD.setCoeff3(Double.valueOf(betaFittingPara.get(2))); - betaCalibrationSpectrumList.add(betaCalibrationD); - } else { - GardsCalibrationSpectrum betaCalibrationD = new GardsCalibrationSpectrum(); - betaCalibrationD.setDataType(DataTypeAbbr.DETBKPHD.getType()); - betaCalibrationD.setCoeff1(bgAnalyseResult.d_b_fitting_e_c.get(0)); - betaCalibrationD.setCoeff2(bgAnalyseResult.d_b_fitting_e_c.get(1)); - betaCalibrationD.setCoeff3(bgAnalyseResult.d_b_fitting_e_c.get(2)); - betaCalibrationSpectrumList.add(betaCalibrationD); - } - anlyseResultIn.setBetaCalibrationSpectrumList(betaCalibrationSpectrumList); - //存储roiChannel数据 - List roiChannelsSpectrumList = new LinkedList<>(); - for (int i=0; i roiResultsSpectrumList = new LinkedList<>(); - for (int i=0; ibgAnalyseResult.MDC.get(i)) { - roiResults.setNidFlag(1); - } else { - roiResults.setNidFlag(0); - } - roiResultsSpectrumList.add(roiResults); - } - anlyseResultIn.setRoiResultsSpectrumList(roiResultsSpectrumList); - betaDataFile.getXeResultsSpectrumList().forEach(item -> { - if (item.getNuclideName().equals(XeNuclideName.XE_131m.getType())) { - item.setNidFlag(anlyseResultIn.getXe131mFlag()); - } else if (item.getNuclideName().equals(XeNuclideName.XE_133.getType())) { - item.setNidFlag(anlyseResultIn.getXe133Flag()); - } else if (item.getNuclideName().equals(XeNuclideName.XE_133m.getType())) { - item.setNidFlag(anlyseResultIn.getXe133mFlag()); - } else if (item.getNuclideName().equals(XeNuclideName.XE_135.getType())) { - item.setNidFlag(anlyseResultIn.getXe135Flag()); - } - }); - } + public void analyzePHDFile(BgDataAnlyseResultIn anlyseResultIn, BetaDataFile betaDataFile) { + //处理XeData表数据 + List xeDataList = betaDataFile.getXeDataList(); + if (CollectionUtils.isEmpty(xeDataList)) { + List xeResultsSpectrumList = betaDataFile.getXeResultsSpectrumList(); + xeDataList = getXeDataList(xeResultsSpectrumList); + } + for (GardsXeResults xeData :xeDataList) { + if (xeData.getNuclideName().equals(XeNuclideName.XE_131m)) { + xeData.setNidFlag(anlyseResultIn.getXe131mFlag()); + } else if (xeData.getNuclideName().equals(XeNuclideName.XE_133)) { + xeData.setNidFlag(anlyseResultIn.getXe133Flag()); + } else if (xeData.getNuclideName().equals(XeNuclideName.XE_133m)) { + xeData.setNidFlag(anlyseResultIn.getXe133mFlag()); + } else if (xeData.getNuclideName().equals(XeNuclideName.XE_135)) { + xeData.setNidFlag(anlyseResultIn.getXe135Flag()); } - } catch (Exception e) { - e.printStackTrace(); } - } - - public List getCalibrationPairs(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis) { - List calibrationPairsList = new LinkedList<>(); - for (int i=0; i< anlyseResultIn.getB_channel_sample().size(); i++){ - GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); - calibrationPairs.setSampleId(sampleId); - calibrationPairs.setIdAnalysis(idAnalysis); - calibrationPairs.setSampleType(SystemType.BETA.getType()); - calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); - calibrationPairs.setInput(CalName.CalPHD.getType()); - calibrationPairs.setIdCalPoint(i); - calibrationPairs.setXValue(anlyseResultIn.getB_channel_sample().get(i)); - calibrationPairs.setYValue(anlyseResultIn.getB_energy_sample().get(i)); - calibrationPairsList.add(calibrationPairs); - } - for (int i=0; i< anlyseResultIn.getG_channel_sample().size(); i++){ - GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); - calibrationPairs.setSampleId(sampleId); - calibrationPairs.setIdAnalysis(idAnalysis); - calibrationPairs.setSampleType(SystemType.GAMMA.getType()); - calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); - calibrationPairs.setInput(CalName.CalPHD.getType()); - calibrationPairs.setIdCalPoint(i); - calibrationPairs.setXValue(anlyseResultIn.getG_channel_sample().get(i)); - calibrationPairs.setYValue(anlyseResultIn.getG_energy_sample().get(i)); - calibrationPairsList.add(calibrationPairs); - } - - for (int i=0; i< anlyseResultIn.getB_channel_gas().size(); i++){ - GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); - calibrationPairs.setSampleId(gasId); - calibrationPairs.setIdAnalysis(idAnalysis); - calibrationPairs.setSampleType(SystemType.BETA.getType()); - calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); - calibrationPairs.setInput(CalName.CalPHD.getType()); - calibrationPairs.setIdCalPoint(i); - calibrationPairs.setXValue(anlyseResultIn.getB_channel_gas().get(i)); - calibrationPairs.setYValue(anlyseResultIn.getB_energy_gas().get(i)); - calibrationPairsList.add(calibrationPairs); - } - - for (int i=0; i< anlyseResultIn.getG_channel_gas().size(); i++){ - GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); - calibrationPairs.setSampleId(gasId); - calibrationPairs.setIdAnalysis(idAnalysis); - calibrationPairs.setSampleType(SystemType.GAMMA.getType()); - calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); - calibrationPairs.setInput(CalName.CalPHD.getType()); - calibrationPairs.setIdCalPoint(i); - calibrationPairs.setXValue(anlyseResultIn.getG_channel_gas().get(i)); - calibrationPairs.setYValue(anlyseResultIn.getG_energy_gas().get(i)); - calibrationPairsList.add(calibrationPairs); - } - - for (int i=0; i< anlyseResultIn.getB_channel_det().size(); i++){ - GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); - calibrationPairs.setSampleId(detId); - calibrationPairs.setIdAnalysis(idAnalysis); - calibrationPairs.setSampleType(SystemType.BETA.getType()); - calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); - calibrationPairs.setInput(CalName.CalPHD.getType()); - calibrationPairs.setIdCalPoint(i); - calibrationPairs.setXValue(anlyseResultIn.getB_channel_det().get(i)); - calibrationPairs.setYValue(anlyseResultIn.getB_energy_det().get(i)); - calibrationPairsList.add(calibrationPairs); - } - - for (int i=0; i< anlyseResultIn.getG_channel_det().size(); i++){ - GardsCalibrationPairs calibrationPairs = new GardsCalibrationPairs(); - calibrationPairs.setSampleId(detId); - calibrationPairs.setIdAnalysis(idAnalysis); - calibrationPairs.setSampleType(SystemType.GAMMA.getType()); - calibrationPairs.setCaltype(CalType.ENERGY_CAL.getType()); - calibrationPairs.setInput(CalName.CalPHD.getType()); - calibrationPairs.setIdCalPoint(i); - calibrationPairs.setXValue(anlyseResultIn.getG_channel_det().get(i)); - calibrationPairs.setYValue(anlyseResultIn.getG_energy_det().get(i)); - calibrationPairsList.add(calibrationPairs); - } - return calibrationPairsList; - } - - public List getCalibration(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer gasId, Integer detId, Integer idAnalysis) { - List calibrationSpectrumList = new LinkedList<>(); - if (Objects.nonNull(sampleId)) { - GardsCalibration calibrationB = new GardsCalibration(); - calibrationB.setSampleId(sampleId); - calibrationB.setIdAnalysis(idAnalysis); - calibrationB.setSampleType(SystemType.BETA.getType()); - calibrationB.setCalType(CalType.ENERGY_CAL.getType()); - calibrationB.setFunction(FittingType.POLY2.getCode()); - calibrationB.setFunctionDef(FittingType.POLY2.getDescription()); - calibrationB.setStartOfRange(0); - calibrationB.setEndOfRange(1); - List betaCollect = anlyseResultIn.getBetaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())).collect(Collectors.toList()); - GardsCalibrationSpectrum betaCalibrationSpectrum = betaCollect.get(0); - calibrationB.setCoeff1(Double.valueOf(betaCalibrationSpectrum.getCoeff1())); - calibrationB.setCoeff2(Double.valueOf(betaCalibrationSpectrum.getCoeff2())); - calibrationB.setCoeff3(Double.valueOf(betaCalibrationSpectrum.getCoeff3())); - calibrationSpectrumList.add(calibrationB); - - GardsCalibration calibrationG = new GardsCalibration(); - calibrationG.setSampleId(sampleId); - calibrationG.setIdAnalysis(idAnalysis); - calibrationG.setSampleType(SystemType.GAMMA.getType()); - calibrationG.setCalType(CalType.ENERGY_CAL.getType()); - calibrationG.setFunction(FittingType.POLY2.getCode()); - calibrationG.setFunctionDef(FittingType.POLY2.getDescription()); - calibrationG.setStartOfRange(0); - calibrationG.setEndOfRange(1); - List gammaCollect = anlyseResultIn.getGammaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.SAMPLEPHD.getType())).collect(Collectors.toList()); - GardsCalibrationSpectrum gammaCalibrationSpectrum = gammaCollect.get(0); - calibrationG.setCoeff1(Double.valueOf(gammaCalibrationSpectrum.getCoeff1())); - calibrationG.setCoeff2(Double.valueOf(gammaCalibrationSpectrum.getCoeff2())); - calibrationG.setCoeff3(Double.valueOf(gammaCalibrationSpectrum.getCoeff3())); - calibrationSpectrumList.add(calibrationG); - } - - if (Objects.nonNull(gasId)) { - //gas文件 Beta部分 - GardsCalibration calibrationB = new GardsCalibration(); - calibrationB.setSampleId(gasId); - calibrationB.setIdAnalysis(idAnalysis); - calibrationB.setSampleType(SystemType.BETA.getType()); - calibrationB.setCalType(CalType.ENERGY_CAL.getType()); - calibrationB.setFunction(FittingType.POLY2.getCode()); - calibrationB.setFunctionDef(FittingType.POLY2.getDescription()); - calibrationB.setStartOfRange(0); - calibrationB.setEndOfRange(1); - List betaCollect = anlyseResultIn.getBetaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.GASBKPHD.getType())).collect(Collectors.toList()); - GardsCalibrationSpectrum betaCalibrationSpectrum = betaCollect.get(0); - calibrationB.setCoeff1(Double.valueOf(betaCalibrationSpectrum.getCoeff1())); - calibrationB.setCoeff2(Double.valueOf(betaCalibrationSpectrum.getCoeff2())); - calibrationB.setCoeff3(Double.valueOf(betaCalibrationSpectrum.getCoeff3())); - calibrationSpectrumList.add(calibrationB); - //gas文件 gamma部分 - GardsCalibration calibrationG = new GardsCalibration(); - calibrationG.setSampleId(gasId); - calibrationG.setIdAnalysis(idAnalysis); - calibrationG.setSampleType(SystemType.GAMMA.getType()); - calibrationG.setCalType(CalType.ENERGY_CAL.getType()); - calibrationG.setFunction(FittingType.POLY2.getCode()); - calibrationG.setFunctionDef(FittingType.POLY2.getDescription()); - calibrationG.setStartOfRange(0); - calibrationG.setEndOfRange(1); - List gammaCollect = anlyseResultIn.getGammaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.GASBKPHD.getType())).collect(Collectors.toList()); - GardsCalibrationSpectrum gammaCalibrationSpectrum = gammaCollect.get(0); - calibrationG.setCoeff1(Double.valueOf(gammaCalibrationSpectrum.getCoeff1())); - calibrationG.setCoeff2(Double.valueOf(gammaCalibrationSpectrum.getCoeff2())); - calibrationG.setCoeff3(Double.valueOf(gammaCalibrationSpectrum.getCoeff3())); - calibrationSpectrumList.add(calibrationG); - } - - if (Objects.nonNull(detId)) { - GardsCalibration calibrationB = new GardsCalibration(); - calibrationB.setSampleId(detId); - calibrationB.setIdAnalysis(idAnalysis); - calibrationB.setSampleType(SystemType.BETA.getType()); - calibrationB.setCalType(CalType.ENERGY_CAL.getType()); - calibrationB.setFunction(FittingType.POLY2.getCode()); - calibrationB.setFunctionDef(FittingType.POLY2.getDescription()); - calibrationB.setStartOfRange(0); - calibrationB.setEndOfRange(1); - List betaCollect = anlyseResultIn.getBetaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.DETBKPHD.getType())).collect(Collectors.toList()); - GardsCalibrationSpectrum betaCalibrationSpectrum = betaCollect.get(0); - calibrationB.setCoeff1(Double.valueOf(betaCalibrationSpectrum.getCoeff1())); - calibrationB.setCoeff2(Double.valueOf(betaCalibrationSpectrum.getCoeff2())); - calibrationB.setCoeff3(Double.valueOf(betaCalibrationSpectrum.getCoeff3())); - calibrationSpectrumList.add(calibrationB); - GardsCalibration calibrationG = new GardsCalibration(); - calibrationG.setSampleId(detId); - calibrationG.setIdAnalysis(idAnalysis); - calibrationG.setSampleType(SystemType.GAMMA.getType()); - calibrationG.setCalType(CalType.ENERGY_CAL.getType()); - calibrationG.setFunction(FittingType.POLY2.getCode()); - calibrationG.setFunctionDef(FittingType.POLY2.getDescription()); - calibrationG.setStartOfRange(0); - calibrationG.setEndOfRange(1); - List gammaCollect = anlyseResultIn.getGammaCalibrationSpectrumList().stream().filter(item -> item.getDataType().equals(DataTypeAbbr.DETBKPHD.getType())).collect(Collectors.toList()); - GardsCalibrationSpectrum gammaCalibrationSpectrum = gammaCollect.get(0); - calibrationG.setCoeff1(Double.valueOf(gammaCalibrationSpectrum.getCoeff1())); - calibrationG.setCoeff2(Double.valueOf(gammaCalibrationSpectrum.getCoeff2())); - calibrationG.setCoeff3(Double.valueOf(gammaCalibrationSpectrum.getCoeff3())); - calibrationSpectrumList.add(calibrationG); - } - return calibrationSpectrumList; - } - - public void getROIChannel(Integer sampleId, Integer idAnalysis, List roiChannelsSpectrumList, List roiChannelsList, String dataType) { - roiChannelsSpectrumList = roiChannelsSpectrumList.stream().filter(item-> item.getDataType().equals(dataType)).collect(Collectors.toList()); - for (int i=0; i getXeDataList(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer idAnalysis) { - List xeResultsList = new LinkedList<>(); - //Xe131m - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setSampleId(sampleId); - xe131m.setIdAnalysis(idAnalysis); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(anlyseResultIn.getXe131m_con()); - xe131m.setConcErr(anlyseResultIn.getXe131m_uncer()); - xe131m.setMdc(anlyseResultIn.getMdc_Xe131m()); - xe131m.setLc(anlyseResultIn.getLc_Xe131m()); - xe131m.setNidFlag(anlyseResultIn.getXe131mFlag()); - xeResultsList.add(xe131m); - //Xe133 - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setSampleId(sampleId); - xe133.setIdAnalysis(idAnalysis); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(anlyseResultIn.getXe133_con()); - xe133.setConcErr(anlyseResultIn.getXe133_uncer()); - xe133.setMdc(anlyseResultIn.getMdc_Xe133()); - xe133.setLc(anlyseResultIn.getLc_Xe133()); - xe133.setNidFlag(anlyseResultIn.getXe133Flag()); - xeResultsList.add(xe133); - //Xe133m - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setSampleId(sampleId); - xe133m.setIdAnalysis(idAnalysis); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(anlyseResultIn.getXe133m_con()); - xe133m.setConcErr(anlyseResultIn.getXe133m_uncer()); - xe133m.setMdc(anlyseResultIn.getMdc_Xe133m()); - xe133m.setLc(anlyseResultIn.getLc_Xe133m()); - xe133m.setNidFlag(anlyseResultIn.getXe133mFlag()); - xeResultsList.add(xe133m); - //Xe135 - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setSampleId(sampleId); - xe135.setIdAnalysis(idAnalysis); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(anlyseResultIn.getXe135_con()); - xe135.setConcErr(anlyseResultIn.getXe135_uncer()); - xe135.setMdc(anlyseResultIn.getMdc_Xe135()); - xe135.setLc(anlyseResultIn.getLc_Xe135()); - xe135.setNidFlag(anlyseResultIn.getXe135Flag()); - xeResultsList.add(xe135); - return xeResultsList; - } - - public List getXeResults(BgDataAnlyseResultIn anlyseResultIn, Integer sampleId, Integer idAnalysis) { - List xeResultsList = anlyseResultIn.getXeData(); - for (GardsXeResults xeResults:xeResultsList) { - xeResults.setIdAnalysis(idAnalysis); - xeResults.setSampleId(sampleId); - } - return xeResultsList; - } - - @Transactional - public boolean OriginalDataStore(BetaDataFile betaDataFile, String type, String filePathName) { - //根据新的文件路径名称查询数据是否存在 - GardsSampleData isExist = spectrumAnalysisMapper.findSampleByFile(filePathName); - //如果数据已经存入过数据库 则 修改状态后返回 - if (Objects.nonNull(isExist)){ - //如果文件已经存入过数据库则修改状态 - spectrumAnalysisMapper.updateAnalysesStatus(filePathName); - return true; - } - //读取文件内容 - EnergySpectrumStruct sourceData = null; - File file = null; - try { - if (Objects.nonNull(betaDataFile)){ - - if (type.equalsIgnoreCase("sample")) { - file = new File(betaDataFile.getSampleTmpPath()); - sourceData = betaDataFile.getSampleStruct(); - } else if (type.equalsIgnoreCase("gas")) { - file = new File(betaDataFile.getGasTmpPath()); - sourceData = betaDataFile.getGasStruct(); - } else if (type.equalsIgnoreCase("det")) { - file = new File(betaDataFile.getDetTmpPath()); - sourceData = betaDataFile.getDetStruct(); - } else if (type.equalsIgnoreCase("qc")) { - file = new File(betaDataFile.getQcTmpPath()); - sourceData = betaDataFile.getQcStruct(); - } - //获取文件中块名信息 - List readLines = getFileBlockList(file); - //查询台站id - Integer stationId = spectrumAnalysisMapper.getStationId(sourceData.site_code); - Integer detectorId = spectrumAnalysisMapper.getDetectorId(sourceData.detector_code); - if(Objects.isNull(stationId) || Objects.isNull(detectorId)) { - String error = "get station_id or detect_id error"; - return false; - } - //新增Gards_Sample_Data表数据 - sampleDataSpectrumService.saveSampleData(sourceData, stationId, detectorId, filePathName, readLines); - //获取sampleId - Integer sampleId = spectrumAnalysisMapper.getSampleId(filePathName); - //存储Gards_Sample_Aux表数据 - sampleAuxSpectrumService.saveSampleAux(sourceData, sampleId, readLines); - //判断文件是否包含Comment块 新增Gards_Description数据 - if (readLines.contains(SampleFileHeader.COMMENT.getMessage())){ - sampleDescriptionSpectrumService.saveSampleDescription(sourceData, sampleId); - } - //判断文件是否包含Certificate块 新增Gards_Sample_Cert数据 - if (readLines.contains(SampleFileHeader.CERTIFICATE.getMessage())){ - sampleCertSpectrumService.saveSampleCert(sourceData, sampleId); - sampleCertLineSpectrumService.saveSampleCertLine(sourceData, sampleId); - } - //新增Gards_Calibration_Pairs_Orig数据 - calibrationPairsOrigSpectrumService.saveGardsCalibrationPairsOrig(sourceData, sampleId, readLines); - //判断文件是否包含b-gEfficiency块 新增Gards_Sample_Cert数据 - if (readLines.contains(SampleFileHeader.BGEFFICIENCY.getMessage())){ - bgEfficiencyPairsSpectrumService.saveBgEfficiencyPairs(sourceData, sampleId); - } - //判断文件是否包含TotalEff块 新增Gards_Sample_Cert数据 - if (readLines.contains(SampleFileHeader.TOTALEFF.getMessage())){ - totalEfficiencyPairsSpectrumService.saveTotalEfficiencyPairs(sourceData, sampleId); - } - //判断文件是否包含Ratios块 新增Gards_Sample_Ratios数据 - if (readLines.contains(SampleFileHeader.RATIOS.getMessage())){ - sampleRatiosSpectrumService.saveSampleRatios(sourceData, sampleId); - } - //判断是否包含ROI_Limits块 新增Gards_ROI_Limits数据 - if (readLines.contains(SampleFileHeader.ROILIMITS.getMessage())){ - roiLimitsSpectrumService.saveRoiLimits(sourceData, sampleId); - } - //新增Gards_Spectrum数据 - spectrumService.saveSpectrum(sourceData, sampleId, readLines, filePathName); - //判断是否包含Histogram块 新增Gards_Histogram数据 - if (readLines.contains(SampleFileHeader.HISTOGRAM.getMessage())){ - histogramService.saveHistogram(sourceData, sampleId, filePathName); - } + anlyseResultIn.setXeData(xeDataList); + betaDataFile.getXeResultsSpectrumList().forEach(item -> { + if (item.getNuclideName().equals(XeNuclideName.XE_131m.getType())) { + item.setNidFlag(anlyseResultIn.getXe131mFlag()); + } else if (item.getNuclideName().equals(XeNuclideName.XE_133.getType())) { + item.setNidFlag(anlyseResultIn.getXe133Flag()); + } else if (item.getNuclideName().equals(XeNuclideName.XE_133m.getType())) { + item.setNidFlag(anlyseResultIn.getXe133mFlag()); + } else if (item.getNuclideName().equals(XeNuclideName.XE_135.getType())) { + item.setNidFlag(anlyseResultIn.getXe135Flag()); } - return true; - } catch (Exception e) { - throw new RuntimeException(e); - } + }); + //处理GammaCalibration的数据 + List gammaCalibrationSpectrumList = betaDataFile.getGammaCalibrationSpectrumEList(); + anlyseResultIn.setGammaCalibrationSpectrumList(gammaCalibrationSpectrumList); + //处理BetaCalibration数据 + List betaCalibrationSpectrumList = betaDataFile.getBetaCalibrationSpectrumEList(); + anlyseResultIn.setBetaCalibrationSpectrumList(betaCalibrationSpectrumList); + //存储roiChannel数据 + List roiChannelsSpectrumList = betaDataFile.getRoiChannelsSpectrumList(); + anlyseResultIn.setRoiChannelsSpectrumList(roiChannelsSpectrumList); + //存储roiResult的数据 + List roiResultsSpectrumList = betaDataFile.getRoiResultsSpectrumList(); + anlyseResultIn.setRoiResultsSpectrumList(roiResultsSpectrumList); } - public List getFileBlockList(File file) { - List readLines = new LinkedList<>(); - try { - List allLines = FileUtils.readLines(file, "UTF-8"); - for (String line:allLines) { - if (line.contains("#")){ - readLines.add(line); - } - } - } catch (IOException e) { - throw new RuntimeException(e); + public List getXeDataList(List xeResultsSpectrumList) { + List xeDataList = new LinkedList<>(); + for (GardsXeResultsSpectrum xeResultsSpectrum:xeResultsSpectrumList) { + GardsXeResults xeResults = new GardsXeResults(); + BeanUtil.copyProperties(xeResultsSpectrum, xeResults); + xeDataList.add(xeResults); } - return readLines; - } - - public List getROIResult(List roiResultsSpectrumList, Integer sampleId, Integer idAnalysis) { - List roiResultsList = new LinkedList<>(); - for (int i=0; i