diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java index b7ff4e78..22f7731a 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java @@ -341,6 +341,7 @@ public class ApplicationAmendmentRequestDao { applicationAmendmentRequestEntity.setIsNotification(applicationAmendmentRequest.getIsSendNotification()); applicationAmendmentRequestEntity.setStartDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); applicationAmendmentRequestEntity.setStatus(ApplicationAmendmentRequestEnum.AWAITING.getValue()); + applicationAmendmentRequestEntity.setType(ApplicationAmendmentRequestTypeEnum.REGULAR.getValue()); ApplicationEvaluationEntity applicationEvaluationEntity = applicationEvaluationService.validateApplicationEvaluation(applicationEvaluationId); //cloned for old data entity ApplicationEvaluationEntity oldApplicationEvaluationEntity = Utils.getClonedEntityForData(applicationEvaluationEntity); @@ -349,7 +350,8 @@ public class ApplicationAmendmentRequestDao { Long applicationId = applicationEvaluationEntity.getApplicationId(); Long assignedApplicationId = applicationEvaluationEntity.getAssignedApplicationsEntity().getId(); applicationAmendmentRequestEntity.setApplicationId(applicationId); - + ApplicationEntity applicationEntity = applicationService.validateApplication(applicationId); + ApplicationEntity oldApplicationEntity = Utils.getClonedEntityForData(applicationEntity); if (applicationAmendmentRequest.getFormFields() != null) { List formFieldRequestBean = applicationAmendmentRequest.getFormFields().stream() .filter(AmendmentFormFieldResponse::isSelected) @@ -366,18 +368,22 @@ public class ApplicationAmendmentRequestDao { } List amendmentRequest = applicationAmendmentRequestRepository.findAllByApplicationEvaluationIdAndIsDeletedFalse(applicationEvaluationEntity.getId()); // Ensure startDate and initialDays are not null to avoid NullPointerException - if (amendmentRequest !=null && amendmentRequest.isEmpty() && applicationEvaluationEntity.getStartDate() != null && applicationEvaluationEntity.getInitialDays() != null ) { - Long initialDays = applicationEvaluationEntity.getInitialDays(); - LocalDateTime startDate = applicationEvaluationEntity.getStartDate(); - LocalDateTime nowInUTC = DateTimeUtil.DateServerToUTC(LocalDateTime.now()); - // Calculate remaining days - Long remainingDays = initialDays - DAYS.between(startDate, nowInUTC); - // Set remaining days in the entity - applicationEvaluationEntity.setRemainingDays(remainingDays); - //Set stop date time in the entity becuase amendment has started - applicationEvaluationEntity.setStopDateTime(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); + if (amendmentRequest !=null && amendmentRequest.isEmpty()) { + if (applicationEvaluationEntity.getStartDate() != null && applicationEvaluationEntity.getInitialDays() != null) { + Long initialDays = applicationEvaluationEntity.getInitialDays(); + LocalDateTime startDate = applicationEvaluationEntity.getStartDate(); + LocalDateTime nowInUTC = DateTimeUtil.DateServerToUTC(LocalDateTime.now()); + // Calculate remaining days + Long remainingDays = initialDays - DAYS.between(startDate, nowInUTC); + // Set remaining days in the entity + applicationEvaluationEntity.setRemainingDays(remainingDays); + //Set stop date time in the entity becuase amendment has started + applicationEvaluationEntity.setStopDateTime(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); + } + applicationEntity.setPreviousStatus(oldApplicationEntity.getStatus()); } + UserEntity userEntity = userService.validateUser(applicationEvaluationEntity.getUserId()); Long protocolNumber = protocolDao.getProtocolNumber(userEntity.getHub()); ProtocolEntity protocolEntity = protocolDao.createProtocolEntity( @@ -408,8 +414,7 @@ public class ApplicationAmendmentRequestDao { loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldApplicationEvaluationEntity).newData(applicationEvaluationEntity).build()); } - ApplicationEntity applicationEntity = applicationService.validateApplication(applicationId); - ApplicationEntity oldApplicationEntity = Utils.getClonedEntityForData(applicationEntity); + String applicationStatusType = applicationEntity.getStatus(); if (Boolean.FALSE.equals(applicationStatusType.equals((ApplicationStatusTypeEnum.SOCCORSO.getValue())))) { applicationEntity.setStatus(ApplicationStatusTypeEnum.SOCCORSO.getValue()); @@ -1153,10 +1158,10 @@ public class ApplicationAmendmentRequestDao { log.info("Updated ApplicationEvaluation status to OPEN for ID: {}", existingApplicationEvaluationEntity.getId()); if(Boolean.FALSE.equals(existingApplicationAmendment.getType().equals(ApplicationAmendmentRequestTypeEnum.SPECIAL.getValue()))){ - application.setStatus(ApplicationStatusTypeEnum.EVALUATION.getValue()); + application.setStatus(application.getPreviousStatus()); } applicationRepository.save(application); - log.info("Updated Application status to EVALUATION for Application ID: {}", application.getId()); + log.info("Updated Application status to previous state for Application ID: {}", application.getId()); existingApplicationAmendment.getApplicationEvaluationEntity().getAssignedApplicationsEntity().setStatus(AssignedApplicationEnum.OPEN.getValue()); diff --git a/src/main/java/net/gepafin/tendermanagement/entities/ApplicationEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/ApplicationEntity.java index d37477bd..11182c78 100644 --- a/src/main/java/net/gepafin/tendermanagement/entities/ApplicationEntity.java +++ b/src/main/java/net/gepafin/tendermanagement/entities/ApplicationEntity.java @@ -82,4 +82,6 @@ public class ApplicationEntity extends BaseEntity { @Column(name = "EMAIL_JSON") private String emailJson; + @Column(name = "PREVIOUS_STATUS") + private String previousStatus; } \ No newline at end of file diff --git a/src/main/java/net/gepafin/tendermanagement/scheduler/ApplicationAmendmentScheduler.java b/src/main/java/net/gepafin/tendermanagement/scheduler/ApplicationAmendmentScheduler.java index 050b4972..b96eb137 100644 --- a/src/main/java/net/gepafin/tendermanagement/scheduler/ApplicationAmendmentScheduler.java +++ b/src/main/java/net/gepafin/tendermanagement/scheduler/ApplicationAmendmentScheduler.java @@ -161,7 +161,7 @@ public class ApplicationAmendmentScheduler { public void updateApplicationStatus(ApplicationEntity applicationEntity){ ApplicationEntity oldApplicationEntity = Utils.getClonedEntityForData(applicationEntity); - applicationEntity.setStatus(ApplicationStatusTypeEnum.EVALUATION.getValue()); + applicationEntity.setStatus(applicationEntity.getPreviousStatus()); applicationRepository.save(applicationEntity); log.info("Updated status to EVALUATION for Application with ID: {}",applicationEntity.getId()); diff --git a/src/main/resources/application-production.properties b/src/main/resources/application-production.properties index ef5f73f2..b159155c 100644 --- a/src/main/resources/application-production.properties +++ b/src/main/resources/application-production.properties @@ -26,7 +26,7 @@ default.hub.uuid=p4lk3bcx1RStqTaIVVbXs #Login to Odessa, Appointment Creation, Upload document Configuration appointment.base.url=https://prd.galileonetwork.it/gateway/rest appointment.portal.user=UtenzaAPIPortal@621 -appointment.portal.password=Valeria2016!! +appointment.portal.password=Valeria2016! appointment.portal.source=GEPAFINPORTAL appointment.portal.context=GEPAFINPORTAL diff --git a/src/main/resources/db/changelog/db.changelog-1.0.0.xml b/src/main/resources/db/changelog/db.changelog-1.0.0.xml index ae84bbd2..12afc8f4 100644 --- a/src/main/resources/db/changelog/db.changelog-1.0.0.xml +++ b/src/main/resources/db/changelog/db.changelog-1.0.0.xml @@ -3069,4 +3069,9 @@ UNIQUE_UUID = 'p4lk3bcx1RStqTaIVVbXs' + + + + +