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/GasFluxServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 46 insertions(+), 3 deletions(-)
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;
+ }
}
--
Gitblit v1.9.2