diff --git a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java index 87b23c05..4cce5925 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java @@ -145,12 +145,17 @@ public class EmailNotificationDao { Map replacements=new HashMap<>(); List documentEntities=new ArrayList<>(); if(systemEmailTemplateResponse.getEmailScenario().equals(EmailScenarioTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED)) { + String amount=Utils.convertToItalianFormat(String.valueOf(applicationEntity.getAmountAccepted())); replacements = Map.of( "{call_name}", applicationEntity.getCall().getName(), - "{amount_accepted}", String.valueOf(applicationEntity.getAmountAccepted()), + "{amount_accepted}", amount, "{pec}", "bandi.gepafin@legalmail.it" ); - documentEntities=documentRepository.findBySourceInAndIsDeletedFalse(List.of(applicationAmendmentRequest.getAmendmentDocumentType(),"MODELLO_AUTOCERTIFICAZIONE","MODELLO_PRIVACY")); + if(Boolean.TRUE.equals(AmendmentDocumentTypeEnum.ALTRE_GARANZIE.getValue().equals(applicationAmendmentRequest.getAmendmentDocumentType()))){ + documentEntities=documentRepository.findBySourceInAndIsDeletedFalse(List.of(applicationAmendmentRequest.getAmendmentDocumentType(),"MODELLO_AUTOCERTIFICAZIONE","MODELLO_PRIVACY")); + }else { + documentEntities = documentRepository.findBySourceInAndIsDeletedFalse(List.of(applicationAmendmentRequest.getAmendmentDocumentType())); + } } if(Boolean.TRUE.equals(userEntity.getHub().getUniqueUuid().equals(defaultHubUuid)) && Boolean.TRUE.equals(systemEmailTemplateResponse.getEmailScenario().equals(EmailScenarioTypeEnum.APPLICATION_AMENDMENT_REQUESTED))) { List documentIds=applicationDao.validateDocumentIds(applicationAmendmentRequest.getAmendmentInitialDocument()); diff --git a/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java b/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java index 9175eec1..86037d8f 100644 --- a/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java +++ b/src/main/java/net/gepafin/tendermanagement/util/S3DocxProcessor.java @@ -10,6 +10,8 @@ import org.slf4j.LoggerFactory; import java.io.*; import java.net.URI; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -44,7 +46,7 @@ public class S3DocxProcessor { // Extract bucket & key from URL AmazonS3URI s3Uri = new AmazonS3URI(s3Url); String bucket = s3Uri.getBucket(); - String key = s3Uri.getKey(); + String key = URLDecoder.decode(s3Uri.getKey(), StandardCharsets.UTF_8); try (S3Object s3Object = s3Client.getObject(bucket, key); InputStream originalStream = new BufferedInputStream(s3Object.getObjectContent())) { byte[] updatedBytes=null; diff --git a/src/main/resources/db/changelog/db.changelog-1.0.0.xml b/src/main/resources/db/changelog/db.changelog-1.0.0.xml index 1f58437f..836f4ae3 100644 --- a/src/main/resources/db/changelog/db.changelog-1.0.0.xml +++ b/src/main/resources/db/changelog/db.changelog-1.0.0.xml @@ -3085,4 +3085,7 @@ + + + diff --git a/src/main/resources/db/dump/update_document_for_special_amendment_23-10-2025.sql b/src/main/resources/db/dump/update_document_for_special_amendment_23-10-2025.sql new file mode 100644 index 00000000..2854120f --- /dev/null +++ b/src/main/resources/db/dump/update_document_for_special_amendment_23-10-2025.sql @@ -0,0 +1,15 @@ +UPDATE gepafin_schema."document" +SET file_name='lettera di accettazione esito delibera – 1.docx', file_path='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/lettera%20di%20accettazione%20esito%20delibera%20%E2%80%93%201.docx' +WHERE "source"='NESSUNA_GARANZIA'; + +UPDATE gepafin_schema."document" +SET file_name='lettera di accettazione esito delibera – 2.docx', file_path='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/lettera%20di%20accettazione%20esito%20delibera%20%E2%80%93%202.docx' +WHERE "source"='GARANZIA_MCC'; + +UPDATE gepafin_schema."document" +SET file_name='lettera di accettazione esito delibera – 3.docx', file_path='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/lettera%20di%20accettazione%20esito%20delibera%20%E2%80%93%203.docx' +WHERE "source"='MCC_START_UP'; + +UPDATE gepafin_schema."document" +SET file_name='lettera di accettazione esito delibera – 4.docx', file_path='https://mementoresources.s3.amazonaws.com/gepafin/staging/template/lettera%20di%20accettazione%20esito%20delibera%20%E2%80%93%204.docx' +WHERE "source"='ALTRE_GARANZIE'; \ No newline at end of file