Commit 205f6fda authored by 曹盼盼's avatar 曹盼盼

特种设备应急处置警情归并规则修改

parent 5783b983
...@@ -169,7 +169,7 @@ public class ESAlertCalledService { ...@@ -169,7 +169,7 @@ public class ESAlertCalledService {
boolMust.must(qbstatus); boolMust.must(qbstatus);
// 如果没有搜索条件不搜索 // 如果没有搜索条件不搜索
boolean flag = true; boolean flag = true;
// ①事发地点一致,或相距不超过200米的;&& ②警情类别一致;&& ③报警时间:距离当前时间不超过两小时的 // ①事发地点一致,或相距不超过200米的;&& ②警情类别一致;&& ③完成状态:未完成
if (!ValidationUtil.isEmpty(alertCalled.getAddress()) && !ValidationUtil.isEmpty(alertCalled.getAlarmTypeCode()) && !ValidationUtil.isEmpty(alertCalled.getAlarmTypeCode())) if (!ValidationUtil.isEmpty(alertCalled.getAddress()) && !ValidationUtil.isEmpty(alertCalled.getAlarmTypeCode()) && !ValidationUtil.isEmpty(alertCalled.getAlarmTypeCode()))
{ {
flag = false; flag = false;
...@@ -181,12 +181,8 @@ public class ESAlertCalledService { ...@@ -181,12 +181,8 @@ public class ESAlertCalledService {
BoolQueryBuilder temp2 = QueryBuilders.boolQuery() BoolQueryBuilder temp2 = QueryBuilders.boolQuery()
.filter(QueryBuilders.matchQuery("alarmTypeCode", alertCalled.getAlarmTypeCode())); .filter(QueryBuilders.matchQuery("alarmTypeCode", alertCalled.getAlarmTypeCode()));
qb0.must(temp2); qb0.must(temp2);
//接警时间,距离当前时间不超过两个小时的
long currentTime = System.currentTimeMillis() ;
currentTime = currentTime - 120*60*1000;
BoolQueryBuilder temp3 = QueryBuilders.boolQuery() BoolQueryBuilder temp3 = QueryBuilders.boolQuery()
.filter(QueryBuilders.rangeQuery("callTimeLong").gte(currentTime)); .filter(QueryBuilders.matchQuery("alertStatusStr", AlertStatusEnum.UNCLOSED.getCode()));
qb0.must(temp3); qb0.must(temp3);
boolMust.should(qb0); boolMust.should(qb0);
...@@ -211,32 +207,23 @@ public class ESAlertCalledService { ...@@ -211,32 +207,23 @@ public class ESAlertCalledService {
BoolQueryBuilder temp2 = QueryBuilders.boolQuery() BoolQueryBuilder temp2 = QueryBuilders.boolQuery()
.filter(QueryBuilders.termQuery("alarmTypeCode.keyword", alertCalled.getAlarmTypeCode())); .filter(QueryBuilders.termQuery("alarmTypeCode.keyword", alertCalled.getAlarmTypeCode()));
qb0.must(temp2); qb0.must(temp2);
//接警时间,距离当前时间不超过两个小时的
long currentTime = System.currentTimeMillis() ;
currentTime = currentTime - 120*60*1000;
BoolQueryBuilder temp3 = QueryBuilders.boolQuery() BoolQueryBuilder temp3 = QueryBuilders.boolQuery()
.filter(QueryBuilders.rangeQuery("callTimeLong").gte(currentTime)); .filter(QueryBuilders.matchQuery("alertStatusStr", AlertStatusEnum.UNCLOSED.getCode()));
qb0.must(temp3); qb0.must(temp3);
boolMust.should(qb0); boolMust.should(qb0);
} }
// 电梯识别码一致;&& ③报警时间:距离当前时间不超过两小时的 // 电梯识别码一致;&& ③完成状态:未完成
if (!ValidationUtil.isEmpty(alertCalled.getDeviceId())) { if (!ValidationUtil.isEmpty(alertCalled.getDeviceId())) {
flag = false; flag = false;
BoolQueryBuilder qb0 = QueryBuilders.boolQuery(); BoolQueryBuilder qb0 = QueryBuilders.boolQuery();
BoolQueryBuilder temp = QueryBuilders.boolQuery() BoolQueryBuilder temp = QueryBuilders.boolQuery()
.filter(QueryBuilders.termQuery("deviceId.keyword", alertCalled.getDeviceId())); .filter(QueryBuilders.termQuery("deviceId.keyword", alertCalled.getDeviceId()));
qb0.must(temp); qb0.must(temp);
//接警时间,距离当前时间不超过两个小时的
long currentTime = System.currentTimeMillis() ;
currentTime = currentTime - 120*60*1000;
BoolQueryBuilder temp2 = QueryBuilders.boolQuery() BoolQueryBuilder temp2 = QueryBuilders.boolQuery()
.filter(QueryBuilders.rangeQuery("callTimeLong").gte(currentTime)); .filter(QueryBuilders.matchQuery("alertStatusStr", AlertStatusEnum.UNCLOSED.getCode()));
qb0.must(temp2); qb0.must(temp2);
boolMust.should(qb0); boolMust.should(qb0);
} }
boolMust.minimumShouldMatch(1);//至少满足一个 boolMust.minimumShouldMatch(1);//至少满足一个
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment