From 19514ff362a94a611888f371ffc43a00ec21a38a Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: Tue, 16 Jul 2024 13:42:48 +0800
Subject: [PATCH] 数据导出
---
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/MonitorDataServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 113 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/MonitorDataServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/MonitorDataServiceImpl.java
index 889ead1..a5fe17d 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/MonitorDataServiceImpl.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/MonitorDataServiceImpl.java
@@ -5,16 +5,18 @@
import com.gkhy.fourierSpecialGasMonitor.commons.enums.ResultCode;
import com.gkhy.fourierSpecialGasMonitor.commons.exception.BusinessException;
import com.gkhy.fourierSpecialGasMonitor.commons.model.PageQuery;
+import com.gkhy.fourierSpecialGasMonitor.commons.utils.BeanCopyUtils;
import com.gkhy.fourierSpecialGasMonitor.entity.*;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasAtmospherePageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasFluxPageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasPageQuery;
-import com.gkhy.fourierSpecialGasMonitor.entity.req.GasAtmosphereLineChartReqDTO;
-import com.gkhy.fourierSpecialGasMonitor.entity.req.GasFluxLineChartReqDTO;
-import com.gkhy.fourierSpecialGasMonitor.entity.req.GasLineChartReqDTO;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.*;
import com.gkhy.fourierSpecialGasMonitor.entity.resp.*;
import com.gkhy.fourierSpecialGasMonitor.service.*;
+import com.gkhy.fourierSpecialGasMonitor.utils.AreaHandle;
+import com.gkhy.fourierSpecialGasMonitor.utils.PositionHandle;
import io.micrometer.core.instrument.util.StringUtils;
+import jodd.bean.BeanCopy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -26,6 +28,7 @@
import java.lang.reflect.Field;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -67,7 +70,7 @@
startTime = zeroTime;
endTime = nowTime;
}
- List<GasConcentration> gasConcentrationList = gasConcentrationService.listDatabyTimeSlot(startTime,endTime);
+ List<GasConcentration> gasConcentrationList = gasConcentrationService.listDatabyTimeSlotAndPosition(startTime,endTime,reqDto.getPosition());
if (CollectionUtils.isEmpty(gasConcentrationList))
return success;
GasCategory gasCategory = gasCategoryService.findById(reqDto.getGasName());
@@ -124,7 +127,7 @@
searchResult.setPageIndex(pageQuery.getPageIndex());
searchResult.setPageSize(pageQuery.getPageSize());
searchResult.setSuccess();
- Page<GasConcentration> pageResult = gasConcentrationService.listDatabyTimeSlotAndPage(pageQuery);
+ Page<GasConcentration> pageResult = gasConcentrationService.listDatabyTimeSlotAndPositionAndPage(pageQuery);
if (CollectionUtils.isEmpty(pageResult.getContent()))
return searchResult;
searchResult.setTotal(pageResult.getTotalElements());
@@ -372,4 +375,109 @@
searchResult.setData(respDTOS);
return searchResult;
}
+
+ @Override
+ public Result gasFluxExport(GasFluxExportBO gasFluxExportBO) {
+
+ Result<List<GasFluxExportDTO>> result = new Result<>();
+
+ List<GasFlux> gasFluxes = gasFluxService.gasFluxExport(gasFluxExportBO);
+ List<GasFluxExportDTO> exportLists = new ArrayList<>();
+ AreaHandle areaHandle = new AreaHandle();
+ for (GasFlux gasFlux : gasFluxes) {
+ GasFluxExportDTO gasFluxExportDTO = BeanCopyUtils.copyBean(gasFlux, GasFluxExportDTO.class);
+ gasFluxExportDTO.setGasName01("甲烷CH4");
+ gasFluxExportDTO.setGasName02("乙烷C2H6");
+ gasFluxExportDTO.setGasName03("丙烷C3H8");
+ gasFluxExportDTO.setGasName04("丁烷C4H10");
+ gasFluxExportDTO.setGasName05("硫化氢H2S");
+ gasFluxExportDTO.setGasName06("乙烯C2H4");
+ gasFluxExportDTO.setGasName07("异丁烷C4H10");
+ gasFluxExportDTO.setAreaId(areaHandle.areaHandleMethod(gasFlux.getAreaId()));
+ if (gasFluxExportBO.getCh4() == 0){
+ gasFluxExportDTO.setGasValue01(null);
+ }
+ if (gasFluxExportBO.getC2h6() == 0){
+ gasFluxExportDTO.setGasValue02(null);
+ }
+ if (gasFluxExportBO.getC3H8() == 0){
+ gasFluxExportDTO.setGasValue03(null);
+ }
+ if (gasFluxExportBO.getC4h101() == 0){
+ gasFluxExportDTO.setGasValue04(null);
+ }
+ if (gasFluxExportBO.getH2s() == 0){
+ gasFluxExportDTO.setGasValue05(null);
+ }
+ if (gasFluxExportBO.getC2h4() == 0){
+ gasFluxExportDTO.setGasValue06(null);
+ }
+ if (gasFluxExportBO.getC4h102() == 0){
+ gasFluxExportDTO.setGasValue07(null);
+ }
+ exportLists.add(gasFluxExportDTO);
+ }
+
+ //sql根据时间查所有,业务中处理数据项
+
+
+ result.setData(exportLists);
+ result.setCode(200);
+ result.setCount(exportLists.size());
+ result.setMsg("通量数据导出成功");
+ return result;
+ }
+
+ @Override
+ public Result gasConcentrationExport(GasConcentrationExportBO gasConcentrationExportBO) {
+
+ Result<List<GasConcentrationExportDTO>> result = new Result<>();
+
+ List<GasConcentration> gasConcentrationList = gasConcentrationService.gasConcentrationExport(gasConcentrationExportBO);
+ List<GasConcentrationExportDTO> exportLists = new ArrayList<>();
+ PositionHandle positionHandle = new PositionHandle();
+
+ for (GasConcentration gasConcentration : gasConcentrationList) {
+ GasConcentrationExportDTO gasConcentrationExportDTO = BeanCopyUtils.copyBean(gasConcentration, GasConcentrationExportDTO.class);
+
+ gasConcentrationExportDTO.setPosition(positionHandle.positionHandleMethod(gasConcentration.getPosition()));
+ gasConcentrationExportDTO.setGasName01("甲烷CH4");
+ gasConcentrationExportDTO.setGasName02("乙烷C2H6");
+ gasConcentrationExportDTO.setGasName03("丙烷C3H8");
+ gasConcentrationExportDTO.setGasName04("丁烷C4H10");
+ gasConcentrationExportDTO.setGasName05("硫化氢H2S");
+ gasConcentrationExportDTO.setGasName06("乙烯C2H4");
+ gasConcentrationExportDTO.setGasName07("异丁烷C4H10");
+ if (gasConcentrationExportBO.getCh4() == 0){
+ gasConcentrationExportDTO.setGasValue01(null);
+ }
+ if (gasConcentrationExportBO.getC2h6() == 0){
+ gasConcentrationExportDTO.setGasValue02(null);
+ }
+ if (gasConcentrationExportBO.getC3H8() == 0){
+ gasConcentrationExportDTO.setGasValue03(null);
+ }
+ if (gasConcentrationExportBO.getC4h101() == 0){
+ gasConcentrationExportDTO.setGasValue04(null);
+ }
+ if (gasConcentrationExportBO.getH2s() == 0){
+ gasConcentrationExportDTO.setGasValue05(null);
+ }
+ if (gasConcentrationExportBO.getC2h4() == 0){
+ gasConcentrationExportDTO.setGasValue06(null);
+ }
+ if (gasConcentrationExportBO.getC4h102() == 0){
+ gasConcentrationExportDTO.setGasValue07(null);
+ }
+ exportLists.add(gasConcentrationExportDTO);
+ }
+
+ //sql根据时间查所有,业务中处理数据项
+
+ result.setData(exportLists);
+ result.setCode(200);
+ result.setCount(exportLists.size());
+ result.setMsg("气体浓度数据导出成功");
+ return result;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.2