Applied check for call end date and time

This commit is contained in:
nisha
2025-01-17 14:31:38 +05:30
parent 4cb4d78403
commit ca5d93ae1c
4 changed files with 27 additions and 6 deletions

View File

@@ -386,6 +386,6 @@ public class GepafinConstant {
public static final String COUNT="count";
public static final String APPLICATION_PER_CALL="applicationPerCall";
public static final String APPLICATION_PER_STATUS="applicationPerStatus";
public static final String CALL_END_DATE_PASSED="call.end.date.passed";
}

View File

@@ -49,7 +49,9 @@ import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.*;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
@@ -872,7 +874,7 @@ public class ApplicationDao {
ApplicationRequest applicationRequest, Long callId, UserEntity userEntity) {
CallEntity call = callService.validateCall(callId);
UserWithCompanyEntity userWithCompanyEntity=companyService.getUserWithCompany(userEntity.getId(),companyEntity.getId());
checkCallEndDate(call);
// call = callService.validatePublishedCall(call.getId());
// checkIfApplicationExists(call, userWithCompanyEntity, userEntity);
ApplicationEntity applicationEntity = createApplicationEntity(userEntity, call, userWithCompanyEntity);
@@ -890,7 +892,7 @@ public class ApplicationDao {
public ApplicationResponse updateApplicationStatus(HttpServletRequest request, Long applicationId, ApplicationStatusTypeEnum status) {
ApplicationEntity applicationEntity = validateApplication(applicationId);
checkCallEndDate(applicationEntity.getCall());
//cloned entity for old application data
ApplicationEntity oldApplicationEntity = Utils.getClonedEntityForData(applicationEntity);
@@ -1119,7 +1121,7 @@ public class ApplicationDao {
public ApplicationSignedDocumentResponse uploadSignedDocument(HttpServletRequest request, Long applicationId,
MultipartFile file) {
ApplicationEntity applicationEntity = validateApplication(applicationId);
checkCallEndDate(applicationEntity.getCall());
//cloned entity for old data
ApplicationEntity oldApplicationData = Utils.getClonedEntityForData(applicationEntity);
@@ -1252,7 +1254,8 @@ public class ApplicationDao {
ApplicationEntity applicationEntity = validateApplication(applicationId);
ApplicationEntity oldApplicationEntity = Utils.getClonedEntityForData(applicationEntity);
checkCallEndDate(applicationEntity.getCall());
UserEntity userEntity = userService.validateUser(applicationEntity.getUserId());
validator.validateUserWithCompany(request, applicationEntity.getCompanyId());
if (Boolean.FALSE.equals(ApplicationStatusTypeEnum.DRAFT.getValue().equals(applicationEntity.getStatus()))) {
@@ -1516,4 +1519,21 @@ public class ApplicationDao {
return predicates;
}
public void checkCallEndDate(CallEntity call) {
LocalDateTime now = DateTimeUtil.DateServerToUTC(LocalDateTime.now());
LocalDateTime callEndDateTime = LocalDateTime.of(
call.getEndDate().toLocalDate(),
call.getEndTime()
);
if (now.isAfter(callEndDateTime)) {
throw new CustomValidationException(
Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.CALL_END_DATE_PASSED)
);
}
}
}

View File

@@ -350,3 +350,4 @@ user.with.company.not.found = User with company not found for user or company.
user.action.fetched.successfully = User action details fetched successfully.
action.context.labels.fetched.successfully = Action Context Labels Fetched Successfully.
amount.accepted.required=Amount accepted is required while approving the application.
call.end.date.passed=Call end date and time has been passed.

View File

@@ -304,7 +304,6 @@ beneficiary.call.duplicate = Una chiamata preferita con questo ID di chiamata e
user.must.be.associated.with.company.to.create.application=Devi essere associato a un'azienda per poter presentare domanda per questa applicazione.
company.id.required.for.preferred.call=ID azienda obbligatorio quando si richiedono solo chiamate preferite.
response.days.not.null=I giorni di risposta non devono essere nulli e maggiori di zero.
application.cannot.approved.or.rejected=La domanda non pu<70> essere approvata o rifiutata perch<63> l'emendamento <20> attivo.
valid.vatnumber.message=Il numero di partita IVA <20> valido.
application.cannot.approved.or.rejected=La domanda non pu? essere approvata o rifiutata perch? l'emendamento ? attivo.
@@ -342,3 +341,4 @@ user.with.company.not.found = Utente con azienda non trovato per utente o aziend
user.action.fetched.successfully = Dettagli sull'azione dell'utente recuperati correttamente.
action.context.labels.fetched.successfully = Etichette del contesto dell'azione recuperate correttamente.
amount.accepted.required=L'importo accettato <20> obbligatorio durante l'approvazione della domanda.
call.end.date.passed=La data e l'ora di fine della chiamata sono state trascorse.