diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/GardsNuclLibMapper.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/GardsNuclLibMapper.java index 1ef29b1f..a6d8f512 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/GardsNuclLibMapper.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/GardsNuclLibMapper.java @@ -18,10 +18,8 @@ public interface GardsNuclLibMapper extends BaseMapper { List getNucliLib(); - List findNuclidesAnalysis(); + List findNuclidesAnalysis(); - List getNuclideLines(@Param("name") String name); - - HalfData getOneHalf(@Param("name") String name); + List getNuclideLines(); } diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/xml/GardsNuclLibMapper.xml b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/xml/GardsNuclLibMapper.xml index 72513b3f..e5369528 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/xml/GardsNuclLibMapper.xml +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/mapper/xml/GardsNuclLibMapper.xml @@ -26,27 +26,19 @@ select a.NAME, a.num_lines, a.halflife, a.halflife_err from CONFIGURATION.GARDS_NUCL_LIB a - + select NAME as name, HALFLIFE as half from CONFIGURATION.GARDS_NUCL_LIB - - \ No newline at end of file diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/service/impl/GardsNuclLibServiceImpl.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/service/impl/GardsNuclLibServiceImpl.java index 2acbff31..e3beec7c 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/service/impl/GardsNuclLibServiceImpl.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/modules/service/impl/GardsNuclLibServiceImpl.java @@ -60,38 +60,41 @@ public class GardsNuclLibServiceImpl extends ServiceImpl nuclideLibs = this.baseMapper.findNuclidesAnalysis(); - Map nuclideMap = GetNuclideLines(nuclideLibs); + Map nuclideMap = GetNuclideLines(); redisUtil.set("AllNuclideMap", nuclideMap); } - public Map GetNuclideLines(List nuclideList) { + public Map GetNuclideLines() { + List nuclideList = this.baseMapper.findNuclidesAnalysis(); Map mapLines = new HashMap<>(); if (nuclideList.size() < 1) { return mapLines; } - for (String name : nuclideList) { - NuclideLines nlines = new NuclideLines(); - List nuclideLineList = this.baseMapper.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) { + List nuclideLineList = this.baseMapper.getNuclideLines(); + for (HalfData half : nuclideList) { + String name = half.getName(); + NuclideLines nlines = null; + //判断map里是否存在当前名称的核素信息 + if (Objects.isNull(mapLines.get(name))) { + nlines = new NuclideLines(); + nlines.setHalflife(half.getHalf() == null ? 0 : half.getHalf() * 86400);// 将天转换成秒 + } else { + nlines = mapLines.get(name); + } + List filterList = nuclideLineList.stream().filter(item -> item.getName().equals(name)).collect(Collectors.toList()); + for (int j = 0; j < filterList.size(); j++) { + nlines.getFullNames().add(filterList.get(j).getFullName()); + nlines.getVenergy().add(filterList.get(j).getEnergy()); + nlines.getVuncertE().add(filterList.get(j).getEnergyUncert()); + nlines.getVyield().add(filterList.get(j).getYield() / 100); + nlines.getVuncertY().add(filterList.get(j).getYieldUncert()); + if (Objects.nonNull(filterList.get(j).getKeyFlag()) && filterList.get(j).getKeyFlag().intValue() > 0) { nlines.key_flag = j; nlines.maxYeildIdx = j; } } mapLines.put(name, nlines); } - for (String name:nuclideList) { - HalfData half = this.baseMapper.getOneHalf(name); - NuclideLines nuclideLines = mapLines.get(half.getName()); - nuclideLines.setHalflife(half.getHalf() == null ? 0 : half.getHalf() * 86400);// 将天转换成秒 - mapLines.put(half.getName(), nuclideLines); - } return mapLines; }