fix:增加interactive弹窗内的接口

This commit is contained in:
xiaoguangbin 2024-07-18 18:45:05 +08:00
parent b5d4b23f3c
commit 3d97ffb539
9 changed files with 1091 additions and 78 deletions

View File

@ -11,4 +11,6 @@ public class SeriseData implements Serializable {
private double y;
private double e;
}

View File

@ -5,7 +5,9 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.google.common.cache.Cache;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.cache.SelfCache;
import org.jeecg.modules.base.abstracts.AbstractLogOrReport;
import org.jeecg.modules.base.enums.CalName;
import org.jeecg.modules.entity.vo.*;
@ -970,4 +972,37 @@ public class SelfStationUtil extends AbstractLogOrReport {
out.printf("%" + ( c.length() + (17 - b.length())) + "s", c+"\n");
}
}
/**
* 根据ROI从selfStationData 获取对应的gamma数据
* @param gammaROINum
* @param selfStationCache
* @return
*/
public PHDFile getGammaPHD(String fileName, String userName, int gammaROINum, SelfCache selfStationCache) {
PHDFile phd = null;
//获取自建台站缓存信息
Cache<String, SelfStationData> selfCache = selfStationCache.getSelfCache();
SelfStationData selfStationData = selfCache.getIfPresent(fileName + StringPool.DASH + userName);
if (Objects.isNull(selfStationData)) {
return phd;
}
switch (gammaROINum) {
case 1:
phd = selfStationData.getSampleVueData().getROIOnePHDFile();
break;
case 2:
phd = selfStationData.getSampleVueData().getROITwoPHDFile();
break;
case 3:
phd = selfStationData.getSampleVueData().getROIThreePHDFile();
break;
case 4:
phd = selfStationData.getSampleVueData().getROIFourPHDFile();
break;
default:
break;
}
return phd;
}
}

View File

