diff --git a/aconnect/src/main/java/com/mfsys/aconnect/client/controller/PendingCRMApplicationsController.java b/aconnect/src/main/java/com/mfsys/aconnect/client/controller/PendingCRMApplicationsController.java index 3470168..e3cd0da 100644 --- a/aconnect/src/main/java/com/mfsys/aconnect/client/controller/PendingCRMApplicationsController.java +++ b/aconnect/src/main/java/com/mfsys/aconnect/client/controller/PendingCRMApplicationsController.java @@ -35,4 +35,11 @@ public class PendingCRMApplicationsController { return inProcessApplicationsService.getBusinessPendingCRM(request, token, susUserCode); } + @PostMapping(AconnectURI.CHECK_BUSINESS_APPLICATIONS_URI) + public ResponseEntitygetbussinessApplication( + @RequestBody InProcessApplicationsRequestDTO request, @RequestParam("workFlowRefNum") Long workFlowRefNum, + @RequestHeader("Authorization") String token, @RequestHeader("SUS_USERCODE") String susUserCode){ + return inProcessApplicationsService.getPendingBussinessApplication(request, workFlowRefNum, token, susUserCode); + } + } diff --git a/aconnect/src/main/java/com/mfsys/aconnect/client/service/PendingCRMApplicationsService.java b/aconnect/src/main/java/com/mfsys/aconnect/client/service/PendingCRMApplicationsService.java index fbcdff7..f8954ab 100644 --- a/aconnect/src/main/java/com/mfsys/aconnect/client/service/PendingCRMApplicationsService.java +++ b/aconnect/src/main/java/com/mfsys/aconnect/client/service/PendingCRMApplicationsService.java @@ -264,4 +264,42 @@ public class PendingCRMApplicationsService { ); } + public ResponseEntity getPendingBussinessApplication( + InProcessApplicationsRequestDTO req, Long workFlowRefNum, String token, String susUserCode) { + + String url = crmURI + "/crm" + "/mongodb/lazylist"; + + LazyListRequestDTO dto = BusinessBuildLazyListPayload(req); + + Map bussinessFilter = Map.of( + "params", List.of( + param("workFlowRefNum", workFlowRefNum, "numeric", "=") + ), + "operator", "$and" + ); + + Map existingFilter = (Map) dto.getFilter(); + + List nestedQuery = new ArrayList<>((List) existingFilter.get("nestedQuery")); + + nestedQuery.add(bussinessFilter); + + dto.setFilter(Map.of("nestedQuery", nestedQuery, "operator", "$and")); + + dto.setLimit(1); + + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", token); + headers.set("POR_ORGACODE", req.getPorOrgacode()); + headers.set("SUS_USERCODE", susUserCode); + headers.setContentType(MediaType.APPLICATION_JSON); + + return restTemplate.exchange( + url, + HttpMethod.POST, + new HttpEntity<>(dto, headers), + String.class + ); + } + } diff --git a/common/src/main/java/com/mfsys/common/configuration/constant/AconnectURI.java b/common/src/main/java/com/mfsys/common/configuration/constant/AconnectURI.java index aeca2fa..b953724 100644 --- a/common/src/main/java/com/mfsys/common/configuration/constant/AconnectURI.java +++ b/common/src/main/java/com/mfsys/common/configuration/constant/AconnectURI.java @@ -34,6 +34,7 @@ public interface AconnectURI { String GET_INDIVIDUAL_PENDING_APPLICATIONS_URI = CRM + INDIVIDUAL + "/pending-workflow"; String CHECK_INDIVIDUAL_PENDING_APPLICATIONS_URI = CRM + INDIVIDUAL + "/inprocess"; String CHECK_INDIVIDUAL_APPLICATIONS_URI = CRM + INDIVIDUAL + "/inprocess"; + String CHECK_BUSSINESS_APPLICATIONS_URI = CRM + BUSINESS + "/inprocess"; String CHECK_INPROCESS_DEPOSIT_APPLICATIONS_URI = DEPOSIT + "/inprocess"; String CHECK_INDIVIDUAL_DEPOSIT_APPLICATIONS_URI = DEPOSIT + INDIVIDUAL + "/inprocess"; String GET_BUSINESS_PENDING_APPLICATIONS_URI = CRM + BUSINESS + "/pending-workflow"; diff --git a/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java b/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java index cbaf55a..b0feb90 100644 --- a/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java +++ b/common/src/main/java/com/mfsys/common/configuration/constant/TokenBypassURI.java @@ -16,6 +16,7 @@ public interface TokenBypassURI { "/aconnect/crm/individual/pending-workflow", "/aconnect/crm/business/pending-workflow", "/aconnect/crm/individual/inprocess", + "/aconnect/crm/business/inprocess", "/aconnect/deposit/inprocess", "/aconnect/deposit/individual/inprocess", "/aconnect/account/miscDetails",