Merge branch 'develop' into feature/export_documenti_intesa
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250423120529 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
|
||||
createSetup("CONSEGNA", "EMAIL", "ENABLE_EMAIL", "N",
|
||||
"Attiva la notifica tramite mail delle bolle firmate", false, "SI_NO", false, false,
|
||||
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250423120657 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
createSetup("CONSEGNA", "EMAIL", "OGGETTO", null,
|
||||
null, false, null, false, false,
|
||||
false, false, false, null, false, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250423120811 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
createSetup("CONSEGNA", "EMAIL", "MESSAGGIO", null,
|
||||
null, false, null, false, false,
|
||||
false, false, false, null, false, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import it.integry.ems.sync.MultiDBTransaction.Connection;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.exception.DataConverterNotFoundException;
|
||||
import it.integry.ems_model.service.SetupGest;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
@@ -39,6 +40,9 @@ public class ConSegnaService {
|
||||
@Autowired
|
||||
private MailService mailService;
|
||||
|
||||
@Autowired
|
||||
private SetupGest setupGest;
|
||||
|
||||
public List<DatiClientiDTO> getDatiConsegne(ConSegnaRequestDataDTO consegnaRequestData) throws Exception {
|
||||
String username = consegnaRequestData.getUsername();
|
||||
Date minDataDoc = UtilityDate.isNull(consegnaRequestData.getMinDataDoc(), new Date());
|
||||
@@ -375,46 +379,50 @@ public class ConSegnaService {
|
||||
|
||||
public void notifyUser(DatiConsegneDTO datiConsegna) throws Exception {
|
||||
Connection conn = multiDBTransactionManager.getPrimaryConnection();
|
||||
boolean enable = setupGest.getSetupBoolean(conn, "CONSEGNA", "EMAIL", "ENABLE_EMAIL");
|
||||
|
||||
String subject = "";
|
||||
String msgText = "";
|
||||
if (enable){
|
||||
String subject = setupGest.getSetup(conn, "CONSEGNA", "EMAIL", "OGGETTO");
|
||||
String msgText = setupGest.getSetup(conn, "CONSEGNA", "EMAIL", "MESSAGGIO");
|
||||
|
||||
String sql = Query.format(
|
||||
"SELECT e_mail\n" +
|
||||
"FROM vtb_clie_pers_rif\n" +
|
||||
" INNER JOIN stb_tipi_indirizzi ON stb_tipi_indirizzi.tipo_indirizzo = vtb_clie_pers_rif.tipo_indirizzo\n" +
|
||||
"WHERE tipo_documento = %s\n" +
|
||||
" AND cod_anag = %s",
|
||||
datiConsegna.getCodDtip(),
|
||||
datiConsegna.getCodAnag()
|
||||
);
|
||||
String elencoEmail = String.join(",", UtilityDB.executeSimpleQueryOnlyFirstColumn(conn, sql));
|
||||
String sql = it.integry.ems_model.utility.Query.format(
|
||||
"SELECT e_mail\n" +
|
||||
"FROM vtb_clie_pers_rif\n" +
|
||||
" INNER JOIN stb_tipi_indirizzi ON stb_tipi_indirizzi.tipo_indirizzo = vtb_clie_pers_rif.tipo_indirizzo\n" +
|
||||
"WHERE tipo_documento = %s\n" +
|
||||
" AND cod_anag = %s\n" +
|
||||
" AND stb_tipi_indirizzi.tipo_indirizzo = 'UFFICIO ACQUISTI'\n" +
|
||||
" AND ((:codVdes IS NULL AND cod_vdes IS NULL) OR (:codVdes IS NOT NULL AND ISNULL(cod_vdes, :codVdes) = :codVdes))",
|
||||
datiConsegna.getCodDtip(), datiConsegna.getCodAnag()
|
||||
).replace(":codVdes", UtilityDB.valueToString(datiConsegna.getCodVdes()));
|
||||
String elencoEmail = String.join(",", UtilityDB.executeSimpleQueryOnlyFirstColumn(conn, sql));
|
||||
|
||||
sql = Query.format(
|
||||
"SELECT TOP 1 data_doc,\n" +
|
||||
" ser_doc,\n" +
|
||||
" num_doc,\n" +
|
||||
" cod_anag,\n" +
|
||||
" cod_dtip,\n" +
|
||||
" versione\n" +
|
||||
"FROM dtb_doc_pdf\n" +
|
||||
"WHERE cod_dtip = %s\n" +
|
||||
" AND cod_anag = %s\n" +
|
||||
" AND data_doc = %s\n" +
|
||||
" AND num_doc = %s\n" +
|
||||
" AND ser_doc = %s\n" +
|
||||
" AND filename LIKE %s\n" +
|
||||
"ORDER BY versione DESC",
|
||||
datiConsegna.getCodDtip(), datiConsegna.getCodAnag(),
|
||||
datiConsegna.getDataDoc(), datiConsegna.getNumDoc(),
|
||||
datiConsegna.getSerDoc(), DocumentiIntesaExportService.SIGNED_PREFIX
|
||||
);
|
||||
DtbDocPdf dtbDocPdf = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, DtbDocPdf.class);
|
||||
dtbDocPdf.setOperation(OperationType.SELECT_OBJECT);
|
||||
entityProcessor.processEntity(dtbDocPdf, multiDBTransactionManager);
|
||||
sql = Query.format(
|
||||
"SELECT TOP 1 data_doc,\n" +
|
||||
" ser_doc,\n" +
|
||||
" num_doc,\n" +
|
||||
" cod_anag,\n" +
|
||||
" cod_dtip,\n" +
|
||||
" versione\n" +
|
||||
"FROM dtb_doc_pdf\n" +
|
||||
"WHERE cod_dtip = %s\n" +
|
||||
" AND cod_anag = %s\n" +
|
||||
" AND data_doc = %s\n" +
|
||||
" AND num_doc = %s\n" +
|
||||
" AND ser_doc = %s\n" +
|
||||
" AND filename LIKE %s\n" +
|
||||
"ORDER BY versione DESC",
|
||||
datiConsegna.getCodDtip(), datiConsegna.getCodAnag(),
|
||||
datiConsegna.getDataDoc(), datiConsegna.getNumDoc(),
|
||||
datiConsegna.getSerDoc(), DocumentiIntesaExportService.SIGNED_PREFIX
|
||||
);
|
||||
DtbDocPdf dtbDocPdf = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, DtbDocPdf.class);
|
||||
dtbDocPdf.setOperation(OperationType.SELECT_OBJECT);
|
||||
entityProcessor.processEntity(dtbDocPdf, multiDBTransactionManager);
|
||||
|
||||
if (!elencoEmail.isEmpty()) {
|
||||
mailService.sendMail(null, null, elencoEmail, null, null, subject, msgText, false, new FileItem(dtbDocPdf.getFilename(), dtbDocPdf.getFilecontent()));
|
||||
if (!elencoEmail.isEmpty()) {
|
||||
mailService.sendMail(null, null, elencoEmail, null, null, subject, msgText, false, new FileItem(dtbDocPdf.getFilename(), dtbDocPdf.getFilecontent()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user