| | |
| | | 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; |
| | |
| | | |
| | | import javax.persistence.criteria.*; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | |
| | | 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; |
| | | } |
| | | } |