修改分页查询气溶胶数据传递参数内容

修改分页查询状态数据传递参数内容
修改分页查询气象数据传递参数内容
新增分页查询自动处理后样品数据信息接口
新增分页查询人工交互后样品数据信息接口
This commit is contained in:
qiaoqinzheng 2023-06-12 18:48:12 +08:00
parent 20a32baf79
commit b6aea4d2a9
14 changed files with 322 additions and 24 deletions

View File

@ -0,0 +1,37 @@
package org.jeecg.modules.controller;
import org.jeecg.common.api.QueryRequest;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.service.IAutoService;
import org.jeecg.modules.service.IReviewedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
@RestController
@RequestMapping("radionuclide")
public class RadionuclideController {
@Autowired
private IAutoService autoService;
@Autowired
private IReviewedService reviewedService;
@GetMapping("findAutoPage")
public Result findAutoPage(QueryRequest queryRequest, Integer[] stationIds,
@DateTimeFormat(pattern = "yyyy-MM-dd")Date startTime, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
return autoService.findAutoPage(queryRequest, stationIds, startTime, endTime);
}
@GetMapping("findReviewedPage")
public Result findReviewedPage(QueryRequest queryRequest, Integer[] stationIds,
@DateTimeFormat(pattern = "yyyy-MM-dd")Date startTime, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
return reviewedService.findReviewedPage(queryRequest, stationIds, startTime, endTime);
}
}

View File

@ -45,20 +45,20 @@ public class WebStatisticsController {
@GetMapping("findParticulatePage")
@ApiOperation(value = "气溶胶分页查询", notes = "气溶胶分页查询")
public Result findParticulatePage(QueryRequest queryRequest, List<Integer> stationIds, String dataType,
public Result findParticulatePage(QueryRequest queryRequest, Integer[] stationIds, String dataType,
String spectralQualifie, @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,@DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
return gardsSampleDataService.findParticulatePage(queryRequest, stationIds, dataType, spectralQualifie, startTime, endTime);
}
@GetMapping("findMetPage")
@ApiOperation(value = "气象数据分页查询", notes = "气象数据分页查询")
public Result findMetPage(QueryRequest queryRequest, List<Integer> stationIds,@DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,@DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
public Result findMetPage(QueryRequest queryRequest, Integer[] stationIds,@DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,@DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
return gardsMetDataService.findMetPage(queryRequest, stationIds, startTime, endTime);
}
@GetMapping("findSohPage")
@ApiOperation(value = "状态数据分页查询", notes = "状态数据分页查询")
public Result findSohPage(QueryRequest queryRequest, List<Integer> stationIds,@DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,@DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
public Result findSohPage(QueryRequest queryRequest, Integer[] stationIds,@DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,@DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime){
return gardsSohDataService.findSohPage(queryRequest, stationIds, startTime, endTime);
}

View File

@ -0,0 +1,104 @@
package org.jeecg.modules.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName(value = "gards_analyses")
public class GardsAnalyses implements Serializable {
@TableField(value = "IDANALYSIS")
private Integer idAnalysis;
@TableField(value = "SAMPLE_ID")
private Integer sampleId;
@TableField(value = "ANALYSISBEGIN")
private Date analysisBegin;
@TableField(value = "ANALYSISEND")
private Date analysisEnd;
@TableField(value = "TYPE")
private String type;
@TableField(value = "SOFTWARE")
private String software;
@TableField(value = "SWVERSION")
private String swVersion;
@TableField(value = "ANALYST")
private String analyst;
@TableField(value = "BASELINEMETHOD")
private String baseLineMethod;
@TableField(value = "PEAKSMETHOD")
private String peaksMethod;
@TableField(value = "NUCLIDEMETHOD")
private String nuclideMethod;
@TableField(value = "UNCCALCMETHOD")
private String unccalcMethod;
@TableField(value = "LCMETHOD")
private String lcMethod;
@TableField(value = "SEARCHSTARTCHANNEL")
private Integer searchStartChannel;
@TableField(value = "SEARCHENDCHANNEL")
private Integer searchEndChannel;
@TableField(value = "SEARCHTHRESHOLD")
private Double searchThreshold;
@TableField(value = "NUMBEROFPEAKS")
private Integer numberOfPeaks;
@TableField(value = "TOTALCOUNTS")
private Double totalCounts;
@TableField(value = "CATEGORY")
private Integer cateGory;
@TableField(value = "COMMENTS")
private String comments;
@TableField(value = "MODDATE")
private Date moddate;
@TableField(value = "USEDGASPHD")
private String usedGasPhd;
@TableField(value = "USEDDETPHD")
private String usedDetPhd;
@TableField(value = "USEDGASPHD_ID")
private Integer usedGasPhdId;
@TableField(value = "USEDDETPHD_ID")
private Integer usedDetPhdId;
@TableField(value = "BASELINE_PATH")
private String baseLinePath;
@TableField(value = "LC_PATH")
private String lcPath;
@TableField(value = "SCAC_PATH")
private String scacPath;
@TableField(value = "LOG_PATH")
private String logPath;
@TableField(value = "REPORT_PAHT")
private String reportPath;
}

View File

@ -0,0 +1,7 @@
package org.jeecg.modules.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.entity.GardsAnalyses;
public interface GardsAnalysesMapper extends BaseMapper<GardsAnalyses> {
}

View File

@ -0,0 +1,15 @@
package org.jeecg.modules.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.QueryRequest;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.GardsAnalyses;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public interface IAutoService extends IService<GardsAnalyses> {
Result findAutoPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime);
}

View File

@ -19,6 +19,6 @@ public interface IGardsMetDataService extends IService<GardsMetData> {
* @param endTime
* @return
*/
Result findMetPage(QueryRequest queryRequest, List<Integer> stationIds, Date startTime, Date endTime);
Result findMetPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime);
}

View File

@ -21,7 +21,7 @@ public interface IGardsSampleDataService extends IService<GardsSampleData> {
* @param endTime
* @return
*/
Result findParticulatePage(QueryRequest queryRequest, List<Integer> stationIds, String dataType, String spectralQualifie, Date startTime,Date endTime);
Result findParticulatePage(QueryRequest queryRequest, Integer[] stationIds, String dataType, String spectralQualifie, Date startTime,Date endTime);
/**
* 查询谱数据详细信息
@ -51,4 +51,10 @@ public interface IGardsSampleDataService extends IService<GardsSampleData> {
*/
Result findParticulateEfficiency(Integer sampleId);
/**
* 查询全部基础数据
* @return
*/
Result findPageBySampleIds(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime, List<Integer> sampleIds);
}

View File

@ -18,6 +18,6 @@ public interface IGardsSohDataService extends IService<GardsSohData> {
* @param endTime
* @return
*/
Result findSohPage(QueryRequest queryRequest, List<Integer> stationIds, Date startTime, Date endTime);
Result findSohPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime);
}

View File

@ -0,0 +1,15 @@
package org.jeecg.modules.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.QueryRequest;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.GardsAnalyses;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public interface IReviewedService extends IService<GardsAnalyses> {
Result findReviewedPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime);
}

