From 19514ff362a94a611888f371ffc43a00ec21a38a Mon Sep 17 00:00:00 2001 From: 16639036659 <577530412@qq.com> Date: 星期二, 16 七月 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