From 4957a91f41a1217a7598d593562f017b4f914798 Mon Sep 17 00:00:00 2001 From: piyushkag Date: Wed, 22 Jan 2025 18:04:00 +0530 Subject: [PATCH] Fixed validation error issue in nex-prev api. --- .../net/gepafin/tendermanagement/dao/ApplicationDao.java | 4 ++-- .../net/gepafin/tendermanagement/dao/FlowFormDao.java | 8 ++++---- .../java/net/gepafin/tendermanagement/dao/FormDao.java | 7 +++++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index d9938639..b9c9d5a7 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -402,7 +402,7 @@ public class ApplicationDao { ApplicationResponse responseBean = new ApplicationResponse(); List flowEdgesList = flowEdgesRepository.findByCallId(applicationEntity.getCall().getId()); Long totalFormSteps = flowFormDao.calculateTotalSteps(flowEdgesList); - Long completedSteps= Long.valueOf(flowFormDao.getCompletedSteps(applicationEntity)); + Long completedSteps= Long.valueOf(flowFormDao.getCompletedSteps(applicationEntity, false)); Integer progress = calculateProgress(totalFormSteps, completedSteps); responseBean.setId(applicationEntity.getId()); responseBean.setProgress(progress); @@ -1262,7 +1262,7 @@ public class ApplicationDao { } List flowEdgesList = flowEdgesRepository.findByCallId(applicationEntity.getCall().getId()); Long totalSteps = flowFormDao.calculateTotalSteps(flowEdgesList); - Integer completedSteps = flowFormDao.getCompletedSteps(applicationEntity); + Integer completedSteps = flowFormDao.getCompletedSteps(applicationEntity, true); if (totalSteps.intValue() != completedSteps) { throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_IS_INCOMPLETE_MSG)); } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java index bf68f3b9..404ec854 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FlowFormDao.java @@ -305,7 +305,7 @@ public class FlowFormDao { Long totalFormSteps = calculateTotalSteps(flowEdgesList); Long currentStep = calculateCurrentStep(flowEdgesList, formEntity); nextOrPreviousFormResponse.setTotalFormSteps(totalFormSteps); - completedSteps = getCompletedSteps(applicationEntity); + completedSteps = getCompletedSteps(applicationEntity, false); nextOrPreviousFormResponse.setCompletedSteps(Long.valueOf(completedSteps)); nextOrPreviousFormResponse.setCurrentStep(currentStep); if(applicationEntity.getProtocol() != null) { @@ -318,13 +318,13 @@ public class FlowFormDao { return nextOrPreviousFormResponse; } - public Integer getCompletedSteps(ApplicationEntity applicationEntity) { + public Integer getCompletedSteps(ApplicationEntity applicationEntity, Boolean isSendValidationError) { Integer completedSteps=0; List applicationFormList = applicationFormRepository.findByApplicationId(applicationEntity.getId()); List applicationFormFieldEntities=new ArrayList<>(); for (ApplicationFormEntity applicationFormEntity:applicationFormList){ applicationFormFieldEntities=applicationFormFieldRepository.findByApplicationFormId(applicationFormEntity.getId()); - Boolean isCompleted=formDao.validateCompletedSteps(applicationFormFieldEntities, applicationEntity, applicationFormEntity.getForm()); + Boolean isCompleted=formDao.validateCompletedSteps(applicationFormFieldEntities, applicationEntity, applicationFormEntity.getForm(), isSendValidationError); if(Boolean.TRUE.equals(isCompleted)){ completedSteps++; } @@ -361,7 +361,7 @@ public class FlowFormDao { FormEntity currentFormEntity = applicationFormList.get(applicationFormList.size() - 1).getForm(); for (ApplicationFormEntity applicationFormEntity : applicationFormList) { - Boolean isCompleted = formDao.validateCompletedSteps(applicationFormFieldRepository.findByApplicationFormId(applicationFormEntity.getId()), applicationEntity, applicationFormEntity.getForm()); + Boolean isCompleted = formDao.validateCompletedSteps(applicationFormFieldRepository.findByApplicationFormId(applicationFormEntity.getId()), applicationEntity, applicationFormEntity.getForm(), false); if (Boolean.FALSE.equals(isCompleted)) { return applicationFormEntity.getForm().getId(); } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java index 2ff4b2e9..3b910738 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java @@ -451,7 +451,8 @@ public class FormDao { return false; } - public Boolean validateCompletedSteps(List applicationFormFieldEntityList, ApplicationEntity applicationEntity, FormEntity formEntity) { + public Boolean validateCompletedSteps(List applicationFormFieldEntityList, ApplicationEntity applicationEntity, FormEntity formEntity, + Boolean isSendValidationError) { Map formFieldMap = new LinkedHashMap(); for(ApplicationFormFieldEntity applicationFormFieldEntity:applicationFormFieldEntityList) { formFieldMap.put(applicationFormFieldEntity.getFieldId(),applicationFormFieldEntity.getFieldValue()); @@ -467,7 +468,9 @@ public class FormDao { validator .isRequired(value,fieldValidatorBean.getIsRequired(),contentResponseBean.getLabel()); }); - validator.validate(); + if (Boolean.TRUE.equals(isSendValidationError)) { + validator.validate(); + } if (validator.hasErrors()) { return false; }