View File

@ -0,0 +1,44 @@
package org.jeecg.modules.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.api.QueryRequest;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.GardsAnalyses;
import org.jeecg.modules.entity.GardsSampleData;
import org.jeecg.modules.mapper.GardsAnalysesMapper;
import org.jeecg.modules.service.IAutoService;
import org.jeecg.modules.service.IGardsSampleDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service("autoService")
@DS("auo")
public class AutoServiceImpl extends ServiceImpl<GardsAnalysesMapper, GardsAnalyses> implements IAutoService {
@Autowired
private IGardsSampleDataService gardsSampleDataService;
@Override
public Result findAutoPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime) {
//查询自动处理后的
LambdaQueryWrapper<GardsAnalyses> analysesQueryWrapper = new LambdaQueryWrapper<>();
List<GardsAnalyses> gardsAnalyses = this.baseMapper.selectList(analysesQueryWrapper);
if (CollectionUtils.isNotEmpty(gardsAnalyses)){
//获取全部样品id
List<Integer> sampleIds = gardsAnalyses.stream().map(GardsAnalyses::getSampleId).collect(Collectors.toList());
//查询全部样品基础数据
Result result = gardsSampleDataService.findPageBySampleIds(queryRequest, stationIds, startTime, endTime, sampleIds);
return result;
}else {
return null;
}
}
}

View File

