|
@@ -270,17 +270,7 @@ public class OrderBaseEsLogic {
|
|
|
|
|
|
// 新增:次日需处理(CRXC)
|
|
// 新增:次日需处理(CRXC)
|
|
if (param.equals("order_status") && value.equals("CRXC")) {
|
|
if (param.equals("order_status") && value.equals("CRXC")) {
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
|
- LocalDate today = now.toLocalDate();
|
|
|
|
- String today18 = DateUtil.format(today.atTime(18, 0, 0), "yyyy-MM-dd HH:mm:ss"); // 当日18:00:00
|
|
|
|
- String nextDay759 = DateUtil.format(today.plusDays(1).atTime(7, 59, 59), "yyyy-MM-dd HH:mm:ss"); // 次日7:59:59
|
|
|
|
-
|
|
|
|
- queryBuilder.must(QueryBuilders.rangeQuery("create_time") // create_time在当日18:00-次日7:59之间
|
|
|
|
- .gte(today18)
|
|
|
|
- .lte(nextDay759));
|
|
|
|
- queryBuilder.mustNot(QueryBuilders.existsQuery("appointment_time")); // appointment_time为空
|
|
|
|
- queryBuilder.mustNot(QueryBuilders.termsQuery("order_status", "YWG", "GCSZX", "WDWG", "YWGO", "YQX", "FWZT", "YCGB","YZP",
|
|
|
|
- "FWQX", "FL", "YJS", "LRCD", "DSHPG", "CJ", "YPD", "DXSPD", "DZBPG", "DWDSPGP", "DXSSPGP", "DTJXSSPGP", "DZBSPGP")); // 相同order_status排除条件
|
|
|
|
|
|
+ queryBuilder.must(buildCrxcQuery()); // 复用公共条件
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -484,22 +474,10 @@ public class OrderBaseEsLogic {
|
|
|
|
|
|
|
|
|
|
// 次日需处理(18:00-次日7:59创建,appointment_time为空)
|
|
// 次日需处理(18:00-次日7:59创建,appointment_time为空)
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
|
- LocalDate today = now.toLocalDate();
|
|
|
|
- String today18 = DateUtil.format(today.atTime(18, 0, 0), "yyyy-MM-dd HH:mm:ss");
|
|
|
|
- String nextDay759 = DateUtil.format(today.plusDays(1).atTime(7, 59, 59), "yyyy-MM-dd HH:mm:ss");
|
|
|
|
-
|
|
|
|
NativeSearchQuery crxcSearchQuery = new NativeSearchQueryBuilder()
|
|
NativeSearchQuery crxcSearchQuery = new NativeSearchQueryBuilder()
|
|
- .withQuery(queryBuilder)
|
|
|
|
|
|
+ .withQuery(queryBuilder.must(buildCrxcQuery())) // 复用公共条件
|
|
.withPageable(PageRequest.of(1, 1))
|
|
.withPageable(PageRequest.of(1, 1))
|
|
- .addAggregation(this.getAggs(AggregationBuilders.filter("CRXC", QueryBuilders.boolQuery()
|
|
|
|
- .must(QueryBuilders.rangeQuery("create_time")
|
|
|
|
- .gte(today18)
|
|
|
|
- .lte(nextDay759))
|
|
|
|
- .mustNot(QueryBuilders.existsQuery("appointment_time"))
|
|
|
|
- .mustNot(QueryBuilders.termsQuery("order_status", "YWG", "GCSZX", "WDWG", "YWGO", "YQX", "FWZT", "YCGB","YZP",
|
|
|
|
- "FWQX", "FL", "YJS", "LRCD", "DSHPG", "CJ", "YPD", "DXSPD", "DZBPG", "DWDSPGP", "DXSSPGP", "DTJXSSPGP", "DZBSPGP")) // 与DYY相同的order_status排除条件
|
|
|
|
- )))
|
|
|
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("CRXC", QueryBuilders.matchAllQuery()))) // 因 query 已包含条件,filter 简化为 matchAll
|
|
.build();
|
|
.build();
|
|
|
|
|
|
SearchHits crxcResponse = this.search(crxcSearchQuery, year);
|
|
SearchHits crxcResponse = this.search(crxcSearchQuery, year);
|
|
@@ -749,6 +727,32 @@ public class OrderBaseEsLogic {
|
|
"FWQX", "FL", "YJS", "LRCD", "DSHPG", "CJ", "YPD", "DXSPD", "DZBPG", "DWDSPGP", "DXSSPGP", "DTJXSSPGP", "DZBSPGP"));
|
|
"FWQX", "FL", "YJS", "LRCD", "DSHPG", "CJ", "YPD", "DXSPD", "DZBPG", "DWDSPGP", "DXSSPGP", "DTJXSSPGP", "DZBSPGP"));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private BoolQueryBuilder buildCrxcQuery() {
|
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
|
+ LocalDate today = now.toLocalDate();
|
|
|
|
+
|
|
|
|
+ // 条件 1:当日 18:00:00 到次日 7:59:59
|
|
|
|
+ String today18 = DateUtil.format(today.atTime(18, 0, 0), "yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String nextDay759 = DateUtil.format(today.plusDays(1).atTime(7, 59, 59), "yyyy-MM-dd HH:mm:ss");
|
|
|
|
+
|
|
|
|
+ // 条件 2:create_time 大于等于 8:30:00(假设为当日 8:30:00,可根据实际需求调整为次日)
|
|
|
|
+ String day830 = DateUtil.format(today.atTime(8, 30, 0), "yyyy-MM-dd HH:mm:ss");
|
|
|
|
+
|
|
|
|
+ return QueryBuilders.boolQuery()
|
|
|
|
+ // 条件 1:时间范围
|
|
|
|
+ .must(QueryBuilders.rangeQuery("create_time")
|
|
|
|
+ .gte(today18)
|
|
|
|
+ .lte(nextDay759))
|
|
|
|
+ // 条件 2:create_time >= 8:30:00
|
|
|
|
+ .must(QueryBuilders.rangeQuery("create_time")
|
|
|
|
+ .gte(day830))
|
|
|
|
+ // 条件 3:appointment_time 为空
|
|
|
|
+ .mustNot(QueryBuilders.existsQuery("appointment_time"))
|
|
|
|
+ // 条件 4:order_status 排除(与 DYY 相同)
|
|
|
|
+ .mustNot(QueryBuilders.termsQuery("order_status", "YWG", "GCSZX", "WDWG", "YWGO", "YQX", "FWZT", "YCGB","YZP",
|
|
|
|
+ "FWQX", "FL", "YJS", "LRCD", "DSHPG", "CJ", "YPD", "DXSPD", "DZBPG", "DWDSPGP", "DXSSPGP", "DTJXSSPGP", "DZBSPGP"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
private SearchHits search(NativeSearchQuery searchQuery,String year) {
|
|
private SearchHits search(NativeSearchQuery searchQuery,String year) {
|
|
|
|
|