updated code
This commit is contained in:
@@ -9,6 +9,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
|||||||
import net.gepafin.tendermanagement.config.Translator;
|
import net.gepafin.tendermanagement.config.Translator;
|
||||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||||
import net.gepafin.tendermanagement.entities.*;
|
import net.gepafin.tendermanagement.entities.*;
|
||||||
|
import net.gepafin.tendermanagement.entities.SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum;
|
||||||
import net.gepafin.tendermanagement.enums.*;
|
import net.gepafin.tendermanagement.enums.*;
|
||||||
import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequest;
|
import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequest;
|
||||||
import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequestBean;
|
import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequestBean;
|
||||||
@@ -18,9 +19,8 @@ import net.gepafin.tendermanagement.model.response.*;
|
|||||||
import net.gepafin.tendermanagement.repositories.*;
|
import net.gepafin.tendermanagement.repositories.*;
|
||||||
import net.gepafin.tendermanagement.service.*;
|
import net.gepafin.tendermanagement.service.*;
|
||||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||||
import net.gepafin.tendermanagement.util.Validator;
|
|
||||||
import net.gepafin.tendermanagement.entities.SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum;
|
|
||||||
import net.gepafin.tendermanagement.util.Utils;
|
import net.gepafin.tendermanagement.util.Utils;
|
||||||
|
import net.gepafin.tendermanagement.util.Validator;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||||
@@ -29,10 +29,8 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -175,7 +173,8 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
List<Map<String, Object>> dataList = objectMapper.readValue(
|
List<Map<String, Object>> dataList = objectMapper.readValue(
|
||||||
content, new TypeReference<List<Map<String, Object>>>() {});
|
content, new TypeReference<List<Map<String, Object>>>() {
|
||||||
|
});
|
||||||
|
|
||||||
for (Map<String, Object> data : dataList) {
|
for (Map<String, Object> data : dataList) {
|
||||||
if (target.equals(data.get("name"))) {
|
if (target.equals(data.get("name"))) {
|
||||||
@@ -189,19 +188,19 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
return filteredList;
|
return filteredList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApplicationAmendmentRequestResponse createApplicationAmendmentRequest(Long applicationEvaluationId, ApplicationAmendmentRequest applicationAmendmentRequest){
|
public ApplicationAmendmentRequestResponse createApplicationAmendmentRequest(Long applicationEvaluationId, ApplicationAmendmentRequest applicationAmendmentRequest) {
|
||||||
log.info("Submiting application data for amendment Process with details: {}", applicationEvaluationId);
|
log.info("Submiting application data for amendment Process with details: {}", applicationEvaluationId);
|
||||||
|
|
||||||
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = createApplicationAmendmentRequestEntity(applicationAmendmentRequest, applicationEvaluationId);
|
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = createApplicationAmendmentRequestEntity(applicationAmendmentRequest, applicationEvaluationId);
|
||||||
ApplicationAmendmentRequestResponse applicationAmendmentRequestResponse = convertEntityToResponse(applicationAmendmentRequestEntity);
|
ApplicationAmendmentRequestResponse applicationAmendmentRequestResponse = convertEntityToResponse(applicationAmendmentRequestEntity);
|
||||||
log.info("Application submitted successfully for amendment", applicationAmendmentRequestResponse);
|
log.info("Application submitted successfully for amendment", applicationAmendmentRequestResponse);
|
||||||
if(Boolean.TRUE.equals(applicationAmendmentRequestResponse.getIsSendEmail())){
|
if (Boolean.TRUE.equals(applicationAmendmentRequestResponse.getIsSendEmail())) {
|
||||||
emailNotificationDao.sendMailToNotifyBeneficiaryRegardingNewAmendment(applicationAmendmentRequestEntity);
|
emailNotificationDao.sendMailToNotifyBeneficiaryRegardingNewAmendment(applicationAmendmentRequestEntity);
|
||||||
}
|
}
|
||||||
return applicationAmendmentRequestResponse;
|
return applicationAmendmentRequestResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApplicationAmendmentRequestEntity createApplicationAmendmentRequestEntity(ApplicationAmendmentRequest applicationAmendmentRequest,Long applicationEvaluationId){
|
public ApplicationAmendmentRequestEntity createApplicationAmendmentRequestEntity(ApplicationAmendmentRequest applicationAmendmentRequest,Long applicationEvaluationId) {
|
||||||
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = new ApplicationAmendmentRequestEntity();
|
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = new ApplicationAmendmentRequestEntity();
|
||||||
applicationAmendmentRequestEntity.setNote(applicationAmendmentRequest.getNote());
|
applicationAmendmentRequestEntity.setNote(applicationAmendmentRequest.getNote());
|
||||||
applicationAmendmentRequestEntity.setResponseDays(applicationAmendmentRequest.getResponseDays());
|
applicationAmendmentRequestEntity.setResponseDays(applicationAmendmentRequest.getResponseDays());
|
||||||
@@ -219,7 +218,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
if (applicationAmendmentRequest.getFormFields() != null) {
|
if (applicationAmendmentRequest.getFormFields() != null) {
|
||||||
List<ApplicationFormFieldRequestBean> formFieldRequestBean = applicationAmendmentRequest.getFormFields().stream()
|
List<ApplicationFormFieldRequestBean> formFieldRequestBean = applicationAmendmentRequest.getFormFields().stream()
|
||||||
.filter(AmendmentFormFieldResponse::isSelected)
|
.filter(AmendmentFormFieldResponse::isSelected)
|
||||||
.map(amendmentFormFieldRequest->{
|
.map(amendmentFormFieldRequest -> {
|
||||||
ApplicationFormFieldRequestBean formField = new ApplicationFormFieldRequestBean();
|
ApplicationFormFieldRequestBean formField = new ApplicationFormFieldRequestBean();
|
||||||
formField.setFieldId(amendmentFormFieldRequest.getFieldId());
|
formField.setFieldId(amendmentFormFieldRequest.getFieldId());
|
||||||
formField.setFieldValue(null);
|
formField.setFieldValue(null);
|
||||||
@@ -252,15 +251,15 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
return applicationAmendment;
|
return applicationAmendment;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApplicationAmendmentRequestEntity saveApplicationAmendmentRequestEntity(ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity){
|
public ApplicationAmendmentRequestEntity saveApplicationAmendmentRequestEntity(ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity) {
|
||||||
ApplicationAmendmentRequestEntity applicationAmendmentRequest= applicationAmendmentRequestRepository.save(applicationAmendmentRequestEntity);
|
ApplicationAmendmentRequestEntity applicationAmendmentRequest = applicationAmendmentRequestRepository.save(applicationAmendmentRequestEntity);
|
||||||
return applicationAmendmentRequest;
|
return applicationAmendmentRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApplicationAmendmentRequestResponse convertEntityToResponse(ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity){
|
public ApplicationAmendmentRequestResponse convertEntityToResponse(ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity) {
|
||||||
ApplicationAmendmentRequestResponse applicationAmendmentRequestResponse = new ApplicationAmendmentRequestResponse();
|
ApplicationAmendmentRequestResponse applicationAmendmentRequestResponse = new ApplicationAmendmentRequestResponse();
|
||||||
applicationAmendmentRequestResponse.setId(applicationAmendmentRequestEntity.getId());
|
applicationAmendmentRequestResponse.setId(applicationAmendmentRequestEntity.getId());
|
||||||
Long applicationId= applicationAmendmentRequestEntity.getApplicationId();
|
Long applicationId = applicationAmendmentRequestEntity.getApplicationId();
|
||||||
|
|
||||||
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
||||||
applicationAmendmentRequestResponse.setApplicationId(applicationId);
|
applicationAmendmentRequestResponse.setApplicationId(applicationId);
|
||||||
@@ -294,26 +293,54 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
applicationAmendmentRequestResponse.setProtocolNumber(protocolNumber);
|
applicationAmendmentRequestResponse.setProtocolNumber(protocolNumber);
|
||||||
applicationAmendmentRequestResponse.setBeneficiaryName(beneficiaryName);
|
applicationAmendmentRequestResponse.setBeneficiaryName(beneficiaryName);
|
||||||
|
|
||||||
|
List<ApplicationFormEntity> forms = applicationFormRepository.findByApplicationId(applicationId);
|
||||||
|
List<AmendmentFormFieldResponse> allFormFields = new ArrayList<>();
|
||||||
|
|
||||||
|
for (ApplicationFormEntity form : forms) {
|
||||||
|
String content = form.getForm().getContent();
|
||||||
|
List<Map<String, Object>> result = filterByName(content, "fileupload");
|
||||||
|
allFormFields.addAll(getIdAndLabelFromResult(result));
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, String> fieldIdToLabelMap = allFormFields.stream()
|
||||||
|
.collect(Collectors.toMap(AmendmentFormFieldResponse::getFieldId, AmendmentFormFieldResponse::getLabel));
|
||||||
|
|
||||||
String formFieldsJson = applicationAmendmentRequestEntity.getFormFields();
|
String formFieldsJson = applicationAmendmentRequestEntity.getFormFields();
|
||||||
List<AmendmentFormFieldResponse> formFields = Utils.convertJsonToList(
|
List<AmendmentFormFieldResponse> formFields = Utils.convertJsonToList(
|
||||||
formFieldsJson, new TypeReference<List<AmendmentFormFieldResponse>>() {});
|
formFieldsJson, new TypeReference<List<AmendmentFormFieldResponse>>() {
|
||||||
|
});
|
||||||
|
|
||||||
|
for (AmendmentFormFieldResponse formField : formFields) {
|
||||||
|
String label = fieldIdToLabelMap.get(formField.getFieldId());
|
||||||
|
formField.setLabel(label);
|
||||||
|
formField.setSelected(true);
|
||||||
|
}
|
||||||
// Set the filtered formFields in the response
|
// Set the filtered formFields in the response
|
||||||
applicationAmendmentRequestResponse.setFormFields(formFields);
|
applicationAmendmentRequestResponse.setFormFields(formFields);
|
||||||
|
|
||||||
String applicationFormFieldsJson = applicationAmendmentRequestEntity.getFormFields();
|
String applicationFormFieldsJson = applicationAmendmentRequestEntity.getFormFields();
|
||||||
List<ApplicationFormFieldResponseBean> applicationFormFields = Utils.convertJsonToList(
|
List<ApplicationFormFieldResponseBean> applicationFormFields = Utils.convertJsonToList(
|
||||||
formFieldsJson, new TypeReference<List<ApplicationFormFieldResponseBean>>() {});
|
formFieldsJson, new TypeReference<List<ApplicationFormFieldResponseBean>>() {
|
||||||
|
});
|
||||||
|
|
||||||
List<ApplicationFormFieldResponseBean> fileDetailResponses = new ArrayList<>();
|
List<ApplicationFormFieldResponseBean> fileDetailResponses = new ArrayList<>();
|
||||||
for (ApplicationFormFieldResponseBean field : applicationFormFields) {
|
for (ApplicationFormFieldResponseBean field : applicationFormFields) {
|
||||||
ApplicationFormFieldResponseBean responseBean = new ApplicationFormFieldResponseBean();
|
ApplicationFormFieldResponseBean responseBean = new ApplicationFormFieldResponseBean();
|
||||||
responseBean.setFieldId(field.getFieldId());
|
responseBean.setFieldId(field.getFieldId());
|
||||||
responseBean.setApplicationFormId(field.getApplicationFormId());
|
|
||||||
responseBean.setId(field.getId());
|
Optional<ApplicationFormFieldEntity> formFieldEntity = Optional.empty();
|
||||||
responseBean.setCreatedDate(field.getCreatedDate());
|
for (ApplicationFormEntity form : forms) {
|
||||||
responseBean.setUpdatedDate(field.getUpdatedDate());
|
formFieldEntity = applicationFormFieldRepository
|
||||||
|
.findByApplicationFormIdAndFieldId(form.getId(), field.getFieldId());
|
||||||
|
if (formFieldEntity.isPresent()) {
|
||||||
|
// Set the applicationFormId from the matching form
|
||||||
|
responseBean.setApplicationFormId(form.getId());
|
||||||
|
responseBean.setId(formFieldEntity.get().getId());
|
||||||
|
responseBean.setCreatedDate(formFieldEntity.get().getCreatedDate());
|
||||||
|
responseBean.setUpdatedDate(formFieldEntity.get().getUpdatedDate());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fieldValue is not null and is a String
|
// Check if fieldValue is not null and is a String
|
||||||
if (field.getFieldValue() instanceof String && field.getFieldValue() != null && !((String) field.getFieldValue()).isBlank()) {
|
if (field.getFieldValue() instanceof String && field.getFieldValue() != null && !((String) field.getFieldValue()).isBlank()) {
|
||||||
@@ -363,7 +390,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
|
|
||||||
public void deleteById(Long id) {
|
public void deleteById(Long id) {
|
||||||
log.info("Deleting assigned application with ID: {}", id);
|
log.info("Deleting assigned application with ID: {}", id);
|
||||||
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity= validateApplicationAmendmentRequest(id);
|
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = validateApplicationAmendmentRequest(id);
|
||||||
applicationAmendmentRequestEntity.setIsDeleted(true);
|
applicationAmendmentRequestEntity.setIsDeleted(true);
|
||||||
saveApplicationAmendmentRequestEntity(applicationAmendmentRequestEntity);
|
saveApplicationAmendmentRequestEntity(applicationAmendmentRequestEntity);
|
||||||
log.info(" Application amendment deleted with ID: {}", id);
|
log.info(" Application amendment deleted with ID: {}", id);
|
||||||
@@ -377,11 +404,11 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest(HttpServletRequest request,Long userId) {
|
public List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest(HttpServletRequest request, Long userId) {
|
||||||
if(validator.checkIsPreInstructor() && userId == null) {
|
if (validator.checkIsPreInstructor() && userId == null) {
|
||||||
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.USER_ID_NOT_NULL_MSG));
|
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.USER_ID_NOT_NULL_MSG));
|
||||||
}
|
}
|
||||||
if(userId != null) {
|
if (userId != null) {
|
||||||
validator.validatePreInstructor(request, userId);
|
validator.validatePreInstructor(request, userId);
|
||||||
}
|
}
|
||||||
Specification<ApplicationAmendmentRequestEntity> spec = search(userId);
|
Specification<ApplicationAmendmentRequestEntity> spec = search(userId);
|
||||||
@@ -563,7 +590,8 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
formFieldsList = new ArrayList<>(); // If no existing data, start with an empty list
|
formFieldsList = new ArrayList<>(); // If no existing data, start with an empty list
|
||||||
} else {
|
} else {
|
||||||
// Step 2: Deserialize the existing JSON into a list of objects
|
// Step 2: Deserialize the existing JSON into a list of objects
|
||||||
formFieldsList = new ObjectMapper().readValue(existingFormFieldsJson, new TypeReference<List<ApplicationFormFieldRequestBean>>() {});
|
formFieldsList = new ObjectMapper().readValue(existingFormFieldsJson, new TypeReference<List<ApplicationFormFieldRequestBean>>() {
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 3: Check if the field ID already exists in the list and update it
|
// Step 3: Check if the field ID already exists in the list and update it
|
||||||
@@ -579,7 +607,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
// If field wasn't updated, log a warning message instead of adding a new field
|
// If field wasn't updated, log a warning message instead of adding a new field
|
||||||
if (!fieldUpdated) {
|
if (!fieldUpdated) {
|
||||||
log.warn("Field ID {} does not exist in the form fields for application amendment ID {}", updatedFormField.getFieldId(), applicationAmendment.getId());
|
log.warn("Field ID {} does not exist in the form fields for application amendment ID {}", updatedFormField.getFieldId(), applicationAmendment.getId());
|
||||||
throw new CustomValidationException(Status.NOT_FOUND,"Field ID {} does not exist in the form fields for application amendment ID {}");
|
throw new CustomValidationException(Status.NOT_FOUND, "Field ID {} does not exist in the form fields for application amendment ID {}");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -595,7 +623,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.warn("No form field data to update for application amendment ID {}", applicationAmendment.getId());
|
log.warn("No form field data to update for application amendment ID {}", applicationAmendment.getId());
|
||||||
throw new CustomValidationException(Status.NOT_FOUND,"No form field data to update for application amendment ID {}");
|
throw new CustomValidationException(Status.NOT_FOUND, "No form field data to update for application amendment ID {}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -610,7 +638,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApplicationAmendmentRequestResponse closeAmendmentRequest(Long id, CloseAmendmentRequest closeAmendmentRequest){
|
public ApplicationAmendmentRequestResponse closeAmendmentRequest(Long id, CloseAmendmentRequest closeAmendmentRequest) {
|
||||||
log.info("Closing application amendement with ID: {}", id);
|
log.info("Closing application amendement with ID: {}", id);
|
||||||
ApplicationAmendmentRequestEntity existingApplicationAmendment = validateApplicationAmendmentRequest(id);
|
ApplicationAmendmentRequestEntity existingApplicationAmendment = validateApplicationAmendmentRequest(id);
|
||||||
|
|
||||||
@@ -636,37 +664,40 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
return convertEntityToResponse(request);
|
return convertEntityToResponse(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ApplicationAmendmentRequestResponse> getAmendmentByApplicationId(HttpServletRequest request, Long applicationId,List<ApplicationAmendmentRequestEnum> statuses) {
|
public List<ApplicationAmendmentRequestResponse> getAmendmentByApplicationId(HttpServletRequest request, Long applicationId, List<ApplicationAmendmentRequestEnum> statuses) {
|
||||||
log.info("Fetching the Amendment data from application id {}", applicationId);
|
log.info("Fetching the Amendment data from application id {}", applicationId);
|
||||||
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
||||||
List<ApplicationAmendmentRequestEntity> applicationAmendmentRequestEntity=applicationAmendmentRequestRepository.findByApplicationIdAndIsDeletedFalse(applicationId);
|
List<ApplicationAmendmentRequestEntity> applicationAmendmentRequestEntity = applicationAmendmentRequestRepository.findByApplicationIdAndIsDeletedFalse(applicationId);
|
||||||
if(statuses!=null && !statuses.isEmpty()) {
|
if (statuses != null && !statuses.isEmpty()) {
|
||||||
List<String> statusStrings = statuses.stream().map(Enum::name).collect(Collectors.toList());
|
List<String> statusStrings = statuses.stream().map(Enum::name).collect(Collectors.toList());
|
||||||
applicationAmendmentRequestEntity = applicationAmendmentRequestRepository.findByApplicationIdAndStatusInAndIsDeletedFalse(application.getId(), statusStrings);
|
applicationAmendmentRequestEntity = applicationAmendmentRequestRepository.findByApplicationIdAndStatusInAndIsDeletedFalse(application.getId(), statusStrings);
|
||||||
} if(!applicationAmendmentRequestEntity.isEmpty()) {
|
}
|
||||||
ApplicationAmendmentRequestEntity applicationAmendmentRequest=applicationAmendmentRequestEntity.get(0);
|
if (!applicationAmendmentRequestEntity.isEmpty()) {
|
||||||
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByIdAndIsDeletedFalse(applicationAmendmentRequest.getApplicationEvaluationEntity().getId());
|
ApplicationAmendmentRequestEntity applicationAmendmentRequest = applicationAmendmentRequestEntity.get(0);
|
||||||
if (entityOptional.isPresent()) {
|
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByIdAndIsDeletedFalse(applicationAmendmentRequest.getApplicationEvaluationEntity().getId());
|
||||||
if (Boolean.FALSE.equals(validator.checkIsBeneficiary())) {
|
if (entityOptional.isPresent()) {
|
||||||
validator.validatePreInstructor(request, entityOptional.get().getUserId());
|
if (Boolean.FALSE.equals(validator.checkIsBeneficiary())) {
|
||||||
} else {
|
validator.validatePreInstructor(request, entityOptional.get().getUserId());
|
||||||
validator.validateUserId(request, entityOptional.get().getAssignedApplicationsEntity().getApplication().getUserId());
|
} else {
|
||||||
}
|
validator.validateUserId(request, entityOptional.get().getAssignedApplicationsEntity().getApplication().getUserId());
|
||||||
}}
|
}
|
||||||
List <ApplicationAmendmentRequestResponse> response=new ArrayList<>();
|
}
|
||||||
if(applicationAmendmentRequestEntity!=null) {
|
}
|
||||||
response= applicationAmendmentRequestEntity.stream()
|
List<ApplicationAmendmentRequestResponse> response = new ArrayList<>();
|
||||||
|
if (applicationAmendmentRequestEntity != null) {
|
||||||
|
response = applicationAmendmentRequestEntity.stream()
|
||||||
.map(this::convertEntityToResponse)
|
.map(this::convertEntityToResponse)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApplicationAmendmentRequestResponse updateApplicationAmendmentStatus(
|
public ApplicationAmendmentRequestResponse updateApplicationAmendmentStatus(
|
||||||
Long id,ApplicationAmendmentRequestEnum statusTypeEnum) {
|
Long id, ApplicationAmendmentRequestEnum statusTypeEnum) {
|
||||||
|
|
||||||
log.info("Updating application amendement with status: {}", id);
|
log.info("Updating application amendement with status: {}", id);
|
||||||
ApplicationAmendmentRequestEntity existingApplicationAmendment = validateApplicationAmendmentRequest(id);
|
ApplicationAmendmentRequestEntity existingApplicationAmendment = validateApplicationAmendmentRequest(id);
|
||||||
if(Boolean.TRUE.equals(existingApplicationAmendment.getStatus().equals(ApplicationAmendmentRequestEnum.AWAITING.getValue())) && Boolean.TRUE.equals(statusTypeEnum.equals(ApplicationAmendmentRequestEnum.RESPONSE_RECEIVED))){
|
if (Boolean.TRUE.equals(existingApplicationAmendment.getStatus().equals(ApplicationAmendmentRequestEnum.AWAITING.getValue())) && Boolean.TRUE.equals(statusTypeEnum.equals(ApplicationAmendmentRequestEnum.RESPONSE_RECEIVED))) {
|
||||||
existingApplicationAmendment.setStatus(ApplicationAmendmentRequestEnum.RESPONSE_RECEIVED.getValue());
|
existingApplicationAmendment.setStatus(ApplicationAmendmentRequestEnum.RESPONSE_RECEIVED.getValue());
|
||||||
existingApplicationAmendment.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
existingApplicationAmendment.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
applicationAmendmentRequestRepository.save(existingApplicationAmendment);
|
applicationAmendmentRequestRepository.save(existingApplicationAmendment);
|
||||||
@@ -675,6 +706,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
log.info("Amendment status updated successfully: {}", response);
|
log.info("Amendment status updated successfully: {}", response);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendReminderEmail(Long amendmentId) {
|
public void sendReminderEmail(Long amendmentId) {
|
||||||
ApplicationAmendmentRequestEntity amendment = applicationAmendmentRequestRepository.findByIdAndIsDeletedFalse(amendmentId)
|
ApplicationAmendmentRequestEntity amendment = applicationAmendmentRequestRepository.findByIdAndIsDeletedFalse(amendmentId)
|
||||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
||||||
@@ -690,7 +722,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
String subject = prepareSubject(emailTemplate, amendment, beneficiaryUser);
|
String subject = prepareSubject(emailTemplate, amendment, beneficiaryUser);
|
||||||
String body = prepareBody(emailTemplate, amendment, beneficiaryUser);
|
String body = prepareBody(emailTemplate, amendment, beneficiaryUser);
|
||||||
String email = beneficiaryUser.getEmail();
|
String email = beneficiaryUser.getEmail();
|
||||||
if (Boolean.TRUE.equals(amendment.getIsEmail())&&email != null && !email.isEmpty()) {
|
if (Boolean.TRUE.equals(amendment.getIsEmail()) && email != null && !email.isEmpty()) {
|
||||||
emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(email));
|
emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(email));
|
||||||
} else {
|
} else {
|
||||||
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.BENEFICIARY_EMAIL_NOT_FOUND_MSG));
|
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.BENEFICIARY_EMAIL_NOT_FOUND_MSG));
|
||||||
|
|||||||
@@ -1720,4 +1720,8 @@
|
|||||||
<sqlFile dbms="postgresql"
|
<sqlFile dbms="postgresql"
|
||||||
path="db/dump/update_system_email_template_for_notification_mail_05_11_2024_4.sql"/>
|
path="db/dump/update_system_email_template_for_notification_mail_05_11_2024_4.sql"/>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
<changeSet id="13-11-2024_1" author="Rajesh Khore">
|
||||||
|
<dropNotNullConstraint tableName="application_amendment_request" columnName="is_email"/>
|
||||||
|
<dropNotNullConstraint tableName="application_amendment_request" columnName="is_notification"/>
|
||||||
|
</changeSet>
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
|
|||||||
Reference in New Issue
Block a user