Updated application contract flow
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -36,26 +36,25 @@ 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,
|
@RequestPart(required = true) List<MultipartFile> beneficiaryContractDocuments);
|
||||||
@Parameter(description = "Application Contract Request Body", required = true) @RequestPart ApplicationContractRequest applicationContractRequest);
|
|
||||||
|
|
||||||
@Operation(summary = "Api to update application contract from beneficiary side",
|
// @Operation(summary = "Api to update application contract from beneficiary side",
|
||||||
responses = {
|
// responses = {
|
||||||
@ApiResponse(responseCode = "200", description = "OK"),
|
// @ApiResponse(responseCode = "200", description = "OK"),
|
||||||
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
// @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||||
@ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })),
|
// @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })),
|
||||||
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
// @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
|
||||||
@ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })),
|
// @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })),
|
||||||
@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) })) })
|
||||||
@PutMapping(value = "{applicationContractId}", produces = "application/json", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
// @PutMapping(value = "{applicationContractId}", produces = "application/json", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||||
@PreAuthorize( "hasRole('ROLE_SUPER_ADMIN') || hasRole('ROLE_BENEFICIARY') || hasRole('ROLE_CONFIDI')")
|
// @PreAuthorize( "hasRole('ROLE_SUPER_ADMIN') || hasRole('ROLE_BENEFICIARY') || hasRole('ROLE_CONFIDI')")
|
||||||
ResponseEntity<Response<ApplicationContractResponse>> updateApplicationContract(HttpServletRequest request,
|
// 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)
|
// @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 get an application contract by id",
|
@Operation(summary = "Api to get an application contract by id",
|
||||||
responses = {
|
responses = {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user