Done ticket GEPAFINBE-162

This commit is contained in:
rajesh
2025-02-06 15:11:42 +05:30
parent aacf46228f
commit 610aece1f6
7 changed files with 227 additions and 35 deletions

View File

@@ -2,6 +2,10 @@ package net.gepafin.tendermanagement.util;
import java.text.MessageFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -9,12 +13,18 @@ import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.dao.FormDao;
import net.gepafin.tendermanagement.dao.VatCheckDao;
import net.gepafin.tendermanagement.entities.ApplicationFormEntity;
import net.gepafin.tendermanagement.entities.ApplicationFormFieldEntity;
import net.gepafin.tendermanagement.model.request.ApplicationFormFieldRequestBean;
import net.gepafin.tendermanagement.model.request.ContentRequestBean;
import net.gepafin.tendermanagement.model.response.ContentResponseBean;
import net.gepafin.tendermanagement.model.response.SettingResponseBean;
import net.gepafin.tendermanagement.repositories.ApplicationFormFieldRepository;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import net.gepafin.tendermanagement.web.rest.api.errors.ValidationException;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
@@ -232,5 +242,17 @@ public class FieldValidator {
// Now contentRequestBean is populated with the data from the JSON
return contentRequestBean;
}
public FieldValidator formulaValidation(Object fieldValue, double finalValue, String label) {
if (fieldValue != null) {
try {
double fieldValueAsDouble = Double.parseDouble(fieldValue.toString()); // Convert fieldValue to double
if (Double.compare(finalValue, fieldValueAsDouble) != 0) { // Compare doubles safely
errors.add(MessageFormat.format(Translator.toLocale(GepafinConstant.FORMULA_AMOUNT_NOT_MATCHED), label));
}
} catch (NumberFormatException e) {
throw new CustomValidationException(Status.BAD_REQUEST, "Invalid field value: " + fieldValue);
}
}
return this;
}
}