updatedCode
This commit is contained in:
@@ -2,24 +2,31 @@ package net.gepafin.tendermanagement.dao;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import jakarta.persistence.criteria.Join;
|
||||||
|
import jakarta.persistence.criteria.Predicate;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
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.enums.ApplicationEvaluationStatusTypeEnum;
|
||||||
|
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
|
||||||
|
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
|
||||||
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;
|
||||||
import net.gepafin.tendermanagement.model.request.ApplicationFormFieldRequestBean;
|
import net.gepafin.tendermanagement.model.request.ApplicationFormFieldRequestBean;
|
||||||
import net.gepafin.tendermanagement.model.response.AmendmentFormFieldResponse;
|
import net.gepafin.tendermanagement.model.response.AmendmentFormFieldResponse;
|
||||||
import net.gepafin.tendermanagement.model.response.ApplicationAmendmentRequestResponse;
|
import net.gepafin.tendermanagement.model.response.ApplicationAmendmentRequestResponse;
|
||||||
import net.gepafin.tendermanagement.repositories.*;
|
import net.gepafin.tendermanagement.repositories.*;
|
||||||
import net.gepafin.tendermanagement.service.ApplicationEvaluationService;
|
import net.gepafin.tendermanagement.service.*;
|
||||||
import net.gepafin.tendermanagement.service.ApplicationService;
|
|
||||||
import net.gepafin.tendermanagement.service.UserService;
|
|
||||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||||
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;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
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.util.*;
|
import java.util.*;
|
||||||
@@ -30,6 +37,9 @@ import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
|
|||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ApplicationAmendmentRequestDao {
|
public class ApplicationAmendmentRequestDao {
|
||||||
|
@Value("${application.amendment.expiration.days}")
|
||||||
|
private long expirationDays;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationService applicationService;
|
private ApplicationService applicationService;
|
||||||
|
|
||||||
@@ -39,6 +49,9 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserService userService;
|
private UserService userService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DocumentService documentService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationFormRepository applicationFormRepository;
|
private ApplicationFormRepository applicationFormRepository;
|
||||||
|
|
||||||
@@ -55,11 +68,25 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationEvaluationService applicationEvaluationService;
|
private ApplicationEvaluationService applicationEvaluationService;
|
||||||
|
|
||||||
public List<ApplicationAmendmentRequestResponse> getApplicationDataForAmendment(HttpServletRequest request,Long applicationEvaluationId){
|
@Autowired
|
||||||
|
private AssignedApplicationsService assignedApplicationsService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ApplicationEvaluationRepository applicationEvaluationRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ApplicationRepository applicationRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AssignedApplicationsRepository assignedApplicationsRepository;
|
||||||
|
|
||||||
|
public ApplicationAmendmentRequestResponse getApplicationDataForAmendment(HttpServletRequest request, Long applicationEvaluationId) {
|
||||||
log.info("Fetching the application data for the Amendment process {}", applicationEvaluationId);
|
log.info("Fetching the application data for the Amendment process {}", applicationEvaluationId);
|
||||||
ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationService.validateApplicationEvaluation(applicationEvaluationId);
|
ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationService.validateApplicationEvaluation(applicationEvaluationId);
|
||||||
Long applicationId = applicationEvaluationEntity.getApplicationId();
|
Long applicationId = applicationEvaluationEntity.getApplicationId();
|
||||||
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
ApplicationEntity application = applicationService.validateApplication(applicationId);
|
||||||
|
|
||||||
|
// Set common application-level details
|
||||||
String callName = application.getCall().getName();
|
String callName = application.getCall().getName();
|
||||||
Long protocolNumber = (application.getProtocol() != null && application.getProtocol().getProtocolNumber() != null)
|
Long protocolNumber = (application.getProtocol() != null && application.getProtocol().getProtocolNumber() != null)
|
||||||
? application.getProtocol().getProtocolNumber()
|
? application.getProtocol().getProtocolNumber()
|
||||||
@@ -71,26 +98,31 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
|
|
||||||
String beneficiaryName = (!firstName.isBlank() ? firstName : "") +
|
String beneficiaryName = (!firstName.isBlank() ? firstName : "") +
|
||||||
(!lastName.isBlank() ? " " + lastName : "");
|
(!lastName.isBlank() ? " " + lastName : "");
|
||||||
|
|
||||||
beneficiaryName = beneficiaryName.isBlank() ? "" : beneficiaryName;
|
beneficiaryName = beneficiaryName.isBlank() ? "" : beneficiaryName;
|
||||||
|
|
||||||
|
ApplicationAmendmentRequestResponse response = new ApplicationAmendmentRequestResponse();
|
||||||
|
response.setId(applicationEvaluationId);
|
||||||
|
response.setProtocolNumber(protocolNumber);
|
||||||
|
response.setCallName(callName);
|
||||||
|
response.setBeneficiaryName(beneficiaryName);
|
||||||
|
response.setApplicationId(applicationId);
|
||||||
|
response.setApplicationEvaluationId(applicationEvaluationId);
|
||||||
|
|
||||||
List<ApplicationFormEntity> forms = applicationFormRepository.findByApplicationId(applicationId);
|
List<ApplicationFormEntity> forms = applicationFormRepository.findByApplicationId(applicationId);
|
||||||
List<ApplicationAmendmentRequestResponse> responses = new ArrayList<>();
|
List<AmendmentFormFieldResponse> allFormFields = new ArrayList<>();
|
||||||
|
|
||||||
for (ApplicationFormEntity form : forms) {
|
for (ApplicationFormEntity form : forms) {
|
||||||
String content = form.getForm().getContent();
|
String content = form.getForm().getContent();
|
||||||
List<Map<String, Object>> result = filterByName(content, "fileupload");
|
List<Map<String, Object>> result = filterByName(content, "fileupload");
|
||||||
List<AmendmentFormFieldResponse> formFields = getIdAndLabelFromResult(result);
|
allFormFields.addAll(getIdAndLabelFromResult(result));
|
||||||
|
|
||||||
ApplicationAmendmentRequestResponse response = convertEntityToResponse(
|
|
||||||
protocolNumber, callName, formFields, beneficiaryName);
|
|
||||||
|
|
||||||
responses.add(response);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return responses;
|
response.setFormFields(allFormFields);
|
||||||
|
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<AmendmentFormFieldResponse> getIdAndLabelFromResult(List<Map<String, Object>> result) {
|
public List<AmendmentFormFieldResponse> getIdAndLabelFromResult(List<Map<String, Object>> result) {
|
||||||
List<AmendmentFormFieldResponse> formFieldResponses = new ArrayList<>();
|
List<AmendmentFormFieldResponse> formFieldResponses = new ArrayList<>();
|
||||||
|
|
||||||
@@ -118,24 +150,6 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private ApplicationAmendmentRequestResponse convertEntityToResponse(
|
|
||||||
Long protocolNumber, String callName,
|
|
||||||
List<AmendmentFormFieldResponse> formFields,String beneficiaryName) {
|
|
||||||
|
|
||||||
ApplicationAmendmentRequestResponse response = new ApplicationAmendmentRequestResponse();
|
|
||||||
response.setProtocolNumber(protocolNumber);
|
|
||||||
response.setCallName(callName);
|
|
||||||
response.setBeneficiaryName(beneficiaryName);
|
|
||||||
response.setFormFields(formFields);
|
|
||||||
response.setResponseDays(null);
|
|
||||||
response.setSendEmail(false);
|
|
||||||
response.setSendNotification(false);
|
|
||||||
response.setNote(null);
|
|
||||||
response.setStartDate(null);
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Map<String, Object>> filterByName(String content, String target) {
|
public static List<Map<String, Object>> filterByName(String content, String target) {
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
List<Map<String, Object>> filteredList = new ArrayList<>();
|
List<Map<String, Object>> filteredList = new ArrayList<>();
|
||||||
@@ -172,7 +186,9 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationService.validateApplicationEvaluation(applicationEvaluationId);
|
ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationService.validateApplicationEvaluation(applicationEvaluationId);
|
||||||
|
|
||||||
applicationAmendmentRequestEntity.setApplicationEvaluationEntity(applicationEvaluationEntity);
|
applicationAmendmentRequestEntity.setApplicationEvaluationEntity(applicationEvaluationEntity);
|
||||||
applicationAmendmentRequestEntity.setApplicationId(applicationEvaluationEntity.getApplicationId());
|
Long applicationId = applicationEvaluationEntity.getApplicationId();
|
||||||
|
Long assignedApplicationId = applicationEvaluationEntity.getAssignedApplicationsEntity().getId();
|
||||||
|
applicationAmendmentRequestEntity.setApplicationId(applicationId);
|
||||||
|
|
||||||
if (applicationAmendmentRequest.getFormFields() != null) {
|
if (applicationAmendmentRequest.getFormFields() != null) {
|
||||||
String fieldIdsString = applicationAmendmentRequest.getFormFields().stream()
|
String fieldIdsString = applicationAmendmentRequest.getFormFields().stream()
|
||||||
@@ -185,6 +201,19 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
applicationAmendmentRequestEntity.setIsEmail(false);
|
applicationAmendmentRequestEntity.setIsEmail(false);
|
||||||
applicationAmendmentRequestEntity.setIsNotification(false);
|
applicationAmendmentRequestEntity.setIsNotification(false);
|
||||||
ApplicationAmendmentRequestEntity applicationAmendment = saveApplicationAmendmentRequestEntity(applicationAmendmentRequestEntity);
|
ApplicationAmendmentRequestEntity applicationAmendment = saveApplicationAmendmentRequestEntity(applicationAmendmentRequestEntity);
|
||||||
|
|
||||||
|
//Set Status
|
||||||
|
applicationEvaluationEntity.setStatus(ApplicationEvaluationStatusTypeEnum.SOCCORSO.getValue());
|
||||||
|
applicationEvaluationRepository.save(applicationEvaluationEntity);
|
||||||
|
|
||||||
|
ApplicationEntity applicationEntity = applicationService.validateApplication(applicationId);
|
||||||
|
applicationEntity.setStatus(ApplicationStatusTypeEnum.SOCCORSO.getValue());
|
||||||
|
applicationRepository.save(applicationEntity);
|
||||||
|
|
||||||
|
AssignedApplicationsEntity assignedApplicationsEntity = assignedApplicationsService.validateAssignedApplication(assignedApplicationId);
|
||||||
|
assignedApplicationsEntity.setStatus(AssignedApplicationEnum.SOCCORSO.getValue());
|
||||||
|
assignedApplicationsRepository.save(assignedApplicationsEntity);
|
||||||
|
|
||||||
return applicationAmendment;
|
return applicationAmendment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,7 +232,12 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
applicationAmendmentRequestResponse.setApplicationEvaluationId(applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getId());
|
applicationAmendmentRequestResponse.setApplicationEvaluationId(applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getId());
|
||||||
applicationAmendmentRequestResponse.setNote(applicationAmendmentRequestEntity.getNote());
|
applicationAmendmentRequestResponse.setNote(applicationAmendmentRequestEntity.getNote());
|
||||||
applicationAmendmentRequestResponse.setResponseDays(applicationAmendmentRequestEntity.getResponseDays());
|
applicationAmendmentRequestResponse.setResponseDays(applicationAmendmentRequestEntity.getResponseDays());
|
||||||
applicationAmendmentRequestResponse.setStartDate(applicationAmendmentRequestEntity.getCreatedDate());
|
LocalDateTime startDate = applicationAmendmentRequestEntity.getCreatedDate();
|
||||||
|
applicationAmendmentRequestResponse.setStartDate(startDate);
|
||||||
|
|
||||||
|
LocalDateTime expirationDate = startDate.plus(expirationDays, ChronoUnit.DAYS);
|
||||||
|
applicationAmendmentRequestResponse.setExpirationDate(expirationDate);
|
||||||
|
|
||||||
applicationAmendmentRequestResponse.setSendEmail(applicationAmendmentRequestEntity.getIsEmail());
|
applicationAmendmentRequestResponse.setSendEmail(applicationAmendmentRequestEntity.getIsEmail());
|
||||||
applicationAmendmentRequestResponse.setSendNotification(applicationAmendmentRequestEntity.getIsNotification());
|
applicationAmendmentRequestResponse.setSendNotification(applicationAmendmentRequestEntity.getIsNotification());
|
||||||
String callName = application.getCall().getName();
|
String callName = application.getCall().getName();
|
||||||
@@ -247,7 +281,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
applicationAmendmentRequestResponse.setFormFields(formFields);
|
applicationAmendmentRequestResponse.setFormFields(formField);
|
||||||
|
|
||||||
return applicationAmendmentRequestResponse;
|
return applicationAmendmentRequestResponse;
|
||||||
}
|
}
|
||||||
@@ -275,15 +309,29 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest() {
|
public List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest(Long userId) {
|
||||||
|
Specification<ApplicationAmendmentRequestEntity> spec = search(userId);
|
||||||
List<ApplicationAmendmentRequestEntity> applicationAmendmentRequestEntities =
|
List<ApplicationAmendmentRequestEntity> applicationAmendmentRequestEntities =
|
||||||
applicationAmendmentRequestRepository.findAll();
|
applicationAmendmentRequestRepository.findAll(spec);
|
||||||
|
|
||||||
return applicationAmendmentRequestEntities.stream()
|
return applicationAmendmentRequestEntities.stream()
|
||||||
.map(this::convertEntityToResponse)
|
.map(this::convertEntityToResponse)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Specification<ApplicationAmendmentRequestEntity> search(Long userId) {
|
||||||
|
return (root, query, builder) -> {
|
||||||
|
Predicate predicate = builder.isFalse(root.get("isDeleted")); // Only non-deleted records
|
||||||
|
|
||||||
|
if (userId != null) {
|
||||||
|
Join<Object, Object> evaluationJoin = root.join("applicationEvaluationEntity");
|
||||||
|
predicate = builder.and(predicate, builder.equal(evaluationJoin.get("userId"), userId));
|
||||||
|
}
|
||||||
|
|
||||||
|
return predicate; // Return final predicate
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public ApplicationAmendmentRequestResponse updateApplicationAmendment(
|
public ApplicationAmendmentRequestResponse updateApplicationAmendment(
|
||||||
Long id, ApplicationAmendmentRequestBean updateRequest) {
|
Long id, ApplicationAmendmentRequestBean updateRequest) {
|
||||||
@@ -303,27 +351,46 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean documentExists(String documentId) {
|
|
||||||
Long documentIdLong = Long.parseLong(documentId); // Convert to Long
|
|
||||||
return documentRepository.existsById(documentIdLong);
|
|
||||||
|
|
||||||
}
|
|
||||||
private void updateApplicationFormFields(ApplicationAmendmentRequestEntity applicationAmendment, ApplicationFormFieldRequestBean updatedFormField) {
|
private void updateApplicationFormFields(ApplicationAmendmentRequestEntity applicationAmendment, ApplicationFormFieldRequestBean updatedFormField) {
|
||||||
|
// Convert fieldValue (object) to a comma-separated list of document IDs
|
||||||
List<String> documentIds = Arrays.asList(updatedFormField.getFieldValue().toString().split(","));
|
List<String> documentIds = Arrays.asList(updatedFormField.getFieldValue().toString().split(","));
|
||||||
|
List<String> validDocumentIds = new ArrayList<>();
|
||||||
|
|
||||||
for (String documentId : documentIds) {
|
for (String documentId : documentIds) {
|
||||||
if (!documentExists(documentId)) {
|
documentId = documentId.trim(); // Remove any extra spaces
|
||||||
log.warn("Document with ID {} does not exist. Skipping update.", documentId);
|
if (documentId.isEmpty()) {
|
||||||
|
log.warn("Encountered an empty document ID. Skipping.");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Parse documentId to Long and validate it
|
||||||
|
Long documentIdLong = Long.parseLong(documentId);
|
||||||
|
DocumentEntity documentEntity = documentService.validateDocument(documentIdLong);
|
||||||
|
|
||||||
|
if (documentEntity != null) {
|
||||||
|
validDocumentIds.add(documentId);
|
||||||
|
} else {
|
||||||
|
log.warn("Document with ID {} does not exist. Skipping this ID.", documentId);
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
log.warn("Invalid document ID format: {}. Skipping this ID.", documentId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!validDocumentIds.isEmpty()) {
|
||||||
ApplicationFormFieldEntity formEntity = applicationFormFieldRepository.findByFieldId(updatedFormField.getFieldId());
|
ApplicationFormFieldEntity formEntity = applicationFormFieldRepository.findByFieldId(updatedFormField.getFieldId());
|
||||||
|
|
||||||
if (formEntity != null) {
|
if (formEntity != null) {
|
||||||
formEntity.setFieldValue(updatedFormField.getFieldValue().toString());
|
formEntity.setFieldValue(String.join(",", validDocumentIds));
|
||||||
applicationFormFieldRepository.save(formEntity);
|
applicationFormFieldRepository.save(formEntity);
|
||||||
log.info("Updated field value for field ID {} with document IDs {}", updatedFormField.getFieldId(), updatedFormField.getFieldValue());
|
log.info("Updated field value for field ID {} with document IDs {}", updatedFormField.getFieldId(), String.join(",", validDocumentIds));
|
||||||
} else {
|
} else {
|
||||||
log.warn("No ApplicationFormEntity found with field ID {}. Skipping update.", updatedFormField.getFieldId());
|
log.warn("No ApplicationFormFieldEntity found with field ID {}. Skipping update.", updatedFormField.getFieldId());
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
log.warn("No valid document IDs found for update. Skipping field ID {}", updatedFormField.getFieldId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,5 +21,6 @@ public class ApplicationAmendmentRequestResponse {
|
|||||||
private List<ApplicationFormFieldResponseBean> applicationFormFields;
|
private List<ApplicationFormFieldResponseBean> applicationFormFields;
|
||||||
private Long applicationId;
|
private Long applicationId;
|
||||||
private Long applicationEvaluationId;
|
private Long applicationEvaluationId;
|
||||||
|
private LocalDateTime expirationDate;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,10 @@ package net.gepafin.tendermanagement.repositories;
|
|||||||
|
|
||||||
import net.gepafin.tendermanagement.entities.ApplicationAmendmentRequestEntity;
|
import net.gepafin.tendermanagement.entities.ApplicationAmendmentRequestEntity;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface ApplicationAmendmentRequestRepository extends JpaRepository<ApplicationAmendmentRequestEntity,Long> {
|
public interface ApplicationAmendmentRequestRepository extends JpaRepository<ApplicationAmendmentRequestEntity,Long>, JpaSpecificationExecutor<ApplicationAmendmentRequestEntity> {
|
||||||
Optional<ApplicationAmendmentRequestEntity> findByIdAndIsDeletedFalse(Long id);
|
Optional<ApplicationAmendmentRequestEntity> findByIdAndIsDeletedFalse(Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ import net.gepafin.tendermanagement.model.response.ApplicationAmendmentRequestRe
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface ApplicationAmendmentRequestService {
|
public interface ApplicationAmendmentRequestService {
|
||||||
public List<ApplicationAmendmentRequestResponse> getApplicationDataForAmendment(HttpServletRequest request,Long applicationEvaluationId);
|
public ApplicationAmendmentRequestResponse getApplicationDataForAmendment(HttpServletRequest request,Long applicationEvaluationId);
|
||||||
public ApplicationAmendmentRequestResponse createApplicationAmendmentRequest(HttpServletRequest request, Long applicationEvaluationId , ApplicationAmendmentRequest applicationAmendmentRequest);
|
public ApplicationAmendmentRequestResponse createApplicationAmendmentRequest(HttpServletRequest request, Long applicationEvaluationId , ApplicationAmendmentRequest applicationAmendmentRequest);
|
||||||
void deleteApplicationAmendmentRequest(HttpServletRequest request, Long id);
|
void deleteApplicationAmendmentRequest(HttpServletRequest request, Long id);
|
||||||
ApplicationAmendmentRequestResponse getApplicationAmendmentRequestById(HttpServletRequest request,Long id);
|
ApplicationAmendmentRequestResponse getApplicationAmendmentRequestById(HttpServletRequest request,Long id);
|
||||||
List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest(HttpServletRequest request);
|
List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest(HttpServletRequest request,Long userId);
|
||||||
ApplicationAmendmentRequestResponse updateApplicationAmendment(HttpServletRequest request, Long id, ApplicationAmendmentRequestBean applicationAmendmentRequestBean);
|
ApplicationAmendmentRequestResponse updateApplicationAmendment(HttpServletRequest request, Long id, ApplicationAmendmentRequestBean applicationAmendmentRequestBean);
|
||||||
ApplicationAmendmentRequestEntity validateApplicationAmendmentRequest(Long applicationAmendmentId);
|
ApplicationAmendmentRequestEntity validateApplicationAmendmentRequest(Long applicationAmendmentId);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package net.gepafin.tendermanagement.service;
|
package net.gepafin.tendermanagement.service;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
|
||||||
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
||||||
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
||||||
|
|
||||||
@@ -16,4 +17,5 @@ public interface AssignedApplicationsService {
|
|||||||
List<AssignedApplicationsResponse> getAllAssignedApplications(HttpServletRequest request, Long userId);
|
List<AssignedApplicationsResponse> getAllAssignedApplications(HttpServletRequest request, Long userId);
|
||||||
AssignedApplicationsResponse updateAssignedApplication(HttpServletRequest request, Long id, AssignedApplicationsRequest assignedApplicationsRequest);
|
AssignedApplicationsResponse updateAssignedApplication(HttpServletRequest request, Long id, AssignedApplicationsRequest assignedApplicationsRequest);
|
||||||
AssignedApplicationsResponse getAssignedApplicationById(HttpServletRequest request, Long id);
|
AssignedApplicationsResponse getAssignedApplicationById(HttpServletRequest request, Long id);
|
||||||
|
AssignedApplicationsEntity validateAssignedApplication(Long assignedApplicationId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class ApplicationAmendmentRequestServiceImpl implements ApplicationAmendm
|
|||||||
private ApplicationAmendmentRequestDao applicationAmendmentRequestDao;
|
private ApplicationAmendmentRequestDao applicationAmendmentRequestDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ApplicationAmendmentRequestResponse> getApplicationDataForAmendment(HttpServletRequest request, Long applicationEvaluationId) {
|
public ApplicationAmendmentRequestResponse getApplicationDataForAmendment(HttpServletRequest request, Long applicationEvaluationId) {
|
||||||
UserEntity user= validator.validateUser(request);
|
UserEntity user= validator.validateUser(request);
|
||||||
return applicationAmendmentRequestDao.getApplicationDataForAmendment(request,applicationEvaluationId);
|
return applicationAmendmentRequestDao.getApplicationDataForAmendment(request,applicationEvaluationId);
|
||||||
}
|
}
|
||||||
@@ -48,8 +48,8 @@ public class ApplicationAmendmentRequestServiceImpl implements ApplicationAmendm
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest(HttpServletRequest request) {
|
public List<ApplicationAmendmentRequestResponse> getAllApplicationAmendmentRequest(HttpServletRequest request,Long userId) {
|
||||||
return applicationAmendmentRequestDao.getAllApplicationAmendmentRequest();
|
return applicationAmendmentRequestDao.getAllApplicationAmendmentRequest(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package net.gepafin.tendermanagement.service.impl;
|
|||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import net.gepafin.tendermanagement.dao.AssignedApplicationsDao;
|
import net.gepafin.tendermanagement.dao.AssignedApplicationsDao;
|
||||||
|
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
|
||||||
import net.gepafin.tendermanagement.entities.UserEntity;
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
||||||
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
|
||||||
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
|
||||||
@@ -54,4 +55,9 @@ public class AssignedApplicationsServiceImpl implements AssignedApplicationsServ
|
|||||||
return assignedApplicationsDao.getAssignedApplicationById(request, id);
|
return assignedApplicationsDao.getAssignedApplicationById(request, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AssignedApplicationsEntity validateAssignedApplication(Long assignedApplicationId) {
|
||||||
|
return assignedApplicationsDao.validateAssignedApplication(assignedApplicationId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public interface ApplicationAmendmentRequestApi {
|
|||||||
@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) })) })
|
||||||
@GetMapping(value = "applicationEvaluation/{id}", produces = "application/json")
|
@GetMapping(value = "applicationEvaluation/{id}", produces = "application/json")
|
||||||
ResponseEntity<Response<List<ApplicationAmendmentRequestResponse>>> getApplicationDataForAmendment(HttpServletRequest request, @Parameter(description = "The Application Evaluation id", required = true) @PathVariable(value = "id", required = true) Long applicationEvaluationId);
|
ResponseEntity<Response<ApplicationAmendmentRequestResponse>> getApplicationDataForAmendment(HttpServletRequest request, @Parameter(description = "The Application Evaluation id", required = true) @PathVariable(value = "id", required = true) Long applicationEvaluationId);
|
||||||
|
|
||||||
@Operation(summary = "Api to submit the application data for the Amendment",
|
@Operation(summary = "Api to submit the application data for the Amendment",
|
||||||
responses = {
|
responses = {
|
||||||
@@ -81,8 +81,9 @@ public interface ApplicationAmendmentRequestApi {
|
|||||||
@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) })) })
|
||||||
@GetMapping(value = "/getAll", produces = "application/json")
|
@GetMapping(value = "/user/{id}", produces = "application/json")
|
||||||
ResponseEntity<Response<List<ApplicationAmendmentRequestResponse>>> getAllApplicationAmendmentRequest(HttpServletRequest request);
|
ResponseEntity<Response<List<ApplicationAmendmentRequestResponse>>> getAllApplicationAmendmentRequest(HttpServletRequest request,
|
||||||
|
@Parameter(description = "The User ID", required = false) @PathVariable(value = "id",required = false) Long userId);
|
||||||
|
|
||||||
@Operation(summary = "Api to update application amendment",
|
@Operation(summary = "Api to update application amendment",
|
||||||
responses = {
|
responses = {
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ public class ApplicationAmendmentRequestController implements ApplicationAmendme
|
|||||||
ApplicationAmendmentRequestService applicationAmendmentRequestService;
|
ApplicationAmendmentRequestService applicationAmendmentRequestService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<List<ApplicationAmendmentRequestResponse>>> getApplicationDataForAmendment(HttpServletRequest request, Long applicationEvaluationId) {
|
public ResponseEntity<Response<ApplicationAmendmentRequestResponse>> getApplicationDataForAmendment(HttpServletRequest request, Long applicationEvaluationId) {
|
||||||
List<ApplicationAmendmentRequestResponse> applicationAmendmentBean = applicationAmendmentRequestService.getApplicationDataForAmendment(request,applicationEvaluationId);
|
ApplicationAmendmentRequestResponse applicationAmendmentBean = applicationAmendmentRequestService.getApplicationDataForAmendment(request,applicationEvaluationId);
|
||||||
return ResponseEntity.status(HttpStatus.OK)
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
.body(new Response<>(applicationAmendmentBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.APPLICATION_DATA_FOR_AMENDMENT_SUCCESS_MSG)));
|
.body(new Response<>(applicationAmendmentBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.APPLICATION_DATA_FOR_AMENDMENT_SUCCESS_MSG)));
|
||||||
}
|
}
|
||||||
@@ -57,9 +57,9 @@ public class ApplicationAmendmentRequestController implements ApplicationAmendme
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<List<ApplicationAmendmentRequestResponse>>> getAllApplicationAmendmentRequest(HttpServletRequest request) {
|
public ResponseEntity<Response<List<ApplicationAmendmentRequestResponse>>> getAllApplicationAmendmentRequest(HttpServletRequest request,Long userId) {
|
||||||
log.info("Get All Applications Amendment Request");
|
log.info("Get All Applications Amendment Request");
|
||||||
List<ApplicationAmendmentRequestResponse> applicationAmendmentRequestResponses = applicationAmendmentRequestService.getAllApplicationAmendmentRequest(request);
|
List<ApplicationAmendmentRequestResponse> applicationAmendmentRequestResponses = applicationAmendmentRequestService.getAllApplicationAmendmentRequest(request,userId);
|
||||||
return ResponseEntity.status(HttpStatus.OK)
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
.body(new Response<>(applicationAmendmentRequestResponses, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_APPLICATION_AMENDMENT_SUCCESS_MSG)));
|
.body(new Response<>(applicationAmendmentRequestResponses, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_APPLICATION_AMENDMENT_SUCCESS_MSG)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,3 +60,5 @@ mailGun_base_url=https://api.eu.mailgun.net/
|
|||||||
apiKey=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
|
apiKey=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
|
||||||
#senderEmail=mailer@bflows.net
|
#senderEmail=mailer@bflows.net
|
||||||
|
|
||||||
|
application.amendment.expiration.days=30
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user