CRM Workflow Creation #7

Merged
naeem.ullah merged 1 commits from Wasi/BS-2086 into dev-pending-20-01-2026 2 weeks ago

@ -1,13 +1,12 @@
package com.mfsys.aconnect.client.controller;
import com.mfsys.aconnect.client.dto.ApproveCRMRequestDTO;
import com.mfsys.aconnect.client.dto.WorkflowApprovalDTO;
import com.mfsys.aconnect.client.dto.WorkflowRequestDTO;
import com.mfsys.aconnect.client.service.CRMService;
import com.mfsys.common.configuration.constant.AconnectURI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
public class CRMController {
@ -31,4 +30,10 @@ public class CRMController {
@RequestHeader("Authorization") String token) {
return crmService.createBusinessCRM(workflowRequestDTO, token);
}
@PostMapping(AconnectURI.APPROVE_INDIVIDUAL_CRM_URI)
public Object approveCRM(@RequestBody ApproveCRMRequestDTO approveCRMRequestDTO,
@RequestHeader("Authorization") String token){
return crmService.approveCRM(approveCRMRequestDTO, token);
}
}

@ -0,0 +1,43 @@
package com.mfsys.aconnect.client.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class ApproveCRMRequestDTO {
private String workFlowId;
private String formId;
private String postProcessFormId;
private String operation;
@JsonProperty("SUS_USERCODE")
private String susUserCode;
@JsonProperty("POR_ORGACODE")
private String porOrgacode;
private String filter;
@JsonProperty("$set")
private String set;
@JsonProperty("$push")
private String push;
private String arrayFilters;
private Map<String, Object> filesMap;
private List<AutoIncrementFieldDTO> autoIncrementFields;
private List<FormCounterDTO> formCounters;
private WorkflowDTO workflow;
}

@ -1,11 +1,13 @@
package com.mfsys.aconnect.client.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class FormCounterDTO {
private String POR_ORGACODE;
@JsonProperty("POR_ORGACODE")
private String porOrgacode;
private String autoIncrementField;
private int autoIncrementLength;
private String paddingCharacter;

@ -0,0 +1,15 @@
package com.mfsys.aconnect.client.dto;
import lombok.Data;
@Data
public class WorkflowDTO {
private String workFlowId;
private Integer workFlowRefNum;
private String previousStage;
private String nextStage;
}

@ -1,11 +1,14 @@
package com.mfsys.aconnect.client.service;
import com.mfsys.aconnect.client.dto.ApproveCRMRequestDTO;
import com.mfsys.aconnect.client.dto.WorkflowApprovalDTO;
import com.mfsys.aconnect.client.dto.WorkflowRequestDTO;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
@ -62,4 +65,25 @@ public class CRMService {
return ResponseEntity.status(response.getStatusCode()).body(response.getBody());
}
public Object approveCRM(ApproveCRMRequestDTO approveCRMRequestDTO, String token) {
String porOrgacode = approveCRMRequestDTO.getPorOrgacode();
String url = crmURI + "/crm" + "/mongodb/formdata";
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", token);
headers.set("POR_ORGACODE", approveCRMRequestDTO.getPorOrgacode());
headers.set("SUS_USERCODE", approveCRMRequestDTO.getSusUserCode());
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<ApproveCRMRequestDTO> entity = new HttpEntity<>(approveCRMRequestDTO, headers);
ResponseEntity<Map> response = restTemplate.exchange(
url,
HttpMethod.PATCH,
entity,
Map.class
);
return ResponseEntity.status(response.getStatusCode()).body(response.getBody());
}
}

@ -29,6 +29,7 @@ public interface AconnectURI {
String ACCOUNT_TO_ACCOUNT_TRANSACTION_URI = TRANSACTION_URI + "/accounttoaccount";
String GL_TO_ACCOUNT_TRANSACTION_URI = TRANSACTION_URI + "/gl-account";
String INDIVIDUAL_CRM_CREATION_URI = CRM + INDIVIDUAL + "/create";
String APPROVE_INDIVIDUAL_CRM_URI = CRM + INDIVIDUAL + "/approve";
String BUSINESS_CRM_CREATION_URI = CRM + BUSINESS + "/create";
String INDIVIDUAL_DEPOSIT_CREATION_URI = DEPOSIT + INDIVIDUAL + "/create";
String UPDATE_DEPOSIT_CREATION_URI = DEPOSIT + INDIVIDUAL + "/approval";

@ -11,6 +11,7 @@ public interface TokenBypassURI {
"/aconnect/signin",
"/aconnect/transactions/accounttogl",
"/aconnect/crm/individual/approve",
"/aconnect/account/miscDetails",
"/deposit/account/miscDetails",
"/aconnect/account/getAccountDetails",

Loading…
Cancel
Save