gamma主页面选择channel加载对应核素信息接口道值错位导致结果错误问题修改
人工分析模块gamma部分查看mdc接口增加返回字段halflifeView展示halflife的值 新增接口gamma主页面选择Nuclide Review信息 新增接口gamma主页面Nuclide Review页面切换nuclide数据
This commit is contained in:
parent
184510891e
commit
954eec68e3
|
@ -34,10 +34,15 @@ public class CalMDCInfo implements Serializable {
|
||||||
private Double mdcErr;
|
private Double mdcErr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 半衰期(单位-秒)
|
* 半衰期(单位-天)
|
||||||
*/
|
*/
|
||||||
private Double halflife;
|
private Double halflife;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 半衰期(单位-天)
|
||||||
|
*/
|
||||||
|
private String halflifeView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分支比
|
* 分支比
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -132,8 +132,8 @@ public class GammaController {
|
||||||
|
|
||||||
@GetMapping("getGammaSelPosNuclide")
|
@GetMapping("getGammaSelPosNuclide")
|
||||||
@ApiOperation(value = "gamma主页面选择channel加载对应核素信息接口", notes = "gamma主页面选择channel加载对应核素信息接口")
|
@ApiOperation(value = "gamma主页面选择channel加载对应核素信息接口", notes = "gamma主页面选择channel加载对应核素信息接口")
|
||||||
public Result getGammaSelPosNuclide(Integer sampleId, String fileName, int channel, HttpServletRequest request) {
|
public Result getGammaSelPosNuclide(Integer sampleId, String fileName, int channel, double energy, HttpServletRequest request) {
|
||||||
return gammaService.getGammaSelPosNuclide(sampleId, fileName, channel, request);
|
return gammaService.getGammaSelPosNuclide(sampleId, fileName, channel, energy, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("getSelPosNuclide")
|
@GetMapping("getSelPosNuclide")
|
||||||
|
@ -178,12 +178,24 @@ public class GammaController {
|
||||||
return gammaService.addGeneralComment(commentsInfo.getFileName(), commentsInfo.getComments(), request);
|
return gammaService.addGeneralComment(commentsInfo.getFileName(), commentsInfo.getComments(), request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("nuclideReviewGamma")
|
||||||
|
@ApiOperation(value = "gamma主页面选择Nuclide Review信息接口", notes = "gamma主页面选择Nuclide Review信息接口")
|
||||||
|
public Result nuclideReviewGamma(Integer sampleId, String fileName, Double channel, HttpServletRequest request) {
|
||||||
|
return gammaService.nuclideReviewGamma(sampleId, fileName, channel, request);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("nuclideReview")
|
@GetMapping("nuclideReview")
|
||||||
@ApiOperation(value = "InteractiveTool页面选择Nuclide Review信息接口", notes = "InteractiveTool页面选择Nuclide Review信息接口")
|
@ApiOperation(value = "InteractiveTool页面选择Nuclide Review信息接口", notes = "InteractiveTool页面选择Nuclide Review信息接口")
|
||||||
public Result nuclideReview(Integer sampleId, String fileName, Double channel, HttpServletRequest request) {
|
public Result nuclideReview(Integer sampleId, String fileName, Double channel, HttpServletRequest request) {
|
||||||
return gammaService.nuclideReview(sampleId, fileName, channel, request);
|
return gammaService.nuclideReview(sampleId, fileName, channel, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("changeNuclideGamma")
|
||||||
|
@ApiOperation(value = "gamma主页面Nuclide Review页面切换nuclide数据", notes = "gamma主页面Nuclide Review页面切换nuclide数据")
|
||||||
|
public Result changeNuclideGamma(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request) {
|
||||||
|
return gammaService.changeNuclideGamma(sampleId, fileName, nuclideName, request);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("changeNuclide")
|
@GetMapping("changeNuclide")
|
||||||
@ApiOperation(value = "Nuclide Review页面切换nuclide数据", notes = "Nuclide Review页面切换nuclide数据")
|
@ApiOperation(value = "Nuclide Review页面切换nuclide数据", notes = "Nuclide Review页面切换nuclide数据")
|
||||||
public Result changeNuclide(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request) {
|
public Result changeNuclide(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request) {
|
||||||
|
@ -468,6 +480,12 @@ public class GammaController {
|
||||||
gammaService.exportRLR(gammaRLR, response);
|
gammaService.exportRLR(gammaRLR, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("viewMDC")
|
||||||
|
@ApiOperation(value = "查看MDC计算结果", notes = "查看MDC计算结果")
|
||||||
|
public Result viewMDC(String fileName, HttpServletRequest request) {
|
||||||
|
return gammaService.viewMDC(fileName, request);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("viewAutomaticAnalysisLog")
|
@GetMapping("viewAutomaticAnalysisLog")
|
||||||
@ApiOperation(value = "查看Automatic Analysis Log页面数据", notes = "查看Automatic Analysis Log页面数据")
|
@ApiOperation(value = "查看Automatic Analysis Log页面数据", notes = "查看Automatic Analysis Log页面数据")
|
||||||
public void viewAutomaticAnalysisLog(Integer sampleId, HttpServletResponse response) {
|
public void viewAutomaticAnalysisLog(Integer sampleId, HttpServletResponse response) {
|
||||||
|
|
|
@ -51,7 +51,7 @@ public interface IGammaService{
|
||||||
|
|
||||||
Result fitPeak(int left, int right, String fileName, HttpServletRequest request);
|
Result fitPeak(int left, int right, String fileName, HttpServletRequest request);
|
||||||
|
|
||||||
Result getGammaSelPosNuclide(Integer sampleId, String fileName, int channel, HttpServletRequest request);
|
Result getGammaSelPosNuclide(Integer sampleId, String fileName, int channel, double energy, HttpServletRequest request);
|
||||||
|
|
||||||
Result getSelPosNuclide(Integer sampleId, String fileName, int channel, HttpServletRequest request);
|
Result getSelPosNuclide(Integer sampleId, String fileName, int channel, HttpServletRequest request);
|
||||||
|
|
||||||
|
@ -67,8 +67,12 @@ public interface IGammaService{
|
||||||
|
|
||||||
Result addGeneralComment(String fileName, String comments, HttpServletRequest request);
|
Result addGeneralComment(String fileName, String comments, HttpServletRequest request);
|
||||||
|
|
||||||
|
Result nuclideReviewGamma(Integer sampleId, String fileName, Double channel, HttpServletRequest request);
|
||||||
|
|
||||||
Result nuclideReview(Integer sampleId, String fileName, Double channel, HttpServletRequest request);
|
Result nuclideReview(Integer sampleId, String fileName, Double channel, HttpServletRequest request);
|
||||||
|
|
||||||
|
Result changeNuclideGamma(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request);
|
||||||
|
|
||||||
Result changeNuclide(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request);
|
Result changeNuclide(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request);
|
||||||
|
|
||||||
Result searchNuclide(Integer sampleId, String fileName, Double energy, Double tolerance, HttpServletRequest request);
|
Result searchNuclide(Integer sampleId, String fileName, Double energy, Double tolerance, HttpServletRequest request);
|
||||||
|
@ -165,6 +169,8 @@ public interface IGammaService{
|
||||||
|
|
||||||
void exportRLR(GammaRLR gammaRLR, HttpServletResponse response);
|
void exportRLR(GammaRLR gammaRLR, HttpServletResponse response);
|
||||||
|
|
||||||
|
Result viewMDC(String fileName, HttpServletRequest request);
|
||||||
|
|
||||||
void viewAutomaticAnalysisLog(Integer sampleId, HttpServletResponse response);
|
void viewAutomaticAnalysisLog(Integer sampleId, HttpServletResponse response);
|
||||||
|
|
||||||
Result viewGammaviewerLog(Integer sampleId, String fileName, HttpServletRequest request);
|
Result viewGammaviewerLog(Integer sampleId, String fileName, HttpServletRequest request);
|
||||||
|
|
|
@ -1871,7 +1871,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result getGammaSelPosNuclide(Integer sampleId, String fileName, int channel, HttpServletRequest request) {
|
public Result getGammaSelPosNuclide(Integer sampleId, String fileName, int channel, double energy, HttpServletRequest request) {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
String userName = JwtUtil.getUserNameByToken(request);
|
String userName = JwtUtil.getUserNameByToken(request);
|
||||||
|
@ -1884,15 +1884,20 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
if (phd.getVPeak().size() < 1) {
|
if (phd.getVPeak().size() < 1) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
// if (energy > 0) {
|
||||||
|
// channel = (int) gammaFileUtil.GetEnergyByFloatChan(phd, (int) energy);
|
||||||
|
// } else if (channel > 0){
|
||||||
|
// energy = gammaFileUtil.GetEnergyByFloatChan(phd, channel);
|
||||||
|
// }
|
||||||
int index = gammaFileUtil.FindNearPeak(phd.getVPeak(), channel, false);
|
int index = gammaFileUtil.FindNearPeak(phd.getVPeak(), channel, false);
|
||||||
|
|
||||||
//获取缓存的核素信息
|
//获取缓存的核素信息
|
||||||
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type());
|
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type());
|
||||||
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
|
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
|
||||||
//计算核素范围的最小能量值
|
//计算核素范围的最小能量值
|
||||||
double min = phd.getVPeak().get(index).energy - phd.getSetting().getEnergyTolerance();
|
double min = energy - phd.getSetting().getEnergyTolerance();
|
||||||
//计算核素范围的最大能量值
|
//计算核素范围的最大能量值
|
||||||
double max = phd.getVPeak().get(index).energy + phd.getSetting().getEnergyTolerance();
|
double max = energy + phd.getSetting().getEnergyTolerance();
|
||||||
//声明返回的数组内容
|
//声明返回的数组内容
|
||||||
List<String> list_possible = new LinkedList<>();
|
List<String> list_possible = new LinkedList<>();
|
||||||
//判断缓存的核素信息是否为空
|
//判断缓存的核素信息是否为空
|
||||||
|
@ -2186,6 +2191,88 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result nuclideReviewGamma(Integer sampleId, String fileName, Double channel, HttpServletRequest request) {
|
||||||
|
Result result = new Result();
|
||||||
|
if (Objects.isNull(channel) || channel <= 0) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
String userName = JwtUtil.getUserNameByToken(request);
|
||||||
|
Cache<String, PHDFile> phdCache = localCache.getPHDCache();
|
||||||
|
PHDFile phd = phdCache.getIfPresent(fileName + StringPool.DASH + userName);
|
||||||
|
if (Objects.isNull(phd)) {
|
||||||
|
result.error500("Please select the parse file first!");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
Map<String, String> colorMap = sysUserColorService.initColor(userName);
|
||||||
|
double value = gammaFileUtil.GetEnergyByFloatChan(phd, channel.intValue()-1);
|
||||||
|
BigDecimal bigDecimal = BigDecimal.valueOf(value);
|
||||||
|
bigDecimal = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
map.put("energy", bigDecimal);
|
||||||
|
//返回的核素列信息
|
||||||
|
List<String> nuclideList = new LinkedList<>();
|
||||||
|
double min = bigDecimal.doubleValue() - 0.5;
|
||||||
|
double max = bigDecimal.doubleValue() + 0.5;
|
||||||
|
//获取缓存的核素信息
|
||||||
|
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type());
|
||||||
|
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
|
||||||
|
//判断缓存的核素信息是否为空
|
||||||
|
if (CollectionUtils.isNotEmpty(nuclideMap)) {
|
||||||
|
//遍历核素信息
|
||||||
|
for (Map.Entry<String, NuclideLines> entry:nuclideMap.entrySet()) {
|
||||||
|
//获取核素的关联信息
|
||||||
|
NuclideLines nuclideLines = entry.getValue();
|
||||||
|
//获取核素关联的全部能量信息
|
||||||
|
List<Double> venergy = nuclideLines.getVenergy();
|
||||||
|
//遍历能量
|
||||||
|
for (int i=0; i<venergy.size(); i++) {
|
||||||
|
//如果有一个能量在范围内 则将核素名称存入返回结果数组并结束当前核素名称的循环
|
||||||
|
if (venergy.get(i) > min && venergy.get(i) < max) {
|
||||||
|
nuclideList.add(entry.getKey());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (phd.getHeader().getSystem_type().equals("P")) {
|
||||||
|
if (CollectionUtils.isNotEmpty(nuclCoincidenceSumMap)) {
|
||||||
|
//遍历核素信息
|
||||||
|
for (Map.Entry<String, NuclideLines> entry:nuclCoincidenceSumMap.entrySet()) {
|
||||||
|
//获取核素的关联信息
|
||||||
|
NuclideLines nuclideLines = entry.getValue();
|
||||||
|
//获取核素关联的全部能量信息
|
||||||
|
List<Double> venergy = nuclideLines.getVenergy();
|
||||||
|
//遍历能量
|
||||||
|
for (int i=0; i<venergy.size(); i++) {
|
||||||
|
//如果有一个能量在范围内 则将核素名称存入返回结果数组并结束当前核素名称的循环
|
||||||
|
if (venergy.get(i) > min && venergy.get(i) < max) {
|
||||||
|
nuclideList.add(entry.getKey());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nuclideList = nuclideList.stream().distinct().collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isNotEmpty(nuclideList)) {
|
||||||
|
map.put("list", nuclideList);
|
||||||
|
String name = nuclideList.get(0);
|
||||||
|
InitTable(name, map, phd, colorMap, nuclideMap);
|
||||||
|
} else {
|
||||||
|
map.put("list", nuclideList);
|
||||||
|
map.put("chart", new LinkedList<>());
|
||||||
|
map.put("table", new LinkedList<>());
|
||||||
|
map.put("name", "");
|
||||||
|
map.put("lines", "");
|
||||||
|
map.put("halfLife", "");
|
||||||
|
map.put("halfLifeErr", "");
|
||||||
|
}
|
||||||
|
result.setSuccess(true);
|
||||||
|
result.setResult(map);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result nuclideReview(Integer sampleId, String fileName, Double channel, HttpServletRequest request) {
|
public Result nuclideReview(Integer sampleId, String fileName, Double channel, HttpServletRequest request) {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
|
@ -2323,6 +2410,76 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result changeNuclideGamma(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request) {
|
||||||
|
Result result = new Result();
|
||||||
|
String userName = JwtUtil.getUserNameByToken(request);
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
Cache<String, PHDFile> phdCache = localCache.getPHDCache();
|
||||||
|
PHDFile phd = phdCache.getIfPresent(fileName + StringPool.DASH + userName);
|
||||||
|
if (Objects.isNull(phd)) {
|
||||||
|
result.error500("Please select the parse file first!");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
Map<String, String> colorMap = sysUserColorService.initColor(userName);
|
||||||
|
//获取缓存的核素信息
|
||||||
|
Map<String, NuclideLines> nuclideLinesMap = new HashMap<>();
|
||||||
|
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type());
|
||||||
|
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
|
||||||
|
if (phd.getHeader().getSystem_type().equals("P")) {
|
||||||
|
NuclideLines newNuclideLines = new NuclideLines();
|
||||||
|
List<String> fullNames = new LinkedList<>();
|
||||||
|
List<Double> vEnergy = new LinkedList<>();
|
||||||
|
List<Double> vEnergyUncert = new LinkedList<>();
|
||||||
|
List<Double> vYield = new LinkedList<>();
|
||||||
|
List<Double> vYieldUncert = new LinkedList<>();
|
||||||
|
if (CollectionUtils.isNotEmpty(nuclideMap)) {
|
||||||
|
for (Map.Entry<String, NuclideLines> entry:nuclideMap.entrySet()) {
|
||||||
|
NuclideLines nuclideLines = entry.getValue();
|
||||||
|
if (nuclideLines.fullNames.contains(nuclideName)) {
|
||||||
|
nuclideName = entry.getKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isNotEmpty(nuclCoincidenceSumMap)) {
|
||||||
|
for (Map.Entry<String, NuclideLines> entry:nuclCoincidenceSumMap.entrySet()) {
|
||||||
|
NuclideLines nuclideLines = entry.getValue();
|
||||||
|
if (nuclideLines.fullNames.contains(nuclideName)) {
|
||||||
|
nuclideName = entry.getKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
NuclideLines nuclideLines = nuclideMap.get(nuclideName);
|
||||||
|
if (Objects.nonNull(nuclideLines)) {
|
||||||
|
fullNames.addAll(nuclideLines.fullNames);
|
||||||
|
vEnergy.addAll(nuclideLines.venergy);
|
||||||
|
vEnergyUncert.addAll(nuclideLines.vuncertE);
|
||||||
|
vYield.addAll(nuclideLines.vyield);
|
||||||
|
vYieldUncert.addAll(nuclideLines.vuncertY);
|
||||||
|
}
|
||||||
|
NuclideLines nuclideSumLines = nuclCoincidenceSumMap.get(nuclideName);
|
||||||
|
if (Objects.nonNull(nuclideSumLines)) {
|
||||||
|
fullNames.addAll(nuclideSumLines.fullNames);
|
||||||
|
vEnergy.addAll(nuclideSumLines.venergy);
|
||||||
|
vEnergyUncert.addAll(nuclideSumLines.vuncertE);
|
||||||
|
vYield.addAll(nuclideSumLines.vyield);
|
||||||
|
vYieldUncert.addAll(nuclideSumLines.vuncertY);
|
||||||
|
}
|
||||||
|
newNuclideLines.fullNames = fullNames;
|
||||||
|
newNuclideLines.venergy = vEnergy;
|
||||||
|
newNuclideLines.vuncertE = vEnergyUncert;
|
||||||
|
newNuclideLines.vyield = vYield;
|
||||||
|
newNuclideLines.vuncertY = vYieldUncert;
|
||||||
|
nuclideLinesMap.put(nuclideName, newNuclideLines);
|
||||||
|
} else {
|
||||||
|
nuclideLinesMap = nuclideMap;
|
||||||
|
}
|
||||||
|
InitTable(nuclideName, map, phd, colorMap, nuclideLinesMap);
|
||||||
|
result.setSuccess(true);
|
||||||
|
result.setResult(map);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result changeNuclide(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request) {
|
public Result changeNuclide(Integer sampleId, String fileName, String nuclideName, HttpServletRequest request) {
|
||||||
Result result = new Result();
|
Result result = new Result();
|
||||||
|
@ -2337,6 +2494,23 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
Map<String, String> colorMap = sysUserColorService.initColor(userName);
|
Map<String, String> colorMap = sysUserColorService.initColor(userName);
|
||||||
//获取缓存的核素信息
|
//获取缓存的核素信息
|
||||||
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type());
|
Map<String, NuclideLines> nuclideMap = (Map<String, NuclideLines>) redisUtil.get(userName+StringPool.DASH+phd.getHeader().getSystem_type());
|
||||||
|
if (CollectionUtils.isNotEmpty(nuclideMap)) {
|
||||||
|
for (Map.Entry<String, NuclideLines> entry:nuclideMap.entrySet()) {
|
||||||
|
NuclideLines nuclideLines = entry.getValue();
|
||||||
|
if (nuclideLines.fullNames.contains(nuclideName)) {
|
||||||
|
nuclideName = entry.getKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Map<String, NuclideLines> nuclCoincidenceSumMap = (Map<String, NuclideLines>) redisUtil.get("nuclCoincidenceSumMap");
|
||||||
|
if (phd.getHeader().getSystem_type().equals("P") && CollectionUtils.isNotEmpty(nuclCoincidenceSumMap)) {
|
||||||
|
for (Map.Entry<String, NuclideLines> entry:nuclCoincidenceSumMap.entrySet()) {
|
||||||
|
NuclideLines nuclideLines = entry.getValue();
|
||||||
|
if (nuclideLines.fullNames.contains(nuclideName)) {
|
||||||
|
nuclideName = entry.getKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
InitTable(nuclideName, map, phd, colorMap, nuclideMap);
|
InitTable(nuclideName, map, phd, colorMap, nuclideMap);
|
||||||
result.setSuccess(true);
|
result.setSuccess(true);
|
||||||
result.setResult(map);
|
result.setResult(map);
|
||||||
|
@ -4649,6 +4823,46 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result viewMDC(String fileName, HttpServletRequest request) {
|
||||||
|
Result result = new Result();
|
||||||
|
String userName = JwtUtil.getUserNameByToken(request);
|
||||||
|
Cache<String, PHDFile> phdCache = localCache.getPHDCache();
|
||||||
|
PHDFile phd = phdCache.getIfPresent(fileName + StringPool.DASH + userName);
|
||||||
|
if (Objects.isNull(phd)) {
|
||||||
|
result.error500("Please select the parse file first!");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
List<CalMDCInfo> mdcInfoList = new LinkedList<>();
|
||||||
|
Map<String, CalMDCInfo> mdcInfoMap = phd.getMdcInfoMap();
|
||||||
|
if (CollectionUtils.isNotEmpty(mdcInfoMap) && phd.isBAnalyed()) {
|
||||||
|
for (String key:mdcInfoMap.keySet()) {
|
||||||
|
CalMDCInfo mdcInfo = mdcInfoMap.get(key);
|
||||||
|
CalMDCInfo calMDCInfo = new CalMDCInfo();
|
||||||
|
calMDCInfo.setNuclideName(mdcInfo.getNuclideName());
|
||||||
|
if (Objects.nonNull(mdcInfo.getMdc()) && Double.isFinite(mdcInfo.getMdc())) {
|
||||||
|
calMDCInfo.setMdc( Double.parseDouble(NumberFormatUtil.numberFormat(String.valueOf(mdcInfo.getMdc()))) );
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(mdcInfo.getEnergy()) && Double.isFinite(mdcInfo.getEnergy())) {
|
||||||
|
calMDCInfo.setEnergy( Double.parseDouble(NumberFormatUtil.numberFormat(String.valueOf(mdcInfo.getEnergy()))) );
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(mdcInfo.getEfficiency()) && Double.isFinite(mdcInfo.getEfficiency())) {
|
||||||
|
calMDCInfo.setEfficiency( Double.parseDouble(NumberFormatUtil.numberFormat(String.valueOf(mdcInfo.getEfficiency()))) );
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(mdcInfo.getYield()) && Double.isFinite(mdcInfo.getYield())) {
|
||||||
|
calMDCInfo.setYield( Double.parseDouble(NumberFormatUtil.numberFormat(String.valueOf(mdcInfo.getYield()))) );
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(mdcInfo.getHalflife()) && Double.isFinite(mdcInfo.getHalflife())) {
|
||||||
|
calMDCInfo.setHalflifeView(mdcInfo.getHalflife()+"D");
|
||||||
|
}
|
||||||
|
mdcInfoList.add(calMDCInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result.setSuccess(true);
|
||||||
|
result.setResult(mdcInfoList);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void viewAutomaticAnalysisLog(Integer sampleId, HttpServletResponse response) {
|
public void viewAutomaticAnalysisLog(Integer sampleId, HttpServletResponse response) {
|
||||||
String logPath = spectrumAnalysisMapper.findAutomaticLogPath(sampleId);
|
String logPath = spectrumAnalysisMapper.findAutomaticLogPath(sampleId);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user