人工交互模块计算mdc的数据来源改为读取全核素信息
新增人工交互启动时缓存全核素信息方法
This commit is contained in:
parent
a4568a528e
commit
a573f651dd
|
@ -80,6 +80,8 @@ public interface SpectrumAnalysisMapper {
|
||||||
|
|
||||||
List<HalfData> getHalf(@Param(value = "names") List<String> names);
|
List<HalfData> getHalf(@Param(value = "names") List<String> names);
|
||||||
|
|
||||||
|
HalfData getOneHalf(@Param(value = "name") String name);
|
||||||
|
|
||||||
List<String> UserNuclide(@Param(value = "systemType") String systemType, @Param(value = "userName") String userName);
|
List<String> UserNuclide(@Param(value = "systemType") String systemType, @Param(value = "userName") String userName);
|
||||||
|
|
||||||
Integer getAnalysisID(@Param(value = "dbName") String dbName, @Param(value = "sampleId") Integer sampleId, @Param(value = "userName") String userName);
|
Integer getAnalysisID(@Param(value = "dbName") String dbName, @Param(value = "sampleId") Integer sampleId, @Param(value = "userName") String userName);
|
||||||
|
@ -175,4 +177,6 @@ public interface SpectrumAnalysisMapper {
|
||||||
|
|
||||||
Integer getSampleIdLikeFileName(@Param(value = "fileName") String fileName);
|
Integer getSampleIdLikeFileName(@Param(value = "fileName") String fileName);
|
||||||
|
|
||||||
|
List<String> findNuclidesAnalysis();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -589,6 +589,15 @@
|
||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getOneHalf" resultType="org.jeecg.modules.entity.vo.HalfData">
|
||||||
|
SELECT
|
||||||
|
NAME as name,
|
||||||
|
HALFLIFE as half
|
||||||
|
FROM
|
||||||
|
CONFIGURATION.GARDS_NUCL_LIB
|
||||||
|
WHERE NAME = #{name}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="UserNuclide" resultType="java.lang.String">
|
<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 nuclide_name FROM sys_default_nuclide where use_type = 3 and nuclide_type = #{systemType} and create_by = #{userName}
|
||||||
</select>
|
</select>
|
||||||
|
@ -1084,4 +1093,8 @@
|
||||||
select SAMPLE_ID from ORIGINAL.GARDS_SAMPLE_DATA WHERE INPUT_FILE_NAME LIKE CONCAT('%', #{fileName})
|
select SAMPLE_ID from ORIGINAL.GARDS_SAMPLE_DATA WHERE INPUT_FILE_NAME LIKE CONCAT('%', #{fileName})
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="findNuclidesAnalysis" resultType="java.lang.String">
|
||||||
|
select NAME from CONFIGURATION.GARDS_NUCL_LIB
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -9,4 +9,6 @@ public interface IGardsNuclIdedSpectrumService extends IService<GardsNuclIded> {
|
||||||
|
|
||||||
int saveNuclIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
|
int saveNuclIdedGamma(GStoreMiddleProcessData middleData, Integer sampleId, String idAnalysis);
|
||||||
|
|
||||||
|
void getNuclideMap();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.jeecg.common.api.QueryRequest;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.common.cache.LocalCache;
|
import org.jeecg.common.cache.LocalCache;
|
||||||
import org.jeecg.common.constant.DateConstant;
|
import org.jeecg.common.constant.DateConstant;
|
||||||
|
import org.jeecg.common.constant.RedisConstant;
|
||||||
import org.jeecg.common.properties.ParameterProperties;
|
import org.jeecg.common.properties.ParameterProperties;
|
||||||
import org.jeecg.common.properties.SpectrumPathProperties;
|
import org.jeecg.common.properties.SpectrumPathProperties;
|
||||||
import org.jeecg.common.system.util.JwtUtil;
|
import org.jeecg.common.system.util.JwtUtil;
|
||||||
|
@ -1280,7 +1281,8 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
phd.setEfficiencyEnergy(phd.getUsedEffiKD().getG_energy());
|
phd.setEfficiencyEnergy(phd.getUsedEffiKD().getG_energy());
|
||||||
phd.setEfficiencyCurRow(0);
|
phd.setEfficiencyCurRow(0);
|
||||||
// 重新计算峰值
|
// 重新计算峰值
|
||||||
gammaFileUtil.getNuclideMDCValue(phd, phd.getMdcInfoMap(), nuclideLinesMap);
|
Map<String, NuclideLines> nuclideLinesMDCMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap");
|
||||||
|
gammaFileUtil.getNuclideMDCValue(phd, phd.getMdcInfoMap(), nuclideLinesMDCMap);
|
||||||
String warning = "Finish three tasks:\n" +
|
String warning = "Finish three tasks:\n" +
|
||||||
"\t1.Update efficiencies of all peaks;\n" +
|
"\t1.Update efficiencies of all peaks;\n" +
|
||||||
"\t2.Identify nuclides again;\n" +
|
"\t2.Identify nuclides again;\n" +
|
||||||
|
@ -1295,7 +1297,8 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
phd.setEfficiencyEnergy(phd.getUsedEffiKD().getG_energy());
|
phd.setEfficiencyEnergy(phd.getUsedEffiKD().getG_energy());
|
||||||
phd.setEfficiencyCurRow(0);
|
phd.setEfficiencyCurRow(0);
|
||||||
// 重新计算峰值
|
// 重新计算峰值
|
||||||
gammaFileUtil.getNuclideMDCValue(phd, phd.getMdcInfoMap(), nuclideLinesMap);
|
Map<String, NuclideLines> nuclideLinesMDCMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap");
|
||||||
|
gammaFileUtil.getNuclideMDCValue(phd, phd.getMdcInfoMap(), nuclideLinesMDCMap);
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
gammaFileUtil.UpdateChart(phd, map, colorMap);
|
gammaFileUtil.UpdateChart(phd, map, colorMap);
|
||||||
// 更新 ‘QC Flags’ 状态
|
// 更新 ‘QC Flags’ 状态
|
||||||
|
|
|
@ -2,21 +2,39 @@ package org.jeecg.modules.service.impl;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.jeecg.common.constant.RedisConstant;
|
||||||
|
import org.jeecg.common.util.RedisUtil;
|
||||||
import org.jeecg.modules.base.entity.rnman.GardsNuclIded;
|
import org.jeecg.modules.base.entity.rnman.GardsNuclIded;
|
||||||
|
import org.jeecg.modules.base.enums.SystemType;
|
||||||
import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
|
import org.jeecg.modules.entity.vo.GStoreMiddleProcessData;
|
||||||
|
import org.jeecg.modules.entity.vo.HalfData;
|
||||||
|
import org.jeecg.modules.entity.vo.NuclideLine;
|
||||||
|
import org.jeecg.modules.entity.vo.NuclideLines;
|
||||||
import org.jeecg.modules.mapper.GardsNuclIdedSpectrumMapper;
|
import org.jeecg.modules.mapper.GardsNuclIdedSpectrumMapper;
|
||||||
|
import org.jeecg.modules.mapper.SpectrumAnalysisMapper;
|
||||||
|
import org.jeecg.modules.mapper.SysDefaultNuclideSpectrumMapper;
|
||||||
import org.jeecg.modules.service.IGardsNuclIdedSpectrumService;
|
import org.jeecg.modules.service.IGardsNuclIdedSpectrumService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.sql.Connection;
|
||||||
import java.util.List;
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service("gardsNuclIdedSpectrumService")
|
@Service("gardsNuclIdedSpectrumService")
|
||||||
@DS("ora")
|
@DS("ora")
|
||||||
public class GardsNuclIdedSpectrumServiceImpl extends ServiceImpl<GardsNuclIdedSpectrumMapper, GardsNuclIded> implements IGardsNuclIdedSpectrumService {
|
public class GardsNuclIdedSpectrumServiceImpl extends ServiceImpl<GardsNuclIdedSpectrumMapper, GardsNuclIded> implements IGardsNuclIdedSpectrumService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SpectrumAnalysisMapper spectrumAnalysisMapper;
|
||||||
|
@Autowired
|
||||||
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@ -54,4 +72,42 @@ public class GardsNuclIdedSpectrumServiceImpl extends ServiceImpl<GardsNuclIdedS
|
||||||
return nuclIdedList.size();
|
return nuclIdedList.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getNuclideMap() {
|
||||||
|
List<String> nuclideLibs = spectrumAnalysisMapper.findNuclidesAnalysis();
|
||||||
|
Map<String, NuclideLines> nuclideMap = GetNuclideLines(nuclideLibs);
|
||||||
|
redisUtil.set("AllNuclideMap", nuclideMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, NuclideLines> GetNuclideLines(List<String> nuclideList) {
|
||||||
|
Map<String, NuclideLines> mapLines = new HashMap<>();
|
||||||
|
if (nuclideList.size() < 1) {
|
||||||
|
return mapLines;
|
||||||
|
}
|
||||||
|
for (String name : nuclideList) {
|
||||||
|
NuclideLines nlines = new NuclideLines();
|
||||||
|
List<NuclideLine> nuclideLineList = spectrumAnalysisMapper.getNuclideLines(name);
|
||||||
|
for (int j = 0; j < nuclideLineList.size(); j++) {
|
||||||
|
nlines.getFullNames().add(nuclideLineList.get(j).getFullName());
|
||||||
|
nlines.getVenergy().add(nuclideLineList.get(j).getEnergy());
|
||||||
|
nlines.getVuncertE().add(nuclideLineList.get(j).getEnergyUncert());
|
||||||
|
nlines.getVyield().add(nuclideLineList.get(j).getYield() / 100);
|
||||||
|
nlines.getVuncertY().add(nuclideLineList.get(j).getYieldUncert());
|
||||||
|
if (Objects.nonNull(nuclideLineList.get(j).getKeyFlag()) && nuclideLineList.get(j).getKeyFlag().intValue() > 0) {
|
||||||
|
nlines.key_flag = j;
|
||||||
|
nlines.maxYeildIdx = j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mapLines.put(name, nlines);
|
||||||
|
}
|
||||||
|
for (String name:nuclideList) {
|
||||||
|
HalfData half = spectrumAnalysisMapper.getOneHalf(name);
|
||||||
|
NuclideLines nuclideLines = mapLines.get(half.getName());
|
||||||
|
nuclideLines.setHalflife(half.getHalf() == null ? 0 : half.getHalf() * 86400);// 将天转换成秒
|
||||||
|
mapLines.put(half.getName(), nuclideLines);
|
||||||
|
}
|
||||||
|
return mapLines;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import org.jeecg.common.util.oConvertUtils;
|
||||||
import org.jeecg.modules.service.IDataService;
|
import org.jeecg.modules.service.IDataService;
|
||||||
import org.jeecg.modules.service.IGammaService;
|
import org.jeecg.modules.service.IGammaService;
|
||||||
import org.jeecg.modules.service.IGardsNuclCoincidenceSumSpectrumService;
|
import org.jeecg.modules.service.IGardsNuclCoincidenceSumSpectrumService;
|
||||||
|
import org.jeecg.modules.service.IGardsNuclIdedSpectrumService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.CommandLineRunner;
|
import org.springframework.boot.CommandLineRunner;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
|
@ -35,6 +36,8 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ
|
||||||
@Autowired
|
@Autowired
|
||||||
private IGardsNuclCoincidenceSumSpectrumService nuclCoincidenceSumSpectrumService;
|
private IGardsNuclCoincidenceSumSpectrumService nuclCoincidenceSumSpectrumService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private IGardsNuclIdedSpectrumService nuclIdedSpectrumService;
|
||||||
|
@Autowired
|
||||||
private IDataService dataService;
|
private IDataService dataService;
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,6 +72,7 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ
|
||||||
betaCache.initCache();
|
betaCache.initCache();
|
||||||
localCache.initCache();
|
localCache.initCache();
|
||||||
gammaService.readMDCParameter();
|
gammaService.readMDCParameter();
|
||||||
|
nuclIdedSpectrumService.getNuclideMap();
|
||||||
nuclCoincidenceSumSpectrumService.getNuclCoincidenceMap();
|
nuclCoincidenceSumSpectrumService.getNuclCoincidenceMap();
|
||||||
dataService.viewStations();
|
dataService.viewStations();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user