Updated application contract flow

This commit is contained in:
rajesh
2025-11-13 16:04:14 +05:30
parent 53a9f2ae05
commit 57fcbf15ce
6 changed files with 100 additions and 101 deletions

View File

@@ -65,7 +65,7 @@ public class ApplicationContractDao {
@Autowired @Autowired
private AssignedApplicationsRepository assignedApplicationsRepository; private AssignedApplicationsRepository assignedApplicationsRepository;
public ApplicationContractResponse createApplicationContract(Long applicationId, List<MultipartFile> contractDocuments, ApplicationContractRequest applicationContractRequest, UserEntity user) { public ApplicationContractResponse createApplicationContract(Long applicationId, List<MultipartFile> contractDocuments,UserEntity user) {
ApplicationEntity applicationEntity = applicationDao.validateApplication(applicationId); ApplicationEntity applicationEntity = applicationDao.validateApplication(applicationId);
Optional<AssignedApplicationsEntity> optionalAssignedApplicationsEntity=assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationEntity.getId()); Optional<AssignedApplicationsEntity> optionalAssignedApplicationsEntity=assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationEntity.getId());
AssignedApplicationsEntity assignedApplicationsEntity=optionalAssignedApplicationsEntity.get(); AssignedApplicationsEntity assignedApplicationsEntity=optionalAssignedApplicationsEntity.get();
@@ -73,19 +73,17 @@ public class ApplicationContractDao {
if (Boolean.FALSE.equals(applicationEntity.getStatus().equals(ApplicationStatusTypeEnum.APPROVED.getValue()))) { if (Boolean.FALSE.equals(applicationEntity.getStatus().equals(ApplicationStatusTypeEnum.APPROVED.getValue()))) {
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.APPLICATION_NOT_APPROVED)); throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.APPLICATION_NOT_APPROVED));
} }
if (applicationContractRequest.getSubject() == null || applicationContractRequest.getText() == null) {
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.SUBJECT_AND_BODY_REQUIRED));
}
ApplicationEntity oldApplicationData = Utils.getClonedEntityForData(applicationEntity); ApplicationEntity oldApplicationData = Utils.getClonedEntityForData(applicationEntity);
ApplicationContractEntity existingApplicationContractEntity = applicationContractRepository.findByApplicationIdAndIsDeletedFalse(applicationId); ApplicationContractEntity existingApplicationContractEntity = applicationContractRepository.findByApplicationIdAndIsDeletedFalse(applicationId);
if (existingApplicationContractEntity != null) { if (existingApplicationContractEntity != null) {
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.APPLICATION_CONTRACT_ALREADY_EXIST)); throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.APPLICATION_CONTRACT_ALREADY_EXIST));
} }
ApplicationContractEntity applicationContractEntity = createApplicationContractEntity(applicationContractRequest, user, applicationEntity); ApplicationContractEntity applicationContractEntity = createApplicationContractEntity(user, applicationEntity);
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(applicationContractEntity).build()); loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(applicationContractEntity).build());
List<DocumentResponseBean> documentResponseBeans = setContractDocuments(contractDocuments, user, applicationContractEntity); List<DocumentResponseBean> documentResponseBeans = setBeneficiaryContractDocuments(contractDocuments, user, applicationContractEntity);
applicationEntity.setStatus(ApplicationStatusTypeEnum.AWAITING_CONTRACT.getValue()); applicationEntity.setStatus(ApplicationStatusTypeEnum.CONTRACT_SIGNED.getValue());
assignedApplicationsEntity.setStatus(AssignedApplicationEnum.AWAITING_CONTRACT.getValue()); assignedApplicationsEntity.setStatus(AssignedApplicationEnum.CONTRACT_SIGNED.getValue());
applicationContractEntity.setCompletionDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
applicationRepository.save(applicationEntity); applicationRepository.save(applicationEntity);
assignedApplicationsRepository.save(assignedApplicationsEntity); assignedApplicationsRepository.save(assignedApplicationsEntity);
loggingUtil.addVersionHistory( loggingUtil.addVersionHistory(
@@ -93,18 +91,25 @@ public class ApplicationContractDao {
loggingUtil.addVersionHistory( loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldAssignedApplicationEntity).newData(assignedApplicationsEntity).build()); VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldAssignedApplicationEntity).newData(assignedApplicationsEntity).build());
UserEntity userEntity = userService.validateUser(applicationEntity.getUserId()); UserEntity userEntity = userService.validateUser(applicationEntity.getUserId());
emailNotificationDao.sendEmailForApplicationContracted(applicationEntity, applicationContractEntity, userEntity); Map<String, String> placeHolders = new HashMap<>();
return createApplicationContractResponse(applicationContractEntity, documentResponseBeans, null,applicationEntity.getCall().getName()); placeHolders.put("{{call_name}}", applicationEntity.getCall().getName());
String protocolNumber = applicationEntity.getProtocol().getExternalProtocolNumber();
if (protocolNumber == null) {
protocolNumber = String.valueOf(applicationEntity.getProtocol().getProtocolNumber());
}
placeHolders.put("{{protocol_number}}", protocolNumber);
ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationDao.validateApplicationEvaluation(applicationEntity.getApplicationEvaluationId());
notificationDao.sendNotificationToInstructor(placeHolders, applicationEvaluationEntity, NotificationTypeEnum.CONTRACT_UPLOAD);
return createApplicationContractResponse(applicationContractEntity, null, documentResponseBeans,applicationEntity.getCall().getName());
} }
private ApplicationContractResponse createApplicationContractResponse(ApplicationContractEntity applicationContractEntity, List<DocumentResponseBean> instructorDocuments, List<DocumentResponseBean> beneficiaryDocuments,String callName) { private ApplicationContractResponse createApplicationContractResponse(ApplicationContractEntity applicationContractEntity, List<DocumentResponseBean> instructorDocuments, List<DocumentResponseBean> beneficiaryDocuments,String callName) {
ApplicationContractResponse applicationContractResponse = new ApplicationContractResponse(); ApplicationContractResponse applicationContractResponse = new ApplicationContractResponse();
applicationContractResponse.setId(applicationContractEntity.getId()); applicationContractResponse.setId(applicationContractEntity.getId());
applicationContractResponse.setText(applicationContractEntity.getText());
applicationContractResponse.setSubject(applicationContractEntity.getSubject());
applicationContractResponse.setInstructorId(applicationContractEntity.getInstructorId()); applicationContractResponse.setInstructorId(applicationContractEntity.getInstructorId());
applicationContractResponse.setStatus(ApplicationContractStatusEnum.valueOf(applicationContractEntity.getStatus())); applicationContractResponse.setStatus(ApplicationContractStatusEnum.valueOf(applicationContractEntity.getStatus()));
applicationContractResponse.setInstructorDocuments(instructorDocuments);
applicationContractResponse.setBeneficiaryDocuments(beneficiaryDocuments); applicationContractResponse.setBeneficiaryDocuments(beneficiaryDocuments);
applicationContractResponse.setCompletionDate(applicationContractEntity.getCompletionDate()); applicationContractResponse.setCompletionDate(applicationContractEntity.getCompletionDate());
applicationContractResponse.setBeneficiaryUserId(applicationContractEntity.getBeneficiaryUserId()); applicationContractResponse.setBeneficiaryUserId(applicationContractEntity.getBeneficiaryUserId());
@@ -126,15 +131,13 @@ public class ApplicationContractDao {
return documentResponseBeans; return documentResponseBeans;
} }
private ApplicationContractEntity createApplicationContractEntity(ApplicationContractRequest applicationContractRequest, UserEntity user, ApplicationEntity applicationEntity) { private ApplicationContractEntity createApplicationContractEntity(UserEntity user, ApplicationEntity applicationEntity) {
ApplicationContractEntity applicationContractEntity = new ApplicationContractEntity(); ApplicationContractEntity applicationContractEntity = new ApplicationContractEntity();
applicationContractEntity.setSubject(applicationContractRequest.getSubject());
applicationContractEntity.setText(applicationContractRequest.getText());
applicationContractEntity.setApplicationId(applicationEntity.getId()); applicationContractEntity.setApplicationId(applicationEntity.getId());
applicationContractEntity.setInstructorId(user.getId()); applicationContractEntity.setInstructorId(user.getId());
applicationContractEntity.setIsDeleted(Boolean.FALSE); applicationContractEntity.setIsDeleted(Boolean.FALSE);
applicationContractEntity.setApplicationId(applicationEntity.getId()); applicationContractEntity.setApplicationId(applicationEntity.getId());
applicationContractEntity.setStatus(ApplicationContractStatusEnum.DRAFT.getValue()); applicationContractEntity.setStatus(ApplicationContractStatusEnum.SIGNED.getValue());
applicationContractEntity.setBeneficiaryUserId(applicationEntity.getUserId()); applicationContractEntity.setBeneficiaryUserId(applicationEntity.getUserId());
applicationContractRepository.save(applicationContractEntity); applicationContractRepository.save(applicationContractEntity);
return applicationContractEntity; return applicationContractEntity;
@@ -147,40 +150,40 @@ public class ApplicationContractDao {
return new ArrayList<>(); return new ArrayList<>();
} }
public ApplicationContractResponse updateApplicationContract(Long applicationContractId, List<MultipartFile> beneficiaryContractDocuments, UserEntity user) { // public ApplicationContractResponse updateApplicationContract(Long applicationContractId, List<MultipartFile> beneficiaryContractDocuments, UserEntity user) {
ApplicationContractEntity applicationContractEntity = validateApplicationContract(applicationContractId); // ApplicationContractEntity applicationContractEntity = validateApplicationContract(applicationContractId);
ApplicationContractEntity oldApplicationContract = Utils.getClonedEntityForData(applicationContractEntity); // ApplicationContractEntity oldApplicationContract = Utils.getClonedEntityForData(applicationContractEntity);
applicationContractEntity.setCompletionDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); // applicationContractEntity.setCompletionDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
applicationContractEntity.setStatus(ApplicationContractStatusEnum.SIGNED.getValue()); // applicationContractEntity.setStatus(ApplicationContractStatusEnum.SIGNED.getValue());
List<DocumentResponseBean> beneficiaryContractDocuments1 = setBeneficiaryContractDocuments(beneficiaryContractDocuments, user, applicationContractEntity); // List<DocumentResponseBean> beneficiaryContractDocuments1 = setBeneficiaryContractDocuments(beneficiaryContractDocuments, user, applicationContractEntity);
List<DocumentResponseBean> documentResponseBeans = applicationAmendmentRequestDao.getDocumentResponseBean(applicationContractEntity.getInstructorDocument()); // List<DocumentResponseBean> documentResponseBeans = applicationAmendmentRequestDao.getDocumentResponseBean(applicationContractEntity.getInstructorDocument());
loggingUtil.addVersionHistory( // loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationContract).newData(applicationContractEntity).build()); // VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationContract).newData(applicationContractEntity).build());
ApplicationEntity applicationEntity = applicationDao.validateApplication(applicationContractEntity.getApplicationId()); // ApplicationEntity applicationEntity = applicationDao.validateApplication(applicationContractEntity.getApplicationId());
ApplicationEntity oldApplicationData = Utils.getClonedEntityForData(applicationEntity); // ApplicationEntity oldApplicationData = Utils.getClonedEntityForData(applicationEntity);
Optional<AssignedApplicationsEntity> optionalAssignedApplicationsEntity=assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationEntity.getId()); // Optional<AssignedApplicationsEntity> optionalAssignedApplicationsEntity=assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationEntity.getId());
AssignedApplicationsEntity assignedApplicationsEntity=optionalAssignedApplicationsEntity.get(); // AssignedApplicationsEntity assignedApplicationsEntity=optionalAssignedApplicationsEntity.get();
AssignedApplicationsEntity oldAssignedApplicationEntity=Utils.getClonedEntityForData(assignedApplicationsEntity); // AssignedApplicationsEntity oldAssignedApplicationEntity=Utils.getClonedEntityForData(assignedApplicationsEntity);
ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationDao.validateApplicationEvaluation(applicationEntity.getApplicationEvaluationId()); // ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationDao.validateApplicationEvaluation(applicationEntity.getApplicationEvaluationId());
applicationEntity.setStatus(ApplicationStatusTypeEnum.CONTRACT_SIGNED.getValue()); // applicationEntity.setStatus(ApplicationStatusTypeEnum.CONTRACT_SIGNED.getValue());
assignedApplicationsEntity.setStatus(AssignedApplicationEnum.CONTRACT_SIGNED.getValue()); // assignedApplicationsEntity.setStatus(AssignedApplicationEnum.CONTRACT_SIGNED.getValue());
applicationRepository.save(applicationEntity); // applicationRepository.save(applicationEntity);
assignedApplicationsRepository.save(assignedApplicationsEntity); // assignedApplicationsRepository.save(assignedApplicationsEntity);
loggingUtil.addVersionHistory( // loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationData).newData(applicationEntity).build()); // VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationData).newData(applicationEntity).build());
loggingUtil.addVersionHistory( // loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldAssignedApplicationEntity).newData(assignedApplicationsEntity).build()); // VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldAssignedApplicationEntity).newData(assignedApplicationsEntity).build());
Map<String, String> placeHolders = new HashMap<>(); // Map<String, String> placeHolders = new HashMap<>();
placeHolders.put("{{call_name}}", applicationEntity.getCall().getName()); // placeHolders.put("{{call_name}}", applicationEntity.getCall().getName());
String protocolNumber = applicationEntity.getProtocol().getExternalProtocolNumber(); // String protocolNumber = applicationEntity.getProtocol().getExternalProtocolNumber();
if (protocolNumber == null) { // if (protocolNumber == null) {
protocolNumber = String.valueOf(applicationEntity.getProtocol().getProtocolNumber()); // protocolNumber = String.valueOf(applicationEntity.getProtocol().getProtocolNumber());
} // }
placeHolders.put("{{protocol_number}}", protocolNumber); // placeHolders.put("{{protocol_number}}", protocolNumber);
notificationDao.sendNotificationToInstructor(placeHolders, applicationEvaluationEntity, NotificationTypeEnum.CONTRACT_UPLOAD); // notificationDao.sendNotificationToInstructor(placeHolders, applicationEvaluationEntity, NotificationTypeEnum.CONTRACT_UPLOAD);
//
return createApplicationContractResponse(applicationContractEntity, documentResponseBeans, beneficiaryContractDocuments1,applicationEntity.getCall().getName()); // return createApplicationContractResponse(applicationContractEntity, documentResponseBeans, beneficiaryContractDocuments1,applicationEntity.getCall().getName());
} // }
public ApplicationContractEntity validateApplicationContract(Long applicationContractId) { public ApplicationContractEntity validateApplicationContract(Long applicationContractId) {
ApplicationContractEntity applicationContractEntity = applicationContractRepository.findByIdAndIsDeletedFalse(applicationContractId); ApplicationContractEntity applicationContractEntity = applicationContractRepository.findByIdAndIsDeletedFalse(applicationContractId);
@@ -198,8 +201,11 @@ public class ApplicationContractDao {
String contractDocumentId = contractDocumentIds.stream() String contractDocumentId = contractDocumentIds.stream()
.map(String::valueOf) .map(String::valueOf)
.collect(Collectors.joining(",")); .collect(Collectors.joining(","));
ApplicationContractEntity oldApplicationContractEntity = Utils.getClonedEntityForData(applicationContractEntity);
applicationContractEntity.setBeneficiaryDocument(contractDocumentId); applicationContractEntity.setBeneficiaryDocument(contractDocumentId);
applicationContractRepository.save(applicationContractEntity); applicationContractRepository.save(applicationContractEntity);
loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationContractEntity).newData(applicationContractEntity).build());
return documentResponseBeans; return documentResponseBeans;
} }
@@ -227,7 +233,7 @@ public class ApplicationContractDao {
public List<ApplicationContractResponse> getContractByBeneficiaryUserId(UserEntity user) { public List<ApplicationContractResponse> getContractByBeneficiaryUserId(UserEntity user) {
List<ApplicationContractEntity> applicationContractEntities = applicationContractRepository.findByBeneficiaryUserIdAndStatusAndIsDeletedFalse(user.getId(), ApplicationContractStatusEnum.DRAFT.getValue()); List<ApplicationContractEntity> applicationContractEntities = applicationContractRepository.findByBeneficiaryUserIdAndStatusAndIsDeletedFalse(user.getId(), ApplicationContractStatusEnum.SIGNED.getValue());
if (applicationContractEntities.isEmpty()) { if (applicationContractEntities.isEmpty()) {
return null; return null;
} }

View File

@@ -11,14 +11,8 @@ public class ApplicationContractResponse {
private Long id; private Long id;
private String subject;
private String text;
private ApplicationContractStatusEnum status; private ApplicationContractStatusEnum status;
private List<DocumentResponseBean> instructorDocuments;
private Long instructorId; private Long instructorId;
private List<DocumentResponseBean> beneficiaryDocuments; private List<DocumentResponseBean> beneficiaryDocuments;

View File

@@ -9,9 +9,9 @@ import java.util.List;
public interface ApplicationContractService { public interface ApplicationContractService {
public ApplicationContractResponse createApplicationContract(HttpServletRequest httpServletRequest, Long applicationId, List<MultipartFile> contractDocuments, ApplicationContractRequest applicationContractRequest); public ApplicationContractResponse createApplicationContract(HttpServletRequest httpServletRequest, Long applicationId, List<MultipartFile> beneficiaryContractDocuments);
public ApplicationContractResponse updateApplicationContract(HttpServletRequest httpServletRequest, Long applicationContractId,List<MultipartFile> beneficiaryContractDocuments); // public ApplicationContractResponse updateApplicationContract(HttpServletRequest httpServletRequest, Long applicationContractId,List<MultipartFile> beneficiaryContractDocuments);
public ApplicationContractResponse getContractById(Long contractId); public ApplicationContractResponse getContractById(Long contractId);

View File

@@ -33,23 +33,23 @@ public class ApplicationContractServiceImpl implements ApplicationContractServic
private UserDao userDao; private UserDao userDao;
@Override @Override
public ApplicationContractResponse createApplicationContract(HttpServletRequest httpServletRequest, Long applicationId, List<MultipartFile> contractDocuments, ApplicationContractRequest applicationContractRequest) { public ApplicationContractResponse createApplicationContract(HttpServletRequest httpServletRequest, Long applicationId, List<MultipartFile> beneficiaryContractDocuments) {
UserEntity user= validator.validateUser(httpServletRequest);
if(contractDocuments==null) {
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.FILES_REQUIRED_FOR_CONTRACT));
}
contractDocuments.forEach(Utils::validateFileType);
return applicationContractDao.createApplicationContract(applicationId,contractDocuments,applicationContractRequest,user);
}
@Override
public ApplicationContractResponse updateApplicationContract(HttpServletRequest httpServletRequest, Long applicationContractId, List<MultipartFile> beneficiaryContractDocuments) {
UserEntity user= validator.validateUser(httpServletRequest); UserEntity user= validator.validateUser(httpServletRequest);
if(beneficiaryContractDocuments==null) { if(beneficiaryContractDocuments==null) {
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.FILES_REQUIRED_FOR_CONTRACT)); throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.FILES_REQUIRED_FOR_CONTRACT));
} }
return applicationContractDao.updateApplicationContract(applicationContractId,beneficiaryContractDocuments,user); beneficiaryContractDocuments.forEach(Utils::validateFileType);
return applicationContractDao.createApplicationContract(applicationId,beneficiaryContractDocuments,user);
} }
//
// @Override
// public ApplicationContractResponse updateApplicationContract(HttpServletRequest httpServletRequest, Long applicationContractId, List<MultipartFile> beneficiaryContractDocuments) {
// UserEntity user= validator.validateUser(httpServletRequest);
// if(beneficiaryContractDocuments==null) {
// throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.FILES_REQUIRED_FOR_CONTRACT));
// }
// return applicationContractDao.updateApplicationContract(applicationContractId,beneficiaryContractDocuments,user);
// }
@Override @Override
public ApplicationContractResponse getContractById(Long contractId) { public ApplicationContractResponse getContractById(Long contractId) {

View File

@@ -36,27 +36,26 @@ public interface ApplicationContractApi {
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) })
@PostMapping(value = "/application/{applicationId}", produces = "application/json", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PostMapping(value = "/application/{applicationId}", produces = "application/json", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@PreAuthorize("hasRole('ROLE_SUPER_ADMIN') || hasRole('ROLE_INSTRUCTOR_MANAGER')|| hasRole('ROLE_PRE_INSTRUCTOR')") @PreAuthorize( "hasRole('ROLE_SUPER_ADMIN') || hasRole('ROLE_BENEFICIARY') || hasRole('ROLE_CONFIDI')")
ResponseEntity<Response<ApplicationContractResponse>> createApplicationContract(HttpServletRequest request, ResponseEntity<Response<ApplicationContractResponse>> createApplicationContract(HttpServletRequest request,
@Parameter(description = "Application ID", required = true) @PathVariable("applicationId") Long applicationId, @Parameter(description = "List of files to upload", required = true) @Parameter(description = "Application ID", required = true) @PathVariable("applicationId") Long applicationId, @Parameter(description = "List of files to upload", required = true)
@RequestPart(required = true) List<MultipartFile> contractDocuments,
@Parameter(description = "Application Contract Request Body", required = true) @RequestPart ApplicationContractRequest applicationContractRequest);
@Operation(summary = "Api to update application contract from beneficiary side",
responses = {
@ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })),
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })),
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) })
@PutMapping(value = "{applicationContractId}", produces = "application/json", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@PreAuthorize( "hasRole('ROLE_SUPER_ADMIN') || hasRole('ROLE_BENEFICIARY') || hasRole('ROLE_CONFIDI')")
ResponseEntity<Response<ApplicationContractResponse>> updateApplicationContract(HttpServletRequest request,
@Parameter(description = "Application Contract ID", required = true) @PathVariable("applicationContractId") Long applicationContractId, @Parameter(description = "List of files to upload", required = true)
@RequestPart(required = true) List<MultipartFile> beneficiaryContractDocuments); @RequestPart(required = true) List<MultipartFile> beneficiaryContractDocuments);
// @Operation(summary = "Api to update application contract from beneficiary side",
// responses = {
// @ApiResponse(responseCode = "200", description = "OK"),
// @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
// @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })),
// @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
// @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })),
// @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
// @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) })
// @PutMapping(value = "{applicationContractId}", produces = "application/json", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
// @PreAuthorize( "hasRole('ROLE_SUPER_ADMIN') || hasRole('ROLE_BENEFICIARY') || hasRole('ROLE_CONFIDI')")
// ResponseEntity<Response<ApplicationContractResponse>> updateApplicationContract(HttpServletRequest request,
// @Parameter(description = "Application Contract ID", required = true) @PathVariable("applicationContractId") Long applicationContractId, @Parameter(description = "List of files to upload", required = true)
// @RequestPart(required = true) List<MultipartFile> beneficiaryContractDocuments);
@Operation(summary = "Api to get an application contract by id", @Operation(summary = "Api to get an application contract by id",
responses = { responses = {
@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "200", description = "OK"),

View File

@@ -33,25 +33,25 @@ public class ApplicationContractApiController implements ApplicationContractApi
private ApplicationContractService applicationContractService; private ApplicationContractService applicationContractService;
@Override @Override
public ResponseEntity<Response<ApplicationContractResponse>> createApplicationContract(HttpServletRequest request, Long applicationId, List<MultipartFile> contractDocuments, ApplicationContractRequest applicationContractRequest) { public ResponseEntity<Response<ApplicationContractResponse>> createApplicationContract(HttpServletRequest request, Long applicationId, List<MultipartFile> beneficiaryContractDocuments) {
loggingUtil.logUserAction( loggingUtil.logUserAction(
UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT).actionContext(UserActionContextEnum.CREATE_CONTRACT_FOR_APPLICATION).build()); UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT).actionContext(UserActionContextEnum.CREATE_CONTRACT_FOR_APPLICATION).build());
ApplicationContractResponse applicationContractResponse=applicationContractService.createApplicationContract(request,applicationId,contractDocuments,applicationContractRequest); ApplicationContractResponse applicationContractResponse=applicationContractService.createApplicationContract(request,applicationId,beneficiaryContractDocuments);
return ResponseEntity.status(HttpStatus.OK) return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(applicationContractResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.CREATE_APPLICATION_CONTRACT))); .body(new Response<>(applicationContractResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.CREATE_APPLICATION_CONTRACT)));
} }
@Override // @Override
public ResponseEntity<Response<ApplicationContractResponse>> updateApplicationContract(HttpServletRequest request, Long applicationId, List<MultipartFile> beneficiaryContractDocuments) { // public ResponseEntity<Response<ApplicationContractResponse>> updateApplicationContract(HttpServletRequest request, Long applicationId, List<MultipartFile> beneficiaryContractDocuments) {
loggingUtil.logUserAction( // loggingUtil.logUserAction(
UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE).actionContext(UserActionContextEnum.UPDATE_APPLICATION_CONTRACT).build()); // UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE).actionContext(UserActionContextEnum.UPDATE_APPLICATION_CONTRACT).build());
ApplicationContractResponse applicationContractResponse=applicationContractService.updateApplicationContract(request,applicationId,beneficiaryContractDocuments); // ApplicationContractResponse applicationContractResponse=applicationContractService.updateApplicationContract(request,applicationId,beneficiaryContractDocuments);
//
return ResponseEntity.status(HttpStatus.OK) // return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(applicationContractResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.APPLICATION_CONTRACT_UPDATED))); // .body(new Response<>(applicationContractResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.APPLICATION_CONTRACT_UPDATED)));
} // }
@Override @Override
public ResponseEntity<Response<ApplicationContractResponse>> getApplicationContractById(HttpServletRequest request, Long id) { public ResponseEntity<Response<ApplicationContractResponse>> getApplicationContractById(HttpServletRequest request, Long id) {