@ -3,6 +3,7 @@ package org.jeecg.modules.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.vo.*;
import org.jeecg.modules.entity.vo.ChangeData;
import org.jeecg.modules.entity.vo.ConfigureData;
import org.jeecg.modules.entity.vo.FittingBody;
@ -179,6 +180,99 @@ public class SelfStationController {
return selfStationService.Reprocessing(fileName, processKey, request);
}
@GetMapping("InteractiveTool")
@ApiOperation(value = "analyze菜单下InteractiveTool页面数据", notes = "analyze菜单下InteractiveTool页面数据")
public Result InteractiveTool(Integer sampleId, String fileName, int gammaROINum, HttpServletRequest request) {
return selfStationService.InteractiveTool(sampleId, fileName, gammaROINum, request);
}
@GetMapping("insertPeak")
@ApiOperation(value = "InteractiveTool页面Insert按钮页面", notes = "InteractiveTool页面Insert按钮页面")
public Result insertPeak(Integer sampleId, String fileName, int gammaROINum, Integer curChan, HttpServletRequest request) {
return selfStationService.insertPeak(sampleId, fileName, gammaROINum, curChan, request);
}
@PostMapping("acceptResults")
@ApiOperation(value = "InteractiveTool页面Insert页面save", notes = "InteractiveTool页面Insert页面save")
public Result acceptResults(@RequestBody AcceptInfo acceptInfo, HttpServletRequest request) {
return selfStationService.acceptResults(acceptInfo.getFileName(), acceptInfo.getGammaROINum(),
acceptInfo.isAccept(), acceptInfo.getOldPeak(), acceptInfo.getTablePeaksList(), acceptInfo.getNewPeak(),
acceptInfo.getFlag(), request);
}
@GetMapping("deletePeak")
@ApiOperation(value = "InteractiveTool页面delete按钮", notes = "InteractiveTool页面delete按钮")
public Result deletePeak(String fileName, int gammaROINum, int curRow, HttpServletRequest request) {
return selfStationService.deletePeak(fileName, curRow, gammaROINum, request);
}
@GetMapping("fitPeak")
public Result fitPeak(int left, int right, String fileName, int gammaROINum, HttpServletRequest request) {
return selfStationService.fitPeak(left, right, fileName, gammaROINum, request);
}
@GetMapping("getGammaSelPosNuclide")
@ApiOperation(value = "gamma主页面选择channel加载对应核素信息接口", notes = "gamma主页面选择channel加载对应核素信息接口")
public Result getGammaSelPosNuclide(Integer sampleId, String fileName, int gammaROINum, int channel, double energy, HttpServletRequest request) {
return selfStationService.getGammaSelPosNuclide(sampleId, fileName, gammaROINum, channel, energy, request);
}
@GetMapping("getGammaSelPosNuclideApp")
@ApiOperation(value = "gamma主页面选择channel加载对应核素信息接口", notes = "gamma主页面选择channel加载对应核素信息接口")
public Result getGammaSelPosNuclideApp(@RequestParam("sampleId") Integer sampleId,@RequestParam("fileName") String fileName,
int gammaROINum,
@RequestParam("channel") int channel,@RequestParam("energy") double energy,
HttpServletRequest request) {
return selfStationService.getGammaSelPosNuclide(sampleId, fileName, gammaROINum, channel, energy, request);
}
@GetMapping("getSelPosNuclide")
@ApiOperation(value = "InteractiveTool页面选择channel加载对应核素信息接口", notes = "InteractiveTool页面选择channel加载对应核素信息接口")
public Result getSelPosNuclide(Integer sampleId, String fileName, int gammaROINum, int channel, HttpServletRequest request) {
return selfStationService.getSelPosNuclide(sampleId, fileName, gammaROINum, channel, request);
}
@PostMapping("addNuclide")
@ApiOperation(value = "InteractiveTool页面增加核素信息接口", notes = "InteractiveTool页面增加核素信息接口")
public Result addNuclide(@RequestBody NuclideInfo nuclideInfo, HttpServletRequest request) {
return selfStationService.addNuclide(nuclideInfo.getCurRow(), nuclideInfo.getNuclideName(),
nuclideInfo.getFileName(), nuclideInfo.getGammaRoiNum(), nuclideInfo.getList_identify(), request);
}
@PostMapping("deleteNuclide")
@ApiOperation(value = "InteractiveTool页面删除核素信息接口", notes = "InteractiveTool页面删除核素信息接口")
public Result deleteNuclide(@RequestBody NuclideInfo nuclideInfo, HttpServletRequest request) {
return selfStationService.deleteNuclide(nuclideInfo.getCurRow(), nuclideInfo.getNuclideName(),
nuclideInfo.getFileName(), nuclideInfo.getGammaRoiNum(), nuclideInfo.getList_identify(), request);
}
@GetMapping("viewPeakComment")
@ApiOperation(value = "InteractiveTool页面查看峰对应备注信息接口", notes = "InteractiveTool页面查看峰对应备注信息接口")
public Result viewPeakComment(String fileName, int gammaROINum, int curRow, HttpServletRequest request) {
return selfStationService.viewPeakComment(fileName, gammaROINum, curRow, request);
}
@PostMapping("addPeakComment")
@ApiOperation(value = "InteractiveTool页面add峰对应备注信息接口", notes = "InteractiveTool页面add峰对应备注信息接口")
public Result addPeakComment(@RequestBody CommentsInfo commentsInfo, HttpServletRequest request) {
return selfStationService.addPeakComment(commentsInfo.getFileName(), commentsInfo.getCurRow(),
commentsInfo.getGammaROINum(),commentsInfo.getComments(), request);
}
@GetMapping("viewGeneralComment")
@ApiOperation(value = "InteractiveTool页面查看备注信息接口", notes = "InteractiveTool页面查看备注信息接口")
public Result viewGeneralComment(String fileName, int gammaROINum, HttpServletRequest request) {
return selfStationService.viewGeneralComment(fileName, gammaROINum, request);
}
@PostMapping("addGeneralComment")
@ApiOperation(value = "InteractiveTool页面add备注信息接口", notes = "InteractiveTool页面add备注信息接口")
public Result addGeneralComment(@RequestBody CommentsInfo commentsInfo, HttpServletRequest request) {
return selfStationService.addGeneralComment(commentsInfo.getFileName(), commentsInfo.getGammaROINum(),
commentsInfo.getComments(), request);
}
/***************************************** beta ******************************************/
@PostMapping("fitting")
@ApiOperation(value = "公式计算新的曲线", notes = "公式计算新的曲线")

