From f1fbae787c84650f11a2af92eb7f8a47b3ff89c1 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 2 Nov 2023 15:50:29 +0800 Subject: [PATCH 01/10] =?UTF-8?q?beta,gamma=E7=9A=84=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E5=BD=93=E5=A4=A9=E6=98=AF=E5=90=A6=E6=9C=89=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E5=8F=B0=E7=AB=99=E7=9A=84=E6=8E=92=E7=8F=AD=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=88=96=E6=98=AF=E5=90=A6=E6=9C=89=E5=8E=86=E5=8F=B2=E5=88=86?= =?UTF-8?q?=E6=9E=90=E4=BB=BB=E5=8A=A1=E8=BF=9B=E8=A1=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=88=96=E4=BF=AE=E6=94=B9=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/GammaServiceImpl.java | 130 ++++++++++-------- .../impl/SpectrumAnalysisServiceImpl.java | 30 ++-- 2 files changed, 88 insertions(+), 72 deletions(-) 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 72110d5c..fe09d178 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 @@ -85,6 +85,8 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi @Autowired private FileFtransitUtil fileFtransitUtil; @Autowired + private NameStandUtil nameStandUtil; + @Autowired private DBUtil dbUtil; @Autowired private UserTaskUtil userTaskUtil; @@ -4335,19 +4337,25 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi result.error500("Please select the parse file first!"); return result; } - // 查看分析员是否有权限操作当前台站信息 - // 判断当前分析员是否有过排班任务 + //获取当前操作的台站的id Integer stationId = spectrumAnalysisMapper.getStationId(phd.getHeader().getSite_code()); - boolean bAnalysisResultWriteAuthority = userTaskUtil.CheckUserWriteAuthorityForStation(userName, stationId); - // 如果用户没有权限操作 则查看当前用户是否是高级分析员/管理员 - if (!bAnalysisResultWriteAuthority) { - List roleCodes = userTaskUtil.findRoleCodeByUserName(userName); - // 如果只是分析员 则无法保存数据库 返回信息 - if (roleCodes.contains(RoleType.Role_Analyst) && !roleCodes.contains(RoleType.Role_SuperAnalyst) && !roleCodes.contains(RoleType.Role_Manager)) { - bRet = false; - } + //判断当前分析员当天是否有对应台站的排班任务 + List userStation = userTaskUtil.findUserStation(userName); + boolean bAnalysisResultWriteAuthority = false; + if (userStation.contains(String.valueOf(stationId))) { + bAnalysisResultWriteAuthority = true; } - if (!bRet) { + //根据系统类型获取系统存储前缀 + String sysTemSubdir = nameStandUtil.GetSysTemSubdir(phd.getHeader().getSystem_type()); + //根据数据类型获取数据存储前缀 + String dateTypeSubdir = nameStandUtil.GetDateTypeSubdir(phd.getMsgInfo().getData_type()); + //格式化名称 + Map nameMap = nameStandUtil.NameStandard(phd); + String mSaveFileName = nameMap.get("saveFile"); + //判断当前分析员是否有过历史分析当前文件 + Integer isExist = spectrumAnalysisMapper.SampleIsExist(sysTemSubdir+ dateTypeSubdir + StringPool.SLASH + mSaveFileName, userName); + // 如果用户没有权限操作 则查看当前用户是否是高级分析员/管理员 + if (!bAnalysisResultWriteAuthority && Objects.isNull(isExist)) { result.error500("You have no permission to save results to DB!"); return result; } @@ -4523,20 +4531,22 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi // 换行 strBuild.append(System.lineSeparator()); // 文本内容第三块数据 - List> peakNuclides = phd.getVPeak().stream().map(item -> item.nuclides).collect(Collectors.toList()); - List nuclides = new LinkedList<>(); - for (int i = 0; i < peakNuclides.size(); i++) { - List peakNuclide = peakNuclides.get(i); - nuclides.addAll(peakNuclide); + if (CollectionUtils.isNotEmpty(phd.getVPeak())) { + List> peakNuclides = phd.getVPeak().stream().map(item -> item.nuclides).collect(Collectors.toList()); + List nuclides = new LinkedList<>(); + for (int i = 0; i < peakNuclides.size(); i++) { + List peakNuclide = peakNuclides.get(i); + nuclides.addAll(peakNuclide); + } + nuclides = nuclides.stream().distinct().collect(Collectors.toList()); + String nuclideStr = ""; + for (int i = 0; i < nuclides.size(); i++) { + nuclideStr += " " + nuclides.get(i); + } + strBuild.append(nuclideStr); + // 换行 + strBuild.append(System.lineSeparator()); } - nuclides = nuclides.stream().distinct().collect(Collectors.toList()); - String nuclideStr = ""; - for (int i = 0; i < nuclides.size(); i++) { - nuclideStr += " " + nuclides.get(i); - } - strBuild.append(nuclideStr); - // 换行 - strBuild.append(System.lineSeparator()); // 换行 strBuild.append(System.lineSeparator()); // 文本内容第四块 @@ -4569,42 +4579,44 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi strBuild.append(System.lineSeparator()); // 文本内容第五块数据 Map mapNucActMda = phd.getMapNucActMda(); - for (Map.Entry entry : mapNucActMda.entrySet()) { - String key = entry.getKey(); - NuclideActMda nuc = entry.getValue(); - String halflifeValue = ""; - if (nuc.isBCalculateMDA()) { - String units = "S"; - double halflife = nuc.getHalflife(); - if (halflife >= 31556736) {// 1年 = 365.24 * 24 * 60 * 60 = 31556736s - halflife /= 31556736; - units = "A"; - } else if (halflife >= 86400) {// 1天 = 24 * 60 * 60 = 86400s - halflife /= 86400; - units = "D"; - } else if (halflife >= 3600) { - halflife /= 3600; - units = "H"; + if (CollectionUtils.isNotEmpty(mapNucActMda)) { + for (Map.Entry entry : mapNucActMda.entrySet()) { + String key = entry.getKey(); + NuclideActMda nuc = entry.getValue(); + String halflifeValue = ""; + if (nuc.isBCalculateMDA()) { + String units = "S"; + double halflife = nuc.getHalflife(); + if (halflife >= 31556736) {// 1年 = 365.24 * 24 * 60 * 60 = 31556736s + halflife /= 31556736; + units = "A"; + } else if (halflife >= 86400) {// 1天 = 24 * 60 * 60 = 86400s + halflife /= 86400; + units = "D"; + } else if (halflife >= 3600) { + halflife /= 3600; + units = "H"; + } + halflifeValue = NumberFormatUtil.numberFormat(String.valueOf(halflife)) + units; + } + String efficiency = NumberFormatUtil.numberFormat(String.valueOf(nuc.getEfficiency())); + String activity = NumberFormatUtil.numberFormat(String.valueOf(nuc.getActivity())); + String actErr = ""; + if (nuc.getActivity() > 0) { + actErr = NumberFormatUtil.numberFormat(String.valueOf(nuc.getAct_err() / nuc.getActivity() * 100)); + } + String mda = NumberFormatUtil.numberFormat(String.valueOf(nuc.getMda())); + String conc = NumberFormatUtil.numberFormat(String.valueOf(nuc.getConcentration())); + String mdc = NumberFormatUtil.numberFormat(String.valueOf(nuc.getMdc())); + if (nuc.getCalculateIdx() >= 0 && nuc.getCalculateIdx() < nuc.getVEnergy().size()) { + String yield = NumberFormatUtil.numberFormat(String.valueOf(nuc.getVYield().get(nuc.getCalculateIdx()) * 100)); + String energy = NumberFormatUtil.numberFormat(String.valueOf(nuc.getVEnergy().get(nuc.getCalculateIdx()))); + strBuild.append(rowFormat(title5, key, halflifeValue, yield, energy, efficiency, activity, actErr, mda, conc, mdc)); + strBuild.append(System.lineSeparator()); + } else { + strBuild.append(rowFormat(title5, key, halflifeValue, "NULL", "NULL", efficiency, activity, actErr, mda, conc, mdc)); + strBuild.append(System.lineSeparator()); } - halflifeValue = NumberFormatUtil.numberFormat(String.valueOf(halflife)) + units; - } - String efficiency = NumberFormatUtil.numberFormat(String.valueOf(nuc.getEfficiency())); - String activity = NumberFormatUtil.numberFormat(String.valueOf(nuc.getActivity())); - String actErr = ""; - if (nuc.getActivity() > 0) { - actErr = NumberFormatUtil.numberFormat(String.valueOf(nuc.getAct_err() / nuc.getActivity() * 100)); - } - String mda = NumberFormatUtil.numberFormat(String.valueOf(nuc.getMda())); - String conc = NumberFormatUtil.numberFormat(String.valueOf(nuc.getConcentration())); - String mdc = NumberFormatUtil.numberFormat(String.valueOf(nuc.getMdc())); - if (nuc.getCalculateIdx() >= 0 && nuc.getCalculateIdx() < nuc.getVEnergy().size()) { - String yield = NumberFormatUtil.numberFormat(String.valueOf(nuc.getVYield().get(nuc.getCalculateIdx()) * 100)); - String energy = NumberFormatUtil.numberFormat(String.valueOf(nuc.getVEnergy().get(nuc.getCalculateIdx()))); - strBuild.append(rowFormat(title5, key, halflifeValue, yield, energy, efficiency, activity, actErr, mda, conc, mdc)); - strBuild.append(System.lineSeparator()); - } else { - strBuild.append(rowFormat(title5, key, halflifeValue, "NULL", "NULL", efficiency, activity, actErr, mda, conc, mdc)); - strBuild.append(System.lineSeparator()); } } strBuild.append(System.lineSeparator()); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index a0919225..67272c01 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -4074,13 +4074,13 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { String beginDate = DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); //获取当前时间作为人工分析结束时间 String endDate = DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); - //判断当前分析员是否有过排班任务 + //根据台站名称获取台站id Integer stationId = spectrumAnalysisMapper.getStationId(anlyseResultIn.getStationName()); - //判断当前分析员是否有过当前台站的排班任务 - boolean bAnalysisResultWriteAuthority = userTaskUtil.CheckUserWriteAuthorityForStation(anlyseResultIn.getUserName(), stationId); - if ( !bAnalysisResultWriteAuthority ){ - result.error500("This user has no right to store the results of the analysis to the database."); - return result; + //判断当前分析员当天是否有对应台站的排班任务 + List userStation = userTaskUtil.findUserStation(userName); + boolean bAnalysisResultWriteAuthority = false; + if (userStation.contains(String.valueOf(stationId))) { + bAnalysisResultWriteAuthority = true; } //获取ROI Limit数据 // getROILimit(anlyseResultIn); @@ -4120,16 +4120,22 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { anlyseResultIn.setDetFilePath(ftpUtil.getFtpRootPath() + spectrumPathProperties.getUploadPath() + StringPool.SLASH + userName); anlyseResultIn.setQcFilePath(ftpUtil.getFtpRootPath() + spectrumPathProperties.getUploadPath() + StringPool.SLASH + userName); } - - //处理数据 获取对应的channel/energy值 - getChannelAndEnergy(anlyseResultIn, betaList, gammaList); - //分析文件内容 - analyzePHDFile(anlyseResultIn, BgCalPara, betaFittingPara, gammaFittingPara); //处理文件名称 String sampleFilePathName = phdFileUtil.NameStandardBy(anlyseResultIn.getSampleFilePath(), anlyseResultIn.getSampleFileName()); String gasFilePathName = phdFileUtil.NameStandardBy(anlyseResultIn.getGasFilePath(), anlyseResultIn.getGasFileName()); String detFilePathName = phdFileUtil.NameStandardBy(anlyseResultIn.getDetFilePath(), anlyseResultIn.getDetFileName()); String qcFilePathName = phdFileUtil.NameStandardBy(anlyseResultIn.getQcFilePath(), anlyseResultIn.getQcFileName()); + //判断当前分析员是否有过历史分析当前文件 + Integer isExist = spectrumAnalysisMapper.SampleIsExist(sampleFilePathName, anlyseResultIn.getUserName()); + //如果当前分析员在当天没有排班任务 并且 没有历史分析过当前文件 则不允许进行保存操作 + if ( !bAnalysisResultWriteAuthority && Objects.isNull(isExist) ){ + result.error500("This user has no right to store the results of the analysis to the database."); + return result; + } + //处理数据 获取对应的channel/energy值 + getChannelAndEnergy(anlyseResultIn, betaList, gammaList); + //分析文件内容 + analyzePHDFile(anlyseResultIn, BgCalPara, betaFittingPara, gammaFittingPara); //判断文件是否存储过 如果没有则解析文件并进行存储 if ( !OriginalDataStore(anlyseResultIn.getGasFilePath(), anlyseResultIn.getGasFileName(), gasFilePathName, anlyseResultIn.getUserName()) ){ result.error500("gasFile save failed"); @@ -4149,8 +4155,6 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { result.error500("sampleFile save failed"); return result; } - //判断当前分析员是否有过历史分析当前文件 - Integer isExist = spectrumAnalysisMapper.SampleIsExist(sampleFilePathName, anlyseResultIn.getUserName()); //根据文件名称查询对应的sampleId--- sampleFile gasFile detFile Integer sampleId = spectrumAnalysisMapper.getSampleId(sampleFilePathName); Integer gasId = spectrumAnalysisMapper.getSampleId(gasFilePathName); From f55210c7c2bbcad2c8f1aca5bf24b2206b8f3371 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 2 Nov 2023 17:07:23 +0800 Subject: [PATCH 02/10] =?UTF-8?q?beta,gamma=E4=BF=9D=E5=AD=98=E5=88=B0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E5=8F=AF=E4=BB=A5=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E7=BB=A7=E7=BB=AD=E8=BF=9B=E8=A1=8C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E6=93=8D=E4=BD=9C=20beta=E5=8A=9F=E8=83=BDxe?= =?UTF-8?q?Data=E6=95=B0=E6=8D=AE=E6=95=B0=E6=8D=AE=E7=BB=9D=E5=AF=B9?= =?UTF-8?q?=E5=80=BC=E5=88=A4=E6=96=AD=E6=A0=BC=E5=BC=8F=E5=8C=96=E7=9A=84?= =?UTF-8?q?=E5=B0=8F=E6=95=B0=E7=82=B9=E4=BD=8D=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/vo/BgDataAnlyseResultIn.java | 4 +- .../service/impl/GammaServiceImpl.java | 62 ++++++++++++++----- .../impl/SpectrumAnalysisServiceImpl.java | 47 +++++++------- 3 files changed, 74 insertions(+), 39 deletions(-) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BgDataAnlyseResultIn.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BgDataAnlyseResultIn.java index fa0b6baa..2a6df79f 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BgDataAnlyseResultIn.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/entity/vo/BgDataAnlyseResultIn.java @@ -22,7 +22,7 @@ public class BgDataAnlyseResultIn implements Serializable { /** * 标识本次操作是否进行过解析 */ - private boolean bProcessed; + private boolean savedAnalysisResult; /** * 分析员名称 @@ -266,7 +266,7 @@ public class BgDataAnlyseResultIn implements Serializable { public BgDataAnlyseResultIn() { comment = ""; - bProcessed = false; + savedAnalysisResult = false; userName = ""; stationName = ""; dbName = ""; 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 fe09d178..e4447b88 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 @@ -165,6 +165,17 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi gammaFileUtil.SetBaseInfo(phd); // 从数据库中读取相关信息 boolean bRet = getResultFromDB(dbName, userName, sampleId, phd, result); + if (!redisUtil.hasKey(fileName+"-"+userName)) { + // 查询当前用户关联的核素信息 + List userLib = new LinkedList<>(); + // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 + userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, phd.getHeader().getSystem_type().toUpperCase()); + if (CollectionUtils.isEmpty(userLib)) { + userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", phd.getHeader().getSystem_type().toUpperCase()); + } + Map nuclideMap = GetNuclideLines(userLib); + redisUtil.set(fileName+"-"+userName, nuclideMap); + } if (!bRet) { return result; } @@ -173,6 +184,17 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi String pathName = ftpUtil.getFtpRootPath() + spectrumPathProperties.getUploadPath() + StringPool.SLASH + userName; String fileName = samfileName; boolean flag = gammaFileUtil.loadFile(pathName, fileName, phd, result); + if (!redisUtil.hasKey(fileName+"-"+userName)) { + // 查询当前用户关联的核素信息 + List userLib = new LinkedList<>(); + // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 + userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, phd.getHeader().getSystem_type().toUpperCase()); + if (CollectionUtils.isEmpty(userLib)) { + userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", phd.getHeader().getSystem_type().toUpperCase()); + } + Map nuclideMap = GetNuclideLines(userLib); + redisUtil.set(fileName+"-"+userName, nuclideMap); + } if (!flag) { return result; } @@ -442,15 +464,17 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi gammaFileUtil.SetBaseInfo(phd); // 从数据库中读取phd其他相关信息 boolean bRet = getResultFromDB(dbName, userName, sampleId, phd, result); - // 查询当前用户关联的核素信息 - List userLib = new LinkedList<>(); - // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 - userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, phd.getHeader().getSystem_type().toUpperCase()); - if (CollectionUtils.isEmpty(userLib)) { - userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", phd.getHeader().getSystem_type().toUpperCase()); + if (!redisUtil.hasKey(fileName+"-"+userName)) { + // 查询当前用户关联的核素信息 + List userLib = new LinkedList<>(); + // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 + userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, phd.getHeader().getSystem_type().toUpperCase()); + if (CollectionUtils.isEmpty(userLib)) { + userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", phd.getHeader().getSystem_type().toUpperCase()); + } + Map nuclideMap = GetNuclideLines(userLib); + redisUtil.set(fileName+"-"+userName, nuclideMap); } - Map nuclideMap = GetNuclideLines(userLib); - redisUtil.set(fileName+"-"+userName, nuclideMap); // 判断数据库信息是否读取正常 if (!bRet) { return result; @@ -795,15 +819,17 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi phd = new PHDFile(); // 加载文件内容 boolean bRet = gammaFileUtil.loadFile(path, fileName, phd, result); - // 查询当前用户关联的核素信息 - List userLib = new LinkedList<>(); - // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 - userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, phd.getHeader().getSystem_type().toUpperCase()); - if (CollectionUtils.isEmpty(userLib)) { - userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", phd.getHeader().getSystem_type().toUpperCase()); + if (!redisUtil.hasKey(fileName+"-"+userName)) { + // 查询当前用户关联的核素信息 + List userLib = new LinkedList<>(); + // 从postgreSql中获取当前用户关注的核素信息 如果当前用户没有 则返回管理员的 + userLib = defaultNuclideSpectrumService.findNuclidesByUserName(userName, phd.getHeader().getSystem_type().toUpperCase()); + if (CollectionUtils.isEmpty(userLib)) { + userLib = defaultNuclideSpectrumService.findNuclidesByUserName("admin", phd.getHeader().getSystem_type().toUpperCase()); + } + Map nuclideMap = GetNuclideLines(userLib); + redisUtil.set(fileName+"-"+userName, nuclideMap); } - Map nuclideMap = GetNuclideLines(userLib); - redisUtil.set(fileName+"-"+userName, nuclideMap); if (!bRet) { return result; } @@ -4337,6 +4363,10 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi result.error500("Please select the parse file first!"); return result; } + if (!phd.isBAnalyed()) { + result.error500("Please first Reprocessing!"); + return result; + } //获取当前操作的台站的id Integer stationId = spectrumAnalysisMapper.getStationId(phd.getHeader().getSite_code()); //判断当前分析员当天是否有对应台站的排班任务 diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index 67272c01..a5db28d0 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -429,9 +429,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setColor("green"); xeData.setNidFlag(1); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getMdc()).substring(0, String.valueOf(xeData.getMdc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getConc()).substring(0, String.valueOf(xeData.getConc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(xeData.getConcErr()).substring(0, String.valueOf(xeData.getConcErr()).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } } resultMap.put("XeData", xeResultsSpectrumList); @@ -516,9 +516,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setColor("green"); xeData.setNidFlag(1); } - xeData.setMdc(Double.valueOf(String.format("%.6f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%.6f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%.6f", xeData.getConcErr()))); + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } } if (CollectionUtils.isNotEmpty(sampleBoundary)) { @@ -3082,9 +3082,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setColor("green"); xeData.setNidFlag(1); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getMdc()).substring(0, String.valueOf(xeData.getMdc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getConc()).substring(0, String.valueOf(xeData.getConc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(xeData.getConcErr()).substring(0, String.valueOf(xeData.getConcErr()).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } } map.put("xeData", analyseResult); @@ -3110,9 +3110,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setColor("green"); xeData.setNidFlag(1); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getMdc()).substring(0, String.valueOf(xeData.getMdc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getConc()).substring(0, String.valueOf(xeData.getConc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(xeData.getConcErr()).substring(0, String.valueOf(xeData.getConcErr()).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } } map.put("XeData", analyseResult); @@ -3191,9 +3191,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setColor("green"); xeData.setNidFlag(1); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getMdc()).substring(0, String.valueOf(xeData.getMdc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getConc()).substring(0, String.valueOf(xeData.getConc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(xeData.getConcErr()).substring(0, String.valueOf(xeData.getConcErr()).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } } map.put("XeData", analyseResultList); @@ -3756,9 +3756,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setColor("green"); xeData.setNidFlag(1); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getMdc()).substring(0, String.valueOf(xeData.getMdc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getConc()).substring(0, String.valueOf(xeData.getConc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(xeData.getConcErr()).substring(0, String.valueOf(xeData.getConcErr()).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } } //更新分析后的缓存信息 @@ -3900,9 +3900,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setColor("green"); xeData.setNidFlag(1); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getMdc()).substring(0, String.valueOf(xeData.getMdc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(xeData.getConc()).substring(0, String.valueOf(xeData.getConc()).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(xeData.getConcErr()).substring(0, String.valueOf(xeData.getConcErr()).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } } //更新分析后的缓存信息 @@ -4020,6 +4020,11 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { Result result = new Result(); //根据请求体获取用户名 String userName = JwtUtil.getUserNameByToken(request); + //判断保存分析结果标识 + if (!anlyseResultIn.isSavedAnalysisResult()) { + result.error500("Please first Analyse File!"); + return result; + } //用户名赋值到 分析员 anlyseResultIn.setUserName(userName); //从本地缓存获取beta gamma的数组 From 25ddaf9b2896eaf449c0daff9c9c4558f014fee2 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 2 Nov 2023 18:28:39 +0800 Subject: [PATCH 03/10] =?UTF-8?q?beta=E5=8A=9F=E8=83=BD=E5=88=86=E6=9E=90?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=A2=9E=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9A=84=E9=9D=9E=E7=A9=BA=E5=88=A4=E6=96=AD=20gamma?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=88=A0=E9=99=A4=E6=8E=A5=E5=8F=A3=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=88=A0=E9=99=A4=E7=BC=93=E5=AD=98=E6=A0=B8=E7=B4=A0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/GammaServiceImpl.java | 1 + .../impl/SpectrumAnalysisServiceImpl.java | 420 +++++++++--------- 2 files changed, 214 insertions(+), 207 deletions(-) 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 e4447b88..db3713f5 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 @@ -867,6 +867,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi String key = fileName + StrUtil.DASHED + username; // 删除指定key的Cache localCache.deletePHDCache(key); + redisUtil.del(key); } @Override diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index a5db28d0..f149276a 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -3323,99 +3323,101 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { gasTmp = phdFileUtil.analyzeFile(gasFilePath, gasFileName); //获取det文件 detTmp = phdFileUtil.analyzeFile(detFilePath, detFileName); - //调用重新分析算法 获取算法结果 - BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); - //生成分析操作日志 - EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp); - EnergySpectrumStruct gas = phdFileUtil.analyzeFileSourceData(gasTmp); - EnergySpectrumStruct det = phdFileUtil.analyzeFileSourceData(detTmp); - String logName = sampleFileName.replace("PHD", "log"); - phdFileUtil.OutPutRnLog(analyseResult, sample, gas, det, logName); - //存入分析用到的数据 - map.put("reAnalyseParam", spectrum_group.BgCalPara); - //存入计算后得到的xeData数据 - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(analyseResult.Xe131m_con); - xe131m.setConcErr(analyseResult.Xe131m_uncer); - xe131m.setLc(analyseResult.LC_Xe131m); - xe131m.setMdc(analyseResult.MDC_Xe131m); - xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); - xeResultsSpectrumList.add(xe131m); - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(analyseResult.Xe133_con); - xe133.setConcErr(analyseResult.Xe133_uncer); - xe133.setLc(analyseResult.LC_Xe133); - xe133.setMdc(analyseResult.MDC_Xe133); - xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); - xeResultsSpectrumList.add(xe133); - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(analyseResult.Xe133m_con); - xe133m.setConcErr(analyseResult.Xe133m_uncer); - xe133m.setLc(analyseResult.LC_Xe133m); - xe133m.setMdc(analyseResult.MDC_Xe133m); - xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); - xeResultsSpectrumList.add(xe133m); - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(analyseResult.Xe135_con); - xe135.setConcErr(analyseResult.Xe135_uncer); - xe135.setLc(analyseResult.LC_Xe135); - xe135.setMdc(analyseResult.MDC_Xe135); - xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); - xeResultsSpectrumList.add(xe135); - xeMap.put("XeData", xeResultsSpectrumList); - //新计算得到的边界值 - if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { - List boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i xeResultsSpectrumList = new LinkedList<>(); - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(analyseResult.Xe131m_con); - xe131m.setConcErr(analyseResult.Xe131m_uncer); - xe131m.setLc(analyseResult.LC_Xe131m); - xe131m.setMdc(analyseResult.MDC_Xe131m); - xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); - xeResultsSpectrumList.add(xe131m); - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(analyseResult.Xe133_con); - xe133.setConcErr(analyseResult.Xe133_uncer); - xe133.setLc(analyseResult.LC_Xe133); - xe133.setMdc(analyseResult.MDC_Xe133); - xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); - xeResultsSpectrumList.add(xe133); - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(analyseResult.Xe133m_con); - xe133m.setConcErr(analyseResult.Xe133m_uncer); - xe133m.setLc(analyseResult.LC_Xe133m); - xe133m.setMdc(analyseResult.MDC_Xe133m); - xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); - xeResultsSpectrumList.add(xe133m); - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(analyseResult.Xe135_con); - xe135.setConcErr(analyseResult.Xe135_uncer); - xe135.setLc(analyseResult.LC_Xe135); - xe135.setMdc(analyseResult.MDC_Xe135); - xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); - xeResultsSpectrumList.add(xe135); - xeMap.put("XeData", xeResultsSpectrumList); - //新计算得到的边界值 - if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { - List boundaryList = new LinkedList<>(); - for (int i=0; i xeResultsSpectrumList = new LinkedList<>(); + GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); + xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); + xe131m.setConc(analyseResult.Xe131m_con); + xe131m.setConcErr(analyseResult.Xe131m_uncer); + xe131m.setLc(analyseResult.LC_Xe131m); + xe131m.setMdc(analyseResult.MDC_Xe131m); + xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); + xeResultsSpectrumList.add(xe131m); + GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); + xe133.setNuclideName(XeNuclideName.XE_133.getType()); + xe133.setConc(analyseResult.Xe133_con); + xe133.setConcErr(analyseResult.Xe133_uncer); + xe133.setLc(analyseResult.LC_Xe133); + xe133.setMdc(analyseResult.MDC_Xe133); + xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); + xeResultsSpectrumList.add(xe133); + GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); + xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); + xe133m.setConc(analyseResult.Xe133m_con); + xe133m.setConcErr(analyseResult.Xe133m_uncer); + xe133m.setLc(analyseResult.LC_Xe133m); + xe133m.setMdc(analyseResult.MDC_Xe133m); + xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); + xeResultsSpectrumList.add(xe133m); + GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); + xe135.setNuclideName(XeNuclideName.XE_135.getType()); + xe135.setConc(analyseResult.Xe135_con); + xe135.setConcErr(analyseResult.Xe135_uncer); + xe135.setLc(analyseResult.LC_Xe135); + xe135.setMdc(analyseResult.MDC_Xe135); + xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); + xeResultsSpectrumList.add(xe135); + xeMap.put("XeData", xeResultsSpectrumList); + //新计算得到的边界值 + if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { + List boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i xeDataList = (List) map.get("XeData"); - if (CollectionUtils.isNotEmpty(xeDataList)){ - for (GardsXeResultsSpectrum xeData:xeDataList) { - Double conc = xeData.getConc(); - Double mdc = xeData.getMdc(); - if (conc < 0){ - xeData.setColor("red"); - xeData.setNidFlag(0); - } else if (0 mdc) { - xeData.setColor("green"); - xeData.setNidFlag(1); + if(Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { + //调用分析方法 + phdFileUtil.analyzeSpectrum(sampleTmp, gasTmp, detTmp, BgCalPara, map); + //分析qc文件信息并重新计算qc边界值 + if (StringUtils.isNotBlank(qcPath)) { + EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcPath, qcFileName); + if (Objects.nonNull(struct)) { + phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, map); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } + List xeDataList = (List) map.get("XeData"); + if (CollectionUtils.isNotEmpty(xeDataList)){ + for (GardsXeResultsSpectrum xeData:xeDataList) { + Double conc = xeData.getConc(); + Double mdc = xeData.getMdc(); + if (conc < 0){ + xeData.setColor("red"); + xeData.setNidFlag(0); + } else if (0 mdc) { + xeData.setColor("green"); + xeData.setNidFlag(1); + } + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + } + } + //更新分析后的缓存信息 + cache.put(sampleFileName + "-" + userName + "-xeData", map); + betaCache.setBetaCache(cache); + map.put("bProcessed", true); + map.put("savedAnalysisResult", true); + mapList.put(sampleFileName, map); } - //更新分析后的缓存信息 - cache.put(sampleFileName + "-" + userName + "-xeData", map); - betaCache.setBetaCache(cache); - map.put("bProcessed", true); - map.put("savedAnalysisResult", true); - mapList.put(sampleFileName, map); } } } catch (Exception e) { From 49846891907f02607c121318ea1b80213cb45cda Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 2 Nov 2023 19:42:03 +0800 Subject: [PATCH 04/10] =?UTF-8?q?beta=E5=8A=9F=E8=83=BD=E5=88=86=E6=9E=90?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8B=A6=E6=88=AA=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=88=86=E6=9E=90=E7=BB=93=E6=9E=9C=E4=B8=AD=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=97=A5=E5=BF=97=E4=B8=8D=E4=B8=BA=E7=A9=BA=EF=BC=8C?= =?UTF-8?q?=E5=88=99=E4=B8=8D=E8=BF=94=E5=9B=9E=E5=88=86=E6=9E=90=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/util/PHDFileUtil.java | 252 ++++++++----- .../impl/SpectrumAnalysisServiceImpl.java | 355 +++++++++--------- 2 files changed, 334 insertions(+), 273 deletions(-) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java index c0a278ef..1e99c620 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java @@ -613,84 +613,88 @@ public class PHDFileUtil extends AbstractLogOrReport { } else { analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), BgCalPara); } - EnergySpectrumStruct sample = analyzeFileSourceData(sampleTmp); - EnergySpectrumStruct gas = analyzeFileSourceData(gasTmp); - EnergySpectrumStruct det = analyzeFileSourceData(detTmp); - String sampleFileName = (String) map.get("sampleFileName"); - String logName = sampleFileName.replace("PHD", "log"); - OutPutRnLog(analyseResult, sample, gas, det, logName); - //需要返回到前端的XeData数据 - List xeResultsSpectrumList = new LinkedList<>(); - //存入计算后得到的xeData数据 - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(analyseResult.Xe131m_con); - xe131m.setConcErr(analyseResult.Xe131m_uncer); - xe131m.setLc(analyseResult.LC_Xe131m); - xe131m.setMdc(analyseResult.MDC_Xe131m); - xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); - xeResultsSpectrumList.add(xe131m); - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(analyseResult.Xe133_con); - xe133.setConcErr(analyseResult.Xe133_uncer); - xe133.setLc(analyseResult.LC_Xe133); - xe133.setMdc(analyseResult.MDC_Xe133); - xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); - xeResultsSpectrumList.add(xe133); - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(analyseResult.Xe133m_con); - xe133m.setConcErr(analyseResult.Xe133m_uncer); - xe133m.setLc(analyseResult.LC_Xe133m); - xe133m.setMdc(analyseResult.MDC_Xe133m); - xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); - xeResultsSpectrumList.add(xe133m); - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(analyseResult.Xe135_con); - xe135.setConcErr(analyseResult.Xe135_uncer); - xe135.setLc(analyseResult.LC_Xe135); - xe135.setMdc(analyseResult.MDC_Xe135); - xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); - xeResultsSpectrumList.add(xe135); - map.put("XeData", xeResultsSpectrumList); - //新计算得到的边界值 - if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { - List boundaryList = new LinkedList<>(); - for (int i=0; i xeResultsSpectrumList = new LinkedList<>(); + //存入计算后得到的xeData数据 + GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); + xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); + xe131m.setConc(analyseResult.Xe131m_con); + xe131m.setConcErr(analyseResult.Xe131m_uncer); + xe131m.setLc(analyseResult.LC_Xe131m); + xe131m.setMdc(analyseResult.MDC_Xe131m); + xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); + xeResultsSpectrumList.add(xe131m); + GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); + xe133.setNuclideName(XeNuclideName.XE_133.getType()); + xe133.setConc(analyseResult.Xe133_con); + xe133.setConcErr(analyseResult.Xe133_uncer); + xe133.setLc(analyseResult.LC_Xe133); + xe133.setMdc(analyseResult.MDC_Xe133); + xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); + xeResultsSpectrumList.add(xe133); + GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); + xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); + xe133m.setConc(analyseResult.Xe133m_con); + xe133m.setConcErr(analyseResult.Xe133m_uncer); + xe133m.setLc(analyseResult.LC_Xe133m); + xe133m.setMdc(analyseResult.MDC_Xe133m); + xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); + xeResultsSpectrumList.add(xe133m); + GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); + xe135.setNuclideName(XeNuclideName.XE_135.getType()); + xe135.setConc(analyseResult.Xe135_con); + xe135.setConcErr(analyseResult.Xe135_uncer); + xe135.setLc(analyseResult.LC_Xe135); + xe135.setMdc(analyseResult.MDC_Xe135); + xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); + xeResultsSpectrumList.add(xe135); + map.put("XeData", xeResultsSpectrumList); + //新计算得到的边界值 + if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { + List boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i 0) { - out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(2))))); + if (bgAnalyseResult.s_b_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_b_fitting_c_e)) { + if (bgAnalyseResult.s_b_fitting_c_e.size() > 0) { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_c_e.get(2))))); + } else { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } //换行 out.append(System.lineSeparator()); //第三十七行数据 - if (bgAnalyseResult.s_b_fitting_e_c.size() > 0) { - out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(2))))); + if (bgAnalyseResult.s_b_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_b_fitting_e_c)) { + if (bgAnalyseResult.s_b_fitting_e_c.size() > 0) { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_b_fitting_e_c.get(2))))); + } else { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } @@ -1261,16 +1273,24 @@ public class PHDFileUtil extends AbstractLogOrReport { //换行 out.append(System.lineSeparator()); //第三十六行数据 - if (bgAnalyseResult.s_g_fitting_c_e.size() > 0) { - out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(2))))); + if (bgAnalyseResult.s_g_fitting_c_e !=null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_g_fitting_c_e)) { + if (bgAnalyseResult.s_g_fitting_c_e.size() > 0) { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_c_e.get(2))))); + } else { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } //换行 out.append(System.lineSeparator()); //第三十七行数据 - if (bgAnalyseResult.s_g_fitting_e_c.size() > 0) { - out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(2))))); + if (bgAnalyseResult.s_g_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.s_g_fitting_e_c)) { + if (bgAnalyseResult.s_g_fitting_e_c.size() > 0) { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.s_g_fitting_e_c.get(2))))); + } else { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } @@ -1323,20 +1343,28 @@ public class PHDFileUtil extends AbstractLogOrReport { //换行 out.append(System.lineSeparator()); //第四十四行数据 - if (bgAnalyseResult.d_b_fitting_c_e.size() > 0) { - out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(2))))); + if (bgAnalyseResult.d_b_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_b_fitting_c_e)) { + if (bgAnalyseResult.d_b_fitting_c_e.size() > 0) { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_c_e.get(2))))); + } else { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } + //换行 out.append(System.lineSeparator()); //第四十五行数据 - if (bgAnalyseResult.d_b_fitting_e_c.size() > 0) { - out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(2))))); + if (bgAnalyseResult.d_b_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_b_fitting_e_c)) { + if (bgAnalyseResult.d_b_fitting_e_c.size() > 0) { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_b_fitting_e_c.get(2))))); + } else { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } - //换行 out.append(System.lineSeparator()); //换行 @@ -1346,16 +1374,24 @@ public class PHDFileUtil extends AbstractLogOrReport { //换行 out.append(System.lineSeparator()); //第四十四行数据 - if (bgAnalyseResult.d_g_fitting_c_e.size() > 0) { - out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(2))))); + if (bgAnalyseResult.d_g_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_g_fitting_c_e)) { + if (bgAnalyseResult.d_g_fitting_c_e.size() > 0) { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_c_e.get(2))))); + } else { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } //换行 out.append(System.lineSeparator()); //第四十五行数据 - if (bgAnalyseResult.d_g_fitting_e_c.size() > 0) { - out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(2))))); + if (bgAnalyseResult.d_g_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.d_g_fitting_e_c)) { + if (bgAnalyseResult.d_g_fitting_e_c.size() > 0) { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.d_g_fitting_e_c.get(2))))); + } else { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } @@ -1403,16 +1439,24 @@ public class PHDFileUtil extends AbstractLogOrReport { //换行 out.append(System.lineSeparator()); //第五十一行数据 - if (bgAnalyseResult.g_b_fitting_c_e.size() > 0) { - out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(2))))); + if (bgAnalyseResult.g_b_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_b_fitting_c_e)) { + if (bgAnalyseResult.g_b_fitting_c_e.size() > 0) { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_c_e.get(2))))); + } else { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } //换行 out.append(System.lineSeparator()); //第五十二行数据 - if (bgAnalyseResult.g_b_fitting_e_c.size() > 0) { - out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(2))))); + if (bgAnalyseResult.g_b_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_b_fitting_e_c)) { + if (bgAnalyseResult.g_b_fitting_e_c.size() > 0) { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_b_fitting_e_c.get(2))))); + } else { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } @@ -1425,16 +1469,24 @@ public class PHDFileUtil extends AbstractLogOrReport { //换行 out.append(System.lineSeparator()); //第五十四行数据 - if (bgAnalyseResult.g_g_fitting_c_e.size() > 0) { - out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(2))))); + if (bgAnalyseResult.g_g_fitting_c_e != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_g_fitting_c_e)) { + if (bgAnalyseResult.g_g_fitting_c_e.size() > 0) { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_c_e.get(2))))); + } else { + out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("energy to channel equation: CH(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } //换行 out.append(System.lineSeparator()); //第五十五行数据 - if (bgAnalyseResult.g_g_fitting_e_c.size() > 0) { - out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(2))))); + if (bgAnalyseResult.g_g_fitting_e_c != null && CollectionUtils.isNotEmpty(bgAnalyseResult.g_g_fitting_e_c)) { + if (bgAnalyseResult.g_g_fitting_e_c.size() > 0) { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(0))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(1))), NumberFormatUtil.numberFormat(String.valueOf(bgAnalyseResult.g_g_fitting_e_c.get(2))))); + } else { + out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); + } } else { out.append(rowFormat("channel to energy equation: E(x) = (%s)+(%s)*x+(%s)x*x", "?", "?", "?")); } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index f149276a..3e3a7a98 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.cache.Cache; import com.google.common.collect.Lists; +import kotlin.collections.EmptyList; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.net.ftp.FTP; @@ -3326,97 +3327,101 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { //调用重新分析算法 获取算法结果 BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); - //生成分析操作日志 - EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp); - EnergySpectrumStruct gas = phdFileUtil.analyzeFileSourceData(gasTmp); - EnergySpectrumStruct det = phdFileUtil.analyzeFileSourceData(detTmp); - String logName = sampleFileName.replace("PHD", "log"); - phdFileUtil.OutPutRnLog(analyseResult, sample, gas, det, logName); - //存入分析用到的数据 - map.put("reAnalyseParam", spectrum_group.BgCalPara); - //存入计算后得到的xeData数据 - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(analyseResult.Xe131m_con); - xe131m.setConcErr(analyseResult.Xe131m_uncer); - xe131m.setLc(analyseResult.LC_Xe131m); - xe131m.setMdc(analyseResult.MDC_Xe131m); - xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); - xeResultsSpectrumList.add(xe131m); - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(analyseResult.Xe133_con); - xe133.setConcErr(analyseResult.Xe133_uncer); - xe133.setLc(analyseResult.LC_Xe133); - xe133.setMdc(analyseResult.MDC_Xe133); - xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); - xeResultsSpectrumList.add(xe133); - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(analyseResult.Xe133m_con); - xe133m.setConcErr(analyseResult.Xe133m_uncer); - xe133m.setLc(analyseResult.LC_Xe133m); - xe133m.setMdc(analyseResult.MDC_Xe133m); - xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); - xeResultsSpectrumList.add(xe133m); - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(analyseResult.Xe135_con); - xe135.setConcErr(analyseResult.Xe135_uncer); - xe135.setLc(analyseResult.LC_Xe135); - xe135.setMdc(analyseResult.MDC_Xe135); - xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); - xeResultsSpectrumList.add(xe135); - xeMap.put("XeData", xeResultsSpectrumList); - //新计算得到的边界值 - if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { - List boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i xeResultsSpectrumList = new LinkedList<>(); - GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); - xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); - xe131m.setConc(analyseResult.Xe131m_con); - xe131m.setConcErr(analyseResult.Xe131m_uncer); - xe131m.setLc(analyseResult.LC_Xe131m); - xe131m.setMdc(analyseResult.MDC_Xe131m); - xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); - xeResultsSpectrumList.add(xe131m); - GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); - xe133.setNuclideName(XeNuclideName.XE_133.getType()); - xe133.setConc(analyseResult.Xe133_con); - xe133.setConcErr(analyseResult.Xe133_uncer); - xe133.setLc(analyseResult.LC_Xe133); - xe133.setMdc(analyseResult.MDC_Xe133); - xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); - xeResultsSpectrumList.add(xe133); - GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); - xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); - xe133m.setConc(analyseResult.Xe133m_con); - xe133m.setConcErr(analyseResult.Xe133m_uncer); - xe133m.setLc(analyseResult.LC_Xe133m); - xe133m.setMdc(analyseResult.MDC_Xe133m); - xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); - xeResultsSpectrumList.add(xe133m); - GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); - xe135.setNuclideName(XeNuclideName.XE_135.getType()); - xe135.setConc(analyseResult.Xe135_con); - xe135.setConcErr(analyseResult.Xe135_uncer); - xe135.setLc(analyseResult.LC_Xe135); - xe135.setMdc(analyseResult.MDC_Xe135); - xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); - xeResultsSpectrumList.add(xe135); - xeMap.put("XeData", xeResultsSpectrumList); - //新计算得到的边界值 - if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { - List boundaryList = new LinkedList<>(); - for (int i=0; i xeResultsSpectrumList = new LinkedList<>(); + GardsXeResultsSpectrum xe131m = new GardsXeResultsSpectrum(); + xe131m.setNuclideName(XeNuclideName.XE_131m.getType()); + xe131m.setConc(analyseResult.Xe131m_con); + xe131m.setConcErr(analyseResult.Xe131m_uncer); + xe131m.setLc(analyseResult.LC_Xe131m); + xe131m.setMdc(analyseResult.MDC_Xe131m); + xe131m.setNidFlag(analyseResult.XE_131m_NID_FLAG); + xeResultsSpectrumList.add(xe131m); + GardsXeResultsSpectrum xe133 = new GardsXeResultsSpectrum(); + xe133.setNuclideName(XeNuclideName.XE_133.getType()); + xe133.setConc(analyseResult.Xe133_con); + xe133.setConcErr(analyseResult.Xe133_uncer); + xe133.setLc(analyseResult.LC_Xe133); + xe133.setMdc(analyseResult.MDC_Xe133); + xe133.setNidFlag(analyseResult.XE_133_NID_FLAG); + xeResultsSpectrumList.add(xe133); + GardsXeResultsSpectrum xe133m = new GardsXeResultsSpectrum(); + xe133m.setNuclideName(XeNuclideName.XE_133m.getType()); + xe133m.setConc(analyseResult.Xe133m_con); + xe133m.setConcErr(analyseResult.Xe133m_uncer); + xe133m.setLc(analyseResult.LC_Xe133m); + xe133m.setMdc(analyseResult.MDC_Xe133m); + xe133m.setNidFlag(analyseResult.XE_133m_NID_FLAG); + xeResultsSpectrumList.add(xe133m); + GardsXeResultsSpectrum xe135 = new GardsXeResultsSpectrum(); + xe135.setNuclideName(XeNuclideName.XE_135.getType()); + xe135.setConc(analyseResult.Xe135_con); + xe135.setConcErr(analyseResult.Xe135_uncer); + xe135.setLc(analyseResult.LC_Xe135); + xe135.setMdc(analyseResult.MDC_Xe135); + xe135.setNidFlag(analyseResult.XE_135_NID_FLAG); + xeResultsSpectrumList.add(xe135); + xeMap.put("XeData", xeResultsSpectrumList); + //新计算得到的边界值 + if (CollectionUtils.isNotEmpty(analyseResult.S_ROI_B_Boundary_start)) { + List boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i boundaryList = new LinkedList<>(); - for (int i=0; i boundaryList = new LinkedList<>(); + for (int i=0; i Date: Thu, 2 Nov 2023 19:47:26 +0800 Subject: [PATCH 05/10] =?UTF-8?q?beta=E5=8A=9F=E8=83=BD=E5=88=86=E6=9E=90?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8B=A6=E6=88=AA=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=88=86=E6=9E=90=E7=BB=93=E6=9E=9C=E4=B8=AD=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=97=A5=E5=BF=97=E4=B8=8D=E4=B8=BA=E7=A9=BA=E4=B8=94?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=9A=84=E9=94=99=E8=AF=AF=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E4=B8=8D=E6=98=AFno=20error.=EF=BC=8C?= =?UTF-8?q?=E5=88=99=E4=B8=8D=E8=BF=94=E5=9B=9E=E5=88=86=E6=9E=90=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/jeecg/common/util/PHDFileUtil.java | 2 +- .../modules/service/impl/SpectrumAnalysisServiceImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java index 1e99c620..01cbd7ff 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java @@ -613,7 +613,7 @@ public class PHDFileUtil extends AbstractLogOrReport { } else { analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), BgCalPara); } - if (StringUtils.isNotBlank(analyseResult.error_log)) { + if (StringUtils.isNotBlank(analyseResult.error_log) && !analyseResult.error_log.equalsIgnoreCase("no error.")) { return; } else { EnergySpectrumStruct sample = analyzeFileSourceData(sampleTmp); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index 3e3a7a98..0481cba6 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -3327,7 +3327,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { //调用重新分析算法 获取算法结果 BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); - if (StringUtils.isNotBlank(analyseResult.error_log)) { + if (StringUtils.isNotBlank(analyseResult.error_log) && !analyseResult.error_log.equalsIgnoreCase("no error.")) { return Collections.EMPTY_LIST; } else { //生成分析操作日志 @@ -3548,7 +3548,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { detTmp = phdFileUtil.analyzeFile(detFilePath, detFileName); if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); - if (StringUtils.isNotBlank(analyseResult.error_log)) { + if (StringUtils.isNotBlank(analyseResult.error_log) && !analyseResult.error_log.equalsIgnoreCase("no error.")) { continue; } else { //生成分析操作日志 From 14543eb4a53bd53723a792db5b68ccd2ee347494 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Fri, 3 Nov 2023 09:35:26 +0800 Subject: [PATCH 06/10] =?UTF-8?q?beta=EF=BC=8Cgamma=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/util/GammaFileUtil.java | 14 +++++++- .../service/impl/GammaServiceImpl.java | 34 ++++++++++++++----- .../impl/SpectrumAnalysisServiceImpl.java | 6 ++-- 3 files changed, 41 insertions(+), 13 deletions(-) diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java index 53128de3..f75bd8fa 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java @@ -3020,9 +3020,21 @@ public class GammaFileUtil extends AbstractLogOrReport { anylseEnd = DateUtils.formatDate(new Date(), "yyyy/MM/dd HH:mm:ss"); middleData.analyses_analysisBegin = anylseBegin; middleData.analyses_analysisEnd = anylseEnd; + } else if (type.equals(MiddleDataType.InterAction.getType())){ //如果是人工交互分析 则先上传phd对应文件信息 + //上传本次文件到ftp人工交互存储路径下 + File sampleTmp = null; + try { + sampleTmp = analyzeFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + fileAnlyse.getFilepath(), fileAnlyse.getFilename()); + if (Objects.nonNull(sampleTmp)) { + bRet = ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + middleData.analyses_save_filePath.substring(0, middleData.analyses_save_filePath.lastIndexOf(StringPool.SLASH)), middleData.analyses_save_filePath.substring(middleData.analyses_save_filePath.lastIndexOf(StringPool.SLASH)+1), new FileInputStream(sampleTmp)); + } + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } finally { + sampleTmp.delete(); + } } - //gards_analyses String qsBaseLinePath = path+StringPool.SLASH+middleData.analyses_analyst+"_"+baselineName; qsBaseLinePath = qsBaseLinePath.replace(StringPool.BACK_SLASH, StringPool.SLASH); 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 db3713f5..33b172dc 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 @@ -4357,7 +4357,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi public Result saveToDB(String fileName, HttpServletRequest request) { Result result = new Result(); String userName = JwtUtil.getUserNameByToken(request); - boolean bRet = true; + boolean bRet = false; Cache phdCache = localCache.getPHDCache(); PHDFile phd = phdCache.getIfPresent(fileName + "-" + userName); if (Objects.isNull(phd)) { @@ -4405,7 +4405,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi phd.setStatus(sampleData.getStatus()); } else { // 如果sampleData为空 存储数据 - SaveSampleToDB(phd, middleData.analyses_save_filePath); + bRet = SaveSampleToDB(phd, middleData.analyses_save_filePath); } if (!bRet) { result.error500("The Database hasn't this Spectrum(" + phd.getFilename() + ") and Insert it to Database failed."); @@ -4466,7 +4466,9 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi paths.add(middleData.analyses_lc_filePath); paths.add(middleData.analyses_scac_filePath); paths.add(middleData.analyses_baseline_filePath); - if (false) paths.add(middleData.analyses_save_filePath); + if (bRet) { + paths.add(middleData.analyses_save_filePath); + } } else { result.error500("Save analysis results to DB failed."); return result; @@ -4475,18 +4477,31 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi } @Transactional - public void SaveSampleToDB(PHDFile phd, String input_file_name) { + public boolean SaveSampleToDB(PHDFile phd, String input_file_name) { + boolean bRet = false; String sit_det_code = phd.getHeader().getSite_code(); String detect_code = phd.getHeader().getDetector_code(); // 查询 station_id 和 detect_id Integer station_id = spectrumAnalysisMapper.getStationId(sit_det_code); Integer detect_id = spectrumAnalysisMapper.getDetectorId(detect_code); // ORIGINAL.GARDS_SAMPLE_DATA 表数据 - sampleDataSpectrumService.saveSampleDataGamma(phd, input_file_name, station_id, detect_id); + Integer saveSampleDataGamma = sampleDataSpectrumService.saveSampleDataGamma(phd, input_file_name, station_id, detect_id); + if (saveSampleDataGamma > 0) { + bRet = true; + } else { + bRet = false; + return bRet; + } // 查询新增后的 sample_id 的值赋给变量 DECLARESAMPLEID Integer sampleId = spectrumAnalysisMapper.getSampleId(input_file_name); // ORIGINAL.GARDS_SAMPLE_AUX 表数据 - sampleAuxSpectrumService.saveSampleAuxGamma(phd, sampleId); + Integer saveSampleAuxGamma = sampleAuxSpectrumService.saveSampleAuxGamma(phd, sampleId); + if (saveSampleAuxGamma > 0) { + bRet = true; + } else { + bRet = false; + return bRet; + } // ORIGINAL.gards_sample_description 数据表 sampleDescriptionSpectrumService.saveSampleDescriptionGamma(phd, sampleId); // ORIGINAL.GARDS_SAMPLE_CERT 和 ORIGINAL.GARDS_SAMPLE_CERT_LINE 数据表 @@ -4495,17 +4510,18 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi sampleCertLineSpectrumService.saveSampleCertLineGamma(phd, sampleId); } // gards_ calibration_pairs_orig数据表 - calibrationPairsOrigSpectrumService.saveCalibrationPairsOrigGamma(phd, sampleId); + Integer saveCalibrationPairsOrigGamma = calibrationPairsOrigSpectrumService.saveCalibrationPairsOrigGamma(phd, sampleId); // gards_total_efficiency _pairs数据表(IDC没有) - totalEfficiencyPairsSpectrumService.saveTotalEfficiencyPairsGamma(phd, sampleId); + Integer saveTotalEfficiencyPairsGamma = totalEfficiencyPairsSpectrumService.saveTotalEfficiencyPairsGamma(phd, sampleId); // gards_spectrum数据表 - spectrumService.saveSpectrumGamma(phd, sampleId, input_file_name); + Integer saveSpectrumGamma = spectrumService.saveSpectrumGamma(phd, sampleId, input_file_name); // 根据文件名称获取sample基础数据信息 GardsSampleDataSpectrum samplData = spectrumAnalysisMapper.findSampleByFilePath(input_file_name); if (Objects.nonNull(samplData)) { phd.setId_sample(samplData.getSampleId().toString()); phd.setStatus(samplData.getStatus()); } + return bRet; } @Override diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index 0481cba6..ef18a282 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -4291,9 +4291,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { sampleTmp = phdFileUtil.analyzeFile(anlyseResultIn.getSampleFilePath(), anlyseResultIn.getSampleFileName()); gasTmp = phdFileUtil.analyzeFile(anlyseResultIn.getGasFilePath(), anlyseResultIn.getGasFileName()); detTmp = phdFileUtil.analyzeFile(anlyseResultIn.getDetFilePath(), anlyseResultIn.getDetFileName()); - ftpUtil.saveFile(StringPool.SLASH + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + sampleFilePathName.substring(0, sampleFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getSampleFileName(), new FileInputStream(sampleTmp)); - ftpUtil.saveFile(StringPool.SLASH + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + gasFilePathName.substring(0, gasFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getGasFileName(), new FileInputStream(gasTmp)); - ftpUtil.saveFile(StringPool.SLASH + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + detFilePathName.substring(0, detFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getDetFileName(), new FileInputStream(detTmp)); + ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + sampleFilePathName.substring(0, sampleFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getSampleFileName(), new FileInputStream(sampleTmp)); + ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + gasFilePathName.substring(0, gasFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getGasFileName(), new FileInputStream(gasTmp)); + ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + detFilePathName.substring(0, detFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getDetFileName(), new FileInputStream(detTmp)); } catch (FileNotFoundException e) { throw new RuntimeException(e); } finally { From 61f7c20cba1cf589578720ea605ffeb07b3c68f8 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Fri, 3 Nov 2023 09:46:40 +0800 Subject: [PATCH 07/10] =?UTF-8?q?gamma=E5=8A=9F=E8=83=BD=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9D=A5=E6=BA=90=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E5=8C=BA=E5=88=86=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E6=95=B0=E6=8D=AE=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/util/GammaFileUtil.java | 8 +++---- .../service/impl/GammaServiceImpl.java | 23 +++++++++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java index f75bd8fa..cdb5cd8b 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java @@ -238,7 +238,7 @@ public class GammaFileUtil extends AbstractLogOrReport { return true; } - public void SetBaseInfo(PHDFile phd) { + public void SetBaseInfo(PHDFile phd, String prefixName) { String pathName = phd.getFilepath(); String fileName = phd.getFilename(); //文件名称需要加上自动处理的前缀以及修改不同的文件后缀名 @@ -248,7 +248,7 @@ public class GammaFileUtil extends AbstractLogOrReport { File scacFile = null; InputStream inputStreamBase = null; try { - String lcFileName = "RNAUTO_"+subFileName + ".lc"; + String lcFileName = prefixName+"_"+subFileName + ".lc"; String fromPathLc = pathName + StringPool.SLASH + lcFileName; lcFile = ftpUtil.downloadFile(fromPathLc, "betaGamma"); @@ -258,7 +258,7 @@ public class GammaFileUtil extends AbstractLogOrReport { //将数据结果赋值给 phdFile的vLc phd.setVLc(vDataLc); - String scacFileName = "RNAUTO_"+subFileName + ".scac"; + String scacFileName = prefixName+"_"+subFileName + ".scac"; String fromPathScac = pathName + StringPool.SLASH + scacFileName; scacFile = ftpUtil.downloadFile(fromPathScac, "betaGamma"); @@ -268,7 +268,7 @@ public class GammaFileUtil extends AbstractLogOrReport { //将数据结果赋值给 phdFile的vLc phd.setVScac(vDataScac); - String baselineFileName = "RNAUTO_"+subFileName + ".baseline"; + String baselineFileName = prefixName+"_"+subFileName + ".baseline"; String fromPathBase = pathName + StringPool.SLASH + baselineFileName; inputStreamBase = ftpUtil.downloadFileStream(fromPathBase); // 调用处理BaseCtrl的方法 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 33b172dc..762f7c5c 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 @@ -162,7 +162,11 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi return result; } // 声明基础数组信息 - gammaFileUtil.SetBaseInfo(phd); + if (dbName.equals("auto")) { + gammaFileUtil.SetBaseInfo(phd, "RNAUTO"); + } else if (dbName.equals("man")) { + gammaFileUtil.SetBaseInfo(phd, userName); + } // 从数据库中读取相关信息 boolean bRet = getResultFromDB(dbName, userName, sampleId, phd, result); if (!redisUtil.hasKey(fileName+"-"+userName)) { @@ -461,7 +465,11 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi return result; } // 加载phd数据所需的lc,scac,baseline数据 - gammaFileUtil.SetBaseInfo(phd); + if (dbName.equals("auto")) { + gammaFileUtil.SetBaseInfo(phd, "RNAUTO"); + } else if (dbName.equals("man")) { + gammaFileUtil.SetBaseInfo(phd, userName); + } // 从数据库中读取phd其他相关信息 boolean bRet = getResultFromDB(dbName, userName, sampleId, phd, result); if (!redisUtil.hasKey(fileName+"-"+userName)) { @@ -512,7 +520,14 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi public boolean getResultFromDB(String dbName, String userName, Integer sampleId, PHDFile phd, Result result) { // 判断连接的数据库 - String T_analy, T_calib, T_peaks, T_param, T_nuc_line, T_nuc_act, T_qc, T_setting; + String T_analy = ""; + String T_calib = ""; + String T_peaks = ""; + String T_param = ""; + String T_nuc_line = ""; + String T_nuc_act = ""; + String T_qc = ""; + String T_setting = ""; if (dbName.equals("auto")) { T_analy = "RNAUTO.GARDS_ANALYSES"; T_calib = "RNAUTO.GARDS_CALIBRATION_PAIRS"; @@ -522,7 +537,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi T_nuc_act = "RNAUTO.GARDS_NUCL_IDED"; T_qc = "RNAUTO.GARDS_QC_CHECK"; userName = "RNAUTO"; - } else { + } else if (dbName.equals("man")) { T_analy = "RNMAN.GARDS_ANALYSES"; T_calib = "RNMAN.GARDS_CALIBRATION_PAIRS"; T_peaks = "RNMAN.GARDS_PEAKS"; From 602345508ecdecab9dca2e7f04a98cf7a8e5e169 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Fri, 3 Nov 2023 10:33:00 +0800 Subject: [PATCH 08/10] =?UTF-8?q?beta,gamma=E5=A2=9E=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8D=E5=AD=98=E5=9C=A8=E6=97=B6=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=9A=84=E6=8F=90=E7=A4=BA=E8=AF=AD=E5=8F=A5=20beta=E5=88=86?= =?UTF-8?q?=E6=9E=90=E5=8A=9F=E8=83=BD=E5=BD=93=E5=88=86=E6=9E=90=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=9C=89=E9=94=99=E8=AF=AF=E6=97=B6=EF=BC=8C=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E7=A9=BA=E6=95=B0=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/util/GammaFileUtil.java | 4 + .../org/jeecg/common/util/PHDFileUtil.java | 7 +- .../service/impl/GammaServiceImpl.java | 6 +- .../impl/SpectrumAnalysisServiceImpl.java | 158 +++++++++--------- 4 files changed, 95 insertions(+), 80 deletions(-) diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java index cdb5cd8b..e8d6431d 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java @@ -65,6 +65,10 @@ public class GammaFileUtil extends AbstractLogOrReport { phd.setFilename(fileName); String fromPath = pathName + StringPool.SLASH + fileName; File file = ftpUtil.downloadFile(fromPath, "betaGamma"); + if (Objects.isNull(file)) { + result.error500("ftp file can't find"); + return false; + } try { //读取文件信息 EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath()); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java index 01cbd7ff..fccf5a01 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/common/util/PHDFileUtil.java @@ -605,7 +605,8 @@ public class PHDFileUtil extends AbstractLogOrReport { return file; } - public void analyzeSpectrum(File sampleTmp, File gasTmp, File detTmp, BgCalibratePara BgCalPara, Map map) { + public boolean analyzeSpectrum(File sampleTmp, File gasTmp, File detTmp, BgCalibratePara BgCalPara, Map map) { + boolean bRet = true; //调用动态库解析文件 BgAnalyseResult analyseResult = null; if (Objects.isNull(BgCalPara)) { @@ -614,7 +615,8 @@ public class PHDFileUtil extends AbstractLogOrReport { analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), BgCalPara); } if (StringUtils.isNotBlank(analyseResult.error_log) && !analyseResult.error_log.equalsIgnoreCase("no error.")) { - return; + bRet = false; + return bRet; } else { EnergySpectrumStruct sample = analyzeFileSourceData(sampleTmp); EnergySpectrumStruct gas = analyzeFileSourceData(gasTmp); @@ -695,6 +697,7 @@ public class PHDFileUtil extends AbstractLogOrReport { } map.put("DetBoundary", boundaryList); } + return bRet; } } 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 762f7c5c..d43fece3 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 @@ -834,6 +834,9 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi phd = new PHDFile(); // 加载文件内容 boolean bRet = gammaFileUtil.loadFile(path, fileName, phd, result); + if (!bRet) { + return result; + } if (!redisUtil.hasKey(fileName+"-"+userName)) { // 查询当前用户关联的核素信息 List userLib = new LinkedList<>(); @@ -845,9 +848,6 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi Map nuclideMap = GetNuclideLines(userLib); redisUtil.set(fileName+"-"+userName, nuclideMap); } - if (!bRet) { - return result; - } } // 更新 ‘QC Flags’ 状态 List qcstate = gammaFileUtil.Qcstate(phd); diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index ef18a282..6fc3b545 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -3,7 +3,6 @@ package org.jeecg.modules.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; -import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; @@ -13,8 +12,6 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.cache.Cache; -import com.google.common.collect.Lists; -import kotlin.collections.EmptyList; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.net.ftp.FTP; @@ -36,7 +33,7 @@ import org.jeecg.modules.base.dto.ROIChannelsDto; import org.jeecg.modules.base.dto.ROIResultsDto; import org.jeecg.modules.base.dto.XeResultsDto; import org.jeecg.modules.base.entity.configuration.GardsDetectors; -import org.jeecg.modules.base.entity.original.*; +import org.jeecg.modules.base.entity.original.GardsSampleData; import org.jeecg.modules.base.entity.rnman.*; import org.jeecg.modules.base.enums.*; import org.jeecg.modules.entity.*; @@ -59,13 +56,10 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; -import java.net.URLEncoder; -import java.sql.*; import java.text.ParseException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.Date; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -563,6 +557,9 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { if (Objects.nonNull(inputStream)){ //声明一个临时文件 file = File.createTempFile("betaGamma", null); + if (Objects.isNull(file)) { + throw new RuntimeException("ftp file can't find!"); + } //将ftp文件的输入流复制给临时文件 FileUtils.copyInputStreamToFile(inputStream, file); map = phdFileUtil.getSourceData(file.getAbsolutePath(), sampleId, status); @@ -3115,10 +3112,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } + map.put("bProcessed", true); + map.put("savedAnalysisResult", true); } map.put("XeData", analyseResult); - map.put("bProcessed", true); - map.put("savedAnalysisResult", true); result.setSuccess(true); result.setResult(map); } @@ -3196,10 +3193,10 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } + map.put("bProcessed", true); + map.put("savedAnalysisResult", true); } map.put("XeData", analyseResultList); - map.put("bProcessed", true); - map.put("savedAnalysisResult", true); result.setSuccess(true); result.setResult(map); } @@ -3549,7 +3546,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { if (Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { BgAnalyseResult analyseResult = EnergySpectrumHandler.bgReAnalyse(sampleTmp.getAbsolutePath(), gasTmp.getAbsolutePath(), detTmp.getAbsolutePath(), spectrum_group.BgCalPara); if (StringUtils.isNotBlank(analyseResult.error_log) && !analyseResult.error_log.equalsIgnoreCase("no error.")) { - continue; + analyseResultMap.put(sampleFileName, Collections.EMPTY_LIST); } else { //生成分析操作日志 EnergySpectrumStruct sample = phdFileUtil.analyzeFileSourceData(sampleTmp); @@ -3745,40 +3742,45 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { BgCalPara = (BgCalibratePara) reAnalyseParam.get("reAnalyseParam"); } //调用分析方法 - phdFileUtil.analyzeSpectrum(sampleTmp, gasTmp, detTmp, BgCalPara, map); - //分析qc文件信息并重新计算qc边界值 - if (StringUtils.isNotBlank(qcPath)) { - EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcPath, qcFileName); - if (Objects.nonNull(struct)) { - phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, map); - } - } - if (CollectionUtils.isNotEmpty(map)) { - List xeDataList = (List) map.get("XeData"); - if (CollectionUtils.isNotEmpty(xeDataList)){ - for (GardsXeResultsSpectrum xeData:xeDataList) { - Double conc = xeData.getConc(); - Double mdc = xeData.getMdc(); - if (conc < 0){ - xeData.setColor("red"); - xeData.setNidFlag(0); - } else if (0 mdc) { - xeData.setColor("green"); - xeData.setNidFlag(1); - } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + boolean bRet = phdFileUtil.analyzeSpectrum(sampleTmp, gasTmp, detTmp, BgCalPara, map); + if (bRet) { + //分析qc文件信息并重新计算qc边界值 + if (StringUtils.isNotBlank(qcPath)) { + EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcPath, qcFileName); + if (Objects.nonNull(struct)) { + phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, map); } } - //更新分析后的缓存信息 - cache.put(sampleFileName + "-" + userName + "-xeData", map); - betaCache.setBetaCache(cache); - map.put("bProcessed", true); - map.put("savedAnalysisResult", true); + if (CollectionUtils.isNotEmpty(map)) { + List xeDataList = (List) map.get("XeData"); + if (CollectionUtils.isNotEmpty(xeDataList)){ + for (GardsXeResultsSpectrum xeData:xeDataList) { + Double conc = xeData.getConc(); + Double mdc = xeData.getMdc(); + if (conc < 0){ + xeData.setColor("red"); + xeData.setNidFlag(0); + } else if (0 mdc) { + xeData.setColor("green"); + xeData.setNidFlag(1); + } + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + } + } + //更新分析后的缓存信息 + cache.put(sampleFileName + "-" + userName + "-xeData", map); + betaCache.setBetaCache(cache); + map.put("bProcessed", true); + map.put("savedAnalysisResult", true); + } + } else { + map.clear(); + map.put("XeData", Collections.EMPTY_LIST); } } catch (Exception e) { e.printStackTrace(); @@ -3891,40 +3893,46 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { } if(Objects.nonNull(sampleTmp) && Objects.nonNull(gasTmp) && Objects.nonNull(detTmp)) { //调用分析方法 - phdFileUtil.analyzeSpectrum(sampleTmp, gasTmp, detTmp, BgCalPara, map); - //分析qc文件信息并重新计算qc边界值 - if (StringUtils.isNotBlank(qcPath)) { - EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcPath, qcFileName); - if (Objects.nonNull(struct)) { - phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, map); - } - } - List xeDataList = (List) map.get("XeData"); - if (CollectionUtils.isNotEmpty(xeDataList)){ - for (GardsXeResultsSpectrum xeData:xeDataList) { - Double conc = xeData.getConc(); - Double mdc = xeData.getMdc(); - if (conc < 0){ - xeData.setColor("red"); - xeData.setNidFlag(0); - } else if (0 mdc) { - xeData.setColor("green"); - xeData.setNidFlag(1); + boolean bRet = phdFileUtil.analyzeSpectrum(sampleTmp, gasTmp, detTmp, BgCalPara, map); + if (bRet) { + //分析qc文件信息并重新计算qc边界值 + if (StringUtils.isNotBlank(qcPath)) { + EnergySpectrumStruct struct = phdFileUtil.analyzeFileSourceData(qcPath, qcFileName); + if (Objects.nonNull(struct)) { + phdFileUtil.CalQCBoundary(betaList, gammaList, betaFittingParaToUi, gammaFittingParaToUi, struct, map); } - xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); - xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); - xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); } + List xeDataList = (List) map.get("XeData"); + if (CollectionUtils.isNotEmpty(xeDataList)){ + for (GardsXeResultsSpectrum xeData:xeDataList) { + Double conc = xeData.getConc(); + Double mdc = xeData.getMdc(); + if (conc < 0){ + xeData.setColor("red"); + xeData.setNidFlag(0); + } else if (0 mdc) { + xeData.setColor("green"); + xeData.setNidFlag(1); + } + xeData.setMdc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getMdc())).substring(0, String.valueOf(Math.abs(xeData.getMdc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getMdc()))); + xeData.setConc(Double.valueOf(String.format("%."+(6 - String.valueOf(Math.abs(xeData.getConc())).substring(0, String.valueOf(Math.abs(xeData.getConc())).lastIndexOf(StringPool.DOT)).length())+"f", xeData.getConc()))); + xeData.setConcErr(Double.valueOf(String.format("%."+((6 - String.valueOf(Math.abs(xeData.getConcErr())).substring(0, String.valueOf(Math.abs(xeData.getConcErr())).lastIndexOf(StringPool.DOT)).length()))+"f", xeData.getConcErr()))); + } + } + //更新分析后的缓存信息 + cache.put(sampleFileName + "-" + userName + "-xeData", map); + betaCache.setBetaCache(cache); + map.put("bProcessed", true); + map.put("savedAnalysisResult", true); + mapList.put(sampleFileName, map); + } else { + map.clear(); + map.put("XeData", Collections.EMPTY_LIST); + mapList.put(sampleFileName, map); } - //更新分析后的缓存信息 - cache.put(sampleFileName + "-" + userName + "-xeData", map); - betaCache.setBetaCache(cache); - map.put("bProcessed", true); - map.put("savedAnalysisResult", true); - mapList.put(sampleFileName, map); } } } From 79f0a4316611e96c14415844afb98c4aeb259cc8 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Fri, 3 Nov 2023 11:45:22 +0800 Subject: [PATCH 09/10] =?UTF-8?q?beta,gamma=E5=8A=9F=E8=83=BDsaveToDB?= =?UTF-8?q?=E5=90=8E=E8=BF=94=E5=9B=9E=E8=AF=A6=E7=BB=86=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/util/GammaFileUtil.java | 4 +- .../service/impl/GammaServiceImpl.java | 12 +- .../impl/SpectrumAnalysisServiceImpl.java | 154 +++++++++++++++++- 3 files changed, 160 insertions(+), 10 deletions(-) diff --git a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java index e8d6431d..ab332212 100644 --- a/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java +++ b/jeecg-module-beta-gamma-analyser/src/main/java/org/jeecg/common/util/GammaFileUtil.java @@ -865,7 +865,7 @@ public class GammaFileUtil extends AbstractLogOrReport { return true; } - public List DetailedInfo(Integer sampleId, PHDFile phd) { + public List DetailedInfo(String sampleId, PHDFile phd) { try { // Sample_Id, Station_Code, Detector_Code, System_Type, Data_Type, Spectral_Qualifier, // SRID, Sample_Status, Collect_Start, Sampling_Time, Quantity, Flow_Rate, @@ -876,7 +876,7 @@ public class GammaFileUtil extends AbstractLogOrReport { detailInfo.add(""); } //读取phdFile的数据 修改detailInfo的数据 - detailInfo.set(0, Objects.nonNull(sampleId)?sampleId.toString():""); // Sample_Id + detailInfo.set(0, StringUtils.isNotBlank(sampleId)?sampleId:""); // Sample_Id detailInfo.set(1, phd.getHeader().getSite_code()); // Station_Code detailInfo.set(2, phd.getHeader().getDetector_code()); // Detector_Code detailInfo.set(3, phd.getHeader().getSystem_type().toUpperCase()); // System_Type 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 d43fece3..9ef82dc6 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 @@ -494,7 +494,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi List qcstate = gammaFileUtil.Qcstate(phd); map.put("QCFlag", qcstate); // 更新 ‘Detailed Information’ 信息 - List detailedInfo = gammaFileUtil.DetailedInfo(sampleId, phd); + List detailedInfo = gammaFileUtil.DetailedInfo(String.valueOf(sampleId), phd); map.put("DetailedInformation", detailedInfo); // 更新 ACQ 模块中各时间信息 map.put("start_time", phd.getAcq().getAcquisition_start_date() + "\n" + phd.getAcq().getAcquisition_start_time()); @@ -853,7 +853,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi List qcstate = gammaFileUtil.Qcstate(phd); map.put("QCFlag", qcstate); // 更新 ‘Detailed Information’ 信息 - List detailedInfo = gammaFileUtil.DetailedInfo(null, phd); + List detailedInfo = gammaFileUtil.DetailedInfo(phd.getId_sample(), phd); map.put("DetailedInformation", detailedInfo); // 更新 ACQ 模块中各时间信息 map.put("start_time", phd.getAcq().getAcquisition_start_date() + "\n" + phd.getAcq().getAcquisition_start_time()); @@ -4440,8 +4440,6 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi if (StringUtils.isBlank(idAnalysis)) { // 向 RNMAN.GARDS_ANALYSES 表插入数据 analysesSpectrumService.insertEntity(middleData, phd, userName, comments); - // 查询idAnalysis - idAnalysis = spectrumAnalysisMapper.getIdAnalysisByIdAnalyst(phd.getId_sample(), userName); // 修改sample_data状态 spectrumAnalysisMapper.updateAnalysesStatus(middleData.analyses_save_filePath); } else { @@ -4488,6 +4486,12 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi result.error500("Save analysis results to DB failed."); return result; } + Map map = new HashMap<>(); + //更新detial Information + List detailedInfo = gammaFileUtil.DetailedInfo(phd.getId_sample(), phd); + map.put("DetailedInformation", detailedInfo); + result.setSuccess(true); + result.setResult(map); return result; } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index 6fc3b545..2f265272 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -388,6 +388,26 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { phdFileUtil.getLightColor(sampleMap,gasBgMap,detBgMap,qcMap); String sampleFileName = String.valueOf(sampleMap.get("fileName")); Cache> cache = betaCache.getBetaCache(); + Map dataCache = cache.getIfPresent(sampleFileName + "-" + userName + "-data"); + if (CollectionUtils.isNotEmpty(dataCache)) { + SpectrumData sample = (SpectrumData) dataCache.get("sample"); + if (Objects.nonNull(sample)) { + sampleMap.put("spectrumData", sample); + } + SpectrumData gas = (SpectrumData) dataCache.get("gas"); + if (Objects.nonNull(gas)) { + gasBgMap.put("spectrumData", gas); + } + SpectrumData det = (SpectrumData) dataCache.get("det"); + if (Objects.nonNull(det)) { + detBgMap.put("spectrumData", det); + } + SpectrumData qc = (SpectrumData) dataCache.get("qc"); + if (Objects.nonNull(qc)) { + qcMap.put("spectrumData", qc); + } + } + Map xeDataMap = cache.getIfPresent(sampleFileName + "-" + userName + "-xeData"); if (CollectionUtils.isNotEmpty(xeDataMap)) { xeResultsSpectrumList = (List) xeDataMap.get("XeData"); @@ -485,6 +505,25 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { phdFileUtil.getLightColor(sampleMap,gasBgMap,detBgMap,qcMap); //获取本地缓存信息 Cache> cache = betaCache.getBetaCache(); + Map dataCache = cache.getIfPresent(sampleFileName + "-" + userName + "-data"); + if (CollectionUtils.isNotEmpty(dataCache)) { + SpectrumData sample = (SpectrumData) dataCache.get("sample"); + if (Objects.nonNull(sample)) { + sampleMap.put("spectrumData", sample); + } + SpectrumData gas = (SpectrumData) dataCache.get("gas"); + if (Objects.nonNull(gas)) { + gasBgMap.put("spectrumData", gas); + } + SpectrumData det = (SpectrumData) dataCache.get("det"); + if (Objects.nonNull(det)) { + detBgMap.put("spectrumData", det); + } + SpectrumData qc = (SpectrumData) dataCache.get("qc"); + if (Objects.nonNull(qc)) { + qcMap.put("spectrumData", qc); + } + } //根据key获取缓存数据 Map xeDataMap = cache.getIfPresent(sampleFileName + "-" + userName + "-xeData"); //如果缓存数据存在 则将缓存数据取出使用 @@ -597,6 +636,8 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { betaCache.deleteBetaCache(analyseKey); String xeKey = sampleFileName + "-" + userName + "-xeData"; betaCache.deleteBetaCache(xeKey); + String dataKey = sampleFileName + "-" + userName + "-data"; + betaCache.deleteBetaCache(dataKey); } @Override @@ -4041,8 +4082,13 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { @Transactional public Result saveToDB(BgDataAnlyseResultIn anlyseResultIn, HttpServletRequest request) { Result result = new Result(); + Map map = new HashMap<>(); //根据请求体获取用户名 String userName = JwtUtil.getUserNameByToken(request); + Integer sampleId = null; + Integer gasId = null; + Integer detId = null; + Integer qcId = null; //判断保存分析结果标识 if (!anlyseResultIn.isSavedAnalysisResult()) { result.error500("Please first Analyse File!"); @@ -4114,7 +4160,7 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { // getROILimit(anlyseResultIn); //根据sample文件名称模糊查询sampleId if (StringUtils.isNotBlank(anlyseResultIn.getDbName())) { - Integer sampleId = spectrumAnalysisMapper.getSampleIdLikeFileName(anlyseResultIn.getSampleFileName()); + sampleId = spectrumAnalysisMapper.getSampleIdLikeFileName(anlyseResultIn.getSampleFileName()); Integer analysisID = null; if (anlyseResultIn.getDbName().equals("auto")) { anlyseResultIn.setDbName("RNAUTO"); @@ -4178,15 +4224,16 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { result.error500("qcFile save failed"); return result; } + qcId = spectrumAnalysisMapper.getSampleId(qcFilePathName); } if ( !OriginalDataStore(anlyseResultIn.getSampleFilePath(), anlyseResultIn.getSampleFileName(), sampleFilePathName, anlyseResultIn.getUserName()) ){ result.error500("sampleFile save failed"); return result; } //根据文件名称查询对应的sampleId--- sampleFile gasFile detFile - Integer sampleId = spectrumAnalysisMapper.getSampleId(sampleFilePathName); - Integer gasId = spectrumAnalysisMapper.getSampleId(gasFilePathName); - Integer detId = spectrumAnalysisMapper.getSampleId(detFilePathName); + sampleId = spectrumAnalysisMapper.getSampleId(sampleFilePathName); + gasId = spectrumAnalysisMapper.getSampleId(gasFilePathName); + detId = spectrumAnalysisMapper.getSampleId(detFilePathName); //如果分析过就修改原记录--GARDS_ANALYSES GardsAnalysesSpectrum gardsAnalyses = new GardsAnalysesSpectrum(); gardsAnalyses.setSampleId(sampleId); @@ -4295,13 +4342,16 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { File sampleTmp = null; File gasTmp = null; File detTmp = null; + File qcTmp = null; try { sampleTmp = phdFileUtil.analyzeFile(anlyseResultIn.getSampleFilePath(), anlyseResultIn.getSampleFileName()); gasTmp = phdFileUtil.analyzeFile(anlyseResultIn.getGasFilePath(), anlyseResultIn.getGasFileName()); detTmp = phdFileUtil.analyzeFile(anlyseResultIn.getDetFilePath(), anlyseResultIn.getDetFileName()); + qcTmp = phdFileUtil.analyzeFile(anlyseResultIn.getQcFilePath(), anlyseResultIn.getQcFileName()); ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + sampleFilePathName.substring(0, sampleFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getSampleFileName(), new FileInputStream(sampleTmp)); ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + gasFilePathName.substring(0, gasFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getGasFileName(), new FileInputStream(gasTmp)); ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + detFilePathName.substring(0, detFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getDetFileName(), new FileInputStream(detTmp)); + ftpUtil.saveFile(StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + qcFilePathName.substring(0, qcFilePathName.lastIndexOf(StringPool.SLASH)), anlyseResultIn.getQcFileName(), new FileInputStream(qcTmp)); } catch (FileNotFoundException e) { throw new RuntimeException(e); } finally { @@ -4309,7 +4359,26 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { gasTmp.delete(); detTmp.delete(); } + if (Objects.nonNull(sampleId)) { + SpectrumData sampleData = getSpectrumData(sampleId); + map.put("sample", sampleData); + } + if (Objects.nonNull(gasId)) { + SpectrumData gasData = getSpectrumData(gasId); + map.put("gas", gasData); + } + if (Objects.nonNull(detId)) { + SpectrumData detData = getSpectrumData(detId); + map.put("det", detData); + } + if (Objects.nonNull(qcId)) { + SpectrumData qcData = getSpectrumData(qcId); + map.put("qc", qcData); + } + cache.put(anlyseResultIn.getSampleFileName()+"-"+userName+"-data", map); + betaCache.setBetaCache(cache); result.setSuccess(true); + result.setResult(map); return result; } @@ -5814,4 +5883,81 @@ public class SpectrumAnalysisServiceImpl implements ISpectrumAnalysisService { return roiResultsList; } + public SpectrumData getSpectrumData(Integer sampleId) { + //根据 sampleId获取sampleData的数据内容 + GardsSampleDataSpectrum sampleData = spectrumAnalysisMapper.getSampleData(sampleId); + //获取文件存储路径 + String inputFileName = sampleData.getInputFileName(); + //拼接完整的ftp路径 + String filePath = StringPool.SLASH + ftpUtil.getFtpRootPath() + spectrumPathProperties.getSaveFilePath() + StringPool.SLASH + inputFileName; + File file = ftpUtil.downloadFile(filePath, "betaGamma"); + EnergySpectrumStruct struct = EnergySpectrumHandler.getSourceData(file.getAbsolutePath()); + SpectrumData spectrumData = new SpectrumData(); + try { + //封装散点图下的基础数据信息 + //Station Code + String stationCode = struct.site_code; + //Detector Code + String detectorCode = struct.detector_code; + //Data Type + String dataType = struct.data_type; + //Collection Start + Date CollectionStart = null; + if ( StringUtils.isNotBlank(struct.collection_start_date) && StringUtils.isNotBlank(struct.collection_start_time) ){ + CollectionStart = DateUtils.parseDate(struct.collection_start_date + StringPool.SPACE + struct.collection_start_time); + } + //Collection Stop + Date CollectionStop = null; + if ( StringUtils.isNotBlank(struct.collection_stop_date) && StringUtils.isNotBlank(struct.collection_stop_time) ){ + CollectionStop = DateUtils.parseDate(struct.collection_stop_date + StringPool.SPACE + struct.collection_stop_time); + } + //Collection Time + String CollectionTime = ""; + if ( Objects.nonNull(CollectionStart) && Objects.nonNull(CollectionStop) ){ + CollectionTime = String.format ("%.2f",Double.valueOf(CollectionStop.getTime()/1000 - CollectionStart.getTime()/ 1000)); + } + //Acquisition Start + Date AcquisitionStart = null; + if ( StringUtils.isNotBlank(struct.collection_start_date) && StringUtils.isNotBlank(struct.collection_start_time) ){ + AcquisitionStart = DateUtils.parseDate(struct.acquisition_start_date + StringPool.SPACE + struct.acquisition_start_time); + } + //Acq Real Time + double AcquisitionRealTime = struct.acquisition_real_time; + //Acq live Time + double AcquisitionLiveTime = struct.acquisition_live_time; + //Air Volume[m3] + double airVolume = struct.air_volume; + //Xe Volume[m3] + double xeVolume = struct.sample_volume_of_Xe; + //xeCollectionYield + double xeCollectionYield = struct.Xe_collection_yield; + //gasBkMeasurementId + String gasBkMeasurementId = struct.gas_bk_measurement_id; + //detectorBkMeasurementId + String detectorBkMeasurementId = struct.detector_bk_measurement_id; + //measurementId + String measurementId = struct.measurement_id; + spectrumData.setSampleId(sampleId); + spectrumData.setStatus(sampleData.getStatus()); + spectrumData.setStationCode(stationCode); + spectrumData.setDetectorCode(detectorCode); + spectrumData.setDataType(dataType); + spectrumData.setCollectionStart(CollectionStart); + spectrumData.setCollectionStop(CollectionStop); + spectrumData.setCollectionTime(CollectionTime); + spectrumData.setAcquisitionStart(AcquisitionStart); + spectrumData.setAcquisitionRealTime(AcquisitionRealTime); + spectrumData.setAcquisitionLiveTime(AcquisitionLiveTime); + spectrumData.setAirVolume(airVolume); + spectrumData.setXeVolume(xeVolume); + spectrumData.setYield(xeCollectionYield); + spectrumData.setGasBkMeasurementId(gasBkMeasurementId); + spectrumData.setDetectorBkMeasurementId(detectorBkMeasurementId); + spectrumData.setMeasurementId(measurementId); + } catch (ParseException e) { + throw new RuntimeException(e); + } + return spectrumData; + } + } From e50f2f494f7c59c65c9170faad39b12aca3073fd Mon Sep 17 00:00:00 2001 From: xiaoguangbin Date: Fri, 3 Nov 2023 15:19:00 +0800 Subject: [PATCH 10/10] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=88=AA?= =?UTF-8?q?=E5=8F=96=E6=8E=A2=E6=B5=8B=E5=99=A8code=E5=B0=91=E4=B8=80?= =?UTF-8?q?=E4=BD=8D=E6=95=B0=E5=AD=97=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg/modules/service/impl/GardsSampleDataServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java index fbe35204..5a2d3d6a 100644 --- a/jeecg-module-auto-process/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java +++ b/jeecg-module-auto-process/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java @@ -62,7 +62,7 @@ public class GardsSampleDataServiceImpl extends ServiceImpl sampleDatas = this.baseMapper.getSampleIdAndInputFileName(measurementId, dataType, systemType, detectorId); if(!CollectionUtils.isEmpty(sampleDatas)){ //如果查询出多条则需要根据inputFileName字段降序排序后返回第一个