Merge branch 'dev-pending-20-01-2026' into Wasi/BS-2185-osho

Wasi/BS-2185-osho
Wasiullah Khan 2 weeks ago
commit cafa60ab7f

@ -16,16 +16,23 @@ public class PendingCRMApplicationsController {
this.inProcessApplicationsService = inProcessApplicationsService; this.inProcessApplicationsService = inProcessApplicationsService;
} }
@PostMapping(AconnectURI.CHECK_PENDING_APPLICATIONS_URI) @PostMapping(AconnectURI.GET_INDIVIDUAL_PENDING_APPLICATIONS_URI)
public ResponseEntity<String> getInProcessApplications(@RequestBody InProcessApplicationsRequestDTO request, public ResponseEntity<String> getIndividualPendingCRMs(@RequestBody InProcessApplicationsRequestDTO request,
@RequestHeader("Authorization") String token, @RequestHeader("SUS_USERCODE") String susUserCode) { @RequestHeader("Authorization") String token, @RequestHeader("SUS_USERCODE") String susUserCode) {
return inProcessApplicationsService.getInProcessApplications(request, token, susUserCode); return inProcessApplicationsService.getIndividualPendingCRM(request, token, susUserCode);
} }
@PostMapping(AconnectURI.CHECK_INDIVIDUAL_APPLICATIONS_URI) @PostMapping(AconnectURI.GET_BUSINESS_PENDING_APPLICATIONS_URI)
public ResponseEntity<String> getBusinessPendingCRMs(@RequestBody InProcessApplicationsRequestDTO request,
@RequestHeader("Authorization") String token, @RequestHeader("SUS_USERCODE") String susUserCode) {
return inProcessApplicationsService.getBusinessPendingCRM(request, token, susUserCode);
}
@GetMapping(AconnectURI.CHECK_INDIVIDUAL_APPLICATIONS_URI)
public ResponseEntity<String>getIndividualApplication( public ResponseEntity<String>getIndividualApplication(
@RequestBody InProcessApplicationsRequestDTO request, @RequestParam("workFlowRefNum") Long workFlowRefNum, @RequestParam("POR_ORGACODE") String porOrgacode,@RequestParam("formId") String formId,
@RequestParam(value = "includeFields", required = false) String includeFields,
@RequestHeader("Authorization") String token, @RequestHeader("SUS_USERCODE") String susUserCode){ @RequestHeader("Authorization") String token, @RequestHeader("SUS_USERCODE") String susUserCode){
return inProcessApplicationsService.getPendingIndividualApplication(request, workFlowRefNum, token, susUserCode); return inProcessApplicationsService.getPendingIndividualApplication(porOrgacode, formId, includeFields, token, susUserCode);
} }
} }