View File

@ -20,4 +20,6 @@ public class AcceptInfo implements Serializable {
private String flag;
private Integer gammaROINum;
}

View File

@ -13,4 +13,6 @@ public class CommentsInfo implements Serializable {
private String comments;
private int gammaROINum;
}

View File

@ -10,6 +10,8 @@ public class NuclideInfo implements Serializable {
private Integer curRow;
private Integer gammaRoiNum;
private String nuclideName;
private String fileName;

View File

@ -13,6 +13,10 @@ public class SelfStationVueData implements Serializable {
/**
* ROI-1结果数据
*/
/**
* ROI-1 Gamma文件名称
*/
private String ROIOneFileName;
/**
* 折线图横纵坐标数组
*/
@ -34,6 +38,10 @@ public class SelfStationVueData implements Serializable {
/**
* ROI-2结果数据
*/
/**
* ROI-2 Gamma文件名称
*/
private String ROITwoFileName;
/**
* 折线图横纵坐标数组
*/
@ -55,6 +63,10 @@ public class SelfStationVueData implements Serializable {
/**
* ROI-3结果数据
*/
/**
* ROI-3 Gamma文件名称
*/
private String ROIThreeFileName;
//折线图横纵坐标数组
private List<SeriseData> ROIThreeList;
private List<Long> ROIThreeCounts;
@ -70,6 +82,10 @@ public class SelfStationVueData implements Serializable {
/**
* ROI-4结果数据
*/
/**
* ROI-4 Gamma文件名称
*/
private String ROIFourFileName;
//折线图横纵坐标数组
private List<SeriseData> ROIFourList;
private List<Long> ROIFourCounts;

View File

@ -3,7 +3,9 @@ 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.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
@ -65,6 +67,33 @@ public interface ISelfStationService {
Result Reprocessing(String fileName, String processKey, HttpServletRequest request);
Result InteractiveTool(Integer sampleId, String fileName, int gammaROINum, HttpServletRequest request);
Result insertPeak(Integer sampleId, String fileName, int gammaROINum, Integer curChan, HttpServletRequest request);
Result acceptResults(String fileName, int gammaROINum, boolean accept, List<PeakInfo> oldPeak, List<TablePeaks> tablePeaksList,
List<PeakInfo> newPeak, String flag, HttpServletRequest request);
Result deletePeak(String fileName, int curRow, int gammaROINum, HttpServletRequest request);
Result fitPeak(int left, int right, String fileName, int gammaROINum, HttpServletRequest request);
Result getGammaSelPosNuclide(Integer sampleId, String fileName, int gammaROINum, int channel, double energy, HttpServletRequest request);
Result getSelPosNuclide(Integer sampleId, String fileName, int gammaROINum, int channel, HttpServletRequest request);
Result addNuclide(Integer curRow, String nuclideName, String fileName, int gammaROINum, List<String> list_identify, HttpServletRequest request);
Result deleteNuclide(Integer curRow, String nuclideName, String fileName, int gammaROINum, List<String> list_identify, HttpServletRequest request);
Result viewPeakComment(String fileName, int gammaROINum, int curRow, HttpServletRequest request);
Result addPeakComment(String fileName, int gammaROINum, int curRow, String comments, HttpServletRequest request);
Result viewGeneralComment(String fileName, int gammaROINum, HttpServletRequest request);
Result addGeneralComment(String fileName, int gammaROINum, String comments, HttpServletRequest request);
Result fitting(Double paramA, Double paramB, Double paramC, List<SeriseData> tempPointsArray, Integer count,
String sampleFileName, String tabName, boolean fittingBtn, HttpServletRequest request);