样品统计分析接口添加核素数据校验

This commit is contained in:
duwenyuan 2025-10-18 12:46:39 +08:00
parent 1f22a04d5c
commit 3b797f58c4

View File

@ -4,6 +4,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.util.DateUtils;
@ -30,53 +31,54 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
public Result getSampleMonitorResult(String sampleType, Integer dataSource, Date startDate, Date endDate) {
Result result = new Result();
result.setCode(CommonConstant.SC_OK_200);
//声明返回用的结果map
Map<String, Object> resultMap = new HashMap<>();
List<StationInfoData> StationInfoDataList = new ArrayList<>();
try {
result.setCode(CommonConstant.SC_OK_200);
//声明返回用的结果map
Map<String, Object> resultMap = new HashMap<>();
List<StationInfoData> StationInfoDataList = new ArrayList<>();
//region 局部变量
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
//region 局部变量
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
switch (dataSource) {
case 1:
StationInfoDataList = this.baseMapper.getRnAutoSampleResult(sampleType, startTime, endTime);
break;
case 2:
StationInfoDataList = this.baseMapper.getRnManSampleResult(sampleType, startTime, endTime);
break;
}
//时间段内有多少和台站
Map<String, List<StationInfoData>> groupedByMonth = StationInfoDataList.stream()
.collect(Collectors.groupingBy(station ->
station.getCollectStop().toInstant()
.atZone(ZoneId.of("UTC"))
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
));
resultMap.put("SampleMonitorResultList", groupedByMonth);
result.setSuccess(true);
result.setResult(resultMap);
return result;
} catch (Exception e) {
result.error500("样品监测回放错误:" + e.getMessage());
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
switch (dataSource) {
case 1:
StationInfoDataList = this.baseMapper.getRnAutoSampleResult(sampleType, startTime, endTime);
break;
case 2:
StationInfoDataList = this.baseMapper.getRnManSampleResult(sampleType, startTime, endTime);
break;
}
//时间段内有多少和台站
Map<String, List<StationInfoData>> groupedByMonth = StationInfoDataList.stream()
.collect(Collectors.groupingBy(station ->
station.getCollectStop().toInstant()
.atZone(ZoneId.of("UTC"))
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
));
resultMap.put("SampleMonitorResultList", groupedByMonth);
result.setSuccess(true);
result.setResult(resultMap);
return result;
}
@ -98,56 +100,62 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
String schemaName = dataSource == 1 ? "RNAUTO" : "RNMAN";
//region 局部变量
Result result = new Result();
result.setCode(CommonConstant.SC_OK_200);
if (StringUtils.isBlank(stationCode)) {
result.error500("Station Code cannot be null");
try {
result.setCode(CommonConstant.SC_OK_200);
if (StringUtils.isBlank(stationCode)) {
result.error500("Station Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
switch (dataSource) {
//RNAUTO
case 1:
//获取样品中识别到的核素集合
nuclideActConcIntvlList = this.baseMapper.getRnAutoIdentifiedNuclides(stationCode, startTime, endTime);
//核素等级时序分析
sampleLevelDataList = this.baseMapper.getRnAutoNuclideTimeSeriesAnalysis(stationCode, startTime, endTime);
break;
//RNMAN
case 2:
//获取样品中识别到的核素集合
nuclideActConcIntvlList = this.baseMapper.getRnManIdentifiedNuclides(stationCode, startTime, endTime);
//核素等级时序分析
sampleLevelDataList = this.baseMapper.getRnManNuclideTimeSeriesAnalysis(stationCode, startTime, endTime);
break;
}
//key=核素名称,value=获取样品中识别到的核素集合
Map<String, List<NuclideActConcIntvl>> groupedByNuclideName = nuclideActConcIntvlList.stream()
.filter(p -> p.getNuclideName() != null)
.collect(Collectors.groupingBy(NuclideActConcIntvl::getNuclideName));
//查询级别 getSample
List<String> nuclideNames = new ArrayList<>(groupedByNuclideName.keySet());
if (CollectionUtils.isNotEmpty(nuclideNames)) {
//通过台站ID核素名称查找阈值
thresholdResultHisDataList = this.baseMapper.selectByStationAndNuclides(schemaName, Integer.valueOf(stationCode), nuclideNames, startTime, endTime);
}
resultMap.put("nuclideActConcIntvlList", groupedByNuclideName);
resultMap.put("sampleLevelDataList", sampleLevelDataList);
resultMap.put("thresholdResultHisDataList", thresholdResultHisDataList);
result.setSuccess(true);
result.setResult(resultMap);
return result;
} catch (Exception e) {
result.error500("样品统计分析错误:" + e.getMessage());
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
switch (dataSource) {
//RNAUTO
case 1:
//获取样品中识别到的核素集合
nuclideActConcIntvlList = this.baseMapper.getRnAutoIdentifiedNuclides(stationCode, startTime, endTime);
//核素等级时序分析
sampleLevelDataList = this.baseMapper.getRnAutoNuclideTimeSeriesAnalysis(stationCode, startTime, endTime);
break;
//RNMAN
case 2:
//获取样品中识别到的核素集合
nuclideActConcIntvlList = this.baseMapper.getRnManIdentifiedNuclides(stationCode, startTime, endTime);
//核素等级时序分析
sampleLevelDataList = this.baseMapper.getRnManNuclideTimeSeriesAnalysis(stationCode, startTime, endTime);
break;
}
//key=核素名称,value=获取样品中识别到的核素集合
Map<String, List<NuclideActConcIntvl>> groupedByNuclideName = nuclideActConcIntvlList.stream()
.filter(p -> p.getNuclideName() != null)
.collect(Collectors.groupingBy(NuclideActConcIntvl::getNuclideName));
//查询级别 getSample
List<String> nuclideNames = new ArrayList<>(groupedByNuclideName.keySet());
//通过台站ID核素名称查找阈值
thresholdResultHisDataList = this.baseMapper.selectByStationAndNuclides(schemaName, Integer.valueOf(stationCode), nuclideNames, startTime, endTime);
resultMap.put("nuclideActConcIntvlList", groupedByNuclideName);
resultMap.put("sampleLevelDataList", sampleLevelDataList);
resultMap.put("thresholdResultHisDataList", thresholdResultHisDataList);
result.setSuccess(true);
result.setResult(resultMap);
return result;
}
/**
@ -163,43 +171,46 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
List<SampleLevelData> sampleDataList = new ArrayList<>();
//region 局部变量
Result result = new Result();
result.setCode(CommonConstant.SC_OK_200);
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
try {
result.setCode(CommonConstant.SC_OK_200);
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
return result;
}
if (StringUtils.isBlank(station)) {
result.error500("Station Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
switch (dataSource) {
case 1:
sampleDataList = this.baseMapper.getRnAutoSampleGradeAnalysis(sampleType, station, startTime, endTime);
break;
case 2:
sampleDataList = this.baseMapper.getRnManSampleGradeAnalysis(sampleType, station, startTime, endTime);
break;
}
resultMap.put("sampleDataList", sampleDataList);
result.setSuccess(true);
result.setResult(resultMap);
return result;
} catch (Exception e) {
result.error500("样品统计分析错误:" + e.getMessage());
return result;
}
if (StringUtils.isBlank(station)) {
result.error500("Station Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
switch (dataSource) {
case 1:
sampleDataList = this.baseMapper.getRnAutoSampleGradeAnalysis(sampleType, station, startTime, endTime);
break;
case 2:
sampleDataList = this.baseMapper.getRnManSampleGradeAnalysis(sampleType, station, startTime, endTime);
break;
}
resultMap.put("sampleDataList", sampleDataList);
result.setSuccess(true);
result.setResult(resultMap);
return result;
}
/*** 样品活度浓度区间频率分析
@ -219,86 +230,92 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
List<NuclideActConcIntvl> nuclideActConcIntvls = new ArrayList<>();
//region 局部变量
Result result = new Result();
result.setCode(CommonConstant.SC_OK_200);
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
try {
result.setCode(CommonConstant.SC_OK_200);
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
return result;
}
if (StringUtils.isBlank(nuclideName)) {
result.error500("nuclideName Code cannot be null");
return result;
}
if (StringUtils.isBlank(station)) {
result.error500("Station Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
//根据数据源样品类型查询样品的浓度
switch (sampleType) {
case "P":
switch (dataSource) {
//RNAUTO
case 1:
nuclideActConcIntvls = this.baseMapper.getRnautoPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
//RNMAN
case 2:
nuclideActConcIntvls = this.baseMapper.getRnautoNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
}
break;
case "B":
switch (dataSource) {
case 1:
nuclideActConcIntvls = this.baseMapper.getRnmanPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
case 2:
nuclideActConcIntvls = this.baseMapper.getRnmanNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
}
break;
}
//获取浓度出现的次数
//获取浓度值集合
List<Double> data = DistributionAnalysisToolkit.convertConcToDoubleList(nuclideActConcIntvls);
// 设置区间参数
double start = 0; // 区间起始值
double step = 200; // 区间步长宽度
// 1. 区间统计
List<DistributionAnalysisToolkit.IntervalStat> stats = DistributionAnalysisToolkit.calculateIntervalStats(nuclideActConcIntvls, start, step);
// 3. 累积分布函数
List<DistributionAnalysisToolkit.CDFPoint> cdfPoints = DistributionAnalysisToolkit.calculateCDF(data);
// 4. 核密度估计
List<DistributionAnalysisToolkit.KDEPoint> kdePoints = DistributionAnalysisToolkit.autoKDE(data, DistributionAnalysisToolkit.GAUSSIAN_KERNEL);
//获取所有浓度的累积
List<Double> cumulative = DistributionAnalysisToolkit.cumulativeSum(data);
//获取95%累积线
double percentile95 = DistributionAnalysisToolkit.calculate95thPercentile(data);
resultMap.put("stats", stats);
resultMap.put("cdfPoints", cdfPoints);
resultMap.put("kdePoints", kdePoints);
resultMap.put("cumulative", cumulative);
resultMap.put("percentile95", percentile95);
result.setSuccess(true);
result.setResult(resultMap);
return result;
} catch (Exception e) {
result.error500("样品活度浓度区间频率分析错误:" + e.getMessage());
return result;
}
if (StringUtils.isBlank(nuclideName)) {
result.error500("nuclideName Code cannot be null");
return result;
}
if (StringUtils.isBlank(station)) {
result.error500("Station Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
//根据数据源样品类型查询样品的浓度
switch (sampleType) {
case "P":
switch (dataSource) {
//RNAUTO
case 1:
nuclideActConcIntvls = this.baseMapper.getRnautoPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
//RNMAN
case 2:
nuclideActConcIntvls = this.baseMapper.getRnautoNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
}
break;
case "B":
switch (dataSource) {
case 1:
nuclideActConcIntvls = this.baseMapper.getRnmanPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
case 2:
nuclideActConcIntvls = this.baseMapper.getRnmanNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
break;
}
break;
}
//获取浓度出现的次数
//获取浓度值集合
List<Double> data = DistributionAnalysisToolkit.convertConcToDoubleList(nuclideActConcIntvls);
// 设置区间参数
double start = 0; // 区间起始值
double step = 200; // 区间步长宽度
// 1. 区间统计
List<DistributionAnalysisToolkit.IntervalStat> stats = DistributionAnalysisToolkit.calculateIntervalStats(nuclideActConcIntvls, start, step);
// 3. 累积分布函数
List<DistributionAnalysisToolkit.CDFPoint> cdfPoints = DistributionAnalysisToolkit.calculateCDF(data);
// 4. 核密度估计
List<DistributionAnalysisToolkit.KDEPoint> kdePoints = DistributionAnalysisToolkit.autoKDE(data, DistributionAnalysisToolkit.GAUSSIAN_KERNEL);
//获取所有浓度的累积
List<Double> cumulative = DistributionAnalysisToolkit.cumulativeSum(data);
//获取95%累积线
double percentile95 = DistributionAnalysisToolkit.calculate95thPercentile(data);
resultMap.put("stats", stats);
resultMap.put("cdfPoints", cdfPoints);
resultMap.put("kdePoints", kdePoints);
resultMap.put("cumulative", cumulative);
resultMap.put("percentile95", percentile95);
result.setSuccess(true);
result.setResult(resultMap);
return result;
}
/*** 核素活度浓度时序分析
@ -314,75 +331,82 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
@Override
public Result getSampleActConcTimeSeqAnalysis(String sampleType, String station, String nuclideName, Integer dataSource, Date startDate, Date endDate) {
Result result = new Result();
result.setCode(CommonConstant.SC_OK_200);
//声明返回用的结果map
Map<String, Object> resultMap = new HashMap<>();
//region 局部变量
try {
result.setCode(CommonConstant.SC_OK_200);
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
return result;
}
if (StringUtils.isBlank(nuclideName)) {
result.error500("nuclideName Code cannot be null");
return result;
}
if (StringUtils.isBlank(station)) {
result.error500("Station Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
//获取样品阈值级别和阈值
List<SampleLevelData> sampleDatas = new ArrayList<>();
//核素的阈值
List<GardsThresholdResultHis> thresholdResultHisList = new ArrayList<>();
List<NuclideActConcIntvl> nuclideActConcIntvls = new ArrayList<>();
nuclideActConcIntvls = switch (sampleType) {
case "P" -> {
sampleDatas = this.baseMapper.getRnAutoSampleLevel(station, startTime, endTime);
yield switch (dataSource) {
//RNAUTO
case 1 ->
this.baseMapper.getRnautoPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
//RNMAN
case 2 ->
this.baseMapper.getRnautoNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
default -> nuclideActConcIntvls;
};
//region 局部变量
if (StringUtils.isBlank(sampleType)) {
result.error500("SampleType Code cannot be null");
return result;
}
case "B" -> {
sampleDatas = this.baseMapper.getRnManSampleLevel(station, startTime, endTime);
yield switch (dataSource) {
case 1 ->
this.baseMapper.getRnmanPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
case 2 ->
this.baseMapper.getRnmanNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
default -> nuclideActConcIntvls;
};
if (StringUtils.isBlank(nuclideName)) {
result.error500("nuclideName Code cannot be null");
return result;
}
default -> nuclideActConcIntvls;
};
String schemaName = dataSource == 1 ? "RNAUTO" : "RNMAN";
if (StringUtils.isBlank(station)) {
result.error500("Station Code cannot be null");
return result;
}
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
//endregion
//获取样品阈值级别和阈值
List<SampleLevelData> sampleDatas = new ArrayList<>();
//核素的阈值
List<GardsThresholdResultHis> thresholdResultHisList = new ArrayList<>();
List<NuclideActConcIntvl> nuclideActConcIntvls = new ArrayList<>();
nuclideActConcIntvls = switch (sampleType) {
case "P" -> {
sampleDatas = this.baseMapper.getRnAutoSampleLevel(station, startTime, endTime);
yield switch (dataSource) {
//RNAUTO
case 1 ->
this.baseMapper.getRnautoPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
//RNMAN
case 2 ->
this.baseMapper.getRnautoNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
default -> nuclideActConcIntvls;
};
}
case "B" -> {
sampleDatas = this.baseMapper.getRnManSampleLevel(station, startTime, endTime);
yield switch (dataSource) {
case 1 ->
this.baseMapper.getRnmanPNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
case 2 ->
this.baseMapper.getRnmanNuclideActConcIntvl(sampleType, station, nuclideName, startTime, endTime);
default -> nuclideActConcIntvls;
};
}
default -> nuclideActConcIntvls;
};
String schemaName = dataSource == 1 ? "RNAUTO" : "RNMAN";
thresholdResultHisList = this.baseMapper.selectByCondition(schemaName, Arrays.asList(Integer.valueOf(station))
, Arrays.asList(nuclideName), startTime, endTime);
resultMap.put("sampleDataList", sampleDatas);
resultMap.put("nuclideInfoList", nuclideActConcIntvls);
resultMap.put("thresholdResultHisList", thresholdResultHisList);
thresholdResultHisList = this.baseMapper.selectByCondition(schemaName, Arrays.asList(Integer.valueOf(station))
, Arrays.asList(nuclideName), startTime, endTime);
resultMap.put("sampleDataList", sampleDatas);
resultMap.put("nuclideInfoList", nuclideActConcIntvls);
resultMap.put("thresholdResultHisList", thresholdResultHisList);
result.setSuccess(true);
result.setResult(resultMap);
return result;
} catch (Exception e) {
result.error500("核素活度浓度时序分析错误:" + e.getMessage());
return result;
}
result.setSuccess(true);
result.setResult(resultMap);
return result;
}
/*** 核素活度浓度对比分析
@ -396,43 +420,48 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
* @return
*/
public Result getNuclideActivityConcAnalyze(String sampleType, Integer[] stationIds, String nuclideName, Integer dataSource, Date startDate, Date endDate) {
Result result = new Result();
result.setCode(CommonConstant.SC_OK_200);
Map<String, Object> resultMap = new HashMap<>();
List<NuclideActConcIntvl> nuclideActConcIntvls = new ArrayList<>();
//region 局部变量
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
if (Objects.isNull(stationIds)) {
Result result = new Result();
try {
result.setCode(CommonConstant.SC_OK_200);
//region 局部变量
if (Objects.isNull(startDate)) {
result.error500("The start time cannot be empty");
return result;
}
String startTime = DateUtils.formatDate(startDate, "yyyy-MM-dd") + " 00:00:00";
if (Objects.isNull(endDate)) {
result.error500("The end time cannot be empty");
return result;
}
String endTime = DateUtils.formatDate(endDate, "yyyy-MM-dd") + " 23:59:59";
if (Objects.isNull(stationIds)) {
result.setSuccess(true);
result.setResult(Collections.emptyList());
return result;
}
//endregion
switch (dataSource) {
case 1:
nuclideActConcIntvls = this.baseMapper.getRnAutoAnalyzeNuclideActivityConc(sampleType, nuclideName, stationIds, startTime, endTime);
break;
case 2:
nuclideActConcIntvls = this.baseMapper.getRnManAnalyzeNuclideActivityConc(sampleType, nuclideName, stationIds, startTime, endTime);
break;
}
resultMap.put("nuclideInfoList", nuclideActConcIntvls);
result.setSuccess(true);
result.setResult(Collections.emptyList());
result.setResult(resultMap);
return result;
} catch (Exception e) {
result.error500("核素活度浓度对比分析错误:" + e.getMessage());
return result;
}
//endregion
switch (dataSource) {
case 1:
nuclideActConcIntvls = this.baseMapper.getRnAutoAnalyzeNuclideActivityConc(sampleType, nuclideName, stationIds, startTime, endTime);
break;
case 2:
nuclideActConcIntvls = this.baseMapper.getRnManAnalyzeNuclideActivityConc(sampleType, nuclideName, stationIds, startTime, endTime);
break;
}
resultMap.put("nuclideInfoList", nuclideActConcIntvls);
result.setSuccess(true);
result.setResult(resultMap);
return result;
}
@Override