diff --git a/ems-core/src/main/java/it/integry/ems/directory/EmailWatcherListener.java b/ems-core/src/main/java/it/integry/ems/directory/EmailWatcherListener.java
index 17c3b5b3c9..b00fab99fe 100644
--- a/ems-core/src/main/java/it/integry/ems/directory/EmailWatcherListener.java
+++ b/ems-core/src/main/java/it/integry/ems/directory/EmailWatcherListener.java
@@ -8,6 +8,7 @@ import it.integry.ems.properties.EmsProperties;
import it.integry.ems.response.EsitoType;
import it.integry.ems.response.FileItem;
import it.integry.ems.response.ServiceRestResponse;
+import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.utility.UtilityString;
@@ -192,67 +193,66 @@ public class EmailWatcherListener extends TimerTask {
private void notifyErrorToEmail(String emailListen, String mittente, String messageObj, Date messageDate,
String emailDbg, String errorMessage) throws Exception {
if (!UtilityString.isNullOrEmpty(emailDbg)) {
- DataSource ds = new DataSource();
- ds.initialize(emailListenerInfo.getDatabase());
+ try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(emailListenerInfo.getDatabase())) {
- SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
- String nomeAzienda = "";
- PreparedStatement ps = ds.getConnection().prepareStatement("select nome_ditta from azienda");
- ResultSet rs = ps.executeQuery();
- if (rs.next()) {
- nomeAzienda = rs.getString("nome_ditta");
+ String nomeAzienda = "";
+ PreparedStatement ps = mdb.prepareStatement("select nome_ditta from azienda");
+ ResultSet rs = ps.executeQuery();
+ if (rs.next()) {
+ nomeAzienda = rs.getString("nome_ditta");
+ }
+ rs.close();
+ ps.close();
+
+ String htmlMailBody = "Gentile Amministratore,
si e' verificato il seguente errore
" + errorMessage + "
del servizio " + emailListenerInfo.getServiceRest() +
+ "
in ascolto sulla mail " + emailListen + " provocato dal messaggio (mittente " + mittente + ") con oggetto " + messageObj + " in data " + sdf.format(messageDate);
+
+ String mailSubject = nomeAzienda + " - ERRORE SU " + InetAddress.getLocalHost().getHostName() +
+ " Servizio " + emailListenerInfo.getServiceRest() + ";Database " + emailListenerInfo.getDatabase();
+
+ // AttachmentDTO dto = new AttachmentDTO();
+ // dto.setFileByte(files);
+
+ StringWriter writer = new StringWriter();
+ //jsonObjectMapper.writeValue(writer, dto);
+
+ String jsonBody = writer.toString();
+
+ String database = emailListenerInfo.getDatabase();
+
+ String auth = RestUtil.generateAuth(database, database, "POST", jsonBody,
+ "application/json", prop.getRootApi() + EmsRestConstants.PATH_SEND_MAIL);
+
+ final Client client = ClientBuilder.newClient();
+ WebTarget resource = client.target(prop.getEndPointWS()).path(
+ prop.getRootApi() + EmsRestConstants.PATH_SEND_MAIL)
+ .resolveTemplate("mode", "async");
+ resource = resource.queryParam(CommonConstants.PROFILE_DB, database)
+ .queryParam("from", "").queryParam("to", emailDbg)
+ .queryParam("subject", mailSubject).queryParam("msgText", htmlMailBody)
+ .queryParam("isHtml", true);
+
+ resource.request().header("Authorization", database + ":" + auth)
+ .async()
+ .post(Entity.json(jsonBody), new InvocationCallback() {
+ @Override
+ public void completed(Response response) {
+ String value = response.readEntity(String.class);
+ logger.info(response.getStatus() + " - " + value);
+ response.close();
+ client.close();
+ }
+
+ @Override
+ public void failed(Throwable throwable) {
+ throwable.printStackTrace();
+ logger.error(throwable);
+ client.close();
+ }
+ });
}
- rs.close();
- ps.close();
- ds.forceClose();
-
- String htmlMailBody = "Gentile Amministratore,
si e' verificato il seguente errore
" + errorMessage + "
del servizio " + emailListenerInfo.getServiceRest() +
- "
in ascolto sulla mail " + emailListen + " provocato dal messaggio (mittente " + mittente + ") con oggetto " + messageObj + " in data " + sdf.format(messageDate);
-
- String mailSubject = nomeAzienda + " - ERRORE SU " + InetAddress.getLocalHost().getHostName() +
- " Servizio " + emailListenerInfo.getServiceRest() + ";Database " + emailListenerInfo.getDatabase();
-
- // AttachmentDTO dto = new AttachmentDTO();
- // dto.setFileByte(files);
-
- StringWriter writer = new StringWriter();
- //jsonObjectMapper.writeValue(writer, dto);
-
- String jsonBody = writer.toString();
-
- String database = emailListenerInfo.getDatabase();
-
- String auth = RestUtil.generateAuth(database, database, "POST", jsonBody,
- "application/json", prop.getRootApi() + EmsRestConstants.PATH_SEND_MAIL);
-
- final Client client = ClientBuilder.newClient();
- WebTarget resource = client.target(prop.getEndPointWS()).path(
- prop.getRootApi() + EmsRestConstants.PATH_SEND_MAIL)
- .resolveTemplate("mode", "async");
- resource = resource.queryParam(CommonConstants.PROFILE_DB, database)
- .queryParam("from", "").queryParam("to", emailDbg)
- .queryParam("subject", mailSubject).queryParam("msgText", htmlMailBody)
- .queryParam("isHtml", true);
-
- resource.request().header("Authorization", database + ":" + auth)
- .async()
- .post(Entity.json(jsonBody), new InvocationCallback() {
- @Override
- public void completed(Response response) {
- String value = response.readEntity(String.class);
- logger.info(response.getStatus() + " - " + value);
- response.close();
- client.close();
- }
-
- @Override
- public void failed(Throwable throwable) {
- throwable.printStackTrace();
- logger.error(throwable);
- client.close();
- }
- });
}
}
diff --git a/ems-engine/src/main/java/it/integry/ems/order/export/service/OrdiniAcquistoExportServices.java b/ems-engine/src/main/java/it/integry/ems/order/export/service/OrdiniAcquistoExportServices.java
index 3d44dbe94a..6d083d56fd 100644
--- a/ems-engine/src/main/java/it/integry/ems/order/export/service/OrdiniAcquistoExportServices.java
+++ b/ems-engine/src/main/java/it/integry/ems/order/export/service/OrdiniAcquistoExportServices.java
@@ -524,35 +524,6 @@ public class OrdiniAcquistoExportServices {
}
- public EntityExportResponse exportOrdiniVendita(String type, String format) throws Exception {
- Connection connection = multiDBTransactionManager.getPrimaryConnection();
-
- DataSource dsSlim2k = new DataSource();
- Map setup = setupGest.getImportSetupSection(connection, type, format);
- EntityExportResponse> entityExportResponse = new EntityExportResponse>();
- String profileSlim2k = setup.get("PROFILE");
-
- if (UtilityString.isNullOrEmpty(profileSlim2k)) {
- throw new Exception("Profile non configurato per la procedura di importazione liste di scarico SLIM2K");
- }
-
- try {
- dsSlim2k.initialize(profileSlim2k);
- String listaSingoloOrdine = setup.get("LISTA_SINGOLO_ORDINE");
-
-
- } catch (Exception e) {
- throw e;
- } finally {
- if (!dsSlim2k.isClosed()) {
- dsSlim2k.forceClose();
- }
- }
-
-
- return entityExportResponse;
- }
-
public EntityExportResponse exportOrdiniSlim2K(String type, String format) throws Exception {
EntityExportResponse> entityExportResponse = new EntityExportResponse>();
diff --git a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ProductServices.java b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ProductServices.java
index bd0406e8d0..a37e8c0f42 100644
--- a/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ProductServices.java
+++ b/ems-engine/src/main/java/it/integry/ems/product/importaz/service/ProductServices.java
@@ -92,94 +92,91 @@ public class ProductServices {
public List exportArtDialogo(String whereCond) throws Exception {
//PROCEDURA DI IMPORTAZIONE ARTICOLI FORMAT - CARELLI
- String query;
- FileItem fileItem;
- DataSource dsArticoli = new DataSource();
HashMap setup = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), "w_marti_rc", "DIALOGO");
String profileDbArt = setup.get("PROFILE_DB");
- dsArticoli.initialize(profileDbArt);
+ try(MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDbArt)) {
- String queryArticoli =
- "SELECT mtb_aart.cod_mart " +
- " FROM mtb_aart LEFT OUTER JOIN mtb_lisa ON mtb_aart.cod_mart = mtb_lisa.cod_mart " +
- "LEFT OUTER JOIN mvw_barcode ON mtb_aart.cod_mart = mvw_barcode.cod_mart " +
- " WHERE mtb_aart.cod_mart NOT IN (SELECT cod_mart FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.mtb_aart)";
- queryArticoli = UtilityDB.addwhereCond(queryArticoli, whereCond, true);
+ String queryArticoli =
+ "SELECT mtb_aart.cod_mart " +
+ " FROM mtb_aart LEFT OUTER JOIN mtb_lisa ON mtb_aart.cod_mart = mtb_lisa.cod_mart " +
+ "LEFT OUTER JOIN mvw_barcode ON mtb_aart.cod_mart = mvw_barcode.cod_mart " +
+ " WHERE mtb_aart.cod_mart NOT IN (SELECT cod_mart FROM " + multiDBTransactionManager.getPrimaryDatasource().getDbName() + ".dbo.mtb_aart)";
+ queryArticoli = UtilityDB.addwhereCond(queryArticoli, whereCond, true);
- String sql = setup.get("QUERY");
- sql = UtilityDB.addwhereCond(sql, "mtb_aart.cod_mart IN (" + queryArticoli + ") ", false);
+ String sql = setup.get("QUERY");
+ sql = UtilityDB.addwhereCond(sql, "mtb_aart.cod_mart IN (" + queryArticoli + ") ", false);
- ResultSetMapper rsArt = new ResultSetMapper();
- List articoli = rsArt.mapQuerySetToList(dsArticoli.getConnection(), sql, MtbAart.class, OperationType.SELECT_OBJECT);
+ ResultSetMapper rsArt = new ResultSetMapper();
+ List articoli = rsArt.mapQuerySetToList(mdb.getPrimaryConnection(), sql, MtbAart.class, OperationType.SELECT_OBJECT);
- if (articoli == null || articoli.isEmpty()) {
- throw new Exception("Nessun articolo trovato");
- }
-
- sql =
- "SELECT mtb_aart_bar_code.cod_mart, " +
- " cod_barre, " +
- " qta_cnf " +
- " FROM mtb_aart_bar_code " +
- "WHERE mtb_aart_bar_code.cod_mart IN (" + queryArticoli + ") ";
-
- ResultSetMapper rsBarcode = new ResultSetMapper();
- List barcode = rsBarcode.mapQuerySetToList(dsArticoli.getConnection(), sql, MtbAartBarCode.class, OperationType.SELECT_OBJECT);
-
- sql =
- "SELECT mtb_lisa.cod_mart, " +
- " cod_alis, " +
- " cod_art_for, " +
- " unt_mis_acq, " +
- " flag_attivo " +
- " FROM mtb_lisa " +
- " WHERE mtb_lisa.cod_mart IN (" + queryArticoli + ") ";
-
-
- List listini = rsBarcode.mapQuerySetToList(dsArticoli.getConnection(), sql, MtbLisa.class, OperationType.SELECT_OBJECT);
-
- sql = "SELECT where_cond_sql FROM stb_subscription WHERE user_name = " + UtilityDB.valueToString(multiDBTransactionManager.getPrimaryDatasource().getDbName());
-
- String whereCondSync = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(dsArticoli.getConnection(), sql);
-
- if (!UtilityString.isNullOrEmpty(whereCondSync) && !listini.isEmpty()) {
- List myObjs = new ArrayList<>();
- myObjs.addAll(listini);
-
- String selectSql = "SELECT * FROM " + listini.get(0).getClass().getCanonicalName() + " WHERE " + whereCondSync;
-
- // Create a new Query.
- Query q = new Query();
- q.parse(selectSql);
-
- QueryResults qr = q.execute(myObjs);
- List> res = qr.getResults();
-
- if (res != null && res.size() >= 0) {
- listini = (List) res;
+ if (articoli == null || articoli.isEmpty()) {
+ throw new Exception("Nessun articolo trovato");
}
- }
- for (MtbAart art : articoli) {
- art.setOnlyPkMaster(false);
+ sql =
+ "SELECT mtb_aart_bar_code.cod_mart, " +
+ " cod_barre, " +
+ " qta_cnf " +
+ " FROM mtb_aart_bar_code " +
+ "WHERE mtb_aart_bar_code.cod_mart IN (" + queryArticoli + ") ";
- List mtbAartBarCode = Stream.of(barcode).filter(x -> x.getCodMart().equalsIgnoreCase(art.getCodMart())).toList();
- if (mtbAartBarCode != null) {
- art.setMtbAartBarCode(mtbAartBarCode);
- }
- if (!listini.isEmpty()) {
- List mtbLisa = Stream.of(listini).filter(x -> x.getCodMart().equalsIgnoreCase(art.getCodMart())).toList();
- if (mtbLisa != null) {
- art.setMtbLisa(mtbLisa);
+ ResultSetMapper rsBarcode = new ResultSetMapper();
+ List barcode = rsBarcode.mapQuerySetToList(mdb.getPrimaryConnection(), sql, MtbAartBarCode.class, OperationType.SELECT_OBJECT);
+
+ sql =
+ "SELECT mtb_lisa.cod_mart, " +
+ " cod_alis, " +
+ " cod_art_for, " +
+ " unt_mis_acq, " +
+ " flag_attivo " +
+ " FROM mtb_lisa " +
+ " WHERE mtb_lisa.cod_mart IN (" + queryArticoli + ") ";
+
+
+ List listini = rsBarcode.mapQuerySetToList(mdb.getPrimaryConnection(), sql, MtbLisa.class, OperationType.SELECT_OBJECT);
+
+ sql = "SELECT where_cond_sql FROM stb_subscription WHERE user_name = " + UtilityDB.valueToString(multiDBTransactionManager.getPrimaryDatasource().getDbName());
+
+ String whereCondSync = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(mdb.getPrimaryConnection(), sql);
+
+ if (!UtilityString.isNullOrEmpty(whereCondSync) && !listini.isEmpty()) {
+ List myObjs = new ArrayList<>();
+ myObjs.addAll(listini);
+
+ String selectSql = "SELECT * FROM " + listini.get(0).getClass().getCanonicalName() + " WHERE " + whereCondSync;
+
+ // Create a new Query.
+ Query q = new Query();
+ q.parse(selectSql);
+
+ QueryResults qr = q.execute(myObjs);
+ List> res = qr.getResults();
+
+ if (res != null && res.size() >= 0) {
+ listini = (List) res;
}
}
- }
+ for (MtbAart art : articoli) {
+ art.setOnlyPkMaster(false);
- return articoli;
+ List mtbAartBarCode = Stream.of(barcode).filter(x -> x.getCodMart().equalsIgnoreCase(art.getCodMart())).toList();
+ if (mtbAartBarCode != null) {
+ art.setMtbAartBarCode(mtbAartBarCode);
+ }
+ if (!listini.isEmpty()) {
+ List mtbLisa = Stream.of(listini).filter(x -> x.getCodMart().equalsIgnoreCase(art.getCodMart())).toList();
+ if (mtbLisa != null) {
+ art.setMtbLisa(mtbLisa);
+ }
+ }
+
+ }
+ return articoli;
+ }
}
private String exportArtDialogoExclude(String[] elencoCampi, String nomeCampo) {
@@ -784,17 +781,17 @@ public class ProductServices {
public void popolaTabellaRiassegnazione() throws Exception {
String profileDB = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), "w_mriassegna_costo_dlg", "TABELLA COSTI", "PROFILE_DB");
- Connection conn = null;
- if (!UtilityString.isNullOrEmpty(profileDB) && !profileDB.equalsIgnoreCase(multiDBTransactionManager.getPrimaryDatasource().getProfile())) {
- DataSource ds = new DataSource();
- ds.initialize(profileDB);
- conn = ds.getConnection();
- } else {
- conn = multiDBTransactionManager.getPrimaryConnection();
+ try(MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDB)) {
+ Connection conn = null;
+ if (!UtilityString.isNullOrEmpty(profileDB) && !profileDB.equalsIgnoreCase(multiDBTransactionManager.getPrimaryDatasource().getProfile())) {
+ conn = mdb.getPrimaryConnection();
+ } else {
+ conn = multiDBTransactionManager.getPrimaryConnection();
+ }
+ CallableStatement cs = conn.prepareCall("{call popolaTabelleCosti}");
+ cs.execute();
+ cs.close();
}
- CallableStatement cs = conn.prepareCall("{call popolaTabelleCosti}");
- cs.execute();
- cs.close();
}
public void aggCostiDaTabella(Date dataIniz, Date dataFine, String whereCond) throws Exception {