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/utils/AreaHandle.java | 36 ++++
src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasFluxExportBO.java | 33 ++++
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java | 49 +++++
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/MonitorDataServiceImpl.java | 114 +++++++++++++
src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasConcentrationExportDTO.java | 54 ++++++
pom.xml | 2
src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasFluxExportDTO.java | 42 +++++
src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasMonitorDataController.java | 18 +
src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasFluxRepository.java | 3
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/MonitorDataService.java | 7
src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasConcentrationExportBO.java | 29 +++
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasConcentrationService.java | 3
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasConcentrationServiceImpl.java | 38 ++++
src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasFluxService.java | 2
src/main/java/com/gkhy/fourierSpecialGasMonitor/utils/PositionHandle.java | 24 +++
15 files changed, 437 insertions(+), 17 deletions(-)
diff --git a/pom.xml b/pom.xml
index 2adaf2a..350b87e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -111,7 +111,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
- <version>1.2.58</version>
+ <version>1.2.83</version>
</dependency>
<!-- 七牛云短信-->
<dependency>
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasMonitorDataController.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasMonitorDataController.java
index d4b6511..d318878 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasMonitorDataController.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/controller/GasMonitorDataController.java
@@ -6,10 +6,7 @@
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.CreateGasCategoryReqDTO;
-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.service.MonitorDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -64,4 +61,17 @@
Result result = monitorDataService.gasAtmospherePage(pageQuery);
return result;
}
+
+ // todo
+ @PostMapping("/gasFlux/export")
+ public Result gasFluxExport(@RequestBody GasFluxExportBO gasFluxExportBO){
+ Result result = monitorDataService.gasFluxExport(gasFluxExportBO);
+ return result;
+ }
+ // todo
+ @PostMapping("/gasConcentration/export")
+ public Result gasConcentrationExport(@RequestBody GasConcentrationExportBO gasConcentrationExportBO){
+ Result result = monitorDataService.gasConcentrationExport(gasConcentrationExportBO);
+ return result;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasConcentrationExportBO.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasConcentrationExportBO.java
new file mode 100644
index 0000000..23bc9de
--- /dev/null
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasConcentrationExportBO.java
@@ -0,0 +1,29 @@
+package com.gkhy.fourierSpecialGasMonitor.entity.req;
+
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+@Data
+public class GasConcentrationExportBO {
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime startTime;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime endTime;
+
+ // 0不查询,1查询
+ private Integer ch4;
+ private Integer c2h6;
+ private Integer c3H8;
+ private Integer c4h101;
+ private Integer h2s;
+ private Integer c2h4;
+ private Integer c4h102;
+
+ private Integer position1;
+ private Integer position2;
+ private Integer position3;
+}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasFluxExportBO.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasFluxExportBO.java
new file mode 100644
index 0000000..369b40e
--- /dev/null
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/req/GasFluxExportBO.java
@@ -0,0 +1,33 @@
+package com.gkhy.fourierSpecialGasMonitor.entity.req;
+
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+@Data
+public class GasFluxExportBO {
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime startTime;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime endTime;
+
+ // 0不查询,1查询
+ private Integer ch4;
+ private Integer c2h6;
+ private Integer c3H8;
+ private Integer c4h101;
+ private Integer h2s;
+ private Integer c2h4;
+ private Integer c4h102;
+
+
+ private Integer areaId1;
+ private Integer areaId2;
+ private Integer areaId3;
+ private Integer areaId4;
+ private Integer areaId5;
+ private Integer areaId6;
+}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasConcentrationExportDTO.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasConcentrationExportDTO.java
new file mode 100644
index 0000000..787582e
--- /dev/null
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasConcentrationExportDTO.java
@@ -0,0 +1,54 @@
+package com.gkhy.fourierSpecialGasMonitor.entity.resp;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.time.LocalDateTime;
+
+@Data
+public class GasConcentrationExportDTO {
+
+ private Long id;
+
+ private String equipmentId;
+
+ private LocalDateTime time;
+
+ private LocalDateTime dataReceivingTime;
+
+ private String position;
+
+ private int type;
+
+ private String lng;
+
+ private String lat;
+
+ private String angle;
+
+ private Double temp;
+
+ private Double humidity;
+
+ private Double windSpeed;
+
+ private int windDirection;
+
+ private Double pressure;
+
+ private String gasName01;
+ private Double gasValue01;
+ private String gasName02;
+ private Double gasValue02;
+ private String gasName03;
+ private Double gasValue03;
+ private String gasName04;
+ private Double gasValue04;
+ private String gasName05;
+ private Double gasValue05;
+ private String gasName06;
+ private Double gasValue06;
+ private String gasName07;
+ private Double gasValue07;
+
+}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasFluxExportDTO.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasFluxExportDTO.java
new file mode 100644
index 0000000..498d4a9
--- /dev/null
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/entity/resp/GasFluxExportDTO.java
@@ -0,0 +1,42 @@
+package com.gkhy.fourierSpecialGasMonitor.entity.resp;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.time.LocalDateTime;
+
+@Data
+public class GasFluxExportDTO {
+
+ private Long id;
+
+ private String equipmentId;
+
+ private LocalDateTime time;
+
+ private String areaId;
+
+ private LocalDateTime dataReceivingTime;
+
+ private int type;
+
+ private Double windSpeed;
+
+ private int windDirection;
+
+ private String gasName01;
+ private Double gasValue01;
+ private String gasName02;
+ private Double gasValue02;
+ private String gasName03;
+ private Double gasValue03;
+ private String gasName04;
+ private Double gasValue04;
+ private String gasName05;
+ private Double gasValue05;
+ private String gasName06;
+ private Double gasValue06;
+ private String gasName07;
+ private Double gasValue07;
+
+}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasFluxRepository.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasFluxRepository.java
index d9d32dd..926b67a 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasFluxRepository.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasFluxRepository.java
@@ -1,15 +1,12 @@
package com.gkhy.fourierSpecialGasMonitor.repository;
-import com.gkhy.fourierSpecialGasMonitor.entity.GasConcentration;
import com.gkhy.fourierSpecialGasMonitor.entity.GasFlux;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
import javax.persistence.OrderBy;
-import java.time.LocalDateTime;
-import java.util.List;
@Repository
public interface GasFluxRepository extends JpaRepository<GasFlux,Long>,JpaSpecificationExecutor<GasFlux> {
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasConcentrationService.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasConcentrationService.java
index c3355fa..5b54be5 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasConcentrationService.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasConcentrationService.java
@@ -6,6 +6,7 @@
import com.gkhy.fourierSpecialGasMonitor.entity.GasWarnUser;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasAtmospherePageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasPageQuery;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.GasConcentrationExportBO;
import org.springframework.data.domain.Page;
import java.time.LocalDateTime;
@@ -23,4 +24,6 @@
Page<GasConcentration> gasAtmospherePage(PageQuery<GasAtmospherePageQuery> pageQuery);
List<GasConcentration> listDatabyTimeSlotAndPosition(LocalDateTime startTime, LocalDateTime endTime, Integer position);
+
+ List<GasConcentration> gasConcentrationExport(GasConcentrationExportBO gasConcentrationExportBO);
}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasFluxService.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasFluxService.java
index 65436e8..5ef091b 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasFluxService.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasFluxService.java
@@ -8,6 +8,7 @@
import com.gkhy.fourierSpecialGasMonitor.entity.GasFlux;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasFluxPageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.req.CreateGasCategoryReqDTO;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.GasFluxExportBO;
import com.gkhy.fourierSpecialGasMonitor.entity.req.UpdateGasCategoryReqDTO;
import org.springframework.data.domain.Page;
@@ -29,4 +30,5 @@
List<GasFlux> listYesterdayTenAmToSixPm();
+ List<GasFlux> gasFluxExport(GasFluxExportBO gasFluxExportBO);
}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/MonitorDataService.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/MonitorDataService.java
index 50af6cb..a10c6d7 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/MonitorDataService.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/MonitorDataService.java
@@ -5,9 +5,7 @@
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.*;
/**
* @author Mr.huang
@@ -27,4 +25,7 @@
Result gasAtmospherePage(PageQuery<GasAtmospherePageQuery> pageQuery);
+ Result gasFluxExport(GasFluxExportBO gasFluxExportBO);
+
+ Result gasConcentrationExport(GasConcentrationExportBO gasConcentrationExportBO);
}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasConcentrationServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasConcentrationServiceImpl.java
index 6f1f5d4..a094e91 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasConcentrationServiceImpl.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasConcentrationServiceImpl.java
@@ -5,12 +5,14 @@
import com.gkhy.fourierSpecialGasMonitor.commons.exception.BusinessException;
import com.gkhy.fourierSpecialGasMonitor.commons.model.PageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.GasConcentration;
+import com.gkhy.fourierSpecialGasMonitor.entity.GasFlux;
import com.gkhy.fourierSpecialGasMonitor.entity.GasWarnLog;
import com.gkhy.fourierSpecialGasMonitor.entity.GasWarnUser;
import com.gkhy.fourierSpecialGasMonitor.entity.query.FindGasWarnLogPageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.query.FindGasWarnUserPageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasAtmospherePageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasPageQuery;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.GasConcentrationExportBO;
import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindGasWarnUserPageRespDTO;
import com.gkhy.fourierSpecialGasMonitor.enums.DeleteStatusEnum;
import com.gkhy.fourierSpecialGasMonitor.repository.GasConcentrationRepository;
@@ -26,6 +28,7 @@
import javax.persistence.criteria.*;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -120,4 +123,39 @@
List<GasConcentration> gasConcentrations = gasConcentrationRepository.findAll(specification);
return gasConcentrations;
}
+
+ @Override
+ public List<GasConcentration> gasConcentrationExport(GasConcentrationExportBO gasConcentrationExportBO) {
+
+ if(gasConcentrationExportBO.getPosition1() == null && gasConcentrationExportBO.getPosition2() == null
+ && gasConcentrationExportBO.getPosition3() == null){
+ gasConcentrationExportBO.setPosition1(1);
+ gasConcentrationExportBO.setPosition2(2);
+ gasConcentrationExportBO.setPosition3(3);
+ }
+
+ //封装查询参数
+ Specification<GasConcentration> specification = new Specification<GasConcentration>() {
+ @Override
+ public Predicate toPredicate(Root<GasConcentration> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
+ List<Predicate> predicateList = new ArrayList<>();
+ if (gasConcentrationExportBO.getStartTime() != null && !gasConcentrationExportBO.getStartTime().equals("")){
+ predicateList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("time"), gasConcentrationExportBO.getStartTime()));
+ }
+ if (gasConcentrationExportBO.getEndTime() != null && !gasConcentrationExportBO.getEndTime().equals("")){
+ predicateList.add(criteriaBuilder.lessThanOrEqualTo(root.get("time"), gasConcentrationExportBO.getEndTime()));
+ }
+ predicateList.add(criteriaBuilder.or(
+ criteriaBuilder.equal(root.get("position"), gasConcentrationExportBO.getPosition1()),
+ criteriaBuilder.equal(root.get("position"), gasConcentrationExportBO.getPosition2()),
+ criteriaBuilder.equal(root.get("position"), gasConcentrationExportBO.getPosition3())
+ )
+ );
+ query.orderBy(criteriaBuilder.asc(root.get("time")),criteriaBuilder.asc(root.get("position")));
+ return criteriaBuilder.and(predicateList.toArray(new Predicate[0]));
+ }
+ };
+ List<GasConcentration> result = gasConcentrationRepository.findAll(specification);
+ return result;
+ }
}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java
index a7b2426..90fb63b 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java
@@ -1,6 +1,7 @@
package com.gkhy.fourierSpecialGasMonitor.service.impl;
import com.gkhy.fourierSpecialGasMonitor.commons.enums.ResultCode;
+import com.gkhy.fourierSpecialGasMonitor.commons.enums.StatusEnum;
import com.gkhy.fourierSpecialGasMonitor.commons.exception.BusinessException;
import com.gkhy.fourierSpecialGasMonitor.commons.model.PageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.GasConcentration;
@@ -8,6 +9,7 @@
import com.gkhy.fourierSpecialGasMonitor.entity.GasWarnLog;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasFluxPageQuery;
import com.gkhy.fourierSpecialGasMonitor.entity.query.GasPageQuery;
+import com.gkhy.fourierSpecialGasMonitor.entity.req.GasFluxExportBO;
import com.gkhy.fourierSpecialGasMonitor.repository.GasConcentrationRepository;
import com.gkhy.fourierSpecialGasMonitor.repository.GasFluxRepository;
import com.gkhy.fourierSpecialGasMonitor.service.GasConcentrationService;
@@ -19,13 +21,12 @@
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
import javax.persistence.criteria.*;
import java.time.LocalDateTime;
import java.time.LocalTime;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
@Service
public class GasFluxServiceImpl implements GasFluxService {
@@ -142,4 +143,46 @@
List<GasFlux> gasFluxes = gasFluxRepository.findAll(specification);
return gasFluxes;
}
+
+ @Override
+ public List<GasFlux> gasFluxExport(GasFluxExportBO gasFluxExportBO) {
+
+ if(gasFluxExportBO.getAreaId1() == null && gasFluxExportBO.getAreaId2() == null && gasFluxExportBO.getAreaId3() == null
+ && gasFluxExportBO.getAreaId4() == null && gasFluxExportBO.getAreaId5() == null && gasFluxExportBO.getAreaId5() == null){
+ gasFluxExportBO.setAreaId1(1);
+ gasFluxExportBO.setAreaId2(2);
+ gasFluxExportBO.setAreaId3(3);
+ gasFluxExportBO.setAreaId4(4);
+ gasFluxExportBO.setAreaId5(5);
+ gasFluxExportBO.setAreaId6(6);
+ }
+
+ //封装查询参数
+ Specification<GasFlux> specification = new Specification<GasFlux>() {
+ @Override
+ public Predicate toPredicate(Root<GasFlux> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
+ List<Predicate> predicateList = new ArrayList<>();
+ if (gasFluxExportBO.getStartTime() != null && !gasFluxExportBO.getStartTime().equals("")){
+ predicateList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("time"), gasFluxExportBO.getStartTime()));
+ }
+ if (gasFluxExportBO.getEndTime() != null && !gasFluxExportBO.getEndTime().equals("")){
+ predicateList.add(criteriaBuilder.lessThanOrEqualTo(root.get("time"), gasFluxExportBO.getEndTime()));
+ }
+ predicateList.add(criteriaBuilder.or(
+ criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId1()),
+ criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId2()),
+ criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId3()),
+ criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId4()),
+ criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId5()),
+ criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId6())
+ )
+ );
+ query.orderBy(criteriaBuilder.asc(root.get("time")),criteriaBuilder.asc(root.get("areaId")));
+ return criteriaBuilder.and(predicateList.toArray(new Predicate[0]));
+ }
+ };
+ List<GasFlux> gasFluxList = gasFluxRepository.findAll(specification);
+
+ return gasFluxList;
+ }
}
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 43db9ca..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;
@@ -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
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/utils/AreaHandle.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/utils/AreaHandle.java
new file mode 100644
index 0000000..1764962
--- /dev/null
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/utils/AreaHandle.java
@@ -0,0 +1,36 @@
+package com.gkhy.fourierSpecialGasMonitor.utils;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class AreaHandle {
+
+ public String areaHandleMethod(int areaId){
+
+ StringBuilder result = new StringBuilder();
+
+ if (areaId == 1){
+ result.append("区域1");
+ }
+ if (areaId == 2){
+ result.append("区域2");
+ }
+ if (areaId == 3){
+ result.append("区域3");
+ }
+ if (areaId == 4){
+ result.append("区域4");
+ }
+ if (areaId == 5){
+ result.append("区域5");
+ }
+ if (areaId == 6){
+ result.append("区域6");
+ }
+ if (areaId == 7){
+ result.append("区域7");
+ }
+
+ return result.toString();
+ }
+}
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/utils/PositionHandle.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/utils/PositionHandle.java
new file mode 100644
index 0000000..f6fe9ec
--- /dev/null
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/utils/PositionHandle.java
@@ -0,0 +1,24 @@
+package com.gkhy.fourierSpecialGasMonitor.utils;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class PositionHandle {
+
+ public String positionHandleMethod(Integer position){
+
+ StringBuilder result = new StringBuilder();
+
+ if (position == 1){
+ result.append("点位1");
+ }
+ if (position == 2){
+ result.append("点位2");
+ }
+ if (position == 3){
+ result.append("点位3");
+ }
+
+ return result.toString();
+ }
+}
--
Gitblit v1.9.2