From e0139e2d8920b7c767d020a199e5900b78e3644e Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 11 Jan 2024 11:58:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=B7=A5=E4=BA=A4=E4=BA=92=EF=BC=8C?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=A4=84=E7=90=86=E5=8A=A0=E8=BD=BD=E5=85=A8?= =?UTF-8?q?=E6=A0=B8=E7=B4=A0=E4=BF=A1=E6=81=AF=E4=BB=A3=E7=A0=81=E9=80=9F?= =?UTF-8?q?=E5=BA=A6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/mapper/GardsNuclLibMapper.java | 6 +-- .../modules/mapper/xml/GardsNuclLibMapper.xml | 18 +++----- .../service/impl/GardsNuclLibServiceImpl.java | 41 ++++++++++--------- 3 files changed, 29 insertions(+), 36 deletions(-) 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 85cac395..3bd8eeb5 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; }