Aggiornata email di apertura tickets
This commit is contained in:
@@ -14,7 +14,8 @@ import it.integry.ems.media.MimeTypesHandler;
|
||||
import it.integry.ems.response.FileItem;
|
||||
import it.integry.ems.rules.completing.CommonRules;
|
||||
import it.integry.ems.service.dto.CustomEmailDTO;
|
||||
import it.integry.ems.service.dto.MailTemplateDataDTO;
|
||||
import it.integry.ems.service.dto.GenericComunicationMailTemplateDataDTO;
|
||||
import it.integry.ems.service.dto.TicketNotificationMailTemplateDataDTO;
|
||||
import it.integry.ems.settings.Model.MailConfigurationModel;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
@@ -307,6 +308,14 @@ public class MailService {
|
||||
return sendMailPrimary(null, null, to, cc, null, subject, msg, false, 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 {
|
||||
String htmlMailContent = mailTemplateService.getTicketNotificationEmailTemplate(mailData);
|
||||
|
||||
// SEND
|
||||
this.sendMailPrimary(multiDBTransactionManager, "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,
|
||||
String mailTitle, List<EntityBase> entitiesList, List<EmailFileAttachment> attachments, List<AnomalieDTO> anomalie, List<Exception> customExceptions) throws Exception {
|
||||
@@ -340,11 +349,11 @@ public class MailService {
|
||||
|
||||
subject = String.format("[%s] %s", nomeAzienda, subject);
|
||||
|
||||
final MailTemplateDataDTO mailTemplateData = new MailTemplateDataDTO()
|
||||
final GenericComunicationMailTemplateDataDTO mailTemplateData = new GenericComunicationMailTemplateDataDTO()
|
||||
.setTitle(subject)
|
||||
.setContent(mailMessage.toString());
|
||||
|
||||
String htmlMailText = mailTemplateService.getGenericEmailTemplate(Level.ERROR, mailTemplateData);
|
||||
String htmlMailText = mailTemplateService.getGenericComunicationEmailTemplate(Level.ERROR, mailTemplateData);
|
||||
|
||||
// SEND
|
||||
this.sendMailPrimary(multiDBTransactionManager, null, null, emailDestination, null, null,
|
||||
@@ -394,7 +403,7 @@ public class MailService {
|
||||
|
||||
String subject = String.format("[%s] Errore durante operazione di %s su %s", nomeAzienda, action, InetAddress.getLocalHost().getHostName());
|
||||
|
||||
final MailTemplateDataDTO mailTemplateData = new MailTemplateDataDTO()
|
||||
final GenericComunicationMailTemplateDataDTO mailTemplateData = new GenericComunicationMailTemplateDataDTO()
|
||||
.setTitle(mailTitle)
|
||||
.setContent(mailMessage.toString());
|
||||
|
||||
@@ -437,7 +446,7 @@ public class MailService {
|
||||
attachedFiles.add(new EmailFileAttachment("stackTrace.txt", stacktrace.getBytes()));
|
||||
|
||||
|
||||
String htmlMailText = mailTemplateService.getGenericEmailTemplate(Level.ERROR, mailTemplateData);
|
||||
String htmlMailText = mailTemplateService.getGenericComunicationEmailTemplate(Level.ERROR, mailTemplateData);
|
||||
|
||||
if (attachments != null && !attachments.isEmpty())
|
||||
attachedFiles.addAll(attachments);
|
||||
@@ -521,7 +530,7 @@ public class MailService {
|
||||
|
||||
private void internalSendSystemMail(Level mailLevel, String mailSubject, String mailTitle, String mailContent, Date footerDate) throws Exception {
|
||||
|
||||
String htmlEmail = mailTemplateService.getGenericEmailTemplate(mailLevel, new MailTemplateDataDTO()
|
||||
String htmlEmail = mailTemplateService.getGenericComunicationEmailTemplate(mailLevel, new GenericComunicationMailTemplateDataDTO()
|
||||
.setTitle(mailTitle)
|
||||
.setContent(mailContent));
|
||||
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package it.integry.ems.service;
|
||||
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.service.dto.MailTemplateDataDTO;
|
||||
import it.integry.ems.service.dto.GenericComunicationMailTemplateDataDTO;
|
||||
import it.integry.ems.service.dto.TicketNotificationMailTemplateDataDTO;
|
||||
import it.integry.ems_model.utility.UtilityLocalDate;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
@@ -17,14 +19,21 @@ import java.util.List;
|
||||
@Service
|
||||
public class MailTemplateService {
|
||||
|
||||
private final String baseUrl = "https://www2.studioml.it/ems-api/mail_models/";
|
||||
|
||||
public String getGenericEmailTemplate(MailService.Level level, MailTemplateDataDTO mailTemplateData) throws Exception {
|
||||
URL url = new URL("https://www2.studioml.it/ems-api/mail_models/integry-generic-communication-mail-template.html");
|
||||
private String downloadTemplate(String fileName) throws IOException {
|
||||
URL url = new URL(baseUrl + fileName);
|
||||
|
||||
InputStream inputStream = url.openStream();
|
||||
String htmlMailBody = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
|
||||
String htmlMailBody = IOUtils.toString(inputStream, StandardCharsets.ISO_8859_1);
|
||||
inputStream.close();
|
||||
|
||||
return htmlMailBody;
|
||||
}
|
||||
|
||||
public String getGenericComunicationEmailTemplate(MailService.Level level, GenericComunicationMailTemplateDataDTO mailTemplateData) throws Exception {
|
||||
String htmlMailBody = downloadTemplate("integry-generic-communication-mail-template.html");
|
||||
|
||||
String bannerBgColor;
|
||||
|
||||
switch (level) {
|
||||
@@ -84,6 +93,21 @@ public class MailTemplateService {
|
||||
return htmlMailBody;
|
||||
}
|
||||
|
||||
public String getTicketNotificationEmailTemplate(TicketNotificationMailTemplateDataDTO data) throws Exception {
|
||||
String htmlMailBody = downloadTemplate("integry-ticket-notification-mail-template.html");
|
||||
|
||||
String personaRif = "";
|
||||
|
||||
if (data.getPersonaRif() != null)
|
||||
personaRif = " " + data.getPersonaRif();
|
||||
|
||||
|
||||
htmlMailBody = htmlMailBody.replace("#PERSONA_RIF#", personaRif);
|
||||
htmlMailBody = htmlMailBody.replace("#ACTIVITY_ID#", data.getActivityId());
|
||||
htmlMailBody = htmlMailBody.replace("#HELPDESK_URL#", data.getHelpdeskUrl());
|
||||
|
||||
return htmlMailBody;
|
||||
}
|
||||
|
||||
public List<String> renderExceptionsToHtml(List<Exception> exceptions, boolean applyConsoleStyle) {
|
||||
List<String> renderedExceptions = new ArrayList<>();
|
||||
@@ -95,7 +119,6 @@ public class MailTemplateService {
|
||||
return renderedExceptions;
|
||||
}
|
||||
|
||||
|
||||
public String renderExceptionToHtml(Exception ex, boolean applyConsoleStyle) {
|
||||
StringBuilder htmlContent = new StringBuilder();
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package it.integry.ems.service.dto;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MailTemplateDataDTO {
|
||||
public class GenericComunicationMailTemplateDataDTO {
|
||||
|
||||
private String title;
|
||||
private String subtitle;
|
||||
@@ -17,7 +17,7 @@ public class MailTemplateDataDTO {
|
||||
return title;
|
||||
}
|
||||
|
||||
public MailTemplateDataDTO setTitle(String title) {
|
||||
public GenericComunicationMailTemplateDataDTO setTitle(String title) {
|
||||
this.title = title;
|
||||
return this;
|
||||
}
|
||||
@@ -26,7 +26,7 @@ public class MailTemplateDataDTO {
|
||||
return subtitle;
|
||||
}
|
||||
|
||||
public MailTemplateDataDTO setSubtitle(String subtitle) {
|
||||
public GenericComunicationMailTemplateDataDTO setSubtitle(String subtitle) {
|
||||
this.subtitle = subtitle;
|
||||
return this;
|
||||
}
|
||||
@@ -35,7 +35,7 @@ public class MailTemplateDataDTO {
|
||||
return content;
|
||||
}
|
||||
|
||||
public MailTemplateDataDTO setContent(String content) {
|
||||
public GenericComunicationMailTemplateDataDTO setContent(String content) {
|
||||
this.content = content;
|
||||
return this;
|
||||
}
|
||||
@@ -44,7 +44,7 @@ public class MailTemplateDataDTO {
|
||||
return exceptions;
|
||||
}
|
||||
|
||||
public MailTemplateDataDTO setExceptions(List<Exception> exceptions) {
|
||||
public GenericComunicationMailTemplateDataDTO setExceptions(List<Exception> exceptions) {
|
||||
this.exceptions = exceptions;
|
||||
return this;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package it.integry.ems.service.dto;
|
||||
|
||||
public class TicketNotificationMailTemplateDataDTO {
|
||||
|
||||
private final String activityId;
|
||||
private final String personaRif;
|
||||
private String helpdeskUrl;
|
||||
|
||||
public TicketNotificationMailTemplateDataDTO(String activityId, String personaRif) {
|
||||
this.activityId = activityId;
|
||||
this.personaRif = personaRif;
|
||||
}
|
||||
|
||||
public String getActivityId() {
|
||||
return activityId;
|
||||
}
|
||||
|
||||
public String getPersonaRif() {
|
||||
return personaRif;
|
||||
}
|
||||
|
||||
public String getHelpdeskUrl() {
|
||||
return helpdeskUrl;
|
||||
}
|
||||
|
||||
public TicketNotificationMailTemplateDataDTO setHelpdeskUrl(String helpdeskUrl) {
|
||||
this.helpdeskUrl = helpdeskUrl;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -3,25 +3,20 @@ package it.integry.ems.order.Import.service;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import it.integry.ems.Import.dto.AnomalieDTO;
|
||||
import it.integry.ems.Import.dto.ImportRequestDTO;
|
||||
import it.integry.ems.javabeans.RequestDataDTO;
|
||||
import it.integry.ems.order.Import.dto.DialogoJsonDTO;
|
||||
import it.integry.ems.rules.completing.QueryRules;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.service.MailService;
|
||||
import it.integry.ems.service.MailTemplateService;
|
||||
import it.integry.ems.service.MapService;
|
||||
import it.integry.ems.service.dto.MailTemplateDataDTO;
|
||||
import it.integry.ems.service.dto.GenericComunicationMailTemplateDataDTO;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityDirs;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems.utility.UtilityFile;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.entity.DtbOrdr;
|
||||
import it.integry.ems_model.entity.DtbOrdt;
|
||||
import it.integry.ems_model.entity.WdtbOrdt;
|
||||
import it.integry.ems_model.exception.EntityException;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.*;
|
||||
@@ -31,7 +26,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.StringWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Connection;
|
||||
@@ -286,10 +280,10 @@ public class OrdiniImportService {
|
||||
mailMessage.append(String.format("<p style=\"color: red; font-weight:bold\">%s<br/></p>", alreadyExists));
|
||||
}
|
||||
|
||||
final MailTemplateDataDTO mailTemplateData = new MailTemplateDataDTO()
|
||||
final GenericComunicationMailTemplateDataDTO mailTemplateData = new GenericComunicationMailTemplateDataDTO()
|
||||
.setTitle(subject)
|
||||
.setContent(String.valueOf(mailMessage));
|
||||
String htmlMailText = mailTemplateService.getGenericEmailTemplate(MailService.Level.SUCCESS, mailTemplateData);
|
||||
String htmlMailText = mailTemplateService.getGenericComunicationEmailTemplate(MailService.Level.SUCCESS, mailTemplateData);
|
||||
|
||||
mailService.sendMailPrimary(multiDBTransactionManager, null, null, emailDestination, null, null,
|
||||
subject, htmlMailText, true, false, null, null,
|
||||
|
||||
@@ -18,7 +18,7 @@ import it.integry.ems.report.dto.JasperDTO;
|
||||
import it.integry.ems.report.dto.PairsDTO;
|
||||
import it.integry.ems.rules.completing.DocumentRules;
|
||||
import it.integry.ems.service.*;
|
||||
import it.integry.ems.service.dto.MailTemplateDataDTO;
|
||||
import it.integry.ems.service.dto.GenericComunicationMailTemplateDataDTO;
|
||||
import it.integry.ems.service.exception.EmptyReportException;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
@@ -1058,11 +1058,11 @@ public class MesProductionServiceV2 {
|
||||
|
||||
String subject = "Pedane in Quarantena";
|
||||
|
||||
final MailTemplateDataDTO mailTemplateData = new MailTemplateDataDTO()
|
||||
final GenericComunicationMailTemplateDataDTO mailTemplateData = new GenericComunicationMailTemplateDataDTO()
|
||||
.setTitle(subject)
|
||||
.setContent(testoMailQuarantena);
|
||||
|
||||
String htmlMailText = mailTemplateService.getGenericEmailTemplate(MailService.Level.INFO, mailTemplateData);
|
||||
String htmlMailText = mailTemplateService.getGenericComunicationEmailTemplate(MailService.Level.INFO, mailTemplateData);
|
||||
|
||||
// SEND
|
||||
mailService.sendMailPrimary(multiDBTransactionManager, null, null, Arrays.asList(indirizziQuarantena.split("\\|")), null, null,
|
||||
|
||||
@@ -22,6 +22,7 @@ import it.integry.ems.service.MailService;
|
||||
import it.integry.ems.service.PrinterService;
|
||||
import it.integry.ems.service.ReportProcessor;
|
||||
import it.integry.ems.service.dto.CustomEmailDTO;
|
||||
import it.integry.ems.service.dto.TicketNotificationMailTemplateDataDTO;
|
||||
import it.integry.ems.service.exception.EmptyReportException;
|
||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
@@ -51,7 +52,6 @@ import net.schmizz.sshj.SSHClient;
|
||||
import net.schmizz.sshj.sftp.SFTPClient;
|
||||
import net.schmizz.sshj.transport.verification.PromiscuousVerifier;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.text.WordUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@@ -65,10 +65,8 @@ import org.springframework.web.util.HtmlUtils;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URL;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -742,7 +740,7 @@ public class SystemController {
|
||||
emailTo = emailPersRif;
|
||||
}
|
||||
|
||||
List<String> listEmailCcn= new ArrayList<>();
|
||||
List<String> listEmailCcn = new ArrayList<>();
|
||||
if (!activity.getUserCreator().equals(activity.getUserName())) {
|
||||
// SE SONO DIVERSI (E NON E' "CC") MANDA UN EMAIL AD
|
||||
// "ASSEGNATO A"
|
||||
@@ -755,10 +753,10 @@ public class SystemController {
|
||||
String emailAssegnatoA = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(emailAssegnatoA)) {
|
||||
if (UtilityString.isNullOrEmpty(emailTo) )
|
||||
if (UtilityString.isNullOrEmpty(emailTo))
|
||||
emailTo = UtilityString.streNull(emailAssegnatoA);
|
||||
else
|
||||
listEmailCcn.add( emailAssegnatoA );
|
||||
listEmailCcn.add(emailAssegnatoA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -769,7 +767,7 @@ public class SystemController {
|
||||
"from jtb_comt \n" +
|
||||
"inner join jrl_flav_users on jtb_comt.cod_jflav_tec = jrl_flav_users.cod_jflav and jrl_flav_users.flag_jflav_default = 's'\n" +
|
||||
"inner join stb_user on jrl_flav_users.user_name =stb_user.user_name " +
|
||||
"where cod_jcom = %S ", activity.getCodJcom()) ;
|
||||
"where cod_jcom = %S ", activity.getCodJcom());
|
||||
String emailResponsabile = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(emailResponsabile) && !listEmailCcn.contains(emailResponsabile))
|
||||
@@ -929,142 +927,100 @@ public class SystemController {
|
||||
public void notifica(String activityID, String personaRif, String emailPersRif, String inseritoDa,
|
||||
String ccn, String azione, String note, MultiDBTransactionManager multiDBTransactionManager) throws Exception {
|
||||
/**
|
||||
* IL PARAMETRO 'azione' PUO' ASSUMERE I SEGUENTI VALORI: 'A' -
|
||||
* Apertura, 'B' - Apertura da Cliente, 'U' - Cambio Stato, 'C' -
|
||||
* Chiusura, 'F' - Note feedback, 'S' - Sollecito
|
||||
*/String htmlNotifyMail, subject, codAnag = "", includeFb = "", activityResultId, emailUtente = "", emailTo = "", query;
|
||||
String webUrl = "https://www.studioml.it/integry/";
|
||||
String taskUrl = "https://task.studioml.it/";
|
||||
* IL PARAMETRO 'azione' PUO' ASSUMERE I SEGUENTI VALORI:
|
||||
* 'A' - Apertura,
|
||||
* 'B' - Apertura da Cliente,
|
||||
* 'U' - Cambio Stato,
|
||||
* 'C' - Chiusura,
|
||||
* 'F' - Note feedback,
|
||||
* 'S' - Sollecito
|
||||
*
|
||||
*/
|
||||
String emailUtente = "";
|
||||
String taskUrl = "https://task.studioml.it/ViewTicket/" + activityID;
|
||||
String emailHelpdesk = "helpdesk@integry.it";
|
||||
|
||||
PreparedStatement info;
|
||||
ResultSet res;
|
||||
|
||||
|
||||
/** VALUTARE SE IL SEGUENTE CONTROLLO LO SI DEBBA FARE IN WINACT: */
|
||||
// CONTROLLO PER INSERIRE LINK FEEDBACK DEL CLIENTE SE ...
|
||||
includeFb = "";
|
||||
if ("C".equals(azione)) { // ... MESSAGGIO DI CHIUSURA TICKET
|
||||
includeFb = "&linkfb=1";
|
||||
|
||||
String subject = "Integry - Ticket n. " + activityID;
|
||||
if ("A".equals(azione)) {
|
||||
subject = "Integry - Apertura attivita n. " + activityID;
|
||||
} else if ("B".equals(azione)) {
|
||||
subject = "Integry - Nuova attivita da " + personaRif + " ticket n. " + activityID;
|
||||
} else if ("F".equals(azione)) {
|
||||
subject = "Integry - Feedback negativo da " + personaRif + " ticket n. " + activityID;
|
||||
} else if ("S".equals(azione)) {
|
||||
subject = "Integry - Sollecito da " + personaRif + " per ticket n. " + activityID;
|
||||
} else if ("U".equals(azione)) {
|
||||
// ... OPPURE AGG. A STATO "RISCONTRO CLIE."
|
||||
query = " SELECT activity_result_id FROM stb_activity WHERE activity_id = "
|
||||
+ UtilityDB.valueToString(activityID);
|
||||
info = multiDBTransactionManager.prepareStatement(query);
|
||||
res = info.executeQuery();
|
||||
if (res.next()) {
|
||||
activityResultId = res.getString(1);
|
||||
if ("RISCONTRO CLIE.".equals(activityResultId)) {
|
||||
includeFb = "&linkfb=1";
|
||||
}
|
||||
}
|
||||
res.close();
|
||||
info.close();
|
||||
|
||||
} else if ("F".equals(azione) || "S".equals(azione)) {
|
||||
// RECUPERA EMAIL UTENTE PER INVIO NOTIFICA FEEDBACK NEGATIVO O
|
||||
// SOLLECITO
|
||||
query = "SELECT e_mail " +
|
||||
"FROM stb_activity INNER JOIN jtb_flav ON cod_jflav = user_name " +
|
||||
"WHERE activity_id = " + UtilityDB.valueToString(activityID);
|
||||
info = multiDBTransactionManager.prepareStatement(query);
|
||||
res = info.executeQuery();
|
||||
if (res.next()) {
|
||||
emailUtente = res.getString(1);
|
||||
}
|
||||
if (emailUtente.length() == 0) {
|
||||
emailUtente = emailHelpdesk;
|
||||
}
|
||||
res.close();
|
||||
info.close();
|
||||
subject = "Integry - Aggiornamento attivita n. " + activityID;
|
||||
} else if ("C".equals(azione)) {
|
||||
subject = "Integry - Chiusura attivita n. " + activityID;
|
||||
}
|
||||
|
||||
URL url = new URL(webUrl + "mail_models/ticket_mail.php?act=" + azione + includeFb);
|
||||
InputStream is = url.openStream();
|
||||
htmlNotifyMail = IOUtils.toString(is);
|
||||
String emailTo;
|
||||
|
||||
if (!UtilityString.isNullOrEmpty(htmlNotifyMail)) {
|
||||
htmlNotifyMail = htmlNotifyMail.replace("%%ACTIVITY_ID%%", activityID);
|
||||
htmlNotifyMail = htmlNotifyMail.replace("%%PERSONA_RIF%%", personaRif == null ? "" : personaRif);
|
||||
htmlNotifyMail = htmlNotifyMail.replace("%%EXTERNAL_URL%%", taskUrl);
|
||||
htmlNotifyMail = htmlNotifyMail.replace("%%NOTE%%", note == null ? "" : note);
|
||||
|
||||
subject = "Integry - Ticket n. " + activityID;
|
||||
if ("A".equals(azione)) {
|
||||
subject = "Integry - Apertura attivita n. " + activityID;
|
||||
} else if ("B".equals(azione)) {
|
||||
subject = "Integry - Nuova attivita da " + personaRif + " ticket n. " + activityID;
|
||||
} else if ("F".equals(azione)) {
|
||||
subject = "Integry - Feedback negativo da " + personaRif + " ticket n. " + activityID;
|
||||
} else if ("S".equals(azione)) {
|
||||
subject = "Integry - Sollecito da " + personaRif + " per ticket n. " + activityID;
|
||||
} else if ("U".equals(azione)) {
|
||||
subject = "Integry - Aggiornamento attivita n. " + activityID;
|
||||
} else if ("C".equals(azione)) {
|
||||
subject = "Integry - Chiusura attivita n. " + activityID;
|
||||
}
|
||||
|
||||
if ("B".equals(azione)) {
|
||||
emailTo = emailHelpdesk;
|
||||
} else if ("F".equals(azione) || "S".equals(azione)) {
|
||||
emailTo = emailUtente;
|
||||
} else {
|
||||
emailTo = emailPersRif;
|
||||
}
|
||||
|
||||
if (!emailTo.isEmpty()) {
|
||||
mailService.sendMailPrimary("noreply@integry.it", "Integry Ticketing", emailTo, null, ccn, subject, htmlNotifyMail, true, true, null, null, null);
|
||||
|
||||
StbActivity activity = new StbActivity();
|
||||
activity.setOperation(OperationType.NO_OP);
|
||||
activity.setActivityId(activityID);
|
||||
|
||||
StbActivityNotification activityNotification = new StbActivityNotification();
|
||||
activity.getStbActivityNotification().add(activityNotification);
|
||||
activityNotification.setOperation(OperationType.INSERT);
|
||||
activityNotification.setActivityId(activityID);
|
||||
activityNotification.setNotificationDate(new Date());
|
||||
activityNotification.setNotificationType(azione);
|
||||
if (note != null) {
|
||||
activityNotification.setNotificationNote(note);
|
||||
}
|
||||
|
||||
query = "SELECT stb_activity.cod_anag "
|
||||
+ "FROM stb_activity LEFT OUTER JOIN vtb_clie_pers_rif ON stb_activity.cod_anag = vtb_clie_pers_rif.cod_anag AND "
|
||||
+ " stb_activity.persona_rif = vtb_clie_pers_rif.persona_rif AND "
|
||||
+ " vtb_clie_pers_rif.e_mail IS NULL " + "WHERE stb_activity.activity_id = "
|
||||
+ UtilityDB.valueToString(activityID) + " AND "
|
||||
+ " vtb_clie_pers_rif.e_mail IS NULL";
|
||||
|
||||
info = multiDBTransactionManager.prepareStatement(query);
|
||||
res = info.executeQuery();
|
||||
if (res.next())
|
||||
codAnag = res.getString(1);
|
||||
res.close();
|
||||
info.close();
|
||||
|
||||
String domainIntegry = "integry.it";
|
||||
if (!UtilityString.isNullOrEmpty(codAnag) && !UtilityString.isNullOrEmpty(personaRif)
|
||||
&& !UtilityString.isNullOrEmpty(emailPersRif) && !emailPersRif.toUpperCase().contains(domainIntegry.toUpperCase())) {
|
||||
GtbAnag gtbAnag = new GtbAnag();
|
||||
gtbAnag.setCodAnag(codAnag);
|
||||
List<VtbCliePersRif> vtbCliePersRifs = new ArrayList<VtbCliePersRif>();
|
||||
VtbCliePersRif persRif = new VtbCliePersRif();
|
||||
persRif.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
persRif.setCodAnag(codAnag);
|
||||
persRif.setPersonaRif(personaRif);
|
||||
persRif.seteMail(emailPersRif);
|
||||
vtbCliePersRifs.add(persRif);
|
||||
gtbAnag.setVtbCliePersRif(vtbCliePersRifs);
|
||||
entityProcessor.processEntity(gtbAnag, multiDBTransactionManager);
|
||||
}
|
||||
entityProcessor.processEntity(activity, multiDBTransactionManager);
|
||||
} else {
|
||||
throw new Exception("Email destinatario non specificata");
|
||||
}
|
||||
if ("B".equals(azione)) {
|
||||
emailTo = emailHelpdesk;
|
||||
} else if ("F".equals(azione) || "S".equals(azione)) {
|
||||
emailTo = emailUtente;
|
||||
} else {
|
||||
throw new Exception("Modello mail non trovato in url " + webUrl);
|
||||
emailTo = emailPersRif;
|
||||
}
|
||||
|
||||
if (!emailTo.isEmpty()) {
|
||||
|
||||
TicketNotificationMailTemplateDataDTO mailData = new TicketNotificationMailTemplateDataDTO(activityID, personaRif)
|
||||
.setHelpdeskUrl(taskUrl);
|
||||
|
||||
mailService.sendTicketNotificationMail(multiDBTransactionManager, emailTo, null, ccn, subject, mailData);
|
||||
|
||||
StbActivity activity = new StbActivity();
|
||||
activity.setOperation(OperationType.NO_OP);
|
||||
activity.setActivityId(activityID);
|
||||
|
||||
StbActivityNotification activityNotification = new StbActivityNotification();
|
||||
activity.getStbActivityNotification().add(activityNotification);
|
||||
activityNotification.setOperation(OperationType.INSERT);
|
||||
activityNotification.setActivityId(activityID);
|
||||
activityNotification.setNotificationDate(new Date());
|
||||
activityNotification.setNotificationType(azione);
|
||||
|
||||
if (note != null) {
|
||||
activityNotification.setNotificationNote(note);
|
||||
}
|
||||
|
||||
String query = "SELECT stb_activity.cod_anag "
|
||||
+ "FROM stb_activity LEFT OUTER JOIN vtb_clie_pers_rif ON stb_activity.cod_anag = vtb_clie_pers_rif.cod_anag AND "
|
||||
+ " stb_activity.persona_rif = vtb_clie_pers_rif.persona_rif AND "
|
||||
+ " vtb_clie_pers_rif.e_mail IS NULL " + "WHERE stb_activity.activity_id = "
|
||||
+ UtilityDB.valueToString(activityID) + " AND "
|
||||
+ " vtb_clie_pers_rif.e_mail IS NULL";
|
||||
|
||||
String codAnag = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), query);
|
||||
|
||||
|
||||
String domainIntegry = "integry.it";
|
||||
if (!UtilityString.isNullOrEmpty(codAnag) &&
|
||||
!UtilityString.isNullOrEmpty(personaRif) &&
|
||||
!UtilityString.isNullOrEmpty(emailPersRif) &&
|
||||
!emailPersRif.toUpperCase().contains(domainIntegry.toUpperCase())) {
|
||||
|
||||
GtbAnag gtbAnag = new GtbAnag()
|
||||
.setCodAnag(codAnag);
|
||||
|
||||
VtbCliePersRif persRif = new VtbCliePersRif()
|
||||
.setCodAnag(codAnag)
|
||||
.setPersonaRif(personaRif)
|
||||
.seteMail(emailPersRif);
|
||||
|
||||
persRif.setOperation(OperationType.INSERT_OR_UPDATE);
|
||||
|
||||
gtbAnag.getVtbCliePersRif().add(persRif);
|
||||
entityProcessor.processEntity(gtbAnag, multiDBTransactionManager);
|
||||
}
|
||||
|
||||
entityProcessor.processEntity(activity, multiDBTransactionManager);
|
||||
} else {
|
||||
throw new Exception("Email destinatario non specificata");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user