Index: grails-app/services/com/lemans/ds/solr/SolrQueryService.groovy =================================================================== diff -u -r9ec9e1b45d1e7143fb17d0ec4840a1e46b7f3f16 -rf9a47eacbacba622dfb2b5de0648bcdfa998c8cf --- grails-app/services/com/lemans/ds/solr/SolrQueryService.groovy (.../SolrQueryService.groovy) (revision 9ec9e1b45d1e7143fb17d0ec4840a1e46b7f3f16) +++ grails-app/services/com/lemans/ds/solr/SolrQueryService.groovy (.../SolrQueryService.groovy) (revision f9a47eacbacba622dfb2b5de0648bcdfa998c8cf) @@ -124,7 +124,11 @@ queueCountsForPartImagesToReview(payload, pool), queueCountsForPartNeedMDChangeFlag(payload, pool), partsFacetedByUser(payload, pool), - queueCountsForPartsWithComCodesNotAssociatedToCategory(payload, pool) + queueCountsForPartsWithComCodesNotAssociatedToCategory(payload, pool), + queueCountsForQcPartPendingApproval(payload, pool), + queueCountsForQcPartRejected(payload, pool), + queueCountsForQcPendingFutureParts(payload, pool), + queueCountsForQcPendingLiveParts(payload, pool) ] List queueCounts = futures.stream().map { CompletableFuture future -> future.join() }.collect(Collectors.toList()) injectPastWeekCounts(queueCounts) @@ -184,6 +188,60 @@ }, executor) } + private CompletableFuture queueCountsForQcPartPendingApproval(QueuePayload payload, Executor executor) { + CompletableFuture.supplyAsync(new Supplier() { + @Override + Map get() { + QueuePayload queuePayload = copyWithQueueType(payload, QueueType.QC_PART_PENDING_APPROVAL) + SolrQuery query = new SolrQuery() + .addFilterQuery('(qcStatusCode:13001)') + QueryResponse queryResponse = dsQueueSolrClient.query(buildFacetQuery(query, queuePayload)) + buildResponse(queryResponse, queuePayload) + } + }, executor) + } + + private CompletableFuture queueCountsForQcPartRejected(QueuePayload payload, Executor executor) { + CompletableFuture.supplyAsync(new Supplier() { + @Override + Map get() { + QueuePayload queuePayload = copyWithQueueType(payload, QueueType.QC_PART_REJECTED) + SolrQuery query = new SolrQuery() + .addFilterQuery('(qcStatusCode:13003)') + QueryResponse queryResponse = dsQueueSolrClient.query(buildFacetQuery(query, queuePayload)) + buildResponse(queryResponse, queuePayload) + } + }, executor) + } + + private CompletableFuture queueCountsForQcPendingFutureParts(QueuePayload payload, Executor executor) { + CompletableFuture.supplyAsync(new Supplier() { + @Override + Map get() { + QueuePayload queuePayload = copyWithQueueType(payload, QueueType.QC_PENDING_FUTURE_PARTS) + SolrQuery query = new SolrQuery() + .addFilterQuery('(qcStatusCode:13001)') + .addFilterQuery('(derivedPartStatusId:9006)') + QueryResponse queryResponse = dsQueueSolrClient.query(buildFacetQuery(query, queuePayload)) + buildResponse(queryResponse, queuePayload) + } + }, executor) + } + + private CompletableFuture queueCountsForQcPendingLiveParts(QueuePayload payload, Executor executor) { + CompletableFuture.supplyAsync(new Supplier() { + @Override + Map get() { + QueuePayload queuePayload = copyWithQueueType(payload, QueueType.QC_PENDING_LIVE_PARTS) + SolrQuery query = new SolrQuery() + .addFilterQuery('(qcStatusCode:13001)') + .addFilterQuery('(-derivedPartStatusId:9006)') + QueryResponse queryResponse = dsQueueSolrClient.query(buildFacetQuery(query, queuePayload)) + buildResponse(queryResponse, queuePayload) + } + }, executor) + } + private CompletableFuture categoryFacetsForProducts(QueuePayload payload, Executor executor) { CompletableFuture.supplyAsync(new Supplier() { @Override