Compare commits

...

1718 Commits

Author SHA1 Message Date
6d7212ce97 Prima versione funzionante di Hybernate 2025-12-15 10:42:51 +01:00
5103830369 Finish Feature-SteUp
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 18:52:01 +01:00
5056d7e0c8 Merge branch 'develop' into feature/Feature-SteUp 2025-12-12 18:51:57 +01:00
4b5e46de7b varie steup 2025-12-12 18:51:48 +01:00
4d686ee145 Allineamento dati follies group su mtb_aart_anag
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 18:30:40 +01:00
e842326f5b Merge remote-tracking branch 'origin/develop' into develop 2025-12-12 18:30:32 +01:00
63ad11086f Allineamento dati follies group su mtb_aart_anag 2025-12-12 18:30:26 +01:00
21f6fc6717 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 17:43:00 +01:00
8c2789b5f3 modificata in or la condizione dei db format e gestfood per la cancellazione dei duplicati 2025-12-12 17:42:54 +01:00
8f3ef405cf Merge branch 'develop' into feature/Feature-SteUp 2025-12-12 17:15:44 +01:00
76e76dfcf4 aggiunti parametri nella migration
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 17:13:14 +01:00
1df5ad7137 varie steup 2025-12-12 17:00:29 +01:00
a43ca46395 Spostato metodo downloadReportList da refactoring
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 16:06:38 +01:00
a63eba544b Allineamento dati Auricchio, levanplast e agricoper per cambio chiave mtb_aart_anag
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 13:20:49 +01:00
ce912bf103 Allineamento dati Auricchio, levanplast e agricoper per cambio chiave mtb_aart_anag 2025-12-12 13:20:44 +01:00
ababbf6142 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 10:12:20 +01:00
e97fd0aacb inserita nota bio nella dtb_note_doc, associata ai tipi documenti e svuotata setup stampa_documenti per rossogargano 2025-12-12 10:12:09 +01:00
51c1ed1d23 Merge branch 'develop' into feature/Feature-SteUp 2025-12-12 09:59:37 +01:00
a9be8f7003 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-12 09:58:38 +01:00
7522092a12 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-12 09:58:37 +01:00
4dc0174800 Fix su convert mvwSitart to mtbColr 2025-12-12 09:58:32 +01:00
a04b2fa4a1 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 17:14:44 +01:00
04317470c6 creata setup per visualizzare dettaglio su report fatturato agente/clienti 2025-12-11 17:14:35 +01:00
187216dd9f Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 16:46:46 +01:00
e11172a90f Implementato servizio di reset selle posizioni MonoUl 2025-12-11 16:46:35 +01:00
51d5b05bd3 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 16:31:10 +01:00
3a2ceaf217 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 16:31:09 +01:00
c783f69a49 aggiunta setup per esportare 2025-12-11 16:30:22 +01:00
1c8695095b Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 16:06:11 +01:00
fc28af761c creato report personalizzato stampa registri iva per cosmapack 2025-12-11 16:06:02 +01:00
fd4db5ab3b Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 13:12:05 +01:00
f7e1d1f6ca [ROSSOGARGANO]
- fix riposizionamento in posizione monoUl
2025-12-11 13:11:57 +01:00
0b8f82f041 Create nuove utilities
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 12:45:12 +01:00
99680dccd8 Creata nuova utility getMtbUntMisFromCodMart
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 11:21:14 +01:00
e948855fc0 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 10:30:17 +01:00
0854acacfb Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 10:30:16 +01:00
1aba141c9f Aggiunto database tempestadi nei customer db 2025-12-11 10:30:02 +01:00
741cb960d4 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 10:13:39 +01:00
82d7efc00c Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 10:13:39 +01:00
c6c2739525 Aggiunto database tempestadi nei customer db 2025-12-11 10:13:21 +01:00
313bfc21ff Modificato messaggio di errore per documenti già esistente
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-11 09:44:12 +01:00
36f50ad846 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 18:48:18 +01:00
798e5b532e Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 18:48:17 +01:00
c27c96c3d9 Aggiunto parallel stream in retrieve items dalla cache 2025-12-10 18:48:11 +01:00
4e3d15ebd8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 18:47:37 +01:00
0ba9297f39 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-12-10 18:47:36 +01:00
7c036172d8 Aggiunto parallel stream in retrieve items dalla cache 2025-12-10 18:47:22 +01:00
8afa01d8ef Corretto errore null di Ime quando svuotavano il campo tipo bene
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 17:34:59 +01:00
db1949b5b6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 16:22:41 +01:00
bb47dd458e Finish FixSavePreventivo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 16:22:40 +01:00
530b6af4ef [CRM] fix completeOrder 2025-12-10 16:20:22 +01:00
92cd4b1af5 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-10 13:35:53 +01:00
6b71d6b784 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 13:35:53 +01:00
de4d8d225f Aggiunto codMart nella richiesta di retrieveGiacenza 2025-12-10 13:35:43 +01:00
671c2e99d0 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:19:31 +01:00
755e7394b4 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:19:31 +01:00
ce06683722 Fix duplicate key su mtbCols 2025-12-10 12:19:11 +01:00
e8a1a8ca0b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:16:14 +01:00
7a5c024005 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:16:13 +01:00
c82f2a57d8 gestito errore date promo duplicate e sistemata retun dei Thread 2025-12-10 12:13:13 +01:00
78dbf9f7e3 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:01:55 +01:00
b9e863a563 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 12:01:54 +01:00
60e4429c3f [ANOMALIE UL]
- aggiunta eliminazione livello anomalia
2025-12-10 12:01:44 +01:00
d7012d4e1f eliminta conversione caratteri e sistemata data iniz promo 2025-12-10 11:44:10 +01:00
1d52f79337 fix funzione pvm_getassortimentoClientePedane per "ambiguous column name" su cod_Vdes
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 11:20:28 +01:00
0e1adccb7c inserito campo cod_vdes nella mtb_aart_anag e cancellati duplicati su format e gestfood
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 10:33:57 +01:00
fa76a8e92d Merge remote-tracking branch 'origin/develop' into develop
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-12-10 10:33:11 +01:00
9b34a51bd9 inserito campo cod_vdes nella mtb_aart_anag e cancellati duplicati su format e gestfood 2025-12-10 10:32:58 +01:00
b75f7e3810 Finish DatiDocSpostaUL
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 09:57:30 +01:00
4aeccdfa76 Aggiunti dati doc in creazione documento sposta ul 2025-12-10 09:56:42 +01:00
39db8e6e1b Modifica migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-10 09:27:37 +01:00
1b87cacca2 aggiunta fk su mtb_unt_mis
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 16:02:09 +01:00
326bd4294e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 15:03:34 +01:00
6a237ce4d9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 15:03:33 +01:00
a64932d918 correzioni ad esportazione e importazione dialogo 2025-12-09 15:03:21 +01:00
e887aceaaf Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 14:32:50 +01:00
a15d009f76 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 14:32:50 +01:00
a62f37d930 aggiornamento menu 2025-12-09 14:32:39 +01:00
55f23b2dfc aggiunti campi in importazione articoli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 13:28:33 +01:00
a4a2b34379 Merge branch 'release/Release-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 12:44:05 +01:00
1ef49b87e8 Merge tag 'Release-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
Finish Release-anomalie
2025-12-09 12:44:05 +01:00
f2d67ea89d anomalie merce
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-09 12:43:27 +01:00
fda162d867 esportazione document md
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 18:27:06 +01:00
2008ef0e8f Divisa setup TIPO_MOVIMENTO_FISCALE in TIPO_MOVIMENTO_FISCALE_CAR e TIPO_MOVIMENTO_FISCALE_SCAR
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 18:14:35 +01:00
6d8e0e747f Varie per carelli giacenza, attività integry gramm usa
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 15:19:07 +01:00
5417e28630 Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-05 13:23:42 +01:00
4ac4686645 [ROSSOGARGANO - AnomalieMerce]
- nuova gestione anomalie merce
2025-12-05 13:23:31 +01:00
1594154639 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 11:38:02 +01:00
3a4a954b91 [CRM] fix completeOrder
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-12-05 11:37:53 +01:00
744f92c881 [CARELLI] Aggiunto markDocumentReceived
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 10:58:45 +01:00
6e5f099fc2 aggiunta tabelle equivalenti 2025-12-05 10:51:39 +01:00
697cd58e39 aggiunta tabelle equivalenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 10:09:38 +01:00
4bf1f6021f aggiunta tabelle equivalenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 09:41:52 +01:00
118d2d83d5 Fix su query di calcolo fabbisogno linee prod per WMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 17:54:08 +01:00
149bdc36b3 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 13:02:34 +01:00
89c69bc0d2 cambiata la chiave sulla tabella azienda 2025-12-04 13:02:19 +01:00
240f18d19d Fix qta_prod per storico mes
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 13:01:16 +01:00
9a8a144705 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-04 12:13:52 +01:00
2f412f1ad6 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 12:13:52 +01:00
8e8b03889a Creato servizio di create udc with rows 2025-12-04 12:13:47 +01:00
dd4ace59bd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 11:25:26 +01:00
52c0e0ca61 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 11:25:25 +01:00
e2f2b9bde9 Migliorato check di correttezza barcode_ul per i le UDC anonime 2025-12-04 11:25:21 +01:00
4ea9be84db Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 11:23:04 +01:00
11e4b1cf20 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-12-04 11:23:04 +01:00
a66cfa16d8 Aggiunto check di correttezza barcode_ul per i le UDC anonime 2025-12-04 11:22:59 +01:00
9f628973e9 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 09:25:43 +01:00
9fa7f9628c Finish FixCreateContact
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 09:25:43 +01:00
1a5156d53c Fix creazione attività in createContact crm 2025-12-04 09:25:34 +01:00
ba667fd28e inseriti campi cod_linea, cod_slinea, cod_sslinea nella entity mtb_aart
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-04 08:44:44 +01:00
cddc7f8979 - fix retrieve depositi utente in login
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 16:56:50 +01:00
60c436256e Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-03 15:48:54 +01:00
46449c47b9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 15:48:53 +01:00
f8b6d3ebe0 aggiunto gramm usa 2025-12-03 15:48:31 +01:00
b3d29219ee Modifica per corretta generazione scadenza di fine mese (febbraio)
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 12:14:41 +01:00
2c81a6566b Finish FixNotifyUser
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 12:02:26 +01:00
f697a122b6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 12:02:26 +01:00
3f4ed16f20 Fix allegato in b64 nella mail 2025-12-03 12:02:13 +01:00
cbbfbb16b8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 11:38:46 +01:00
585a04ffba Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 11:38:45 +01:00
b025be1bd9 Cambiato response entity in downloadStbEmailContent e downloadJtbDisegniFiles 2025-12-03 11:38:36 +01:00
5453826156 Cambiato response entity allegati fatturazione 2025-12-03 11:36:21 +01:00
8312d48970 Cambiata risposta downloadStbActivityFileAttachment 2025-12-03 11:12:47 +01:00
b50c348528 Cambiato response entity allegati fatturazione 2025-12-03 11:10:42 +01:00
64aeff7bf6 disabilitata setup che chiede se stampare o meno la lettera di quietanza a rossogargano
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 09:56:14 +01:00
2a8cf16ce0 Fix localDate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 19:15:05 +01:00
3539e82849 Fix check localDate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 18:52:17 +01:00
f4faa20652 Aggiornata connessione FRUDIS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 17:33:54 +01:00
e7f5959e27 creata migratoio e servizio per svuotare il db.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 16:35:50 +01:00
1d897f1461 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 15:46:05 +01:00
f3e48b9a3e Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 15:46:04 +01:00
f0e41c6554 Fix righe collo con Delete in distribuzioneCollo 2025-12-02 15:45:40 +01:00
3d76dec03a Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 15:08:49 +01:00
754b58fd37 creata setup che se abilitata chiede se stampare o meno la lettera di quietanza 2025-12-02 15:08:35 +01:00
0627fd59c9 aggiunte tabelle sincronizzaione articoli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 14:52:47 +01:00
31480b8fbe Utilizzati nuovi servizi WMS per scaricoMateriaPrimaDaPosizione/scaricoMateriaPrimaDaOrdine
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 10:43:16 +01:00
c1efdf48a6 Modifiche migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 10:08:30 +01:00
e1de9f4db9 Attivazione nuova gestione produzione dulciar
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 09:54:02 +01:00
ce2ec669ba Attivazione nuova gestione produzione dulciar 2025-12-02 09:53:57 +01:00
c9658954aa Finish ModifSetup
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 19:10:14 +01:00
5011aa271d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 19:10:14 +01:00
af4a5511a3 Creata setup per deposito ricambi macchinari prod 2025-12-01 19:10:05 +01:00
fa996c210c Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 19:03:04 +01:00
c5b5fb62a1 Abilitazione nuova versione generazione ordini di produzione 2025-12-01 19:02:57 +01:00
3b007c061e Finish FixDownload
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:53:14 +01:00
8ee9e2fe57 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:53:14 +01:00
4ddcc6228e Fix errore in download file se mimetype null 2025-12-01 18:53:00 +01:00
7cf9df3549 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:31:26 +01:00
8e8d6cf2c3 Finish ModifSetup
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:13:14 +01:00
2a5314fd1e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 18:13:14 +01:00
9363e674b5 Creata setup per deposito ricambi macchinari prod 2025-12-01 18:13:04 +01:00
e7252f7fea Merge remote-tracking branch 'origin/develop' into develop 2025-12-01 17:55:09 +01:00
b5e1d2e1ce Abilitazione log picking
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 16:50:12 +01:00
53ef2539f5 aggiunto suffisso anche per griglie 2025-12-01 16:16:22 +01:00
6136d9b848 Migliorato errore di dbName, profileDb e CustomerDb non valido
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 16:07:28 +01:00
fe2be9b926 aggiunte nuove entity in sincronizzazioni
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-12-01 15:10:30 +01:00
1b113999b2 Rimosso log
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 13:11:11 +01:00
4ebcae77ca Migliorie
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-12-01 13:09:58 +01:00
8d35f9284a Refactoring UserCacheService, adesso sfrutta EntityCache più che il caching integrato.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 13:05:59 +01:00
b953349afc Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 11:44:34 +01:00
6c2eaaa37a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 11:44:34 +01:00
9b8824e681 Modifica gestione conto in CTB_AnaG PER IMPORTAZIONE nuovo cliente da WEB 2025-12-01 11:44:20 +01:00
fb03aa1ea7 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 11:43:30 +01:00
c16e23d3bf Modifica migration per DMS 2025-12-01 11:43:21 +01:00
27055f8e5e Cambiata configurazione ram su Dockerfile
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 11:02:55 +01:00
b8ac769ffd Aggiunto flag_attivo nel trigger changeTipoRiep
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-12-01 10:57:27 +01:00
0216bc5d53 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 10:57:09 +01:00
db3973637d Aggiunto flag_attivo nel trigger changeTipoRiep 2025-12-01 10:57:03 +01:00
7dab29e8c2 Aggiornato ems_settings.json
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
# Conflicts:
#	docker/tomcat/conf/integry/ems_settings.json
2025-12-01 10:23:34 +01:00
809ffe73b9 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 10:02:06 +01:00
4d13d17095 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 10:02:05 +01:00
f749356735 letti data inizio e fine dalla vtb_list_Data 2025-12-01 10:01:59 +01:00
b2d24ab6b4 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 09:48:04 +01:00
6bb7b55618 inserito campo flag_attivo nella ctb_cont 2025-12-01 09:47:54 +01:00
920257812c Merge branch 'develop' into feature/Feature-SteUp 2025-12-01 09:20:46 +01:00
00efbe6fcf Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 08:55:11 +01:00
cacb24a563 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 08:55:11 +01:00
5da098e058 correzione per evitare che i campi stringa vuoti "" vengano salvati come tali 2025-12-01 08:55:04 +01:00
3e0c443ce3 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-01 08:48:08 +01:00
b4442bc251 correzione per evitare che i campi stringa vuoti "" vengano salvati come tali 2025-11-28 19:20:32 +01:00
eec353c6a5 Creato servizio per creazione manutenzioni macchinari
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-28 19:19:18 +01:00
8b50f54881 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-28 16:01:18 +01:00
42f50e0d80 disabilitate voci menu nuove gestioni colori, linee, sottolinee e sottosottolinee 2025-11-28 16:01:07 +01:00
cbeae87d23 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-28 12:56:27 +01:00
71cb1db5ef Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-28 12:56:26 +01:00
bb642d92db controllo su null or empty 2025-11-28 12:55:53 +01:00
ddd3b95d17 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-28 12:32:22 +01:00
ff5428f8bd Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-28 12:32:22 +01:00
d3b39ad878 controllo su null or empty 2025-11-28 12:32:15 +01:00
99a366d875 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 17:34:15 +01:00
abc4f1c966 modificata classe MdRigheDTO 2025-11-27 17:34:06 +01:00
fc1c2f192e Migliorata gestione DBMS Change Tracking in caso di disallineamento min valid version
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 17:22:15 +01:00
ac4afa9a2b create nuove voci menu per linee sottolinee e sottosottolinee
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 17:02:33 +01:00
c5a315e070 modifiche alle tabelle delle linee articoli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 15:15:49 +01:00
1d0fd3341d Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 14:06:24 +01:00
b44685335a creata setup per salvare path di esportazione xml 2025-11-27 14:06:11 +01:00
e5689da13d Cambiato ems_settings.json
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 11:44:24 +01:00
f57710cb32 Cambiato ems_settings.json
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 11:31:20 +01:00
ceb5dc817c Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
# Conflicts:
#	docker/tomcat/conf/integry/ems_settings.json
2025-11-27 11:06:40 +01:00
3a934813d8 Cambiato ems_settings.json 2025-11-27 11:06:27 +01:00
d56fe38e2c Cambiato ems_settings.json
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-11-27 11:06:18 +01:00
5555a40731 Modifica funzione f_pp_consuntivo_prod_tracc
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 10:55:22 +01:00
acf5daf673 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 10:28:18 +01:00
939c4ab236 modificata entity MtbAartMarchio 2025-11-27 10:28:04 +01:00
49237b9585 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 10:21:32 +01:00
abbf298b4f Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 10:21:31 +01:00
34985c9fd3 Sistemato flag recuperaUl in Spedizione WMS 2025-11-27 10:21:27 +01:00
401f0330de Migliorie su ass_serie_ord_a_collo in distribuzione colli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-27 10:00:38 +01:00
7815fb72f1 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 16:50:32 +01:00
0e8cc5b2de Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 16:50:31 +01:00
9a18dd6ebd esclusa merce in arrivo 2025-11-26 16:50:06 +01:00
3f0b9315a2 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 16:22:34 +01:00
32a15a4f3e Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 16:22:34 +01:00
932f99c147 - rimossa modifiche del codJfas in testata ordini durante la ripianificazione 2025-11-26 16:22:18 +01:00
1fc7d01b9c Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 16:19:25 +01:00
46e47a9549 - fix gestione token in richieste cross profile 2025-11-26 16:19:17 +01:00
ba1bbbafe0 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 16:00:19 +01:00
fa54de3d76 inseriti metodi override nelle entity MtbAartMarchio, MtbMarchioLinea, MtbMarchioSlinea, MtbMarchioSslinea 2025-11-26 16:00:03 +01:00
1550de37e6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 13:30:36 +01:00
450f9f4dd4 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 13:30:35 +01:00
f1da5057d6 Fix su deposito reale dell'utente: è stato aggiunto tra gli header il codMdep che indica il deposito REALE su cui si trova l'utente. Utile per capire quali stampanti usare nel WMS o per sapere su che deposito sta effettuando le chiamate l'utente. 2025-11-26 13:30:30 +01:00
a3d15aeb32 modificata classe mdrighe:aggiunto prezzo netto
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 12:18:54 +01:00
c933c02727 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 11:51:44 +01:00
28b94b228a create classi mdtestate e mdrighe e aggiunto configuratore formati di esportazione md attivo su sardinya 2025-11-26 11:51:34 +01:00
c291db3e34 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 11:47:18 +01:00
3f9a451a70 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 11:47:18 +01:00
9f39c5bc2d fix [GRAMM]
- corretta gestione idRiga ed idStep in ripianificazione ordini di lavoro
2025-11-26 11:47:05 +01:00
6a455db664 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 10:18:47 +01:00
c33c1da199 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-26 10:18:47 +01:00
d0769ea1bd [GRAMM]
- corretta gestione idRiga ed idStep in ripianificazione ordini di lavoro
2025-11-26 10:18:35 +01:00
f3f768380a Merge remote-tracking branch 'origin/develop' into develop 2025-11-26 10:18:01 +01:00
cb2cf06200 [GRAMM]
- corretta gestione idRiga ed idStep in ripianificazione ordini di lavoro
2025-11-26 10:17:35 +01:00
a81fc6813c Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-26 09:44:06 +01:00
5c03b928b6 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-26 09:44:04 +01:00
16b478a511 [ConSegna] Aggiunto importoRiga 2025-11-26 09:43:53 +01:00
c2ef09a604 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 11:56:27 +01:00
f2de64de75 disabilitata setup per visualizzare maschera di riepilogo del saldo del cliente 2025-11-25 11:56:15 +01:00
b877347a77 impostato cod_jcom = note
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-11-25 11:46:34 +01:00
2d43952d96 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 11:43:42 +01:00
ee171374c8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 11:43:42 +01:00
f0d1cdc81a gestita commessa nelle note 2025-11-25 11:43:37 +01:00
1758dcabbb Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-25 11:41:03 +01:00
8231716e97 Finish Hotfix-100
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-25 11:41:02 +01:00
2603cda317 gestita commessa nelle note 2025-11-25 11:40:58 +01:00
77c79c6247 Merge branch 'develop' into feature/Feature-SteUp 2025-11-25 10:58:20 +01:00
532a9cc3f4 MRP_UpdateQtaImpProx considerata 0 la giacenza se negativa
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 10:57:41 +01:00
c26f7feb35 Merge branch 'develop' into feature/Feature-SteUp 2025-11-25 10:10:30 +01:00
15a63cff14 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 10:06:08 +01:00
b53d76358b f_pp_consuntivo_prod_tracc 2025-11-25 10:05:56 +01:00
f9ded1153a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 10:04:57 +01:00
81ddb42e5c Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-25 10:04:56 +01:00
5ac4d4be63 Rimosso momentaneamente controllo parentActivityId null 2025-11-25 10:04:47 +01:00
0b432960ec Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 09:53:57 +01:00
159436247d Finish FixGetMaterialiDistinta
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-25 09:53:57 +01:00
2a2435f64d Corretta funzione getMaterialiDistinta 2025-11-25 09:53:51 +01:00
fba5e331b5 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-25 09:36:20 +01:00
21cc88f295 varie per steup 2025-11-25 09:36:00 +01:00
de21ce7cb8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 17:17:08 +01:00
33f24290a9 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-24 17:17:07 +01:00
dc83e89392 Fix su retrieve mtbAarts wms 2025-11-24 17:16:56 +01:00
d525048bb3 Fix su retrieve mtbAarts wms
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-11-24 17:16:40 +01:00
f5d46be57d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 17:10:27 +01:00
ca4c3c3412 Finish FixProcGeneraOrdLav
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-24 17:10:26 +01:00
e5c16c6e4e Corretta funzione getMaterialiDistinta ed arrotondamento riproporzione qta ord 2025-11-24 17:09:03 +01:00
42bef35d5f Merge branch 'hotfix/Hotfix-1' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-24 17:04:02 +01:00
44e3de6a0f Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 17:04:01 +01:00
9942f92440 Merge branch 'master' into hotfix/Hotfix-1 2025-11-24 17:03:46 +01:00
e34bb01aea - fix ripianificazione ordini di lavoro 2025-11-24 17:03:27 +01:00
6f11e08807 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 16:40:47 +01:00
aa9529f551 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-24 16:40:46 +01:00
bcb8f4475d Fix regola checkDeleteMtbColrWithoutDoc 2025-11-24 16:40:31 +01:00
8a83213384 Migliorata gestione riconnessione DbmsChangeTracker
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 16:05:30 +01:00
2433c98ab1 Migliorate performance Exchange Clienti
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-24 15:53:25 +01:00
595fe77472 modifiche a getgrigliaacqiusto 2025-11-24 13:58:22 +01:00
29f9335876 modifiche a procedura di importazione listini di apulia, gestita perc premi, modificata regola che assegna tipo variazione sulle griglie, aggiunta generazione pk nelle migration
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 12:09:22 +01:00
e975964f53 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 12:01:01 +01:00
9d82cbc610 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 12:01:00 +01:00
0a12dc23f2 Fix check quantità nelle regole di MtbColr 2025-11-24 12:00:42 +01:00
1719f2ba37 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-24 11:54:01 +01:00
ddd9c73f49 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-24 11:54:01 +01:00
1b0f5d5d29 Fix check quantità nelle regole di MtbColr 2025-11-24 11:53:51 +01:00
6991e60ec5 Fix inizializzazione mappa char replacements
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 10:50:04 +01:00
8a87d428ae modifiche per evitare l'errore nella generazione del file xml
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-24 09:55:53 +01:00
0058373710 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-24 09:12:45 +01:00
d9f93b14e1 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-24 09:12:45 +01:00
dea6b14323 modifiche a procedura di salvataggio 2025-11-24 09:12:36 +01:00
d01b4aef8f aggiunta migratione e corretto servizio per selezione conto
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 18:52:03 +01:00
b2c3008464 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 18:05:48 +01:00
d02f44237e modificata funzione getSchedaCosti 2025-11-21 18:05:40 +01:00
675e919652 correzione importazione scontrini mmpos forno
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 16:22:35 +01:00
9d9d4e3d87 Aggiunta setup wms
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 15:48:11 +01:00
19e17f76d4 migration getMaggiorazioneSpese
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 15:03:23 +01:00
df18330a01 Merge remote-tracking branch 'origin/develop' into develop 2025-11-21 15:03:10 +01:00
da61cb5439 setup listini 2025-11-21 14:02:59 +01:00
975e4f2be4 aggiunti default 2025-11-21 13:18:21 +01:00
e31b0bc1a0 Eliminata viene fatta 2 volte 2025-11-21 13:18:06 +01:00
84ccdafd90 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 12:19:27 +01:00
97de2f0e71 create entity mtb_marchio_linea, mtb_marchio_slinea, mtb_marchio_sslinea e inserite come entitychild nella mtb_marchio_linea 2025-11-21 12:19:13 +01:00
1ee321b253 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 10:34:55 +01:00
7912d29f00 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 10:34:54 +01:00
ecd8bca2aa Fix su flagSetNumProt 2025-11-21 10:34:44 +01:00
1a64179099 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 10:12:02 +01:00
54588d20bd Finish FixRipianifica
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 10:12:01 +01:00
84f3823597 Fix lettura setup reimposta lotto in ripianificazione mes 2025-11-21 10:11:51 +01:00
0022e620da impostato flag tracciabilità
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-21 09:49:59 +01:00
62a1f5a85f create viste per contabilità
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-20 18:25:34 +01:00
cd389dc83f Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-20 18:02:55 +01:00
974b5f61af Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-20 18:02:54 +01:00
a10876effc Fix su changes detection 2025-11-20 18:02:46 +01:00
4385520480 creazione suggestcode capelli monelli
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-20 17:31:13 +01:00
a1b892a75e Migliorato exchange clienti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-20 17:28:43 +01:00
92dcc45638 varie contabilità
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-20 17:14:08 +01:00
a178ec5017 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-20 13:15:39 +01:00
1456e094a2 Aggiunti log per tracciare invio mail bolle generate e firmate 2025-11-20 13:15:22 +01:00
58b89777bb Aggiunta cache su MtbDepo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-20 11:53:20 +01:00
f4da09eacc utility funciton for cache
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-20 10:37:08 +01:00
6f47434d6f varie modifiche per movimenti contabili con servizi rest
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 19:22:31 +01:00
8fb8e4c05a Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 13:26:46 +01:00
d18ac96cc4 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 13:26:46 +01:00
9b26849cb6 [MES]
- modificato servizio di ripianificazione ordini di lavorazione: le date degli step non devono essere resettate
2025-11-19 13:26:32 +01:00
fcbee627b0 inserito campo e get e set cod_mssfa nella mtb_aart
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 12:21:33 +01:00
b17d807ca3 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 10:29:49 +01:00
5b017fdad1 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-19 10:29:49 +01:00
4957cba34b sistemata registrazione movimenti contabili 2025-11-19 10:29:43 +01:00
85e59e577f Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 10:15:35 +01:00
5c60cd2558 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 10:15:34 +01:00
5a824d0b3a Fix IntegryCustomerDB per 2M Holding (GRAMM) 2025-11-19 10:15:29 +01:00
f60c3337b1 inserito campo flag_bio nella dtb_note_doc
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-19 08:52:20 +01:00
4ee64127b1 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-18 17:43:57 +01:00
b587e38cc8 Merge branch 'hotfix/Hotfix-1' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-18 17:43:57 +01:00
be4c2d149e Merge branch 'master' into hotfix/Hotfix-1 2025-11-18 17:43:43 +01:00
ccb8b81597 [MES]
- modificata data cons prod in ripianificazione ordini lav
2025-11-18 17:39:58 +01:00
68a45a9eea Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-18 17:27:09 +01:00
d419c38220 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-18 17:27:09 +01:00
8fe752e595 Attivazione nuova gestione produzione 2025-11-18 17:26:52 +01:00
71ffc5b4cf Attivazione nuova gestione produzione 2025-11-18 17:26:44 +01:00
f00f0cf975 Add migration for trigger on ctb_cont to prevent updates with linked movements
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-18 16:49:34 +01:00
19e8949d86 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-18 16:25:49 +01:00
cc189f4761 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-18 16:25:48 +01:00
bd3bf9a8dc FIx customer DB AtiSrl 2025-11-18 16:25:41 +01:00
bee29e357e Aggiunto font cinese semplificato
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 17:35:50 +01:00
461b949581 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 15:37:01 +01:00
7fd4b6236c Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 15:37:00 +01:00
5075e17078 sistemato servizio per aggiornare ordini di slim 2025-11-17 15:36:19 +01:00
c6e2230052 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 15:26:13 +01:00
f9794850c4 Modifica migrations per DMS 2025-11-17 15:26:09 +01:00
ee18ecb15e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 13:02:21 +01:00
656f2018a2 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 13:02:20 +01:00
2b4cea4ada aggiunta murgia test 2025-11-17 13:02:12 +01:00
2aa6384f69 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 12:42:53 +01:00
72ebb39b22 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 12:42:52 +01:00
8e01509e99 aggiunto cod_mart 2025-11-17 12:41:43 +01:00
e4de8e4287 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 11:10:18 +01:00
18da8c2763 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 11:10:17 +01:00
a770e150a4 Aggiunta dataMod in JtbComt e tabelle clienti e prospect 2025-11-17 11:09:33 +01:00
96993755da aggiunta cancellazione riga collo con qta 0
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 10:43:10 +01:00
30db0f9182 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 10:14:41 +01:00
8064e87017 controllo su cancellazione ordini e aggiunta migration 2025-11-17 10:14:28 +01:00
ef399668c4 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-17 10:13:33 +01:00
72059e4623 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 10:13:32 +01:00
db5ee20a39 Fix su cache non funzionante su Integry Servers 2025-11-17 10:13:25 +01:00
ee4bf3d501 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 09:06:03 +01:00
7b40578ea4 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 09:06:03 +01:00
9685bff5ef per ora eliminata cache 2025-11-17 09:05:54 +01:00
3bff9a6fdc Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-17 08:52:08 +01:00
bfa48cbbb1 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-17 08:52:08 +01:00
4f2b251d20 aggiunto levanplastsrl 2025-11-17 08:52:00 +01:00
a1f1ffba95 modificata entity con deletechilds
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-11-14 15:30:38 +01:00
1ab59fa9a6 modificata entity mtbSsfam
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-14 14:27:34 +01:00
800407ebd7 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-14 14:06:13 +01:00
3dad6790fc inserita entity child mtbSsfam nella mtbsgrp e mtbgrup 2025-11-14 14:05:58 +01:00
d073a8fd17 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-14 13:34:07 +01:00
a9068c45cd Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-14 13:34:07 +01:00
ca78b09ad8 sistemata procedura di importazione colli da slim 2025-11-14 13:34:02 +01:00
3e17a7239a eliminato log
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-14 13:14:38 +01:00
d78597cba4 create get e set entity child mtbSsfam nella mtbSfam
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-14 13:11:00 +01:00
91f28a8c82 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-14 12:19:57 +01:00
03a7877899 [CMMS ]
- rimosso codice deposito da anagrafica macchinari
2025-11-14 12:17:55 +01:00
46e8a19c53 creata entity mtbSsfam come entity child mtbSfam
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-14 12:14:20 +01:00
81a42fc1d9 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 19:06:16 +01:00
fdbcc0c539 Gestita data consegna produzione = null 2025-11-13 19:06:12 +01:00
7d51ddb868 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 18:48:43 +01:00
9f25bd2bf6 Finish FixNoteCreaColloLav
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 18:48:16 +01:00
a9ce0d82b6 Corretta impostazione note createULLavorazione
(cherry picked from commit 83d2f329ce)
2025-11-13 18:47:54 +01:00
83d2f329ce Corretta impostazione note createULLavorazione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 18:33:59 +01:00
7e06512598 modificato localdate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 18:22:49 +01:00
b5776e82c9 modifiche a controllo resi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 18:14:22 +01:00
05dd42b0bf Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-13 18:02:35 +01:00
636774ed86 modifiche a inventari, listini e contabilità 2025-11-13 18:02:30 +01:00
6649af6e92 Creata inspection per chiamata SimpleDateFormat con LocalDate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 17:37:28 +01:00
acfff8e8d6 Modifiche per carelli in chiusure promo e invio variazioni e moficati date in localdate nei listini di vendita
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 16:38:09 +01:00
44c1bd7cee Creata voce di menu ordini di vendita slim2k
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 15:35:13 +01:00
c712e729cc [GRAMM]
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
- gestione controlli di qualità nuovi
2025-11-13 15:25:46 +01:00
b684129f39 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 12:50:58 +01:00
1b339289c1 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 12:50:57 +01:00
b246991600 odio 2025-11-13 12:50:45 +01:00
dc578d1f17 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 12:40:00 +01:00
6c6f6d4d7e Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 12:40:00 +01:00
50dcb999f1 [TOSCA]
- aggiunto servizio per recuperare ul non pubblicate per la sincronizzazione
2025-11-13 12:39:47 +01:00
c656cc95de Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 11:50:48 +01:00
0b0b5bbf33 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 11:50:47 +01:00
c2310327d2 rimosso parametro inutile 2025-11-13 11:50:35 +01:00
9962471f71 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 11:48:15 +01:00
8ad86f71d3 Merge branch 'hotfix/Hotfix-1'
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-11-13 11:48:15 +01:00
3a42baab00 - corretta gestione profilo alla login
- corretta gestione preparedStatement in pubblicazioni sincronizzazioni
- aggiunto servizio di ripubblicazione impegnato tosca
2025-11-13 11:48:02 +01:00
a1bfd0150c Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 11:17:29 +01:00
2e420fc540 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 11:17:28 +01:00
f591246ae3 sistemati nuovo controlli su partita di magazzino 2025-11-13 11:17:04 +01:00
d4c02cf504 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 09:50:48 +01:00
e15878a9eb Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 09:50:47 +01:00
39f43b3361 varie correzioni per carelli 2025-11-13 09:50:26 +01:00
18a6756860 Rimosso update application name per device id
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-13 09:42:09 +01:00
3640b08041 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-12 19:07:54 +01:00
928d47f772 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-12 19:07:53 +01:00
28478cb11d Ripristinato check di validation della connessione nel datasource 2025-11-12 19:07:47 +01:00
0c48df7895 Modifica migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-12 18:42:29 +01:00
327f5af3dd Aggiunta unità di misura di magazzino e rapporto di conversione 1 in registazione inventario
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-12 16:36:00 +01:00
62234f2edf aggiunto n uovo campo su testata dei listini
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 17:32:08 +01:00
2fcba55965 aggiunto n uovo campo su testata dei listini
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 17:30:49 +01:00
d29768776a Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 16:43:07 +01:00
3dcf6d3ee0 Configurazione nuovo cliente EDI HALLES - GRAMM 2025-11-11 16:43:03 +01:00
7c2aa55eb8 Gestione chiusura commessa MAGGIO 2025-11-11 16:42:42 +01:00
e92d64a05e Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 15:14:54 +01:00
0fa021be3e Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 15:14:53 +01:00
086bd574d5 Aggiunta pezza in login per disallineamento profileDb != dbName 2025-11-11 15:13:47 +01:00
b46f26790d Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 12:24:35 +01:00
c364d57e86 [CONSEGNA] Cambiati i tipi indirizzo per le personeRif che devo riceve la bolla firmata e non 2025-11-11 12:24:22 +01:00
6d89e4d09b Rimosso select * in pvm_getassortimentoCliente
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 12:06:49 +01:00
3391051bb8 Finish FixSetupGestWebUser
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 11:35:58 +01:00
acba051357 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 11:35:58 +01:00
785ae254ee Creazione stb_gest_setup presenti solo in wtb_gest_setup_user 2025-11-11 11:35:37 +01:00
21a189ea66 aggiunto controllo su [NULL]
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 10:44:20 +01:00
3a4a11d9e8 Migliorata gestione datasources in BasicConnectionPool
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-11 10:26:39 +01:00
6d5d021884 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 18:35:27 +01:00
185d403d7a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 18:35:27 +01:00
349d983b7f Impostata truncate a 40 su ragione sociale in import Made In Masseria 2025-11-10 18:35:14 +01:00
85ed6b54f9 aggiunto n uovo campo su testata dei listini
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 18:10:15 +01:00
9b6b0c87aa sistemato metodo per errore avevo cambiato il requestparam
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 17:16:34 +01:00
fd68a9b73a modifiche a contabilità per variazione movimento con creazione scadenza e pagamento nello stesso movimento
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 17:07:19 +01:00
433ab4b0ec Inserita voce menù per lanciare procedura di cancellazione movimenti contabili
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 16:29:30 +01:00
df9fbc7f65 Implementato check connection in DbmsChangeTracker
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 15:42:40 +01:00
a8253614b4 aggiunto +
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 13:07:21 +01:00
9977cae821 gestito pagamento contestuale alla registrazione della fattura
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-10 12:46:48 +01:00
344010ed90 Aggiunta cache di StbEditLimit
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-10 12:23:51 +01:00
1c51fb717a Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-10 12:02:05 +01:00
81827a8368 Modifica migrations per DMS 2025-11-10 12:02:00 +01:00
21222a25e9 Gestita esclusione ordini annullati da Distribuzione materiali SMETAR 2025-11-10 12:01:48 +01:00
838f32e04c Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 11:19:51 +01:00
d24a033e01 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 11:19:51 +01:00
bdaf4a5ac6 aggiunta setup per selezionare il tipo calcolo prezzo base 2025-11-10 11:19:41 +01:00
5e76d8db2a Ingrandito campo note_incoterms a 40 in vtb_viaggi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 11:00:13 +01:00
bae92e626b aggiunta setup per mrp
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 10:44:09 +01:00
0d471db37d Aggiunta migration per rimuovere barcode duplicati nella tabella mtb_aart_bar_code sul database Winact (Carelli) 2025-11-10 10:41:14 +01:00
c4c6875e16 Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-10 09:45:26 +01:00
3515e5c976 aggiunta possibilità di filtrare per numero ordine
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-10 09:28:41 +01:00
84a6f4c4f1 Aggiunta cache in servizi di completamento unt_mis e qta_cnf 2025-11-07 18:21:09 +01:00
ee9ec1a8a7 Sistemata EntityCacheComponent in debug 2025-11-07 18:20:29 +01:00
1884a9184e Check customerDb su EntityCacheComponent 2025-11-07 18:20:26 +01:00
caa62588b6 Fix su equals in getSetupList. 2025-11-07 18:20:23 +01:00
8bb9803f5b [BIOLEVANTE ]
- fix
2025-11-07 18:20:19 +01:00
ea27c26597 Fix su regole committate per errore.
Migliorato controllo alterObject in BaseMigration.
2025-11-07 18:20:14 +01:00
80aaa94036 Fix su Change Tracking 2025-11-07 18:20:03 +01:00
a82c0de415 Implementato primo sistema di Change Tracking per SQL Server 2025-11-07 18:18:40 +01:00
762ae4827f cancellazione beni e ritenute agganciate al movimento contabile
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-07 15:26:33 +01:00
68b12b0cba Aggiunta partitaMag in SitArtOrdDTO
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-07 13:29:12 +01:00
f61577ee64 Aggiunto nuovo servizio per modificare ed esportare li ordini di vendita
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 16:47:47 +01:00
87e4d8704c Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 15:30:51 +01:00
a5f22e68d2 Finish FixCQExplodeDist
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 15:30:51 +01:00
cf261ab427 Fix null pointer se articolo senza cq 2025-11-06 15:30:42 +01:00
5bd3b02ff0 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 15:09:22 +01:00
10f62b669c Aggiunta gestione elenco Colori 2025-11-06 15:09:09 +01:00
565aec0739 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 14:58:22 +01:00
7112cf15da Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 14:58:21 +01:00
03a061ae1f Fix timeDiff di UtilityLocalDate 2025-11-06 14:57:47 +01:00
1e21e37e3c Aggiunto flag primario in pvm_getassortimentoClientePedane
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 12:03:03 +01:00
9da3fe3daa Impostato default flag primario ad 1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 11:11:22 +01:00
b127ca2222 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 10:54:16 +01:00
be688efd2c Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 10:54:15 +01:00
94b1318a56 sistemta modifca assenza e corretto errore di smetar 2025-11-06 10:54:09 +01:00
2e9e120cdb Rinominata classe AvailableConnectionModel
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 10:36:03 +01:00
1000b1abbe Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-05 13:29:03 +01:00
0f2246f033 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-05 13:29:02 +01:00
9dfee9d605 sistemato errore 2025-11-05 13:28:57 +01:00
3ecd9e365e Finish Feature-CAPELLIMONELLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-05 12:20:05 +01:00
78a13ae89b Merge branch 'develop' into feature/Feature-CAPELLIMONELLI 2025-11-05 12:19:56 +01:00
6f8ddf6aa5 sistemata migration
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-05 12:19:20 +01:00
03f9de19b3 Aggiunto cod_banc, cod_banc_azi e flag_banca_ven in contratti di vendita e delivery plan
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-05 12:16:38 +01:00
a74e9aeb92 Merge branch 'develop' into feature/Feature-CAPELLIMONELLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-05 11:56:23 +01:00
709422856b Aggiunto cod_banc, cod_banc_azi e flag_banca_ven in contratti di vendita e delivery plan
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-05 11:02:19 +01:00
034a3cb2b5 Modifica messaggio errore trasf orini da SALPAR a VG
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 18:35:50 +01:00
a9caf10897 sistemata ripianificazione dell'ordine di lavorazione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 17:15:29 +01:00
659908ecf7 Sistemato log
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 16:05:12 +01:00
7ebecd94cd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 13:34:13 +01:00
5bcb9000a9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 13:34:11 +01:00
fe622dd742 sistemate query 2025-11-04 13:34:02 +01:00
ab5d7e74a2 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-04 12:41:44 +01:00
68e6dd246f Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 12:41:43 +01:00
8fe2b50d5c sistemate regola 2025-11-04 12:41:38 +01:00
ebc8401989 Merge branch 'develop' into feature/Feature-CAPELLIMONELLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 12:34:43 +01:00
67765fc7d2 aggiunto controllo su data null nel fromato DAte
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 12:31:05 +01:00
a303459b7d cambiato messaggio
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 12:13:03 +01:00
2b68967ce0 Sistemata entity utenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 11:15:19 +01:00
b0194e569a Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 10:53:02 +01:00
164516166f Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-04 10:53:02 +01:00
3339cf1c9d cambioto salvataggio idx 2025-11-04 10:52:57 +01:00
d635079e50 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 10:16:56 +01:00
069ee22499 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-04 10:16:56 +01:00
e7082aef49 inserito rawcontent nella chiamata al servizio di import 2025-11-04 10:13:20 +01:00
ebf3a750a2 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-03 18:25:53 +01:00
a25dc83d30 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 18:25:52 +01:00
7d0bc83b67 sistemato erroer null 2025-11-03 18:24:18 +01:00
38a5b2510a sistemate migration
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 18:01:30 +01:00
fe2d868ca6 Merge branch 'develop' into feature/Feature-CAPELLIMONELLI 2025-11-03 17:52:27 +01:00
aca7cc07e6 Generazione del movimento di reverse
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 17:41:42 +01:00
a1618ad2ad Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 17:32:32 +01:00
67756553f3 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 17:32:31 +01:00
473c2e05b5 sistemata sulle regole il controllo sulle date nulle 2025-11-03 17:32:17 +01:00
84560a94ea Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 15:14:44 +01:00
9a35af5b20 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 15:14:44 +01:00
ba899f3309 aggiunto log 2025-11-03 15:08:36 +01:00
8b9454a684 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 13:25:47 +01:00
612bc1e3de Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 13:25:47 +01:00
6f198e7d5a correzione fatture elettroniche 2025-11-03 13:25:40 +01:00
0c6f7f769b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 12:54:39 +01:00
19e709fc3d Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 12:54:39 +01:00
fd4636e6a6 sistemata conversione data 2025-11-03 12:54:33 +01:00
62458a0640 modifiche a modellini commerciali
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 12:52:18 +01:00
43efca4045 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 12:11:03 +01:00
5106ff9f12 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-11-03 12:11:03 +01:00
3516a8c8de aggiunto log 2025-11-03 12:10:56 +01:00
62857a9bb0 Merge branch 'develop' into feature/Feature-CAPELLIMONELLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-03 09:05:35 +01:00
jenkins
e1b85b8879 Merge branch 'develop'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-02 07:41:47 +01:00
3f4a8b38eb Aggiunto controllo per aggiornamento data scadenza
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 17:37:36 +01:00
99047236fc Merge remote-tracking branch 'origin/develop' into develop 2025-10-31 17:37:27 +01:00
0f3c828c1f Aggiunto controllo per aggiornamento data scadenza 2025-10-31 17:37:20 +01:00
6d950cee38 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 14:08:58 +01:00
2b426103cd modificata vista gramm OlapFermiMacchina 2025-10-31 14:08:45 +01:00
876daa7df4 Implementato log via email degli errori durante le method call pianificate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 13:22:23 +01:00
cca26eb472 creato report personalizzato Conto economico di commessa sintetico per smetar
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 12:55:23 +01:00
a1c7f63976 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 12:19:28 +01:00
e83e7f03c8 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 12:19:28 +01:00
e4b08b9a61 [ROSSOGARGANO]
- aggiunto controllo su funzione suggerimento ean13 per considerare solo gli altri ean13 nel calcolo del massimo disponibile
2025-10-31 12:18:56 +01:00
b4f8fa49da [ROSSOGARGANO]
- aggiunto controllo su funzione suggerimento ean13 per considerare solo gli altri ean13 nel calcolo del massimo disponibile
2025-10-31 12:18:40 +01:00
5842cf0048 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 11:51:03 +01:00
d75dd5ead7 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-31 11:51:03 +01:00
b6eed691d0 [MES]
- aggiunto parametro preparatoDa in Dto creazione UDC per permettere di definire l'utente responsabile della UDC creata (Levanplast)
2025-10-31 11:50:51 +01:00
49626f4371 modificato nome campo dtb_tipi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 10:08:18 +01:00
6e1d889eb8 su db Rossogargano abilitato report Fatturato per Macrozona/Zona solo a chi ha attivo report Fatturato Agenti/Zone 2025-10-31 10:07:58 +01:00
0cf5dbd24b inserito campo flag_delete_plk nella dtb_tipi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 09:37:38 +01:00
19d4c6b929 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 17:46:03 +01:00
a040670c5b inserita nuovo voce menù report fatturato per macrozona/zona 2025-10-30 17:45:32 +01:00
b9fd701098 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-30 17:41:07 +01:00
d39134c47e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 17:41:07 +01:00
fa0b2e338b sistemata registrazione movimeto di reverse 2025-10-30 17:41:00 +01:00
0efc991231 modificata la vista wtb_user con stb_user
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-30 17:13:08 +01:00
965e9ee3b4 sistemato utente
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-10-30 17:12:37 +01:00
59aabd6a43 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 17:11:59 +01:00
40f5649a5f Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-30 17:11:57 +01:00
45d067673c sistemato close task 2025-10-30 17:11:51 +01:00
9634306d01 aggiunto metodo con localdate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 16:55:07 +01:00
d8e24764dc Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 16:11:16 +01:00
5cd2151f6c Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-30 16:11:14 +01:00
449aa664ab sistemato doc finante rif import 2025-10-30 16:10:39 +01:00
91f7269af4 Gestito il tipo valore dropdownlist in controlli qualità
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 16:06:04 +01:00
29a8f6efc6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 15:43:42 +01:00
be3b57b1c5 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-30 15:43:41 +01:00
cd5cfa88bc sistemata notifica 2025-10-30 15:43:34 +01:00
d28e3578e4 aggiunto controllo in steup
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 15:24:17 +01:00
af6b053215 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-30 13:22:37 +01:00
cd3468fd50 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-30 13:22:37 +01:00
ac5361b9a8 sistemato generazione del movimento di reverse 2025-10-30 13:22:31 +01:00
e7b3d65628 eliminato log
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 12:36:37 +01:00
164f105878 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 12:26:21 +01:00
605ec9a910 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-30 12:26:20 +01:00
8d83789356 sistemato serivizio di recuper e sistemati dati 2025-10-30 12:26:15 +01:00
623d9d316a sostituito date con localdate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 12:19:50 +01:00
bba6ae5d9b Refactor Depositi and MovimentiContabili services and controllers; add migration for foreign key constraints
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-30 12:05:01 +01:00
db32ba0e15 modificate classi inserendo localDate 2025-10-30 11:59:32 +01:00
02e2e73259 modificate classi inserendo localDate
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-30 11:50:45 +01:00
1bc1caa528 sistemato serivizio di recuper e sistemati dati 2025-10-30 11:50:20 +01:00
3637ba0048 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-29 17:11:19 +01:00
7409d15cce Modifica funzione acquisizione matricole MAGGIO 2025-10-29 17:11:14 +01:00
563902d29e aggiunti campi: vettore,Targa, num_prenotazione, container,sigillo,nave e id_viaggio nella vista vw_tracciabUDCVend
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-29 15:39:10 +01:00
c2994b8767 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-29 15:31:25 +01:00
7a9b1fba4d creata setup sulla mtb_aart che se abilitata blocca se codice a barre già assegnato ad altra referenza su tutti i db di carelli 2025-10-29 15:31:12 +01:00
88743f65c6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-29 13:34:07 +01:00
61cf7b8601 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-29 13:34:05 +01:00
2663f039a0 elimintao filtro sbagliato su movimenti 2025-10-29 12:58:46 +01:00
0bac28fc98 Aggiunta setup in PICKING > PRODUZIONE per il versamento automatico
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 16:23:50 +01:00
9f696ec2cd Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-28 16:03:24 +01:00
8983748314 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 16:03:24 +01:00
bcb39b8829 eliminti flatrans rs 2025-10-28 16:03:18 +01:00
3abf35028f Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 14:51:32 +01:00
58c7d31fea Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-28 14:51:31 +01:00
68db2d9591 causale reso sistemata 2025-10-28 14:51:26 +01:00
d6d342ba42 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 12:56:15 +01:00
9b7ba6e6f4 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-28 12:56:14 +01:00
fc3fcaf80c cambiata logica di attribuzione data reg su articoli con solo scarichi 2025-10-28 12:56:06 +01:00
8a2029f396 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 11:56:26 +01:00
3b4d29d1c4 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-28 11:56:26 +01:00
952e1b22f2 sistemata recupero scontrini 2025-10-28 11:56:16 +01:00
3151755a1f Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-28 11:28:32 +01:00
2659bbdc83 Finish Hotfix-100
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-28 11:28:31 +01:00
d60ffea913 sistemata recupero scontrini 2025-10-28 11:28:02 +01:00
0144d6d7ef gestiti valori null 2025-10-28 11:24:49 +01:00
755132a1b9 Aggiunto controllo su posizione mono ul in fase di trasferimento del collo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 10:52:53 +01:00
0b1292ec55 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 10:38:22 +01:00
4b4ba7bc10 Finish FixPassValidation
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-28 10:38:21 +01:00
8f365e77be Corretto controllo lunghezza password se uguale ad 8 2025-10-28 10:38:13 +01:00
5052f6dc2d VARIAZIONI PER CAPELLI MONELLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 18:22:39 +01:00
42a9756d94 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 17:48:56 +01:00
41fbeb333f Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-27 17:48:56 +01:00
279257a35d aggiunto capelli monelli 2025-10-27 17:48:50 +01:00
5d7d2cb99f Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 16:57:24 +01:00
9676b65be3 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 16:57:24 +01:00
27f28abb9b sistemata chiave 2025-10-27 16:56:29 +01:00
b3e390a634 rivista logica per salvataggio ctb_parr 2025-10-27 14:31:42 +01:00
2ae58205d8 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 12:58:24 +01:00
ea025c1f31 creata setup sulla mtb_aart che se abilitata blocca se codice a barre già assegnato ad altra referenza 2025-10-27 12:58:13 +01:00
0a03b1d489 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 12:31:54 +01:00
9d14673771 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 12:31:53 +01:00
ee9f4b08ff corrette regole su calc peso colli 2025-10-27 12:31:42 +01:00
cdc81c58e7 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 12:22:09 +01:00
4c4b364177 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 12:22:08 +01:00
0a46eda642 Hotfix cifre_dec in Bigdecimal 2025-10-27 12:21:54 +01:00
53fb1cb58e rivista logica per salvataggio ctb_parr 2025-10-27 11:30:40 +01:00
74dcedeba9 Fix ricalcolo peso netto e lordo mtb_colr se modificate le qta col
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-24 19:37:52 +02:00
5848f82e4a Refactor Depositi and MovimentiContabili services and controllers; add migration for foreign key constraints
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-24 19:22:22 +02:00
797c5c7736 Refactor Depositi and MovimentiContabili services and controllers; add migration for foreign key constraints
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-24 19:19:54 +02:00
b666064d15 Condizione per Florapulia di gestione esenzione articolo prima del cliente (DA CANCELLARE QUANDO NON SARANNO PIU' NOSTRTI CLIENTI)
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-24 18:12:04 +02:00
532aa91b23 Aggiunti campi su CtbAmac
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-24 16:14:23 +02:00
7f2c83ea69 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-24 11:39:44 +02:00
307840c236 moifiche a registrazione movimenti doc finance
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-23 18:18:09 +02:00
25321a9941 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-23 14:59:27 +02:00
dcbf627840 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-23 14:59:26 +02:00
3e069d1c39 Fix check licenza 2025-10-23 14:59:20 +02:00
988712b234 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-23 13:36:23 +02:00
123c7835d6 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-23 13:36:22 +02:00
d9d2b5bef7 Fix check licenza 2025-10-23 13:36:09 +02:00
99740104b9 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-23 12:13:59 +02:00
3606aa99d9 aggiornata vista gramm olapfermimacchina con controllo che le date non siano nulle 2025-10-23 12:13:48 +02:00
673de9d9b1 aggiungo campo id pk nella tabella gramm_simulatore_coan 2025-10-23 12:12:21 +02:00
0bebf87fa4 Rimosso default PVM ad integryApplication
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-23 11:59:09 +02:00
87cb0f8302 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-23 11:34:17 +02:00
6b80520d8d modificata la regola che assegna la versione e eliminta regola non usata 2025-10-23 11:33:40 +02:00
ab956b4a6e Sistemata Migration_20250827151739 2025-10-23 10:36:57 +02:00
2831137dac aggiunto id_art_equi in getListinoVendita 2025-10-23 10:22:53 +02:00
dabf6a0a54 Creata setup per disabilitare controllo su tutti i range di un colore in ordikids
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-22 17:29:22 +02:00
7a6ddde702 Rimosso json property errato su cod divi in VtbListData
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-22 11:14:59 +02:00
17f4e1ad49 Merge tag 'Hotfix-2' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
Finish Hotfix-2
2025-10-21 17:38:24 +02:00
74227e6bf1 Finish Hotfix-2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-21 17:38:23 +02:00
fc2eee29a6 Corretto controllo su codice pagamento 2025-10-21 17:37:47 +02:00
8cf75f9497 Merge remote-tracking branch 'origin/develop' into develop 2025-10-21 16:54:35 +02:00
5b40bd4780 Modifica per DMS 2025-10-21 16:54:30 +02:00
9899944a04 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-21 15:14:27 +02:00
58335a5102 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-21 15:14:25 +02:00
3507bc531c aggiunto cotrnollo su null in parselocaldate 2025-10-21 15:14:20 +02:00
4bb4a6b34b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-21 10:02:23 +02:00
fe0927c0eb Finish FixDuplicaLisv
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-21 10:02:22 +02:00
0d93dd2b1c Corretta duplicazione listino di vendita, prima usava solo l'ultima versione 2025-10-21 10:02:14 +02:00
dad53637e8 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 18:22:44 +02:00
853470701b Add ScontriniController and update ScontriniService for delete functionality 2025-10-20 18:22:32 +02:00
b1ee861a5c Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 18:15:32 +02:00
05857e2b11 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 18:15:32 +02:00
60fb37ad8b Gestione formato CSV e EXCEL su export ANAGRAFICHE ARTICOLI
(cherry picked from commit dae03dc91f)
2025-10-20 18:14:38 +02:00
dae03dc91f Gestione formato CSV e EXCEL su export ANAGRAFICHE ARTICOLI
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 18:06:17 +02:00
5c81248472 Finish Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 17:18:26 +02:00
7184c24f16 Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-10-20 17:18:09 +02:00
a2be331295 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 17:17:01 +02:00
18403554e7 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 17:17:00 +02:00
b1e189321c visualizzare come pianificate le attività con scadenza - tornare indietro 2025-10-20 17:16:53 +02:00
e61b2532b1 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 17:01:15 +02:00
db56575b8f Finish Hotfix-100
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-20 17:01:14 +02:00
7832095b86 visualizzare come pianificate le attività con scadenza 2025-10-20 17:01:07 +02:00
2bd8b6392c Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-20 16:03:17 +02:00
442af631aa Finish FlagInDuplicaListinoVend
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 16:03:17 +02:00
2666e9a7ef Gestiti flag da mtb_lisv in duplicazione listino di vendita 2025-10-20 16:02:38 +02:00
7b3395dec8 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 15:55:55 +02:00
7a15a94b38 Tolto controllo su per_aliq<>0 anche quando è presente il destinatario e non ha una sua aliquota 2025-10-20 15:55:32 +02:00
da8884dcdc Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 15:46:31 +02:00
54a09c2300 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 15:46:31 +02:00
8818a42457 regola per la valorizzazione del cod paga 2025-10-20 15:46:24 +02:00
d4a035fc0e Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 14:50:18 +02:00
3c5a0ba1f1 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 13:06:31 +02:00
c49f135e49 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 13:06:31 +02:00
a4d7d09c0b modificata creazione file integretail 2025-10-20 13:06:24 +02:00
73b26249eb Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 13:03:04 +02:00
2581f537b1 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 13:03:04 +02:00
8c14cd1937 modificata creazione file integretail 2025-10-20 13:02:57 +02:00
597c2fe2a2 elimintato metodo non usato
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 12:42:02 +02:00
785b03455e Aggiunto completamento automatico del codice pagamento per documenti di tipo V
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 10:31:20 +02:00
e7a581f326 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 09:35:26 +02:00
db85805afd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 09:35:26 +02:00
3350677b23 Implementato login statico per app 2025-10-20 09:35:10 +02:00
8413be30a0 Aggiunto controllo su email valida nelle persone di riferimento.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 09:20:31 +02:00
9033da0bf2 modificata vista: inserito progressivo_ul della materia prima
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-20 09:07:33 +02:00
6dfd56c58e Modifica per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-17 15:33:01 +02:00
98e251478c Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-17 13:14:28 +02:00
d31a28d3b5 Add migration script for setup configuration in W_SUPTABLE 2025-10-17 13:14:14 +02:00
fd5867e5f1 [loginWeb]
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
- corretta login con md5 ma senza profilo
2025-10-17 11:15:11 +02:00
13311f191e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-16 17:07:12 +02:00
1f2ace8258 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-16 17:07:11 +02:00
0aaba82e57 cambiato nome file zucchetti 2025-10-16 17:07:02 +02:00
3888c1ce25 Merge branch 'hotfix/Hotfix-1' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-16 16:14:19 +02:00
954eb96a2a Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-16 16:14:18 +02:00
057e3ac3c1 [SUIT - FARMMES]
- aggiunto MArshaller per convertire localDateTime in XML
2025-10-16 16:14:07 +02:00
49cad4a71a Aggiunto filtro per tipo_mgrp in retrieveArts WMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-16 12:39:24 +02:00
8b593a3b21 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-15 17:45:30 +02:00
6072ab57c9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-15 17:45:29 +02:00
120d85c1d3 sistemato calcolo tempi 2025-10-15 17:45:25 +02:00
13e2b1b3a4 Rename method and DTO for activity publication; add ActivityPublicationDTO class
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-15 16:43:18 +02:00
6c705ab96b Rename .groovy to .java 2025-10-15 16:43:18 +02:00
28e0c448f4 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 16:03:00 +02:00
0b22aa9764 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-15 16:02:59 +02:00
a1b813f051 sistemato storno scontrino totale 2025-10-15 15:55:59 +02:00
516874a6e5 Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 14:38:28 +02:00
5b31befcec corretto DB non esecuzione migration 2025-10-15 14:38:14 +02:00
19335be66b aggiunto campo flag_abil nella srl_user_table e creata entity 2025-10-15 14:37:42 +02:00
9ac451693b Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-15 13:19:01 +02:00
399f712024 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 13:19:01 +02:00
db38f84fca Add flagPrimario field to MtbLisv and MtbLisvData classes and update related logic 2025-10-15 13:18:29 +02:00
fa94de4135 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 12:03:06 +02:00
81b01dd5a8 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-15 12:03:05 +02:00
085d6af657 Fix cast data query attività 2025-10-15 12:02:39 +02:00
5421cb12d2 Aggiunto campo articolo in retrieveArts wms
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 11:51:19 +02:00
cd98c3884f Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 10:45:23 +02:00
92e60c95e3 creati report persanalizzati Movimentazione di vendita per licor 2025-10-15 10:45:10 +02:00
227025b526 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 09:46:22 +02:00
4647125b61 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-15 09:46:21 +02:00
1217922b90 Refactor activity file attachment e aggiunta la possibilità di rimuovere gli allegati 2025-10-15 09:46:06 +02:00
731c28f382 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-14 18:39:25 +02:00
2c5deeceb6 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-14 18:39:25 +02:00
8e727aeb73 Gestione nazione in partita iva in invoic ED 2025-10-14 18:39:15 +02:00
273b76715a Gestione nazione in partita iva in invoic ED 2025-10-14 18:39:05 +02:00
7aa8c71b3f Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-14 18:18:34 +02:00
ac235c2b56 ampliato log loginRetail 2025-10-14 18:18:15 +02:00
b78ab2e308 Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-14 16:56:09 +02:00
a44a307dd1 Aggiunta funzione per inserire pubblicazioni di attività e creazione del DTO corrispondente 2025-10-14 16:56:05 +02:00
c25d08c9ac Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-14 16:36:31 +02:00
695e784c73 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-14 16:36:31 +02:00
0c3415b7d6 [SUIT]
- aggiunto md5 in log per servizi che non usano le credenziali dirette in login
2025-10-14 16:36:20 +02:00
b412860f1f Aggiunta funzione per clonare tabelle nel database
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-14 15:00:59 +02:00
85f5129057 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-14 12:46:46 +02:00
74bfc38cd5 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-14 12:46:45 +02:00
3ec6deaec6 Fix su JSON deserialize di un LocalDateTime anche se si passa una date 2025-10-14 12:46:38 +02:00
e2113d0660 aggiunti lotti multipli su kit
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-14 12:07:14 +02:00
8199b354d8 Finish FixRettificaNull
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-10-14 11:48:18 +02:00
4e795f6a0a Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-14 11:48:18 +02:00
5f8732299a Fix null in caso di nessun collo di rettifica in rettificaGiacenzaProduzione 2025-10-14 11:48:05 +02:00
8babc6acfb Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 12:37:39 +02:00
f193d21ffa Modifica per DMS 2025-10-13 12:37:35 +02:00
6361e790b2 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 10:57:47 +02:00
206927622a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 10:57:47 +02:00
b1ee82f0dc Aggiunta colonne extra_project e view_in_meeting nella tabella stb_activity e creazione della migrazione corrispondente 2025-10-13 10:57:34 +02:00
2529660f3b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 09:27:30 +02:00
5c784a3f90 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 09:27:29 +02:00
d493749445 Fix servizi Task 2025-10-13 09:27:18 +02:00
7e9c36ab77 Effettuato arrotondamento a 2 cifre decimali
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 09:11:39 +02:00
904f5115b9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 09:07:41 +02:00
4387c4d1c3 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 09:07:41 +02:00
9c481c5380 aggiunta integry 2025-10-13 09:07:31 +02:00
8eda08d060 Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-13 08:41:53 +02:00
jenkins
ea493b3fa2 Merge branch 'develop'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-10-12 07:41:42 +02:00
e8bd3c0c99 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 18:59:07 +02:00
ac7bb55874 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 18:59:07 +02:00
626a728529 [RETTIFICA GIACENZE]
- aggiunto flag_sezione in rettifica collo
- aggiunto flag_sezione default in dtbDocr
2025-10-10 18:58:55 +02:00
9f9e1ef12d aggiunta nazione su carico oli sfuso, modifiche a espotazione listini infragruppo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 14:06:31 +02:00
c6526f6574 Rimossi utilizzi di mvw_sitart_udc_det
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 12:17:13 +02:00
a919c323ae inserita descrizione tabella srl_user_table
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 10:53:27 +02:00
00cb459c66 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 10:36:54 +02:00
e1bee4b70f creata nuova tabella di relazione tra utenti e tabelle 2025-10-10 10:36:45 +02:00
cd81b92bfe Nella generazione della fattura conto deposito gestito inserimento modalità di pagamento e data decorrenza uguali a quelle del contratto
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 10:23:41 +02:00
4120f20c5a elimintati thread
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 09:57:13 +02:00
d43345c5fc Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 09:07:46 +02:00
c0ad1f0770 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 09:07:45 +02:00
a2bd7bc9aa eliminati gruppi senza intercode 2025-10-10 09:07:40 +02:00
02eb94fdef aggiunte descrizioni tabelle
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-10 09:06:34 +02:00
c6380a9e05 In getSuggestedPickingList sostituita dipendenza da mvw_sitart_udc_det con mvw_sitart_udc_det_inventario
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-09 13:32:14 +02:00
08b2cb3289 Corretta query in modo che metta il codice sdi ditta solo quando l'email pec è nulla
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-09 12:31:07 +02:00
65009a6693 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-09 10:53:32 +02:00
cb0f18eb0b Merge branch 'hotfix/Hotfix-1' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-09 10:53:32 +02:00
30108563a0 [MES]
- fix creazione collo carico prodotto finito
2025-10-09 10:53:20 +02:00
bec0430942 Gestione opzione di attivazione nuova versione resi vendita
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-08 16:52:57 +02:00
ed9952d37d Fix su FK non aggiornate a seguito del rename di stb_activity in stb_activity_old
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-08 12:19:05 +02:00
a656c81373 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-08 09:39:02 +02:00
d6c0271129 importazione scontrini mmpos 2025-10-07 18:13:25 +02:00
d3ba9aae5f creata setup che se abilitata quando si va a variare un movimento contabile più vecchio di 30 gg parte la domanda di controllo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-07 15:32:09 +02:00
809a31ea87 sistemata migration
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-07 15:08:22 +02:00
63cf1920a9 sistemata migration
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-07 14:56:34 +02:00
3c79fb6745 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-07 12:31:24 +02:00
4a86118707 creata setup che se abilitata chiede la verifica del protocollo dopo la registrazione del documento di acquisto 2025-10-07 12:31:14 +02:00
9dfd8623a7 Finish Feature-Attivita
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-07 10:29:17 +02:00
7e8b8a8bc4 eliminati campi date nella stbactivity
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-07 10:28:50 +02:00
554a78e40f Merge branch 'develop' into feature/Feature-Attivita
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-07 09:49:37 +02:00
32022652b3 Aggiunti dati ttb_qta_min_ord in exportArticoliCodbarre ordikids
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 18:05:41 +02:00
3560f2a661 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 15:34:22 +02:00
63265571ac Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-06 15:34:22 +02:00
73049f32eb Aggiunta opzione di riassegnazione costo da distinta tramire formula 2025-10-06 15:34:05 +02:00
1e9b48811c inviati articoli variati in anagrafica
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 14:39:40 +02:00
2312323649 considerati solo i reparti con intercode
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 14:12:54 +02:00
9c634059ab Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 13:02:52 +02:00
57892e22ee Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-06 13:01:13 +02:00
9d6dd2ff5f Finish Hotfix-100
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-06 13:01:12 +02:00
2d1d15da98 modificate evasione ordini in accettazione 2025-10-06 13:01:02 +02:00
08af6fddb2 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 12:55:55 +02:00
1a97940826 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 12:55:55 +02:00
b2e6b0bd87 modificate evasione ordini in accettazione 2025-10-06 12:55:48 +02:00
c161857422 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 12:04:44 +02:00
69343830a9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 12:04:43 +02:00
f3644dcc3f sistemata entity ttbLine 2025-10-06 12:04:36 +02:00
b8782a14c1 Finish Feature-ImportScontriniMMPOS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 09:38:52 +02:00
4825d59616 Merge branch 'develop' into feature/Feature-Attivita
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-06 09:34:55 +02:00
e10f2d3a0c importazione scontrini carelli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 09:23:37 +02:00
18f4f2770a Merge branch 'develop' into feature/Feature-ImportScontriniMMPOS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-06 09:09:58 +02:00
jenkins
fbf26157c1 Merge branch 'develop'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-05 07:41:50 +02:00
ee2e5c5938 Nella generazione della scheda tecnica gestiti colli_pedana e colli_strato senza decimali
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-03 16:57:38 +02:00
8602bbf09d Aggiunto activity/getAvgResolutionTime
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-03 16:39:40 +02:00
38ef2b297d Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-03 16:34:17 +02:00
452a2d2555 Aggiunto servizio per retrievePosition 2025-10-03 16:34:10 +02:00
d6794a904f [Salesbook] Sistemata query per retrieveJobProgress 2025-10-03 16:33:50 +02:00
18c2ae047e importazione scontrini carelli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-03 14:29:32 +02:00
5581055f07 Merge branch 'develop' into feature/Feature-ImportScontriniMMPOS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-03 12:06:30 +02:00
fc0ac2ec4b gesione tabella ttb_qta_min_ord
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-03 12:05:18 +02:00
b64cd203eb Aggiornata procedura pianificata di import scontrini per evitare le internal call
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-03 11:13:14 +02:00
e436b9773e valore voucher
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 18:24:02 +02:00
37cb5d90f4 Creata tabella mrl_aart_clie_blacklist
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 16:05:43 +02:00
15e598df7e modificato parametro user_name nella processReport
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 14:33:58 +02:00
b43b6be4ac Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 12:39:22 +02:00
4036d2a04f inserito parametro user_name nella processReport 2025-10-02 12:39:02 +02:00
90bc764e61 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 12:18:08 +02:00
37fcfba74e Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 12:18:08 +02:00
9e5bfc6655 [ROSSOGARGANO - MES]
aggiunta nuova funzione db per suggest data produzione partita
2025-10-02 12:17:56 +02:00
295fd59729 [ROSSOGARGANO - MES]
aggiunta nuova funzione db per suggest data produzione partita
2025-10-02 12:17:48 +02:00
8c2cf7d9fe Corretta funzione per estrazione articolo miscela
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 11:52:18 +02:00
efb786ed0d Corretta unique key in tabella ttb_qta_min_ord
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-02 11:45:49 +02:00
514500de0b gestita wtbDepo come entity child in mtbDepo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 17:12:15 +02:00
304f0a53db Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 17:02:28 +02:00
645b269fc8 Modificato tipo default_depo in Boolean 2025-10-01 17:02:18 +02:00
94ceff0753 Merge branch 'develop' into feature/Feature-ImportScontriniMMPOS 2025-10-01 16:52:04 +02:00
7f16ca80f4 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-01 16:48:09 +02:00
14c57d6ab5 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 16:48:08 +02:00
ce56820405 cntrollo null 2025-10-01 16:48:03 +02:00
4e46f89440 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 16:12:56 +02:00
fa337ffb16 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 16:12:56 +02:00
bd3b915963 corretto tipo dato per la colonna default_Depo 2025-10-01 16:12:44 +02:00
032a4e3aca corretto tipo dato per la colonna default_Depo 2025-10-01 16:12:38 +02:00
3c4d62cde2 Passata in left la query sui colli per segnalazione fatta da Dulciar
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 15:48:06 +02:00
d1a7a166a8 Merge branch 'develop' into feature/Feature-ImportScontriniMMPOS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 15:38:41 +02:00
e0a3dbcea2 eliminati campi date nella stbactivity
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-01 15:38:25 +02:00
112f083c9a Creata entity MrlAartClieBlacklist e creata voce di menu blacklist articoli cliente
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 12:31:24 +02:00
adccf68c45 aggiunto modulo rimobrsi KM in menu
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 12:16:58 +02:00
f84a18b9b6 Modifica per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 11:50:54 +02:00
d7ef52f164 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 11:50:27 +02:00
5a91589ac6 Modifica per DMS 2025-10-01 11:50:14 +02:00
942dbeef5e eliminati campi date nella stbactivity
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-01 10:41:54 +02:00
a18156014b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 10:00:39 +02:00
c5cbfd406f Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 10:00:38 +02:00
abc2a0bb1e Fix su clean directory 2025-10-01 10:00:31 +02:00
3568b6b17e Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 09:59:09 +02:00
93261bdb87 Fix su clean directory 2025-10-01 09:59:03 +02:00
202261afc1 Visualizzazione flag in stampa riepilogo presenze per dipendente
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-01 08:48:57 +02:00
75d42d04ee eliminati campi date nella stbactivity
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-30 17:27:15 +02:00
6898cfc92c Finish FixDocDDTP
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 16:36:16 +02:00
e85b00c457 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 16:36:16 +02:00
ba1e8bb41c Fix creazione documento ddtp per documenti con costo acquirente 2025-09-30 16:36:05 +02:00
32ad423fc2 Fix controllo tipo documento save documenti diretti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 16:24:32 +02:00
1661d60b94 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 15:34:12 +02:00
438d62a362 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 15:34:11 +02:00
0bb2cf76bf Aggiornamento updordini 2025-09-30 15:33:59 +02:00
987a576bfd Aggiornamento updordini 2025-09-30 15:33:28 +02:00
91ea98d9f2 Merge tag 'Hotfix-100' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
Finish Hotfix-100
2025-09-30 15:14:31 +02:00
b64c01e7ce Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 15:14:30 +02:00
be1ee50f32 mina: ottimizzazione getDatiProv 2025-09-30 15:13:53 +02:00
d2955085c5 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 15:11:59 +02:00
10ed26c023 creata setup che verifica o meno che la data decorrenza sia precedente alla data del documento 2025-09-30 15:11:52 +02:00
98cf6d5192 Sistemata UpdProgOrdini: era saltata la parte che aggironata la qta_evasa_prod
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-30 12:15:41 +02:00
7e0ee7192e Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 18:05:47 +02:00
f68690a01b Aumentate dimensioni campo cod_affiliazione destinatario 2025-09-29 18:05:42 +02:00
fcdbe8ab94 eliminati campi date nella stbactivity
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-29 17:42:05 +02:00
19568d1394 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 17:21:20 +02:00
425b4b544f Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 17:21:18 +02:00
5dc8949215 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 17:20:51 +02:00
1497a55607 tolta commit da sincronizzazioni 2025-09-29 17:00:42 +02:00
6f94a290ee AGGIUNTO CONTROLLO SU COD_ANAG NULLO 2025-09-29 16:40:25 +02:00
911271a6b1 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 16:39:56 +02:00
d955609d93 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 16:39:56 +02:00
eddd9ff8e7 Fix su query deposito utente errata 2025-09-29 16:39:51 +02:00
dcd3b0aace gestito log chiusura tagli
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-29 15:48:30 +02:00
77a2fef606 Aggiunte logiche per documenti di integrazione durante la generazione dell'FPX
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-29 15:43:29 +02:00
d54da02dc0 Aumentate dimensioni campo cod_affiliazione destinatario
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 12:48:11 +02:00
7e4c36a785 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 10:46:54 +02:00
1bee7e59ab Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 10:46:53 +02:00
d629f0a21d aggiunti campi rapportini 2025-09-29 10:46:47 +02:00
eecadba27d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 10:13:05 +02:00
ab764a9a50 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 10:13:04 +02:00
6027df9ee5 risolta evasione ordini accettazione 2025-09-29 10:12:56 +02:00
7d831c59e7 Merge branch 'develop' into feature/Feature-ImportScontriniMMPOS 2025-09-29 09:21:24 +02:00
eaf8e4779e aggiunto servizio in ascolto
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 09:21:04 +02:00
84669f3929 gestito storno
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-29 08:43:24 +02:00
9b3184281c importazione scontrini new
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-26 17:07:03 +02:00
7dff05df5c Modifiche migrations DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-26 13:04:42 +02:00
b88a5bface Modifiche migrations DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-26 13:04:25 +02:00
48b87b7b48 gestito valore 0 nella divisione con il peso_kg
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-26 09:50:12 +02:00
bc512ab8f2 Rimosso parametro duplicato in getReportParams
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 18:11:29 +02:00
b73d2e9bac nascosto log della login per sicurezza e privacy
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 16:07:23 +02:00
bc18dc3231 Merge branch 'develop' into feature/Feature-ImportScontriniMMPOS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 15:53:31 +02:00
d660bb592b added TtbGrtg, TtbGrtgEl, and TtbQtaMinOrd entity classes
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 15:50:30 +02:00
a5478ef619 migration per textiles
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 15:44:46 +02:00
c8034042aa migration per textiles
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-25 15:36:10 +02:00
bff520b2ab Nel caso di kit con costo da composto valorizzato con funzione f_getPrzNettoAcqArt (stessa espressione prevista nel listino di acquisto)
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 14:58:59 +02:00
71eeba9091 Aggiunta migration per abilitare a tutti i clienti (eccetto Carelli) la login tramite servizi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 13:09:53 +02:00
f30284a30b Modificata regola per bloccare cancellazione solo se esiste un movimento di incasso - pagamento sulla partita contabile
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-25 11:54:46 +02:00
8932e3ac98 Aggiunto campo "backupAfterImport" utilizzato dalle importazioni da SFTP
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-24 17:36:27 +02:00
856b759acc Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-24 11:35:06 +02:00
c6271341b8 Modificata la query prendendo il codice del PDC quando il diacod è null 2025-09-24 11:34:58 +02:00
b68a7aebd4 Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-24 11:29:33 +02:00
c682331a22 Fix build command
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build started...
2025-09-24 11:29:04 +02:00
af6bc8ebe9 Corretto rollback su salvataggio documenti in caso di errore e creazione doc imballo se cod forn trasp impostato
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-09-24 11:24:00 +02:00
685fa64f46 bugfix: corretta creazione indice unico us deposito default utenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-24 11:19:37 +02:00
1456749587 Fix build command
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-24 11:11:27 +02:00
dac957e5b0 Fix build command
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-09-24 11:10:54 +02:00
f8fd7820bc Fix build command
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-24 10:49:34 +02:00
db35c3d914 Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-24 10:48:11 +02:00
fde32f2314 Prima build con podman 2025-09-24 10:48:05 +02:00
dee4485a89 WMS
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
- aggiunto flag deposito di default per utente
2025-09-24 10:01:57 +02:00
ef58f2e65c importazione scontrini nuova 2025-09-23 18:45:45 +02:00
d5763c1d03 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 18:32:57 +02:00
26d83ddabf Finish FixCrmCompleteOrder
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-23 18:32:57 +02:00
d0369d85c5 Fix cod anag mancante non associato ad ordine in caso di nuovo cliente 2025-09-23 18:32:50 +02:00
dbba2e3fb3 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 17:24:42 +02:00
6248e0da07 Finish FixCalcPeso
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 17:24:42 +02:00
c9fac89d16 Fix ricalcolo peso non salvato su ordini 2025-09-23 17:24:32 +02:00
11431e37c9 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 17:08:59 +02:00
827fc6836c Modifiche migrations DMS 2025-09-23 17:08:49 +02:00
262d6d0f08 Finish MaxiDataV2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 15:53:49 +02:00
ea5c880b0a Merge branch 'develop' into feature/MaxiDataV2
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-09-23 15:53:18 +02:00
182bd07d6c Ripristinata vecchia logica (in attesa di switch ufficiale) dell'importazione degli ordini di maxidata
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 15:52:48 +02:00
66a514468f [MaxiData] Completata implementazione API per creazione pedana, avvio, pausa e stop di ordine di lavoro 2025-09-23 15:52:22 +02:00
ff41b7e0dd Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 13:25:04 +02:00
de6e0865ac Gestione esenzione iva su spese trasporto da prospet 2025-09-23 13:24:58 +02:00
6b8a2fb4c0 Merge branch 'develop' into feature/Feature-ImportScontriniMMPOS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 12:05:36 +02:00
86e0750f03 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 11:55:23 +02:00
d0bb5e9342 Impostato ad 1 valore setup 2025-09-23 11:55:13 +02:00
9712d81a7d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 11:51:38 +02:00
cea2af9237 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 11:51:37 +02:00
6734cfdde2 sistemato controllo su updprogmaga 2025-09-23 11:51:32 +02:00
8f6ce309a2 Modifica funzione disponibilità TEXTILES
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 11:44:40 +02:00
d551f029a8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 09:23:48 +02:00
87204b30bd Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-23 09:23:47 +02:00
28faad2491 Fix insert or update activity 2025-09-23 09:23:19 +02:00
839942ea40 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-22 15:44:17 +02:00
d24f5387dc Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-22 15:44:17 +02:00
521cc48e56 sistemata notifica 2025-09-22 15:44:11 +02:00
44a9d7dbd2 Modificato il nome utente nella notifica per l'attività
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-09-22 15:43:08 +02:00
74d3dc0a67 migratio per eliminare lettura setup per biolenvante
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-22 15:38:18 +02:00
acc35b8cc8 modifiche per nuova impostazione scontrini
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-22 14:15:33 +02:00
b9b756a811 Merge branch 'develop' into feature/MaxiDataV2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-22 10:30:30 +02:00
c1e979391d merge
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-22 09:50:54 +02:00
5fd28fddd1 Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-22 08:41:07 +02:00
8a1ef5c6cf Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-19 18:12:38 +02:00
da57dfed5b Eliminata disattivazione articoli disattivi nell'aggiornamento del listino di vendita in anagrafica 2025-09-19 18:12:33 +02:00
d60b57ff02 [CRM] Gestito in transferProspect la possibilità di passare il codAnag null
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-19 17:41:24 +02:00
9c85f5da3c Merge branch 'develop' into feature/MaxiDataV2
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-19 17:05:12 +02:00
8357a33df8 [MaxiData] Completata nuova importazione ordini produzione (To Be Tested)
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-19 17:00:59 +02:00
7a150516b4 aggiunto campo nella mtb_sgrp
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-19 13:20:56 +02:00
ddf518d11a Modificate funzioni per estrarre in numero documento del fornitore
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-19 10:46:59 +02:00
cf69cccbce Modificate funzioni per estrarre in numero documento del fornitore
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-19 10:30:05 +02:00
68c220b8a8 cancellata migration
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-19 10:01:24 +02:00
1b05d58049 aggiunta migrazione per la creazione delle funzioni f_getNumDoc4NumDocForn e getNumDoc4NumDocForn
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-19 10:00:34 +02:00
925e08ffc7 Modifica servizio orgcons DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-18 19:20:24 +02:00
90f86858e9 Modifica migratons DMS 2025-09-18 18:52:32 +02:00
6c1652e955 Modifica migratons DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-18 18:47:38 +02:00
af364d4220 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-18 17:45:02 +02:00
b97bd848a8 [WMS] Aggiunta migration che allinea alcune setup del WMS che potrebbero mancare su alcuni clienti 2025-09-18 17:44:55 +02:00
4dedea79cf aggiunta migrazione per la funzione ftx_calcCostoProd aggiunti nuovi campi per slim2k
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-18 17:37:32 +02:00
29963759f2 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-18 16:10:14 +02:00
70c1723c5d aggiunta migrazione per la funzione ftx_calcCostoProd aggiunti nuovi campi per slim2k 2025-09-18 16:09:59 +02:00
c0b67577a7 [MaxiData] Implementata prima parte di ImportProduzioni
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-18 10:39:11 +02:00
82a74cbf1c Modifica gernerazione report invio promozioni a negozio
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-18 10:16:46 +02:00
56fbc96d9a aggiunti gli sconti cliente
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 18:27:24 +02:00
7d629b5753 aggiunto sconto cliente e il listino è agganciato ad un solo cliente
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 18:18:38 +02:00
56d7876eb5 [MaxiData] Primi check autorizzazioni 2025-09-17 17:06:29 +02:00
af0f1e14b0 Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 16:56:50 +02:00
20c6adc41f Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 16:54:56 +02:00
cfe0ae52e8 aggiunte notifiche su attività T0003 2025-09-17 16:54:52 +02:00
49cbc45ac0 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 16:52:53 +02:00
8672c7df11 riempita tabella drl_tipi_report a biolevante 2025-09-17 16:52:41 +02:00
6177a4b3c4 Spostata voce menu tracciabilita pvm in magazzino
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 16:37:52 +02:00
50c57d1977 attivazione servizi rest su gestione automezzi e nuova gestione documenti di lavorazione su carelli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 16:09:15 +02:00
79355eab19 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 15:06:48 +02:00
d4f2032aa7 aggiunto controllo 2025-09-17 15:06:04 +02:00
d1a1aad1d8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 15:05:42 +02:00
d94f0f1a7e Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 15:05:42 +02:00
7507ab834c [WMS] Aggiunto servizio di retrieve ultimi versamenti merce per vecchia gestione colli 2025-09-17 15:05:37 +02:00
a2c007119b Refactor Giacenza handling and add new endpoint for populating Giacenza table
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 14:48:45 +02:00
7e421762d7 aggiunta tabella carelli_giacenza_prog_bck
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 12:27:14 +02:00
a24e26b436 Creato menu tracciabilita su pvm, setup per report ed update viste
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 12:14:29 +02:00
1008229297 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 11:59:09 +02:00
cf492ee2a0 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 11:59:09 +02:00
dac93e9e30 Sistemata retrieve delle pvm info (era POST, convertita in GET) 2025-09-17 11:59:03 +02:00
aaac5bebb7 Merge branch 'develop' into feature/MaxiDataV2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-17 09:03:39 +02:00
46002e7580 Update endpoint path for generaCorrispettivi in DocumentController
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 17:21:43 +02:00
5982c8e966 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 17:09:32 +02:00
6889372e40 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 17:09:31 +02:00
158ccaa3ce aggiunto depostio nella descrizione 2025-09-16 17:09:26 +02:00
a0014d5ccd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 16:47:04 +02:00
44091910ff Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 16:47:03 +02:00
b25dff5d48 Add rules to complete serDoc in CtbMovt and CtbMovr; create migration scripts 2025-09-16 16:46:52 +02:00
163613f836 Add rules to complete serDoc in CtbMovt and CtbMovr; create migration scripts
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 16:45:30 +02:00
b163c74771 Refactor generaCorrispettivi method to return a single ServiceRestResponse
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 12:23:29 +02:00
8068110cf3 Vario
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 10:19:57 +02:00
78f91d2cfe Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 10:01:38 +02:00
b39f07414b Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 10:01:37 +02:00
e3be231990 Cambiata lettura profileDb in RequestDataDTO 2025-09-16 10:00:40 +02:00
3ee2272886 Merge branch 'develop' into feature/MaxiDataV2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 09:39:28 +02:00
6c58a19495 Aggiunti file in gitignore
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 09:39:05 +02:00
2d11f53330 Aggiunti file in gitignore
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-16 09:38:37 +02:00
ad7274fdbf Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 17:28:47 +02:00
fd2f4772ce Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-15 17:28:47 +02:00
2f649932b6 modifica json log 2025-09-15 17:28:41 +02:00
198e1d284b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 16:35:54 +02:00
5041244f63 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 16:35:53 +02:00
592c4f4b9a Add migration for function getNumDoc4NumDocForn 2025-09-15 16:35:39 +02:00
cb7a45d83e Aggiunte API MaxiData di produzione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 16:26:37 +02:00
6c95492412 Merge branch 'develop' into feature/MaxiDataV2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 16:16:31 +02:00
e026f9a0ea Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 16:03:29 +02:00
17c5b96c98 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 16:03:28 +02:00
eddad11630 Fix payloadLength nel logger 2025-09-15 16:03:06 +02:00
0f65aaffab Add migration for function getNumDoc4NumDocForn
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-09-15 16:03:01 +02:00
8723751f78 Merge branch 'develop' into feature/MaxiDataV2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 15:57:12 +02:00
24db8fbcec Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-15 15:56:17 +02:00
c687831f4f Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-09-15 15:56:16 +02:00
b878529840 Fix su lunghezza log 2025-09-15 15:56:11 +02:00
e6ee9c7090 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 15:46:10 +02:00
ab9672cae3 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 15:46:10 +02:00
3dc3aea47b Micro fix 2025-09-15 15:45:54 +02:00
c8fdf2634d Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-15 15:20:08 +02:00
295afc7acc Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 15:20:08 +02:00
450848b080 rivista query 2025-09-15 15:19:51 +02:00
d154ee9852 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 14:13:34 +02:00
ff2420c551 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 14:13:34 +02:00
096650b4f6 Commented out file import logic and set primary DB in transaction manager 2025-09-15 14:13:25 +02:00
b5a2d999e6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 13:51:54 +02:00
92bc126e24 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 13:51:54 +02:00
966f73aef3 correzione procedura di importazione accettazione 2025-09-15 13:51:45 +02:00
77ff799dba Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 12:56:28 +02:00
4804ec24c1 Finish FixAgribookFields
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 12:56:27 +02:00
b1c3935457 Fix uso MultiDBTransactionManager diretto per profiledb della richiesta 2025-09-15 12:56:20 +02:00
6301305b1a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 12:13:26 +02:00
5d0b300e2a Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 12:13:26 +02:00
eac86126c2 eliminta condizione 2025-09-15 12:10:47 +02:00
a3552e0926 [CARELLI] Creati servizi per pagina sul portale scheda viaggi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 11:30:14 +02:00
3bd6521967 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 10:41:31 +02:00
e189aa4f6c Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 10:41:31 +02:00
e318d8625b [biolevante]
- rimosso nome db in query update
2025-09-15 10:41:19 +02:00
0f91128b8e Aggiornato client MaxiData
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 10:36:55 +02:00
d5eb4c62f6 Merge branch 'develop' into feature/MaxiDataV2
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-15 10:04:46 +02:00
360fa9e59f Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 09:10:01 +02:00
a3df8d0822 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-15 09:10:01 +02:00
b902879a26 modifiche su slim 2025-09-15 09:09:54 +02:00
jenkins
e570b32e05 Merge branch 'develop'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-14 07:41:37 +02:00
c2612e40b4 [BIOLEVANTE - SERBATOI]
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
- nuova tabella gestione caratteristiche macchinari
2025-09-12 18:36:31 +02:00
c9ee41a1b1 Aggiornato client MaxiData
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 18:23:20 +02:00
cc8b20d065 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 17:48:08 +02:00
6cade2576e [CRM] Modificata query per chiusura pratica 2025-09-12 17:48:02 +02:00
a64e219632 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 17:26:44 +02:00
3884a6736f sistemate personalizzate report d_cscadfor_nobanca_rep 2025-09-12 17:26:35 +02:00
03664cd9a5 Aggiunti equals in SettingsModel in modo da evitare refresh inutili nel caso i dati non siano cambiati
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 15:44:30 +02:00
ee48302a0b Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 13:17:54 +02:00
9d724911ad riempita tabella drl_tipi_report a rossogargano 2025-09-12 13:17:19 +02:00
3fcd649cce Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 12:53:07 +02:00
3a05e2c10d Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 12:53:07 +02:00
e02fe6c36c [CONNECTIONS]
- aggiunto destroy delle connessioni prima della reinizalizzazione post modifiche ad ems-settings
    - aggiunta eccezzione in getConnection se la connessione stabilita ha un db diverso da quello richiesto
2025-09-12 12:52:55 +02:00
eaf10604ef Merge branch 'develop' into feature/MaxiDataV2 2025-09-12 10:57:33 +02:00
26ca33258c Fix logger
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 10:57:11 +02:00
4a0382cafc Merge branch 'develop' into feature/MaxiDataV2
# Conflicts:
#	.idea/copilot.data.migration.agent.xml
2025-09-12 10:52:53 +02:00
450252ff24 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 09:39:47 +02:00
f399b1a4cf Modifica procedura chiusura commessa Maggio 2025-09-12 09:39:31 +02:00
aaed6e7e0a Cambiato log delle richieste
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-12 09:25:47 +02:00
9ef98b50e3 Modifica procedura chiusura commessa Maggio
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 19:17:05 +02:00
52b712ce32 Rimosse classi ed import/export di Amazon e SocialWare
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 16:47:33 +02:00
cd00a16aa3 Rimosse classi e servizi obsoleti che utilizzavano DataSource in maniera diretta.
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-11 15:44:08 +02:00
80429f1700 Creato metodo mapHashMapToCSV.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
Fix loading iniziale SettingsModel.
2025-09-11 15:15:24 +02:00
73d80ef2bc Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 15:13:16 +02:00
36a66ee50d [CRM] Implementate e migliorate logiche per le notifiche 2025-09-11 15:13:08 +02:00
4a954c5870 aggiunta data ispezione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 15:04:24 +02:00
9e4f099515 Fix return compileWordFile
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 14:30:45 +02:00
bb21bc678e [Biolevante] fix creazione dataSheet: Cast string variabili e gestiti errori download minio
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-11 13:42:58 +02:00
8e3a4afb5b Esportazione report fatturato agente/clienti in Excel
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 11:36:13 +02:00
55975c45c9 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 11:33:14 +02:00
52adf80a2e Aggiunto bottone di esportazione in Excel 2025-09-11 11:33:06 +02:00
bc349742ef Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
# Conflicts:
#	ems-engine/src/main/webapp/index.html
2025-09-11 10:28:13 +02:00
9fdc1f6b0e Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-11 10:27:09 +02:00
5cfff0e143 Modifiche multidbtransaction manager.
Fix WebUI.
2025-09-11 10:27:04 +02:00
bfce428f2c Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 17:40:42 +02:00
1e8745fc31 Modifica servizio orgcons DMS 2025-09-10 17:40:24 +02:00
39ffb2ea49 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 17:27:17 +02:00
69cb18762a Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 17:27:16 +02:00
1ba5e25eba modificata condizione su date per estrazione ultima partia acquistata 2025-09-10 17:27:09 +02:00
fe6343f4e4 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-10 17:01:42 +02:00
772242fcae Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 17:01:41 +02:00
777c3e7aac profile 2025-09-10 17:01:31 +02:00
e799d0e577 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 15:54:58 +02:00
c3e8ccf0c2 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 15:54:57 +02:00
ce198e1da9 Finish Hotfix-100 2025-09-10 15:43:27 +02:00
17b821157e Personalizzato report D_TORIEPORDINI_COMP_REP per Two B.
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-10 15:25:08 +02:00
32c7424c89 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 15:17:33 +02:00
df4e76f05e Personalizzato report D_TORIEPORDINI_COMP_REP per Two B. 2025-09-10 15:17:25 +02:00
cce5fa85d3 Fix maxlength su porto non più effettuato
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 15:14:38 +02:00
f13b021fcd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 13:21:17 +02:00
49499c1b91 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 13:21:16 +02:00
ea62524763 aggiunti log 2025-09-10 13:21:10 +02:00
0b0942b995 Autogenerato client maxidata utilizzando openapi-generator 2025-09-10 12:09:03 +02:00
b530ec1821 Aggiunti campi nuovi in contratti di vendita
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 11:09:12 +02:00
bc502cbf74 creato report Schede movimentazioni articoli partita personalizzato per rossogargano
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 10:21:34 +02:00
811b686f17 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 10:05:17 +02:00
4fd2d5494e Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 10:05:16 +02:00
f857b2ed95 Migliorie DataSource 2025-09-10 10:04:53 +02:00
3a64d116e6 aggiunta setup
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-10 09:11:16 +02:00
b44f2bb2f9 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 17:05:42 +02:00
39d63497bb Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 17:05:41 +02:00
b2250bf3cf Fix check distributore null 2025-09-09 17:05:36 +02:00
54517ba92e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 16:51:17 +02:00
3ae1d3cefe Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 16:51:16 +02:00
a3eade290e Fix su sincronizzazioni 2025-09-09 16:51:08 +02:00
d6ac2f00b6 Creato servizio downloadFileFromRefUuid
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 15:57:47 +02:00
63727411c4 [CRM] Modificati servizi di retrieve 2025-09-09 15:57:25 +02:00
4100c9cc03 Aggiunti file mancanti webapp
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 12:18:03 +02:00
f58282e73b Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 10:27:53 +02:00
566f748fb3 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 10:17:00 +02:00
4630a53881 Modifiche migrations DMS 2025-09-09 10:16:56 +02:00
6fca8f90e6 Migliorato controllo di abilitazione dei contratti di acquisto/vendita 2025-09-09 10:11:23 +02:00
9700db0dbc Cambiato messaggio di compilazione riuscita su webhook MS Teams
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-09 09:29:42 +02:00
1fb09d1a41 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 22:32:44 +02:00
da8bc54f90 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 22:32:44 +02:00
4b823e3b82 Tolto valore assoluto su query di costi (dare - avere) e ricavi (Avere - dare) sulla ctb_movr_coan
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 16:02:08 +02:00
726aa7f080 rimossa eccezione in caso di errore e aggiunto commit per gestione transazioni 2025-09-08 15:56:03 +02:00
14062da824 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 15:31:01 +02:00
4bdf4ab779 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 15:31:00 +02:00
d454b4b8b1 sistemata wherecond tipo doc 2025-09-08 15:29:40 +02:00
b4e22ca7a4 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 15:09:27 +02:00
e7abca0cc0 Aggiunto codice SDI nella tabella azienda 2025-09-08 15:09:18 +02:00
6ad433488e Rimossa dichiarazione setupGest da alcune regole
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 13:10:35 +02:00
1c63622538 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 11:43:22 +02:00
55f05f0541 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 11:43:22 +02:00
192a45786d Rimossa validation query su datasource 2025-09-08 11:43:16 +02:00
79f3105797 modificata gestione della data di ricezione allegati per utilizzare LocalDateTime 2025-09-08 11:43:01 +02:00
70e5dad7c1 modificata gestione della data di ricezione allegati per utilizzare LocalDateTime
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-08 11:41:57 +02:00
63b46cd93f aggiunto controlo per textiles
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-06 07:39:32 +02:00
7872a82cc1 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 21:46:51 +02:00
05ea13b155 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 21:46:50 +02:00
bcc00e39da aggiunta commit 2025-09-05 21:46:43 +02:00
5d3a79827c sistemata syncronizzazione, migration per ftx_getDisponibilitaArticoli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 17:54:23 +02:00
6f04ea323c creato report "Scadenze Fornitori" personalizzato per gramm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 10:57:51 +02:00
eb7c41841b Fix su regola che completa dataIns nelle VtbOfft
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 10:45:20 +02:00
bbfcbeb906 aggiunti campi su contratti v
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-05 10:23:05 +02:00
36c0e3c9d1 rinominato servizio
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 10:19:57 +02:00
e3f2eab10b Merge remote-tracking branch 'origin/develop' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-05 09:30:59 +02:00
b81c7febbe inseriti nuovi campi nella vista w_tracciabUDCProd 2025-09-05 09:30:47 +02:00
97c7ac188c Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 09:30:12 +02:00
4d7a856ffb Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-05 09:30:12 +02:00
94add3ecde Ulteriori fix su Datasource 2025-09-05 09:30:05 +02:00
89ba0a60bf Modifiche migrations DMS
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-04 18:10:57 +02:00
be1480e2f0 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-04 18:07:07 +02:00
5e4ec2c630 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-04 18:07:06 +02:00
1a76055a09 Fix su connessioni del Connection Pool 2025-09-04 18:07:01 +02:00
2b4e97d90d Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-04 16:11:31 +02:00
dfae26c49e Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-04 16:11:31 +02:00
d78010662a Fix su serializzazione JSON in callInternalExport 2025-09-04 16:11:10 +02:00
79df2c503f aggiunto tipo documento
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-04 16:11:04 +02:00
a42736bf91 preso cod_prod e descrizione_prod dalla testata dell ordine nella vista w_tracciabUDCProd
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 15:37:31 +02:00
e53bd108ba Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 14:40:00 +02:00
e9f47d4651 inserito progressivo_ul nella vista w_tracciabUDCProd 2025-09-04 14:39:51 +02:00
951f220626 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 13:28:24 +02:00
3106ce46d9 Sistemato problema aggiornamento progressivi ordini 2025-09-04 13:28:16 +02:00
f8f22ee3b3 Fix su pannello WEB
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 13:07:42 +02:00
79576c06f7 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 13:02:41 +02:00
7058231691 modificate viste vw_tracciabUDCVend e w_tracciabUDCProd 2025-09-04 13:02:32 +02:00
6f876edfa8 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 12:48:36 +02:00
6b2ca47a8a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 12:48:36 +02:00
92f5f7b290 sistemata espotazione excel 2025-09-04 12:48:27 +02:00
a6103e037d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-04 08:42:35 +02:00
b6299d6dd1 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-04 08:42:35 +02:00
9f76fcfc72 Rimossi comandi aggiuntivi nel DataSource 2025-09-04 08:42:30 +02:00
08b5d93be3 Fix su connessioni nelle Sync
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 16:40:02 +02:00
77a1a965ca Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 16:39:42 +02:00
a4d78c740d Merge branch 'master' into develop
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-09-03 16:39:42 +02:00
65fb43f87a Fix su connessioni nelle Sync 2025-09-03 16:39:31 +02:00
9f27301e8b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
# Conflicts:
#	ems-core/src/main/java/it/integry/ems/sync/SyncManager.java
2025-09-03 16:34:44 +02:00
ce583d2500 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-03 16:33:50 +02:00
8c4430d68a Fix su connessioni nelle Sync 2025-09-03 16:33:39 +02:00
65c26a1f91 aggiunta notifica t0003
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 14:42:33 +02:00
653f3a023a export zucchetti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 13:05:17 +02:00
3c241ea168 export zucchetti 2025-09-03 13:05:04 +02:00
4f88d08a39 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 12:36:28 +02:00
1bcffcc36a modificati alias campi viste per report tracciabilità Rossogargano 2025-09-03 12:36:18 +02:00
6eeb10868d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 12:33:57 +02:00
4b1af00c23 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 12:33:56 +02:00
fd4d79c3be Rimosso limite di max prepared statement 2025-09-03 12:33:15 +02:00
4d4ca3917f Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 12:17:36 +02:00
f5f86985c9 create viste per report tracciabilità Rossogargano 2025-09-03 12:17:30 +02:00
e2f5b5b0a1 Fix check certificato durante l'aggiornamento dei comuni
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-03 10:47:32 +02:00
00405d67bb creato report "Riepilogo Documenti di vendita" personalizzato per rossogargano
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-02 17:20:24 +02:00
b3475b9fcb Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-02 12:26:50 +02:00
6fc946d817 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-02 12:26:50 +02:00
7893e6d808 modifiche per task 2025-09-02 12:26:31 +02:00
a205f222b0 modifiche per task 2025-09-02 11:09:48 +02:00
e99bf3403b Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-02 10:18:43 +02:00
124a4fe04c elinitato errore se la lista delle migration è vuota 2025-09-02 10:18:23 +02:00
3a18dd2c71 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-02 09:52:08 +02:00
6e7167f0f2 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-02 09:52:07 +02:00
2188fa86a5 Fix su numero connessioni DataSource 2025-09-02 09:51:57 +02:00
e41883bd73 Fix su numero connessioni DataSource
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-09-02 09:50:10 +02:00
eddaadc3ba Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-02 09:44:36 +02:00
7c08f0ed48 Aggiornata email di errore delle importazioni delle fatture passive (aggiornamento dei riferimenti non committati precedentemente) 2025-09-02 09:44:29 +02:00
77c8896de5 Aggiornamnto funzione esterna
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-02 09:41:37 +02:00
b078028c24 Aggiornata email di errore delle importazioni delle fatture passive
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-09-02 09:36:20 +02:00
b40e26fc5e Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-01 15:55:36 +02:00
5a2f5328b4 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-09-01 15:55:36 +02:00
33dc3129b3 modificato controllo su email controllo autofattura e pianificazione attività 2025-09-01 15:55:16 +02:00
0dc6e9555f Fix importazione ACK
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-29 19:32:25 +02:00
6df7c809a2 Fix email in printDocument
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-08-29 19:32:05 +02:00
8c451e3996 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-29 19:29:31 +02:00
468a453b94 Fix servizi crm 2025-08-29 19:29:23 +02:00
6f52677301 Aggiornamenti pagina ems-api
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-29 19:04:11 +02:00
63a891d061 nuova procedura di importazione scontrini
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-08-29 11:34:31 +02:00
15b80239d1 Creato metodo per annullare ordine di lavorazione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-28 11:49:47 +02:00
044540ff10 Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-27 16:57:56 +02:00
90f3a636db modifiche per importazione ordini web ed elimiazione trigger ordl
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-27 16:57:45 +02:00
592d8726d2 Aumentato max total in DataSource in debug
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-27 15:08:53 +02:00
048c639e72 Merge branch 'develop' into feature/Feature-revisione_ordiniWeb
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-26 13:15:54 +02:00
1111093b38 modificato date con LocalDate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-26 13:15:45 +02:00
87461ce43a migration per sistemare ftx_getDisponibilitaArticoli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-26 13:15:13 +02:00
247ecb69a3 Gestita cancellazione della partita se non in uso per ordini lav e acq
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-26 11:55:40 +02:00
b414942de9 Sistemata esportazione lotti per gastronomia
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-26 10:44:11 +02:00
5b1b5c5cde merge
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-26 10:09:18 +02:00
b9a53ec7a2 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-25 18:15:53 +02:00
f1f779b436 migration smetar e correzioni per distinta incassi 2025-08-25 18:14:23 +02:00
06e9bb1c51 Corretto javadoc DataSource e gestita possibilità di tornare un valore fisso in isDebugExecution
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-25 18:04:18 +02:00
833d87f08d modificata vsvw_vendita per smetar
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-25 16:22:01 +02:00
3627c38df6 Gestita cancellazione della partita se non in uso per ordini lav e acq
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-25 10:19:48 +02:00
e5c64dc0fd Fix su lettura setup se stringa vuota e throw diretto exception in importOrdini 2025-08-25 10:17:30 +02:00
4ca6e3e5e9 Fix naming in conflitto
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-22 18:55:24 +02:00
ab0b17470e Aggiornata pagina EMS-API (Buon rientro dalle ferie 😉🎉)
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-08-22 18:49:07 +02:00
70e8857031 [SALESBOOK] Creato servizio per recuperare lo stato di avanzamento di una commessa
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-08-22 18:42:21 +02:00
db2b8214a4 Rimosso codice inutile in getSetupList, ignorato getConfigurationFile in SettingsModel
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-22 10:41:44 +02:00
bfd102a4a2 Fix parametri DataSource in Debug
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-21 15:54:14 +02:00
59780fef0c Merge branch 'feature/Feature-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-19 11:19:10 +02:00
aea6d9dc68 [MES]
- aggiunta possibilità di definire il report ordine lavorazione per linea prod
2025-08-19 11:19:02 +02:00
1454144502 [MES]
- aggiunta possibilità di definire il report ordine lavorazione per linea prod
2025-08-19 11:19:02 +02:00
ac997e5e52 Fix parametri DataSource in Debug
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-19 10:22:02 +02:00
2831f675f2 Tuning su DataSource
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-19 10:20:57 +02:00
214c6f6bf1 Migliorato BasicConnectionPool
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-19 09:45:06 +02:00
2d109a57e6 Cambiato caricamento iniziale del SettingsModel e di BasicConnectionPool
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-18 15:25:45 +02:00
c9b98963ae Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-12 17:46:47 +02:00
945aeab210 Aggiunta procedura di importazione Sonoco 2025-08-12 17:46:40 +02:00
956acd02ad inserite get e set della entity child drlTipiReport
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-12 15:22:30 +02:00
ff84144dbf Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-11 12:56:34 +02:00
cfc60bb78d Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-11 12:56:34 +02:00
371ba4848c Mmodifica data validita griglia 2025-08-11 12:56:07 +02:00
1963825bf5 inseriti valori di default
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-11 10:47:11 +02:00
7421ebeea9 cancellata tabella drl_tipi_mod_stampa e creata nuova tabella di relazione drl_tipi_report tra le tabelle dtb_tipi e wtb_jrept
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-11 10:44:13 +02:00
edff5ae3ec Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-08 18:44:58 +02:00
d8ede199ed Creata procedura di importazione tassi di cambio da Banca d'Italia 2025-08-08 18:42:42 +02:00
5fdd9d447a Create nuove setup per chiusura tagli prezzo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-08 16:20:20 +02:00
a21c13f798 Gestito plu mancante come anomalie in importagione digi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-08 15:39:22 +02:00
94f21f78a8 controllo su proprietà confezionato null
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-08 12:58:06 +02:00
77549064f1 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-08 09:42:14 +02:00
05a092a664 Merge remote-tracking branch 'origin/master'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-07 17:19:42 +02:00
934463a2a4 aggiunto cod_paga nella dtb_tipi 2025-08-07 17:19:28 +02:00
c62112e9d6 Modifca Migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-07 16:03:25 +02:00
36b2d99f5a Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-07 15:46:45 +02:00
b828a31544 inserirta la descrozione dei depoisto sui trapv 2025-08-07 15:46:41 +02:00
4656fbb61b Gestito controllo data scadenza multipla in openStep MES
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-07 15:17:12 +02:00
7e9e207b66 Creata procedura di importazione pesate da bilancia
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-07 12:51:35 +02:00
47755e2c56 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-08-07 12:25:44 +02:00
33582c62d4 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-07 12:25:44 +02:00
46ef9bd59e modifiche su utenti 2025-08-07 12:25:27 +02:00
25d549f681 modifiche su utenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-07 11:54:53 +02:00
5cbede1c68 Personalizzazione report presenze per vinella
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-06 18:01:15 +02:00
5feea9ced0 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-06 17:36:31 +02:00
c77f212ca1 nuova opzione in aggiornamento listini divendita 2025-08-06 17:36:27 +02:00
7dcdb85ee0 creata setup che permetta di visualizzare tutte le versioni delle stampe o solo l'ultima
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-06 13:12:27 +02:00
402ddc0009 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-06 09:55:36 +02:00
aff3eaa959 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-06 09:55:35 +02:00
61de052e30 risolta regola 2025-08-06 09:55:29 +02:00
e838df2876 Creata setup per disattivare la proposta dell'ultimo valore inserito in creazione udc mes
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 18:02:57 +02:00
4f65d93a65 fare in modo che le procedura di esportaizone in excel posssano avere una query di base
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 16:21:06 +02:00
1f3517a10b aggiungi codice tipo bene
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 15:49:00 +02:00
3df0a0058d Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 11:14:51 +02:00
096c25955c Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 11:14:51 +02:00
6f3d8a7ef5 Fix su sql server connection in menu configurator 2025-08-05 11:14:45 +02:00
8448a8798d nella registrazione degli inventari considerare anche i casi che hanno qta = 0 e num_cnf <> 0 e qta_cnf fissa per allinearli.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 10:51:59 +02:00
36acbe175a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 09:55:07 +02:00
f08b5fe07e Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 09:55:05 +02:00
54804ec4d6 Fix connection su DB Distributore 2025-08-05 09:54:59 +02:00
269d0d4aff Aggiunto servizio che aggiorna endpoint portale Web
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-05 09:25:02 +02:00
f24ebd5cbc Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 19:11:05 +02:00
48070baf25 Finish Hotfix-1
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-08-04 19:11:05 +02:00
d266c8c9e1 Fix su connessioni del SyncManager 2025-08-04 19:11:00 +02:00
6c15210a22 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 17:27:44 +02:00
8eddffdc7c Finish FixTag
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 17:27:44 +02:00
0187c33730 Modificato formato tag versione 2025-08-04 17:26:57 +02:00
acb33cad0f Aggiunto servizio che aggiorna endpoint portale Web
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-08-04 17:26:27 +02:00
17fca32238 Rimosso dai log le export di FATTURE_FPR
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 17:25:10 +02:00
8997e8187e Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-08-04 13:01:13 +02:00
0729d1c0b6 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 13:01:12 +02:00
a15bf9957a sistemato calcolo num colli 2025-08-04 13:01:07 +02:00
9c48a57743 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 12:41:04 +02:00
7a97a55df1 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 12:41:04 +02:00
ab7aa9e0bf correzione su importazione docfinance 2025-08-04 12:40:55 +02:00
a6a9a3cbd8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 12:30:20 +02:00
122e56bfe7 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 12:30:20 +02:00
de9d870ef3 Aggiornato jenkinsfile per env.properties 2025-08-04 12:30:15 +02:00
274bb29f8f Aumentati timeout di connessione all'email legata alla fatturazione 2025-08-04 12:29:29 +02:00
5e145dd854 Aumentati timeout di connessione all'email legata alla fatturazione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-04 10:27:51 +02:00
6b9a0d7e3e Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-01 18:06:17 +02:00
625b715924 eliminata assegnazione iva sulle spese 2025-08-01 17:46:47 +02:00
d2bff17463 Gestito recupero dati da pvm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-01 16:36:29 +02:00
910ab51654 aggiunta regola per prevista ftturazione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-01 13:33:03 +02:00
70979f1509 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-01 11:51:00 +02:00
18ae32a815 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-08-01 11:50:59 +02:00
8fcc9a4bf8 correzione procedura di importazione promo apulia 2025-08-01 11:50:51 +02:00
cb221ce6f3 Aggiunta join di StbPosizioni in StbActivity
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 19:10:55 +02:00
db884eb487 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-07-31 18:15:07 +02:00
2faf943cb9 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 18:15:06 +02:00
5d1a052416 sisteamto controllo attività 2025-07-31 18:14:59 +02:00
e32099263d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 17:43:08 +02:00
27ef2e7e16 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 17:43:07 +02:00
0b94f3125c sisteamto controllo attività 2025-07-31 17:43:01 +02:00
71e075fe02 aggiunto controllo su concatenazione dei campi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 17:28:26 +02:00
0b8b1cb756 sistemato calcolo del valore unitario da ultimo costo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 17:16:50 +02:00
47be0ec2b8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 13:30:07 +02:00
89f16ff2a3 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 13:30:06 +02:00
c4eced0d37 rivista query per merce in arrivo 2025-07-31 13:22:35 +02:00
4def90c387 Rimosso SET NOCOUNT ON all'inizializzazione della connessione
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 10:39:04 +02:00
51dd49cc8f Fix controllo SQLServerConnection in EntityBase
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 10:08:43 +02:00
04c5b8c849 Cambiati alcuni datasource
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-31 09:46:19 +02:00
1d0fed90ae Fix controllo SQLServerConnection in EntityBase
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 18:58:04 +02:00
88a518d0ad Fix su connection pool size
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 17:50:46 +02:00
304abac5bb [GIANT REFACTORING] Ristrutturazione sulla connection pool. Adesso la pool è gestita dal DataSource di Apache DBCP2.
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 17:40:30 +02:00
ca323b87f6 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 16:25:18 +02:00
4e4cab2cbd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 16:25:18 +02:00
a3130d68c2 salvate immagini senza zip 2025-07-30 16:23:08 +02:00
72c7a3a281 Aggiunto il cliente o prospect nella risposta di createContact
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 15:22:58 +02:00
5b78ac6a34 Fix Refactoring google maps api 2025-07-30 15:21:48 +02:00
62ba5f28a1 Fix Refactoring google maps api
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 15:20:10 +02:00
0d85a0b790 Refactoring google maps api
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 15:15:22 +02:00
e818130c1d Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 12:05:14 +02:00
add08fc985 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-30 12:05:14 +02:00
e762d706d9 sistemata funzione di esportazione dati tracciabilità sui kit 2025-07-30 12:04:25 +02:00
d94bd75770 revisione importazione ordini web
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 18:23:31 +02:00
376aaf7f28 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 17:21:34 +02:00
2a4ae878bb abilitata a Follie setup DELIMITED_IDENTIFIER in dati azienda 2025-07-29 17:21:25 +02:00
b87f320664 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 15:32:41 +02:00
aca25727c0 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 15:32:41 +02:00
a9cbbed8e2 sistemato controllo per documenti imballo 2025-07-29 15:32:34 +02:00
32c38b85aa revisione importazione ordini web
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 15:24:50 +02:00
c7bd74553e Aumentate dimensioni campo taric come da specifiche doganali
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 15:11:40 +02:00
76972b00a1 Creata setup per poter mostrare il pulsante configurazione permessi in pvm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 12:43:14 +02:00
f5b812ebdf aggiunto flag_stampa_pkl nella gtb_anag_note
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 10:50:44 +02:00
7eddb4fe7c Correzione get e set flag_stampa_docu_vend - controllo su modifica ed inserimento ultimi 7 gg
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-29 10:14:31 +02:00
c7a96834a2 revisione procedura di importazione ordini web
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-28 17:54:36 +02:00
a7c3163d84 revisione calcolo totali per ordni web e documenti
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-28 15:46:21 +02:00
bd4390c08b Aggiunto perc_prov in pvm_getassortimentoClientePedane
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-07-25 18:48:34 +02:00
85bd22feb3 riviesta per l'ennesima volta la gestione dei documenti ddtp
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-25 16:49:35 +02:00
ecd0675c78 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-25 14:44:42 +02:00
0826bea857 aggiunta commit per deposito 2025-07-25 14:44:31 +02:00
a0983b0572 aggiunta suffisso per esportazione tracciabilità 2025-07-25 14:43:49 +02:00
8efceb6405 Impostata aliquota del cliente se è in esenzione togliendo il controllo sulla percentuale articolo diversa da 0
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-25 11:16:19 +02:00
ebc26db5f0 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-24 14:27:19 +02:00
6623837f39 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-24 14:27:18 +02:00
0da7cd4f65 aggiunto log erroru 2025-07-24 14:26:55 +02:00
b9fc94b383 Fix nome profile db in user cache
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-23 13:24:40 +02:00
3bcfc65dcb Aggiunta retrieve nazioni per crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-22 17:04:01 +02:00
611616e719 Sostituito hashmap per i metodi di login in favore di UserDTO
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-22 09:37:31 +02:00
c4455218dd Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-22 09:23:03 +02:00
2a61f05d2f Finish AgribookRagSocLegale
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-22 09:23:02 +02:00
625f61dcd4 Aggiunto ragSoc, partIva e codFisc legale in agribook destinatario dto 2025-07-22 09:22:56 +02:00
jenkins
5471b75115 Merge branch 'develop'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-20 07:41:39 +02:00
c92c950f9c spostata voce menu report delle movimentazione delle unità logistiche in Unità Logistiche:colli, Bancali, carrelli etc...
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-18 17:10:30 +02:00
977087b011 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-18 15:52:21 +02:00
5304cf6bf4 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-18 15:52:21 +02:00
9a0322bea0 [CARELLI - TUIDI]
- sostituita inner join con left join per blocchi in retrieve giacenza su deposito TO
2025-07-18 15:52:10 +02:00
3d9bf7ebde Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-17 12:08:45 +02:00
0121e3ef47 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-17 12:08:45 +02:00
9a0c342c4d Modifica calcolo num_colli 2025-07-17 12:08:29 +02:00
88cb4f1dc2 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 18:40:46 +02:00
662f670e3a create setup nella W_DCOLLI_RESO_DLG per impostare giorni e consegne
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 18:34:39 +02:00
1aad3f3bf8 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 13:03:21 +02:00
f25a3c9b80 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 13:03:20 +02:00
e9289c2ce4 [CARELLI - Variazioni PV]
- Aggiunta label in inserimento dati variazioni pv
2025-07-15 12:55:48 +02:00
68e8d3234c Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 11:11:25 +02:00
cba0484c48 Finish SetupCodVmzo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 11:11:24 +02:00
266324fbb0 Aggiunta setup per cod_vmzo in previsioni raccolta 2025-07-15 11:11:18 +02:00
a508a816b1 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 10:15:35 +02:00
6eff18e1c2 Finish AggZonaNuovaProd
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-15 10:15:35 +02:00
ed9486ae87 Aggiunto fornitore in agribook order e codVzon in destinatario 2025-07-15 10:15:25 +02:00
ead82ceeb8 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-14 17:50:24 +02:00
2ea6f8f859 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-14 17:50:24 +02:00
f5aa3a300a piccoli fix funzione vecchia di chiusura lavorazioni 2025-07-14 17:48:48 +02:00
7750d844f1 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-14 12:42:38 +02:00
723ca0a938 Finish AggStampaMovViaggio
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-14 12:42:38 +02:00
94bd7fddb0 Creazione setup per report movimentazione pedane viaggio 2025-07-14 12:42:19 +02:00
2585b87be6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-14 12:14:20 +02:00
b402120ef1 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-14 12:14:20 +02:00
b2c83be809 Modifica fattura elettronica in caso di bio 2025-07-14 12:13:53 +02:00
2324f4efe8 Setup nuova gestione picking colli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-14 12:08:08 +02:00
e12c484190 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-11 18:52:53 +02:00
831b0fc7c3 Aggiunto logger 2025-07-11 18:52:49 +02:00
038245c883 aggiunto controllo su partite incassete per importo maggiore
Some checks failed
IntegryManagementSystem_Multi/pipeline/head Something is wrong with the build of this commit
2025-07-11 17:14:14 +02:00
d5f814350a sistemata chiusura partite
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-11 16:40:58 +02:00
d46a496679 modificata operation
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-11 14:59:23 +02:00
b6e6e96b8d sistemato calcolo totale peso nel documento
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-11 12:10:33 +02:00
5272683bf6 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-11 10:04:59 +02:00
789d48705b [Tosca - ordini V]
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
- corretta gestione anagrafiche vettori in importazione impegnato
2025-07-11 10:04:11 +02:00
c0bb7957b1 Modifica migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-10 18:28:35 +02:00
b0eb4ea897 Finish FixCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-10 17:03:55 +02:00
59528fe7ed Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-07-10 17:03:55 +02:00
23aac3c8b1 Fix in creazione nuova commessa crm 2025-07-10 17:03:43 +02:00
ecee8a184b flag sezione dati viaggio
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-10 13:43:38 +02:00
91210ba643 salvataggio giornaliero giacenza progressiva
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-10 11:24:40 +02:00
2cbb3d3fdc Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-10 09:56:35 +02:00
ca39687b82 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-10 09:56:35 +02:00
d68f9347b5 valorizzata data registrazione quando ci sono dei nuovi carichi 2025-07-10 09:56:20 +02:00
1558dedb68 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 18:08:26 +02:00
6114c5c286 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 18:08:26 +02:00
47d6bd3bbc aggiustata giacenza di articoli non in griglia 2025-07-09 18:08:02 +02:00
1845b31fc0 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 17:56:28 +02:00
c893b6555e Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 17:56:27 +02:00
e7fafa3cb9 Fix creazione nuova attività in crm 2025-07-09 17:56:09 +02:00
8005b63241 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 16:29:38 +02:00
2aeab7b8f8 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 16:29:37 +02:00
de42e8f150 corretto errore null 2025-07-09 16:29:30 +02:00
4ab1c25d90 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 14:52:52 +02:00
06c46a8611 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 14:52:51 +02:00
9588b23fd1 sistemato calcolo della giacenza 2025-07-09 14:52:43 +02:00
fbfe0b297d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 12:51:52 +02:00
cc3df74666 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-09 12:51:51 +02:00
276dcee1dd gestire articoli a kg 2025-07-09 12:51:41 +02:00
3827fd1fa6 sistemato generazione doc da viaggi, aggiunto num_cnf
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-08 17:48:32 +02:00
037d61d0ba Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-07 11:46:54 +02:00
f7e61b19ae Finish AggConvalida2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-07 11:46:53 +02:00
4caae9ef86 Creata nuova colonna convalidato_da2 e data_convalida2 in ctb_amac_manutenzioni 2025-07-07 11:46:45 +02:00
f68d5f0cb9 invio variazioni dopo chiusura tagli prezzo, popolamento giacenza
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-04 18:13:23 +02:00
25b01615d1 aggiunta setup per rossogargano
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-04 14:54:30 +02:00
2574e37e9a sistemata GetSaldoContoAnalitico
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-04 12:06:15 +02:00
a023f429a2 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-04 11:04:13 +02:00
fbbcc19abf Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-04 11:04:12 +02:00
09b607a3a2 CRM fix commessa in fase di creazione 2025-07-04 11:04:03 +02:00
25355ad223 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 17:04:02 +02:00
b0bf6da843 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 17:04:01 +02:00
dae4d06c69 [SMETAR]
- corretta query ordini di lavorazione aggiungendo la commessa
2025-07-03 17:03:50 +02:00
80483d105b Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 16:47:21 +02:00
7d02f3fb49 creata nuova tabella di relazione drlTipiModStampa tra dtb_tipi e dtb_mod_stampa 2025-07-03 16:46:43 +02:00
cefb4b4067 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 15:44:10 +02:00
8c5c5a3ac2 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 15:44:10 +02:00
cf352708dc [SMETAR]
- corretta query ordini di lavorazione evasi per ricerca su fasi errata
2025-07-03 15:39:28 +02:00
ee4cbebe3d Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 15:33:07 +02:00
1fc5164749 fix salvataggio drl_doc_attached 2025-07-03 15:31:32 +02:00
cba2b6d36d Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 15:15:39 +02:00
f7ae9ec98f Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 15:15:39 +02:00
611696a643 aggiunto controllo su flag evaso null in getOrdiniLavorazione 2025-07-03 15:15:28 +02:00
cfb26b3d7b tolto doppio ;
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 15:14:19 +02:00
f94294e3ea Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 15:01:41 +02:00
d620d0bd42 Merge branch 'hotfix/Hotfix-1' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-07-03 15:01:41 +02:00
ea1f9690c7 aggiunto controllo su flag evaso null in getOrdiniLavorazione 2025-07-03 15:01:29 +02:00
8084eb6f58 scadenze bloccate docfinance
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-07-03 12:37:23 +02:00
237b4e4623 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-07-03 12:27:39 +02:00
5b7a3e0397 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 12:27:38 +02:00
fd8664f493 Piccolo fix barcode_ul per importazione bolle metalsistem smetar 2025-07-03 12:27:33 +02:00
8c5d5d19dd nuovo servizio salvataggio allegato documenti
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-07-03 11:20:43 +02:00
f4300415af Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 11:17:06 +02:00
b21674f976 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 11:17:05 +02:00
024f089b59 Rimosso valore N in bloccata nel tracciato docfinance 2025-07-03 11:16:55 +02:00
88b63564ab Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 09:16:12 +02:00
3665277ad4 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 09:16:12 +02:00
0929be9c11 Risolto problema localDate 2025-07-03 09:15:59 +02:00
d50c488d68 Risolto problema localDate
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-03 09:14:28 +02:00
0b2f6da75a Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-02 18:27:24 +02:00
80f8a21ca7 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-02 18:27:24 +02:00
a69e7c6382 sistemato controllo su diacod 2025-07-02 18:27:19 +02:00
39327b890e Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-02 16:50:55 +02:00
d853e37ad9 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-02 16:50:55 +02:00
b12c09cd63 sistemato controllo su diacod 2025-07-02 16:50:23 +02:00
771417958a Aggiunte note riga in contratti di vendita
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-02 16:44:49 +02:00
f5fa467147 Query setup inserimento peso lordo su righe
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-02 15:58:48 +02:00
0aacbd4646 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-01 17:51:30 +02:00
7bb40cebcd Modifica migrations per DMS 2025-07-01 17:51:25 +02:00
383a44b752 Aggiunti servizi per verifica giacenza
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-01 15:41:02 +02:00
a1c4ca30ff sistemato salvataggio imballaggi
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-01 15:18:26 +02:00
7fe8f70108 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-01 13:04:54 +02:00
5dee6b5218 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-07-01 13:04:53 +02:00
306942fc8c sistemata regola 2025-07-01 13:04:43 +02:00
7c3a703ee1 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 17:28:05 +02:00
9d09118ac1 invio variazione dopo chiusura tagli 2025-06-30 17:28:01 +02:00
61db4937fe Spostata setup da sottogruppo a gruppo in chiusura tagli prezzo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 17:23:02 +02:00
0e06c1f72b Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 16:55:46 +02:00
cab6d145f5 Aggiunto campo flag_stato_pros su vista [pvw_clienti_prospect] 2025-06-30 16:55:40 +02:00
6d9fdb90ff Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 16:41:07 +02:00
6acfd0ce3c Finish SetupReport
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 16:41:06 +02:00
f931b57fc3 Aggiunta setup per report materia accettazione rosso gargano 2025-06-30 16:40:32 +02:00
96fefe8c5f Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 16:18:17 +02:00
05878ec97d Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 16:18:16 +02:00
ca2ad8b0be aggiunta data sell out e sistemata lettura cod alis 2025-06-30 16:13:35 +02:00
a107c68937 Aggiunta setup VIEW_SWITCH_DEPO_BUTTON
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 15:39:16 +02:00
6816e6c94e Aggiunto flag_stato_pros in tabella clienti\prospect
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 15:01:46 +02:00
ca5d62c0fa Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 15:01:31 +02:00
5884b95c96 Aggiunto flag_stato_pros in tabella clienti\prospect 2025-06-30 15:01:26 +02:00
25d872570d procedura di aggiornamento listini
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-30 14:47:42 +02:00
01ee490657 Creata setup per chiusura tagli prezzo
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-30 12:51:55 +02:00
ef2601ff58 aggiunto controllo su inevasi per prodotti freschi
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-30 11:23:46 +02:00
ad691925ed Modifica migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 18:15:17 +02:00
cae94ae363 Finish RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 18:12:04 +02:00
cb4c1adc83 Fix salvataggio attività
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-06-27 18:11:35 +02:00
8c2d6fec3e Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 18:09:57 +02:00
7b44b2de14 suggest cod codvvet
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 16:11:18 +02:00
e5ad2974f2 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 16:05:37 +02:00
b9368f0e53 create nuove entity TtbStyleDistCol e TtbStyleDistTagl 2025-06-27 16:05:28 +02:00
3314ace16f Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
# Conflicts:
#	ems-core/src/main/java/it/integry/ems/model/IntegryApplicationEnum.java
#	ems-core/src/main/java/it/integry/ems/user/service/UserCacheService.java
2025-06-27 12:35:42 +02:00
2301167478 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 12:35:15 +02:00
a1b9d39ea4 Aggiunto token Winclock 2025-06-27 12:35:09 +02:00
aa90913155 Rimesso default per errore winclock
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 12:07:46 +02:00
91bc662930 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 12:05:33 +02:00
05b1801ca7 creata nuova entity JtbClavInd 2025-06-27 12:05:22 +02:00
1cb8f15c14 Rimosso default PVM ad integryApplication e controllo app-token in auth/login
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 10:59:02 +02:00
39ebee61e6 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 09:54:03 +02:00
20038253a3 creata nuova voce menu per WMS Trasferimento Pedane 2025-06-27 09:53:55 +02:00
4670f3c1e9 Modifica migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-27 09:27:11 +02:00
a1096f0d08 Creata env variable per filtrare i profili utilizzati
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 18:34:49 +02:00
579b6d7500 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 17:17:56 +02:00
436799e191 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 17:17:56 +02:00
3578a19d6d Modificare 2025-06-26 17:17:38 +02:00
0576383824 Gestione num_conf in importazione ordine di lavorazione da ordine WEB
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-06-26 17:11:13 +02:00
355bb8fc3f Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 17:08:38 +02:00
758c1573cc Gestione causale sul destinatario per DOLCE BONTA - COOP 2025-06-26 17:08:32 +02:00
68c8df103e Finish AggCreateField
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 15:59:37 +02:00
13a8cb5c0b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 15:59:37 +02:00
04c3e6688d Gestito inserimento num piante e superficie in createField agribook 2025-06-26 15:59:28 +02:00
0af1cf575e aggiunto flag_reso_tec nella mtb_aart
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 15:48:57 +02:00
7f8e5f18e8 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 12:07:39 +02:00
1cf01c2c0a Rinominate voci menu delle nuove gestioni documenti nel menu di rossogargano 2025-06-26 12:07:28 +02:00
4b96dbd100 Aggiunto profilo debug Smetar
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 11:41:22 +02:00
29f6a3d7b8 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 11:09:00 +02:00
7141bfbbae Finish ModifAgribookOrder
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 11:08:59 +02:00
9a96b6f3bb Gestito update VtbDest e valUnt Agribook 2025-06-26 11:08:52 +02:00
68ddee31e4 Fix crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-26 09:19:46 +02:00
f198ea83ff Merge branch 'develop' into feature/RefactoringCRM 2025-06-26 09:19:32 +02:00
15e71a4749 Finish Feature-storicoOrdL
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-25 15:58:24 +02:00
f219b549c4 Merge branch 'develop' into feature/Feature-storicoOrdL
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-06-25 15:56:55 +02:00
34745d77b7 ripianifica
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-25 15:55:07 +02:00
3a32fe0a4b aggiunto uno spazio
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-25 15:17:06 +02:00
2c6e073a8c Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-25 14:40:02 +02:00
ed34939228 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-25 14:40:01 +02:00
4bd863bee8 aggiunto prezzo 2025-06-25 14:39:57 +02:00
d5cb1b44d2 getMateriali
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-25 13:42:23 +02:00
5c817382cf Aggiunto tipo codice e tipo codice imballo in saveArticolo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-25 09:19:40 +02:00
2a6dc70996 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 17:40:40 +02:00
14344a3fff inserite le voci di menù delle nuovi gestioni documenti nella sezione "Movimenti di magazzino e controllo scorte" nel menù produzione_alimentare 2025-06-24 17:40:32 +02:00
baab24b9c6 aggiunta raggruppamento per deposito
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 17:20:02 +02:00
75d5025c09 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 16:43:51 +02:00
d9c4aa5a50 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 16:43:51 +02:00
f683d51b7a reimpostata la condizione di where 2025-06-24 16:43:46 +02:00
ae029bf493 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 16:40:27 +02:00
4e7456df6a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 16:40:27 +02:00
fd1c585edd reimpostata la condizione di where 2025-06-24 16:40:22 +02:00
023b6e0958 unificata la regola che imposta i dati del documento a valore
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 16:03:08 +02:00
df5d7e03ec inserie codie produttore su listino di apulia e sostituito date con localdate
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-24 15:41:06 +02:00
e3c330f8cc Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 12:10:07 +02:00
0a67f0d789 aggiunto messaggio di errore nell'importazione 2025-06-24 12:10:02 +02:00
b3a5701e59 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 12:00:36 +02:00
51262b49c3 inserito default = N nel campo flag_jflav_default della JrlFlavUsers 2025-06-24 12:00:25 +02:00
d042c06523 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 11:13:11 +02:00
d6bfabb6a2 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 11:13:10 +02:00
c12e1235c9 sistemata condizione di where 2025-06-24 11:12:55 +02:00
ac28224c97 impostato ad N il campo flag_jflav_default se null e reso not null, inserita relazione nella stbUser con JrlFlavUsers
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 11:05:44 +02:00
924ee5a19e Fix crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-24 09:10:26 +02:00
5b7f2f3740 Merge branch 'develop' into feature/RefactoringCRM 2025-06-24 09:10:14 +02:00
d65965c06c Finish ModifCatastoTerreni
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-23 13:00:31 +02:00
b8154ff40a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-23 13:00:31 +02:00
ab9b24e511 Aggiunto lotto in paginatedRetrieveOrders agribook 2025-06-23 13:00:10 +02:00
eb098f345a Migration condifurazione TAMAI LICOR
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-23 12:52:43 +02:00
bd9cb29821 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-23 12:12:29 +02:00
f3f8cdae13 Migration condifurazione TAMAI LICOR 2025-06-23 12:11:49 +02:00
365082edbd Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-23 11:57:36 +02:00
6cb0625690 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-23 11:57:36 +02:00
d4157c49eb gestito null se non trova il documento 2025-06-23 11:57:26 +02:00
b2179ae30b Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-23 09:37:51 +02:00
d7c310fb46 Modifica generazione giroconto matricola MAGGIO
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 18:07:34 +02:00
2835038d00 Modifica generazione giroconto matricola MAGGIO
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 17:58:35 +02:00
fc1a1a7f01 aggiunta codice pagamento su scadenze se sono null
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 17:36:46 +02:00
97d960b26c nuovi servizi crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 17:15:40 +02:00
e2d4b47ca6 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 17:12:40 +02:00
78186b984c creati moduli di stampa ORDP e ORDCT 2025-06-20 17:12:31 +02:00
7f3213565f Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 16:12:34 +02:00
f6b29f195a Fix completeOrder 2025-06-20 16:12:27 +02:00
41cb351658 nuovi servizi crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 15:44:58 +02:00
5eb0fad2b5 Creato servizio per paginazione dati agribook e creato menu catasto terreni
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 12:43:31 +02:00
993314d773 Rimosso slash nell'url dell'apk del WMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 12:11:03 +02:00
c7ad5d9cb2 Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 10:59:14 +02:00
dec7858b4b Merge remote-tracking branch 'origin/feature/RefactoringCRM' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-20 10:49:31 +02:00
446669d271 Fix crmUtility 2025-06-20 10:49:24 +02:00
c9eddc0590 Finish Feature-Iban
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 17:23:57 +02:00
93442e35f4 non salvare iban
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-06-19 17:23:49 +02:00
3639fdd3a1 Merge branch 'develop' into feature/Feature-Iban
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 17:06:18 +02:00
ec0804bf4c nuovi servizi crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 17:03:59 +02:00
23830143dd Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 16:51:19 +02:00
aea09edd2b personalizzato datawindow Report Scadenze Clienti/Fornitori: Elenco Scadenze per Sabato 2025-06-19 16:50:38 +02:00
28a7778f35 inserito db sabato in IntegryCustomer 2025-06-19 16:49:30 +02:00
e8967501ee Fix null saveActivity
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 15:27:08 +02:00
cd9d7b6911 Merge branch 'develop' into feature/RefactoringCRM 2025-06-19 15:24:53 +02:00
fd3bccad15 nuovi servizi crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 15:21:41 +02:00
2502542dc6 Piccole migliorie log4j
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 12:25:46 +02:00
1a04368005 non salvare iban
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 11:59:25 +02:00
3a5173a906 sistemata regola
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 11:58:09 +02:00
005f2655ff Implementato shutdown Log4j
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 10:58:16 +02:00
7d0cdf3d2a Aggiunta migration per abilitare i flag di DELIMITED_IDENTIFIER, FLAG_ANSI_PADDING, FLAG_CONCAT_NULL_YIELDS_NULL
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 10:39:22 +02:00
def18d5642 Rimossa dipendenza javax.servlet
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 10:24:26 +02:00
29ba885129 Rimosso import non utilizzato
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 10:04:05 +02:00
00d48cbe90 Aggiornato Jenkinsfile
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-19 09:47:30 +02:00
d428ab467b crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-18 17:21:49 +02:00
9d7f95a3c6 inserita regola per valorizzare oramod su stb_activity
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-18 16:32:36 +02:00
dcc85817a9 Merge remote-tracking branch 'origin/feature/RefactoringCRM' into feature/RefactoringCRM
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-18 16:32:03 +02:00
666a32bfc1 Aggiunta retrieve impostazioni crm 2025-06-18 16:31:56 +02:00
ccbeff7f55 Merge branch 'develop' into feature/RefactoringCRM
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/order/crm/service/CrmService.java
2025-06-18 16:27:11 +02:00
a83c38526d inserita regola per valorizzare oramod su stb_activity
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-18 16:23:50 +02:00
10a08365c2 aggiunta selezione del listino nell'importazione delle promo apulia
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-18 13:11:29 +02:00
9d88aefdf7 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-18 12:31:12 +02:00
a04dc97b1c Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-18 12:31:11 +02:00
c0dc9f9f45 sistemata update colli 2025-06-18 12:30:32 +02:00
b8bec7d42a eliminata riga duplicata
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-18 12:19:41 +02:00
523be40778 Modifica spostamento data produzione
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-18 12:06:54 +02:00
b34d746088 controllo codice fiscale
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-18 12:05:29 +02:00
424604ea3a Aggiornato Jenkinsfile
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-17 18:08:50 +02:00
a329a7e0b9 Aggiornato servizio di updateWMSApp
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-17 18:07:11 +02:00
58724e30e3 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-17 17:16:44 +02:00
47c9db46e4 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-17 17:16:44 +02:00
d3de614b82 aggiunto commit in sincronizzazione remote subscription per ogni gruppo di transazioni 2025-06-17 17:16:33 +02:00
0187f23c5c varie:
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
rif_ord in ordini di vendita
rivisto servizio import documenti web
stampa per vgalimenti
2025-06-17 17:10:33 +02:00
909f16b05b aggiunto stampa_doc_cons nella vtb_dest
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-17 10:38:55 +02:00
c4eb47a6b3 Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-17 08:57:52 +02:00
1003f4e2d0 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 18:52:52 +02:00
01f8a0e84d Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-06-16 18:52:51 +02:00
a1505c43a3 sistemato aggiornamento contratti 2025-06-16 18:52:45 +02:00
2f94b2cc44 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 18:40:51 +02:00
681d3f6804 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-06-16 18:40:51 +02:00
c12409f926 sistemata query non filtrava su gestione 2025-06-16 18:40:44 +02:00
a1ad6fc86c Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-16 18:38:36 +02:00
2fc248b7ad Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
2025-06-16 18:38:35 +02:00
518ab172ff sistemata query non filtrava su gestione 2025-06-16 18:38:26 +02:00
1b8b9d4b14 Nuovo storico ordini
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 17:47:01 +02:00
1df4b46f62 Merge branch 'hotfix/Hotfix-1' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 17:19:36 +02:00
fd256e9722 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 17:19:36 +02:00
797d9e09a8 Migration ed Entity per aree di magazzino 2025-06-16 17:19:23 +02:00
5e3cbc5b40 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 12:21:32 +02:00
5aeb27f719 aggiunto flag_attivo nella ctb_amac 2025-06-16 12:21:23 +02:00
857df1c265 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 11:56:07 +02:00
d9e1df95b3 Finish FixExecGroupStep
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-16 11:56:06 +02:00
847743b93e Fix confronto oggetti in executeGroupStep 2025-06-16 11:55:59 +02:00
1a0fb71404 protocolli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-13 18:05:51 +02:00
c2cbdd4578 Modifiche migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-13 17:06:37 +02:00
4140c9314d Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-13 13:07:47 +02:00
9535500336 FATTURA ELETTRONICA: Modifica per escludere visualizzazione serie in numDocRif quando si tratta di autofattura 2025-06-13 13:07:43 +02:00
f2d8c06ec0 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-13 12:55:58 +02:00
145194efec aggiornata f_getSSCC 2025-06-13 12:55:52 +02:00
696b28e130 Impostato skipCommit su tutti i processEntity in WMSUtility
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-12 13:41:15 +02:00
cba813d062 Impostato skipCommit in deleteUL
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-12 13:37:02 +02:00
376a1a0afa modifiche per aggiornamento listini di vendita da acquisto
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-12 13:17:24 +02:00
8ec9959396 Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-12 13:01:15 +02:00
57ba03fc29 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-12 12:04:55 +02:00
fef869e91b Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-12 12:04:55 +02:00
6cb5932755 FATTURA ELETTRONICA: Modifica per escludere visualizzazione serie in numDocRif quando si tratta di autofattura 2025-06-12 12:04:21 +02:00
22bba4b76b Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 18:02:24 +02:00
c900484a49 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 18:02:24 +02:00
be387fc0e0 Modifica importazione ordini ESSEGRANDE 2025-06-11 18:02:10 +02:00
127f8858bc Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 16:40:15 +02:00
92855247b7 Modifiche migrations per DMS 2025-06-11 16:40:10 +02:00
93388bf841 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 15:49:18 +02:00
b06b21049e Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 15:49:17 +02:00
524dd39b15 cambiato controllo su data griglia 2025-06-11 15:49:10 +02:00
3fd3cb968a Merge remote-tracking branch 'origin/master'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 15:46:32 +02:00
c40c2b123a Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 13:17:39 +02:00
a1511c6e26 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 13:17:38 +02:00
cf00744287 Gestione sconti testata documenti\ordini 2025-06-11 13:17:10 +02:00
81a39a4786 Merge branch 'hotfix/Hotfix-1' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-11 11:19:35 +02:00
b74cdbe3c0 Merge branch 'hotfix/Hotfix-1'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-11 11:19:35 +02:00
6b8089e18a aggiunto pattern di default sui parametri request di tipo date 2025-06-11 11:19:23 +02:00
c09945dd7e Gestione 2M_Holding in customerDB e modifica migrations per DMS
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-10 16:40:44 +02:00
348bc410f0 Finish Hotfix-101
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-10 16:31:40 +02:00
a2000a0e37 Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-10 16:31:40 +02:00
8d0b126568 Modifica procedura riassegnazione costi SMETAR 2025-06-10 16:31:28 +02:00
96369ecdb5 Modifica proecedura controllo fatture passive
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-06-10 16:30:26 +02:00
cfec5c8c3d aggiunta tabella storico contratti di vendita
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-10 16:29:42 +02:00
aabab55f77 aggiunto cod_vdes nella vista vvw_sit_consegneXcommessa
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-10 15:31:48 +02:00
425d57453d Merge remote-tracking branch 'origin/develop' into develop
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-06-10 15:26:15 +02:00
0d7574e1b9 abilitazione mtb_depo con servizi rest 2025-06-10 15:26:05 +02:00
7a0132b00e Nuovo db Tenuta San Martino di Biolevante
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-10 15:25:09 +02:00
31e42d932d Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/retail/pvmRetail/service/PvmService.java
2025-06-09 19:24:08 +02:00
d2ad1a88e0 Finish Hotfix-100 2025-06-09 19:20:31 +02:00
54468d1a38 cambiato controllo su data griglia 2025-06-09 19:20:23 +02:00
cc39751264 modifiche a variaizone data consegna su ordini di vendita, modificato controllo tagli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 19:00:31 +02:00
d351534f11 aggiunto cod_mgrp per gestione tolleranza scadenze
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 15:11:07 +02:00
c50d4c8b0f Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 14:44:36 +02:00
3f7a98efb7 Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 14:44:35 +02:00
a49367fb80 aggiornamento griglie di vendita 2025-06-09 14:42:40 +02:00
7734d4aad7 Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 14:09:07 +02:00
249d377c25 creta setup per visualizzare o meno tasto Azzera Giacenza nel report Giacenza per Partita 2025-06-09 14:08:56 +02:00
7827f7bdbf Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 09:36:44 +02:00
bc4b741007 Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 09:36:43 +02:00
b25a40f085 Fix pianificazione attività 2025-06-09 09:36:33 +02:00
1e34e19956 Fix gestione mtb_cols durante exchange colli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-09 09:19:05 +02:00
75afa5c1c1 Merge branch 'master' into develop
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-06-09 08:42:49 +02:00
1b9df2c4bb Gestito recupero cod_ccon
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-06 11:35:20 +02:00
e3c3d3fdf8 Merge branch 'develop' into feature/RefactoringCRM 2025-06-06 11:30:59 +02:00
7b63eef054 Merge branch 'develop' into feature/RefactoringCRM 2025-06-06 09:40:10 +02:00
1d050d8b6c Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-05 09:30:14 +02:00
f137e88fd7 Merge branch 'develop' into feature/RefactoringCRM
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-04 16:33:51 +02:00
5d8915796c Refactor classi crm
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-06-04 14:45:56 +02:00
1496 changed files with 82520 additions and 73881 deletions

2
.gitignore vendored
View File

@@ -122,3 +122,5 @@ fabric.properties
/temp
/docker/tomcat/conf/integry/logs.db
/docker/tomcat/conf/integry/logs.db-journal
copilot.*.xml
/.idea/dataSources.xml

6
.idea/copilot.data.migration.edit.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EditMigrationStateService">
<option name="migrationStatus" value="COMPLETED" />
</component>
</project>

18
.idea/copilotDiffState.xml generated Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="PROJECT_PROFILE" value="LocalDate Checks" />
<version value="1.0" />
</settings>
</component>

View File

@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="central" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />

View File

@@ -1,10 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat 9 (RistoCash)" type="Remote">
<configuration default="false" name="Tomcat 9 (AnydeskTunnel)" type="Remote">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="127.0.0.1" />
<option name="HOST" value="localhost" />
<option name="PORT" value="8001" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">

View File

@@ -1,14 +1,14 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat (AnydeskTunnel)" type="Remote">
<configuration default="false" name="Tomcat #1 (Smetar) [VPN]" type="Remote" folderName="Smetar">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="servertomcat" />
<option name="PORT" value="8001" />
<option name="HOST" value="10.0.0.2" />
<option name="PORT" value="5005" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8001" />
<option name="DEBUG_PORT" value="5005" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />

30
.idea/structuralSearch.xml generated Normal file
View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="StructuralSearch">
<searchConfiguration name="LocalDate passato a SimpleDateFormat" text="$formatter$.format($date$)" recursive="true" caseInsensitive="true" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="formatter" nameOfExprType="java\.text\.SimpleDateFormat" within="" contains="" />
<constraint name="date" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="LocalDate equals java.util.Date inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.util\.Date" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="java.util.Date equals LocalDate inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.util\.Date" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.time\.LocalDate" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="java.util.Date equals LocalDateTime inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.util\.Date" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.time\.LocalDateTime" within="" contains="" />
</searchConfiguration>
<searchConfiguration name="LocalDateTime equals java.util.Date inspection" text="$d1$.equals($d2$)" recursive="true" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="d1" nameOfExprType="java\.time\.LocalDateTime" within="" contains="" />
<constraint name="d2" nameOfExprType="java\.util\.Date" within="" contains="" />
</searchConfiguration>
</component>
</project>

18
Containerfile Normal file
View File

@@ -0,0 +1,18 @@
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 USERDOMAIN="STUDIO-ML"
COPY docker/tomcat/conf/integry/ems.properties /usr/local/tomcat/conf/integry/
COPY docker/tomcat/conf/integry/ems_automated_operations.json /usr/local/tomcat/conf/integry/
COPY docker/tomcat/conf/integry/ems_settings.json /usr/local/tomcat/conf/integry/
COPY ems-engine/target/ems-api.war /usr/local/tomcat/webapps/
#COPY docker/FontTest.class .
#ENTRYPOINT ["java","FontTest"]
EXPOSE 8080
EXPOSE 5005

View File

@@ -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/

View File

@@ -10,12 +10,29 @@ pipeline {
stage('PreBuild Steps (Master)') {
when {
expression {
return env.GIT_BRANCH == "master"
return env.GIT_BRANCH == "master" || env.GIT_BRANCH == "feature/RefactoringGestioneColli"
}
}
steps {
echo "Creo version tag su Git"
bat 'build\\create_build_tag.bat'
script {
def date = new Date()
def formattedDate = date.format('yyyyMMdd_HHmm')
def tagName = "${env.GIT_BRANCH.toLowerCase().replace('/', '-')}-${formattedDate}"
def tagMessage = "Build #${env.BUILD_NUMBER} - ${env.GIT_BRANCH}"
def envPropertiesText = "project.version=${formattedDate}"
writeFile(
'file': 'ems-core\\src\\main\\resources\\configs\\env.properties',
'text': envPropertiesText
)
bat "git add . -A"
bat "git tag -a ${tagName} -m \"${tagMessage}\""
bat "git push origin ${tagName}"
}
}
}
stage('Maven Build') {
@@ -25,7 +42,7 @@ pipeline {
bat(script: 'mvn clean install -t toolchains-jenkins.xml', returnStdout: true)
archiveArtifacts(artifacts: 'ems-engine/target/ems-api.war', onlyIfSuccessful: true)
}
stash includes: 'ems-engine/target/ems-api.war,docker/**,Dockerfile', name: 'docker-files'
stash includes: 'ems-engine/target/ems-api.war,docker/**,Containerfile', name: 'container-files'
}
}
@@ -49,8 +66,8 @@ pipeline {
steps {
echo "Updating Tomcat9 from ${WORKSPACE}"
powershell returnStdout: true, script: "build\\update_tomcat.ps1 -serviceName \"Tomcat9Backup\" -httpPort \"8082\" -updatedArtifactPath \"${WORKSPACE}\\ems-engine\\target\\ems-api.war\""
bat 'curl -k https://devservices.studioml.it/ems-api/updateWMSApp'
bat 'curl -k https://devservices.studioml.it/ems-api/updateWMSApp?suffix=beta'
bat 'curl -k "https://devservices.studioml.it/ems-api/updateWMSApp?overrideForced=false"'
bat 'curl -k "https://devservices.studioml.it/ems-api/updateWMSApp?overrideForced=false&suffix=beta"'
}
}
}
@@ -83,8 +100,8 @@ sudo /usr/bin/systemctl start tomcat9backup
/home/studioml/./wait_tomcat_startup.sh 8082
sleep 10''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/tomcat9backup/webapps', remoteDirectorySDF: false, removePrefix: 'ems-engine/target/', sourceFiles: 'ems-engine/target/*.war*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
bat 'curl -k https://services.studioml.it/ems-api/updateWMSApp'
bat 'curl -k https://services.studioml.it/ems-api/updateWMSApp?suffix=beta'
bat 'curl -k "https://services.studioml.it/ems-api/updateWMSApp?overrideForced=false"'
bat 'curl -k "https://services.studioml.it/ems-api/updateWMSApp?overrideForced=false&suffix=beta"'
}
}
}
@@ -101,7 +118,7 @@ sleep 10''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaul
steps {
node('server-build') {
echo "Building Docker image"
unstash 'docker-files'
unstash 'container-files'
script {
def branchVersion = ""
@@ -110,7 +127,9 @@ sleep 10''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaul
branchVersion = "-${env.GIT_BRANCH.toLowerCase().replace('/', '-')}"
}
bat "docker buildx build --platform linux/amd64,linux/arm64 --push -t \"git.studioml.it/integry/ems-api${branchVersion}:latest\" ."
// bat "docker buildx build --platform linux/amd64,linux/arm64 --push -t \"git.studioml.it/integry/ems-api${branchVersion}:latest\" ."
bat "podman build -f .\\Containerfile -t \"git.studioml.it/integry/ems-api${branchVersion}:latest\" ."
bat "podman push \"git.studioml.it/integry/ems-api${branchVersion}:latest\""
//containerImageLink "git.studioml.it/integry/ems-api-${env.GIT_BRANCH.toLowerCase().replace('/', '-')}:latest}"
}
@@ -169,14 +188,14 @@ sleep 10''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaul
success {
script {
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "develop") {
office365ConnectorSend adaptiveCards: true, color: '#008000', message: 'EMS-API &grave; stato compilato con successo', status: 'SUCCESS', webhookUrl: 'https://prod-197.westeurope.logic.azure.com:443/workflows/69a7b8ee3c284175bd6da7127c7eb3cf/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_-eMfvsQGkIidHWzzlhGFgiZG28ujHZ41QqzuqD9YGw'
office365ConnectorSend adaptiveCards: true, color: '#008000', message: 'EMS-API è stato compilato con successo', status: 'SUCCESS', webhookUrl: 'https://prod-197.westeurope.logic.azure.com:443/workflows/69a7b8ee3c284175bd6da7127c7eb3cf/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_-eMfvsQGkIidHWzzlhGFgiZG28ujHZ41QqzuqD9YGw'
}
}
}
unstable {
script {
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "develop") {
office365ConnectorSend adaptiveCards: true, color: '#FFDE21', message: 'EMS-API &grave; INSTABILE', status: 'UNSTABLE', webhookUrl: 'https://prod-197.westeurope.logic.azure.com:443/workflows/69a7b8ee3c284175bd6da7127c7eb3cf/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_-eMfvsQGkIidHWzzlhGFgiZG28ujHZ41QqzuqD9YGw'
office365ConnectorSend adaptiveCards: true, color: '#FFDE21', message: 'EMS-API è INSTABILE', status: 'UNSTABLE', webhookUrl: 'https://prod-197.westeurope.logic.azure.com:443/workflows/69a7b8ee3c284175bd6da7127c7eb3cf/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_-eMfvsQGkIidHWzzlhGFgiZG28ujHZ41QqzuqD9YGw'
}
}
}

View File

@@ -1,43 +0,0 @@
REM SET YEAR
set YEAR=%date:~6,4%
REM SET MONTH
set MONTH=%date:~3,2%
if %MONTH% LSS 10 set MONTH=%MONTH:~1,2%
if %MONTH% LSS 10 set MONTH=0%MONTH%
REM SET DAY
set DAY=%date:~0,2%
if %DAY% LSS 10 set DAY=%DAY:~1,2%
if %DAY% LSS 10 set DAY=0%DAY%
REM SET HOUR
set HOUR=%time:~0,2%
if %HOUR% LSS 10 set HOUR=%HOUR:~1,2%
if %HOUR% LSS 10 set HOUR=0%HOUR%
REM SET MINUTE
set MINUTE=%time:~3,2%
if %MINUTE% LSS 10 set MINUTE=%MINUTE:~1,2%
if %MINUTE% LSS 10 set MINUTE=0%MINUTE%
REM SET SECOND
set SECOND=%time:~6,2%
if %SECOND% LSS 10 set SECOND=%SECOND:~1,2%
if %SECOND% LSS 10 set SECOND=0%SECOND%
set mydate=%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%
echo #spring.profiles.active=@activatedProperties@ > ems-core\src\main\resources\configs\env.properties
echo project.version=%mydate% >> ems-core\src\main\resources\configs\env.properties
git add . -A
git commit -m "%mydate%"
git tag "%mydate%"
git push https://git.studioml.it/Integry/IntegryManagementSystem.git --tags
git push https://git.studioml.it/Integry/IntegryManagementSystem.git --all

File diff suppressed because it is too large Load Diff

View File

@@ -68,7 +68,7 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>2.24.3</version>
<version>2.25.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
@@ -155,12 +155,6 @@
<version>20200518</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
@@ -235,6 +229,11 @@
<artifactId>arial-rounded</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>it.integry.font</groupId>
<artifactId>NotoSerif</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
@@ -361,11 +360,6 @@
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
@@ -374,6 +368,11 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.20</version> <!-- Versione scritta a mano perché qui non hanno usato lo 0 finale -->
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>${jackson.version}</version>
</dependency>
@@ -405,6 +404,17 @@
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>2.7.18</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.6.15.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
@@ -450,6 +460,7 @@
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.4</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
@@ -572,7 +583,7 @@
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>0.11.5</version>
<scope>runtime</scope>
<scope>compile</scope>
</dependency>
<!--Expiring Map-->

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

@@ -0,0 +1,14 @@
package it.integry.annotations;
import it.integry.ems.migration._base.IntegryCustomer;
import org.springframework.stereotype.Indexed;
import java.lang.annotation.*;
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Indexed
public @interface CustomerComponent {
IntegryCustomer value();
}

View File

@@ -0,0 +1,17 @@
package it.integry.annotations;
import it.integry.ems.migration._base.IntegryCustomer;
import org.springframework.core.annotation.AliasFor;
import java.lang.annotation.*;
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@CustomerComponent(IntegryCustomer.Integry) // Valore di default, verrà sovrascritto
public @interface CustomerService {
@AliasFor(
annotation = CustomerComponent.class
)
IntegryCustomer value();
}

View File

@@ -11,6 +11,7 @@ public class CommonConstants {
public static final String INTEGRY = "integry";
public static final String PROFILE_DB = "profileDb";
public static final String COD_MDEP = "codMdep";
public static final String WHERE_COND = "whereCond";
public static final String EMPTY_STRING = "";
@@ -20,6 +21,7 @@ public class CommonConstants {
public static final String TIMESTAMP = "timestamp";
public static final String DATE_FORMAT_YMD_SLASHED = "yyyy/MM/dd";
public static final String DATE_FORMAT_YMD = "yyyy-MM-dd";
public static final String DATE_FORMAT_DMY = "dd/MM/yyyy";
public static final String DATE_FORMAT_DMY_DASHED = "dd-MM-yyyy";
@@ -27,7 +29,7 @@ public class CommonConstants {
public static final String TIME_FORMAT = "HH:mm:ss";
public static final String DATETIME_FORMAT_YMD = String.format("%s %s", DATE_FORMAT_YMD, TIME_FORMAT);
public static final String DATETIME_FORMAT_YMD = String.format("%s %s", DATE_FORMAT_YMD_SLASHED, TIME_FORMAT);
public static final String DATETIME_FORMAT_DMY = String.format("%s %s", DATE_FORMAT_DMY_DASHED, TIME_FORMAT);
public static final String DATETIME_FORMAT_DMY_SLASHED = String.format("%s %s", DATE_FORMAT_DMY, TIME_FORMAT);
public static final String DATETIME_FORMAT_DMY_DASHED = String.format("%s %s", DATE_FORMAT_DMY_DASHED, TIME_FORMAT);
@@ -46,6 +48,10 @@ public class CommonConstants {
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATE_YMD_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_YMD_SLASHED)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_YMD_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_YMD)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATE_YMD_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_YMD)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_YMD_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_YMD)
@@ -53,6 +59,8 @@ public class CommonConstants {
public static final DateTimeFormatter DATE_DMY_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_DMY)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATE_DMY_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATE_FORMAT_DMY_DASHED)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_DMY_SLASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_DMY_SLASHED)
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATETIME_DMY_DASHED_FORMATTER = DateTimeFormatter.ofPattern(CommonConstants.DATETIME_FORMAT_DMY_DASHED)

View File

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import it.integry.ems.Import.dto.AnomalieDTO;
import it.integry.ems.Import.dto.ImportRequestDTO;
import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.json.JsonObjectMapperConfig;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase;
@@ -24,6 +25,7 @@ public abstract class BaseEntityImporter<T> implements IEntityImporter<T> {
protected String format;
protected boolean headless;
protected ImportRequestDTO requestDto;
protected RequestDataDTO requestDataDTO;
protected MultiDBTransactionManager multiDBTransactionManager;
protected List<AnomalieDTO> anomalie = new ArrayList<AnomalieDTO>();
@@ -77,6 +79,12 @@ public abstract class BaseEntityImporter<T> implements IEntityImporter<T> {
return this;
}
@Override
public IEntityImporter<T> setRequestDataDTO(RequestDataDTO requestDataDTO) {
this.requestDataDTO = requestDataDTO;
return this;
}
public List<AnomalieDTO> getAnomalie() {
return anomalie;
}
@@ -100,4 +108,6 @@ public abstract class BaseEntityImporter<T> implements IEntityImporter<T> {
}
}

View File

@@ -2,6 +2,7 @@ package it.integry.ems.Import.base;
import it.integry.ems.Import.dto.AnomalieDTO;
import it.integry.ems.Import.dto.ImportRequestDTO;
import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.service.SetupGest;
@@ -26,10 +27,14 @@ public interface IEntityImporter<T> {
IEntityImporter<T> setRequestDTO(ImportRequestDTO requestDto);
IEntityImporter<T> setRequestDataDTO(RequestDataDTO requestDataDTO);
List<AnomalieDTO> getAnomalie();
T doImport() throws Exception;
String renameFile(String orginalFileName, List<EntityBase> entities) throws Exception;
}

View File

@@ -24,7 +24,9 @@ public enum EntityImportType {
MOVIMENTI_CONTABILI("MOVIMENTI CONTABILI"),
GRIGLIA_VENDITA("GRIGLIA VENDITA"),
GRIGLIA_ACQUISTO("GRIGLIA ACQUISTO"),
SCADENZE("SCADENZE");
SCADENZE("SCADENZE"),
BILANCE("BILANCE"),
BANCA("BANCA");
private String text;

View File

@@ -23,6 +23,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.DriverManager;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutorService;
@@ -72,6 +73,22 @@ public class EmsCoreContext {
@PreDestroy
public void preDestroy() {
contextInitialized = false;
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Enumeration<java.sql.Driver> drivers = DriverManager.getDrivers();
logger.info("Deregister DB Drivers");
while (drivers.hasMoreElements()) {
java.sql.Driver driver = drivers.nextElement();
if (driver.getClass().getClassLoader() == cl) {
try {
DriverManager.deregisterDriver(driver);
} catch (Exception ex) {
// log error
}
}
}
}
//@EventListener(ContextRefreshedEvent.class)

View File

@@ -2,12 +2,10 @@ package it.integry.ems._context;
import it.integry.annotations.PostContextConstruct;
import it.integry.common.var.EmsDBConst;
import it.integry.ems.datasource.DataSource;
import it.integry.ems.expansion.RunnableArgsThrowable;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -15,7 +13,6 @@ import it.integry.ems.task.TaskExecutorService;
import it.integry.ems.user.service.UserCacheService;
import it.integry.ems_model.entity.Azienda;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityString;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -58,6 +55,8 @@ public class EmsCoreDBLoader {
public void init() throws Exception {
this.settingsController.addOnConfigUpdated(() -> {
try {
connectionPool.destroy();
connectionPool.init();
load(null);
} catch (Exception e) {
throw new RuntimeException(e);
@@ -66,13 +65,10 @@ public class EmsCoreDBLoader {
}
public void load(final RunnableArgsThrowable<MultiDBTransactionManager> onComplete) throws Exception {
connectionPool.init();
taskExecutorService.executeTask(() -> {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionPool)){
discoverAllConnections(multiDBTransactionManager);
setupAzienda(multiDBTransactionManager);
userCacheService.discoverAllUsers(multiDBTransactionManager);
if (onComplete != null) onComplete.run(multiDBTransactionManager);
} catch (Exception ex) {
@@ -86,19 +82,13 @@ public class EmsCoreDBLoader {
private void discoverAllConnections(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
ArrayList<Callable<Void>> futureTasks = new ArrayList<>();
for (AvailableConnectionsModel model : settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true)) {
for (AvailableConnectionModel model : settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true)) {
AtomicReference<AvailableConnectionsModel> modelAtomicReference = new AtomicReference<>(model);
AtomicReference<AvailableConnectionModel> modelAtomicReference = new AtomicReference<>(model);
futureTasks.add(() -> {
try {
final DataSource ds = connectionPool.getConnection(modelAtomicReference.get().getProfileName());
String sql = "SELECT db_distributore FROM azienda";
String dbDistributore = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(ds.getConnection(), sql);
multiDBTransactionManager.addConnection(modelAtomicReference.get().getProfileName(), ds, modelAtomicReference.get().getDbName().equalsIgnoreCase(dbDistributore));
multiDBTransactionManager.addConnection(modelAtomicReference.get());
return null;
} catch (Exception ex) {
throw new Exception("[" + modelAtomicReference.get().getProfileName() + "] " + ex.getMessage(), ex.getCause());
@@ -113,13 +103,11 @@ public class EmsCoreDBLoader {
ArrayList<Callable<Void>> futureTasks = new ArrayList<>();
for (final AdvancedDataSource advancedDataSource : multiDBTransactionManager.getActiveConnections()) {
AtomicReference<AdvancedDataSource> atomicAdvancedDataSource = new AtomicReference<>(advancedDataSource);
for (final Connection connection : multiDBTransactionManager.getActiveConnections()) {
futureTasks.add(() -> {
Connection conn = atomicAdvancedDataSource.get().getConnection();
Azienda azienda = Azienda.getDefaultAzienda(conn);
String dbName = atomicAdvancedDataSource.get().getDataSource().getDbName();
Azienda azienda = Azienda.getDefaultAzienda(connection);
String dbName = connection.getDbName();
try {
if (azienda != null) {
@@ -131,7 +119,7 @@ public class EmsCoreDBLoader {
}
HashMap<String, String> gestSetupValues =
setupGest.getSetupSection(conn, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
setupGest.getSetupSection(connection, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
emsDBConst.getConsts(dbName)
.setApplicationDbName(applicationDbName)
@@ -142,7 +130,7 @@ public class EmsCoreDBLoader {
throw new Exception("Non è stato possibile leggere i dati dalla tabella azienda");
}
} catch (Exception ex) {
throw new Exception("[" + atomicAdvancedDataSource.get().getProfileName() + "] " + ex.getMessage(), ex.getCause());
throw new Exception("[" + connection.getProfileName() + "] " + ex.getMessage(), ex.getCause());
}
return null;
});

View File

@@ -0,0 +1,27 @@
package it.integry.ems.adapter;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.utility.UtilityString;
import java.io.IOException;
public class LongDeserializer extends JsonDeserializer<Long> {
@Override
public Long deserialize(JsonParser parser, DeserializationContext context)
throws IOException {
String string = parser.getText();
if (!UtilityString.isNullOrEmpty(string)) {
if (string.equalsIgnoreCase("null")) {
return EmsRestConstants.LONG_NULL;
}
return new Long(string);
} else
return null;
}
}

View File

@@ -0,0 +1,34 @@
package it.integry.ems.adapter;
import it.integry.ems_model.utility.UtilityString;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class XmlLocalDateAdapter extends XmlAdapter<String, LocalDate> {
private DateTimeFormatter sdf;
public XmlLocalDateAdapter() {
sdf = DateTimeFormatter.ofPattern("dd-MM-yyyy");
}
public XmlLocalDateAdapter(String format) {
sdf = DateTimeFormatter.ofPattern(format);
}
@Override
public String marshal(LocalDate arg0) throws Exception {
return arg0.format(sdf);
}
@Override
public LocalDate unmarshal(String arg0) throws Exception {
String format = UtilityString.determineDateFormat(arg0);
if (format != null && !"dd-MM-yyyy".equals(format))
sdf = DateTimeFormatter.ofPattern(format);
return LocalDate.parse(arg0,sdf);
}
}

View File

@@ -0,0 +1,36 @@
package it.integry.ems.adapter;
import it.integry.ems_model.utility.UtilityString;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class XmlLocalDateTimeAdapter extends XmlAdapter<String, LocalDateTime> {
private DateTimeFormatter sdf;
public XmlLocalDateTimeAdapter() {
sdf = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
}
public XmlLocalDateTimeAdapter(String format) {
sdf = DateTimeFormatter.ofPattern(format);
}
@Override
public String marshal(LocalDateTime arg0) throws Exception {
return arg0.format(sdf);
}
@Override
public LocalDateTime unmarshal(String arg0) throws Exception {
String format = UtilityString.determineDateFormat(arg0);
if (format != null && !"dd-MM-yyyy HH:mm:ss".equals(format))
sdf = DateTimeFormatter.ofPattern(format);
return LocalDateTime.parse(arg0,sdf);
}
}

View File

@@ -0,0 +1,170 @@
package it.integry.ems.configuration;
import it.integry.annotations.CustomerComponent;
import it.integry.annotations.CustomerService;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.settings.Model.SettingsModel;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.core.type.filter.AnnotationTypeFilter;
/**
* Configurazione per registrare gli scope personalizzati per customer specifici
*/
@Configuration
public class CustomerServicesConfig implements ApplicationListener<ContextRefreshedEvent> {
private final Logger logger = LogManager.getLogger();
@Autowired
private SettingsModel settingsModel;
@Autowired
private ApplicationContext applicationContext;
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
// Assicuriamoci che sia il context principale e non un sub-context
if (event.getApplicationContext() == applicationContext) {
registerCustomerBeans();
}
}
private void registerCustomerBeans() {
ClassPathScanningCandidateComponentProvider scanner =
new ClassPathScanningCandidateComponentProvider(false);
// Aggiungo filtri per le annotazioni custom
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomerService.class));
scanner.addIncludeFilter(new AnnotationTypeFilter(CustomerComponent.class));
BeanDefinitionRegistry registry = (BeanDefinitionRegistry) applicationContext.getAutowireCapableBeanFactory();
// Scansiono tutti i package del progetto
for (BeanDefinition bd : scanner.findCandidateComponents("it.integry")) {
try {
Class<?> clazz = Class.forName(bd.getBeanClassName());
String beanName = generateBeanName(clazz);
IntegryCustomer customer = extractCustomer(clazz);
// Ora SettingsModel è completamente inizializzato con @PostConstruct chiamato
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(customer.toString())) {
continue;
}
// Evito duplicati controllando se il bean esiste già
if (!registry.containsBeanDefinition(beanName)) {
logger.trace("Registering custom bean for customer: " + customer + " - Class: " + clazz.getSimpleName());
// Creo la definizione del bean
BeanDefinitionBuilder builder = BeanDefinitionBuilder
.genericBeanDefinition(clazz);
// Registro il bean nel registry di Spring
registry.registerBeanDefinition(beanName, builder.getBeanDefinition());
// Determino lo scope del bean per decidere se istanziarlo immediatamente
String beanScope = determineBeanScope(clazz);
if (shouldInstantiateImmediately(beanScope)) {
// Forzo l'istanziazione immediata solo per bean con scope appropriati
try {
Object beanInstance = applicationContext.getBean(beanName);
logger.info("Bean customer {} istanziato con successo: {} (scope: {})",
customer, beanInstance.getClass().getSimpleName(), beanScope);
} catch (Exception e) {
logger.error("Errore durante l'istanziazione del bean {} (scope: {}): {}",
beanName, beanScope, e.getMessage());
}
} else {
logger.info("Bean customer {} registrato ma non istanziato (scope: {}). " +
"Verrà istanziato quando richiesto", customer, beanScope);
}
}
} catch (ClassNotFoundException e) {
logger.error("Impossibile caricare la classe: " + bd.getBeanClassName(), e);
}
}
}
/**
* Genera il nome del bean basato sul nome della classe
*/
private String generateBeanName(Class<?> clazz) {
String simpleName = clazz.getSimpleName();
return Character.toLowerCase(simpleName.charAt(0)) + simpleName.substring(1);
}
private IntegryCustomer extractCustomer(Class<?> clazz) {
if (clazz.isAnnotationPresent(CustomerService.class)) {
CustomerService cs = clazz.getAnnotation(CustomerService.class);
return cs.value();
} else if (clazz.isAnnotationPresent(CustomerComponent.class)) {
CustomerComponent cc = clazz.getAnnotation(CustomerComponent.class);
return cc.value();
}
return IntegryCustomer.Integry; // Valore di default
}
/**
* Determina lo scope del bean analizzando le annotazioni della classe
*/
private String determineBeanScope(Class<?> clazz) {
// Controllo per @Scope
if (clazz.isAnnotationPresent(org.springframework.context.annotation.Scope.class)) {
org.springframework.context.annotation.Scope scopeAnnotation =
clazz.getAnnotation(org.springframework.context.annotation.Scope.class);
return scopeAnnotation.value();
}
// Controllo per @RequestScope
if (clazz.isAnnotationPresent(org.springframework.web.context.annotation.RequestScope.class)) {
return "request";
}
// Controllo per @SessionScope
if (clazz.isAnnotationPresent(org.springframework.web.context.annotation.SessionScope.class)) {
return "session";
}
// Controllo per @ApplicationScope
if (clazz.isAnnotationPresent(org.springframework.web.context.annotation.ApplicationScope.class)) {
return "application";
}
// Default è singleton
return "singleton";
}
/**
* Determina se il bean può essere istanziato immediatamente in base al suo scope
*/
private boolean shouldInstantiateImmediately(String scope) {
switch (scope.toLowerCase()) {
case "request":
case "session":
// I bean con scope request/session non possono essere istanziati
// al di fuori del contesto web
return false;
case "prototype":
// I bean prototype non vengono istanziati automaticamente
return false;
case "singleton":
case "application":
default:
// Singleton e application possono essere istanziati immediatamente
return true;
}
}
}

View File

@@ -14,7 +14,7 @@ public class ExecutorServiceConfig {
private final int corePoolSize = Runtime.getRuntime().availableProcessors();
private final int maxPoolSize = (int) (corePoolSize * 1.5f);
private final int queueSize = 500;
private final int queueSize = 1_000_000;
@Bean
public ExecutorService taskExecutor() {

View File

@@ -0,0 +1,21 @@
package it.integry.ems.configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
@Configuration
@EnableScheduling // Equivale a <task:annotation-driven/>
public class SchedulerConfig {
@Bean
public ThreadPoolTaskScheduler taskScheduler() {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setPoolSize(5); // Equivale a pool-size="5"
scheduler.setThreadNamePrefix("taskScheduler-");
scheduler.initialize();
return scheduler;
}
}

View File

@@ -227,7 +227,7 @@ public class EmsController {
response = new ServiceRestResponse(EsitoType.OK);
} else {
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), new Exception("Il contenuto del file non è valido"));
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), new Exception("Il contenuto del file non è valido"));
}
}
@@ -298,11 +298,11 @@ public class EmsController {
sql = sql.replaceAll("select", "select TOP " + numResult + " ");
sql = sql.replaceAll("SELECT", "SELECT TOP " + numResult + " ");
}
objs = entityProcessor.selectRawData(sql, multiDBTransactionManager.getPrimaryDatasource());
objs = entityProcessor.selectRawData(sql, multiDBTransactionManager.getPrimaryConnection());
response = new ServiceRestResponse(EsitoType.OK, objs);
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
}
return response;
}
@@ -339,7 +339,7 @@ public class EmsController {
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryDatasource().getProfile(), entity);
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryConnection().getProfileName(), entity);
}
if (entity.getOperation() == OperationType.SELECT_OBJECT) {
@@ -386,7 +386,7 @@ public class EmsController {
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryDatasource().getProfile(), entity);
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryConnection().getProfileName(), entity);
}
if (entity.getOperation() == OperationType.SELECT_OBJECT) {
@@ -483,7 +483,7 @@ public class EmsController {
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
response = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
}
return response;
@@ -520,13 +520,13 @@ public class EmsController {
} else if (date2ts && metadata.getColumnType(i) == Types.TIMESTAMP) {
map.put(columnNameAltered, ((Timestamp) rs.getObject(columnName)).getTime() / 1000);
} else if (date2ts && metadata.getColumnType(i) == Types.TIME) {
map.put(columnNameAltered, ((java.sql.Time) rs.getObject(columnName)).getTime() / 1000);
map.put(columnNameAltered, ((Time) rs.getObject(columnName)).getTime() / 1000);
} else if (date2iso && metadata.getColumnType(i) == Types.DATE) {
map.put(columnNameAltered, ((java.sql.Date) rs.getObject(columnName)).toLocalDate().format(DateTimeFormatter.ISO_DATE));
} else if (date2iso && metadata.getColumnType(i) == Types.TIMESTAMP) {
map.put(columnNameAltered, ((Timestamp) rs.getObject(columnName)).toLocalDateTime().format(DateTimeFormatter.ISO_DATE_TIME));
} else if (date2iso && metadata.getColumnType(i) == Types.TIME) {
map.put(columnNameAltered, ((java.sql.Time) rs.getObject(columnName)).toLocalTime().format(DateTimeFormatter.ISO_LOCAL_TIME));
map.put(columnNameAltered, ((Time) rs.getObject(columnName)).toLocalTime().format(DateTimeFormatter.ISO_LOCAL_TIME));
} else {
map.put(columnNameAltered, rs.getObject(columnName));
}
@@ -552,7 +552,7 @@ public class EmsController {
@RequestParam(required = false, defaultValue = "true") boolean headless,
@RequestBody(required = false) JsonNode body) throws Exception {
EntityExportResponse<?> entityExportResponse = emsServices.export(typeExport, formatExport, body, headless);
EntityExportResponse<?> entityExportResponse = emsServices.export(multiDBTransactionManager, requestDataDTO, typeExport, formatExport, body, headless);
List<AnomalieDTO> anomalie = new ArrayList<>();
if (entityExportResponse != null && entityExportResponse.getAnomalie() != null && !entityExportResponse.getAnomalie().isEmpty())
@@ -608,7 +608,7 @@ public class EmsController {
@RequestParam(required = false, defaultValue = "true") boolean headless,
@RequestBody(required = false) ImportRequestDTO requestBody) throws Exception {
EntityImportResponse<List<EntityBase>> importResponse = emsServices.importEntity(importType, importFormat, requestBody, headless);
EntityImportResponse<List<EntityBase>> importResponse = emsServices.importEntity(multiDBTransactionManager, requestDataDTO, importType, importFormat, requestBody, headless);
List<EntityBase> entities = importResponse.getResponse();
@@ -687,7 +687,7 @@ public class EmsController {
} catch (Exception e) {
e.printStackTrace();
logger.error(request.getRequestURI(), e);
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryDatasource().getProfile(), entity);
response = new ServiceRestResponse(EsitoType.KO, e, multiDBTransactionManager.getPrimaryConnection().getProfileName(), entity);
responseList.add(response);
if (forceTransaction) {
break;
@@ -700,16 +700,6 @@ public class EmsController {
logger.error(request.getRequestURI(), e);
ServiceRestResponse response = new ServiceRestResponse(EsitoType.KO, configuration, e);
responseList.add(response);
} finally {
if (multiDBTransactionManager != null) {
try {
multiDBTransactionManager.closeAll();
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
ServiceRestResponse response = new ServiceRestResponse(EsitoType.KO, configuration, e);
responseList.add(response);
}
}
}
return responseList;
@@ -743,7 +733,7 @@ public class EmsController {
@PathVariable String filename,
@RequestParam(name = "contentDisposition", defaultValue = "attachment") String contentDispositionType,
@RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
AttachmentDTO attachmentDTO = emsServices.downloadStbFileAttachment(idAttach, requestThumbnail);
AttachmentDTO attachmentDTO = emsServices.downloadStbFileAttachment(multiDBTransactionManager, idAttach, requestThumbnail);
if (attachmentDTO != null) {
return ResponseEntity.ok()
@@ -760,13 +750,31 @@ public class EmsController {
return ResponseEntity.notFound().build();
}
@GetMapping(value = "downloadFileFromRefUuid")
public ResponseEntity<byte[]> downloadFileFromRefUuid(@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam() String refUuid,
@RequestParam() String fileName) throws Exception {
AttachmentDTO attached = emsServices.downloadFileFromRefUuid(multiDBTransactionManager, refUuid, fileName);
if (attached == null) return ResponseEntity.notFound().build();
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType(attached.getMimeType()))
.contentLength(attached.getFileSize())
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
.attachment()
.filename(attached.getFileName())
.build()
.toString())
.body(attached.getFileContent());
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_FILE_ATTACHMENT, method = RequestMethod.GET)
public ResponseEntity<byte[]> downloadStbFileAttachmentPath(
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String idAttach,
@RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
AttachmentDTO attachmentDTO = emsServices.downloadStbFileAttachment(idAttach, requestThumbnail);
AttachmentDTO attachmentDTO = emsServices.downloadStbFileAttachment(multiDBTransactionManager, idAttach, requestThumbnail);
if (attachmentDTO != null) {
return ResponseEntity.ok()
@@ -785,9 +793,8 @@ public class EmsController {
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_EMAIL_CONTENT, method = RequestMethod.GET)
public byte[] downloadStbEmailContent(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam Integer idEmail) throws Exception {
public ResponseEntity<byte[]> downloadStbEmailContent(@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam Integer idEmail) throws Exception {
StbEmailContent stbEmailContent = new StbEmailContent();
stbEmailContent.setIdEmail(idEmail);
stbEmailContent.setOperation(OperationType.SELECT_OBJECT);
@@ -795,11 +802,7 @@ public class EmsController {
stbEmailContent = entityProcessor.processEntity(stbEmailContent, multiDBTransactionManager);
if (stbEmailContent != null) {
response.setContentType("application/octet-stream");
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition.attachment().filename("email.eml").build().toString());
byte[] byteArr = null;
byte[] byteArr;
String pattern = "[^\\x00-\\x7F]";
Pattern pat = Pattern.compile(pattern);
@@ -811,13 +814,18 @@ public class EmsController {
byteArr = Base64.decodeBase64(stbEmailContent.getEmailContent());
}
response.setContentLength(byteArr != null ? byteArr.length : 0);
return byteArr;
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.contentLength(byteArr != null ? byteArr.length : 0)
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
.builder("attachment")
.filename("email.eml")
.build()
.toString())
.body(byteArr);
}
response.sendError(404, "Allegato non trovato");
return null;
return ResponseEntity.notFound().build();
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_DTB_DOC_PDF, method = RequestMethod.GET)
@@ -876,12 +884,13 @@ public class EmsController {
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_DTB_ORD_PDF, method = RequestMethod.GET)
public byte[] downloadDtbOrdPdf(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String gestione,
@RequestParam String dataOrd,
@RequestParam Integer numOrd,
@RequestParam Integer versione) throws Exception {
public ResponseEntity<byte[]> downloadDtbOrdPdf(
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String gestione,
@RequestParam String dataOrd,
@RequestParam Integer numOrd,
@RequestParam Integer versione) throws Exception {
DtbOrdPdf dtbOrdPdf = new DtbOrdPdf();
dtbOrdPdf.setGestione(gestione);
dtbOrdPdf.setDataOrd(UtilityDate.RecognizeDate(dataOrd));
@@ -892,17 +901,20 @@ public class EmsController {
dtbOrdPdf = entityProcessor.processEntity(dtbOrdPdf, multiDBTransactionManager);
if (dtbOrdPdf != null) {
response.setContentType("application/octet-stream");
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition.attachment().filename(dtbOrdPdf.getFilename()).build().toString());
byte[] byteArr = dtbOrdPdf.getFilecontentByteArr(true);
response.setContentLength(byteArr != null ? byteArr.length : 0);
return byteArr;
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_PDF)
.contentLength(byteArr != null ? byteArr.length : 0)
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
.builder("attachment")
.filename(ContentDisposition.attachment().filename(dtbOrdPdf.getFilename()).build().toString())
.build()
.toString())
.body(byteArr);
}
response.sendError(404, "Allegato non trovato");
return null;
return ResponseEntity.notFound().build();
}
@RequestMapping(value = EmsRestConstants.PATH_UPLOAD_STB_FILE_ATTACHMENT, method = RequestMethod.POST)
@@ -919,7 +931,7 @@ public class EmsController {
throw new Exception("Sono stati inviati più file del previsto");
}
StbFilesAttached stbFilesAttached = emsServices.uploadStbFilesAttached(idAttach,
StbFilesAttached stbFilesAttached = emsServices.uploadStbFilesAttached(multiDBTransactionManager, idAttach,
files[0].getOriginalFilename(),
files[0].getBytes(),
descrizione,
@@ -1065,10 +1077,59 @@ public class EmsController {
}
}
@PostMapping(value = "uploadDtbDocFileContent")
public ServiceRestResponse uploadDtbDocFileContent(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam("dataDoc") String dataDocStr,
@RequestParam String serDoc,
@RequestParam Integer numDoc,
@RequestParam String codAnag,
@RequestParam String codDtip,
@RequestParam String descrizione,
@RequestPart MultipartFile[] files
) {
try {
if (files == null || files.length == 0) {
throw new Exception("Nessun file è stato rilevato");
} else if (files.length > 1) {
throw new Exception("Sono stati inviati più file del previsto");
}
byte[] content = files[0].getBytes();
String idAttach = null;
StbFilesAttached.TypeAttach typeAttach = null;
Date dataDoc = UtilityDate.RecognizeDate(dataDocStr);
DrlDocAttached drlDocAttached =
new DrlDocAttached()
.setDataDoc(dataDoc)
.setSerDoc(serDoc)
.setNumDoc(numDoc)
.setCodAnag(codAnag)
.setCodDtip(codDtip);
drlDocAttached.setOperation(OperationType.INSERT);
StbFilesAttached stbFilesAttached = emsServices.uploadStbFilesAttached(multiDBTransactionManager, idAttach,
files[0].getOriginalFilename(),
files[0].getBytes(),
descrizione,
files[0].getContentType(),
typeAttach,
null, drlDocAttached, null);
return ServiceRestResponse.createPositiveResponse(stbFilesAttached);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ServiceRestResponse(EsitoType.KO, config, e);
}
}
@RequestMapping(value = "createZipFromFiles", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse createZipFromFiles(@RequestBody CreateZipDTO createZipDTO) throws Exception {
return ServiceRestResponse.createPositiveResponse(emsServices.createZipFromFiles(createZipDTO));
return ServiceRestResponse.createPositiveResponse(emsServices.createZipFromFiles(multiDBTransactionManager, createZipDTO));
}
// @RequestMapping(value = EmsRestConstants.PATH_UPLOAD_STB_EMAIL_CONTENT, method = RequestMethod.POST)
@@ -1114,22 +1175,10 @@ public class EmsController {
// }
@RequestMapping(value = EmsRestConstants.PATH_CLEAN_DIRECTORIES, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse cleanDirectories(@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
try {
emsServices.cleanDirectories();
return ServiceRestResponse.createPositiveResponse();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
}
}
@RequestMapping(value = EmsRestConstants.PATH_EXPORT_SERVER_INFO_ISCC, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse exportServerInfoISCC(@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
emsServices.checkServerVariables();
emsServices.checkServerVariables(multiDBTransactionManager);
return ServiceRestResponse.createPositiveResponse();
}
@@ -1141,7 +1190,7 @@ public class EmsController {
return ServiceRestResponse.createPositiveResponse(mapping);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
}
}
@@ -1153,7 +1202,7 @@ public class EmsController {
return ServiceRestResponse.createPositiveResponse(historyProfileDb);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
}
}
@@ -1170,7 +1219,7 @@ public class EmsController {
return ServiceRestResponse.createPositiveResponse(entityFields);
} catch (Exception e) {
logger.error(e.getMessage(), e);
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
return new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryConnection().getProfileName(), e);
}
}

View File

@@ -1,44 +0,0 @@
package it.integry.ems.controller;
import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.service.MapService;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.types.LatLng;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
@Scope("request")
public class MapController {
private final Logger logger = LogManager.getLogger();
@Autowired
private MapService mapService;
@RequestMapping(value = EmsRestConstants.PATH_MAP_GETCOORDINATE_BY_CITY, method = RequestMethod.GET)
public @ResponseBody
ServiceRestResponse getCoordinateByCity(HttpServletRequest request,
@RequestParam String cityName) {
ServiceRestResponse resp;
try {
LatLng coordinates = mapService.getCoordinateByCity(cityName);
resp = ServiceRestResponse.createPositiveResponse(coordinates);
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
resp = ServiceRestResponse.createNegativeResponse();
}
return resp;
}
}

View File

@@ -1,140 +1,172 @@
package it.integry.ems.datasource;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import javax.annotation.PreDestroy;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
@Service
@Scope(value = "request")
public class DataSource {
private AvailableConnectionsModel connectionModel;
private String profile;
private Short sessionID;
private Connection connection = null;
private String applicationName;
public String getDbName() {
return connectionModel.getDbName();
}
public String getProfile() {
return profile;
}
public EmsRestConstants.DB_TYPE getTypeDB() {
return connectionModel.getConnectionType();
}
public String getApplicationName() {
return applicationName;
}
public int getSessionID() {
return sessionID;
}
public synchronized Connection getConnection() throws IOException, SQLException {
return connection;
}
public boolean isClosed() throws SQLException {
return !(connection != null && !connection.isClosed());
}
private void init(String applicationName) throws SQLException, IOException {
this.applicationName = applicationName;
connection = Connection.fromConnection(
DriverManager.getConnection(connectionModel.getDbConnectionString(applicationName), connectionModel.getUsername(), connectionModel.getPasswordDecrypted())
);
connection.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
connection.setAutoCommit(false);
if (connectionModel.getConnectionType() == EmsRestConstants.DB_TYPE.MSSQL) {
try (final PreparedStatement setNocountOn = connection.prepareStatement("SET NOCOUNT ON")) {
boolean resultNoCount = setNocountOn.execute();
}
HashMap<String, Object> resultSessionData = UtilityDB.executeSimpleQueryOnlyFirstRow(connection, "select @@spid AS session_id," +
" user_name() AS [user_name]," +
" suser_name() AS [suser_name]," +
" current_user AS [current_user]," +
" system_user AS [system_user]," +
" session_user AS [session_user]," +
" user AS [user]");
this.sessionID = UtilityHashMap.getValueIfExists(resultSessionData, "session_id");
}
}
@PreDestroy
private void destroy() throws SQLException {
forceClose();
}
public synchronized void initialize(String profileDB, String connectionName, boolean autoOpenConnection) throws Exception {
if (UtilityString.isNullOrEmpty(profileDB)) {
throw new Exception("Profile DB non valorizzato - controllare la chiamata del servizio");
}
this.profile = profileDB;
this.sessionID = -1;
AvailableConnectionsModel connectionModel = null;
List<AvailableConnectionsModel> availableConnectionsModels = SettingsModel.getInstance().getAvailableConnections();
if (!UtilityString.isNullOrEmpty(profileDB)) {
for (AvailableConnectionsModel connectionsModel : availableConnectionsModels) {
if (connectionsModel.getProfileName().equalsIgnoreCase(profileDB)) {
connectionModel = connectionsModel;
}
}
}
if (connectionModel == null) {
throw new Exception(String.format("Configurazione DB non trovata o dati mancanti (%s)", profileDB));
}
this.connectionModel = connectionModel;
if (autoOpenConnection) {
init(connectionName);
}
}
public synchronized void initialize(String profileDB, boolean autoOpenConnection) throws Exception {
initialize(profileDB, "EMS Connection", autoOpenConnection);
}
public synchronized void initialize(String profileDB) throws Exception {
initialize(profileDB, "EMS Connection", true);
}
public void forceClose() throws SQLException {
if (connection != null) {
synchronized (connection) {
connection.close();
}
}
}
package it.integry.ems.datasource;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString;
import org.apache.commons.dbcp2.BasicDataSource;
import java.sql.SQLException;
import java.util.HashMap;
public class DataSource extends BasicDataSource {
private final int POOL_SIZE;
private AvailableConnectionModel connectionModel;
/**
* Instanzia un nuovo datasource.
*
* @deprecated Il datasource non deve essere istanziato direttamente ma bisogna utilizzare il metodo
* {@link it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool#getConnection(AvailableConnectionModel)} per ottenere una connessione.
*/
@Deprecated
public DataSource() {
super();
POOL_SIZE = 5;
}
@Deprecated
public DataSource(int poolSize) {
super();
POOL_SIZE = poolSize;
}
public EmsRestConstants.DB_TYPE getTypeDB() {
return connectionModel.getConnectionType();
}
/**
* Ottiene una connessione dal pool. La connessione è wrappata in it.integry.ems.sync.MultiDBTransaction.Connection.
* È responsabilità del chiamante chiudere la connessione per restituirla al pool.
*
* @return una connessione dal pool
* @throws SQLException se si verifica un errore di accesso al database
*/
public Connection getConnection() throws SQLException {
// Restituisce una nuova connessione dal pool di BasicDataSource, wrappata nel nostro tipo Connection
final Connection connection = Connection.fromConnection(super.getConnection());
// Prova a ottenere una connessione per verificare la configurazione e ottenere il sessionID
if (connectionModel.getConnectionType() == EmsRestConstants.DB_TYPE.MSSQL) {
HashMap<String, Object> resultSessionData = UtilityDB.executeSimpleQueryOnlyFirstRow(connection, "select CAST(@@spid AS BIGINT) AS session_id," +
" user_name() AS [user_name]," +
" suser_name() AS [suser_name]," +
" current_user AS [current_user]," +
" system_user AS [system_user]," +
" session_user AS [session_user]," +
" user AS [user]");
connection.setSessionId(UtilityHashMap.getValueIfExists(resultSessionData, "session_id"));
}
connection.setProfileName(connectionModel.getProfileName())
.setInternalDb(connectionModel.getInternalDb());
return connection;
}
public synchronized void initialize(String profileDB) throws Exception {
initialize(profileDB, null);
}
public synchronized void initialize(String profileDB, String customAppName) throws Exception {
AvailableConnectionModel connectionsModel = SettingsModel.getInstance().findConnectionModel(profileDB);
initialize(connectionsModel, customAppName);
}
public synchronized void initialize(AvailableConnectionModel connectionModel) throws Exception {
initialize(connectionModel, null);
}
public synchronized void initialize(AvailableConnectionModel connectionModel, String customAppName) throws Exception {
if (connectionModel == null) {
throw new Exception("Configurazione DB non trovata");
}
this.connectionModel = connectionModel;
this.setDriverClassName(connectionModel.getDriverClassName());
this.setUrl(connectionModel.getDbConnectionString(UtilityString.isNull(customAppName, "EMS Connection")));
this.setUsername(connectionModel.getUsername());
this.setPassword(connectionModel.getPasswordDecrypted());
this.setDefaultCatalog(connectionModel.getDbName());
this.setDefaultTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
this.setDefaultAutoCommit(false);
// ===== OTTIMIZZAZIONI CRITICHE =====
// Pool sizing ottimizzato per READ_UNCOMMITTED (meno locking = più connessioni possibili)
this.setInitialSize(POOL_SIZE); // Inizia con più connessioni
this.setMaxTotal(-1); // Aumentato il massimo
this.setMinIdle(POOL_SIZE); // Non scendere sotto 5
this.setMaxIdle(-1); // Mantieni più connessioni idle
// Timeout ottimizzati per performance massime
// this.setMaxWaitMillis(-1L); // Infinito (DEFAULT)
// Validazione veloce ed efficiente
this.setValidationQuery("SELECT 1");
this.setValidationQueryTimeout(30); // Ridotto a 1 secondo
this.setTestWhileIdle(true); // Testa connessioni idle
// Eviction ottimizzata per READ_UNCOMMITTED
// this.setTimeBetweenEvictionRunsMillis(1 * 1000); // Ogni 30 secondi
// this.setMinEvictableIdleTimeMillis(1 * 60 * 1000); // 3 minuti (ridotto da 5)
// this.setNumTestsPerEvictionRun(5); // Testa più connessioni per volta
// Connection leak protection
this.setRemoveAbandonedOnBorrow(true);
this.setRemoveAbandonedOnMaintenance(true);
this.setRemoveAbandonedTimeout(3 * 60 * 10); // 3 minuti
this.setLogAbandoned(true); // Disabilita in produzione per performance
// Performance boosts massimi
// this.setPoolPreparedStatements(true);
// this.setMaxOpenPreparedStatements(200);
// this.setCacheState(true);
this.setFastFailValidation(true);
// Ottimizzazioni specifiche per SQL Server con READ_UNCOMMITTED
if (connectionModel.getConnectionType() == EmsRestConstants.DB_TYPE.MSSQL) {
// Impostazioni connection specifiche per SQL Server
//this.setConnectionInitSqls(java.util.Arrays.asList(
//"SET NOCOUNT ON",
//"SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED",
//"SET ARITHABORT ON"
//));
}
// Logging ottimizzato (disabilita in produzione)
this.setLogExpiredConnections(true);
// ==================== ULTERIORI OTTIMIZZAZIONI ====================
// Connection properties specifiche per performance
this.setDefaultReadOnly(false);
// Ottimizzazioni DBCP2 avanzate
// this.setLifo(false); // FIFO per distribuzione equa delle connessioni
// this.setSoftMinEvictableIdleTimeMillis(120000); // 2 minuti soft eviction
// if (!connectionModel.getInternalDb() ||
// UtilityDebug.isDebugExecution() ||
// UtilityDebug.isIntegryServerDev() ||
// !SettingsModel.getInstance().isPrimaryInstance()) {
// this.setInitialSize(0);
//// this.setMaxTotal(5);
// this.setMinIdle(0);
// this.setMaxIdle(1);
// }
}
}

View File

@@ -0,0 +1,302 @@
package it.integry.ems.dbms_change_tracker.component;
import com.microsoft.sqlserver.jdbc.SQLServerConnection;
import it.integry.ems.datasource.DataSource;
import it.integry.ems.dbms_change_tracker.model.ChangeTrackingConfigDTO;
import it.integry.ems.dbms_change_tracker.model.DetectedChangeDataDTO;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.exception.DataConverterNotFoundException;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityHashMap;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
public class DbmsChangeTracker {
private DataSource dataSource;
private final Logger logger = LogManager.getLogger();
private final int CHANGE_RETENTION_HOURS = 1;
private final boolean AUTO_CLEANUP = true;
private Connection integryConnection;
private boolean trackerEnabled = false;
private long currentVersion;
private Listener eventListener;
public DbmsChangeTracker(String profileDb) throws Exception {
createDataSource(profileDb);
createConnection();
}
private void createDataSource(String profileDb) throws Exception {
DataSource ds = new DataSource(1);
ds.initialize(profileDb, "Integry Changes Tracker");
this.dataSource = ds;
}
private void createConnection() throws SQLException {
integryConnection = dataSource.getConnection();
if (!(integryConnection.isWrapperFor(SQLServerConnection.class))) {
integryConnection.close();
throw new SQLException("Connection is not a SQL Server connection");
}
}
private void checkConnection() {
try {
UtilityDB.executeSimpleQuery(integryConnection, "SELECT 1");
if (integryConnection.isClosed())
createConnection();
} catch (SQLException e) {
try {
try {
integryConnection.close();
} catch (Exception ex) {
//ignore
}
createConnection();
} catch (SQLException ex) {
logger.error("Unable to reestablish DB connection for Change Tracker", ex);
throw new RuntimeException("Unable to reestablish DB connection for Change Tracker");
}
}
}
public void enableTrackerInDbms() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
final ChangeTrackingConfigDTO currentConfig = retrieveTrackerCurrentConfig();
if (currentConfig != null) {
logInfo("Changes Tracker is already enabled (with " + currentConfig.getRetentionPeriod() + " " + currentConfig.getRetentionPeriodUnit().toLowerCase() + " retention and auto cleanup " + (currentConfig.isAutoCleanupOn() ? "ON" : "OFF") + ")");
return;
}
String enableSql = "ALTER DATABASE [" + integryConnection.getDbName() + "] \n" +
"SET CHANGE_TRACKING = ON (" +
"CHANGE_RETENTION = " + CHANGE_RETENTION_HOURS + " HOURS, " +
"AUTO_CLEANUP = " + (AUTO_CLEANUP ? "ON" : "OFF") +
");\n";
//COMMIT necessario perché ALTER DATABASE richiede che non ci siano altre transazioni attive
UtilityDB.executeStatement(integryConnection, "COMMIT", enableSql);
logInfo("Changes Tracker is now enabled (with " + CHANGE_RETENTION_HOURS + " hours retention and auto cleanup " + (AUTO_CLEANUP ? "ON" : "OFF") + ")");
}
public void enableTrackerOnTable(String tableName) throws SQLException {
if (isTableTrackingEnabled(tableName)) {
return;
}
UtilityDB.executeStatement(integryConnection, "ALTER TABLE dbo." + tableName + "\n" +
"ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = ON);", "COMMIT");
}
public void disableTrackerOnNotUsedTables(List<String> usedTables) throws SQLException {
final List<String> trackedTables = retrieveTrackedTables();
trackedTables.removeAll(usedTables);
for (String tableName : trackedTables) {
disableTrackerOnTable(tableName);
}
}
public void disableTrackerOnTable(String tableName) throws SQLException {
if (!isTableTrackingEnabled(tableName)) {
return;
}
UtilityDB.executeStatement(integryConnection, "ALTER TABLE dbo." + tableName + "\n" +
"DISABLE CHANGE_TRACKING;", "COMMIT");
}
public void startTracking() throws SQLException {
currentVersion = retrieveCurrentVersion();
trackerEnabled = true;
}
public void checkForChanges() throws Exception {
if (!trackerEnabled)
return;
checkConnection();
final List<String> trackedTables = retrieveTrackedTables();
HashMap<Long, List<DetectedChangeDataDTO>> changesByVersion = new HashMap<>();
for (String trackedTable : trackedTables) {
long minValidVersion = getMinValidVersion(trackedTable);
if (currentVersion < minValidVersion) {
if (eventListener != null) {
eventListener.onTrackingResetted();
currentVersion = retrieveCurrentVersion();
return;
}
}
final List<DetectedChangeDataDTO> detectedChanges = retrieveChangeList(trackedTable);
detectedChanges.forEach(detectedChangeDataDTO -> {
changesByVersion.putIfAbsent(detectedChangeDataDTO.getSysChangeVersion(), new ArrayList<>());
changesByVersion.get(detectedChangeDataDTO.getSysChangeVersion()).add(detectedChangeDataDTO);
});
}
logTrace("Detected " + changesByVersion.size() + " changes since version " + currentVersion);
dispatchChanges(changesByVersion);
}
private void dispatchChanges(HashMap<Long, List<DetectedChangeDataDTO>> changesByVersion) throws Exception {
final List<Long> sortedChanges = changesByVersion.keySet().stream()
.sorted()
.collect(Collectors.toList());
for (Long changeId : sortedChanges) {
final List<DetectedChangeDataDTO> detectedChanges = changesByVersion.get(changeId);
for (DetectedChangeDataDTO detectedChange : detectedChanges) {
switch (detectedChange.getSysChangeOperation()) {
case INSERT:
if (eventListener != null)
eventListener.onInsertDetected(detectedChange.getTableName(), detectedChange.getPrimaryKey());
break;
case UPDATE:
if (eventListener != null)
eventListener.onUpdateDetected(detectedChange.getTableName(), detectedChange.getPrimaryKey());
break;
case DELETE:
if (eventListener != null)
eventListener.onDeleteDetected(detectedChange.getTableName(), detectedChange.getPrimaryKey());
break;
}
}
currentVersion = changeId;
}
}
private List<DetectedChangeDataDTO> retrieveChangeList(String tableName) throws SQLException {
String sql = "SELECT *\n" +
"FROM CHANGETABLE(CHANGES dbo." + tableName + ", " + currentVersion + ") AS c";
final List<HashMap<String, Object>> result = UtilityDB.executeSimpleQuery(integryConnection, sql);
return result.stream()
.map(x -> {
DetectedChangeDataDTO detectedChangeDataDTO = new DetectedChangeDataDTO()
.setTableName(tableName);
Long sysChangeVersion = UtilityHashMap.<Long>getValueIfExists(x, "SYS_CHANGE_VERSION");
detectedChangeDataDTO.setSysChangeVersion(sysChangeVersion);
Long sysChangeCreationVersion = UtilityHashMap.<Long>getValueIfExists(x, "SYS_CHANGE_CREATION_VERSION");
detectedChangeDataDTO.setSysChangeCreationVersion(sysChangeCreationVersion);
detectedChangeDataDTO.setSysChangeOperation(DetectedChangeDataDTO.Operation.from(UtilityHashMap.<String>getValueIfExists(x, "SYS_CHANGE_OPERATION")));
List<String> keysToRemove = new ArrayList<>();
for (String colName : x.keySet()) {
if (colName.startsWith("SYS_"))
keysToRemove.add(colName);
}
for (String colName : keysToRemove) {
x.remove(colName);
}
detectedChangeDataDTO.setPrimaryKey(x);
return detectedChangeDataDTO;
})
.collect(Collectors.toList());
}
private long retrieveCurrentVersion() throws SQLException {
String sql = "SELECT CHANGE_TRACKING_CURRENT_VERSION() AS current_version";
long currentVersion = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(integryConnection, sql);
return currentVersion;
}
private long getMinValidVersion(String table) throws SQLException {
String sql = "SELECT CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID(" + UtilityDB.valueToString(table) + "))";
long minValidVersion = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(integryConnection, sql);
return minValidVersion;
}
private List<String> retrieveTrackedTables() throws SQLException {
String sql = "SELECT OBJECT_NAME(object_id) AS table_name\n" +
" FROM sys.change_tracking_tables";
List<String> trackedTables = UtilityDB.executeSimpleQueryOnlyFirstColumn(integryConnection, sql);
return trackedTables;
}
private boolean isTableTrackingEnabled(String tableName) throws SQLException {
String sql = "SELECT CAST(COUNT(is_track_columns_updated_on) AS BIT) AS enabled\n" +
" FROM sys.change_tracking_tables \n" +
" WHERE object_id = OBJECT_ID('dbo." + tableName + "')";
boolean enabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(integryConnection, sql);
return enabled;
}
private ChangeTrackingConfigDTO retrieveTrackerCurrentConfig() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
String checkSql = "SELECT DB_NAME(database_id) as database_name,\n" +
"CAST(is_auto_cleanup_on AS BIT) AS is_auto_cleanup_on,\n" +
"retention_period,\n" +
"retention_period_units_desc,\n" +
"max_cleanup_version\n" +
"FROM sys.change_tracking_databases \n" +
"WHERE DB_NAME(database_id)=DB_NAME()";
final ChangeTrackingConfigDTO currentConfig = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(integryConnection, checkSql, ChangeTrackingConfigDTO.class);
return currentConfig;
}
private void logInfo(String message) {
logger.info("[" + integryConnection.getProfileName() + "] " + message);
}
private void logTrace(String message) {
logger.trace("[" + integryConnection.getProfileName() + "] " + message);
}
public DbmsChangeTracker setEventListener(Listener eventListener) {
this.eventListener = eventListener;
return this;
}
public interface Listener {
void onInsertDetected(String tableName, HashMap<String, Object> primaryKey) throws Exception;
void onUpdateDetected(String tableName, HashMap<String, Object> primaryKey) throws Exception;
void onDeleteDetected(String tableName, HashMap<String, Object> primaryKey) throws Exception;
void onTrackingResetted() throws Exception;
}
}

View File

@@ -0,0 +1,144 @@
package it.integry.ems.dbms_change_tracker.component;
import it.integry.annotations.PostContextAutowired;
import it.integry.annotations.PostContextConstruct;
import it.integry.ems.dbms_change_tracker.model.events.TableRecordDeletedEvent;
import it.integry.ems.dbms_change_tracker.model.events.TableRecordInsertedEvent;
import it.integry.ems.dbms_change_tracker.model.events.TableRecordUpdatedEvent;
import it.integry.ems.dbms_change_tracker.model.events.TableTrackingResettedEvent;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.entity.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Component
public class DbmsChangeTrackerComponent {
private final Logger logger = LogManager.getLogger();
private final HashMap<IntegryCustomerDB, DbmsChangeTracker> activeChangeTrackers = new HashMap<>();
private final ArrayList<String> trackedTables = new ArrayList<String>() {{
add(MtbAart.ENTITY);
add(MtbAartBarCode.ENTITY);
add(MtbUntMis.ENTITY);
add(MtbDepo.ENTITY);
add(MtbDepoPosizioni.ENTITY);
add(StbEditLimit.ENTITY);
add(StbGestSetup.ENTITY);
add(StbGestSetupDepo.ENTITY);
add(StbUser.ENTITY);
add(WtbClie.ENTITY);
add(WtbDepo.ENTITY);
add(WtbGestSetupUser.ENTITY);
}};
private final ApplicationEventPublisher applicationEventPublisher;
@PostContextAutowired
private MultiDBTransactionManager multiDBTransactionManager;
public DbmsChangeTrackerComponent(ApplicationEventPublisher applicationEventPublisher) {
this.applicationEventPublisher = applicationEventPublisher;
}
@PostContextConstruct(priority = 10)
public void init() throws Exception {
for (Connection conn : multiDBTransactionManager.getActiveConnections()) {
IntegryCustomerDB customerDB = IntegryCustomerDB.parse(conn.getDbName());
activeChangeTrackers.put(customerDB, new DbmsChangeTracker(conn.getProfileName()));
}
enableAllChangeTracking();
}
private void enableAllChangeTracking() throws Exception {
for (Map.Entry<IntegryCustomerDB, DbmsChangeTracker> entrySet : activeChangeTrackers.entrySet()) {
final IntegryCustomerDB customerDB = entrySet.getKey();
final DbmsChangeTracker dbmsChangeTracker = entrySet.getValue();
try {
dbmsChangeTracker.enableTrackerInDbms();
for (String tableName : trackedTables) {
dbmsChangeTracker.enableTrackerOnTable(tableName);
}
dbmsChangeTracker.disableTrackerOnNotUsedTables(trackedTables);
dbmsChangeTracker.setEventListener(new DbmsChangeTracker.Listener() {
@Override
public void onInsertDetected(String tableName, HashMap<String, Object> primaryKey) {
onItemInserted(customerDB, tableName, primaryKey);
}
@Override
public void onUpdateDetected(String tableName, HashMap<String, Object> primaryKey) {
onItemUpdated(customerDB, tableName, primaryKey);
}
@Override
public void onDeleteDetected(String tableName, HashMap<String, Object> primaryKey) {
onItemDeleted(customerDB, tableName, primaryKey);
}
@Override
public void onTrackingResetted() throws Exception {
requestGlobalReset(customerDB);
}
});
dbmsChangeTracker.startTracking();
} catch (Exception e) {
throw new Exception("Errore durante l'abilitazione del DbmsChangeTracker per il customer: " + customerDB.getValue(), e);
}
}
}
@Scheduled(fixedDelay = 5, timeUnit = TimeUnit.SECONDS)
private void checkAllChanges() throws Exception {
for (DbmsChangeTracker dbmsChangeTracker : activeChangeTrackers.values()) {
try {
dbmsChangeTracker.checkForChanges();
} catch (Exception e) {
logger.error("Errore durante il controllo delle modifiche nel DbmsChangeTracker.", e);
}
}
}
private void onItemInserted(IntegryCustomerDB customerDB, String tableName, HashMap<String, Object> primaryKey) {
logger.trace("Item inserted in profileDb {} table {} with primaryKey {}", customerDB.getValue(), tableName, primaryKey);
applicationEventPublisher.publishEvent(new TableRecordInsertedEvent(this, customerDB, tableName, primaryKey));
}
private void onItemUpdated(IntegryCustomerDB customerDB, String tableName, HashMap<String, Object> primaryKey) {
logger.trace("Item updated in profileDb {} table {} with primaryKey {}", customerDB.getValue(), tableName, primaryKey);
applicationEventPublisher.publishEvent(new TableRecordUpdatedEvent(this, customerDB, tableName, primaryKey));
}
private void onItemDeleted(IntegryCustomerDB customerDB, String tableName, HashMap<String, Object> primaryKey) {
logger.trace("Item deleted in profileDb {} table {} with primaryKey {}", customerDB.getValue(), tableName, primaryKey);
applicationEventPublisher.publishEvent(new TableRecordDeletedEvent(this, customerDB, tableName, primaryKey));
}
private void requestGlobalReset(IntegryCustomerDB customerDB) {
logger.warn("Table tracking resetted in profileDb {} ", customerDB.getValue());
applicationEventPublisher.publishEvent(new TableTrackingResettedEvent(this, customerDB));
}
}

View File

@@ -0,0 +1,27 @@
package it.integry.ems.dbms_change_tracker.component.exception;
public class DbmsChangeTrackerInvalidMinVersionException extends Exception {
private final String tableName;
private final long currentVersion;
private final long minValidVersion;
public DbmsChangeTrackerInvalidMinVersionException(String tableName, long currentVersion, long minValidVersion) {
super("Change Tracking on table " + tableName + " has been reset. Current version: " + currentVersion + ", Min valid version: " + minValidVersion);
this.tableName = tableName;
this.minValidVersion = minValidVersion;
this.currentVersion = currentVersion;
}
public String getTableName() {
return tableName;
}
public long getCurrentVersion() {
return currentVersion;
}
public long getMinValidVersion() {
return minValidVersion;
}
}

View File

@@ -0,0 +1,67 @@
package it.integry.ems.dbms_change_tracker.model;
import it.integry.ems_model.annotation.SqlField;
public class ChangeTrackingConfigDTO {
@SqlField("database_name")
private String databaseName;
@SqlField("is_auto_cleanup_on")
private boolean autoCleanupOn;
@SqlField("retention_period")
private int retentionPeriod;
@SqlField("retention_period_units_desc")
private String retentionPeriodUnit;
// @SqlField("max_cleanup_version")
private Object maxCleanupVersion;
public String getDatabaseName() {
return databaseName;
}
public ChangeTrackingConfigDTO setDatabaseName(String databaseName) {
this.databaseName = databaseName;
return this;
}
public boolean isAutoCleanupOn() {
return autoCleanupOn;
}
public ChangeTrackingConfigDTO setAutoCleanupOn(boolean autoCleanupOn) {
this.autoCleanupOn = autoCleanupOn;
return this;
}
public int getRetentionPeriod() {
return retentionPeriod;
}
public ChangeTrackingConfigDTO setRetentionPeriod(int retentionPeriod) {
this.retentionPeriod = retentionPeriod;
return this;
}
public String getRetentionPeriodUnit() {
return retentionPeriodUnit;
}
public ChangeTrackingConfigDTO setRetentionPeriodUnit(String retentionPeriodUnit) {
this.retentionPeriodUnit = retentionPeriodUnit;
return this;
}
public Object getMaxCleanupVersion() {
return maxCleanupVersion;
}
public ChangeTrackingConfigDTO setMaxCleanupVersion(Object maxCleanupVersion) {
this.maxCleanupVersion = maxCleanupVersion;
return this;
}
}

View File

@@ -0,0 +1,108 @@
package it.integry.ems.dbms_change_tracker.model;
import com.fasterxml.jackson.annotation.JsonValue;
import it.integry.ems_model.entity._enum.IBaseEnum;
import java.util.HashMap;
public class DetectedChangeDataDTO {
private long sysChangeVersion;
private Long sysChangeCreationVersion;
private Operation sysChangeOperation;
private String tableName;
private HashMap<String, Object> primaryKey;
public long getSysChangeVersion() {
return sysChangeVersion;
}
public DetectedChangeDataDTO setSysChangeVersion(long sysChangeVersion) {
this.sysChangeVersion = sysChangeVersion;
return this;
}
public Long getSysChangeCreationVersion() {
return sysChangeCreationVersion;
}
public DetectedChangeDataDTO setSysChangeCreationVersion(Long sysChangeCreationVersion) {
this.sysChangeCreationVersion = sysChangeCreationVersion;
return this;
}
public Operation getSysChangeOperation() {
return sysChangeOperation;
}
public DetectedChangeDataDTO setSysChangeOperation(Operation sysChangeOperation) {
this.sysChangeOperation = sysChangeOperation;
return this;
}
public String getTableName() {
return tableName;
}
public DetectedChangeDataDTO setTableName(String tableName) {
this.tableName = tableName;
return this;
}
public HashMap<String, Object> getPrimaryKey() {
return primaryKey;
}
public DetectedChangeDataDTO setPrimaryKey(HashMap<String, Object> primaryKey) {
this.primaryKey = primaryKey;
return this;
}
public enum Operation implements IBaseEnum<Operation> {
INSERT('I'),
UPDATE('U'),
DELETE('D');
private final char value;
Operation(char value) {
this.value = value;
}
public static Operation from(Object value) {
if (value instanceof String && ((String) value).length() == 1) {
value = ((String) value).charAt(0);
}
char castValue = (char) value;
for (Operation b : Operation.values()) {
if (b.value == castValue)
return b;
}
return null;
}
@JsonValue
public char getValue() {
return this.value;
}
@Override
public Object get() {
return this.value;
}
@Override
public Operation fromInternal(Object val) {
return from(val);
}
@Override
public String toString() {
return String.valueOf(value);
}
}
}

View File

@@ -0,0 +1,27 @@
package it.integry.ems.dbms_change_tracker.model.events;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.event.BaseCustomerDBEvent;
import java.util.HashMap;
public class TableRecordDeletedEvent extends BaseCustomerDBEvent {
private final String tableName;
private final HashMap<String, Object> primaryKey;
public TableRecordDeletedEvent(Object source, IntegryCustomerDB integryCustomerDB, String tableName, HashMap<String, Object> primaryKey) {
super(source, integryCustomerDB);
this.tableName = tableName;
this.primaryKey = primaryKey;
}
public String getTableName() {
return tableName;
}
public HashMap<String, Object> getPrimaryKey() {
return primaryKey;
}
}

View File

@@ -0,0 +1,27 @@
package it.integry.ems.dbms_change_tracker.model.events;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.event.BaseCustomerDBEvent;
import java.util.HashMap;
public class TableRecordInsertedEvent extends BaseCustomerDBEvent {
private final String tableName;
private final HashMap<String, Object> primaryKey;
public TableRecordInsertedEvent(Object source, IntegryCustomerDB integryCustomerDB, String tableName, HashMap<String, Object> primaryKey) {
super(source, integryCustomerDB);
this.tableName = tableName;
this.primaryKey = primaryKey;
}
public String getTableName() {
return tableName;
}
public HashMap<String, Object> getPrimaryKey() {
return primaryKey;
}
}

View File

@@ -0,0 +1,27 @@
package it.integry.ems.dbms_change_tracker.model.events;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.event.BaseCustomerDBEvent;
import java.util.HashMap;
public class TableRecordUpdatedEvent extends BaseCustomerDBEvent {
private final String tableName;
private final HashMap<String, Object> primaryKey;
public TableRecordUpdatedEvent(Object source, IntegryCustomerDB customerDB, String tableName, HashMap<String, Object> primaryKey) {
super(source, customerDB);
this.tableName = tableName;
this.primaryKey = primaryKey;
}
public String getTableName() {
return tableName;
}
public HashMap<String, Object> getPrimaryKey() {
return primaryKey;
}
}

View File

@@ -0,0 +1,11 @@
package it.integry.ems.dbms_change_tracker.model.events;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.event.BaseCustomerDBEvent;
public class TableTrackingResettedEvent extends BaseCustomerDBEvent {
public TableTrackingResettedEvent(Object source, IntegryCustomerDB customerDB) {
super(source, customerDB);
}
}

View File

@@ -28,7 +28,7 @@ public class DevicesRequestInterceptor implements HandlerInterceptor {
RequestDataDTO requestDataDTO = ContextLoader.getCurrentWebApplicationContext().getBean(RequestDataDTO.class);
if (requestDataDTO.isValidProfileDB() && requestDataDTO.isValidDeviceId()) {
deviceService.updateUsage(requestDataDTO.getApplication(), requestDataDTO.getDeviceId());
deviceService.updateUsage(requestDataDTO.getDeviceId());
}
return true;

View File

@@ -2,15 +2,16 @@ package it.integry.ems.directory;
import com.fasterxml.jackson.databind.node.ArrayNode;
import it.integry.common.var.CommonConstants;
import it.integry.ems.datasource.DataSource;
import it.integry.ems.json.ResponseJSONObjectMapper;
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.Connection;
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.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString;
import it.integry.security.utility.RestUtil;
import org.apache.logging.log4j.LogManager;
@@ -30,17 +31,18 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Properties;
import java.util.TimerTask;
public class EmailWatcherListener extends TimerTask {
private Logger logger = LogManager.getLogger();
private final Logger logger = LogManager.getLogger();
private EmailListenerInfo emailListenerInfo;
private EmsProperties prop;
private SetupGest setupGest;
private ResponseJSONObjectMapper jsonObjectMapper;
private final EmailListenerInfo emailListenerInfo;
private final EmsProperties prop;
private final SetupGest setupGest;
private final ResponseJSONObjectMapper jsonObjectMapper;
public EmailWatcherListener(EmailListenerInfo emailListenerInfo, EmsProperties prop,
SetupGest setupGest, ResponseJSONObjectMapper jsonObjectMapper) {
@@ -53,42 +55,44 @@ public class EmailWatcherListener extends TimerTask {
@Override
public synchronized void run() {
try {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(emailListenerInfo.getDatabase())) {
Connection conn = multiDBTransactionManager.getPrimaryConnection();
String flagAttivo = null, username = null, password = null,
imap = null, pop3 = null, pop3Port = null, imapPort = null;
DataSource ds = new DataSource();
ds.initialize(emailListenerInfo.getDatabase());
String[] params = emailListenerInfo.getSetupGestBranch().split("\\|");
if (params.length >= 2) {
flagAttivo = setupGest.getSetup(ds.getConnection(), params[0], params[1], "ATTIVO");
username = setupGest.getSetup(ds.getConnection(), params[0], params[1], "USERNAME");
final HashMap<String, String> setupData = setupGest.getSetupSection(conn, params[0], params[1]);
flagAttivo = UtilityHashMap.getValueIfExists(setupData, "ATTIVO");
username = UtilityHashMap.getValueIfExists(setupData, "USERNAME");
if (UtilityString.isNullOrEmpty(username))
throw new Exception(params[0] + "/" + params[1] + "/USERNAME non configurato correttamente");
password = setupGest.getSetup(ds.getConnection(), params[0], params[1], "PASSWORD");
password = UtilityHashMap.getValueIfExists(setupData, "PASSWORD");
if (UtilityString.isNullOrEmpty(password))
throw new Exception(params[0] + "/" + params[1] + "/PASSWORD non configurato correttamente");
pop3 = setupGest.getSetup(ds.getConnection(), params[0], params[1], "POP3");
pop3 = UtilityHashMap.getValueIfExists(setupData, "POP3");
if (UtilityString.isNullOrEmpty(pop3))
throw new Exception(params[0] + "/" + params[1] + "/POP3 non configurato correttamente");
pop3Port = setupGest.getSetup(ds.getConnection(), params[0], params[1], "POP3_PORT");
pop3Port = UtilityHashMap.getValueIfExists(setupData, "POP3_PORT");
if (UtilityString.isNullOrEmpty(pop3Port))
throw new Exception(params[0] + "/" + params[1] + "/POP3_PORT non configurato correttamente");
imap = setupGest.getSetup(ds.getConnection(), params[0], params[1], "IMAP");
imap = UtilityHashMap.getValueIfExists(setupData, "IMAP");
if (UtilityString.isNullOrEmpty(imap))
throw new Exception(params[0] + "/" + params[1] + "/IMAP non configurato correttamente");
imapPort = setupGest.getSetup(ds.getConnection(), params[0], params[1], "IMAP_PORT");
imapPort = UtilityHashMap.getValueIfExists(setupData, "IMAP_PORT");
if (UtilityString.isNullOrEmpty(imapPort))
throw new Exception(params[0] + "/" + params[1] + "/IMAP_PORT non configurato correttamente");
}
ds.forceClose();
if (!UtilityString.isNullOrEmpty(flagAttivo) && "S".equals(flagAttivo)) {
Properties sysProperties = System.getProperties();
Session session = Session.getDefaultInstance(sysProperties);
@@ -160,7 +164,7 @@ public class EmailWatcherListener extends TimerTask {
String value = response.readEntity(String.class);
String emailDbg = setupGest.getSetup(ds.getConnection(), params[0], params[1], "EMAIL_DBG");
String emailDbg = setupGest.getSetup(conn, params[0], params[1], "EMAIL_DBG");
if (value.charAt(0) == '{') {
ServiceRestResponse respWra = jsonObjectMapper.readValue(value, ServiceRestResponse.class);
if (respWra.getEsito() == EsitoType.KO) {

View File

@@ -5,6 +5,10 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.http.ContentDisposition;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -28,26 +32,26 @@ public class DownloadController {
private MimeTypesHandler mimetypesFileTypeMap;
@RequestMapping(value = "download/{uuid}/{fileName}", method = RequestMethod.GET)
public byte[] download(HttpServletResponse response,
@PathVariable String uuid,
@PathVariable String fileName) throws Exception {
public ResponseEntity<byte[]> download(@PathVariable String uuid,
@PathVariable String fileName) throws Exception {
byte[] fileContent = downloadFileHandlerService.getDownloadFileContent(uuid);
if (fileContent != null) {
String filename = downloadFileHandlerService.getDownloadFileName(uuid);
String mimeType = Files.probeContentType(Paths.get(fileName));
MediaType mediaType = mimetypesFileTypeMap.getContentType(fileName);
response.setContentType(mimeType);
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
response.setContentLength(fileContent.length);
return fileContent;
return ResponseEntity.ok()
.contentType(mediaType)
.contentLength(fileContent.length)
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
.builder("attachment")
.filename(filename)
.build()
.toString())
.body(fileContent);
}
response.sendError(404, "File non trovato");
return null;
return ResponseEntity.notFound().build();
}
}

View File

@@ -8,7 +8,6 @@ import it.integry.ems.utility.UtilityFile;
import it.integry.ems_model.entity.StbFilesAttached;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.io.File;
@@ -16,7 +15,6 @@ import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@Service
public class DownloadFileHandlerService {
@@ -26,12 +24,6 @@ public class DownloadFileHandlerService {
private final HashMap<String, CachedFileDto> mFileMap = new HashMap<>();
@Scheduled(fixedDelay = 1, timeUnit = TimeUnit.HOURS, zone = "Europe/Rome")
public void clean() {
UtilityFile.cleanDirectory(getTempPath(), 1, "");
}
public DownloadFileDto generateDownloadItem(File file) throws IOException {
return generateDownloadItem(file.getName(), FileUtils.readFileToByteArray(file), false);
}

View File

@@ -1,5 +1,6 @@
package it.integry.ems.dto;
import java.time.LocalDateTime;
import java.util.Date;
public class ExtendedStbActivity {
@@ -14,11 +15,9 @@ public class ExtendedStbActivity {
private String userCreator;
private String note;
private String activityDescription;
private Date dataInsAct;
private int priorita;
private Date alarmDate;
private Date alarmTime;
private Date oraInsAct;
private LocalDateTime alarmTime;
private LocalDateTime oraInsAct;
private String activityTypeId;
private String parentActivityId;
private StbActivityEmailObject emailObject;
@@ -116,15 +115,6 @@ public class ExtendedStbActivity {
return this;
}
public Date getDataInsAct() {
return dataInsAct;
}
public ExtendedStbActivity setDataInsAct(Date dataInsAct) {
this.dataInsAct = dataInsAct;
return this;
}
public int getPriorita() {
return priorita;
}
@@ -134,29 +124,20 @@ public class ExtendedStbActivity {
return this;
}
public Date getAlarmDate() {
return alarmDate;
}
public ExtendedStbActivity setAlarmDate(Date alarmDate) {
this.alarmDate = alarmDate;
return this;
}
public Date getAlarmTime() {
public LocalDateTime getAlarmTime() {
return alarmTime;
}
public ExtendedStbActivity setAlarmTime(Date alarmTime) {
public ExtendedStbActivity setAlarmTime(LocalDateTime alarmTime) {
this.alarmTime = alarmTime;
return this;
}
public Date getOraInsAct() {
public LocalDateTime getOraInsAct() {
return oraInsAct;
}
public ExtendedStbActivity setOraInsAct(Date oraInsAct) {
public ExtendedStbActivity setOraInsAct(LocalDateTime oraInsAct) {
this.oraInsAct = oraInsAct;
return this;
}

View File

@@ -1,4 +1,4 @@
package it.integry.ems.dto;
package it.integry.ems.dto.info;
public class ApplicationInfoDTO {

View File

@@ -1,4 +1,4 @@
package it.integry.ems.dto;
package it.integry.ems.dto.info;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package it.integry.ems.dto;
package it.integry.ems.dto.info;
public class DatabaseInfoDTO {

View File

@@ -0,0 +1,114 @@
package it.integry.ems.dto.info;
public class PvmInfoDTO {
private String phpVersion;
private String timezone;
private String imagick;
private boolean sodiumMissing;
private int maxExecutionTime;
private boolean magicQuotesGpc;
private String defaultCharset;
private String memoryLimit;
private String postMaxSize;
private String uploadMaxSize;
private int maxInputVars;
public String getPhpVersion() {
return phpVersion;
}
public PvmInfoDTO setPhpVersion(String phpVersion) {
this.phpVersion = phpVersion;
return this;
}
public String getTimezone() {
return timezone;
}
public PvmInfoDTO setTimezone(String timezone) {
this.timezone = timezone;
return this;
}
public String getImagick() {
return imagick;
}
public PvmInfoDTO setImagick(String imagick) {
this.imagick = imagick;
return this;
}
public boolean isSodiumMissing() {
return sodiumMissing;
}
public PvmInfoDTO setSodiumMissing(boolean sodiumMissing) {
this.sodiumMissing = sodiumMissing;
return this;
}
public int getMaxExecutionTime() {
return maxExecutionTime;
}
public PvmInfoDTO setMaxExecutionTime(int maxExecutionTime) {
this.maxExecutionTime = maxExecutionTime;
return this;
}
public boolean isMagicQuotesGpc() {
return magicQuotesGpc;
}
public PvmInfoDTO setMagicQuotesGpc(boolean magicQuotesGpc) {
this.magicQuotesGpc = magicQuotesGpc;
return this;
}
public String getDefaultCharset() {
return defaultCharset;
}
public PvmInfoDTO setDefaultCharset(String defaultCharset) {
this.defaultCharset = defaultCharset;
return this;
}
public String getMemoryLimit() {
return memoryLimit;
}
public PvmInfoDTO setMemoryLimit(String memoryLimit) {
this.memoryLimit = memoryLimit;
return this;
}
public String getPostMaxSize() {
return postMaxSize;
}
public PvmInfoDTO setPostMaxSize(String postMaxSize) {
this.postMaxSize = postMaxSize;
return this;
}
public String getUploadMaxSize() {
return uploadMaxSize;
}
public PvmInfoDTO setUploadMaxSize(String uploadMaxSize) {
this.uploadMaxSize = uploadMaxSize;
return this;
}
public int getMaxInputVars() {
return maxInputVars;
}
public PvmInfoDTO setMaxInputVars(int maxInputVars) {
this.maxInputVars = maxInputVars;
return this;
}
}

View File

@@ -3,7 +3,7 @@ package it.integry.ems.dynamic_cache;
import it.integry.ems.expansion.RunnableArgsWithReturn;
import it.integry.ems.expansion.RunnableWithReturn;
import it.integry.ems.looper.service.LooperService;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -37,8 +37,7 @@ public class DynamicCacheService {
DATI_AZIENDA_KEY,
ENTITY_LOGGER_SETUP,
GRIGLIA_ACQUISTO_KEY,
ENTITY_SYNC_KEY,
STB_GEST_SETUP_KEY
ENTITY_SYNC_KEY
}
public void addItem(Keys key, int invalidateTimeInMins, RunnableWithReturn<Object> refreshAction) {
@@ -51,11 +50,11 @@ public class DynamicCacheService {
List<String> finalDbNames = dbNames.stream().map(String::toLowerCase).collect(Collectors.toList());
RunnableWithReturn<Object> internalRefreshAction = () -> {
Map<String, List<AvailableConnectionsModel>> databases = settingsModel.getAvailableConnections()
Map<String, List<AvailableConnectionModel>> databases = settingsModel.getAvailableConnections()
.stream()
.filter(AvailableConnectionsModel::getInternalDb)
.filter(AvailableConnectionModel::getInternalDb)
.filter(x -> finalDbNames.contains(x.getDbName().toLowerCase()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName));
.collect(Collectors.groupingBy(AvailableConnectionModel::getDbName));
final HashMap<String, T> cachedDataByDB = new HashMap<>();
@@ -83,11 +82,11 @@ public class DynamicCacheService {
RunnableWithReturn<Object> refreshAction = () -> {
Map<String, List<AvailableConnectionsModel>> databases = settingsModel.getAvailableConnections()
Map<String, List<AvailableConnectionModel>> databases = settingsModel.getAvailableConnections()
.stream()
.filter(AvailableConnectionsModel::getInternalDb)
.filter(AvailableConnectionModel::getInternalDb)
.filter(x -> finalDbNames.contains(x.getDbName().toLowerCase()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName));
.collect(Collectors.groupingBy(AvailableConnectionModel::getDbName));
final HashMap<String, List<? extends EntityBase>> cachedEntitiesByDB = new HashMap<>();
@@ -138,11 +137,11 @@ public class DynamicCacheService {
RunnableWithReturn<Object> refreshAction = () -> {
Map<String, List<AvailableConnectionsModel>> databases = settingsModel.getAvailableConnections()
Map<String, List<AvailableConnectionModel>> databases = settingsModel.getAvailableConnections()
.stream()
.filter(AvailableConnectionsModel::getInternalDb)
.filter(AvailableConnectionModel::getInternalDb)
.filter(x -> finalDbNames.contains(x.getDbName().toLowerCase()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName));
.collect(Collectors.groupingBy(AvailableConnectionModel::getDbName));
final HashMap<String, List<?>> cacheQueryByDB = new HashMap<>();

View File

@@ -0,0 +1,325 @@
package it.integry.ems.dynamic_cache;
import it.integry.annotations.PostContextAutowired;
import it.integry.annotations.PostContextConstruct;
import it.integry.ems.dbms_change_tracker.component.DbmsChangeTrackerComponent;
import it.integry.ems.dbms_change_tracker.model.events.TableRecordDeletedEvent;
import it.integry.ems.dbms_change_tracker.model.events.TableRecordInsertedEvent;
import it.integry.ems.dbms_change_tracker.model.events.TableRecordUpdatedEvent;
import it.integry.ems.dbms_change_tracker.model.events.TableTrackingResettedEvent;
import it.integry.ems.dto.EntityHierarchy;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EntityPropertyHolder;
import it.integry.ems_model.entity.*;
import it.integry.ems_model.exception.DataConverterNotFoundException;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityQuery;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Component
public class EntityCacheComponent implements ApplicationListener {
private final Logger logger = LogManager.getLogger();
private final DbmsChangeTrackerComponent dbmsChangeTrackerComponent;
private final EntityPropertyHolder entityPropertyHolder;
private final HashMap<IntegryCustomerDB, ConcurrentHashMap<String, ConcurrentHashMap<HashMap<String, Object>, EntityBase>>> entityCache = new HashMap<>();
// Lock per IntegryCustomerDB per garantire accessi sincronizzati alla cache di quel customer
private final ConcurrentHashMap<IntegryCustomerDB, Object> cacheLocks = new ConcurrentHashMap<>();
private Object getCacheLock(IntegryCustomerDB customerDB) {
cacheLocks.putIfAbsent(customerDB, new Object());
return cacheLocks.get(customerDB);
}
private final HashMap<String, Class<? extends EntityBase>> enabledEntities = new HashMap<String, Class<? extends EntityBase>>() {{
put(MtbAart.ENTITY, MtbAart.class);
put(MtbAartBarCode.ENTITY, MtbAartBarCode.class);
put(MtbUntMis.ENTITY, MtbUntMis.class);
put(MtbDepo.ENTITY, MtbDepo.class);
put(MtbDepoPosizioni.ENTITY, MtbDepoPosizioni.class);
put(StbEditLimit.ENTITY, StbEditLimit.class);
put(StbGestSetup.ENTITY, StbGestSetup.class);
put(StbGestSetupDepo.ENTITY, StbGestSetupDepo.class);
put(StbUser.ENTITY, StbUser.class);
put(WtbDepo.ENTITY, WtbDepo.class);
put(WtbGestSetupUser.ENTITY, WtbGestSetupUser.class);
put(WtbClie.ENTITY, WtbClie.class);
}};
public EntityCacheComponent(DbmsChangeTrackerComponent dbmsChangeTrackerComponent, EntityPropertyHolder entityPropertyHolder) {
this.dbmsChangeTrackerComponent = dbmsChangeTrackerComponent;
this.entityPropertyHolder = entityPropertyHolder;
}
@PostContextAutowired
private MultiDBTransactionManager multiDBTransactionManager;
@PostContextConstruct
private void init() throws Exception {
if (UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer())
return;
for (Connection conn : multiDBTransactionManager.getActiveConnections()) {
IntegryCustomerDB customerDB = IntegryCustomerDB.parse(conn.getDbName());
if (customerDB == null)
throw new RuntimeException("Impossibile inizializzare IntegryCustomerDB per il database: " + conn.getDbName());
for (Map.Entry<String, Class<? extends EntityBase>> enabledEntity : enabledEntities.entrySet()) {
String tableName = enabledEntity.getKey();
refreshCacheForEntity(conn, customerDB, tableName);
}
}
}
private void refreshCacheGlobal(IntegryCustomerDB customerDB) throws Exception {
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(customerDB)) {
Connection conn = mdb.getPrimaryConnection();
for (Map.Entry<String, Class<? extends EntityBase>> enabledEntity : enabledEntities.entrySet()) {
String tableName = enabledEntity.getKey();
refreshCacheForEntity(conn, customerDB, tableName);
}
}
}
private void refreshCacheForEntity(IntegryCustomerDB customerDB, String tableName) throws Exception {
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(customerDB)) {
Connection conn = mdb.getPrimaryConnection();
refreshCacheForEntity(conn, customerDB, tableName);
}
}
private void refreshCacheForEntity(Connection connection, IntegryCustomerDB customerDB, String tableName) throws Exception {
// Sincronizziamo l'intera operazione di refresh per il customerDB per evitare accessi concorrenti
synchronized (getCacheLock(customerDB)) {
Class<? extends EntityBase> clazz = enabledEntities.get(tableName);
// if (clazz == null)
// throw new RuntimeException("Entity cache is not enabled for table " + tableName);
entityCache.putIfAbsent(customerDB, new ConcurrentHashMap<>());
entityCache.get(customerDB).remove(tableName);
ConcurrentHashMap<HashMap<String, Object>, EntityBase> entities = retrieveEntityList(connection, tableName, clazz);
entityCache.get(customerDB).put(tableName, entities);
logger.trace(String.format("[%s] Cached %d records for entity %s",
customerDB.getValue(),
entities.size(),
clazz.getSimpleName()));
}
}
public <T extends EntityBase> List<T> getCachedEntitiesList(IntegryCustomerDB customerDB, String tableName, Predicate<T> filterPredicate) {
return getCachedEntitiesStream(customerDB, tableName, filterPredicate)
.collect(Collectors.toList());
}
public <T extends EntityBase> Stream<T> getCachedEntitiesStream(IntegryCustomerDB customerDB, String tableName, Predicate<T> filterPredicate) {
// Per evitare accessi concorrenti leggiamo/snapshottiamo la cache sotto lock per quel customerDB
Stream<T> snapshot;
synchronized (getCacheLock(customerDB)) {
if (!isCacheEnabled(customerDB, tableName)) {
try {
refreshCacheForEntity(customerDB, tableName);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
// prendo un'istantanea degli oggetti clonati per poter lavorare fuori dal lock
snapshot = entityCache.get(customerDB)
.get(tableName)
.values()
.parallelStream()
.map(x -> (T) x.clone());
if (filterPredicate != null)
snapshot = snapshot.filter(filterPredicate);
}
return snapshot;
}
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof TableRecordInsertedEvent) {
handleRecordInserted((TableRecordInsertedEvent) event);
} else if (event instanceof TableRecordUpdatedEvent) {
handleRecordUpdated((TableRecordUpdatedEvent) event);
} else if (event instanceof TableRecordDeletedEvent) {
handleRecordDeleted((TableRecordDeletedEvent) event);
} else if (event instanceof TableTrackingResettedEvent) {
try {
handleTableTrackingResetted((TableTrackingResettedEvent) event);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
private void handleRecordInserted(TableRecordInsertedEvent event) {
if (!isCacheEnabled(event.getCustomerDB(), event.getTableName()))
return;
HashMap<String, Object> entityPrimaryKey = convertSqlMapToEntityMap(event.getPrimaryKey(), enabledEntities.get(event.getTableName()));
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(event.getCustomerDB())) {
EntityBase newItem = retrieveEntityItem(mdb.getPrimaryConnection(), event.getTableName(),
enabledEntities.get(event.getTableName()),
event.getPrimaryKey());
// sincronizziamo la modifica per il customerDB
synchronized (getCacheLock(event.getCustomerDB())) {
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private void handleRecordUpdated(TableRecordUpdatedEvent event) {
if (!isCacheEnabled(event.getCustomerDB(), event.getTableName()))
return;
HashMap<String, Object> entityPrimaryKey = convertSqlMapToEntityMap(event.getPrimaryKey(), enabledEntities.get(event.getTableName()));
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(event.getCustomerDB())) {
EntityBase newItem = retrieveEntityItem(mdb.getPrimaryConnection(), event.getTableName(),
enabledEntities.get(event.getTableName()),
event.getPrimaryKey());
// sincronizziamo la modifica per il customerDB
synchronized (getCacheLock(event.getCustomerDB())) {
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private void handleRecordDeleted(TableRecordDeletedEvent event) {
if (!isCacheEnabled(event.getCustomerDB(), event.getTableName()))
return;
HashMap<String, Object> entityPrimaryKey = convertSqlMapToEntityMap(event.getPrimaryKey(), enabledEntities.get(event.getTableName()));
// sincronizziamo la rimozione per il customerDB
final EntityBase removedItem;
synchronized (getCacheLock(event.getCustomerDB())) {
removedItem = entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.remove(entityPrimaryKey);
}
}
private void handleTableTrackingResetted(TableTrackingResettedEvent event) throws Exception {
// reset e refresh sono eseguiti in modo sincronizzato per quel customer
resetTablesCache(event.getCustomerDB());
refreshCacheGlobal(event.getCustomerDB());
}
private ConcurrentHashMap<HashMap<String, Object>, EntityBase> retrieveEntityList(Connection connection, String tableName, Class<? extends EntityBase> clazz) throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
String sql = "SELECT * FROM " + tableName;
List<? extends EntityBase> objects = UtilityDB.executeSimpleQueryDTO(connection, sql, clazz);
if (objects == null)
objects = new ArrayList<>();
final List<EntityHierarchy.Field> pkFields = entityPropertyHolder.getEntityFields(clazz, EntityHierarchy.Field::isPrimaryKey);
ConcurrentHashMap<HashMap<String, Object>, EntityBase> objectsMap = new ConcurrentHashMap<>();
for (EntityBase object : objects) {
HashMap<String, Object> pkMap = new HashMap<>();
for (EntityHierarchy.Field pkField : pkFields) {
Object pkValue = pkField.getField().get(object);
pkMap.put(pkField.getFieldName(), pkValue);
}
objectsMap.put(pkMap, object);
}
return objectsMap;
}
private EntityBase retrieveEntityItem(Connection connection, String tableName, Class<?> clazz, HashMap<String, Object> primaryKey) throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
String sql = "SELECT * FROM " + tableName + "\n" +
" WHERE " + UtilityQuery.concatFieldsInWhereCond(primaryKey);
final EntityBase object = (EntityBase) UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, sql, clazz);
return object;
}
private HashMap<String, Object> convertSqlMapToEntityMap(HashMap<String, Object> sqlMap, Class<? extends EntityBase> clazz) {
HashMap<String, Object> entityMap = new HashMap<>();
for (Map.Entry<String, Object> entry : sqlMap.entrySet()) {
String fieldName = entityPropertyHolder.getEntityFields(clazz, f -> f.isSqlField() && f.getSqlField().value().equals(entry.getKey()))
.stream()
.findFirst()
.map(EntityHierarchy.Field::getFieldName)
.orElse(entry.getKey());
entityMap.put(fieldName, entry.getValue());
}
return entityMap;
}
private void resetTableCache(IntegryCustomerDB customerDB, String tableName) {
synchronized (getCacheLock(customerDB)) {
if (entityCache.containsKey(customerDB) && entityCache.get(customerDB).containsKey(tableName)) {
entityCache.get(customerDB).remove(tableName);
}
}
}
private void resetTablesCache(IntegryCustomerDB customerDB) {
// sincronizziamo la rimozione dell'intera cache per il customer
synchronized (getCacheLock(customerDB)) {
entityCache.remove(customerDB);
}
}
private boolean isCacheEnabled(IntegryCustomerDB customerDB, String tableName) {
return (entityCache.containsKey(customerDB) && entityCache.get(customerDB).containsKey(tableName)) ||
!(UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer());
}
}

View File

@@ -6,7 +6,7 @@ import it.integry.annotations.PostContextConstruct;
import it.integry.ems.entity_logger.db_schema_manager.component.SQLServerDBSchemaManager;
import it.integry.ems.entity_logger.db_schema_manager.dto.*;
import it.integry.ems.looper.service.LooperService;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -57,7 +57,7 @@ public class EntityLoggerComponent {
private void syncDBScheme() throws Exception {
AvailableConnectionsModel connectionsModel = settingsModel.getDefaultConnectionModel();
AvailableConnectionModel connectionsModel = settingsModel.getDefaultConnectionModel();
if (connectionsModel == null) {
throw new Exception("Impossibile ricavare la default connection");
@@ -107,7 +107,7 @@ public class EntityLoggerComponent {
}
if (settingsModel.getAvailableConnections().stream().noneMatch(x -> x.getDbName().equalsIgnoreCase(destDBName))) {
settingsModel.addAvailableConnection(new AvailableConnectionsModel()
settingsModel.addAvailableConnection(new AvailableConnectionModel()
.setInternalDb(false)
.setHost(dbHost)
.setUsername(dbUsername)
@@ -210,12 +210,12 @@ public class EntityLoggerComponent {
return;
try {
List<AvailableConnectionsModel> connectionsModels = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
List<AvailableConnectionModel> connectionsModels = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
String historyProfileDB = settingsController.getHistoryProfileDb();
try (MultiDBTransactionManager historyMultiDB = new MultiDBTransactionManager(historyProfileDB)) {
for (AvailableConnectionsModel sourceConnectionModel : connectionsModels) {
for (AvailableConnectionModel sourceConnectionModel : connectionsModels) {
String sql = "SELECT * FROM stb_log_entity_setup" +
" WHERE entity_name <> " + UtilityDB.valueToString(StbLogEntitySetup.ENTITY);

View File

@@ -0,0 +1,8 @@
package it.integry.ems.exception;
public class DistributoreDatabaseNotPresentException extends Exception {
public DistributoreDatabaseNotPresentException() {
super("Distributore database not present yet");
}
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.exception;
public class InvalidCustomerDbException extends RuntimeException {
public InvalidCustomerDbException(String dbName) {
super("Invalid customer database name: " + dbName + ". Please check your ems_settings.json");
}
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.exception;
public class InvalidDbNameException extends RuntimeException {
public InvalidDbNameException(String dbName) {
super("Invalid database name: " + dbName + ". Please check your ems_settings.json");
}
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.exception;
public class InvalidProfileDbException extends RuntimeException {
public InvalidProfileDbException(String profileDb) {
super("Invalid profile db: " + profileDb + ". Please check your ems_settings.json");
}
}

View File

@@ -1,9 +1,6 @@
package it.integry.ems.expansion;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Observable;
import java.util.Observer;
import java.util.*;
public class ObservableArrayList<T> extends Observable {
@@ -122,4 +119,16 @@ public class ObservableArrayList<T> extends Observable {
notifyObservers();
}
@Override
public boolean equals(Object o) {
if (!(o instanceof ObservableArrayList)) return false;
ObservableArrayList<?> that = (ObservableArrayList<?>) o;
return Objects.equals(value, that.value);
}
@Override
public int hashCode() {
return Objects.hashCode(value);
}
}

View File

@@ -1,5 +1,6 @@
package it.integry.ems.expansion;
import java.util.Objects;
import java.util.Observable;
public class ObservableField<T> extends Observable {
@@ -34,4 +35,16 @@ public class ObservableField<T> extends Observable {
super.addObserver((o, arg) -> observerCallback.run());
}
@Override
public boolean equals(Object o) {
if (!(o instanceof ObservableField)) return false;
ObservableField<?> that = (ObservableField<?>) o;
return Objects.equals(value, that.value);
}
@Override
public int hashCode() {
return Objects.hashCode(value);
}
}

View File

@@ -174,7 +174,7 @@ public abstract class BaseEntityExporter implements IEntityExporter {
.map(x -> (FileItem) x)
.toList();
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryDatasource().getDbName(), type, format).getAbsolutePath();
String pathFile = UtilityDirs.getDirectoryExport(multiDBTransactionManager.getPrimaryConnection().getDbName(), type, format).getAbsolutePath();
for (FileItem file : files) {
File tempFile = new File(pathFile + File.separator + file.getFileName());
@@ -369,7 +369,7 @@ public abstract class BaseEntityExporter implements IEntityExporter {
entityExportResponse.setMessageContent("Messaggio creato automaticamente: " + "INVIO " + type + " formato " + format);
}
fileSharerSettings = MailService.readParameter(multiDBTransactionManager, null);
fileSharerSettings = MailService.readParameter(multiDBTransactionManager.getPrimaryConnection(), null);
((EmailFileSharerSettings) fileSharerSettings)
.withSubject(entityExportResponse.getMessageSubject())
.withTextMessage(entityExportResponse.getMessageContent())
@@ -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

@@ -4,6 +4,7 @@ import it.integry.ems.response.FileItem;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.entity.WtbUsersInfo;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityResultSet;
@@ -27,8 +28,13 @@ public class ExportFromQuery {
@Autowired
private EntityProcessor entityProcessor;
@Autowired
private SetupGest setupGest;
public EntityExportResponse export (String userName, String type, String format, String whereCond) throws Exception {
String query = setupGest.getExportSetup(multiDBTransactionManager.getPrimaryConnection(), type, format, "QUERY");
WtbUsersInfo wtbUsersInfo =
new WtbUsersInfo()
.setUserName(userName)
@@ -38,18 +44,20 @@ public class ExportFromQuery {
entityProcessor.processEntity(wtbUsersInfo, multiDBTransactionManager);
String queryCustom = wtbUsersInfo.getQueryCustom();
if (UtilityString.isNullOrEmpty(queryCustom))
if (UtilityString.isNullOrEmpty(wtbUsersInfo.getQueryCustom()) && UtilityString.isNullOrEmpty(query))
throw new Exception(
String.format(
"Query non configurata per l'utente %s tipo %s formato %s",
"Query non configurata per l'utente %s tipo %s formato %s o per il formato.",
userName, type, format));
queryCustom = UtilityDB.addwhereCond(queryCustom, whereCond, true);
if (!UtilityString.isNullOrEmpty(wtbUsersInfo.getQueryCustom())) {
query = wtbUsersInfo.getQueryCustom();
}
query = UtilityDB.addwhereCond(query, whereCond, true);
PreparedStatement stm = multiDBTransactionManager
.getPrimaryConnection()
.prepareStatement(queryCustom,
.prepareStatement(query,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);

View File

@@ -5,7 +5,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import com.fasterxml.jackson.dataformat.csv.CsvSchema.Column;
import it.integry.common.var.CommonConstants;
import it.integry.ems_model.ImportExport.Interfaces.IExportFormat;
import it.integry.ems_model.ImportExport.Interfaces.IImportFormat;
import it.integry.ems_model.annotation.DtoField;
@@ -64,7 +63,7 @@ public class CsvMapper<T> {
builder.addColumn(new Column(i, columns[i]));
}
builder.setLineSeparator(System.getProperty("line.separator"));
builder.setLineSeparator(System.lineSeparator());
CsvSchema schema = builder.build().withoutQuoteChar();
mapper.configure(JsonGenerator.Feature.IGNORE_UNKNOWN, true);
@@ -74,6 +73,7 @@ public class CsvMapper<T> {
public List<T> deserialize(String csv, Class<T> dtoClass, String splitChar) throws Exception {
List<T> outputList = null;
String[] headers = null;
Integer rows = 0;
String delimiter = UtilityString.identifyLineDelimiter(csv);
ByteBuffer byteBuffer = ByteBuffer.wrap(csv.getBytes());
@@ -83,6 +83,7 @@ public class CsvMapper<T> {
for (int i = 0; i < byteBuffer.capacity(); i++) {
line.append((char) byteBuffer.get());
if (line.toString().endsWith(delimiter)) {
rows++;
if (firstLine) {
firstLine = false;
headers = line.toString().replace(delimiter, "").split(splitChar);
@@ -105,37 +106,44 @@ public class CsvMapper<T> {
line = new StringBuilder();
continue;
}
String[] datas = line.toString().replace(delimiter, "").split(splitChar);
T bean = (T) dtoClass.newInstance();
for (int j = 0; j < datas.length; j++) {
String header = headers[j].trim();
if (header.compareTo("") != 0) {
Field field = map.get(header.toLowerCase());
if (field != null) {
try {
String[] datas = line.toString().replace(delimiter, "").split(splitChar);
T bean = (T) dtoClass.newInstance();
for (int j = 0; j < datas.length; j++) {
String header = headers[j].trim();
if (header.compareTo("") != 0) {
Field field = map.get(header.toLowerCase());
DtoField dtoField = field.getAnnotation(DtoField.class);
if (field != null) {
field.setAccessible(true);
DtoField dtoField = field.getAnnotation(DtoField.class);
field.setAccessible(true);
Object columnValue;
if (field.getGenericType() != String.class && UtilityString.isNullOrEmpty(datas[j].trim())) {
columnValue = null;
} else {
columnValue = datas[j].trim();
}
Object o = SqlFieldHolder.applyConvert(columnValue, field.getGenericType());
field.set(bean, o);
Object columnValue;
if (field.getGenericType() != String.class && UtilityString.isNullOrEmpty(datas[j].trim())) {
columnValue = null;
} else {
columnValue = datas[j].trim();
}
Object o = SqlFieldHolder.applyConvert(columnValue, field.getGenericType());
field.set(bean, o);
}
}
line = new StringBuilder();
if (outputList == null) {
outputList = new ArrayList<T>();
}
outputList.add(bean);
} catch(Exception e) {
throw new Exception("ERRORE DI SINTASSI SU RIGA " + rows);
}
line = new StringBuilder();
if (outputList == null) {
outputList = new ArrayList<T>();
}
outputList.add(bean);
}
}
byteBuffer.clear();

View File

@@ -2,6 +2,7 @@ package it.integry.ems.file_formatter.txt;
import com.annimon.stream.Stream;
import it.integry.ems_model.annotation.DtoField;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -10,6 +11,7 @@ import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -76,8 +78,16 @@ public class TxtMapper<T> {
if (ignorePosition)
stringBuilder.append(value).append(fieldsSplitChar);
else
else {
if ( stringBuilder.length() > 0 && stringBuilder.length() < dtoField.startPosition() ) {
int numChar = dtoField.startPosition() - stringBuilder.length();
for (int i = 0; i < numChar; i++) {
stringBuilder.append(fieldsSplitChar);
}
}
stringBuilder.insert(dtoField.startPosition(), value).append(fieldsSplitChar);
}
} catch (Exception e) {
logger.error(e);
@@ -208,6 +218,8 @@ public class TxtMapper<T> {
if (value != null) {
if (!UtilityString.isNullOrEmpty(dtoField.format()) && value instanceof Date) {
value = new SimpleDateFormat(dtoField.format()).format(value);
} else if (!UtilityString.isNullOrEmpty(dtoField.format()) && value instanceof LocalDate) {
value = UtilityLocalDate.formatDate((LocalDate) value, dtoField.format() );
} else if (!UtilityString.isNullOrEmpty(dtoField.formula()) && value instanceof BigDecimal) {
value = ((BigDecimal) value).setScale(dtoField.scale(), RoundingMode.HALF_DOWN);
String formula = dtoField.formula().replaceAll("this", value.toString());

View File

@@ -2,8 +2,12 @@ package it.integry.ems.javabeans;
import com.fasterxml.jackson.annotation.JsonInclude;
import it.integry.common.var.CommonConstants;
import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.jpa.TenantContext;
import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.model.IntegryApplicationEnum;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.user.dto.UserDTO;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.utility.UtilityString;
@@ -16,13 +20,15 @@ import org.springframework.security.authentication.AnonymousAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import org.springframework.web.context.WebApplicationContext;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@Component
@Scope("request")
@Scope(WebApplicationContext.SCOPE_REQUEST)
public class RequestDataDTO {
private final Logger logger = LogManager.getLogger();
@@ -37,24 +43,32 @@ public class RequestDataDTO {
private String requestClientIP;
private String profileDB;
//Indica il codice deposito reale dell'utente che effettua la richiesta, ovvero la posizione fisica dell'utente
private String codMdep;
private Long deviceId;
private String username;
private String password;
private boolean includeNulls = false;
private IntegryApplicationEnum integryApplication = IntegryApplicationEnum.PVM;
private IntegryApplicationEnum integryApplication;
private UserDTO userDTO;
@PostConstruct
public void init() throws IOException, InterruptedException {
if (request != null && request.getQueryString() != null && request.getQueryString().contains(CommonConstants.PROFILE_DB)) {
if (request != null && request.getParameter(CommonConstants.PROFILE_DB) != null) {
profileDB = request.getParameter(CommonConstants.PROFILE_DB);
} else if (request != null && request.getHeader(CommonConstants.PROFILE_DB) != null) {
profileDB = request.getHeader(CommonConstants.PROFILE_DB);
}
if (request != null && request.getHeader(CommonConstants.COD_MDEP) != null) {
codMdep = request.getHeader(CommonConstants.COD_MDEP);
}
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication != null && !(authentication instanceof AnonymousAuthenticationToken)) {
readAuthenticationClaims(authentication);
@@ -89,6 +103,24 @@ public class RequestDataDTO {
} else {
jsonObjectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
}
// Logica di fallback o recupero tenant da sessione/utente
if (profileDB == null || profileDB.isEmpty()) {
// Esempio: recupero da sessione se presente
// tenantId = (String) request.getSession().getAttribute("TENANT_ID");
// Fallback temporaneo per test
// tenantId = DEFAULT_TENANT;
}
if (profileDB != null) {
TenantContext.setCurrentTenant(profileDB);
}
}
@PreDestroy
public void destroy() throws Exception {
TenantContext.clear();
}
@@ -98,10 +130,20 @@ public class RequestDataDTO {
.setPassword("sql");
}
public static RequestDataDTO scheduledOperationsMockupData() {
return new RequestDataDTO()
.setUsername("INTEGRY")
.setPassword("INTEGRY");
}
public boolean isValidProfileDB() {
return !UtilityString.isNullOrEmpty(profileDB);
}
public boolean isValidCodMdep() {
return !UtilityString.isNullOrEmpty(codMdep);
}
public boolean isValidDeviceId() {
return deviceId != null;
}
@@ -132,6 +174,20 @@ public class RequestDataDTO {
return profileDB;
}
public String getCodMdep() {
return codMdep;
}
public IntegryCustomerDB getCustomerDB() {
if (UtilityString.isNullOrEmpty(profileDB))
return null;
final SettingsModel settingsModel = ApplicationContextProvider.getApplicationContext().getBean(SettingsModel.class);
final String dbName = settingsModel.getDbNameFromProfileDb(profileDB);
return IntegryCustomerDB.parse(dbName);
}
public Long getDeviceId() {
return deviceId;
}

View File

@@ -0,0 +1,56 @@
package it.integry.ems.jpa;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MultiTenantDataSource extends AbstractRoutingDataSource {
private final BasicConnectionPool basicConnectionPool;
private final SettingsModel settingsModel;
public MultiTenantDataSource(BasicConnectionPool basicConnectionPool, SettingsModel settingsModel) {
this.basicConnectionPool = basicConnectionPool;
this.settingsModel = settingsModel;
}
@Override
protected Object determineCurrentLookupKey() {
return TenantContext.getCurrentTenant();
}
@Override
public void afterPropertiesSet() {
Map<Object, Object> targetDataSources = new HashMap<>();
List<AvailableConnectionModel> connections = settingsModel.getAvailableConnections(false);
// Imposta il primo come default se necessario, o gestisci il caso null
DataSource defaultDataSource = null;
for (AvailableConnectionModel model : connections) {
DataSource ds = basicConnectionPool.getDataSource(model.getProfileName());
if (ds != null) {
targetDataSources.put(model.getProfileName(), ds);
if (defaultDataSource == null) {
defaultDataSource = ds;
}
}
}
this.setTargetDataSources(targetDataSources);
this.setDefaultTargetDataSource(defaultDataSource);
super.afterPropertiesSet();
}
// Metodo per ricaricare i datasource se vengono aggiunti nuovi tenant a runtime
public void refreshDataSources() {
this.afterPropertiesSet();
}
}

View File

@@ -0,0 +1,18 @@
package it.integry.ems.jpa;
public class TenantContext {
private static final ThreadLocal<String> currentTenant = new ThreadLocal<>();
public static void setCurrentTenant(String tenant) {
currentTenant.set(tenant);
}
public static String getCurrentTenant() {
return currentTenant.get();
}
public static void clear() {
currentTenant.remove();
}
}

View File

@@ -0,0 +1,10 @@
package it.integry.ems.jpa.entity;
import javax.persistence.MappedSuperclass;
import java.io.Serializable;
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
// Classe base per le entity JPA
}

View File

@@ -0,0 +1,10 @@
package it.integry.ems.jpa.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.NoRepositoryBean;
@NoRepositoryBean
public interface BaseRepository<T, ID> extends JpaRepository<T, ID> {
// Interfaccia base per i repository
}

View File

@@ -0,0 +1,20 @@
package it.integry.ems.jpa.repository;
import it.integry.ems_model.entity.MtbAart;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
public interface MtbAartRepository extends BaseRepository<MtbAart, String> {
Optional<MtbAart> findByCodMart(String codMart);
List<MtbAart> findByCodMartIn(List<String> codMarts);
@Query("SELECT m FROM MtbAart m WHERE m.untMis = 'KG'")
List<MtbAart> findMtbAartsByUntMisKG();
}

View File

@@ -33,6 +33,7 @@ public class JsonObjectMapperConfig {
module.addDeserializer(BigDecimal.class, new BigDecimalDeserialize());
module.addDeserializer(Integer.class, new IntegerDeserializer());
module.addDeserializer(Long.class, new LongDeserializer());
module.addDeserializer(String.class, new StringUnicodeDeserialize());

View File

@@ -1,7 +1,8 @@
package it.integry.ems.license;
import it.integry.common.var.CommonConstants;
import it.integry.ems.javabeans.RequestDataDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
@@ -11,7 +12,6 @@ import java.util.Random;
public class LicenseCheckInterceptor extends HandlerInterceptorAdapter {
@Autowired
private LicenseComponent licenseComponent;
@@ -19,13 +19,9 @@ public class LicenseCheckInterceptor extends HandlerInterceptorAdapter {
HttpServletRequest request,
HttpServletResponse response, Object handler) {
RequestDataDTO requestData = ContextLoader.getCurrentWebApplicationContext().getBean(RequestDataDTO.class);
String profileDB = null;
if (request != null && request.getQueryString() != null && request.getQueryString().contains(CommonConstants.PROFILE_DB)) {
profileDB = request.getParameter(CommonConstants.PROFILE_DB);
} else if (request != null && request.getHeader(CommonConstants.PROFILE_DB) != null) {
profileDB = request.getHeader(CommonConstants.PROFILE_DB);
}
String profileDB = requestData.getProfileDB();
LicenseStatusDTO licenseStatusDTO = null;
if (profileDB != null) licenseStatusDTO = licenseComponent.getLicenseStatus(profileDB);

View File

@@ -8,9 +8,9 @@ import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.response.EsitoType;
import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.service.HttpRestWrapper;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.config.EmsRestConstants;
@@ -25,6 +25,7 @@ import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
@Component
@@ -59,11 +60,11 @@ public class LicenseComponent {
if (!canStart)
return;
List<AvailableConnectionsModel> availableConnectionsModels = settingsModel.getAvailableConnections(true);
List<AvailableConnectionModel> availableConnectionModels = settingsModel.getAvailableConnections(true);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) {
for (AvailableConnectionsModel model : availableConnectionsModels) {
for (AvailableConnectionModel model : availableConnectionModels) {
multiDBTransactionManager.addConnection(model);
}
@@ -82,12 +83,12 @@ public class LicenseComponent {
final HashMap<String, String> listAziende = new HashMap<>();
for (AdvancedDataSource model : multiDBTransactionManager.getActiveConnections()) {
for (Connection connection : multiDBTransactionManager.getActiveConnections()) {
String sql = "SELECT part_iva FROM azienda WHERE part_iva is not null";
String partIva = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(model.getConnection(), sql);
String partIva = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
if (!UtilityString.isNullOrEmpty(partIva))
listAziende.put(model.getProfileName(), partIva);
listAziende.put(connection.getProfileName(), partIva);
}
String jsonBody = jsonObjectMapper.writeValueAsString(listAziende.values());
@@ -105,14 +106,19 @@ public class LicenseComponent {
} else {
List<LicenseStatusDTO> licenses = response.getDTO(new TypeReference<List<LicenseStatusDTO>>() {
});
if (licenses == null) return;
if (licenses == null || licenses.isEmpty()) return;
listAziende.forEach((key, value) -> {
cachedLicenseStatus.remove(key);
licenses.stream().filter(x -> x.getPartIva().equalsIgnoreCase(value))
.findFirst()
.ifPresent(license -> cachedLicenseStatus.put(key, license));
final Optional<LicenseStatusDTO> licenseSearch = licenses.stream().filter(x -> x.getPartIva().equalsIgnoreCase(value))
.findFirst();
if (licenseSearch.isPresent()) {
cachedLicenseStatus.put(key, licenseSearch.get());
} else {
cachedLicenseStatus.put(key, licenses.get(0));
}
});
}

View File

@@ -10,10 +10,13 @@ import java.util.Date;
public class LicenseStatusDTO {
@SqlField("part_iva")
private String partIva;
@SqlField("classe_merito")
private Quality quality;
@SqlField
private Status status;
@SqlField("data_scad_license")
private Date expiringDate;

View File

@@ -0,0 +1,32 @@
package it.integry.ems.listener;
import org.apache.logging.log4j.LogManager;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class Log4jShutdownListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
try {
// Pulizia esplicita del ThreadLocal
// ContextAnchor.THREAD_CONTEXT.remove();
// Shutdown completo di Log4j
LogManager.shutdown();
// Attesa per completamento shutdown
Thread.sleep(500);
// Forza garbage collection
System.gc();
} catch (Exception e) {
System.err.println("Errore durante la pulizia dei ThreadLocal di Log4j: " + e.getMessage());
}
}
}

View File

@@ -1,6 +1,7 @@
package it.integry.ems.menu.service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.microsoft.sqlserver.jdbc.SQLServerConnection;
import com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement;
import it.integry.annotations.PostContextAutowired;
import it.integry.annotations.PostContextConstruct;
@@ -11,7 +12,6 @@ import it.integry.ems.menu.dto.StbMenuOpzDTO;
import it.integry.ems.menu.dto.StbTipoAziendaDTO;
import it.integry.ems.service.MailService;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDirs;
@@ -57,17 +57,17 @@ public class MenuConfigurationService {
final MenuConfigDTO menuConfig = loadMenuData();
for (AdvancedDataSource advancedDataSource : multiDBTransactionManager.getActiveConnections()) {
for (Connection connection : multiDBTransactionManager.getActiveConnections()) {
if (advancedDataSource.getDataSource().getDbName().equalsIgnoreCase("menu") || isHistoryDB(advancedDataSource))
if (connection.getDbName().equalsIgnoreCase("menu") || isHistoryDB(connection))
continue;
try {
//LocalDateTime startTime = UtilityLocalDate.getNowTime();
internalRefresh(advancedDataSource.getConnection(), menuConfig);
internalRefresh(connection, menuConfig);
//logger.debug("Menu refresh time: " + ChronoUnit.SECONDS.between(startTime, UtilityLocalDate.getNowTime()));
} catch (Exception ex) {
logger.error("Errore durante l'aggiornamento del menu di " + advancedDataSource.getProfileName(), ex);
logger.error("Errore durante l'aggiornamento del menu di " + connection.getProfileName(), ex);
throw ex;
}
}
@@ -75,9 +75,9 @@ public class MenuConfigurationService {
logger.debug(MenuConfigurationService.class.getSimpleName() + ": Fine refresh menu");
}
private boolean isHistoryDB(AdvancedDataSource advancedDataSource) throws Exception {
private boolean isHistoryDB(Connection connection) throws Exception {
String historyProfileDB = settingsController.getHistoryProfileDb();
return historyProfileDB.equalsIgnoreCase(advancedDataSource.getProfileName());
return historyProfileDB.equalsIgnoreCase(connection.getProfileName());
}
public void refresh(Connection connection, boolean forceRefresh) throws Exception {
@@ -101,6 +101,7 @@ public class MenuConfigurationService {
}
private void internalRefresh(Connection connection, MenuConfigDTO menuConfig, boolean forceRefresh) throws Exception {
SQLServerConnection sqlServerConnection = connection.unwrap(SQLServerConnection.class);
final Azienda azienda = Azienda.getDefaultAzienda(connection);
if (azienda.getTipoAzienda() == null)
@@ -121,7 +122,7 @@ public class MenuConfigurationService {
"descrizione, gest_name, entity_name, picture_menu, picture_select, object_type, flag_printer_setup, parameter, note, open_type, is_deprecated)" +
" VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) connection.prepareStatement(insertStbMenuOpzSQL)) {
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) sqlServerConnection.prepareStatement(insertStbMenuOpzSQL)) {
for (StbMenuOpzDTO stbMenuOpzDto : menuConfig.getStbMenuOpz()) {
insertBulkPs.setString(1, stbMenuOpzDto.getCodOpz());
@@ -169,7 +170,7 @@ public class MenuConfigurationService {
"pos_tipo_azienda, pos_cliente, descrizione_estesa) " +
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) connection.prepareStatement(insertStbMenuSql)) {
try (SQLServerPreparedStatement insertBulkPs = (SQLServerPreparedStatement) sqlServerConnection.prepareStatement(insertStbMenuSql)) {
for (StbMenuDTO stbMenuDto : stbMenus) {
insertBulkPs.setString(1, stbMenuDto.getCodOpz());

View File

@@ -7,7 +7,7 @@ import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems.service.MailService;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.config.EmsRestConstants;
@@ -25,7 +25,6 @@ import org.reflections.Reflections;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.lang.reflect.Modifier;
import java.sql.SQLException;
import java.util.*;
@@ -75,12 +74,12 @@ public class MigrationComponent {
}
public void startMigrationsGlobally(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
List<AdvancedDataSource> advancedDataSources;
List<Connection> advancedDataSources;
try {
advancedDataSources = multiDBTransactionManager.getActiveConnections();
advancedDataSources = advancedDataSources.stream()
.filter(AdvancedDataSource::isInternalDb)
.filter(Connection::isInternalDb)
.collect(Collectors.toList());
} catch (SQLException e) {
advancedDataSources = new ArrayList<>();
@@ -89,7 +88,7 @@ public class MigrationComponent {
Exception firstException = null;
for (final AdvancedDataSource advancedDataSource : advancedDataSources) {
for (final Connection advancedDataSource : advancedDataSources) {
try {
executeMigrationGroup(advancedDataSource);
} catch (Exception e) {
@@ -102,9 +101,9 @@ public class MigrationComponent {
// throw firstException;
}
public void executeMigrationGroup(AdvancedDataSource advancedDataSource) throws Exception {
migrateStatus(advancedDataSource);
List<StbMigrationStatus> migrationStatuses = retrieveAllMigrationsStatus(advancedDataSource);
public void executeMigrationGroup(Connection connection) throws Exception {
migrateStatus(connection);
List<StbMigrationStatus> migrationStatuses = retrieveAllMigrationsStatus(connection);
for (Class<? extends MigrationModelInterface> migrationClass : allMigrationsList) {
long migrationNumber = Long.parseLong(migrationClass.getSimpleName().replace("Migration_", ""));
@@ -113,47 +112,47 @@ public class MigrationComponent {
continue;
try {
executeMigration(migrationClass, advancedDataSource, settingsController, settingsModel, droolsDataCompleting);
updateLastMigrationIntoDB(advancedDataSource, migrationNumber);
executeMigration(migrationClass, connection, settingsController, settingsModel, droolsDataCompleting);
updateLastMigrationIntoDB(connection, migrationNumber);
advancedDataSource.getConnection().commit();
connection.commit();
} catch (Exception e) {
try {
advancedDataSource.getConnection().rollback();
connection.rollback();
} catch (Exception ex) {
ex.printStackTrace();
logger.error("MigrationService - Rollback", ex);
}
trackMigrationError(advancedDataSource, migrationNumber, e);
trackMigrationError(connection, migrationNumber, e);
throw e;
}
}
migrationsErrorMapByProfiles.putIfAbsent(advancedDataSource.getProfileName(), false);
migrationsErrorMapByProfiles.replace(advancedDataSource.getProfileName(), false);
migrationsErrorMapByProfiles.putIfAbsent(connection.getProfileName(), false);
migrationsErrorMapByProfiles.replace(connection.getProfileName(), false);
}
private void executeMigration(Class<? extends MigrationModelInterface> migrationClass,
AdvancedDataSource advancedDataSource,
Connection connection,
SettingsController settingsController,
SettingsModel settingsModel,
DroolsDataCompleting droolsDataCompleting) throws Exception {
logger.info("Applico " + migrationClass.getSimpleName() + " " + advancedDataSource.getProfileName());
logger.info("Applico " + migrationClass.getSimpleName() + " " + connection.getProfileName());
MigrationModelInterface migrationInstance = migrationClass.newInstance();
migrationInstance.init(advancedDataSource, settingsController, settingsModel, droolsDataCompleting);
migrationInstance.init(connection, settingsController, settingsModel, droolsDataCompleting);
migrationInstance.up();
advancedDataSource.getConnection().commit();
connection.commit();
}
public void updateLastMigrationIntoDB(AdvancedDataSource advancedDataSource, long lastMigraton) throws Exception {
public void updateLastMigrationIntoDB(Connection connection, long lastMigraton) throws Exception {
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + lastMigraton;
StbMigrationStatus stbMigrationStatus = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(advancedDataSource.getConnection(), sql, StbMigrationStatus.class);
StbMigrationStatus stbMigrationStatus = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, sql, StbMigrationStatus.class);
if (stbMigrationStatus == null) {
stbMigrationStatus = new StbMigrationStatus()
@@ -171,9 +170,9 @@ public class MigrationComponent {
stbMigrationStatus.setOperation(OperationType.UPDATE);
}
stbMigrationStatus.manageWithParentConnection(advancedDataSource.getConnection());
stbMigrationStatus.manageWithParentConnection(connection);
advancedDataSource.getConnection().commit();
connection.commit();
}
@@ -185,9 +184,9 @@ public class MigrationComponent {
}
private void migrateStatus(AdvancedDataSource advancedDataSource) throws Exception {
final long lastMigrationNumber = getLastMigrationFromDB(advancedDataSource);
final List<Long> alreadyExecutedMigrations = retrieveAllMigrationsStatus(advancedDataSource)
private void migrateStatus(Connection connection) throws Exception {
final long lastMigrationNumber = getLastMigrationFromDB(connection);
final List<Long> alreadyExecutedMigrations = retrieveAllMigrationsStatus(connection)
.stream()
.map(StbMigrationStatus::getMigrationCode)
.collect(Collectors.toList());
@@ -205,25 +204,25 @@ public class MigrationComponent {
.collect(Collectors.toList());
for (StbMigrationStatus stbMigrationStatus : migrationStatusesToMigrate)
stbMigrationStatus.manageWithParentConnection(advancedDataSource.getConnection());
stbMigrationStatus.manageWithParentConnection(connection);
advancedDataSource.getConnection().commit();
connection.commit();
}
private Long getLastMigrationFromDB(AdvancedDataSource advancedDataSource) throws Exception {
private Long getLastMigrationFromDB(Connection connection) throws Exception {
String sql = "SELECT last_migration FROM azienda";
String lastMigration = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
String lastMigration = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
lastMigration = UtilityString.isNullOrEmpty(lastMigration) ? "-1" : lastMigration;
return Long.parseLong(lastMigration);
}
private List<StbMigrationStatus> retrieveAllMigrationsStatus(AdvancedDataSource advancedDataSource) throws
SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
private List<StbMigrationStatus> retrieveAllMigrationsStatus(Connection connection) throws
SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY;
List<StbMigrationStatus> stbMigrationStatuses = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, StbMigrationStatus.class);
List<StbMigrationStatus> stbMigrationStatuses = UtilityDB.executeSimpleQueryDTO(connection, sql, StbMigrationStatus.class);
if (stbMigrationStatuses == null) return new ArrayList<>();
@@ -234,14 +233,14 @@ public class MigrationComponent {
return stbMigrationStatuses;
}
private void trackMigrationError(AdvancedDataSource advancedDataSource, long migrationCode, Exception e) {
migrationsErrorMapByProfiles.putIfAbsent(advancedDataSource.getProfileName(), true);
migrationsErrorMapByProfiles.replace(advancedDataSource.getProfileName(), true);
private void trackMigrationError(Connection connection, long migrationCode, Exception e) {
migrationsErrorMapByProfiles.putIfAbsent(connection.getProfileName(), true);
migrationsErrorMapByProfiles.replace(connection.getProfileName(), true);
e.printStackTrace();
logger.error("MigrationService (" + advancedDataSource.getProfileName() + ")", e);
logger.error("MigrationService (" + connection.getProfileName() + ")", e);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(advancedDataSource.getProfileName())) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connection.getProfileName())) {
final String exceptionTraceAsString = GeneralUtils.getExceptionTraceAsString(e);
String sql = "SELECT * FROM " + StbMigrationStatus.ENTITY + " WHERE migration_code = " + migrationCode;
@@ -259,8 +258,8 @@ public class MigrationComponent {
.setCompleted(false)
.setSkipped(false)
.setErrorMessage(e.getMessage() + "\n" + exceptionTraceAsString);
stbMigrationStatus.manageWithParentConnection(advancedDataSource.getConnection());
advancedDataSource.getConnection().commit();
stbMigrationStatus.manageWithParentConnection(connection);
connection.commit();
if (UtilityDebug.isDebugExecution() || UtilityDebug.isIntegryServer()) return;
@@ -268,7 +267,7 @@ public class MigrationComponent {
mailService.sendSystemWarningLog("[" + azienda.getNomeDitta() + "][" + UtilityServer.getHostName() + "] Aggiornamento sistema",
"anomalia durante l'aggiornamento",
"La migrazione " + migrationCode + " non è andata a buon fine sul DB " + advancedDataSource.getProfileName() + ". Controllare il log per ulteriori dettagli.",
"La migrazione " + migrationCode + " non è andata a buon fine sul DB " + connection.getProfileName() + ". Controllare il log per ulteriori dettagli.",
e, new Date());
} catch (Exception ex) {
logger.error("MigrationService - Mail", ex);

View File

@@ -7,7 +7,6 @@ import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseSche
import it.integry.ems.schedule.new_cron_job.service.AutomatedOperationHandlerComponent;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.utility.UtilityDebug;
import it.integry.ems_model.entity.Azienda;
@@ -18,10 +17,12 @@ import it.integry.ems_model.exception.DataConverterNotFoundException;
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
import it.integry.ems_model.types.ApplicationName;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.types.TypeDbObject;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityString;
import it.integry.ems_model.utility.dto.IndexTableDTO;
import it.integry.ems_model.utility.dto.PkTableDTO;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.context.ContextLoader;
@@ -38,7 +39,7 @@ import java.util.List;
public abstract class BaseMigration implements MigrationModelInterface {
protected AdvancedDataSource advancedDataSource;
protected Connection connection;
protected SettingsController settingsController;
protected SettingsModel settingsModel;
protected DroolsDataCompleting droolsDataCompleting;
@@ -46,8 +47,8 @@ public abstract class BaseMigration implements MigrationModelInterface {
protected final Logger logger = LogManager.getLogger();
@Override
public void init(AdvancedDataSource advancedDataSource, SettingsController settingsController, SettingsModel settingsModel, DroolsDataCompleting droolsDataCompleting) {
this.advancedDataSource = advancedDataSource;
public void init(Connection connection, SettingsController settingsController, SettingsModel settingsModel, DroolsDataCompleting droolsDataCompleting) {
this.connection = connection;
this.settingsController = settingsController;
this.settingsModel = settingsModel;
this.droolsDataCompleting = droolsDataCompleting;
@@ -59,7 +60,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
protected boolean isHistoryDB() throws Exception {
String historyProfileDB = settingsController.getHistoryProfileDb();
return historyProfileDB.equalsIgnoreCase(advancedDataSource.getProfileName());
return historyProfileDB.equalsIgnoreCase(connection.getProfileName());
}
protected boolean isDebug() {
@@ -67,16 +68,28 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected @NotNull List<HashMap<String, Object>> executeQuery(String sql) throws SQLException, IOException {
return UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(), sql);
protected @NotNull List<HashMap<String, Object>> executeQuery(String sql) throws SQLException {
return UtilityDB.executeSimpleQuery(connection, sql);
}
protected @NotNull <T> List<T> executeQueryDTO(String sql, Class<T> clazz) throws Exception {
return UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, clazz);
return UtilityDB.executeSimpleQueryDTO(connection, sql, clazz);
}
protected void executeStatement(String... sqls) throws SQLException, IOException {
executeStatement(advancedDataSource.getConnection(), sqls);
protected @NotNull <T> List<T> executeQueryOnlyFirstColumn(String sql) throws SQLException {
return UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sql);
}
protected @NotNull HashMap<String, Object> executeQueryOnlyFirstRow(String sql) throws SQLException {
return UtilityDB.executeSimpleQueryOnlyFirstRow(connection, sql);
}
protected @NotNull <T> T executeQueryOnlyFirstRowFirstColumn(String sql) throws SQLException {
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
}
protected void executeStatement(String... sqls) throws SQLException {
executeStatement(connection, sqls);
}
protected void executeStatement(Connection connection, String... sqls) throws SQLException {
@@ -90,7 +103,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
protected long executeInsertStatement(String sql) throws SQLException {
long generatedId = -1;
try (PreparedStatement pstmt = advancedDataSource.getConnection().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
try (PreparedStatement pstmt = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
int affectedRows = pstmt.executeUpdate();
@@ -102,8 +115,6 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return generatedId;
@@ -130,8 +141,8 @@ public abstract class BaseMigration implements MigrationModelInterface {
alterObject(SqlObjectTypeEnum.VIEW, objectName, createViewSql);
}
protected boolean existsView(String objectName) throws SQLException, IOException {
return UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), "SELECT COUNT(*) FROM SYSOBJECTS WHERE id = object_id('" + objectName + "')") > 0;
protected boolean existsView(String objectName) throws SQLException {
return UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(connection, "SELECT COUNT(*) FROM SYSOBJECTS WHERE id = object_id('" + objectName + "')") > 0;
}
protected void createOrUpdateProcedure(String objectName, String createProcedureSql) throws SQLException, IOException {
@@ -143,6 +154,10 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
private void alterObject(SqlObjectTypeEnum sqlObject, String objectName, String sql) throws SQLException, IOException {
if (UtilityString.isNullOrEmpty(objectName)) {
throw new IllegalArgumentException("ObjectName in createOrUpdateFunction(), createOrUpdateView(), createOrUpdateTrigger(), createOrUpdateProcedure() cannot be null or empty");
}
executeStatement("IF EXISTS (SELECT * FROM SYSOBJECTS WHERE id = object_id('" + objectName + "'))\r\n" +
"\tDROP " + sqlObject.toString() + " " + objectName,
sql);
@@ -154,15 +169,28 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected void createIndex(IndexTableDTO indexTableDTO) throws Exception {
UtilityDB.createIndex(advancedDataSource.getConnection(), indexTableDTO);
UtilityDB.createIndex(connection, indexTableDTO);
}
protected void dropIndex(String tableName, String indexName) throws Exception {
UtilityDB.dropIndex(advancedDataSource.getConnection(), tableName, indexName);
protected void createPrimaryKey(PkTableDTO pkTableDTO) throws Exception {
UtilityDB.createPK(connection, pkTableDTO);
}
protected boolean existsColumn(String tableName, String columnName) throws SQLException, IOException {
protected void cloneTable(String sourceTable, String newTable, boolean fillNewTable, boolean dropOldTable, boolean renameNewTable) throws Exception {
UtilityDB.cloneTable(connection, sourceTable, newTable, fillNewTable, dropOldTable, renameNewTable);
}
protected boolean existIndex(String tableName, String indexName) throws SQLException {
return UtilityDB.existIndex(connection, tableName, indexName);
}
protected void dropIndex(String tableName, String indexName) throws SQLException {
UtilityDB.dropIndex(connection, tableName, indexName);
}
protected boolean existsColumn(String tableName, String columnName) throws SQLException {
String schema = null;
if (tableName.contains(".")) {
schema = tableName.substring(0, tableName.indexOf("."));
@@ -173,7 +201,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
" WHERE Name = N{}\n" +
" AND Object_ID = Object_ID(N{})", columnName, (schema != null ? schema : "dbo") + "." + tableName);
Integer val = UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
Integer val = UtilityDB.<Integer>executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
return val != null && val == 1;
}
@@ -192,7 +220,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected <T> void addDefault(String tableName, String columnName, T defaultValue) throws SQLException, IOException {
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
"FROM sys.syscolumns\n" +
"WHERE name = %s\n" +
@@ -203,7 +231,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected void dropDefault(String tableName, String columnName) throws SQLException, IOException {
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
boolean existDefault = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
"FROM sys.syscolumns\n" +
"WHERE name = %s\n" +
@@ -216,7 +244,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected void dropChecks(String tableName, String columnName) throws SQLException, IOException {
boolean checkExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
boolean checkExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT CAST(COUNT(*) AS BIT)\n" +
"FROM sys.objects obj_table\n" +
" JOIN sys.objects obj_Constraint\n" +
@@ -235,7 +263,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
}
protected boolean existsTable(String tableName) throws SQLException, IOException {
protected boolean existsTable(String tableName) throws SQLException {
String schema = null;
if (tableName.contains(".")) {
schema = tableName.substring(0, tableName.indexOf("."));
@@ -248,7 +276,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
if (schema != null)
sql += Query.format("AND TABLE_SCHEMA = N%s", schema);
return UtilityDB.<Boolean>executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
return UtilityDB.<Boolean>executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
}
protected void dropTable(String tableName) throws SQLException, IOException {
@@ -264,7 +292,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
return;
}
String sql = Query.format("SELECT cast(count(*) as bit) FROM stb_gest_setup_query WHERE cod_query = %s", codQuery);
boolean existQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
boolean existQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
if (existQuery)
executeStatement(Query.format("UPDATE stb_gest_setup_query SET query_default = %S, description = %S WHERE cod_query = %s ",
@@ -274,20 +302,20 @@ public abstract class BaseMigration implements MigrationModelInterface {
" VALUES (%s, %s, %s);", codQuery, query, name));
}
protected boolean existsSetup(String gestName, String section, String keySection) throws SQLException, IOException {
protected boolean existsSetup(String gestName, String section, String keySection) throws SQLException {
String sql = Query.format("SELECT CAST(COUNT(*) AS BIT) AS exist FROM " + StbGestSetup.ENTITY +
" WHERE gest_name = %s AND" +
" section = %s AND" +
" key_section = %s", gestName, section, keySection);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
}
protected boolean existsSetupQuery(String codQuery) throws SQLException, IOException {
protected boolean existsSetupQuery(String codQuery) throws SQLException {
String sql = Query.format("SELECT CAST(COUNT(*) AS BIT) AS exist FROM " + StbGestSetupQuery.ENTITY +
" WHERE cod_query = %s", codQuery);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
}
protected void createSetup(String gestName, String section, String keySection, String value, String description, String codQuery) throws Exception {
@@ -297,7 +325,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
"(gest_name, section, key_section, value, description, query_default) VALUES (?, ?, ?, ?, ?, ?)";
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
ps.setString(1, gestName);
ps.setString(2, section);
ps.setString(3, keySection);
@@ -316,7 +344,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
"(gest_name, section, key_section, value, description, query_default, flag_multi_value) VALUES (?, ?, ?, ?, ?, ?, ?)";
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
ps.setString(1, gestName);
ps.setString(2, section);
ps.setString(3, keySection);
@@ -336,7 +364,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
String insertSql = "INSERT INTO " + StbGestSetup.ENTITY +
"(gest_name, section, key_section, value, description, query_default, flag_multi_value, flag_setup_user_web) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
ps.setString(1, gestName);
ps.setString(2, section);
ps.setString(3, keySection);
@@ -366,7 +394,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
return;
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
}
@@ -375,7 +403,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
"flag_user_view, flag_setup_depo, flag_setup_user_web,\n" +
"flag_tipo_json, flag_tipo_colore, tipo_setup, flag_multi_value) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
try (PreparedStatement ps = advancedDataSource.getConnection().prepareStatement(insertSql)) {
try (PreparedStatement ps = connection.prepareStatement(insertSql)) {
ps.setString(1, gestName);
ps.setString(2, section);
ps.setString(3, keySection);
@@ -395,6 +423,25 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
}
protected String getSetupValue(String gestName, String section, String keySection) throws SQLException {
String sql = Query.format("SELECT value FROM " + StbGestSetup.ENTITY +
" WHERE gest_name = %s AND" +
" section = %s AND" +
" key_section = %s", gestName, section, keySection);
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
}
//Create a getStbGestSetup method to return the entire StbGestSetup object
protected StbGestSetup getStbGestSetup(String gestName, String section, String keySection) throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
String sql = Query.format("SELECT * FROM stb_gest_setup " +
" WHERE gest_name = %s AND" +
" section = %s AND" +
" key_section = %s", gestName, section, keySection);
return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(connection, sql, StbGestSetup.class);
}
protected void deleteSetup(String gestName, String section, String keySection) throws Exception {
StbGestSetup stbGestSetup = new StbGestSetup()
.setGestName(gestName)
@@ -402,7 +449,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
.setKeySection(keySection);
stbGestSetup.setOperation(OperationType.DELETE);
stbGestSetup.manageWithParentConnection(advancedDataSource.getConnection());
stbGestSetup.manageWithParentConnection(connection);
}
protected void updateSetupValue(String gestName, String section, String keySection, String newValue) throws Exception {
@@ -422,7 +469,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
Boolean flagTipoJson, Boolean flagTipoColore, String tipoSetup, Boolean flagMultiValue,
String query) throws Exception {
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
}
@@ -457,13 +504,13 @@ public abstract class BaseMigration implements MigrationModelInterface {
stbGestSetup.setFlagMultiValue(flagMultiValue);
stbGestSetup.setOperation(OperationType.UPDATE);
stbGestSetup.manageWithParentConnection(advancedDataSource.getConnection());
stbGestSetup.manageWithParentConnection(connection);
}
protected void updateSetupQuery(String gestName, String section, String keySection,
String codQuery, String query) throws Exception {
if (!UtilityString.isNullOrEmpty(query) && UtilityString.isNullOrEmpty(codQuery)) {
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
codQuery = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT cod_query FROM stb_gest_setup_query WHERE query_default = %s", query));
}
@@ -474,7 +521,17 @@ public abstract class BaseMigration implements MigrationModelInterface {
.setQueryDefault(codQuery);
stbGestSetup.setOperation(OperationType.UPDATE);
stbGestSetup.manageWithParentConnection(advancedDataSource.getConnection());
stbGestSetup.manageWithParentConnection(connection);
}
protected void dropSetup(String gestName, String section, String keySection) throws Exception {
StbGestSetup stbGestSetup = new StbGestSetup()
.setGestName(gestName)
.setSection(section)
.setKeySection(keySection);
stbGestSetup.setOperation(OperationType.DELETE);
stbGestSetup.manageWithParentConnection(connection);
}
protected void addAutomatedOperation(BaseScheduledOperationDTO operation) {
@@ -508,7 +565,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
protected boolean isCustomer(IntegryCustomer... customers) {
String currentDbName = advancedDataSource.getDataSource().getDbName();
String currentDbName = connection.getDbName();
return Arrays.stream(customers)
.anyMatch(x ->
@@ -517,31 +574,31 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected boolean isCustomerDb(IntegryCustomerDB... customersDbs) {
String currentDbName = advancedDataSource.getDataSource().getDbName();
String currentDbName = connection.getDbName();
return Arrays.stream(customersDbs)
.anyMatch(y -> y.getValue().equalsIgnoreCase(currentDbName));
}
protected boolean isWingest() throws SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
Azienda currentAzienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
protected boolean isWingest() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
Azienda currentAzienda = Azienda.getDefaultAzienda(connection);
return currentAzienda.getApplicationNameEnum() == ApplicationName.WINGEST;
}
protected boolean isTextiles() throws SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
Azienda currentAzienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
protected boolean isTextiles() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
Azienda currentAzienda = Azienda.getDefaultAzienda(connection);
return currentAzienda.getApplicationNameEnum() == ApplicationName.TEXTILES;
}
protected boolean isDMS() throws SQLException, IOException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
Azienda currentAzienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
protected boolean isDMS() throws SQLException, DataConverterNotFoundException, InstantiationException, IllegalAccessException {
Azienda currentAzienda = Azienda.getDefaultAzienda(connection);
return currentAzienda.getApplicationNameEnum() == ApplicationName.DMS;
}
protected void enableSaveToRest(String gestName) throws Exception {
boolean existRow =
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT cast(count(*) as bit) FROM stb_gest_sync WHERE gest_name = %s", gestName));
StbGestSync gestSync =
@@ -552,21 +609,21 @@ public abstract class BaseMigration implements MigrationModelInterface {
gestSync.setOperation(OperationType.UPDATE);
} else {
String entityName =
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT entity_name FROM stb_menu_opz WHERE gest_name = %s", gestName));
gestSync.setEntityName(entityName);
gestSync.setOperation(OperationType.INSERT);
}
gestSync.manageWithParentConnection(advancedDataSource.getConnection());
gestSync.manageWithParentConnection(connection);
}
private DatabaseVersionEnum getSqlCompatibilityLevel() throws Exception {
short compatibilityLevel =
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
Query.format("SELECT compatibility_level FROM sys.databases WHERE name = %s", advancedDataSource.getDataSource().getDbName()));
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
Query.format("SELECT compatibility_level FROM sys.databases WHERE name = %s", connection.getDbName()));
return DatabaseVersionEnum.fromCode(compatibilityLevel);
@@ -597,4 +654,38 @@ public abstract class BaseMigration implements MigrationModelInterface {
protected boolean isSqlServer2022() throws Exception {
return getSqlCompatibilityLevel() == DatabaseVersionEnum.SQLServer2022;
}
protected void addDescriptionTable(String tableName, String description) throws SQLException {
if (existsTable(tableName)) {
addDescriptionObject(tableName, TypeDbObject.TABLE, description);
}
}
protected void addDescriptionView(String viewName, String description) throws SQLException {
if (existsView(viewName)) {
addDescriptionObject(viewName, TypeDbObject.VIEW, description);
}
}
private void addDescriptionObject(String objectName, TypeDbObject type, String description) throws SQLException {
String typeString = "TABLE";
if (type == TypeDbObject.VIEW) {
typeString = "VIEW";
}
executeStatement(
Query.format("EXEC sp_addextendedproperty " +
"@name = N'MS_Description', " +
"@value = %s, " +
"@level0type = N'SCHEMA', @level0name = 'dbo', " +
"@level1type = %s, @level1name = %s;", description, typeString, objectName));
}
private void addDescriptionColumn(String tableName, String columnName, String description) throws SQLException {
executeStatement(Query.format("EXEC sp_addextendedproperty 'MS_Description', %s, 'SCHEMA', 'dbo', 'TABLE',%s, 'COLUMN', %s)",
description, tableName, columnName));
}
}

View File

@@ -8,7 +8,7 @@ public enum IntegryCustomer {
IntegryCustomerDB.Agricoper_IlVisone,
IntegryCustomerDB.Agricoper_Luva),
ATI(IntegryCustomerDB.ATI_Finpart),
ATI(IntegryCustomerDB.ATI, IntegryCustomerDB.ATI_Finpart),
Auricchio(IntegryCustomerDB.Auricchio_Auricchio,
IntegryCustomerDB.Auricchio_AuricchioMiki,
IntegryCustomerDB.Auricchio_AuricchioSrl,
@@ -18,7 +18,9 @@ public enum IntegryCustomer {
IntegryCustomerDB.Auricchio_Ind05,
IntegryCustomerDB.Auricchio_AuricchioSons),
Biolevante(IntegryCustomerDB.Biolevante_Biolevante,
IntegryCustomerDB.Biolevante_BiolevanteStorico),
IntegryCustomerDB.Biolevante_BiolevanteStorico,
IntegryCustomerDB.Biolevante_TenutaSanMartino),
CapelliMonelli(IntegryCustomerDB.CapelliMonelli_CapelliMonelli),
Carelli(IntegryCustomerDB.Carelli_Carelli,
IntegryCustomerDB.Carelli_GestFood,
IntegryCustomerDB.Carelli_Chiuso,
@@ -68,7 +70,9 @@ public enum IntegryCustomer {
Frudis(IntegryCustomerDB.Frudis_Frudis),
Gramm(IntegryCustomerDB.Gramm_Gramm,
IntegryCustomerDB.Gramm_PrimeOlive,
IntegryCustomerDB.Gramm_ProveStage),
IntegryCustomerDB.Gramm_ProveStage,
IntegryCustomerDB.Gramm_2MHolding,
IntegryCustomerDB.Gramm_GrammUsa),
Idrotecnica(IntegryCustomerDB.Idrotecnica_Idrotecnica),
Igood(IntegryCustomerDB.Igood_Aida,
IntegryCustomerDB.Igood_Igood,
@@ -93,6 +97,7 @@ public enum IntegryCustomer {
ResinaColor(IntegryCustomerDB.ResinaColor_ResinaColor, IntegryCustomerDB.ResinaColor_ResinaColorPasquale),
RistoCash(IntegryCustomerDB.RistoCash_RistoCash),
RossoGargano(IntegryCustomerDB.RossoGargano_RossoGargano, IntegryCustomerDB.RossoGargano_RossoGarganoCont),
Sabato(IntegryCustomerDB.Sabato_Sabato),
Salpar(IntegryCustomerDB.Salpar_AlfaImmobiliare,
IntegryCustomerDB.Salpar_MasabaSrl,
IntegryCustomerDB.Salpar_Salpar,
@@ -114,7 +119,10 @@ public enum IntegryCustomer {
IntegryCustomerDB.Suit_TenutaArianna,
IntegryCustomerDB.Suit_Valpietro),
Tempesta(IntegryCustomerDB.Tempesta_Tempesta,
IntegryCustomerDB.Tempesta_VivaiTempesta),
IntegryCustomerDB.Tempesta_DI,
IntegryCustomerDB.Tempesta_VivaiTempesta,
IntegryCustomerDB.Tempesta_VivaiTempesta_DI
),
Tosca(IntegryCustomerDB.Tosca_Ba,
IntegryCustomerDB.Tosca_Ce,
IntegryCustomerDB.Tosca_Cz,

View File

@@ -1,5 +1,6 @@
package it.integry.ems.migration._base;
import it.integry.ems.exception.InvalidCustomerDbException;
import it.integry.ems_model.utility.UtilityString;
import java.util.Arrays;
@@ -9,7 +10,9 @@ public enum IntegryCustomerDB {
Agricoper_IlVisone("ilvisone"),
Agricoper_Luva("luva"),
ATI("atisrl"),
ATI_Finpart("Finpart"),
Auricchio_Auricchio("auricchio"),
Auricchio_AuricchioMiki("auricchio_miki"),
Auricchio_AuricchioSrl("auricchiosrl"),
@@ -22,13 +25,16 @@ public enum IntegryCustomerDB {
Biolevante_Biolevante("biolevante"),
Biolevante_BiolevanteStorico("biolevante_storico"),
Biolevante_TenutaSanMartino("tenutasanmartino"),
CapelliMonelli_CapelliMonelli("capelli_monelli"),
Carelli_Carelli("carelli"),
Carelli_GestFood("gestfood"),
Carelli_Chiuso("chiuso"),
Carelli_Format("format"),
Carelli_Murgia("murgia"),
Carelli_MurgiaTest("murgia_test"),
Carelli_Panimal("panimal"),
Carelli_Winact("winact"),
Carelli_Csgr("csgr"),
@@ -90,6 +96,8 @@ public enum IntegryCustomerDB {
Gramm_Gramm("gramm"),
Gramm_PrimeOlive("primeolive"),
Gramm_ProveStage("grammprovestage"),
Gramm_2MHolding("dueemme"),
Gramm_GrammUsa("gramm_usa"),
Idrotecnica_Idrotecnica("idrotecnica"),
@@ -120,6 +128,7 @@ public enum IntegryCustomerDB {
Levanplast_Perilflor("perilflor"),
Levanplast_PerilflorSrl("perilflorsrl"),
Levanplast_Levanplast("levanplast"),
Levanplast_Levanplastsrl("levanplastsrl"),
Maggio_MaggioSrl("maggiosrl"),
Maggio_GiovMaggio("giovmaggio"),
@@ -153,6 +162,8 @@ public enum IntegryCustomerDB {
RossoGargano_RossoGargano("rossogargano"),
RossoGargano_RossoGarganoCont("rossogarganocont"),
Sabato_Sabato("sabato"),
Salpar_VgAlimenti("vgalimenti"),
Salpar_Salpar("salpar"),
@@ -187,7 +198,9 @@ public enum IntegryCustomerDB {
Tempesta_Tempesta("tempesta"),
Tempesta_DI("tempestadi"),
Tempesta_VivaiTempesta("vivaitempesta"),
Tempesta_VivaiTempesta_DI("vivaitempestadi"),
Tosca_Ba("tosca_ba"),
@@ -225,6 +238,6 @@ public enum IntegryCustomerDB {
return Arrays.stream(values()).filter(x -> x.getValue().equalsIgnoreCase(value))
.findFirst()
.orElse(null);
.orElseThrow(() -> new InvalidCustomerDbException(value));
}
}

View File

@@ -2,12 +2,12 @@ package it.integry.ems.migration._base;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.rulescompleting.DroolsDataCompleting;
public interface MigrationModelInterface {
void init(AdvancedDataSource advancedDataSource,
void init(Connection connection,
SettingsController settingsController,
SettingsModel settingsModel,
DroolsDataCompleting droolsDataCompleting);

View File

@@ -2,10 +2,9 @@ package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.utility.UtilityDB;
import java.sql.DriverManager;
import java.sql.Statement;
@@ -15,9 +14,9 @@ public class Migration_20210721093948 extends BaseMigration implements Migration
@Override
public void up() throws Exception {
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel();
AvailableConnectionModel historyDBModel = settingsController.getHistoryDbConnectionModel();
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getProfileName()))
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName()))
return;
if (historyDBModel == null)

View File

@@ -12,7 +12,7 @@ public class Migration_20210721125744 extends BaseMigration implements Migration
@Override
public void up() throws Exception {
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getDataSource().getDbName()))
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getDbName()))
return;
String tomcatPath = System.getProperty("catalina.home");

View File

@@ -2,10 +2,9 @@ package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.utility.UtilityDB;
import java.sql.DriverManager;
import java.sql.Statement;
@@ -15,9 +14,9 @@ public class Migration_20210924152555 extends BaseMigration implements Migration
@Override
public void up() throws Exception {
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel();
AvailableConnectionModel historyDBModel = settingsController.getHistoryDbConnectionModel();
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getProfileName()))
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName()))
return;
if (historyDBModel == null)

View File

@@ -38,7 +38,7 @@ public class Migration_20211022131206 extends BaseMigration implements Migration
" WHERE stb_user.user_name IS NULL ";
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, WtbUsers.class);
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(connection, sql, WtbUsers.class);
if (wtbUsersList == null) return;
@@ -54,7 +54,7 @@ public class Migration_20211022131206 extends BaseMigration implements Migration
.setFlagAttivo(wtbUser.getCtrlState());
stbUser.setOperation(OperationType.INSERT);
stbUser.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
stbUser.manageWithParentConnection(connection, droolsDataCompleting);
}

View File

@@ -19,10 +19,10 @@ public class Migration_20211027170945 extends BaseMigration implements Migration
"WHERE Name = N'orientation' " +
" AND Object_ID = Object_ID(N'dbo.wtb_jrept')";
boolean fieldExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
boolean fieldExists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
if (!fieldExists) {
sql = "ALTER TABLE wtb_jrept ADD orientation INT DEFAULT 0 NOT NULL CHECK (orientation IN (0, 1))";
Statement statement = advancedDataSource.getConnection().createStatement();
Statement statement = connection.createStatement();
statement.execute(sql);
statement.close();
}

View File

@@ -18,12 +18,12 @@ public class Migration_20211108185224 extends BaseMigration implements Migration
AutomatedOperationHandlerComponent automatedOperationHandlerComponent = ContextLoader.getCurrentWebApplicationContext().getBean(AutomatedOperationHandlerComponent.class);
final String migrateFileOperationName = "Migrate files grlAnagNote " + advancedDataSource.getProfileName().toUpperCase();
final String migrateFileOperationName = "Migrate files grlAnagNote " + connection.getProfileName().toUpperCase();
ServiceCallAutomatedOperationDTO serviceCallAutomatedOperationDTO = new ServiceCallAutomatedOperationDTO()
.setMethodName("migrateGtbAnagNoteFiles")
.setProfileDb(advancedDataSource.getProfileName())
.setUsername(advancedDataSource.getProfileName());
.setProfileDb(connection.getProfileName())
.setUsername(connection.getProfileName());
serviceCallAutomatedOperationDTO
.setCronTrigger("0 0 0 1/1 * ?")

View File

@@ -3,6 +3,7 @@ package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems.service.PrinterService;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.entity.GrlAnagJrept;
import it.integry.ems_model.entity.MtbDepo;
import it.integry.ems_model.entity.WtbJreptSetup;
@@ -13,8 +14,6 @@ import it.integry.ems_model.utility.UtilityString;
import org.json.JSONArray;
import org.json.JSONObject;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
@@ -29,11 +28,11 @@ public class Migration_20220405180136 extends BaseMigration implements Migration
String checkTableSpesExistsSql = "SELECT CAST(COUNT(*) AS BIT) AS exist_table " +
"FROM INFORMATION_SCHEMA.TABLES " +
"WHERE TABLE_NAME = 'wtb_jrept_setup'";
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
if (!existTable) {
Statement statement = advancedDataSource.getConnection().createStatement();
Statement statement = connection.createStatement();
statement.execute("CREATE TABLE wtb_jrept_setup\n" +
"(\n" +
" id BIGINT IDENTITY\n" +
@@ -51,26 +50,26 @@ public class Migration_20220405180136 extends BaseMigration implements Migration
")");
statement.close();
statement = advancedDataSource.getConnection().createStatement();
statement = connection.createStatement();
statement.execute("CREATE UNIQUE INDEX wtb_jrept_setup_report_id_cod_mdep_tipo_uindex " +
"ON wtb_jrept_setup (report_id, cod_mdep, tipo)");
statement.close();
advancedDataSource.getConnection().commit();
connection.commit();
ArrayList<WtbJreptSetup> jreptSetupsToInsert = new ArrayList<>();
String sqlDepo = "SELECT cod_mdep FROM " + MtbDepo.ENTITY;
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sqlDepo);
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sqlDepo);
if (codMdeps != null && !codMdeps.isEmpty()) {
for (String codMdep : codMdeps) {
String stampantePrimaria = getPrinterNameByDepo(advancedDataSource.getConnection(), codMdep, null, PrinterService.Type.PRIMARIA);
String stampanteSecondaria = getPrinterNameByDepo(advancedDataSource.getConnection(), codMdep, null, PrinterService.Type.SECONDARIA);
String stampantePrimaria = getPrinterNameByDepo(connection, codMdep, null, PrinterService.Type.PRIMARIA);
String stampanteSecondaria = getPrinterNameByDepo(connection, codMdep, null, PrinterService.Type.SECONDARIA);
String grlAnagJreptSql = "SELECT DISTINCT report_id, tipo FROM " + GrlAnagJrept.ENTITY;
List<GrlAnagJrept> grlAnagJrepts = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), grlAnagJreptSql, GrlAnagJrept.class);
List<GrlAnagJrept> grlAnagJrepts = UtilityDB.executeSimpleQueryDTO(connection, grlAnagJreptSql, GrlAnagJrept.class);
if (grlAnagJrepts != null && !UtilityString.isNullOrEmpty(stampantePrimaria)) {
for (GrlAnagJrept grlAnagJrept : grlAnagJrepts) {
@@ -90,7 +89,7 @@ public class Migration_20220405180136 extends BaseMigration implements Migration
}
for (WtbJreptSetup wtbJreptSetup : jreptSetupsToInsert) {
wtbJreptSetup.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
wtbJreptSetup.manageWithParentConnection(connection, droolsDataCompleting);
}
}
}

View File

@@ -6,6 +6,7 @@ import it.integry.ems_model.entity.StbUser;
import it.integry.ems_model.entity.WtbUsers;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import it.integry.security.utility.CryptoUtils;
@@ -38,7 +39,7 @@ public class Migration_20220413102657 extends BaseMigration implements Migration
" WHERE stb_user.user_name IS NULL ";
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sql, WtbUsers.class);
List<WtbUsers> wtbUsersList = UtilityDB.executeSimpleQueryDTO(connection, sql, WtbUsers.class);
if (wtbUsersList == null) return;
@@ -57,17 +58,16 @@ public class Migration_20220413102657 extends BaseMigration implements Migration
.setUserCode(wtbUser.getUserCode())
.setDetails(wtbUser.getDetails())
.setLastAccessDatetime(wtbUser.getLastAccessDatetime())
.setPasswordEndtime(wtbUser.getPasswordEndtime())
.setPasswordEndtime(UtilityLocalDate.localDateTimeFromDate(wtbUser.getPasswordEndtime()))
.setUrlCss(wtbUser.getUrlCss())
.setCodLang(wtbUser.getCodLang())
.setCreationDatetime(wtbUser.getCreationDatetime())
.setPasswordExpiresDays(wtbUser.getPasswordExpiresDays())
.setLastPasswords(wtbUser.getLastPasswords())
.setFlagPasswordExpiring(wtbUser.getFlagPasswordExpiring())
.setDestructionDatetime(wtbUser.getDestructionDatetime());;
.setFlagPasswordExpiring(wtbUser.getFlagPasswordExpiring());
stbUser.setOperation(OperationType.INSERT);
stbUser.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
stbUser.manageWithParentConnection(connection, droolsDataCompleting);
}
}

View File

@@ -20,7 +20,7 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
"SET flag_default_contabilita = 'S', flag_default = 'N' " +
"WHERE flag_default = 'S'";
PreparedStatement updateDefaultFlagPS = advancedDataSource.getConnection().prepareStatement(updateDefaultFlagSql);
PreparedStatement updateDefaultFlagPS = connection.prepareStatement(updateDefaultFlagSql);
updateDefaultFlagPS.setQueryTimeout(30);
updateDefaultFlagPS.executeUpdate();
updateDefaultFlagPS.close();
@@ -38,13 +38,13 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
" FROM " + StbEmail.ENTITY +
" WHERE e_mail = " + UtilityDB.valueToString(mailConfiguration.getFrom());
boolean exists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sql);
boolean exists = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);
if (!exists) {
boolean isOffice365 = mailConfiguration.getSmtp().contains("office365");
int newId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(),
int newId = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection,
"SELECT ISNULL(MAX(id_riga), 0) + 1 as new_id " +
"FROM stb_email");
@@ -61,7 +61,7 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
.setFlagDefault(isOffice365 ? "S" : "N");
stbEmail.setOperation(OperationType.INSERT);
stbEmail.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
stbEmail.manageWithParentConnection(connection, droolsDataCompleting);
if (!isOffice365) {
String noReplyFrom = "noreply@" + mailConfiguration.getFrom().split("@")[1];
@@ -79,14 +79,14 @@ public class Migration_20220415094936 extends BaseMigration implements Migration
.setFlagDefault("S");
stbEmailNoReply.setOperation(OperationType.INSERT);
stbEmailNoReply.manageWithParentConnection(advancedDataSource.getConnection(), droolsDataCompleting);
stbEmailNoReply.manageWithParentConnection(connection, droolsDataCompleting);
}
} else {
updateDefaultFlagSql = "UPDATE stb_email " +
"SET flag_default = 'S' " +
"WHERE e_mail = " + UtilityDB.valueToString(mailConfiguration.getFrom());
updateDefaultFlagPS = advancedDataSource.getConnection().prepareStatement(updateDefaultFlagSql);
updateDefaultFlagPS = connection.prepareStatement(updateDefaultFlagSql);
updateDefaultFlagPS.setQueryTimeout(30);
updateDefaultFlagPS.executeUpdate();
updateDefaultFlagPS.close();

View File

@@ -3,6 +3,7 @@ package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems.service.PrinterService;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.entity.GrlAnagJrept;
import it.integry.ems_model.entity.MtbDepo;
import it.integry.ems_model.entity.WtbJrept;
@@ -14,8 +15,6 @@ import it.integry.ems_model.utility.UtilityString;
import org.json.JSONArray;
import org.json.JSONObject;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
@@ -30,15 +29,15 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
String checkTableSpesExistsSql = "SELECT CAST(COUNT(*) AS BIT) AS exist_table " +
"FROM INFORMATION_SCHEMA.TABLES " +
"WHERE TABLE_NAME = 'wtb_jrept_setup'";
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
boolean existTable = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
if (existTable) {
Statement statement = advancedDataSource.getConnection().createStatement();
Statement statement = connection.createStatement();
statement.execute("drop table wtb_jrept_setup");
statement.close();
}
Statement statement = advancedDataSource.getConnection().createStatement();
Statement statement = connection.createStatement();
statement.execute("create table wtb_jrept_setup\n" +
"(\n" +
" id bigint identity\n" +
@@ -60,7 +59,7 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
")");
statement.close();
statement = advancedDataSource.getConnection().createStatement();
statement = connection.createStatement();
statement.execute("create unique index wtb_jrept_setup_cod_mdep_tipo_cod_anag_uindex" +
" on wtb_jrept_setup (cod_mdep, tipo, cod_anag)");
statement.close();
@@ -68,17 +67,17 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
ArrayList<WtbJreptSetup> jreptSetupsToInsert = new ArrayList<>();
String sqlAnagJrept = "SELECT * FROM " + GrlAnagJrept.ENTITY + " ";
List<GrlAnagJrept> anagJrepts = UtilityDB.executeSimpleQueryDTO(advancedDataSource.getConnection(), sqlAnagJrept, GrlAnagJrept.class);
List<GrlAnagJrept> anagJrepts = UtilityDB.executeSimpleQueryDTO(connection, sqlAnagJrept, GrlAnagJrept.class);
String sqlDepo = "SELECT cod_mdep FROM " + MtbDepo.ENTITY;
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(advancedDataSource.getConnection(), sqlDepo);
List<String> codMdeps = UtilityDB.executeSimpleQueryOnlyFirstColumn(connection, sqlDepo);
if (anagJrepts != null && !anagJrepts.isEmpty()) {
for (GrlAnagJrept anagReport : anagJrepts) {
String sqlOrientationReport = "SELECT orientation FROM " + WtbJrept.ENTITY + " where id = " + UtilityDB.valueToString(anagReport.getReportId());
int orientation = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), sqlOrientationReport);
int orientation = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sqlOrientationReport);
WtbJreptSetup wtbJreptSetup = new WtbJreptSetup()
.setCodMdep(null)
@@ -92,7 +91,7 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
if (codMdeps != null && !codMdeps.isEmpty()) {
for (String codMdep : codMdeps) {
String stampantePrimaria = getPrinterNameByDepo(advancedDataSource.getConnection(), codMdep, null, PrinterService.Type.PRIMARIA);
String stampantePrimaria = getPrinterNameByDepo(connection, codMdep, null, PrinterService.Type.PRIMARIA);
if (!UtilityString.isNullOrEmpty(stampantePrimaria)) {
WtbJreptSetup wtbJreptSetupDepo = new WtbJreptSetup()
@@ -116,7 +115,7 @@ public class Migration_20220421125860 extends BaseMigration implements Migration
}
for (WtbJreptSetup wtbJreptSetup : jreptSetupsToInsert) {
wtbJreptSetup.manageWithParentConnection(advancedDataSource.getConnection());
wtbJreptSetup.manageWithParentConnection(connection);
}
}

View File

@@ -17,13 +17,13 @@ public class Migration_20220510103554 extends BaseMigration implements Migration
"FROM sys.columns " +
"WHERE Name = N'ref_uuid' " +
"AND Object_ID = Object_ID(N'dbo.stb_activity_file')";
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
if (existColumn) {
return;
}
Statement statement = advancedDataSource.getConnection().createStatement();
Statement statement = connection.createStatement();
statement.execute("ALTER TABLE stb_activity_file " +
"ADD ref_uuid VARCHAR(36) NULL");
statement.close();

View File

@@ -17,13 +17,13 @@ public class Migration_20220510123355 extends BaseMigration implements Migration
"FROM sys.columns " +
"WHERE Name = N'ref_uuid1' " +
"AND Object_ID = Object_ID(N'dbo.stb_activity_file')";
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(advancedDataSource.getConnection(), checkTableSpesExistsSql);
boolean existColumn = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, checkTableSpesExistsSql);
if (existColumn) {
return;
}
Statement statement = advancedDataSource.getConnection().createStatement();
Statement statement = connection.createStatement();
statement.execute("ALTER TABLE stb_activity_file " +
"ADD ref_uuid1 VARCHAR(36) NULL");
statement.close();

View File

@@ -28,11 +28,11 @@ public class Migration_20221128123233 extends BaseMigration implements Migration
"ALTER TABLE azienda\n" +
" ADD jwt_secret_key VARCHAR(MAX)");
Azienda azienda = Azienda.getDefaultAzienda(advancedDataSource.getConnection());
Azienda azienda = Azienda.getDefaultAzienda(connection);
azienda.setJwtSecretKey(secretKeyToUse)
.setOperation(OperationType.UPDATE);
azienda.manageWithParentConnection(advancedDataSource.getConnection());
azienda.manageWithParentConnection(connection);
}
@Override

View File

@@ -25,12 +25,12 @@ public class Migration_20230411163906 extends BaseMigration implements Migration
"ALTER TABLE stb_files_attached\n" +
" ADD mime_type VARCHAR(MAX)");
final List<HashMap<String, Object>> stbFilesAttached = UtilityDB.executeSimpleQuery(advancedDataSource.getConnection(),
final List<HashMap<String, Object>> stbFilesAttached = UtilityDB.executeSimpleQuery(connection,
"SELECT id_attach, file_name FROM stb_files_attached\n" +
"WHERE mime_type IS NULL");
new Thread(() -> {
String profileDb = advancedDataSource.getProfileName();
String profileDb = connection.getProfileName();
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(profileDb, false)) {
for (HashMap<String, Object> stbFileAttached : stbFilesAttached) {
final MediaType mimeType = mimeTypesHandler.getContentType((String) stbFileAttached.get("file_name"));

View File

@@ -23,7 +23,7 @@ public class Migration_20230523130047 extends BaseMigration implements Migration
.setIndexName("ix_dtb_ordr_id_contratto")
.setColumnsIndex(columnsIndex)/*
.setColumnsInclude("ciao", "prova", "sole") */;
UtilityDB.createIndex(advancedDataSource.getConnection(),indexTableDTO );
UtilityDB.createIndex(connection,indexTableDTO );
}
@Override

View File

@@ -27,7 +27,7 @@ public class Migration_20231025100023 extends BaseMigration implements Migration
.setColumnsIndex(columnsIndex)
.setUnique(true)/*
.setColumnsInclude("ciao", "prova", "sole") */;
UtilityDB.createIndex(advancedDataSource.getConnection(),indexTableDTO );
UtilityDB.createIndex(connection,indexTableDTO );
}

View File

@@ -8,7 +8,7 @@ public class Migration_20231130152938 extends BaseMigration implements Migration
@Override
public void up() throws Exception {
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(advancedDataSource.getDataSource().getDbName()))
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getDbName()))
return;
settingsModel.setEnableTokenCaching(!UtilityDebug.isDebugExecution());

Some files were not shown because too many files have changed in this diff Show More