人工交互分析查询数据库逻辑核素相关判断导致数据缺失问题修改

人工交互分析页面回显数据精度以及格式问题修改
This commit is contained in:
qiaoqinzheng 2023-12-28 18:29:47 +08:00
parent 8deca3f964
commit 77c4473936
6 changed files with 172 additions and 159 deletions

View File

@ -29,11 +29,31 @@ public class NumberFormatUtil {
if (number.indexOf("e")>0) { if (number.indexOf("e")>0) {
String calNumber = number.substring(0, number.indexOf("e")); String calNumber = number.substring(0, number.indexOf("e"));
String numberCal = numberCal(calNumber); String numberCal = numberCal(calNumber);
value = numberCal + number.substring(number.indexOf("e")); String eValue = number.substring(number.indexOf("e")+1);
if (Double.valueOf(eValue) > 0) {
if (Double.valueOf(eValue) > 10) {
eValue = "e+"+ number.substring(number.indexOf("e")+1);
} else {
eValue = "e+0"+ number.substring(number.indexOf("e")+1);
}
} else {
eValue = number.substring(number.indexOf("e"));
}
value = numberCal + eValue.replace("E", "e");
} else if (number.indexOf("E")>0) { } else if (number.indexOf("E")>0) {
String calNumber = number.substring(0, number.indexOf("E")); String calNumber = number.substring(0, number.indexOf("E"));
String numberCal = numberCal(calNumber); String numberCal = numberCal(calNumber);
value = numberCal + number.substring(number.indexOf("E")); String eValue = number.substring(number.indexOf("E")+1);
if (Double.valueOf(eValue) > 0) {
if (Double.valueOf(eValue) > 10) {
eValue = "e+"+ number.substring(number.indexOf("E")+1);
} else {
eValue = "e+0"+ number.substring(number.indexOf("E")+1);
}
} else {
eValue = number.substring(number.indexOf("E"));
}
value = numberCal + eValue.replace("E", "e");
} }
return value; return value;
} }

View File