@ -65,7 +65,42 @@ public class InProcessApplicationsService {
); );
} }
private LazyListRequestDTO buildLazyListPayload(InProcessApplicationsRequestDTO req) { private Map<String, Object> businessBuildWorkflowFilter(InProcessApplicationsRequestDTO req) {
List<Object> workflowQueries = new ArrayList<>();
if (req.isIncludeRegistrationPending()) {
workflowQueries.add(Map.of(
"params", List.of(
param("workFlowStage", "BN_WF_BP_REGISTRATION", "text", "="),
param("applicationStatus", "Pending", "text", "=")
),
"operator", "$and"
));
}
if (req.isIncludeAuthorizationApproved()) {
workflowQueries.add(Map.of(
"params", List.of(
param("workFlowStage", "BN_WF_BP_AUTHORIZATION", "text", "="),
param("applicationStatus", "Approved", "text", "="),
param("postProcessCompleted", true, "boolean", "!=")
),
"operator", "$and"
));
}
workflowQueries.add(Map.of(
"params", List.of(
param("workFlowStage", "BN_WF_BP_REGISTRATION", "text", "="),
param("applicationStatus", "[\"Rejected\",\"Hold\"]", "text", "in")
),
"operator", "$and"
));
return Map.of(
"nestedQuery", workflowQueries,
"operator", "$or"
);
}
private LazyListRequestDTO indivdualBuildLazyListPayload(InProcessApplicationsRequestDTO req) {
List<Object> rootQueries = new ArrayList<>(); List<Object> rootQueries = new ArrayList<>();
@ -106,12 +141,76 @@ public class InProcessApplicationsService {
return dto; return dto;
} }
public ResponseEntity<String> getInProcessApplications( private LazyListRequestDTO BusinessBuildLazyListPayload(InProcessApplicationsRequestDTO req) {
List<Object> rootQueries = new ArrayList<>();
rootQueries.add(Map.of(
"params", List.of(
param("POR_ORGACODE", req.getPorOrgacode(), "text", "="),
param("POR_ORGACODE_ENTRY", req.getPorOrgacode(), "text", "=")
),
"operator", "$or"
));
rootQueries.add(Map.of(
"params", List.of(
param("PLC_LOCACODE", "[\"" + req.getPlclocacode() + "\"]", "text", "in"),
param("PLC_LOCACODE_ENTRY", "[\"" + req.getPlclocacode() + "\"]", "text", "in")
),
"operator", "$or"
));
rootQueries.add(businessBuildWorkflowFilter(req));
LazyListRequestDTO dto = new LazyListRequestDTO();
dto.setCollection("BN_WF_BP_BUSINESSPROFILE");
dto.setFilter(Map.of(
"nestedQuery", rootQueries,
"operator", "$and"
));
if (req.getLimit() != null) {
dto.setLimit(req.getLimit());
}
dto.setSortBy("{\"workFlowRefNum\":-1}");
dto.setIncludeFields(List.of(
"CMP_CUSTCODE", "CMP_COMPANYNAME", "workFlowRefNum", "applicationStatus", "workFlowStage",
"workFlowStage", "workFlowLog", "postProcessCompleted", "failureCause",
"postProcessInProgress"
));
return dto;
}
public ResponseEntity<String> getIndividualPendingCRM(
InProcessApplicationsRequestDTO request, String token, String susUserCode) {
String url = crmURI + "/crm" + "/mongodb/lazylist";
LazyListRequestDTO payload = indivdualBuildLazyListPayload(request);
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", token);
headers.set("POR_ORGACODE", request.getPorOrgacode());
headers.set("SUS_USERCODE", susUserCode);
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<LazyListRequestDTO> entity = new HttpEntity<>(payload, headers);
return restTemplate.exchange(
url,
HttpMethod.POST,
entity,
String.class
);
}
public ResponseEntity<String> getBusinessPendingCRM(
InProcessApplicationsRequestDTO request, String token, String susUserCode) { InProcessApplicationsRequestDTO request, String token, String susUserCode) {
String url = crmURI + "/crm" + "/mongodb/lazylist"; String url = crmURI + "/crm" + "/mongodb/lazylist";
LazyListRequestDTO payload = buildLazyListPayload(request); LazyListRequestDTO payload = BusinessBuildLazyListPayload(request);
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", token); headers.set("Authorization", token);

@ -30,10 +30,13 @@ public interface AconnectURI {
String GL_TO_ACCOUNT_TRANSACTION_URI = TRANSACTION_URI + "/gl-account"; String GL_TO_ACCOUNT_TRANSACTION_URI = TRANSACTION_URI + "/gl-account";
String INDIVIDUAL_CRM_CREATION_URI = CRM + INDIVIDUAL + "/create"; String INDIVIDUAL_CRM_CREATION_URI = CRM + INDIVIDUAL + "/create";
String APPROVE_INDIVIDUAL_CRM_URI = CRM + INDIVIDUAL + "/approve"; String APPROVE_INDIVIDUAL_CRM_URI = CRM + INDIVIDUAL + "/approve";
String CHECK_PENDING_APPLICATIONS_URI = CRM + "/inprocess"; 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_INDIVIDUAL_APPLICATIONS_URI = CRM + INDIVIDUAL + "/inprocess";
String CHECK_INPROCESS_DEPOSIT_APPLICATIONS_URI = DEPOSIT + "/inprocess"; String CHECK_INPROCESS_DEPOSIT_APPLICATIONS_URI = DEPOSIT + "/inprocess";
String CHECK_INDIVIDUAL_DEPOSIT_APPLICATIONS_URI = DEPOSIT + INDIVIDUAL + "/inprocess"; String CHECK_INDIVIDUAL_DEPOSIT_APPLICATIONS_URI = DEPOSIT + INDIVIDUAL + "/inprocess";
String GET_BUSINESS_PENDING_APPLICATIONS_URI = CRM + BUSINESS + "/pending-workflow";
String CHECK_BUSINESS_APPLICATIONS_URI = CRM + BUSINESS + "/inprocess";
String BUSINESS_CRM_CREATION_URI = CRM + BUSINESS + "/create"; String BUSINESS_CRM_CREATION_URI = CRM + BUSINESS + "/create";
String INDIVIDUAL_DEPOSIT_CREATION_URI = DEPOSIT + INDIVIDUAL + "/create"; String INDIVIDUAL_DEPOSIT_CREATION_URI = DEPOSIT + INDIVIDUAL + "/create";
String UPDATE_DEPOSIT_CREATION_URI = DEPOSIT + INDIVIDUAL + "/approval"; String UPDATE_DEPOSIT_CREATION_URI = DEPOSIT + INDIVIDUAL + "/approval";

@ -13,6 +13,8 @@ public interface TokenBypassURI {
"/aconnect/transactions/accounttogl", "/aconnect/transactions/accounttogl",
"/aconnect/crm/individual/approve", "/aconnect/crm/individual/approve",
"/aconnect/crm/inprocess", "/aconnect/crm/inprocess",
"/aconnect/crm/individual/pending-workflow",
"/aconnect/crm/business/pending-workflow",
"/aconnect/crm/individual/inprocess", "/aconnect/crm/individual/inprocess",
"/aconnect/deposit/inprocess", "/aconnect/deposit/inprocess",
"/aconnect/deposit/individual/inprocess", "/aconnect/deposit/individual/inprocess",

Loading…
Cancel
Save