fix:分析工具核素弹窗

This commit is contained in:
nieziyan 2024-08-15 14:18:24 +08:00
parent 2693294331
commit 0718701788

View File

@ -351,29 +351,22 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
if (!StrUtil.equals(dbName, "RNAUTO")) initConfigure(analysisID, selfStationData); if (!StrUtil.equals(dbName, "RNAUTO")) initConfigure(analysisID, selfStationData);
// 初始化自建台站用户核素库信息 // 初始化自建台站用户核素库信息
if (ObjectUtil.isNotNull(selfStationData.getSampleStruct())){ String systemType = selfStationData.getSampleStruct().getSystem_type();
String systemType = selfStationData.getSampleStruct().getSystem_type(); if (!redisUtil.hasKey(userName+StringPool.DASH+systemType + "-self")
if (!redisUtil.hasKey(userName+StringPool.DASH+systemType + "-self") || !redisUtil.hasKey(userName+StringPool.DASH+systemType+"-list-self")) {
|| !redisUtil.hasKey(userName+StringPool.DASH+systemType+"-list-self")) { //读取缓存的全部核素信息
//读取缓存的全部核素信息 Map<String, NuclideLines> allNuclideMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap");
Map<String, NuclideLines> allNuclideMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap"); // 查询当前用户关联的核素信息
// 查询当前用户关联的核素信息 // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的
List<String> userLib = new LinkedList<>(); List<String> userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, systemType, 5);
// 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 Map<String, NuclideLines> nuclideMap = new HashMap<>();
userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, systemType, 5); for (Map.Entry<String, NuclideLines> entry:allNuclideMap.entrySet()) {
if (CollectionUtils.isEmpty(userLib)) { if (userLib.contains(entry.getKey())) {
userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", systemType, 5); nuclideMap.put(entry.getKey(), entry.getValue());
} }
userLib = userLib.stream().sorted().collect(Collectors.toList());
Map<String, NuclideLines> nuclideMap = new HashMap<>();
for (Map.Entry<String, NuclideLines> entry:allNuclideMap.entrySet()) {
if (userLib.contains(entry.getKey())) {
nuclideMap.put(entry.getKey(), entry.getValue());
}
}
redisUtil.set(userName+StringPool.DASH+systemType+"-list-self", userLib);
redisUtil.set(userName+StringPool.DASH+systemType+"-self", nuclideMap);
} }
redisUtil.set(userName+StringPool.DASH+systemType+"-list-self", userLib);
redisUtil.set(userName+StringPool.DASH+systemType+"-self", nuclideMap);
} }
//将自建台站的数据封装到缓存对象中 //将自建台站的数据封装到缓存对象中
@ -526,29 +519,24 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
bGSpectrum(struct, map); bGSpectrum(struct, map);
} }
} }
if (ObjectUtil.isNotNull(selfStationData.getSampleStruct())){
String systemType = selfStationData.getSampleStruct().getSystem_type(); // 初始化自建台站用户核素库信息
if (!redisUtil.hasKey(userName+StringPool.DASH+systemType + "-self") String systemType = selfStationData.getSampleStruct().getSystem_type();
|| !redisUtil.hasKey(userName+StringPool.DASH+systemType+"-list-self")) { if (!redisUtil.hasKey(userName+StringPool.DASH+systemType + "-self")
//读取缓存的全部核素信息 || !redisUtil.hasKey(userName+StringPool.DASH+systemType+"-list-self")) {
Map<String, NuclideLines> allNuclideMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap"); //读取缓存的全部核素信息
// 查询当前用户关联的核素信息 Map<String, NuclideLines> allNuclideMap = (Map<String, NuclideLines>) redisUtil.get("AllNuclideMap");
List<String> userLib = new LinkedList<>(); // 查询当前用户关联的核素信息
// 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的
userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, systemType, 5); List<String> userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, systemType, 5);
if (CollectionUtils.isEmpty(userLib)) { Map<String, NuclideLines> nuclideMap = new HashMap<>();
userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", systemType, 5); for (Map.Entry<String, NuclideLines> entry:allNuclideMap.entrySet()) {
if (userLib.contains(entry.getKey())) {
nuclideMap.put(entry.getKey(), entry.getValue());
} }
userLib = userLib.stream().sorted().collect(Collectors.toList());
Map<String, NuclideLines> nuclideMap = new HashMap<>();
for (Map.Entry<String, NuclideLines> entry:allNuclideMap.entrySet()) {
if (userLib.contains(entry.getKey())) {
nuclideMap.put(entry.getKey(), entry.getValue());
}
}
redisUtil.set(userName+StringPool.DASH+systemType+"-list-self", userLib);
redisUtil.set(userName+StringPool.DASH+systemType+"-self", nuclideMap);
} }
redisUtil.set(userName+StringPool.DASH+systemType+"-list-self", userLib);
redisUtil.set(userName+StringPool.DASH+systemType+"-self", nuclideMap);
} }
} else { } else {
if (StringUtils.isNotBlank(sampleFileName)) { if (StringUtils.isNotBlank(sampleFileName)) {
@ -3120,7 +3108,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
int index = gammaFileUtil.FindNearPeak(phd.getVPeak(), channel, false); int index = gammaFileUtil.FindNearPeak(phd.getVPeak(), channel, false);
//获取缓存的核素信息 //获取缓存的核素信息
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap"); Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
//计算核素范围的最小能量值 //计算核素范围的最小能量值
double min = energy - phd.getSetting().getEnergyTolerance(); double min = energy - phd.getSetting().getEnergyTolerance();
@ -3192,7 +3180,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
int index = gammaFileUtil.FindNearPeak(phd.getVPeak(), channel, false); int index = gammaFileUtil.FindNearPeak(phd.getVPeak(), channel, false);
//获取缓存的核素信息 //获取缓存的核素信息
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
//计算核素范围的最小能量值 //计算核素范围的最小能量值
double min = phd.getVPeak().get(index).energy - phd.getSetting().getEnergyTolerance(); double min = phd.getVPeak().get(index).energy - phd.getSetting().getEnergyTolerance();
//计算核素范围的最大能量值 //计算核素范围的最大能量值
@ -3257,7 +3245,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
peakNuclides.add(nuclideName); peakNuclides.add(nuclideName);
} }
// 查询当前用户所关心的核素名称 // 查询当前用户所关心的核素名称
Map<String, NuclideLines> mapNucLines = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> mapNucLines = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
//用户当前缓存的核素信息 //用户当前缓存的核素信息
Map<String, NuclideLines> phdNuclideMap = phd.getPhdNuclideMap(); Map<String, NuclideLines> phdNuclideMap = phd.getPhdNuclideMap();
// 查询出核素信息 // 查询出核素信息
@ -3465,7 +3453,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
double min = bigDecimal.doubleValue() - 0.5; double min = bigDecimal.doubleValue() - 0.5;
double max = bigDecimal.doubleValue() + 0.5; double max = bigDecimal.doubleValue() + 0.5;
//获取缓存的核素信息 //获取缓存的核素信息
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap"); Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
//判断缓存的核素信息是否为空 //判断缓存的核素信息是否为空
if (CollectionUtils.isNotEmpty(nuclideMap)) { if (CollectionUtils.isNotEmpty(nuclideMap)) {
@ -3549,7 +3537,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
double min = bigDecimal.doubleValue() - 0.5; double min = bigDecimal.doubleValue() - 0.5;
double max = bigDecimal.doubleValue() + 0.5; double max = bigDecimal.doubleValue() + 0.5;
//获取缓存的核素信息 //获取缓存的核素信息
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
//判断缓存的核素信息是否为空 //判断缓存的核素信息是否为空
if (CollectionUtils.isNotEmpty(nuclideMap)) { if (CollectionUtils.isNotEmpty(nuclideMap)) {
//遍历核素信息 //遍历核素信息
@ -3668,7 +3656,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
Map<String, String> colorMap = sysUserColorService.initColor(userName); Map<String, String> colorMap = sysUserColorService.initColor(userName);
//获取缓存的核素信息 //获取缓存的核素信息
Map<String, NuclideLines> nuclideLinesMap = new HashMap<>(); Map<String, NuclideLines> nuclideLinesMap = new HashMap<>();
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap"); Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
if (phd.getHeader().getSystem_type().equals("P")) { if (phd.getHeader().getSystem_type().equals("P")) {
NuclideLines newNuclideLines = new NuclideLines(); NuclideLines newNuclideLines = new NuclideLines();
@ -3739,7 +3727,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
} }
Map<String, String> colorMap = sysUserColorService.initColor(userName); Map<String, String> colorMap = sysUserColorService.initColor(userName);
//获取缓存的核素信息 //获取缓存的核素信息
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
if (CollectionUtils.isNotEmpty(nuclideMap)) { if (CollectionUtils.isNotEmpty(nuclideMap)) {
for (Map.Entry<String, NuclideLines> entry:nuclideMap.entrySet()) { for (Map.Entry<String, NuclideLines> entry:nuclideMap.entrySet()) {
NuclideLines nuclideLines = entry.getValue(); NuclideLines nuclideLines = entry.getValue();
@ -3785,7 +3773,7 @@ public class SelfStationServiceImpl extends AbstractLogOrReport implements ISelf
double min = bigDecimal.doubleValue() - tolerance; double min = bigDecimal.doubleValue() - tolerance;
double max = bigDecimal.doubleValue() + tolerance; double max = bigDecimal.doubleValue() + tolerance;
//获取缓存的核素信息 //获取缓存的核素信息
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()); Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type()+"-self");
//判断缓存的核素信息是否为空 //判断缓存的核素信息是否为空
if (CollectionUtils.isNotEmpty(nuclideMap)) { if (CollectionUtils.isNotEmpty(nuclideMap)) {
//遍历核素信息 //遍历核素信息