diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/RadionuclideController.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/RadionuclideController.java new file mode 100644 index 00000000..b7652b8c --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/RadionuclideController.java @@ -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); + } + + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java index 8df212f8..20b0f81d 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/controller/WebStatisticsController.java @@ -45,20 +45,20 @@ public class WebStatisticsController { @GetMapping("findParticulatePage") @ApiOperation(value = "气溶胶分页查询", notes = "气溶胶分页查询") - public Result findParticulatePage(QueryRequest queryRequest, List 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 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 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); } diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsAnalyses.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsAnalyses.java new file mode 100644 index 00000000..20a622f4 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/entity/GardsAnalyses.java @@ -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; + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsAnalysesMapper.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsAnalysesMapper.java new file mode 100644 index 00000000..b878d5c2 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/mapper/GardsAnalysesMapper.java @@ -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 { +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IAutoService.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IAutoService.java new file mode 100644 index 00000000..045e710d --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IAutoService.java @@ -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 { + + Result findAutoPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime); + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsMetDataService.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsMetDataService.java index ad1555e1..ad235020 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsMetDataService.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsMetDataService.java @@ -19,6 +19,6 @@ public interface IGardsMetDataService extends IService { * @param endTime * @return */ - Result findMetPage(QueryRequest queryRequest, List stationIds, Date startTime, Date endTime); + Result findMetPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime); } diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java index 3addf787..641e2037 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSampleDataService.java @@ -21,7 +21,7 @@ public interface IGardsSampleDataService extends IService { * @param endTime * @return */ - Result findParticulatePage(QueryRequest queryRequest, List 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 { */ Result findParticulateEfficiency(Integer sampleId); + /** + * 查询全部基础数据 + * @return + */ + Result findPageBySampleIds(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime, List sampleIds); + } diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSohDataService.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSohDataService.java index 7122afcd..11f6206a 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSohDataService.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IGardsSohDataService.java @@ -18,6 +18,6 @@ public interface IGardsSohDataService extends IService { * @param endTime * @return */ - Result findSohPage(QueryRequest queryRequest, List stationIds, Date startTime, Date endTime); + Result findSohPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime); } diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IReviewedService.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IReviewedService.java new file mode 100644 index 00000000..dad18d6c --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/IReviewedService.java @@ -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 { + + Result findReviewedPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime); + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/AutoServiceImpl.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/AutoServiceImpl.java new file mode 100644 index 00000000..c8a33fb8 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/AutoServiceImpl.java @@ -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 implements IAutoService { + + @Autowired + private IGardsSampleDataService gardsSampleDataService; + + @Override + public Result findAutoPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime) { + //查询自动处理后的 + LambdaQueryWrapper analysesQueryWrapper = new LambdaQueryWrapper<>(); + List gardsAnalyses = this.baseMapper.selectList(analysesQueryWrapper); + if (CollectionUtils.isNotEmpty(gardsAnalyses)){ + //获取全部样品id + List sampleIds = gardsAnalyses.stream().map(GardsAnalyses::getSampleId).collect(Collectors.toList()); + //查询全部样品基础数据 + Result result = gardsSampleDataService.findPageBySampleIds(queryRequest, stationIds, startTime, endTime, sampleIds); + return result; + }else { + return null; + } + } + +} diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsMetDataServiceImpl.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsMetDataServiceImpl.java index 8770a2bd..ce992dee 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsMetDataServiceImpl.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsMetDataServiceImpl.java @@ -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 implements IGardsMetDataService { @Override - public Result findMetPage(QueryRequest queryRequest, List 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)){ diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java index 411d81d9..b32566d2 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSampleDataServiceImpl.java @@ -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 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 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 sampleIds){ + Result result = new Result(); + try { + //获取redis中缓存的台站信息 + Map stationMap = (Map)redisUtil.get("stationMap"); + Page 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 queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(GardsSampleData::getStationId, stationIds); + queryWrapper.in(GardsSampleData::getSampleId, sampleIds); + queryWrapper.ge(GardsSampleData::getCollectStart, startDate); + queryWrapper.le(GardsSampleData::getCollectStop, endDate); + Page 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); + } + } + } diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSohDataServiceImpl.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSohDataServiceImpl.java index 447fc9ae..ac9727a5 100644 --- a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSohDataServiceImpl.java +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/GardsSohDataServiceImpl.java @@ -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 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)){ diff --git a/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/ReviewedServiceImpl.java b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/ReviewedServiceImpl.java new file mode 100644 index 00000000..a65066c7 --- /dev/null +++ b/jeecg-module-web-statistics/src/main/java/org/jeecg/modules/service/impl/ReviewedServiceImpl.java @@ -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 implements IReviewedService { + + @Autowired + private IGardsSampleDataService gardsSampleDataService; + + @Override + public Result findReviewedPage(QueryRequest queryRequest, Integer[] stationIds, Date startTime, Date endTime) { + //查询自动处理后的 + LambdaQueryWrapper analysesQueryWrapper = new LambdaQueryWrapper<>(); + List gardsAnalyses = this.baseMapper.selectList(analysesQueryWrapper); + if (CollectionUtils.isNotEmpty(gardsAnalyses)){ + //获取全部样品id + List sampleIds = gardsAnalyses.stream().map(GardsAnalyses::getSampleId).collect(Collectors.toList()); + //查询全部样品基础数据 + Result result = gardsSampleDataService.findPageBySampleIds(queryRequest, stationIds, startTime, endTime, sampleIds); + return result; + }else { + return null; + } + } +}