diff --git a/Dockerfile b/Dockerfile index 20909b7333..2211d96683 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM tomcat:9-jre8-alpine RUN apk add --no-cache fontconfig ttf-dejavu ENV TZ="Europe/Rome" -ENV JAVA_OPTS="-DDISABLE_DROOLS_COMPILE=TRUE -Xms512M -Xmx1G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" +ENV JAVA_OPTS="-DDISABLE_DROOLS_COMPILE=TRUE -Xms512M -Xmx2G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" ENV USERDOMAIN="STUDIO-ML" COPY docker/tomcat/conf/integry/ems.properties /usr/local/tomcat/conf/integry/ diff --git a/docker/tomcat/conf/integry/ems_settings.json b/docker/tomcat/conf/integry/ems_settings.json index cf4194c193..88e29e83ea 100644 --- a/docker/tomcat/conf/integry/ems_settings.json +++ b/docker/tomcat/conf/integry/ems_settings.json @@ -46,6 +46,16 @@ "encryptedDbPsw": true, "internalDb": true }, + { + "profileName": "RESINA_COLOR_PASQUALE", + "connectionType": "MSSQL", + "dbName": "RESINACOLOR_PASQUALE", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true + }, { "profileName": "ALAMBICCO", "connectionType": "MSSQL", @@ -86,26 +96,6 @@ "encryptedDbPsw": true, "internalDb": true }, - { - "profileName": "CAPELLI_MONELLI", - "connectionType": "MSSQL", - "dbName": "capelli_monelli", - "username": "SA", - "password": "sZ", - "host": "192.168.2.220", - "encryptedDbPsw": true, - "internalDb": true - }, - { - "profileName": "PENELOPE_EXCHANGE", - "connectionType": "MSSQL", - "dbName": "penelope_exchange", - "username": "SA", - "password": "sZ", - "host": "192.168.2.220", - "encryptedDbPsw": true, - "internalDb": false - }, { "profileName": "CARELLI", "connectionType": "MSSQL", @@ -137,7 +127,7 @@ "internalDb": true }, { - "profileName": "COSMAPACK", + "profileName": "COSMINT", "connectionType": "MSSQL", "dbName": "cosmint", "username": "sa", @@ -206,6 +196,36 @@ "encryptedDbPsw": true, "internalDb": true }, + { + "profileName": "PAPARELLAD", + "connectionType": "MSSQL", + "dbName": "PAPARELLAD", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true + }, + { + "profileName": "PAPARELLAP", + "connectionType": "MSSQL", + "dbName": "PAPARELLAP", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true + }, + { + "profileName": "PAPARELLAPIETRO", + "connectionType": "MSSQL", + "dbName": "PAPARELLAPIETRO", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true + }, { "profileName": "FOLLIESGROUP", "connectionType": "MSSQL", @@ -386,16 +406,6 @@ "encryptedDbPsw": true, "internalDb": true }, - { - "profileName": "NUOVAVG", - "connectionType": "MSSQL", - "dbName": "vgalimenti", - "username": "sa", - "password": "sZ", - "host": "192.168.2.214", - "encryptedDbPsw": true, - "internalDb": true - }, { "profileName": "OF_DEMO", "connectionType": "MSSQL", @@ -416,16 +426,6 @@ "encryptedDbPsw": true, "internalDb": true }, - { - "profileName": "PAPARELLAPIETRO", - "connectionType": "MSSQL", - "dbName": "paparellapietro", - "username": "sa", - "password": "sZ", - "host": "192.168.2.214", - "encryptedDbPsw": true, - "internalDb": true - }, { "profileName": "PAPARELLAD", "connectionType": "MSSQL", @@ -446,6 +446,26 @@ "encryptedDbPsw": true, "internalDb": true }, + { + "profileName": "PAPARELLA_IMMOBILIARE", + "connectionType": "MSSQL", + "dbName": "immobiliare", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true + }, + { + "profileName": "PAPARELLA_IMMOBILIARE_SRL", + "connectionType": "MSSQL", + "dbName": "immobiliaresrl", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true + }, { "profileName": "RISTO_CASH", "connectionType": "MSSQL", @@ -476,6 +496,16 @@ "encryptedDbPsw": true, "internalDb": true }, + { + "profileName": "SABATO", + "connectionType": "MSSQL", + "dbName": "SABATO", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true + }, { "profileName": "SANTANTONIO", "connectionType": "MSSQL", @@ -496,16 +526,6 @@ "encryptedDbPsw": true, "internalDb": true }, - { - "profileName": "SABATO", - "connectionType": "MSSQL", - "dbName": "SABATO", - "username": "sa", - "password": "sZ", - "host": "192.168.2.214", - "encryptedDbPsw": true, - "internalDb": true - }, { "profileName": "SICILIANIDMSOLAP", "connectionType": "MSSQL", @@ -556,36 +576,6 @@ "encryptedDbPsw": true, "internalDb": true }, - { - "profileName": "BIOSUIT", - "connectionType": "MSSQL", - "dbName": "BIOSUIT", - "username": "sa", - "password": "sZ", - "host": "192.168.2.214", - "encryptedDbPsw": true, - "internalDb": true - }, - { - "profileName": "SUIT_PUGLIA", - "connectionType": "MSSQL", - "dbName": "SUIT_PUGLIA", - "username": "sa", - "password": "sZ", - "host": "192.168.2.214", - "encryptedDbPsw": true, - "internalDb": true - }, - { - "profileName": "CARNI_SARDEGNA", - "connectionType": "MSSQL", - "dbName": "CARNI_SARDEGNA", - "username": "sa", - "password": "sZ", - "host": "192.168.2.214", - "encryptedDbPsw": true, - "internalDb": true - }, { "profileName": "TEMPESTA", "connectionType": "MSSQL", @@ -727,9 +717,9 @@ "internalDb": true }, { - "profileName": "ROSSOGARGANO", + "profileName": "CAPELLI_MONELLI", "connectionType": "MSSQL", - "dbName": "RossoGargano", + "dbName": "capelli_monelli", "username": "SA", "password": "sZ", "host": "192.168.2.220", @@ -737,10 +727,20 @@ "internalDb": true }, { - "profileName": "Aida", + "profileName": "PENELOPE_EXCHANGE", "connectionType": "MSSQL", - "dbName": "aida", - "username": "sa", + "dbName": "penelope_exchange", + "username": "SA", + "password": "sZ", + "host": "192.168.2.220", + "encryptedDbPsw": true, + "internalDb": false + }, + { + "profileName": "ROSSOGARGANO", + "connectionType": "MSSQL", + "dbName": "RossoGargano", + "username": "SA", "password": "sZ", "host": "192.168.2.220", "encryptedDbPsw": true, @@ -826,6 +826,26 @@ "encryptedDbPsw": false, "internalDb": false }, + { + "profileName": "COSMAPACK", + "connectionType": "MSSQL", + "dbName": "COSMINT", + "username": "sa", + "password": "sZ", + "host": "192.168.2.220", + "encryptedDbPsw": true, + "internalDb": true + }, + { + "profileName": "Aida", + "connectionType": "MSSQL", + "dbName": "aida", + "username": "sa", + "password": "sZ", + "host": "192.168.2.220", + "encryptedDbPsw": true, + "internalDb": true + }, { "profileName": "VETTA", "connectionType": "MSSQL", @@ -835,22 +855,32 @@ "host": "192.168.2.214", "encryptedDbPsw": true, "internalDb": true + }, + { + "profileName": "CARNI_SARDEGNA", + "connectionType": "MSSQL", + "dbName": "CARNI_SARDEGNA", + "username": "sa", + "password": "sZ", + "host": "192.168.2.214", + "encryptedDbPsw": true, + "internalDb": true } ], "defaultMailConfiguration": { - "from": "developer@integry.it", - "smtp": "mail.studioml.it", - "port": 1025, + "from": "internal@integry.it", + "smtp": "smtp.integry.it", + "port": 25, "enableSSL": false, - "username": "mailuser", - "password": "ZTikBVpBmZC6CVtGamTQ", + "username": "sender@integry.it", + "password": "sendsqlml", "encryptedPassword": false }, "loggerConfiguration": { "level": "DEBUG", - "deleteDays": 7, - "dbDeleteDays": 0, - "dbMaxSize": "1G" + "deleteDays": 15, + "dbDeleteDays": 3, + "dbMaxSize": "500M" }, "enablePermissionCheck": false, "minioConfiguration": { diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251201090147.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251201090147.java new file mode 100644 index 0000000000..ed55f7114d --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251201090147.java @@ -0,0 +1,19 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20251201090147 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + executeStatement("alter table ctb_cont add flag_attivo bit not null default 1"); + } + + @Override + public void down() throws Exception { + } +} \ No newline at end of file diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251201105344.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251201105344.java new file mode 100644 index 0000000000..d35ad50d29 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251201105344.java @@ -0,0 +1,59 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20251201105344 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + createOrUpdateTrigger("tr_changeTipoRiep", "CREATE TRIGGER [dbo].[tr_changeTipoRiep]\n" + + " ON [dbo].[ctb_cont]\n" + + " INSTEAD OF update\n" + + "AS\n" + + "BEGIN\n" + + "\tSET NOCOUNT ON;\n" + + "\tdeclare @cnt int = 0\n" + + "\n" + + "\n" + + "\tif Update(tipo_riep ) \n" + + "\tbegin\n" + + "\t\tSELECT @cnt = COUNT(*) from ctb_movr inner join inserted on ctb_movr.cod_ccon = inserted.cod_ccon and \n" + + "\t\t( (inserted.tipo_riep is null and ctb_movr.cod_anag is not null ) or (inserted.tipo_riep is null and ctb_movr.cod_anag is null ) )\n" + + "\tend\n" + + "\t \n" + + "\t \n" + + " IF @cnt > 0\n" + + " BEGIN\n" + + " THROW 50002, 'Update non consentito: esistono movimenti collegati.', 1;\n" + + " RETURN;\n" + + " END\n" + + "\t\n" + + "\tupdate ctb_cont \n" + + "\tset cod_cmas = inserted.cod_cmas,\n" + + "\t\tcod_cgrp = inserted.cod_cgrp,\n" + + "\t\tdescrizione = inserted.descrizione,\n" + + "\t\ttipo_riep = inserted.tipo_riep,\n" + + "\t\tsaldo_att = inserted.saldo_att,\n" + + "\t\tflag_cont_analit = inserted.flag_cont_analit,\n" + + "\t\tcod_biva = inserted.cod_biva,\n" + + "\t\tcod_jfas = inserted.cod_jfas,\n" + + "\t\tcod_csct = inserted.cod_csct,\n" + + "\t\tflag_risconto = inserted.flag_risconto,\n" + + "\t\tperc_ded = inserted.perc_ded,\n" + + "\t\tdiacod = inserted.diacod,\n" + + "\t\tdata_ins = inserted.data_ins,\n" + + "\t\tdata_mod = inserted.data_mod,\n" + + "\t\tflag_attivo = inserted.flag_attivo\n" + + "\tfrom ctb_cont inner join inserted on ctb_cont.cod_ccon = inserted.cod_ccon\n" + + "\n" + + "END"); + } + + @Override + public void down() throws Exception { + } +} \ No newline at end of file diff --git a/ems-core/src/main/java/it/integry/ems_model/entity/CtbCont.java b/ems-core/src/main/java/it/integry/ems_model/entity/CtbCont.java index a5d481e91d..ffe2ca07ad 100644 --- a/ems-core/src/main/java/it/integry/ems_model/entity/CtbCont.java +++ b/ems-core/src/main/java/it/integry/ems_model/entity/CtbCont.java @@ -74,6 +74,9 @@ public class CtbCont extends EntityBase { @SqlField(value = "data_mod", defaultObjectValue = CommonConstants.TIMESTAMP) private Date dataMod; + @SqlField(value = "flag_attivo", nullable = false, defaultObjectValue = "1") + private Boolean flagAttivo; + public CtbCont() { super(logger); } @@ -201,6 +204,15 @@ public class CtbCont extends EntityBase { return this; } + public Boolean getFlagAttivo() { + return flagAttivo; + } + + public CtbCont setFlagAttivo(Boolean flagAttivo) { + this.flagAttivo = flagAttivo; + return this; + } + @Override protected void deleteChilds() throws Exception { String sql = Query.format( diff --git a/ems-engine/src/main/java/it/integry/ems/retail/ReportVariazioni/service/VariazioniPvService.java b/ems-engine/src/main/java/it/integry/ems/retail/ReportVariazioni/service/VariazioniPvService.java index 9b8de1077c..73f0dcfef9 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/ReportVariazioni/service/VariazioniPvService.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/ReportVariazioni/service/VariazioniPvService.java @@ -599,9 +599,9 @@ public class VariazioniPvService { " listino.prz_vend_iva AS 'prz_pieno_iva',\n" + " promozione.cod_promo,\n" + " promozione.descr_promo,\n" + - " promozione.data_fine,\n" + + " vtb_list_data.data_fine,\n" + " mtb_aart.ingredienti,\n" + - " ISNULL(promozione.data_iniz, listino.data_iniz) AS 'data_iniz',\n" + + " ISNULL(vtb_list_data.data_iniz, listino.data_iniz) AS 'data_iniz',\n" + " stb_gest_setup.value AS 'reparto_cassa',\n" + " mtb_aart.note AS 'annotazioni_art',\n" + " CASE\n" + @@ -641,6 +641,7 @@ public class VariazioniPvService { " LEFT OUTER JOIN dbo.getpromozionevendita('[DATA_VARIAZIONE]', NULL, '[COD_VLIS]', NULL, NULL) promozione\n" + " ON listino.cod_vlis = promozione.cod_vlis AND listino.cod_mart = promozione.cod_mart AND\n" + " (( promozione.data_fine = '[DATA_VARIAZIONE]' AND promozione.chiusura_immediata = 0) OR promozione.data_fine <> '[DATA_VARIAZIONE]' )\n" + + " LEFT OUTER JOIN vtb_list_data ON promozione.cod_vlis = vtb_list_data.cod_vlis and promozione.versione = vtb_list_data.versione\n" + " LEFT OUTER JOIN vtb_promo ON promozione.cod_promo = vtb_promo.cod_promo\n" + "WHERE vtb_promo.cod_promo_intercode IS NULL\n" + ((variazioniPvDTO.getTipoReportEnum() == VariazioniReportType.LISTINO) ?