From bdb7b7d885214b801d6286b926424b063d639622 Mon Sep 17 00:00:00 2001 From: rajesh Date: Thu, 12 Mar 2026 16:30:22 +0530 Subject: [PATCH] Updated the update company API --- .../tendermanagement/dao/CompanyDao.java | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/CompanyDao.java b/src/main/java/net/gepafin/tendermanagement/dao/CompanyDao.java index 400d30f6..dd487692 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/CompanyDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/CompanyDao.java @@ -250,15 +250,26 @@ public class CompanyDao { setIfUpdated(companyEntity::getCountry, companyEntity::setCountry, companyRequest.getCountry()); setIfUpdated(companyEntity::getNumberOfEmployees, companyEntity::setNumberOfEmployees, companyRequest.getNumberOfEmployees()); setIfUpdated(companyEntity::getAnnualRevenue, companyEntity::setAnnualRevenue, companyRequest.getAnnualRevenue()); -// -// if(StringUtils.isNotBlank(companyRequest.getVatNumber())) { -// CompanyEntity existingCompany = companyRepository.findByVatNumberAndHubId(companyRequest.getVatNumber(), userEntity.getHub().getId()); -// if(existingCompany!=null){ -// throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.VATNUMBER_ALREADY_EXISTS)); -// } -// companyEntity.setVatNumber(companyRequest.getVatNumber()); -// -// } + + // Same VAT logic as updateCompanyVatNumber: run VAT check, set validVat, json, and codiceAteco when vatNumber is provided + if (StringUtils.isNotBlank(companyRequest.getVatNumber())) { + Long hubId = userEntity.getHub().getId(); + CompanyEntity existingCompany = companyRepository.findByVatNumberAndHubId(companyRequest.getVatNumber(), hubId); + if (existingCompany != null) { + throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.VATNUMBER_ALREADY_EXISTS)); + } + VatCheckResponseBean vatCheckResponseBean = vatCheckDao.checkVatNumber(companyRequest.getVatNumber(), hubId); + Boolean validVat = Boolean.FALSE; + if (vatCheckResponseBean != null && Boolean.TRUE.equals(vatCheckResponseBean.getValid())) { + validVat = Boolean.TRUE; + } + companyEntity.setVatNumber(companyRequest.getVatNumber()); + companyEntity.setValidVat(validVat); + if (vatCheckResponseBean != null && vatCheckResponseBean.getVatCheckResponse() != null) { + companyEntity.setJson(Utils.convertMapIntoJsonString(vatCheckResponseBean.getVatCheckResponse())); + updateCodiceAtecoFieldWithNewJson(companyEntity); + } + } companyRepository.save(companyEntity); log.info("Company updated and saved. companyId: {}", companyEntity.getId());