Merge remote-tracking branch 'origin/SelfStation' into SelfStation

This commit is contained in:
nieziyan 2024-07-22 19:09:17 +08:00
commit 61ecc0ea5c
3 changed files with 53 additions and 7 deletions

View File

@ -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<ROIParam> roiParams, @RequestParam String sampleFileName, HttpServletRequest request) {
return selfStationService.updateROI(roiParams, sampleFileName, request);
}
@GetMapping("energyCalibration")

View File

@ -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<ROIParam> roiParams, String sampleFileName, HttpServletRequest request);
Result energyCalibration(String fileName, String currentText, Double width, HttpServletRequest request);
Result changeDataEnergy(List<Double> m_vCurCentroid, List<Double> m_vCurEnergy, List<Double> m_vCurUncert, ParameterInfo m_curParam, Integer sampleId, String fileName, Double width, HttpServletRequest request);

View File

@ -543,6 +543,53 @@ public class SelfStationServiceImpl implements ISelfStationService {
return result;
}
@Override
public Result updateROI(List<ROIParam> roiParams, String sampleFileName, HttpServletRequest request) {
Result result = new Result();
Map<String, Object> map = new HashMap<>();
//获取用户名
String userName = JwtUtil.getUserNameByToken(request);
//读取自建台站缓存
Cache<String, SelfStationData> 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<String, Object> 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<SeriseData> seriseDataList = (List<SeriseData>) 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();