@ -15,6 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@ -24,11 +25,11 @@ import java.util.Objects;
public class GardsMetDataServiceImpl extends ServiceImpl<GardsMetDataMapper, GardsMetData> implements IGardsMetDataService {
@Override
public Result findMetPage(QueryRequest queryRequest, List<Integer> stationIds, Date startTime, Date endTime) {
public Result findMetPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime) {
try {
Result result = new Result();
if (CollectionUtils.isEmpty(stationIds)){
result.error500("台站信息不能为空");
if (Objects.isNull(stationIds)){
result.setResult(Collections.emptyList());
return result;
}
if (Objects.isNull(startTime)){

View File

@ -3,7 +3,6 @@ package org.jeecg.modules.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
@ -14,19 +13,17 @@ import org.jeecg.common.util.RedisUtil;
import org.jeecg.modules.entity.GardsCalibrationPairsOrig;
import org.jeecg.modules.entity.GardsSampleAux;
import org.jeecg.modules.entity.GardsSampleData;
import org.jeecg.modules.entity.SysDict;
import org.jeecg.modules.mapper.GardsCalibrationPairsOrigMapper;
import org.jeecg.modules.mapper.GardsSampleAuxMapper;
import org.jeecg.modules.mapper.GardsSampleDataMapper;
import org.jeecg.modules.mapper.SysDictMapper;
import org.jeecg.modules.service.IGardsSampleDataService;
import org.jeecg.modules.system.entity.GardsStations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
@Service("gardsSampleDataService")
@DS("ori")
@ -40,7 +37,7 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe
private GardsCalibrationPairsOrigMapper gardsCalibrationPairsOrigMapper;
@Override
public Result findParticulatePage(QueryRequest queryRequest, List<Integer> stationIds, String dataType, String spectralQualifie, Date startTime,Date endTime) {
public Result findParticulatePage(QueryRequest queryRequest, Integer[] stationIds, String dataType, String spectralQualifie, Date startTime,Date endTime) {
try {
Result result = new Result();
//获取redis中缓存的台站信息
@ -57,8 +54,9 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe
result.error500("结束时间不能为空");
return result;
}
if (CollectionUtils.isEmpty(stationIds)){
result.error500("台站信息不能为空");
if (Objects.isNull(stationIds)){
result.setSuccess(true);
result.setResult(Collections.emptyList());
return result;
}
Date startDate = DateUtils.parseDate(DateUtils.formatDate(startTime, "yyyy-MM-dd") + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
@ -81,6 +79,7 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe
//进行分页查询
Page<GardsSampleData> sampleDataPage = this.baseMapper.selectPage(page, queryWrapper);
sampleDataPage.getRecords().forEach(item->{
item.setSiteDetCode(StringUtils.trim(item.getSiteDetCode()));
if (stationMap.containsKey(item.getStationId().toString()) && CollectionUtils.isNotEmpty(stationMap)){
String stationName = stationMap.get(item.getStationId().toString());
item.setStationName(stationName);
@ -233,4 +232,35 @@ public class GardsSampleDataServiceImpl extends ServiceImpl<GardsSampleDataMappe
return result;
}
@Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class)
public Result findPageBySampleIds(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime, List<Integer> sampleIds){
Result result = new Result();
try {
//获取redis中缓存的台站信息
Map<Integer, String> stationMap = (Map<Integer, String>)redisUtil.get("stationMap");
Page<GardsSampleData> page = new Page<>(queryRequest.getPageNo(), queryRequest.getPageSize());
Date startDate = DateUtils.parseDate(DateUtils.formatDate(startTime, "yyyy-MM-dd") + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
Date endDate = DateUtils.parseDate(DateUtils.formatDate(endTime, "yyyy-MM-dd") + " 00:00:00", "yyyy-MM-dd HH:mm:ss");
LambdaQueryWrapper<GardsSampleData> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(GardsSampleData::getStationId, stationIds);
queryWrapper.in(GardsSampleData::getSampleId, sampleIds);
queryWrapper.ge(GardsSampleData::getCollectStart, startDate);
queryWrapper.le(GardsSampleData::getCollectStop, endDate);
Page<GardsSampleData> sampleDataPage = this.baseMapper.selectPage(page, queryWrapper);
sampleDataPage.getRecords().forEach(item->{
item.setSiteDetCode(StringUtils.trim(item.getSiteDetCode()));
if (stationMap.containsKey(item.getStationId().toString()) && CollectionUtils.isNotEmpty(stationMap)){
String stationName = stationMap.get(item.getStationId().toString());
item.setStationName(stationName);
}
});
result.setSuccess(true);
result.setResult(sampleDataPage);
return result;
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
}

View File

@ -17,10 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
@Service("gardsSohDataService")
@DS("ori")
@ -30,11 +27,11 @@ public class GardsSohDataServiceImpl extends ServiceImpl<GardsSohDataMapper, Gar
private RedisUtil redisUtil;
@Override
public Result findSohPage(QueryRequest queryRequest, List<Integer> stationIds, Date startTime, Date endTime) {
public Result findSohPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime) {
try {
Result result = new Result();
if (CollectionUtils.isEmpty(stationIds)){
result.error500("台站信息不能为空");
if (Objects.isNull(stationIds)){
result.setResult(Collections.emptyList());
return result;
}
if (Objects.isNull(startTime)){

View File

@ -0,0 +1,42 @@
package org.jeecg.modules.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.api.QueryRequest;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.entity.GardsAnalyses;
import org.jeecg.modules.mapper.GardsAnalysesMapper;
import org.jeecg.modules.service.IGardsSampleDataService;
import org.jeecg.modules.service.IReviewedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service("reviewedService")
@DS("man")
public class ReviewedServiceImpl extends ServiceImpl<GardsAnalysesMapper, GardsAnalyses> implements IReviewedService {
@Autowired
private IGardsSampleDataService gardsSampleDataService;
@Override
public Result findReviewedPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime) {
//查询自动处理后的
LambdaQueryWrapper<GardsAnalyses> analysesQueryWrapper = new LambdaQueryWrapper<>();
List<GardsAnalyses> gardsAnalyses = this.baseMapper.selectList(analysesQueryWrapper);
if (CollectionUtils.isNotEmpty(gardsAnalyses)){
//获取全部样品id
List<Integer> sampleIds = gardsAnalyses.stream().map(GardsAnalyses::getSampleId).collect(Collectors.toList());
//查询全部样品基础数据
Result result = gardsSampleDataService.findPageBySampleIds(queryRequest, stationIds, startTime, endTime, sampleIds);
return result;
}else {
return null;
}
}
}