@ -634,11 +634,11 @@ public class GammaFileUtil extends AbstractLogOrReport {
return 0.0; return 0.0;
} }
//获取采集开始时间 //获取采集开始时间
Date collectStart = DateUtils.parseDate(phd.getCollect().getCollection_start_date() + StringPool.SPACE + phd.getCollect().getCollection_start_time().substring(0,phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss"); Date collectStart = DateUtils.parseDate(phd.getCollect().getCollection_start_date() + StringPool.SPACE + phd.getCollect().getCollection_start_time());
//获取采样结束时间 //获取采样结束时间
Date collectStop = DateUtils.parseDate(phd.getCollect().getCollection_stop_date() + StringPool.SPACE + phd.getCollect().getCollection_stop_time().substring(0,phd.getCollect().getCollection_stop_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss"); Date collectStop = DateUtils.parseDate(phd.getCollect().getCollection_stop_date() + StringPool.SPACE + phd.getCollect().getCollection_stop_time());
//获取能谱获取时间 //获取能谱获取时间
Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time().substring(0,phd.getAcq().getAcquisition_start_time().indexOf(StringPool.DOT)), "yyyy/MM/dd HH:mm:ss"); Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + StringPool.SPACE + phd.getAcq().getAcquisition_start_time());
//计算采样时间 //计算采样时间
double Ts = ((collectStop.getTime() - collectStart.getTime())/1000); double Ts = ((collectStop.getTime() - collectStart.getTime())/1000);
//计算衰变时间 //计算衰变时间
@ -3740,21 +3740,9 @@ public class GammaFileUtil extends AbstractLogOrReport {
String str_mda = (nuc.getMda() <= 0 ? "null" : NumberFormatUtil.numberFormat(String.valueOf(nuc.getMda()))); String str_mda = (nuc.getMda() <= 0 ? "null" : NumberFormatUtil.numberFormat(String.valueOf(nuc.getMda())));
tableNuclideActivity.setMda(str_mda); tableNuclideActivity.setMda(str_mda);
if (Objects.nonNull(nuc.getConcentration())) { String str_con = (Objects.nonNull(nuc.getConcentration())?(Double.isFinite(nuc.getConcentration())? (nuc.getConcentration() <= 0 ? "null" : NumberFormatUtil.numberFormat(String.valueOf(nuc.getConcentration()))) : (Double.isInfinite(nuc.getConcentration())? "inf": "nan")):"null");
if (Double.isFinite(nuc.getConcentration())) {
DecimalFormat decimalFormat = new DecimalFormat("0.###E0");
nuc.setConcentration(Double.valueOf(decimalFormat.format(nuc.getConcentration())));
}
}
String str_con = (Objects.nonNull(nuc.getConcentration())?(Double.isFinite(nuc.getConcentration())? nuc.getConcentration() <= 0 ? "null" : NumberFormatUtil.numberFormat(String.valueOf(nuc.getConcentration())) : "inf"):"null");
tableNuclideActivity.setConc(str_con); tableNuclideActivity.setConc(str_con);
if (Objects.nonNull(nuc.getMdc())) { String str_mdc = (Objects.nonNull(nuc.getMdc())?(Double.isFinite(nuc.getMdc())? (nuc.getMdc() <= 0 ? "null" : NumberFormatUtil.numberFormat(String.valueOf(nuc.getMdc()))) : (Double.isInfinite(nuc.getMdc())? "inf" : "nan")):"null");
if (Double.isFinite(nuc.getMdc())) {
DecimalFormat decimalFormat = new DecimalFormat("0.###E0");
nuc.setMdc(Double.valueOf(decimalFormat.format(nuc.getMdc())));
}
}
String str_mdc = (Objects.nonNull(nuc.getMdc())?(Double.isFinite(nuc.getMdc())?nuc.getMdc() <= 0 ? "null" : NumberFormatUtil.numberFormat(String.valueOf(nuc.getMdc())) : "inf"):"null");
tableNuclideActivity.setMdc(str_mdc); tableNuclideActivity.setMdc(str_mdc);
nuclideActivityList.add(tableNuclideActivity); nuclideActivityList.add(tableNuclideActivity);
} }

View File

@ -538,16 +538,16 @@ public class GammaController {
gammaService.saveToPHD(fileName, request, response); gammaService.saveToPHD(fileName, request, response);
} }
@GetMapping("peakComparison") // @GetMapping("peakComparison")
@ApiOperation(value = "Peak Information页面查看Comparison数据", notes = "Peak Information页面查看Comparison数据") // @ApiOperation(value = "Peak Information页面查看Comparison数据", notes = "Peak Information页面查看Comparison数据")
public Result peakComparison(String fileName, HttpServletRequest request) { // public Result peakComparison(String fileName, HttpServletRequest request) {
return gammaService.peakComparison(fileName, request); // return gammaService.peakComparison(fileName, request);
} // }
//
@GetMapping("nuclComparison") // @GetMapping("nuclComparison")
@ApiOperation(value = "Radionuclide Activity页面查看Comparison数据", notes = "Radionuclide Activity页面查看Comparison数据") // @ApiOperation(value = "Radionuclide Activity页面查看Comparison数据", notes = "Radionuclide Activity页面查看Comparison数据")
public Result nuclComparison(String fileName, HttpServletRequest request) { // public Result nuclComparison(String fileName, HttpServletRequest request) {
return gammaService.nuclComparison(fileName, request); // return gammaService.nuclComparison(fileName, request);
} // }
} }

View File

@ -203,8 +203,8 @@ public interface IGammaService{
void readMDCParameter(); void readMDCParameter();
Result peakComparison(String fileName, HttpServletRequest request); // Result peakComparison(String fileName, HttpServletRequest request);
//
Result nuclComparison(String fileName, HttpServletRequest request); // Result nuclComparison(String fileName, HttpServletRequest request);
} }

View File

