Bladeren bron

事件总览,综合查询变更

lyq 1 jaar geleden
bovenliggende
commit
ce6d59644a

+ 28 - 6
src/main/java/com/sooka/sponest/middleware/event/eventcatalogue/controller/EventCatalogueController.java

@@ -92,18 +92,40 @@ public class EventCatalogueController extends BaseESController {
         if (StringUtils.isNotEmpty(bo.getReportTimeRange())) {
             queryBuilder.must(QueryBuilders.rangeQuery("createTime").gte(bo.getReportTimeRange().get(0)).lte(bo.getReportTimeRange().get(1)));
         }
+        // 是否催办
+        if (StringUtils.isNotBlank(bo.getIsUrged())) {
+            queryBuilder.must(QueryBuilders.termQuery("isUrged.keyword", bo.getIsUrged()));
+        }
         // 事件状态
         if (StringUtils.isNotBlank(bo.getEventStatusValue())) {
             queryBuilder.must(QueryBuilders.termQuery("eventStatusValue.keyword", bo.getEventStatusValue()));
         }
         // 事件类型
-        if (StringUtils.isNotBlank(bo.getEventType())) {
-            queryBuilder.must(QueryBuilders.termQuery("eventType.keyword", bo.getEventType()));
-        }
-        // 是否催办
-        if (StringUtils.isNotBlank(bo.getIsUrged())) {
-            queryBuilder.must(QueryBuilders.termQuery("isUrged.keyword", bo.getIsUrged()));
+        BoolQueryBuilder queryBuilderOr = QueryBuilders.boolQuery();
+        if (StringUtils.isEmpty(bo.getEventTypeXls())) {
+            bo.getDefaultTypeXl().forEach(item -> queryBuilderOr.should().add(QueryBuilders.termQuery("eventTypeXl.keyword", item)));
+            if (bo.getDefaultTypeXl().contains("0")) {
+                BoolQueryBuilder builder = QueryBuilders.boolQuery();
+                builder.must(QueryBuilders.termQuery("eventType.keyword", "1"));
+                BoolQueryBuilder builderOr = QueryBuilders.boolQuery();
+                builderOr.should().add(QueryBuilders.termQuery("eventStatusValue.keyword", "forest_event_status_1"));
+                builderOr.should().add(QueryBuilders.termQuery("eventStatusValue.keyword", "forest_event_status_7"));
+                builder.must(builderOr);
+                queryBuilderOr.should().add(builder);
+            }
+        } else {
+            bo.getEventTypeXls().forEach(item -> queryBuilderOr.should().add(QueryBuilders.termQuery("eventTypeXl.keyword", item)));
+            if (bo.getEventTypeXls().contains("0")) {
+                BoolQueryBuilder builder = QueryBuilders.boolQuery();
+                builder.must(QueryBuilders.termQuery("eventType.keyword", "1"));
+                BoolQueryBuilder builderOr = QueryBuilders.boolQuery();
+                builderOr.should().add(QueryBuilders.termQuery("eventStatusValue.keyword", "forest_event_status_1"));
+                builderOr.should().add(QueryBuilders.termQuery("eventStatusValue.keyword", "forest_event_status_7"));
+                builder.must(builderOr);
+                queryBuilderOr.should().add(builder);
+            }
         }
+        queryBuilder.must(queryBuilderOr);
         // 数据权限
         dataPower(queryBuilder, "deptIds", null);
         // 指定查询索引

+ 11 - 6
src/main/java/com/sooka/sponest/middleware/event/eventcatalogue/entity/bo/EventCatalogueBO.java

@@ -15,6 +15,11 @@ import java.util.List;
 public class EventCatalogueBO extends BaseESBO {
 
     /**
+     * 事件分类
+     */
+    private List<String> defaultTypeXl;
+
+    /**
      * 事件名称
      */
     private String eventName;
@@ -35,17 +40,17 @@ public class EventCatalogueBO extends BaseESBO {
     private List<String> reportTimeRange;
 
     /**
-     * 事件状态
+     * 是否被催办
      */
-    private String eventStatusValue;
+    private String isUrged;
 
     /**
-     * 事件分类(大类)
+     * 事件状态
      */
-    private String eventType;
+    private String eventStatusValue;
 
     /**
-     * 是否被催办
+     * 事件分类
      */
-    private String isUrged;
+    private List<String> eventTypeXls;
 }