|
@@ -288,12 +288,28 @@ public class OrderBaseLogic {
|
|
|
);
|
|
|
mySchedule7Day.setDayList(dayList);
|
|
|
|
|
|
- List<String> orderBaseIds = pgOrderWorkerService.lambdaQuery()
|
|
|
- .and(item -> item.eq(PgOrderWorker::getWorkerId, currentCompanyWechat.getUserId())
|
|
|
- .or(!StringUtil.isEmpty(currentCompanyWechat.getUser().getWorkerNumber()))
|
|
|
- .eq(PgOrderWorker::getWorkerNumber,currentCompanyWechat.getUser().getWorkerNumber())
|
|
|
- )
|
|
|
- .list().stream().map(PgOrderWorker::getOrderBaseId).distinct().collect(Collectors.toList());
|
|
|
+ BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
|
|
|
+
|
|
|
+ // 根据参数动态添加筛选条件
|
|
|
+ if (StringUtil.isEmpty(currentCompanyWechat.getUser().getWorkerNumber())) {
|
|
|
+ boolQuery.must(QueryBuilders.matchQuery("worker_idcard", currentCompanyWechat.getUser().getIdCard()));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ boolQuery.must(QueryBuilders.matchQuery("worker_number", currentCompanyWechat.getUser().getWorkerNumber()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 构建查询,最大只能查两万数据
|
|
|
+ NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(boolQuery)
|
|
|
+ .withPageable(PageRequest.of(0, 10000))
|
|
|
+ .build();
|
|
|
+
|
|
|
+ // 执行查询
|
|
|
+ List<PgOrderWorkerDateEs> pgOrderWorkerEs = elasticsearchRestTemplate.search(searchQuery, PgOrderWorkerDateEs.class).map(searchHit -> searchHit.getContent())
|
|
|
+ .toList();
|
|
|
+
|
|
|
+ List<String> orderBaseIds = pgOrderWorkerEs.stream().map(PgOrderWorkerDateEs::getOrderBaseId).collect(Collectors.toList());
|
|
|
if(CollectionUtils.isEmpty(orderBaseIds)){
|
|
|
return mySchedule7Day;
|
|
|
}
|
|
@@ -655,7 +671,7 @@ public class OrderBaseLogic {
|
|
|
|
|
|
// 创建查询
|
|
|
Query searchQueryOrder = new NativeSearchQueryBuilder()
|
|
|
- .withQuery(boolQuery)
|
|
|
+ .withQuery(boolQueryOrder)
|
|
|
.withPageable(pageable)
|
|
|
.build();
|
|
|
|