From 85df94c98222ec490b175352f5b974ab361cf78b Mon Sep 17 00:00:00 2001 From: rajesh Date: Thu, 19 Jun 2025 19:45:59 +0530 Subject: [PATCH] Done changes with respect to pec --- .../tendermanagement/dao/ApplicationDao.java | 33 +++++++++----- .../dao/EmailNotificationDao.java | 44 ++++++++++++++----- .../tendermanagement/dao/ProtocolDao.java | 8 ++++ .../application-production.properties | 2 + src/main/resources/application.properties | 1 + 5 files changed, 66 insertions(+), 22 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index 02fb01d2..198a4ede 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -1222,26 +1222,39 @@ public class ApplicationDao { String email = userEntity.getEmail(); if (userEntity.getBeneficiary() != null) { emailLogRequest.setRecipientType(RecipientTypeEnum.BENEFICIARY); - email = userEntity.getBeneficiary().getEmail(); - emailLogRequest.setRecipientId(userEntity.getBeneficiary().getId()); + + if(Boolean.TRUE.equals(hub.getUniqueUuid().equals(defaultHubUuid))){ + email=applicationEntity.getPecEmail(); + }else { + email = userEntity.getBeneficiary().getEmail(); + } + emailLogRequest.setRecipientId(userEntity.getBeneficiary().getId()); } emailNotificationDao.sendMail(hub.getId(), subject, body, List.of(email),emailLogRequest); List recipientEmails = new ArrayList<>(); // recipientEmails.add(email); String companyEmail = userWithCompany.getEmail(); String contactEmail = userWithCompany.getContactEmail(); + if(Boolean.TRUE.equals(hub.getUniqueUuid().equals(defaultHubUuid))){ + if (company.getPec()!=null) { + recipientEmails.add(company.getPec()); + }else { + recipientEmails.add(userWithCompany.getPec()); + } + } + else { + if (companyEmail != null && !companyEmail.isEmpty()) { + recipientEmails.add(companyEmail); + } - if (companyEmail != null && !companyEmail.isEmpty()) { - recipientEmails.add(companyEmail); - } - - if (contactEmail != null && !contactEmail.isEmpty() && !contactEmail.equals(companyEmail)) { - recipientEmails.add(contactEmail); - } + if (contactEmail != null && !contactEmail.isEmpty() && !contactEmail.equals(companyEmail)) { + recipientEmails.add(contactEmail); + } + } if(Boolean.FALSE.equals(recipientEmails.isEmpty())){ emailLogRequest.setRecipientId(applicationEntity.getCompanyId()); emailLogRequest.setRecipientType(RecipientTypeEnum.COMPANY); - emailLogRequest.setRecipientEmails(companyEmail); + emailLogRequest.setRecipientEmails(String.valueOf(recipientEmails)); } emailNotificationDao.sendMail(hub.getId(), subject, body, recipientEmails,emailLogRequest); } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java index e263a9f9..59d6193f 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java @@ -67,6 +67,9 @@ public class EmailNotificationDao { @Autowired private ApplicationEvaluationRepository applicationEvaluationRepository; + @Value("${default.hub.uuid}") + private String defaultHubUuid; + @Value("${rinaldo_email}") private String rinaldoEmail; @@ -109,20 +112,37 @@ public class EmailNotificationDao { UserWithCompanyEntity userWithCompany=companyService.getUserWithCompany(userEntity.getId(),company.getId()); String companyEmail = userWithCompany.getEmail(); String contactEmail = userWithCompany.getContactEmail(); - - if (companyEmail != null && !companyEmail.isEmpty()) { - EmailLogRequest emailLogRequest = emailLogDao.createEmailLogRequest(systemEmailTemplateResponse.getEmailScenario(), RecipientTypeEnum.COMPANY,company.getId() , - companyEmail, userEntity.getId(), applicationEntity.getId(), amendmentId, applicationEntity.getCall().getId()); - sendMail(applicationEntity.getHubId(), subject, body, List.of(companyEmail), emailLogRequest); - } - if (contactEmail != null && !contactEmail.isEmpty() && !contactEmail.equals(companyEmail)) { - EmailLogRequest emailLogRequest = emailLogDao.createEmailLogRequest(systemEmailTemplateResponse.getEmailScenario(), RecipientTypeEnum.COMPANY,company.getId(), - contactEmail, userEntity.getId(), applicationEntity.getId(), amendmentId, applicationEntity.getCall().getId()); - sendMail(applicationEntity.getHubId(), subject, body, List.of(contactEmail), emailLogRequest); - } + if (Boolean.TRUE.equals(userEntity.getHub().getUniqueUuid().equals(defaultHubUuid))){ + List recipientEmails=new ArrayList<>(); + if (company.getPec()!=null) { + recipientEmails.add(company.getPec()); + }else { + recipientEmails.add(userWithCompany.getPec()); + } + EmailLogRequest emailLogRequest = emailLogDao.createEmailLogRequest(systemEmailTemplateResponse.getEmailScenario(), RecipientTypeEnum.COMPANY,company.getId() , + String.valueOf(recipientEmails), userEntity.getId(), applicationEntity.getId(), amendmentId, applicationEntity.getCall().getId()); + sendMail(applicationEntity.getHubId(), subject, body, recipientEmails, emailLogRequest); + } + else { + if (companyEmail != null && !companyEmail.isEmpty()) { + EmailLogRequest emailLogRequest = emailLogDao.createEmailLogRequest(systemEmailTemplateResponse.getEmailScenario(), RecipientTypeEnum.COMPANY, company.getId(), + companyEmail, userEntity.getId(), applicationEntity.getId(), amendmentId, applicationEntity.getCall().getId()); + sendMail(applicationEntity.getHubId(), subject, body, List.of(companyEmail), emailLogRequest); + } + if (contactEmail != null && !contactEmail.isEmpty() && !contactEmail.equals(companyEmail)) { + EmailLogRequest emailLogRequest = emailLogDao.createEmailLogRequest(systemEmailTemplateResponse.getEmailScenario(), RecipientTypeEnum.COMPANY, company.getId(), + contactEmail, userEntity.getId(), applicationEntity.getId(), amendmentId, applicationEntity.getCall().getId()); + sendMail(applicationEntity.getHubId(), subject, body, List.of(contactEmail), emailLogRequest); + } + } if (userEntity.getBeneficiary().getEmail() != null) { - String beneficiaryEmail = userEntity.getBeneficiary().getEmail(); + String beneficiaryEmail = null; + if (Boolean.TRUE.equals(userEntity.getHub().getUniqueUuid().equals(defaultHubUuid))){ + beneficiaryEmail=applicationEntity.getPecEmail(); + }else { + beneficiaryEmail=userEntity.getBeneficiary().getEmail(); + } EmailLogRequest emailLogRequest = emailLogDao.createEmailLogRequest(systemEmailTemplateResponse.getEmailScenario(), RecipientTypeEnum.BENEFICIARY,userEntity.getBeneficiary().getId() , beneficiaryEmail, userEntity.getId(), applicationEntity.getId(), amendmentId, applicationEntity.getCall().getId()); sendMail(applicationEntity.getHubId(), subject, body, List.of(beneficiaryEmail), emailLogRequest); diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ProtocolDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ProtocolDao.java index 61895195..d198c599 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ProtocolDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ProtocolDao.java @@ -89,6 +89,9 @@ public class ProtocolDao { @Value("${tipoCorrispondente}") private String tipoCorrispondente; + @Value("${isSviluppumbriaProtocolEnabled}") + private String isSviluppUmbriaProtocolEnabled; + @Autowired private ApplicationSignedDocumentRepository applicationSignedDocumentRepository; @@ -156,6 +159,11 @@ public class ProtocolDao { } public ProtocolEntity createExternalProtocol(ApplicationEntity application, CompanyEntity company, ProtocolEntity protocol) { + + if (Boolean.FALSE.equals(Boolean.parseBoolean(isSviluppUmbriaProtocolEnabled))) { + return protocol; + } + log.info("Starting createExternalProtocol for application ID: {}", application.getId()); log.debug("Successfully retrieved bearer token"); diff --git a/src/main/resources/application-production.properties b/src/main/resources/application-production.properties index c4ad1fe9..ef5f73f2 100644 --- a/src/main/resources/application-production.properties +++ b/src/main/resources/application-production.properties @@ -37,3 +37,5 @@ spring.rabbitmq.port=61613 spring.rabbitmq.username=guest spring.rabbitmq.password=guest spring.rabbitmq.virtual-host=/ + +isSviluppumbriaProtocolEnabled = false \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2e40b904..4cb55816 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -91,3 +91,4 @@ codiceUo=101_10 competente=true tipoCorrispondente=Amministrazione sviluppumbriaUuid=t7jh5wfg9QXylNaTZkPoE +isSviluppumbriaProtocolEnabled = true