Aggiornata email di errore delle importazioni delle fatture passive (aggiornamento dei riferimenti non committati precedentemente)

This commit is contained in:
2025-09-02 09:44:29 +02:00
parent b078028c24
commit 7c08f0ed48
19 changed files with 42 additions and 44 deletions

View File

@@ -768,7 +768,7 @@ public class WooCommerceService {
private void sendErrorMail(String errorMsg, String service, byte[] content, String filename, List<AnomalieDTO> anomalie) {
try {
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, service, "WOOCOMMERCE", "Errore WooCommerce",
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), service, "WOOCOMMERCE", "Errore WooCommerce",
null, content, filename, anomalie);
} catch (Exception exception) {
logger.error(service, exception);

View File

@@ -426,7 +426,7 @@ public abstract class BaseEntityExporter implements IEntityExporter {
try {
MailService mailService = ContextLoader.getCurrentWebApplicationContext().getBean(MailService.class);
mailService.sendInfoMail(multiDBTransactionManager, notificationEmail,
mailService.sendInfoMail(multiDBTransactionManager.getPrimaryConnection(), notificationEmail,
String.format("Esportazione di %s - %s", getType(), getFormat()),
String.format("come da accordi, l'esportazione %s - %s &egrave; stata completata.", getType(), getFormat()));

View File

@@ -245,7 +245,7 @@ public class EmsServices {
entityBases.add(entityBase);
logger.error("Import entity", ex);
try {
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, gestName, format, "Importazione entity", entityBases, fileContent, file.getName(), null);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), gestName, format, "Importazione entity", entityBases, fileContent, file.getName(), null);
} catch (Exception e) {
logger.error("Import entity", e);
}
@@ -305,7 +305,7 @@ public class EmsServices {
entityBases.add(entityBase);
logger.error("Import entity", ex);
try {
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, gestName, format, "Importazione entity", entityBases, fileContent, fileName, null);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), gestName, format, "Importazione entity", entityBases, fileContent, fileName, null);
} catch (Exception e) {
logger.error("Import entity", e);
}
@@ -411,7 +411,7 @@ public class EmsServices {
logger.error("Import entity", anomalie.get(0).getException());
else logger.error(anomalie.get(0).getMessage());
}
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, gestName, format, "Importazione entity", tmpResult, fileInput, fileName, anomalie);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), gestName, format, "Importazione entity", tmpResult, fileInput, fileName, anomalie);
}
@@ -436,7 +436,7 @@ public class EmsServices {
if (anomalie.get(0).getException() != null)
logger.error("Export entity", anomalie.get(0).getException());
else logger.error(anomalie.get(0).getMessage());
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, gestName, format, "Esportazione entity", null, null, null, anomalie);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), gestName, format, "Esportazione entity", null, null, null, anomalie);
}
@@ -497,7 +497,7 @@ public class EmsServices {
}
} catch (Exception ex) {
if (headless) {
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, "EXPORT_" + type, format,
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), "EXPORT_" + type, format,
"Esportazione entity", null, null, null, Collections.singletonList(ex));
throw ex;
} else {

View File

@@ -315,22 +315,22 @@ public class MailService {
return sendMailPrimary(null, null, to, cc, null, subject, msg, isHtml, false, null, null, null);
}
public void sendTicketNotificationMail(final MultiDBTransactionManager multiDBTransactionManager, final String to, final String cc, final String ccn, final String subject, final TicketNotificationMailTemplateDataDTO mailData) throws Exception {
public void sendTicketNotificationMail(final Connection connection, final String to, final String cc, final String ccn, final String subject, final TicketNotificationMailTemplateDataDTO mailData) throws Exception {
String htmlMailContent = mailTemplateService.getTicketNotificationEmailTemplate(mailData);
// SEND
this.sendMailPrimary(multiDBTransactionManager, "noreply@integry.it", "Integry Ticketing", to, cc, ccn,
this.sendMailPrimary(connection, "noreply@integry.it", "Integry Ticketing", to, cc, ccn,
subject, htmlMailContent, true, false, null, null,
null, false, null);
}
public void sendErrorMailByGestNameSection(MultiDBTransactionManager multiDBTransactionManager, String gestName, String section,
public void sendErrorMailByGestNameSection(Connection connection, String gestName, String section,
String mailTitle, List<EntityBase> entitiesList, List<EmailFileAttachment> attachments, List<AnomalieDTO> anomalie, List<Exception> customExceptions) throws Exception {
// GET DESTINATION
String emailDestination = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), gestName, section, "EMAIL_FOR_LOG");
String emailDestination = setupGest.getSetup(connection, gestName, section, "EMAIL_FOR_LOG");
sendErrorMail(multiDBTransactionManager, emailDestination,
sendErrorMail(connection, emailDestination,
mailTitle,
String.format("%s %s", gestName, section),
entitiesList,
@@ -340,7 +340,7 @@ public class MailService {
}
public void sendInfoMail(final MultiDBTransactionManager multiDBTransactionManager, final String emailDestination, String subject, String htmlContent) throws Exception {
public void sendInfoMail(final Connection connection, final String emailDestination, String subject, String htmlContent) throws Exception {
if (UtilityString.isNullOrEmpty(emailDestination)) {
return;
}
@@ -351,7 +351,7 @@ public class MailService {
.append("<br /><br /></p>");
String nomeAzienda = emsDBConst.getConstsByProfile(multiDBTransactionManager.getPrimaryConnection().getProfileName())
String nomeAzienda = emsDBConst.getConstsByProfile(connection.getProfileName())
.getNomeAzienda();
subject = String.format("[%s] %s", nomeAzienda, subject);
@@ -363,18 +363,18 @@ public class MailService {
String htmlMailText = mailTemplateService.getGenericComunicationEmailTemplate(Level.ERROR, mailTemplateData);
// SEND
this.sendMailPrimary(multiDBTransactionManager, null, null, emailDestination, null, null,
this.sendMailPrimary(connection, null, null, emailDestination, null, null,
subject, htmlMailText, true, false, null, null,
null, false, null);
}
public void sendErrorMailByGestNameSection(MultiDBTransactionManager multiDBTransactionManager, String gestName, String section,
public void sendErrorMailByGestNameSection(final Connection connection, String gestName, String section,
String mailTitle, List<EntityBase> entitiesList, byte[] fileInput, String fileName, List<AnomalieDTO> anomalie) throws Exception {
// GET DESTINATION
String emailDestination = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), gestName, section, "EMAIL_FOR_LOG");
String emailDestination = setupGest.getSetup(connection, gestName, section, "EMAIL_FOR_LOG");
List<EmailFileAttachment> attachments = null;
@@ -384,7 +384,7 @@ public class MailService {
attachments.add(new EmailFileAttachment(fileName, fileInput));
}
sendErrorMail(multiDBTransactionManager, emailDestination,
sendErrorMail(connection, emailDestination,
mailTitle,
String.format("%s %s", gestName, section),
entitiesList,

View File

@@ -94,7 +94,7 @@ public class SyncManager {
objectMapper.writeValue(baos, entitySource);
baos.close();
notifyFailSyncronization(e, distributoreConnection.getProfileName(), subscriptor, "", baos.toByteArray(), multiDBTransactionManager);
notifyFailSyncronization(e, distributoreConnection.getProfileName(), subscriptor, "", baos.toByteArray(), multiDBTransactionManager.getPrimaryConnection());
if (!(e instanceof SyncException)) {
@@ -113,7 +113,7 @@ public class SyncManager {
}
}
public void notifyFailSyncronization(Exception e, String publicator, String subscriptor, String transactionId, byte[] entityByteArray, MultiDBTransactionManager multiDBTransactionManager) throws Exception {
public void notifyFailSyncronization(Exception e, String publicator, String subscriptor, String transactionId, byte[] entityByteArray, Connection connection) throws Exception {
String htmlMailBody;
@@ -122,7 +122,7 @@ public class SyncManager {
} else if (e instanceof SQLException && "23000".equals(((SQLException) e).getSQLState())) {
//Se l'errore è di chiave duplicata non inviamo nessuna email
} else {
String toEmailDbg = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "WS_REST", "SYNC_ONLINE", "EMAIL_FOR_LOG");
String toEmailDbg = setupGest.getSetup(connection, "WS_REST", "SYNC_ONLINE", "EMAIL_FOR_LOG");
if (UtilityString.isNullOrEmpty(toEmailDbg))
return;
@@ -132,7 +132,7 @@ public class SyncManager {
if (UtilityString.isNullOrEmpty(transactionId)) tipoSync = "online";
else tipoSync = "offline (#" + transactionId + ")";
mailService.sendErrorMail(multiDBTransactionManager, toEmailDbg, "Sincronizzazione", "Sincronizzazione " + tipoSync,
mailService.sendErrorMail(connection, toEmailDbg, "Sincronizzazione", "Sincronizzazione " + tipoSync,
null, null, null, Collections.singletonList(e));
}
}

View File

@@ -29,7 +29,6 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@@ -419,7 +418,7 @@ public class ContabilImportService {
CsvMapper mapper = new CsvMapper();
String csv = mapper.serialize(movPagheAnomalie, ";", header, true);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, "IMPORT_" + type, format, "Importazione movimenti paghe", null, csv.getBytes(), "ANOMALIE_MOV_PAGHE.CSV", null);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), "IMPORT_" + type, format, "Importazione movimenti paghe", null, csv.getBytes(), "ANOMALIE_MOV_PAGHE.CSV", null);
}

View File

@@ -134,7 +134,7 @@ public class CambioTipoDocPlanService {
logger.error("Errore durante il cambio di tipo documento", catchedException);
mailService.sendErrorMail(multiDBTransactionManager, emailForLog, "Cambio tipo documento",
mailService.sendErrorMail(multiDBTransactionManager.getPrimaryConnection(), emailForLog, "Cambio tipo documento",
"Cambio tipo documento", Collections.singletonList(first.get()), null, null, null);
error = true;
}

View File

@@ -177,7 +177,7 @@ public class GeneraCorrispettiviService {
}
String emailForLog = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "CORRISPETTIVI", "SETUP", "EMAIL_FOR_LOG");
if (!UtilityString.isNullOrEmpty(emailForLog) && Stream.of(anomalie).filter(x -> !x.getTipo().equals(AnomalieDTO.Type.INFO)).findFirst().isPresent()) {
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, "CORRISPETTIVI", "SETUP", "Generazione corrispettivi", entityReturn, null, null, anomalie);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), "CORRISPETTIVI", "SETUP", "Generazione corrispettivi", entityReturn, null, null, anomalie);
}
mLastProcedureStartTime.remove(profileDb);

View File

@@ -9,6 +9,7 @@ import it.integry.ems.rules.businessLogic.LoadColliService;
import it.integry.ems.rules.businessLogic.dto.LoadColliDTO;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.MailService;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.db.ResultSetMapper;
@@ -23,8 +24,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import java.sql.Types;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -127,7 +126,7 @@ public class TrasformaPrevServices {
if (headless) {
logger.error("Trasformazione preventivi: ", firstError.get().getException());
try {
mailService.sendErrorMail(multiDBTransactionManager, to, "Trasformazione preventivi", String.format("%s %s", gestName, section),
mailService.sendErrorMail(multiDBTransactionManager.getPrimaryConnection(), to, "Trasformazione preventivi", String.format("%s %s", gestName, section),
Collections.singletonList(firstError.get()), null, null, null);
} catch (Exception e) {
@@ -182,7 +181,7 @@ public class TrasformaPrevServices {
private void sendError(boolean headless, String to, Exception generatedError) throws Exception {
if (headless) {
mailService.sendErrorMail(multiDBTransactionManager, to, "Trasferimento prev",
mailService.sendErrorMail(multiDBTransactionManager.getPrimaryConnection(), to, "Trasferimento prev",
"Procedura di trasferimento prev", null, null, null, Collections.singletonList(generatedError));
}
throw generatedError;

View File

@@ -234,7 +234,7 @@ public class Slim2kLogisticService {
if (entity.getException() != null) {
respList.add(new ServiceRestResponse(EsitoType.KO, entity.getException().getMessage()));
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, type, format, null,
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), type, format, null,
Collections.singletonList(entity), (byte[]) null, null, null);
} else {
respList.add(new ServiceRestResponse(EsitoType.OK, entity, multiDBTransactionManager.getPrimaryConnection().getProfileName()));
@@ -622,7 +622,7 @@ public class Slim2kLogisticService {
.collect(Collectors.toList());
if (!entitiesWithErrors.isEmpty()) {
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, type, format, null,
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), type, format, null,
entitiesWithErrors, (byte[]) null, null, null);
}

View File

@@ -293,7 +293,7 @@ public class OrdiniImportService {
.setContent(String.valueOf(mailMessage));
String htmlMailText = mailTemplateService.getGenericComunicationEmailTemplate(MailService.Level.SUCCESS, mailTemplateData);
mailService.sendMailPrimary(multiDBTransactionManager, null, null, emailDestination, null, null,
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(), null, null, emailDestination, null, null,
subject, htmlMailText, true, false, null, null,
null, false, null);
}

View File

@@ -293,7 +293,7 @@ public class OrdiniVirtuemartService {
if (!UtilityString.isNullOrEmpty(emailCliente)) {
mailService.sendMailPrimary(multiDBTransactionManager, from, null, emailCliente, null, ccn,
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(), from, null, emailCliente, null, ccn,
subject, mailText, true, false, null, null, null, false, null);
StbEmailRecovery emailRecovery = new StbEmailRecovery();

View File

@@ -1206,7 +1206,7 @@ public class MesProductionServiceV2 {
String htmlMailText = mailTemplateService.getGenericComunicationEmailTemplate(MailService.Level.INFO, mailTemplateData);
// SEND
mailService.sendMailPrimary(multiDBTransactionManager, null, null, Arrays.asList(indirizziQuarantena.split("\\|")), null, null,
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(), null, null, Arrays.asList(indirizziQuarantena.split("\\|")), null, null,
subject, htmlMailText, true, false, null, null,
null, false, null);
}

View File

@@ -1258,7 +1258,7 @@ public class ProductionService {
if (!anomalieDTOS.isEmpty()) {
String emailForLog = setupGest.getSetup("W_PORDI_RC", "DISTRIBUZIONE_MATERIALI", "EMAL_NOTIFICATION");
if (!UtilityString.isNullOrEmpty(emailForLog))
mailService.sendErrorMail(multiDBTransactionManager, emailForLog, "Errore durante la procedure di distribuzione materiali",
mailService.sendErrorMail(multiDBTransactionManager.getPrimaryConnection(), emailForLog, "Errore durante la procedure di distribuzione materiali",
"Errore durante la procedure di distribuzione materiali",
entities.stream().filter(x -> x.getException() != null).collect(Collectors.toList()),
null, anomalieDTOS, null);

View File

@@ -1286,7 +1286,7 @@ public class VariazioniPvService {
.append("\n\r");
}
mailService.sendMailPrimary(multiDBTransactionManager,
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(),
null, null,
emailForLog, null, null,
"Esportazione variazioni", sb.toString(), false, false,
@@ -1296,7 +1296,7 @@ public class VariazioniPvService {
}
} catch (Exception e) {
if (!UtilityString.isNullOrEmpty(emailForLog)) {
mailService.sendMailPrimary(multiDBTransactionManager,
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(),
null, null,
emailForLog, null, null,
"Errore nella procedura di esportazione variazioni", e.getMessage(), false, false,
@@ -1436,7 +1436,7 @@ public class VariazioniPvService {
" avvenuta con successo." + CommonConstants.A_CAPO +
" Sono stati esportati n. " + numVariazioni + " articoli";
mailService.sendMailPrimary(multiDBTransactionManager, null, null, emailForLog, null, null, oggetto, messaggio, false, false, null, null, null, false, null);
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(), null, null, emailForLog, null, null, oggetto, messaggio, false, false, null, null, null, false, null);
}
}
}

View File

@@ -108,7 +108,7 @@ public class GiacenzaService {
logger.error(message);
if (!UtilityDebug.isDebugExecution()) {
mailService.sendErrorMail(multiDBTransactionManager,
mailService.sendErrorMail(multiDBTransactionManager.getPrimaryConnection(),
emailDest,
"Errore nel popolamento delle giacenze " + multiDBTransactionManager.getPrimaryConnection().getDbName(),
"Errore nel popolamento delle giacenze. " + message, null,

View File

@@ -313,7 +313,7 @@ public class SystemController {
codJcom,
StringUtils.join(elencoAttivita, "<br>"));
mailService.sendMailPrimary(multiDBTransactionManager, "noreply@integry.it", "Integry Ticketing", emailTo, null, null,
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(), "noreply@integry.it", "Integry Ticketing", emailTo, null, null,
String.format("Installazione aggiornamenti %s", codJcom),
emailMessage, true, false, null, null,
null, false, null);
@@ -1020,7 +1020,7 @@ public class SystemController {
TicketNotificationMailTemplateDataDTO mailData = new TicketNotificationMailTemplateDataDTO(activityID, personaRif)
.setHelpdeskUrl(taskUrl);
mailService.sendTicketNotificationMail(multiDBTransactionManager, emailTo, null, ccn, subject, mailData);
mailService.sendTicketNotificationMail(multiDBTransactionManager.getPrimaryConnection(), emailTo, null, ccn, subject, mailData);
StbActivity activity = new StbActivity();
activity.setOperation(OperationType.NO_OP);

View File

@@ -248,7 +248,7 @@ public class AnagraficaVirtuemartService {
List<IFileSharerAttachment> emailFileAttachmentList = new ArrayList<IFileSharerAttachment>();
emailFileAttachmentList.add(emailFileAttachment);
mailService.sendMailPrimary(multiDBTransactionManager, from, null, to, null, ccn,
mailService.sendMailPrimary(multiDBTransactionManager.getPrimaryConnection(), from, null, to, null, ccn,
mailSubject, mailText, true, false, null, null, emailFileAttachmentList, false, null);
StbEmailRecovery emailRecovery = new StbEmailRecovery();

View File

@@ -161,7 +161,7 @@ public class AnagImportService {
}
if (!anomalie.isEmpty() && !UtilityString.isNullOrEmpty(setup.get("EMAIL_FOR_LOG"))) {
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, "CORRISPETTIVI", "SETUP", "Impostazione coordinate cliente", null, null, null, anomalie);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager.getPrimaryConnection(), "CORRISPETTIVI", "SETUP", "Impostazione coordinate cliente", null, null, null, anomalie);
}
}