@ -149,8 +149,8 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
private RedisStreamUtil redisStreamUtil; private RedisStreamUtil redisStreamUtil;
@Autowired @Autowired
private ISysDictSpectrumService sysDictService; private ISysDictSpectrumService sysDictService;
@Autowired // @Autowired
private IDataService dataService; // private IDataService dataService;
@Override @Override
public Result initValue(Integer sampleId, String dbName, String analyst, String samfileName, HttpServletRequest request) { public Result initValue(Integer sampleId, String dbName, String analyst, String samfileName, HttpServletRequest request) {
@ -748,7 +748,9 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
if (CollectionUtils.isNotEmpty(nuclLinesIdeds)) { if (CollectionUtils.isNotEmpty(nuclLinesIdeds)) {
for (GardsNuclLinesIdedSpectrum nuclLinesIdedSpectrum : nuclLinesIdeds) { for (GardsNuclLinesIdedSpectrum nuclLinesIdedSpectrum : nuclLinesIdeds) {
String str_key = nuclLinesIdedSpectrum.getNuclideName(); String str_key = nuclLinesIdedSpectrum.getNuclideName();
if (Objects.isNull(phd.getMapNucActMda().get(str_key))) {
phd.getMapNucActMda().put(str_key, new NuclideActMda()); phd.getMapNucActMda().put(str_key, new NuclideActMda());
}
if (Objects.nonNull(phd.getMapNucActMda().get(str_key))) { if (Objects.nonNull(phd.getMapNucActMda().get(str_key))) {
phd.getMapNucActMda().get(str_key).setActivity(Double.valueOf(nuclLinesIdedSpectrum.getActivity())); phd.getMapNucActMda().get(str_key).setActivity(Double.valueOf(nuclLinesIdedSpectrum.getActivity()));
phd.getMapNucActMda().get(str_key).setAct_err(nuclLinesIdedSpectrum.getUncActivity()); phd.getMapNucActMda().get(str_key).setAct_err(nuclLinesIdedSpectrum.getUncActivity());
@ -5887,128 +5889,128 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
} }
} }
@Override // @Override
public Result peakComparison(String fileName, HttpServletRequest request) { // public Result peakComparison(String fileName, HttpServletRequest request) {
Result result = new Result(); // Result result = new Result();
Connection conn = null; // Connection conn = null;
List<PeakInfo> peakInfoList = new LinkedList<>(); // List<PeakInfo> peakInfoList = new LinkedList<>();
//获取用户名 // //获取用户名
String userName = JwtUtil.getUserNameByToken(request); // String userName = JwtUtil.getUserNameByToken(request);
//读取缓存内容 // //读取缓存内容
Cache<String, PHDFile> phdCache = localCache.getPHDCache(); // Cache<String, PHDFile> phdCache = localCache.getPHDCache();
PHDFile phd = phdCache.getIfPresent(fileName + StringPool.DASH + userName); // PHDFile phd = phdCache.getIfPresent(fileName + StringPool.DASH + userName);
if (Objects.isNull(phd)) { // if (Objects.isNull(phd)) {
result.error500("Please select the parse file first"); // result.error500("Please select the parse file first");
return result; // return result;
} // }
Map<String, Integer> idcStationMap = (Map<String, Integer>) redisUtil.get("idcStationMap"); // Map<String, Integer> idcStationMap = (Map<String, Integer>) redisUtil.get("idcStationMap");
try { // try {
String collectStart = ""; // String collectStart = "";
if (phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT) > 0) { // if (phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT) > 0) {
collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT)); // collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT));
} else { // } else {
collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time(); // collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time();
} // }
//获取采集开始时间 // //获取采集开始时间
Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + " " + phd.getAcq().getAcquisition_start_time()); // Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + " " + phd.getAcq().getAcquisition_start_time());
//计算得到采集结束时间对应的毫秒数 // //计算得到采集结束时间对应的毫秒数
long stopTime = (long) (acqStart.getTime() + (phd.getAcq().getAcquisition_real_time() * 1000)); // long stopTime = (long) (acqStart.getTime() + (phd.getAcq().getAcquisition_real_time() * 1000));
//根据毫秒数得到采集结束时间 // //根据毫秒数得到采集结束时间
Date acquisitionStopDate = new Date(stopTime); // Date acquisitionStopDate = new Date(stopTime);
//格式化得到采集结束时间的字符串 // //格式化得到采集结束时间的字符串
String acquisitionStop = DateUtils.formatDate(acquisitionStopDate, "yyyy-MM-dd HH:mm:ss"); // String acquisitionStop = DateUtils.formatDate(acquisitionStopDate, "yyyy-MM-dd HH:mm:ss");
//从缓存的idc台站信息中获取当前台站对应的台站id // //从缓存的idc台站信息中获取当前台站对应的台站id
Integer stationId = null; // Integer stationId = null;
if (CollectionUtils.isNotEmpty(idcStationMap)) { // if (CollectionUtils.isNotEmpty(idcStationMap)) {
stationId = idcStationMap.get(phd.getHeader().getSite_code()); // stationId = idcStationMap.get(phd.getHeader().getSite_code());
} // }
//连接本地同步的idc数据库 // //连接本地同步的idc数据库
conn = dataService.connectInland(); // conn = dataService.connectInland();
//连接对象为空 则连接idc国际库 // //连接对象为空 则连接idc国际库
if (Objects.isNull(conn)) { // if (Objects.isNull(conn)) {
conn = dataService.connectOverSea(); // conn = dataService.connectOverSea();
} // }
//判断是否连接成功 // //判断是否连接成功
if (Objects.nonNull(conn)) { // if (Objects.nonNull(conn)) {
//查询获取Peaks表的对比数据内容 // //查询获取Peaks表的对比数据内容
peakInfoList = dataService.viewPeaks(phd.getHeader().getDetector_code(), phd.getHeader().getSpectrum_quantity(), stationId, collectStart, acquisitionStop, conn); // peakInfoList = dataService.viewPeaks(phd.getHeader().getDetector_code(), phd.getHeader().getSpectrum_quantity(), stationId, collectStart, acquisitionStop, conn);
} // }
result.setSuccess(true); // result.setSuccess(true);
result.setResult(peakInfoList); // result.setResult(peakInfoList);
} catch (ParseException e) { // } catch (ParseException e) {
throw new RuntimeException(e); // throw new RuntimeException(e);
} finally { // } finally {
try { // try {
if (Objects.nonNull(conn)) { // if (Objects.nonNull(conn)) {
conn.close(); // conn.close();
} // }
} catch (SQLException e) { // } catch (SQLException e) {
throw new RuntimeException(e); // throw new RuntimeException(e);
} // }
} // }
return result; // return result;
} // }
//
@Override // @Override
public Result nuclComparison(String fileName, HttpServletRequest request) { // public Result nuclComparison(String fileName, HttpServletRequest request) {
Result result = new Result(); // Result result = new Result();
Connection conn = null; // Connection conn = null;
List<TableNuclideActivity> nuclideActivityList = new LinkedList<>(); // List<TableNuclideActivity> nuclideActivityList = new LinkedList<>();
//获取用户名 // //获取用户名
String userName = JwtUtil.getUserNameByToken(request); // String userName = JwtUtil.getUserNameByToken(request);
//读取缓存内容 // //读取缓存内容
Cache<String, PHDFile> phdCache = localCache.getPHDCache(); // Cache<String, PHDFile> phdCache = localCache.getPHDCache();
PHDFile phd = phdCache.getIfPresent(fileName + StringPool.DASH + userName); // PHDFile phd = phdCache.getIfPresent(fileName + StringPool.DASH + userName);
if (Objects.isNull(phd)) { // if (Objects.isNull(phd)) {
result.error500("Please select the parse file first"); // result.error500("Please select the parse file first");
return result; // return result;
} // }
Map<String, Integer> idcStationMap = (Map<String, Integer>) redisUtil.get("idcStationMap"); // Map<String, Integer> idcStationMap = (Map<String, Integer>) redisUtil.get("idcStationMap");
try { // try {
String collectStart = ""; // String collectStart = "";
if (phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT) > 0) { // if (phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT) > 0) {
collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT)); // collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time().substring(0, phd.getCollect().getCollection_start_time().indexOf(StringPool.DOT));
} else { // } else {
collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time(); // collectStart = phd.getCollect().getCollection_start_date() + " " + phd.getCollect().getCollection_start_time();
} // }
//获取采集开始时间 // //获取采集开始时间
Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + " " + phd.getAcq().getAcquisition_start_time()); // Date acqStart = DateUtils.parseDate(phd.getAcq().getAcquisition_start_date() + " " + phd.getAcq().getAcquisition_start_time());
//计算得到采集结束时间对应的毫秒数 // //计算得到采集结束时间对应的毫秒数
long stopTime = (long) (acqStart.getTime() + (phd.getAcq().getAcquisition_real_time() * 1000)); // long stopTime = (long) (acqStart.getTime() + (phd.getAcq().getAcquisition_real_time() * 1000));
//根据毫秒数得到采集结束时间 // //根据毫秒数得到采集结束时间
Date acquisitionStopDate = new Date(stopTime); // Date acquisitionStopDate = new Date(stopTime);
//格式化得到采集结束时间的字符串 // //格式化得到采集结束时间的字符串
String acquisitionStop = DateUtils.formatDate(acquisitionStopDate, "yyyy-MM-dd HH:mm:ss"); // String acquisitionStop = DateUtils.formatDate(acquisitionStopDate, "yyyy-MM-dd HH:mm:ss");
//从缓存的idc台站信息中获取当前台站对应的台站id // //从缓存的idc台站信息中获取当前台站对应的台站id
Integer stationId = null; // Integer stationId = null;
if (CollectionUtils.isNotEmpty(idcStationMap)) { // if (CollectionUtils.isNotEmpty(idcStationMap)) {
stationId = idcStationMap.get(phd.getHeader().getSite_code()); // stationId = idcStationMap.get(phd.getHeader().getSite_code());
} // }
//连接本地同步的idc数据库 // //连接本地同步的idc数据库
conn = dataService.connectInland(); // conn = dataService.connectInland();
//连接对象为空 则连接idc国际库 // //连接对象为空 则连接idc国际库
if (Objects.isNull(conn)) { // if (Objects.isNull(conn)) {
conn = dataService.connectOverSea(); // conn = dataService.connectOverSea();
} // }
//判断是否连接成功 // //判断是否连接成功
if (Objects.nonNull(conn)) { // if (Objects.nonNull(conn)) {
//查询获取Peaks表的对比数据内容 // //查询获取Peaks表的对比数据内容
nuclideActivityList = dataService.viewNucl(phd.getHeader().getDetector_code(), phd.getHeader().getSpectrum_quantity(), stationId, collectStart, acquisitionStop, conn); // nuclideActivityList = dataService.viewNucl(phd.getHeader().getDetector_code(), phd.getHeader().getSpectrum_quantity(), stationId, collectStart, acquisitionStop, conn);
} // }
result.setSuccess(true); // result.setSuccess(true);
result.setResult(nuclideActivityList); // result.setResult(nuclideActivityList);
} catch (ParseException e) { // } catch (ParseException e) {
throw new RuntimeException(e); // throw new RuntimeException(e);
} finally { // } finally {
try { // try {
if (Objects.nonNull(conn)) { // if (Objects.nonNull(conn)) {
conn.close(); // conn.close();
} // }
} catch (SQLException e) { // } catch (SQLException e) {
throw new RuntimeException(e); // throw new RuntimeException(e);
} // }
} // }
return result; // return result;
} // }
} }

View File

@ -33,6 +33,8 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ
private IGammaService gammaService; private IGammaService gammaService;
@Autowired @Autowired
private IGardsNuclCoincidenceSumSpectrumService nuclCoincidenceSumSpectrumService; private IGardsNuclCoincidenceSumSpectrumService nuclCoincidenceSumSpectrumService;
// @Autowired
// private IDataService dataService;
@Override @Override
@ -64,5 +66,6 @@ public class JeecgSpectrumAnalysisApplication extends SpringBootServletInitializ
localCache.initCache(); localCache.initCache();
gammaService.readMDCParameter(); gammaService.readMDCParameter();
nuclCoincidenceSumSpectrumService.getNuclCoincidenceMap(); nuclCoincidenceSumSpectrumService.getNuclCoincidenceMap();
//dataService.viewStations();
} }
} }