From 567b64a34ef21bcca4ad943c711b75bd9b7ab9c9 Mon Sep 17 00:00:00 2001 From: xiaoguangbin Date: Mon, 22 Jul 2024 15:56:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix=EF=BC=9A=E5=A2=9E=E5=8A=A0mdcInfoMap-C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecg/common/util/SelfStationUtil.java | 7 +++---- .../jeecg/modules/service/impl/GammaServiceImpl.java | 2 ++ .../modules/service/impl/SelfStationServiceImpl.java | 11 ++++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/SelfStationUtil.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/SelfStationUtil.java index 61b27367..d3cb9cef 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/SelfStationUtil.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/SelfStationUtil.java @@ -176,7 +176,6 @@ public class SelfStationUtil extends AbstractLogOrReport { detVueData.setROITwoBetaStart(startChannel); detVueData.setROITwoBetaStop(endChannel); detVueData.setROITwoList(seriseDataList); - sampleVueData.setROITwoCounts((List)twoMap.get("counts")); } map.put("ROITwoStart", roiBBoundaryStart.get(1)); map.put("ROITwoStop", roiBBoundaryStop.get(1)); @@ -894,7 +893,7 @@ public class SelfStationUtil extends AbstractLogOrReport { out.println("MSG_ID " + struct.msg_id + " " + struct.msg_type + "\n" + "DATA_TYPE " + struct.data_type); out.println("#Header 3"); // 解析出的Gamma谱 系统类型暂时使用G - out.println(struct.site_code + " " + struct.detector_code + " G " + + out.println(struct.site_code + " " + struct.detector_code + " C " + struct.sample_geometry + " " + struct.spectrum_quantity); out.println(struct.sample_ref_id); out.println(struct.measurement_id + " " + struct.detector_bk_measurement_id + " 0"); @@ -924,9 +923,9 @@ public class SelfStationUtil extends AbstractLogOrReport { String str = g_counts.get(i).toString(); if(i % 5 == 0) { if (i == 0) { - out.printf(i+""); + out.printf((i+1)+""); } else { - out.printf("\n" + i ); + out.printf("\n" + (i+1) ); } beforeStr = i+""; } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java index 55761b08..771047e7 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/GammaServiceImpl.java @@ -5666,6 +5666,8 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi } if (CollectionUtils.isNotEmpty(mdcInfoMap)) { redisUtil.set("mdcInfoMap-G", mdcInfoMap); + // todo 暂时和气体使用一样的 + redisUtil.set("mdcInfoMap-C", mdcInfoMap); } } } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java index 2004d8e8..1ad3a87e 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java @@ -263,13 +263,13 @@ public class SelfStationServiceImpl implements ISelfStationService { // Gamma文件内容转换为PHD实体 sampleVueData.setROIOneFileName(gammaOneName); - sampleVueData.setROIOnePHDFile(selfStationUtil.getGammaPHD(gammaTwoName, path)); + sampleVueData.setROIOnePHDFile(selfStationUtil.getGammaPHD(gammaOneName, path)); sampleVueData.setROITwoFileName(gammaTwoName); sampleVueData.setROITwoPHDFile(selfStationUtil.getGammaPHD(gammaTwoName, path)); sampleVueData.setROIThreeFileName(gammaThreeName); - sampleVueData.setROIThreePHDFile(selfStationUtil.getGammaPHD(gammaTwoName, path)); + sampleVueData.setROIThreePHDFile(selfStationUtil.getGammaPHD(gammaThreeName, path)); sampleVueData.setROIFourFileName(gammaFourName); - sampleVueData.setROIFourPHDFile(selfStationUtil.getGammaPHD(gammaTwoName, path)); + sampleVueData.setROIFourPHDFile(selfStationUtil.getGammaPHD(gammaFourName, path)); resultMap.put("sample", map); // 初始化Configure @@ -3324,6 +3324,11 @@ public class SelfStationServiceImpl implements ISelfStationService { Map map = new HashMap<>(); //分析时将phd的核素map重置 phd.setPhdNuclideMap(nuclideLinesMap); + //读取redis缓存的计算mdc信息 + Map mdcInfoMap = (Map) redisUtil.get("mdcInfoMap-"+phd.getHeader().getSystem_type()); + if (CollectionUtils.isNotEmpty(mdcInfoMap)) { + phd.setMdcInfoMap(mdcInfoMap); + } //调用分析算法 boolean analyseSpectrum = gammaFileUtil.AnalyseSpectrum(phd, nuclideLinesMap); if (analyseSpectrum) { From 0af17e0601500247e905a0bbb23b6ef79d88d3ed Mon Sep 17 00:00:00 2001 From: xiaoguangbin Date: Mon, 22 Jul 2024 18:36:05 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9updateROI?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SelfStationController.java | 5 +- .../modules/service/ISelfStationService.java | 8 ++-- .../service/impl/SelfStationServiceImpl.java | 47 +++++++++++++++++++ 3 files changed, 53 insertions(+), 7 deletions(-) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SelfStationController.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SelfStationController.java index 4c628107..f34fffec 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SelfStationController.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/controller/SelfStationController.java @@ -15,6 +15,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.List; @RestController @RequestMapping("selfStation") @@ -50,8 +51,8 @@ public class SelfStationController { @PutMapping("updateROI") @ApiOperation(value = "更新ROI范围", notes = "更新ROI范围") - public Result updateROI(Integer startChannel, Integer endChannel, Integer ROINum, String sampleFileName, HttpServletRequest request) { - return selfStationService.updateROI(startChannel, endChannel, ROINum, sampleFileName, request); + public Result updateROI(@RequestBody List roiParams, @RequestParam String sampleFileName, HttpServletRequest request) { + return selfStationService.updateROI(roiParams, sampleFileName, request); } @GetMapping("energyCalibration") diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/ISelfStationService.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/ISelfStationService.java index c39e6d55..dbecb3b0 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/ISelfStationService.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/ISelfStationService.java @@ -1,11 +1,7 @@ package org.jeecg.modules.service; import org.jeecg.common.api.vo.Result; -import org.jeecg.modules.entity.vo.ConfigureData; -import org.jeecg.modules.entity.vo.ParameterInfo; -import org.jeecg.modules.entity.vo.PeakInfo; -import org.jeecg.modules.entity.vo.SeriseData; -import org.jeecg.modules.entity.vo.TablePeaks; +import org.jeecg.modules.entity.vo.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -25,6 +21,8 @@ public interface ISelfStationService { Result updateROI(Integer startChannel, Integer endChannel, Integer ROINum, String sampleFileName, HttpServletRequest request); + Result updateROI(List roiParams, String sampleFileName, HttpServletRequest request); + Result energyCalibration(String fileName, String currentText, Double width, HttpServletRequest request); Result changeDataEnergy(List m_vCurCentroid, List m_vCurEnergy, List m_vCurUncert, ParameterInfo m_curParam, Integer sampleId, String fileName, Double width, HttpServletRequest request); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java index 1ad3a87e..6cd40c25 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SelfStationServiceImpl.java @@ -543,6 +543,53 @@ public class SelfStationServiceImpl implements ISelfStationService { return result; } + @Override + public Result updateROI(List roiParams, String sampleFileName, HttpServletRequest request) { + Result result = new Result(); + Map map = new HashMap<>(); + //获取用户名 + String userName = JwtUtil.getUserNameByToken(request); + //读取自建台站缓存 + Cache selfCache = selfStationCache.getSelfCache(); + //获取缓存的当前谱对应的数据 + SelfStationData selfStationData = selfCache.getIfPresent(sampleFileName + StringPool.DASH + userName); + if (Objects.isNull(selfStationData)) { + result.error500("Load basic file information first!"); + return result; + } + EnergySpectrumStruct struct = selfStationData.getSampleStruct(); + for (ROIParam roiParam : roiParams) { + Integer ROINum = roiParam.getRoiNum(); + Map resultMap = selfStationUtil.statisticsROIList(roiParam.getStartChannel(), roiParam.getEndChannel(), + struct.b_channels, struct.g_channels, struct.h_counts); + if ( CollectionUtils.isNotEmpty(resultMap) ) { + Integer startChannelValue = (Integer) resultMap.get("startChannel"); + Integer endChannelValue = (Integer) resultMap.get("endChannel"); + List seriseDataList = (List) resultMap.get("dataList"); + if (1 == ROINum) { + map.put("ROIOneList", seriseDataList); + map.put("ROIOneStart", startChannelValue); + map.put("ROIOneStop", endChannelValue); + } else if (2 == ROINum) { + map.put("ROITwoList", seriseDataList); + map.put("ROITwoStart", startChannelValue); + map.put("ROITwoStop", endChannelValue); + } else if (3 == ROINum) { + map.put("ROIThreeList", seriseDataList); + map.put("ROIThreeStart", startChannelValue); + map.put("ROIThreeStop", endChannelValue); + } else if (4 == ROINum) { + map.put("ROIFourList", seriseDataList); + map.put("ROIFourStart", startChannelValue); + map.put("ROIFourStop", endChannelValue); + } + } + } + result.setSuccess(true); + result.setResult(map); + return result; + } + @Override public Result energyCalibration(String fileName, String currentText, Double width, HttpServletRequest request) { Result result = new Result();