diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionCurrencyController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionCurrencyController.java index 3894d40f3..f6b70f119 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionCurrencyController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionCurrencyController.java @@ -63,15 +63,21 @@ public class ExecutionCurrencyController extends AbstractQueueController { @RequestMapping(value = "/filter", method = RequestMethod.GET) @ResponseBody public CommonGetAllResponse getByFilter(@RequestParam(name = "pageSize", required = false) Optional pageSize, - @RequestParam(name = "pageIndex", required = false) Optional pageIndex) { - ImdgPredicate filter = imdgPredicateBuilder.and( - imdgPredicateBuilder.greatEqual("settlementDate", LocalDate.now()), - imdgPredicateBuilder.equals("side", Side.SELL.getKey())); - AtomicReference>> all = new AtomicReference<>(); - pageIndex.ifPresentOrElse(index -> - all.set(stateLoader.getAllMetaTransformWithPagination(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter, - pageSize.orElse(10_000), index)), - () -> all.set(stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter))); + @RequestParam(name = "pageIndex", required = false) Optional pageIndex, + @RequestParam(name = "ccp", required = false) Optional ccp) { + ImdgPredicate settlementDateFilter = imdgPredicateBuilder.greatEqual("settlementDate", LocalDate.now()); + ImdgPredicate sideFilter; + if (ccp.isPresent() && ccp.get()) { + sideFilter = imdgPredicateBuilder.alwaysTrue(); + } else { + sideFilter = imdgPredicateBuilder.equals("side", Side.SELL.getKey()); + } + ImdgPredicate filter = imdgPredicateBuilder.and(settlementDateFilter, sideFilter); + AtomicReference>> all = new AtomicReference<>(); + pageIndex.ifPresentOrElse(index -> + all.set(stateLoader.getAllMetaTransformWithPagination(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter, + pageSize.orElse(10_000), index)), + () -> all.set(stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class, filter))); CommonGetAllResponse response = new CommonGetAllResponse(); response.fromEntity(all.get()); return response;