diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java index 318253d2..36ff8eb8 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java @@ -238,9 +238,31 @@ public class FormDao { return false; } + public Boolean validateCompletedSteps(List applicationFormFieldEntityList, ApplicationEntity applicationEntity, FormEntity formEntity) { + Map formFieldMap = new LinkedHashMap(); + for(ApplicationFormFieldEntity applicationFormFieldEntity:applicationFormFieldEntityList) { + formFieldMap.put(applicationFormFieldEntity.getFieldId(),applicationFormFieldEntity.getFieldValue()); + } + + FormResponseBean formResponseBean = convertFormEntityToFormResponseBean(formEntity); + FieldValidator validator = FieldValidator.create(); + formResponseBean.getContent().forEach(contentResponseBean -> { + String fieldId = contentResponseBean.getId(); + String value = (String) formFieldMap.get(fieldId); + + FieldValidatorBean fieldValidatorBean = Utils.convertSourceObjectToDestinationObject(contentResponseBean.getValidators(), FieldValidatorBean.class); + validator + .isRequired(value,fieldValidatorBean.getIsRequired(),fieldId); + }); + if (validator.hasErrors()) { + return false; // Validation failed, return false + } + return true; + } public String validateVatNumber(String value,String customRule,String fieldId){ String error=null; - if (value.matches("^\\d{1,11}$")) { + + if (value!=null && value.matches("^\\d{1,11}$")) { Map customData=null; try { Map vatCheckResponse = vatCheckDao.checkVatNumberApi(value); @@ -253,37 +275,5 @@ public class FormDao { } return error; } - public Boolean validateCompletedSteps(List applicationFormFieldEntityList, ApplicationEntity applicationEntity, FormEntity formEntity) { - Map formFieldMap = new LinkedHashMap(); - for(ApplicationFormFieldEntity applicationFormFieldEntity:applicationFormFieldEntityList) { - formFieldMap.put(applicationFormFieldEntity.getFieldId(),applicationFormFieldEntity.getFieldValue()); - } - - FormResponseBean formResponseBean = convertFormEntityToFormResponseBean(formEntity); - ApplicationFormEntity applicationFormEntity=applicationFormRepository.findByApplicationIdAndFormId(applicationEntity.getId(),formEntity.getId()); - Boolean isApplicationFormExist= getApplicationFormExist(applicationFormEntity); - FieldValidator validator = FieldValidator.create(); - formResponseBean.getContent().forEach(contentResponseBean -> { - String fieldId = contentResponseBean.getId(); - String value = (String) formFieldMap.get(fieldId); - - if(value == null && isApplicationFormExist) { - return; - } - FieldValidatorBean fieldValidatorBean = Utils.convertSourceObjectToDestinationObject(contentResponseBean.getValidators(), FieldValidatorBean.class); - validator - .isRequired(value,fieldValidatorBean.getIsRequired(),fieldId); - if (fieldValidatorBean.getCustom() != null && fieldValidatorBean.getCustom().equals(GepafinConstant.IS_PIVA)) { - String error = validateVatNumber(value, fieldValidatorBean.getCustom(), fieldId); - if(error != null) { - validator.addError(error); - } - } - }); - if (validator.hasErrors()) { - return false; // Validation failed, return false - } - return true; - } }