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();