|
@@ -475,14 +475,14 @@ public class OrderBaseEsLogic {
|
|
|
|
|
|
// 次日需处理(18:00-次日7:59创建,appointment_time为空)
|
|
// 次日需处理(18:00-次日7:59创建,appointment_time为空)
|
|
NativeSearchQuery crxcSearchQuery = new NativeSearchQueryBuilder()
|
|
NativeSearchQuery crxcSearchQuery = new NativeSearchQueryBuilder()
|
|
- .withQuery(queryBuilder.must(buildCrxcQuery())) // 复用公共条件
|
|
|
|
|
|
+ .withQuery(queryBuilder)
|
|
.withPageable(PageRequest.of(1, 1))
|
|
.withPageable(PageRequest.of(1, 1))
|
|
- .addAggregation(this.getAggs(AggregationBuilders.filter("CRXC", QueryBuilders.matchAllQuery()))) // 因 query 已包含条件,filter 简化为 matchAll
|
|
|
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("CRXC", buildCrxcQuery()))) // 修正聚合绑定
|
|
.build();
|
|
.build();
|
|
|
|
|
|
SearchHits crxcResponse = this.search(crxcSearchQuery, year);
|
|
SearchHits crxcResponse = this.search(crxcSearchQuery, year);
|
|
HashMap<String, Object> crxcMap = new HashMap<>();
|
|
HashMap<String, Object> crxcMap = new HashMap<>();
|
|
- crxcMap.put("total", this.getWorkerOrderCountResult(crxcResponse.getAggregations(), "CRXC"));
|
|
|
|
|
|
+ crxcMap.put("total", this.getWorkerOrderCountResult(crxcResponse.getAggregations(), "CRXC")); // 依赖正确的聚合解析
|
|
crxcMap.put("orderStatus", "CRXC");
|
|
crxcMap.put("orderStatus", "CRXC");
|
|
maps.add(crxcMap);
|
|
maps.add(crxcMap);
|
|
|
|
|
|
@@ -745,8 +745,8 @@ public class OrderBaseEsLogic {
|
|
.gte(prevDay18) // 修改点
|
|
.gte(prevDay18) // 修改点
|
|
.lte(today759)) // 修改点
|
|
.lte(today759)) // 修改点
|
|
// 条件 2:create_time >= 当日8:30:00(原次日调整为当日)
|
|
// 条件 2:create_time >= 当日8:30:00(原次日调整为当日)
|
|
-// .must(QueryBuilders.rangeQuery("create_time")
|
|
|
|
-// .gte(today830)) // 修改点
|
|
|
|
|
|
+ .must(QueryBuilders.rangeQuery("create_time")
|
|
|
|
+ .lte(today830)) // 修改点
|
|
// 条件 3:appointment_time为空(保持不变)
|
|
// 条件 3:appointment_time为空(保持不变)
|
|
.mustNot(QueryBuilders.existsQuery("appointment_time"))
|
|
.mustNot(QueryBuilders.existsQuery("appointment_time"))
|
|
// 条件 4:order_status排除(保持不变)
|
|
// 条件 4:order_status排除(保持不变)
|
|
@@ -781,12 +781,15 @@ public class OrderBaseEsLogic {
|
|
.subAggregation(AggregationBuilders.sum("mac_sum").field("total_num")));
|
|
.subAggregation(AggregationBuilders.sum("mac_sum").field("total_num")));
|
|
}
|
|
}
|
|
private long getWorkerOrderCountResult(Aggregations aggregations, String name) {
|
|
private long getWorkerOrderCountResult(Aggregations aggregations, String name) {
|
|
- StringBuffer sb = new StringBuffer();
|
|
|
|
- ParsedFilter parsedFilter = aggregations.get(name);
|
|
|
|
|
|
+// StringBuffer sb = new StringBuffer();
|
|
|
|
+// ParsedFilter parsedFilter = aggregations.get(name);
|
|
//总服务单数
|
|
//总服务单数
|
|
- long totalOrderNums = parsedFilter.getDocCount();
|
|
|
|
|
|
+// long totalOrderNums = parsedFilter.getDocCount();
|
|
|
|
+//
|
|
|
|
+// return totalOrderNums;
|
|
|
|
|
|
- return totalOrderNums;
|
|
|
|
|
|
+ ParsedFilter parsedFilter = aggregations.get(name);
|
|
|
|
+ return parsedFilter != null ? parsedFilter.getDocCount() : 0L;
|
|
}
|
|
}
|
|
|
|
|
|
public void esSync() {
|
|
public void esSync() {
|