添加了根据不同行业查询设备信息的接口
This commit is contained in:
@ -1,7 +1,9 @@
|
||||
package com.xkrs.util;
|
||||
|
||||
import com.xkrs.dao.EquipmentDao;
|
||||
import com.xkrs.dao.FireDao;
|
||||
import com.xkrs.dao.WeatherDao;
|
||||
import com.xkrs.model.entity.Equipment;
|
||||
import com.xkrs.model.entity.Fire;
|
||||
import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -24,6 +26,9 @@ public class Query {
|
||||
@Resource
|
||||
private FireDao fireDao;
|
||||
|
||||
@Resource
|
||||
private EquipmentDao equipmentDao;
|
||||
|
||||
/**
|
||||
* 根据设备编号和时间段动态查询报警信息
|
||||
* @param startTime
|
||||
@ -50,4 +55,36 @@ public class Query {
|
||||
};
|
||||
return fireDao.findAll(specification);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据不同行业查询设备信息
|
||||
* @param agriculture
|
||||
* @param habitat
|
||||
* @param waterConservancy
|
||||
* @param forestry
|
||||
* @return
|
||||
*/
|
||||
public List<Equipment> selectEquipment(String agriculture, String habitat, String waterConservancy, String forestry) {
|
||||
Specification<Equipment> specification = new Specification<Equipment>() {
|
||||
@Override
|
||||
public Predicate toPredicate(Root<Equipment> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
|
||||
List<Predicate> list = new ArrayList<>();
|
||||
if (agriculture != null && !"".equals(agriculture)) {
|
||||
list.add(criteriaBuilder.equal(root.get("agriculture").as(String.class), agriculture));
|
||||
}
|
||||
if (habitat != null && !"".equals(habitat)) {
|
||||
list.add(criteriaBuilder.equal(root.get("habitat").as(String.class), habitat));
|
||||
}
|
||||
if (waterConservancy != null && !"".equals(waterConservancy)) {
|
||||
list.add(criteriaBuilder.equal(root.get("waterConservancy").as(String.class), waterConservancy));
|
||||
}
|
||||
if (forestry != null && !"".equals(forestry)) {
|
||||
list.add(criteriaBuilder.equal(root.get("forestry").as(String.class), forestry));
|
||||
}
|
||||
Predicate[] predicates = new Predicate[list.size()];
|
||||
return criteriaBuilder.and(list.toArray(predicates));
|
||||
}
|
||||
};
|
||||
return equipmentDao.findAll(specification);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user