Compare commits

...

199 Commits

Author SHA1 Message Date
2bbc01c4ef Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-16 09:43:23 +01:00
d981e59a7d Rimosso Containerfile
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-15 18:27:09 +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
c1c39b76e6 Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-05 11:51:40 +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
3a5bccab1b Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 11:42:33 +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
c376b967ed Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-03 10:14:59 +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
fc5b6ae3d6 Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-12-02 15:47:59 +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
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
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
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
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
b3ac0f8755 Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/activity/service/UserWorkHoursService.java
2025-12-01 15:56:46 +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
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
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
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
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
77c79c6247 Merge branch 'develop' into feature/Feature-SteUp 2025-11-25 10:58:20 +01:00
c26f7feb35 Merge branch 'develop' into feature/Feature-SteUp 2025-11-25 10:10:30 +01:00
21cc88f295 varie per steup 2025-11-25 09:36:00 +01:00
dac2e6cc71 Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 15:30:03 +01:00
d46667d442 Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-06 11:59:26 +01:00
ab8733b2ff Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-11-04 12:34:45 +01:00
62e3a824c9 Aggiunto user_modifier in activityDto
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-31 09:09:52 +01:00
9f28aebf78 Fix activity status 2025-10-31 09:09:14 +01:00
398513b0cc Merge branch 'develop' into feature/Feature-Task 2025-10-31 09:09:03 +01:00
c3ad19b51f Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 16:42:55 +01:00
b8453cd688 Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-28 10:54:10 +01:00
84dc40249f allineamento dait
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-27 17:07:49 +01:00
b544a9e0d4 Merge branch 'develop' into feature/Feature-Task 2025-10-27 17:06:19 +01:00
77aee05f12 [Task] Miglioramenti alle query di estrazione task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-24 17:43:06 +02:00
41dbd2ac51 Modifiche a query estrazione task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-24 12:50:24 +02:00
0060ac32e7 Modifiche a query estrazione task
Some checks are pending
IntegryManagementSystem_Multi/pipeline/head Build queued...
2025-10-24 10:44:05 +02:00
413da7ec86 Aggiunta classe per la gestione dei memo
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-22 15:19:24 +02:00
e79e9e107f Aggiunto username in retrieveAssenze per filtrare le assenze dell'utente
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-22 11:09:32 +02:00
9d7a0f8e22 Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-22 10:02:33 +02:00
9f8d1af53e Aggiunti DTO per aggiornare ed eliminare le ore di lavoro degli utenti; migliorata la convalida delle richieste di timbratura in entrata/uscita
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-17 10:54:26 +02:00
a4ae2e70bd Merge branch 'develop' into feature/Feature-Task
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-17 09:31:47 +02:00
76ff6f4371 Merge branch 'develop' into feature/Feature-Task
Some checks failed
IntegryManagementSystem_Multi/pipeline/head There was a failure building this commit
2025-10-15 12:03:51 +02:00
2bf1779c23 Modifica la query in getOldUpdate per utilizzare wtb_clie2 al posto di jtb_comt
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
2025-10-14 15:03:30 +02:00
208 changed files with 14086 additions and 2957 deletions

View File

@@ -1,9 +1,14 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="LocalDate passato a SimpleDate" />
<option name="myName" value="LocalDate Checks" />
<inspection_tool class="2b489e84-a2d7-30b2-9eff-e1ae310a3021" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="3ba9f580-3fdd-3896-b2c5-a57a36bbdc46" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="68d10b55-8d01-38ad-9579-a3dca4cd32a8" enabled="true" level="ERROR" enabled_by_default="true" editorAttributes="ERRORS_ATTRIBUTES" />
<inspection_tool class="731e1524-8144-3953-9fa9-9ef0eb4affb5" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="AbstractBeanReferencesInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="AccessStaticViaInstance" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ActionIsNotPreviewFriendly" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ActionPresentationInstantiatedInCtor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="AddExplicitTargetToParameterAnnotation" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="AddOperatorModifier" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="AmbiguousNonLocalJump" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
@@ -44,6 +49,7 @@
<inspection_tool class="AnonymousHasLambdaAlternative" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="AnonymousInnerClass" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="AopLanguageInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ApplicationServiceAsStaticFinalFieldOrProperty" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ArgNamesErrorsInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ArgNamesWarningsInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="AroundAdviceStyleInspection" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -69,6 +75,8 @@
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,java.lang.foreign.Arena,ofAuto,java.lang.foreign.Arena,global,com.annimon.stream.Stream,of" />
</inspection_tool>
<inspection_tool class="BadExpressionStatementJS" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="BatchJobDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="BatchXmlDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="BigDecimalLegacyMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="BigDecimalMethodWithoutRoundingCalled" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="BintrayPublishingPlugin" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -143,12 +151,18 @@
<inspection_tool class="CollectionAddedToSelf" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CommaExpressionJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CommentedOutCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="CompanionObjectInExtension" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparatorCombinators" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparatorMethodParameterNotUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparatorResultComparison" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparisonOfShortAndChar" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComparisonToNaN" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComplexRedundantLet" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ComponentNotRegistered" enabled="false" level="WARNING" enabled_by_default="false">
<option name="CHECK_ACTIONS" value="true" />
<option name="IGNORE_NON_PUBLIC" value="true" />
</inspection_tool>
<inspection_tool class="ComponentRegistrationProblems" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ComposeErroneousRelation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ComposeMissingKeys" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ComposeUnknownKeys" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -229,6 +243,7 @@
<inspection_tool class="CssUnresolvedClassInComposesRule" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnresolvedCustomProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnusedSymbol" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CsvValidation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CustomRegExpInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CyclicJobDependency" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="DanglingJavadoc" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -253,9 +268,11 @@
<inspection_tool class="DeprecatedIsStillUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DeprecatedLombok" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DeprecatedMavenDependency" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DeprecatedStaplerJellyCustomTagAttribute" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="Deprecation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DestructuringWrongName" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DevContainerIdeSettings" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="DevKitPropertiesMessageValidation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DevcontainerFolder" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="DialogTitleCapitalization" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="DiamondCanBeReplacedWithExplicitTypeArguments" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -349,6 +366,7 @@
</inspection_tool>
<inspection_tool class="EmptySynchronizedStatement" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EmptyTryBlock" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EmptyWebServiceClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EndlessStream" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="EnhancedSwitchBackwardMigration" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="EnhancedSwitchMigration" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -376,11 +394,13 @@
<inspection_tool class="ExpressionMayBeFactorized" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ExtendsAnnotation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ExtendsObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ExtensionRegisteredAsServiceOrComponent" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ExternalizableWithoutPublicNoArgConstructor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ExtractMethodRecommender" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FallThroughInSwitchStatementJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FieldCanBeLocal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FieldMayBeFinal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FileEqualsUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FillPermitsList" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="FilterIsInstanceCallWithClassLiteralArgument" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="FilterIsInstanceResultIsAlwaysEmpty" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -403,6 +423,7 @@
<inspection_tool class="ForLoopReplaceableByWhile" enabled="false" level="WARNING" enabled_by_default="false">
<option name="m_ignoreLoopsWithoutConditions" value="true" />
</inspection_tool>
<inspection_tool class="ForbiddenInSuspectContextMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ForeignDelegate" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ForwardCompatibility" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="FrequentlyUsedInheritorInspection" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -578,16 +599,20 @@
<option name="FLAG_EXPLICIT_CONVERSION" value="true" />
<option name="IGNORE_NODESET_TO_BOOLEAN_VIA_STRING" value="true" />
</inspection_tool>
<inspection_tool class="ImplicitlyExposedWebServiceMethods" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="IncompatibleMask" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncompatibleMaskJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncompleteDestructuring" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="InconsistentCommentForJavaParameter" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InconsistentResourceBundle" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InconsistentTextBlockIndent" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectCancellationExceptionHandling" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="IncorrectDateTimeFormat" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectHttpHeaderInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectMessageFormat" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectParentDisposable" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IncorrectPluginDslStructure" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="IncorrectServiceRetrieving" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="IndexOfReplaceableByContains" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IndexZeroUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InfiniteLoopJS" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -600,19 +625,24 @@
<inspection_tool class="InjectionValueTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InnerClassMayBeStatic" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InsertLiteralUnderscores" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="InspectionDescriptionNotFoundInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InspectionUsingGrayColors" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InstantiatingObjectToGetClassObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InstantiationOfUtilityClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IntegerDivisionInFloatingPointContext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IntegerMultiplicationImplicitCastToLong" enabled="false" level="WARNING" enabled_by_default="false">
<option name="ignoreNonOverflowingCompileTimeConstants" value="true" />
</inspection_tool>
<inspection_tool class="IntentionDescriptionNotFoundInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="InterfaceMethodClashesWithObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IntroduceWhenSubject" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="InvalidComparatorMethodReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="InvalidIconSrc" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IterableUsedAsVararg" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="IteratorHasNextCallsIteratorNext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JBoss" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JCenterRepository" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JComponentDataProvider" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSAccessibilityCheck" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSAnnotator" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JSArrowFunctionBracesCanBeRemoved" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -727,6 +757,7 @@
<inspection_tool class="JavadocReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JavaeeApplicationDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JdkProxiedBeanTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="Jexl" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="JoinDeclarationAndAssignment" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="JoinDeclarationAndAssignmentJava" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="JpaAttributeMemberSignatureInspection" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -763,6 +794,7 @@
<inspection_tool class="JvmCoverageInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KDocUnresolvedReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KarmaConfigFile" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KeymapXmlDom" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinAmbiguousActuals" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinConstantConditions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinDoubleNegation" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
@@ -770,6 +802,8 @@
<inspection_tool class="KotlinInvalidBundleOrProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinMavenPluginPhase" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinNoActualForExpect" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinObjectExtensionRegistration" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinObjectRegisteredAsExtension" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="KotlinOptionsToCompilerOptions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinRedundantOverride" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="KotlinTestJUnit" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -795,15 +829,21 @@
<option name="CHECK_NON_ANNOTATED_REFERENCES" value="true" />
</inspection_tool>
<inspection_tool class="LateinitVarOverridesLateinitVar" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LeakableMapKey" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LengthOneStringsInConcatenation" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="LessResolvedByNameOnly" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="LessUnresolvedMixin" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LessUnresolvedVariable" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LiftReturnOrAssignment" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="LightServiceMigrationCode" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LightServiceMigrationXML" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LightServiceMustBeFinal" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="LimitedScopeInnerClass" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="LiquibaseXmlUnresolvedProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ListIndexOfReplaceableByContains" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ListRemoveInLoop" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ListenerImplementationMustNotBeDisposable" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="LiveTemplateI18n" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="LocalVariableName" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="LogStatementNotGuardedByLogCondition" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WEAK WARNING" enabled_by_default="false">
@@ -877,6 +917,7 @@
<inspection_tool class="MicronautDataRepositoryMethodReturnType" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MigrateFromJavaLangIo" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="MigrateToJavaLangIo" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="MigrateToOptControl" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MimeType" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="MinMaxValuesInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedArrayReadWrite" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -892,9 +933,12 @@
</option>
</inspection_tool>
<inspection_tool class="MismatchedJavadocCode" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedLightServiceLevelAndCtor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedStringBuilderQueryUpdate" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MismatchedStringCase" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MisorderedAssertEqualsArguments" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingAccessibleContext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingActionUpdateThread" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingAspectjAutoproxyInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissingDeprecatedAnnotationOnScheduledForRemovalApi" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="MissingFinalNewline" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -902,6 +946,7 @@
<option name="ignoreObjectMethods" value="true" />
<option name="ignoreAnonymousClassMethods" value="false" />
</inspection_tool>
<inspection_tool class="MissingRecentApi" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="MissingSerialAnnotation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissortedModifiers" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="m_requireAnnotationsFirst" value="true" />
@@ -945,8 +990,10 @@
<inspection_tool class="NodeCoreCodingAssistance" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonAsciiCharacters" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonAtomicOperationOnVolatileField" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonDefaultConstructor" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="NonExtendableApiUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonFinalFieldInEnum" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonJaxWsWebServices" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonSerializableWithSerialVersionUIDField" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="NonStrictComparisonCanBeEquality" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="NotNullFieldNotInitialized" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -980,6 +1027,7 @@
<inspection_tool class="ObviousNullCheck" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OctalLiteral" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OneToOneWithLazy" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OneWayWebMethod" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="OnlyOneElementUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OpenRewriteYamlRecipe" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="OptionalAssignedToNull" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -994,6 +1042,7 @@
<inspection_tool class="OverflowingLoopIndex" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OverrideOnly" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="OverwrittenKey" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PSScriptAnalyzer" enabled="false" level="SERVER PROBLEM" enabled_by_default="false" />
<inspection_tool class="PackageDirectoryMismatch" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PackageInfoWithoutPackage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PackageJsonMismatchedDependency" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1010,6 +1059,12 @@
<inspection_tool class="PatternVariablesCanBeReplacedWithCast" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="PbDuplicatedImports" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PgSelectFromProcedureInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlCapitalization" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlDynamicPlugin" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlExtensionRegistration" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlI18n" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlPluginLogo" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlValidity" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PointcutMethodStyleInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PointlessArithmeticExpression" enabled="false" level="WARNING" enabled_by_default="false">
<option name="m_ignoreExpressionsContainingConstants" value="true" />
@@ -1027,22 +1082,27 @@
<inspection_tool class="PostCssCustomSelector" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PostCssMediaRange" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PostCssUnresolvedModuleValueReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PostfixTemplateDescriptionNotFound" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PreferCurrentCoroutineContextToCoroutineContext" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PresentationAnnotation" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="PreviewFeature" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PrimitiveArrayArgumentToVariableArgMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PrivatePropertyName" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PropertyName" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ProtectedInFinal" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ProtectedMemberInFinalClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PsiElementConcatenation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="PublicField" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="ignoreEnums" value="false" />
<option name="ignorableAnnotations">
<value />
</option>
</inspection_tool>
<inspection_tool class="PublicTestExtensionFunction" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QsPrivateBeanMembersInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QsProperties" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QsYaml" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="QuickFixGetFamilyNameViolation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="RawUseOfParameterizedType" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ReactiveStreamsNullableInLambdaInTransform" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="ReactiveStreamsPublisherImplementation" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1189,6 +1249,7 @@
<inspection_tool class="ReplaceWithIgnoreCaseEquals" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ReplaceWithJavadoc" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ReplaceWithOperatorAssignment" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="RequiredArtifactTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="RequiredAttributes" enabled="false" level="WARNING" enabled_by_default="false">
<option name="myAdditionalRequiredHtmlAttributes" value="" />
</inspection_tool>
@@ -1203,11 +1264,31 @@
<inspection_tool class="RunBlocking" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="RunBlockingInSuspendFunction" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SSBasedInspection" enabled="true" level="WARNING" enabled_by_default="true">
<searchConfiguration name="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="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="LocalDate equals 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="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="LocalDateTime equals 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>
</inspection_tool>
<inspection_tool class="SafeCastWithReturn" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SafeVarargsDetector" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1242,6 +1323,7 @@
<inspection_tool class="SimplifiableCallChain" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifiableConditionalExpression" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifiableIfStatement" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="SimplifiableServiceRetrieving" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifyAssertNotNull" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="SimplifyBooleanWithConstants" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SimplifyCollector" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1391,7 +1473,9 @@
<inspection_tool class="SqlUnusedSubqueryItemInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlUnusedVariableInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SqlWithoutWhereInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StatefulEp" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticImportCanBeUsed" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticInitializationInExtensions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticInitializerReferencesSubClass" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StaticMethodImportLombok" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="StreamToLoop" enabled="false" level="INFORMATION" enabled_by_default="false" />
@@ -1477,6 +1561,7 @@
<inspection_tool class="ThymeleafMessagesResolveInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ThymeleafVariablesResolveInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ToArrayCallWithZeroLengthArrayArgument" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TokenSetInParserDefinition" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TomlUnresolvedReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="TooBroadScope" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="m_allowConstructorAsInitializer" value="false" />
@@ -1513,8 +1598,10 @@
<inspection_tool class="TypeScriptUnresolvedReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="TypeScriptValidateGenericTypes" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="TypeScriptValidateTypes" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UElementAsPsi" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UNCHECKED_WARNING" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UNUSED_IMPORT" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UastHintedVisitorAdapterHints" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UastIncorrectHttpHeaderInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UastIncorrectMimeTypeInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnaryPlus" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1524,8 +1611,10 @@
<inspection_tool class="UndefinedJob" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UndefinedParamsPresent" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UndefinedStage" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UndesirableClassUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnfinishedStepVerifier" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnhandledExceptionInJSP" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnknownIdInMetaInformation" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnknownLanguage" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnnecessarilyQualifiedInnerClassAccess" enabled="false" level="INFORMATION" enabled_by_default="false">
<option name="ignoreReferencesNeedingImport" value="false" />
@@ -1585,10 +1674,14 @@
<inspection_tool class="UnreachableCatch" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnreachableCodeJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnresolvedMessageChannel" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnresolvedPluginConfigReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnresolvedPropertyKey" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnresolvedReference" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnresolvedRestParam" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UnsafeReturnStatementVisitor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsafeVfsRecursion" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsatisfiedRange" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnspecifiedActionsPlace" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnstableApiUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsupportedCharacter" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnsupportedChronoFieldUnitCall" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1615,12 +1708,20 @@
<inspection_tool class="UsagesOfObsoleteApi" enabled="false" level="TEXT ATTRIBUTES" enabled_by_default="false" />
<inspection_tool class="UseBulkOperation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseCompareMethod" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseDPIAwareBorders" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseDPIAwareInsets" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseExpressionBody" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="UseHashCodeMethodInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseJBColor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UsePlatformProcessAwaitExit" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="UsePluginIdEquals" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UsePrimitiveTypes" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UsePropertyAccessSyntax" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="UseVirtualFileEquals" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UselessCallOnCollection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UselessCallOnNotNull" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UtilSchemaInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="ValidExternallyBoundObject" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="VarargParameter" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="VariableInitializerIsRedundant" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="VariableNeverRead" enabled="false" level="WARNING" enabled_by_default="false" />
@@ -1640,6 +1741,7 @@
<inspection_tool class="VulnerableCodeUsages" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="VulnerableLibrariesGlobal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="VulnerableLibrariesLocal" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WSReferenceInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="WadlDomInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="WaitWhileHoldingTwoLocks" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WebProperties" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -1651,11 +1753,15 @@
<option name="ignoreNonEmtpyLoops" value="true" />
</inspection_tool>
<inspection_tool class="WithStatementJS" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WorkspaceEntityMutableField" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WorkspaceImplAbsent" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WorkspaceImplObsolete" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WrapUnaryOperator" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="WrapperTypeMayBePrimitive" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WriteOnlyObject" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="WrongPackageStatement" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="WrongPropertyKeyValueDelimiter" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="WsdlHighlightingInspection" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="XmlDefaultAttributeValue" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="XmlDeprecatedElement" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="XmlDuplicatedId" enabled="false" level="ERROR" enabled_by_default="false" />
@@ -1677,6 +1783,21 @@
<inspection_tool class="YAMLSchemaValidation" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="YAMLUnresolvedAlias" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="YAMLUnusedAnchor" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="checkReturnValue" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="checkedExceptions" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpa.jpb.model.DataClassEqualsAndHashCodeInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.CompositeIdClassSerializable" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.ConverterSpecifiedIncorrectlyInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.DuplicateVersionAnnotationInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.EntityIdMissingInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.IncompatibleTableAnnotationInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokDataInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokEqualsAndHashCodeInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokToStringIncludeInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.LombokToStringInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.NoArgsConstructorInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="com.intellij.jpb.UnsupportedTypeWithoutConverterInspection" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="d539a2c0-2ebf-35d7-921f-25a581173971" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="dependsOnMethodTestNG" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="groupsTestNG" enabled="false" level="WARNING" enabled_by_default="false">
<option name="groups">

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

@@ -6,5 +6,25 @@
<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>

View File

@@ -1,18 +0,0 @@
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

@@ -42,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/**,Containerfile', name: 'container-files'
stash includes: 'ems-engine/target/ems-api.war,docker/**,Dockerfile', name: 'container-files'
}
}
@@ -128,7 +128,7 @@ sleep 10''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaul
}
// 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 build -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}"

View File

@@ -46,6 +46,16 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "RESINA_COLOR_PASQUALE",
"connectionType": "MSSQL",
"dbName": "RESINACOLOR_PASQUALE",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "ALAMBICCO",
"connectionType": "MSSQL",
@@ -86,26 +96,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "CAPELLI_MONELLI",
"connectionType": "MSSQL",
"dbName": "capelli_monelli",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PENELOPE_EXCHANGE",
"connectionType": "MSSQL",
"dbName": "penelope_exchange",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": false
},
{
"profileName": "CARELLI",
"connectionType": "MSSQL",
@@ -137,7 +127,7 @@
"internalDb": true
},
{
"profileName": "COSMAPACK",
"profileName": "COSMINT",
"connectionType": "MSSQL",
"dbName": "cosmint",
"username": "sa",
@@ -206,6 +196,36 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAD",
"connectionType": "MSSQL",
"dbName": "PAPARELLAD",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAP",
"connectionType": "MSSQL",
"dbName": "PAPARELLAP",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAPIETRO",
"connectionType": "MSSQL",
"dbName": "PAPARELLAPIETRO",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "FOLLIESGROUP",
"connectionType": "MSSQL",
@@ -386,16 +406,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "NUOVAVG",
"connectionType": "MSSQL",
"dbName": "vgalimenti",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "OF_DEMO",
"connectionType": "MSSQL",
@@ -416,16 +426,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAPIETRO",
"connectionType": "MSSQL",
"dbName": "paparellapietro",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLAD",
"connectionType": "MSSQL",
@@ -446,6 +446,26 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLA_IMMOBILIARE",
"connectionType": "MSSQL",
"dbName": "immobiliare",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "PAPARELLA_IMMOBILIARE_SRL",
"connectionType": "MSSQL",
"dbName": "immobiliaresrl",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "RISTO_CASH",
"connectionType": "MSSQL",
@@ -476,6 +496,16 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SABATO",
"connectionType": "MSSQL",
"dbName": "SABATO",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SANTANTONIO",
"connectionType": "MSSQL",
@@ -496,16 +526,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SABATO",
"connectionType": "MSSQL",
"dbName": "SABATO",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SICILIANIDMSOLAP",
"connectionType": "MSSQL",
@@ -556,36 +576,6 @@
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "BIOSUIT",
"connectionType": "MSSQL",
"dbName": "BIOSUIT",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "SUIT_PUGLIA",
"connectionType": "MSSQL",
"dbName": "SUIT_PUGLIA",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "CARNI_SARDEGNA",
"connectionType": "MSSQL",
"dbName": "CARNI_SARDEGNA",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "TEMPESTA",
"connectionType": "MSSQL",
@@ -727,9 +717,9 @@
"internalDb": true
},
{
"profileName": "ROSSOGARGANO",
"profileName": "CAPELLI_MONELLI",
"connectionType": "MSSQL",
"dbName": "RossoGargano",
"dbName": "capelli_monelli",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
@@ -737,10 +727,20 @@
"internalDb": true
},
{
"profileName": "Aida",
"profileName": "PENELOPE_EXCHANGE",
"connectionType": "MSSQL",
"dbName": "aida",
"username": "sa",
"dbName": "penelope_exchange",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": false
},
{
"profileName": "ROSSOGARGANO",
"connectionType": "MSSQL",
"dbName": "RossoGargano",
"username": "SA",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
@@ -772,7 +772,7 @@
"dbName": "frudis",
"username": "SA",
"password": "sZ",
"host": "192.168.2.214",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
@@ -826,6 +826,26 @@
"encryptedDbPsw": false,
"internalDb": false
},
{
"profileName": "COSMAPACK",
"connectionType": "MSSQL",
"dbName": "COSMINT",
"username": "sa",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "Aida",
"connectionType": "MSSQL",
"dbName": "aida",
"username": "sa",
"password": "sZ",
"host": "192.168.2.220",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "VETTA",
"connectionType": "MSSQL",
@@ -835,22 +855,32 @@
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
},
{
"profileName": "CARNI_SARDEGNA",
"connectionType": "MSSQL",
"dbName": "CARNI_SARDEGNA",
"username": "sa",
"password": "sZ",
"host": "192.168.2.214",
"encryptedDbPsw": true,
"internalDb": true
}
],
"defaultMailConfiguration": {
"from": "developer@integry.it",
"smtp": "mail.studioml.it",
"port": 1025,
"from": "internal@integry.it",
"smtp": "smtp.integry.it",
"port": 25,
"enableSSL": false,
"username": "mailuser",
"password": "ZTikBVpBmZC6CVtGamTQ",
"username": "sender@integry.it",
"password": "sendsqlml",
"encryptedPassword": false
},
"loggerConfiguration": {
"level": "DEBUG",
"deleteDays": 7,
"dbDeleteDays": 0,
"dbMaxSize": "1G"
"deleteDays": 15,
"dbDeleteDays": 3,
"dbMaxSize": "500M"
},
"enablePermissionCheck": false,
"minioConfiguration": {

View File

@@ -21,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";
@@ -28,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);
@@ -47,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)
@@ -54,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

@@ -69,7 +69,6 @@ public class EmsCoreDBLoader {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionPool)){
discoverAllConnections(multiDBTransactionManager);
setupAzienda(multiDBTransactionManager);
userCacheService.discoverAllUsers(multiDBTransactionManager);
if (onComplete != null) onComplete.run(multiDBTransactionManager);
} catch (Exception ex) {

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

@@ -793,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);
@@ -803,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);
@@ -819,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)
@@ -884,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));
@@ -900,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)

View File

@@ -32,12 +32,14 @@ public class DbmsChangeTrackerComponent {
add(MtbAartBarCode.ENTITY);
add(MtbUntMis.ENTITY);
add(MtbDepo.ENTITY);
add(MtbDepoPosizioni.ENTITY);
add(StbEditLimit.ENTITY);
add(StbGestSetup.ENTITY);
add(StbGestSetupDepo.ENTITY);
add(WtbGestSetupUser.ENTITY);
add(StbUser.ENTITY);
add(WtbClie.ENTITY);
add(WtbDepo.ENTITY);
add(WtbGestSetupUser.ENTITY);
}};

View File

@@ -44,17 +44,27 @@ public class EntityCacheComponent implements ApplicationListener {
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(WtbGestSetupUser.ENTITY, WtbGestSetupUser.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) {
@@ -103,20 +113,23 @@ public class EntityCacheComponent implements ApplicationListener {
}
private void refreshCacheForEntity(Connection connection, IntegryCustomerDB customerDB, String tableName) throws Exception {
Class<? extends EntityBase> clazz = enabledEntities.get(tableName);
// 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);
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);
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()));
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) {
@@ -125,20 +138,29 @@ public class EntityCacheComponent implements ApplicationListener {
}
public <T extends EntityBase> Stream<T> getCachedEntitiesStream(IntegryCustomerDB customerDB, String tableName, Predicate<T> filterPredicate) {
if (!isCacheEnabled(customerDB, tableName)) {
try {
refreshCacheForEntity(customerDB, tableName);
} catch (Exception e) {
throw new RuntimeException(e);
// 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 entityCache.get(customerDB).get(tableName)
.values()
.parallelStream()
.map(x -> (T) x)
.filter(filterPredicate)
.map(x -> (T) x.clone());
return snapshot;
}
@@ -176,9 +198,12 @@ public class EntityCacheComponent implements ApplicationListener {
event.getPrimaryKey());
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
// 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);
}
@@ -195,9 +220,13 @@ public class EntityCacheComponent implements ApplicationListener {
enabledEntities.get(event.getTableName()),
event.getPrimaryKey());
entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.put(entityPrimaryKey, newItem);
// 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);
@@ -210,12 +239,17 @@ public class EntityCacheComponent implements ApplicationListener {
HashMap<String, Object> entityPrimaryKey = convertSqlMapToEntityMap(event.getPrimaryKey(), enabledEntities.get(event.getTableName()));
final EntityBase removedItem = entityCache.get(event.getCustomerDB())
.get(event.getTableName())
.remove(entityPrimaryKey);
// 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());
}
@@ -267,14 +301,19 @@ public class EntityCacheComponent implements ApplicationListener {
private void resetTableCache(IntegryCustomerDB customerDB, String tableName) {
if (entityCache.containsKey(customerDB) && entityCache.get(customerDB).containsKey(tableName)) {
entityCache.get(customerDB).remove(tableName);
synchronized (getCacheLock(customerDB)) {
if (entityCache.containsKey(customerDB) && entityCache.get(customerDB).containsKey(tableName)) {
entityCache.get(customerDB).remove(tableName);
}
}
}
private void resetTablesCache(IntegryCustomerDB customerDB) {
entityCache.remove(customerDB);
// sincronizziamo la rimozione dell'intera cache per il customer
synchronized (getCacheLock(customerDB)) {
entityCache.remove(customerDB);
}
}

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

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

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

@@ -177,7 +177,7 @@ public abstract class BaseMigration implements MigrationModelInterface {
}
protected void cloneTable(String sourceTable, String newTable,boolean fillNewTable, boolean dropOldTable, boolean renameNewTable) throws Exception {
protected void cloneTable(String sourceTable, String newTable, boolean fillNewTable, boolean dropOldTable, boolean renameNewTable) throws Exception {
UtilityDB.cloneTable(connection, sourceTable, newTable, fillNewTable, dropOldTable, renameNewTable);
}
@@ -423,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)
@@ -505,6 +524,16 @@ public abstract class BaseMigration implements MigrationModelInterface {
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) {
new Thread(() -> {
try {

View File

@@ -71,7 +71,8 @@ public enum IntegryCustomer {
Gramm(IntegryCustomerDB.Gramm_Gramm,
IntegryCustomerDB.Gramm_PrimeOlive,
IntegryCustomerDB.Gramm_ProveStage,
IntegryCustomerDB.Gramm_2MHolding),
IntegryCustomerDB.Gramm_2MHolding,
IntegryCustomerDB.Gramm_GrammUsa),
Idrotecnica(IntegryCustomerDB.Idrotecnica_Idrotecnica),
Igood(IntegryCustomerDB.Igood_Aida,
IntegryCustomerDB.Igood_Igood,
@@ -118,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;
@@ -96,6 +97,7 @@ public enum IntegryCustomerDB {
Gramm_PrimeOlive("primeolive"),
Gramm_ProveStage("grammprovestage"),
Gramm_2MHolding("dueemme"),
Gramm_GrammUsa("gramm_usa"),
Idrotecnica_Idrotecnica("idrotecnica"),
@@ -196,7 +198,9 @@ public enum IntegryCustomerDB {
Tempesta_Tempesta("tempesta"),
Tempesta_DI("tempestadi"),
Tempesta_VivaiTempesta("vivaitempesta"),
Tempesta_VivaiTempesta_DI("vivaitempestadi"),
Tosca_Ba("tosca_ba"),
@@ -234,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

@@ -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;
@@ -57,7 +58,7 @@ 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())

View File

@@ -0,0 +1,40 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251027170624 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomer(IntegryCustomer.Integry)) return;
executeStatement("UPDATE jtb_rlavr set da_ora = stb_activity.effective_time,\n" +
" a_ora = stb_activity.effective_endtime\n" +
" from jtb_rlavr inner join stb_activity on jtb_rlavr.activity_id = stb_activity.activity_id\n" +
" inner join jvw_flav_nominativo on jtb_rlavr.cod_jflav = jvw_flav_nominativo.cod_jflav\n" +
" where data_lav >= '2025/01/01'\n" +
" and ore > 0\n" +
" and da_ora is null",
"update jtb_rlavr\n" +
" set a_ora = DateAdd(MINUTE, (ore * 0.6) * 100, da_ora)\n" +
" from jtb_rlavr\n" +
" where data_lav >= '2025/01/01'\n" +
" and ore > 0\n" +
" and da_ora = a_ora",
" update stb_activity\n" +
" set effective_endtime = DateAdd(MINUTE, (ore * 0.6) * 100, effective_time)\n" +
" from jtb_rlavr inner join stb_activity on stb_activity.activity_id = jtb_rlavr.activity_id\n" +
" where data_lav >= '2025/01/01'\n" +
" and ore > 0\n" +
" and effective_endtime = effective_time");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -10,6 +10,9 @@ public class Migration_20251114163222 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("ALTER TABLE vtb_dest ADD data_mod DATETIME");
executeStatement("ALTER TABLE ptb_pros ADD data_mod DATETIME");
executeStatement("ALTER TABLE ptb_pros_rif ADD data_mod DATETIME");

View File

@@ -10,6 +10,8 @@ public class Migration_20251117100418 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateProcedure("sp_moveTableToFileGroup", "CREATE PROCEDURE [dbo].[sp_moveTableToFileGroup] (@tableName varchar(max), @fileGroup varchar(max), @fileName varchar(max), @createFile varchar(1) = 'N')\n" +
"AS\n" +

View File

@@ -11,6 +11,9 @@ public class Migration_20251118172320 extends BaseMigration implements Migration
return;
if (isDMS())
return;
createOrUpdateTrigger("tr_changeTipoRiep", "CREATE TRIGGER [dbo].[tr_changeTipoRiep]\n" +
" ON [dbo].[ctb_cont]\n" +
" INSTEAD OF update\n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251119084719 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table dtb_note_doc add flag_bio bit not null default 0");
}

View File

@@ -11,6 +11,9 @@ public class Migration_20251120123843 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table gtb_anag alter column citta varchar(60)");
createOrUpdateFunction("IntToBase36", "CREATE FUNCTION dbo.IntToBase36(@n bigint)\n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251120153047 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table gtb_anag alter column rag_soc varchar(100)");
}

View File

@@ -10,6 +10,8 @@ public class Migration_20251120181812 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateView("cvw_tipi_pdc", "CREATE VIEW cvw_tipi_pdc AS\n" +
"SELECT '1' AS codice, Upper('Attivo') descrizione, '1' as sezione\n" +

View File

@@ -10,6 +10,8 @@ public class Migration_20251121150257 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getMaggiorazioneSpese", "CREATE FUNCTION [dbo].[getMaggiorazioneSpese](@dataValidita datetime, @codVlis varchar(5), @codSpes varchar(5)) \n" +
"RETURNS TABLE AS \n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251124135552 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getGrigliaAcquisto","CREATE FUNCTION [dbo].[getGrigliaAcquisto] (@dataValidita datetime, @codAlis varchar(5), @codMdep varchar(5), @codArtFor varchar(25), @codMart varchar(15)) RETURNS TABLE AS\n" +
"return\n" +
"SELECT *\n" +

View File

@@ -0,0 +1,42 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251124143153 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery("TIPO_GRIGLIA", "tipo griglia", "SELECT 'A|GRIGLIA DI ACQUISTO'\n" +
"UNION ALL\n" +
"SELECT 'V|GRIGLIA DI VENDITA'");
createSetup
("PVM", "RILEVAZIONI_STEUP", "TIPO_GRIGLIA", null,
"Indicare per ogni reparto se la griglia per l'assortimento è quella di acquisto o di vendita",
false, "TIPO_GRIGLIA", true, false, false, false, false, "jtb_fasi", false,
"SELECT 'A|GRIGLIA DI ACQUISTO'\n" +
"UNION ALL\n" +
"SELECT 'V|GRIGLIA DI VENDITA'");
if (!isCustomerDb(IntegryCustomerDB.Carelli_Winact)) return;
executeStatement("insert into stb_gest_setup_det \n" +
"select gest_name, section, key_section, tipo_setup, f.cod_jfas, f.valUe\n" +
"from stb_gest_setup\n" +
"cross apply (\n" +
"select distinct jtb_fasi.cod_jfas,\n" +
"IIF (jtb_fasi.cod_jfas = '01' OR jtb_fasi.cod_jfas = '02', 'V', 'A') as valUe\n" +
"from jtb_fasi inner join jrl_fasi_mtb_grup on jtb_fasi.cod_jfas = jrl_fasi_mtb_grup.cod_jfas ) f\n" +
"where gest_name = 'PVM' \n" +
"and section = 'RILEVAZIONI_STEUP'\n" +
"and key_section = 'TIPO_GRIGLIA'\n");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,66 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251124161416 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Carelli_Winact)) return;
createOrUpdateFunction("[steup_getGrigliaVendita]", "CREATE FUNCTION [dbo].[steup_getGrigliaVendita](\n" +
" @codMdep VARCHAR(5), @codJfas VARCHAR(5), @dataIspezione datetime\n" +
")\n" +
" RETURNS TABLE\n" +
" AS\n" +
" RETURN(WITH tipiArt AS (SELECT value_string AS cod_mtip\n" +
" FROM dbo.ParseStringIntoArray((SELECT value\n" +
" FROM stb_gest_setup\n" +
" WHERE gest_name = 'PVM'\n" +
" AND section = 'RILEVAZIONI_STEUP'\n" +
" AND key_section = 'EXCLUDE_COD_MTIP'), '|') t)\n" +
" , art AS (SELECT DISTINCT cod_griglia, cod_mart\n" +
" FROM carelli.dbo.vtb_griglia_art\n" +
" WHERE cod_griglia = @codMdep\n" +
" AND data_validita =\n" +
" (SELECT MAX(data_validita) FROM carelli.dbo.vtb_griglia_art WHERE cod_griglia = @codMdep AND data_validita <=@dataIspezione)\n" +
" )\n" +
" \n" +
" SELECT DISTINCT case when @codJfas = '01' then art_det.cod_mart_griglia else mtb_aart.cod_mart end as cod_mart,\n" +
" mtb_aart.descrizione,\n" +
" mtb_aart.bar_code,\n" +
" mtb_aart.cod_msgr,\n" +
" mtb_aart.plu,\n" +
" art_det.cod_mart AS cod_mart_kit \n" +
" FROM carelli.dbo.mtb_aart\n" +
" INNER JOIN jrl_fasi_mtb_grup ON\n" +
" mtb_aart.cod_mgrp = jrl_fasi_mtb_grup.cod_mgrp\n" +
" INNER JOIN (SELECT cod_mart, cod_comp AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp\n" +
" UNION ALL\n" +
" SELECT cod_comp AS cod_mart, cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_comp \n" +
" where @codJfas <> '01'\n" +
" UNION ALL\n" +
" SELECT cod_mart, cod_mart AS cod_mart_griglia\n" +
" FROM carelli.dbo.mtb_aart\n" +
" WHERE cod_mart NOT IN (SELECT cod_mart FROM carelli.dbo.mtb_comp)) AS art_det\n" +
" ON mtb_aart.cod_mart = art_det.cod_mart\n" +
" INNER JOIN art ON art_det.cod_mart_griglia = art.cod_mart\n" +
" WHERE jrl_fasi_mtb_grup.cod_jfas = @codJfas\n" +
" AND flag_stato = 'A'\n" +
" AND (mtb_aart.cod_mtip IS NULL OR mtb_aart.cod_mtip NOT IN (SELECT cod_mtip FROM tipiArt)) \n" +
" )");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -10,6 +10,9 @@ public class Migration_20251124164630 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getMaterialiDistinta",
"CREATE FUNCTION [dbo].[getMaterialiDistinta](@codProd VARCHAR(15), @explodeSemilavorati BIT)\n" +
" RETURNS TABLE\n" +

View File

@@ -10,6 +10,9 @@ public class Migration_20251125095325 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("getMaterialiDistinta",
"CREATE FUNCTION [dbo].[getMaterialiDistinta](@codProd VARCHAR(15), @explodeSemilavorati BIT)\n" +
" RETURNS TABLE\n" +

View File

@@ -0,0 +1,60 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251125100117 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("create table dbo.mtb_livelli_anomalie\n" +
"(\n" +
" id bigint identity\n" +
" constraint pk_mtb_livelli_anomalie\n" +
" primary key,\n" +
" descrizione varchar(255) not null,\n" +
" hex_colore varchar(20) default '#ffffff',\n" +
" escludi_picking_vendita bit default 0 not null,\n" +
" escludi_picking_lavorazione bit default 0 not null\n" +
")");
executeStatement("create table dbo.mtb_anomalie_ul\n" +
"(\n" +
" id bigint identity\n" +
" constraint pk_mtb_anomalie_ul\n" +
" primary key,\n" +
" descrizione varchar(200) not null,\n" +
" annotazioni varchar(400),\n" +
" inizio_anomalia datetime,\n" +
" fine_anomalia datetime,\n" +
" id_livello_anomalia bigint not null\n" +
" constraint mtb_anomalie_ul_mtb_livelli_anomalie_id_fk\n" +
" references dbo.mtb_livelli_anomalie,\n" +
" cod_jfas varchar(5)\n" +
" constraint mtb_anomalie_ul_jtb_fasi_cod_jfas_fk\n" +
" references dbo.jtb_fasi\n" +
")");
executeStatement("alter table dbo.mtb_colt\n" +
" add id_anomalia bigint\n" +
" constraint mtb_colt_mtb_anomalie_ul_id_fk\n" +
" references dbo.mtb_anomalie_ul (id)");
if (isCustomerDb(IntegryCustomerDB.RossoGargano_RossoGargano)) {
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Prodotto non conforme', N'#FF0000', 1, 1)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Prodotto uscito con alte temperature', N'#E36C0A', 1, 0)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Pedana in osservazione', N'#FFC000', 1, 0)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Barattoli con difetto di marcatura', N'#00B050', 0, 0)");
executeInsertStatement("INSERT INTO mtb_livelli_anomalie (descrizione, hex_colore, escludi_picking_vendita, escludi_picking_lavorazione) VALUES (N'Barattoli difettati', N'#00B0F0', 0, 1)");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -10,6 +10,9 @@ public class Migration_20251125105713 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateProcedure("MRP_UpdateQtaImpProx", "CREATE Procedure [dbo].[MRP_UpdateQtaImpProx](@elencoArticoli varchar(max) = null)\n" +
"AS \n" +

View File

@@ -12,6 +12,9 @@ public class Migration_20251127104634 extends BaseMigration implements Migration
return;
if (!isCustomer(IntegryCustomer.Biolevante)) return;
if (isDMS())
return;
createOrUpdateFunction("f_pp_consuntivo_prod_tracc", "CREATE function [dbo].[f_pp_consuntivo_prod_tracc] (@as_codProdParent varchar(15), @as_partitaMagParent varchar(20), @ac_qtaProdParent numeric(20,5), @as_codProd varchar(15), @as_partitaMag varchar(20), @ac_qtaProd numeric(20, 5), @ai_livello integer, @as_item_id varchar(255), @ai_idRiga integer) \n" +
"RETURNS @dettCosti TABLE(livello integer, \n" +
" item_id varchar(255),\n" +

View File

@@ -15,6 +15,9 @@ public class Migration_20251127114735 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement(
"exec DropForeignKey 'mtb_aart', 'mtb_marchio_linea'",
"exec DropForeignKey 'mtb_aart', 'mtb_marchio_slinea'",

View File

@@ -10,6 +10,9 @@ public class Migration_20251128153854 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("update stb_menu set flag_attivo = 'N' where cod_opz in ('mg077', 'mg078', 'mg079', 'mg080')");
}

View File

@@ -11,6 +11,9 @@ public class Migration_20251128190648 extends BaseMigration implements Migration
if (isHistoryDB())
return;
if (isDMS())
return;
if (isCustomerDb(IntegryCustomerDB.Carelli_Winact)) {
dropTable("crl_amac_manutenzioni_files");
dropTable("ctb_amac_manutenzioni");

View File

@@ -0,0 +1,19 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201090147 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table ctb_cont add flag_attivo bit not null default 1");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,66 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201105344 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
if (isDMS())
return;
createOrUpdateTrigger("tr_changeTipoRiep", "CREATE TRIGGER [dbo].[tr_changeTipoRiep]\n" +
" ON [dbo].[ctb_cont]\n" +
" INSTEAD OF update\n" +
"AS\n" +
"BEGIN\n" +
"\tSET NOCOUNT ON;\n" +
"\tdeclare @cnt int = 0\n" +
"\n" +
"\n" +
"\tif Update(tipo_riep ) \n" +
"\tbegin\n" +
"\t\tSELECT @cnt = COUNT(*) from ctb_movr inner join inserted on ctb_movr.cod_ccon = inserted.cod_ccon and \n" +
"\t\t( (inserted.tipo_riep is null and ctb_movr.cod_anag is not null ) or (inserted.tipo_riep is null and ctb_movr.cod_anag is null ) )\n" +
"\tend\n" +
"\t \n" +
"\t \n" +
" IF @cnt > 0\n" +
" BEGIN\n" +
" THROW 50002, 'Update non consentito: esistono movimenti collegati.', 1;\n" +
" RETURN;\n" +
" END\n" +
"\t\n" +
"\tupdate ctb_cont \n" +
"\tset cod_cmas = inserted.cod_cmas,\n" +
"\t\tcod_cgrp = inserted.cod_cgrp,\n" +
"\t\tdescrizione = inserted.descrizione,\n" +
"\t\ttipo_riep = inserted.tipo_riep,\n" +
"\t\tsaldo_att = inserted.saldo_att,\n" +
"\t\tflag_cont_analit = inserted.flag_cont_analit,\n" +
"\t\tcod_biva = inserted.cod_biva,\n" +
"\t\tcod_jfas = inserted.cod_jfas,\n" +
"\t\tcod_csct = inserted.cod_csct,\n" +
"\t\tflag_risconto = inserted.flag_risconto,\n" +
"\t\tperc_ded = inserted.perc_ded,\n" +
"\t\tdiacod = inserted.diacod,\n" +
"\t\tdata_ins = inserted.data_ins,\n" +
"\t\tdata_mod = inserted.data_mod,\n" +
"\t\tflag_attivo = inserted.flag_attivo\n" +
"\tfrom ctb_cont inner join inserted on ctb_cont.cod_ccon = inserted.cod_ccon\n" +
"\n" +
"END");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,29 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201124048 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
createSetup("PICKING", "ACCETTAZIONE_BOLLA", "FLAG_ENABLE_MARK_RECEIVED", "N",
"Abilita il tasto nell'avanti elenco per poter settare a true il campo merce_ricevuta in wdtb_doct", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
if (isCustomer(IntegryCustomer.Carelli)) {
updateSetupValue("PICKING", "ACCETTAZIONE_BOLLA", "FLAG_ENABLE_MARK_RECEIVED", "S");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,23 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251201164935 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("W_DDOCU_TAB_RC", "SETUP", "LOG_PICKING", "N",
"Se impostato a S viene salvato un file di log su ogni singola postazione, un file al giorno, con il log dei passaggi nella fase di picking)", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,31 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251202094633 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (!isCustomerDb(IntegryCustomerDB.Dulciar_Dulciar))
return;
executeStatement("update stb_gest_setup set value = 'S' where gest_name = 'DTB_ORDT' and key_section in ('NUOVA_PROCEDURA','DISABLE_TRIGGER_ORDL')");
executeStatement("update stb_gest_sync set syncronize = 'R' where gest_name like 'lord%'");
executeStatement("update stb_gest_sync set syncronize = 'R' where gest_name like 'pord%'");
executeStatement("insert into stb_abil \n" +
"select case when gest_name = 'lordi' then 'LG081' else 'AG031' end , user_name, 'S', case when gest_name = 'lordi' then 'lordi_tab' else 'pordi_tab' end from stb_abil \n" +
"where gest_name in ('lordi','pordi') and case when gest_name = 'lordi' then 'LG081' else 'AG031' end + user_name not in (select cod_opz + user_name from stb_abil where cod_opz in ('LG081','AG031'))");
executeStatement("update stb_abil set flag_abil = 'N' where gest_name in ('lordi','pordi')");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,29 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251202140350 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("w_cmovi_rc", "SETUP", "PRINT_QUIETANZA", "S",
"chiede e fa stampare la lettera di quietanza", false, null, false, false,
false, false, false, null, false, null);
if(isCustomer(IntegryCustomer.Carelli))
updateSetupValue("w_cmovi_rc", "SETUP", "PRINT_QUIETANZA", "N");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,74 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251202161223 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateView("cvw_saldo_scad", "CREATE VIEW dbo.cvw_saldo_scad\n" +
" WITH SCHEMABINDING\n" +
" AS\n" +
" SELECT ctb_scad.tipo_anag,\n" +
" ctb_scad.cod_anag,\n" +
" ctb_scad.anno_part,\n" +
" ctb_scad.ser_doc,\n" +
" ctb_scad.num_doc,\n" +
" SUM(ctb_scad.imp_dare) AS dare_scad,\n" +
" SUM(ctb_scad.imp_avere) AS avere_scad,\n" +
" COUNT_BIG(*) AS id\n" +
" FROM dbo.ctb_scad\n" +
" GROUP BY ctb_scad.tipo_anag,\n" +
" ctb_scad.cod_anag,\n" +
" ctb_scad.anno_part,\n" +
" ctb_scad.ser_doc,\n" +
" ctb_scad.num_doc");
executeStatement("CREATE UNIQUE CLUSTERED INDEX ix_cvw_saldo_scad\n" +
" ON dbo.cvw_saldo_scad (\n" +
" tipo_anag,\n" +
" cod_anag,\n" +
" anno_part,\n" +
" ser_doc,\n" +
" num_doc\n" +
" );");
createOrUpdateView("cvw_saldo_part",
"CREATE VIEW dbo.cvw_saldo_part\n" +
" WITH SCHEMABINDING\n" +
"AS\n" +
"SELECT ctb_part.tipo_anag,\n" +
" ctb_part.cod_anag,\n" +
" ctb_part.anno_part,\n" +
" ctb_part.ser_doc,\n" +
" ctb_part.num_doc,\n" +
" SUM(ctb_parr.imp_dare * ctb_part.cambio_divi_cont / ctb_parr.cambio_divi_cont) AS dare_part,\n" +
" SUM(ctb_parr.imp_avere * ctb_part.cambio_divi_cont / ctb_parr.cambio_divi_cont) AS avere_part,\n" +
" COUNT_BIG(*) AS id\n" +
"FROM dbo.ctb_part\n" +
" INNER JOIN dbo.ctb_parr\n" +
" ON ctb_part.tipo_anag = ctb_parr.tipo_anag AND ctb_part.cod_anag = ctb_parr.cod_anag AND\n" +
" ctb_part.anno_part = ctb_parr.anno_part AND ctb_part.ser_doc = ctb_parr.ser_doc AND\n" +
" ctb_part.num_doc = ctb_parr.num_doc\n" +
"GROUP BY ctb_part.tipo_anag, ctb_part.cod_anag, ctb_part.anno_part, ctb_part.ser_doc, ctb_part.num_doc");
executeStatement("CREATE UNIQUE CLUSTERED INDEX ix_cvw_saldo_part\n" +
" ON dbo.cvw_saldo_part (\n" +
" tipo_anag,\n" +
" cod_anag,\n" +
" anno_part,\n" +
" ser_doc,\n" +
" num_doc\n" +
" );");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,21 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251203085140 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if(isCustomer(IntegryCustomer.RossoGargano))
updateSetupValue("w_cmovi_rc", "SETUP", "PRINT_QUIETANZA", "N");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,49 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251203121227 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateFunction("f_AggiungiGiorniScad", "CREATE FUNCTION [dbo].[f_AggiungiGiorniScad](@dataIniz DateTime, @giorni int, @ls_dataRif varchar(20)) \n" +
"RETURNS dateTime\n" +
" begin\n" +
"\n" +
" declare @ldt_dataInizCalc dateTime\n" +
" DECLARE @mesi INT = @giorni / 30;\n" +
"\n" +
" SELECT @ldt_dataInizCalc = \n" +
" CASE WHEN (@giorni % 30) > 0 OR left(@ls_dataRif, 12) = 'DATA FATTURA' THEN \n" +
" DATEADD(Day, @giorni , @dataIniz )\n" +
" ELSE\n" +
" CASE WHEN @ls_dataRif = 'FINE MESE' AND @giorni = 30 AND Datepart(month, @dataIniz) = 1\n" +
" THEN\n" +
" dbo.f_getLastDayOfMonth(Convert(datetime, Cast(Year(@dataIniz) as varchar) + '/02/01' ))\n" +
" ELSE\n" +
" CASE WHEN (@giorni % 30) = 0 AND @ls_dataRif = 'FINE MESE' AND Datepart(month, @dataIniz) = 12\n" +
" THEN\n" +
" dbo.f_getLastDayOfMonth(DATEADD(Month, @mesi , @dataIniz ))\n" +
" ELSE\n" +
" dbo.f_getLastDayOfMonth(DATEADD(Day, @giorni , @dataIniz ))\n" +
" END \n" +
" END\n" +
" END\n" +
" return (@ldt_dataInizCalc)\n" +
" end;");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251203165544 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("exec dbo.DropPrimaryKey 'azienda'\n",
"alter table azienda add id tinyint not null default 1;\n",
"alter table azienda add constraint pk_azienda primary key (id);\n",
"alter table azienda add constraint chk_id_azienda CHECK (id = 1)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,21 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251204131327 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table mtb_aart_desc Add descrizione_html text",
"alter table mtb_aart_equi add flag_equi_anag BIT not null DEFAULT 0"
);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,26 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205101442 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table srl_activity_type_user add activity_default bit not null default 0;\n",
"CREATE UNIQUE INDEX ux_srl_activity_type_user_default\n" +
"ON srl_activity_type_user (user_name, flag_tipologia)\n" +
"WHERE activity_default = 1;");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,259 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205111526 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
createOrUpdateView("mvw_sitart_udc_det_all","CREATE VIEW [dbo].[mvw_sitart_udc_det_all] AS\n" +
"WITH SitMtbColr AS (\n" +
" /*Vengono presi tutti i Colli di carico*/\n" +
" SELECT mtb_colt.gestione,\n" +
" mtb_colt.data_collo,\n" +
" mtb_colt.ser_collo,\n" +
" mtb_colt.num_collo,\n" +
" mtb_colt.segno,\n" +
" mtb_colt.cod_anag,\n" +
" mtb_colt.cod_vdes,\n" +
" mtb_colt.cod_mdep,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.cod_col,\n" +
" mtb_colr.cod_tagl,\n" +
" mtb_colr.partita_mag,\n" +
" mtb_colr.cod_jcom,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" qta_cnf,\n" +
" mtb_colr.peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" mtb_colt.posizione,\n" +
" mtb_colt.cod_jfas,\n" +
" mtb_colt.id_anomalia as id_anomalia\n" +
" FROM mtb_colr\n" +
" inner join mtb_colt on\n" +
" mtb_colt.gestione = mtb_colr.gestione\n" +
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
" WHERE mtb_colr.data_collo >= '2020/01/01'\n" +
" AND segno = 1\n" +
"\n" +
" UNION ALL\n" +
" /*Vengono presi, a storno, tutti i colli che fanno riferimento ad altri colli di carico*/\n" +
" SELECT mtb_colr.gestione_rif,\n" +
" mtb_colr.data_collo_rif,\n" +
" mtb_colr.ser_collo_rif,\n" +
" mtb_colr.num_collo_rif,\n" +
" collo_rif.segno,\n" +
" collo_rif.cod_anag,\n" +
" collo_rif.cod_vdes,\n" +
" collo_rif.cod_mdep,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.cod_col,\n" +
" mtb_colr.cod_tagl,\n" +
" mtb_colr.partita_mag,\n" +
" NULL AS cod_jcom,\n" +
" -qta_col,\n" +
" -num_cnf,\n" +
" qta_cnf,\n" +
" -mtb_colr.peso_netto_kg,\n" +
" -peso_lordo_kg,\n" +
" collo_rif.posizione,\n" +
" collo_rif.cod_jfas,\n" +
" NULL as id_anomalia\n" +
" FROM mtb_colr\n" +
" LEFT OUTER JOIN mtb_colt AS collo_rif\n" +
" ON mtb_colr.gestione_rif = collo_rif.gestione AND\n" +
" mtb_colr.data_collo_rif = collo_rif.data_collo AND\n" +
" mtb_colr.num_collo_rif = collo_rif.num_collo AND\n" +
" mtb_colr.ser_collo_rif = collo_rif.ser_collo\n" +
" WHERE mtb_colr.data_collo >= '2020/01/01'\n" +
" AND gestione_rif IS NOT NULL /*and mtb_colt.segno = -1 */\n" +
" UNION ALL\n" +
" /*Vengono presi anche tutti i colli di scarico non ancora agganciati a documento tranne quelli di scarico a lavorazione perche' il materiale versato nelle linee di produzione si ritiene subito consumato*/\n" +
" SELECT mtb_colt.gestione,\n" +
" mtb_colt.data_collo,\n" +
" mtb_colt.ser_collo,\n" +
" mtb_colt.num_collo,\n" +
" mtb_colt.segno,\n" +
" mtb_colt.cod_anag,\n" +
" mtb_colt.cod_vdes,\n" +
" mtb_colt.cod_mdep,\n" +
" mtb_colr.cod_mart,\n" +
" mtb_colr.cod_col,\n" +
" mtb_colr.cod_tagl,\n" +
" mtb_colr.partita_mag,\n" +
" mtb_colr.cod_jcom,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" qta_cnf,\n" +
" mtb_colr.peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" mtb_colt.posizione,\n" +
" mtb_colt.cod_jfas,\n" +
" NULL as id_anomalia\n" +
" FROM mtb_colr\n" +
" inner join mtb_colt on\n" +
" mtb_colt.gestione = mtb_colr.gestione\n" +
" AND mtb_colt.data_collo = mtb_colr.data_collo\n" +
" AND mtb_colt.num_collo = mtb_colr.num_collo\n" +
" AND mtb_colt.ser_collo = mtb_colr.ser_collo\n" +
" WHERE mtb_colr.data_collo >= '2020/01/01'\n" +
" AND segno = -1\n" +
" AND cod_dtip IS NULL\n" +
" AND mtb_colt.gestione <> 'L'),\n" +
" SitMtbColt AS (SELECT SitMtbColr.gestione,\n" +
" SitMtbColr.data_collo,\n" +
" SitMtbColr.ser_collo,\n" +
" SitMtbColr.num_collo,\n" +
" SitMtbColr.segno,\n" +
" SitMtbColr.cod_mdep,\n" +
" SitMtbColr.posizione,\n" +
" SitMtbColr.cod_mart,\n" +
" SitMtbColr.cod_col,\n" +
" SitMtbColr.cod_tagl,\n" +
" SitMtbColr.partita_mag,\n" +
" mtb_partita_mag.data_scad,\n" +
" MAX(SitMtbColr.cod_jcom) AS cod_jcom,\n" +
" SUM(qta_col) AS qta_col,\n" +
" SUM(num_cnf) AS num_cnf,\n" +
" AVG(SitMtbColr.qta_cnf) AS qta_cnf,\n" +
" SUM(SitMtbColr.peso_netto_kg) AS peso_netto_kg,\n" +
" SUM(peso_lordo_kg) AS peso_lordo_kg,\n" +
" SitMtbColr.cod_jfas,\n" +
" flag_qta_cnf_fissa,\n" +
" MAX(SitMtbColr.id_anomalia) as id_anomalia\n" +
" FROM SitMtbColr\n" +
" LEFT OUTER JOIN mtb_partita_mag ON SitMtbColr.cod_mart = mtb_partita_mag.cod_mart AND\n" +
" SitMtbColr.partita_mag = mtb_partita_mag.partita_mag\n" +
" INNER JOIN mtb_aart ON SitMtbColr.cod_mart = mtb_aart.cod_mart\n" +
" GROUP BY SitMtbColr.gestione, SitMtbColr.data_collo, SitMtbColr.ser_collo, SitMtbColr.num_collo,\n" +
" SitMtbColr.segno, SitMtbColr.cod_mdep,\n" +
" SitMtbColr.posizione, SitMtbColr.cod_mart, SitMtbColr.cod_col, SitMtbColr.cod_tagl,\n" +
" SitMtbColr.partita_mag,\n" +
" mtb_partita_mag.data_scad, SitMtbColr.cod_jfas, mtb_aart.flag_qta_cnf_fissa)\n" +
"SELECT gestione,\n" +
" data_collo,\n" +
" ser_collo,\n" +
" num_collo,\n" +
" segno,\n" +
" cod_mdep,\n" +
" SitMtbColt.posizione,\n" +
" SitMtbColt.cod_mart,\n" +
" cod_col,\n" +
" cod_tagl,\n" +
" partita_mag,\n" +
" data_scad,\n" +
" cod_jcom,\n" +
" CASE\n" +
" WHEN flag_dig = 'S' THEN\n" +
" CAST(qta_col AS INT)\n" +
" ELSE ROUND(qta_col, cifre_dec)\n" +
" END as qta_col,\n" +
" CASE\n" +
" WHEN flag_dig = 'S' THEN\n" +
" CASE\n" +
" WHEN flag_dig = 'S' THEN\n" +
" CAST(qta_col AS INT)\n" +
" ELSE ROUND(qta_col, cifre_dec)\n" +
" END / case when SitMtbColt.qta_cnf = 0 then 1 else SitMtbColt.qta_cnf end\n" +
" ELSE num_cnf\n" +
" END as num_cnf,\n" +
" --qta_col,\n" +
" --num_cnf,\n" +
" CASE\n" +
" WHEN SitMtbColt.flag_qta_cnf_fissa = 'S'\n" +
" THEN SitMtbColt.qta_cnf\n" +
" ELSE qta_col / CASE WHEN num_cnf = 0 THEN 1 ELSE num_cnf END\n" +
" END AS qta_cnf,\n" +
" peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" cod_jfas,\n" +
" SitMtbColt.flag_qta_cnf_fissa,\n" +
" mtb_unt_mis.flag_dig,\n" +
" mtb_unt_mis.cifre_dec,\n" +
" SitMtbColt.id_anomalia\n" +
"FROM SitMtbColt\n" +
" INNER JOIN mtb_aart ON SitMtbColt.cod_mart = mtb_aart.cod_mart\n" +
" INNER JOIN mtb_unt_mis ON mtb_aart.unt_mis = mtb_unt_mis.unt_mis");
createOrUpdateView("mvw_sitart_udc_det","CREATE VIEW [dbo].[mvw_sitart_udc_det] AS\n" +
"SELECT gestione,\n" +
" data_collo,\n" +
" ser_collo,\n" +
" num_collo,\n" +
" segno,\n" +
" cod_mdep,\n" +
" posizione,\n" +
" cod_mart,\n" +
" cod_col,\n" +
" cod_tagl,\n" +
" partita_mag,\n" +
" data_scad,\n" +
" cod_jcom,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" qta_cnf,\n" +
" peso_netto_kg,\n" +
" peso_lordo_kg,\n" +
" cod_jfas,\n" +
" id_anomalia\n" +
"FROM mvw_sitart_udc_det_all\n" +
"WHERE qta_col > 0");
createOrUpdateView("mvw_sitart_udc_det_inventario","CREATE VIEW [dbo].[mvw_sitart_udc_det_inventario] as\n" +
"SELECT UL.gestione,\n" +
" data_collo,\n" +
" ser_collo,\n" +
" num_collo,\n" +
" segno,\n" +
" UL.cod_mdep,\n" +
" UL.posizione,\n" +
" mtb_depo_posizioni.priorita,\n" +
" mtb_aart.cod_mgrp AS codGruppo,\n" +
" mtb_grup.descrizione AS Gruppo,\n" +
" mtb_aart.cod_msgr AS CodSgruppo,\n" +
" mtb_sgrp.descrizione AS Sottogruppo,\n" +
" UL.cod_mart,\n" +
" diacod,\n" +
" mtb_aart.descrizione_estesa,\n" +
" partita_mag,\n" +
" UL.cod_jcom,\n" +
" jtb_comt.descrizione AS commessa,\n" +
" mtb_aart.unt_mis,\n" +
" qta_col,\n" +
" num_cnf,\n" +
" UL.qta_cnf,\n" +
" UL.peso_netto_kg,\n" +
" UL.peso_lordo_kg,\n" +
" UL.cod_jfas,\n" +
" UL.id_anomalia\n" +
"FROM [mvw_sitart_udc_det] UL\n" +
" LEFT OUTER JOIN jtb_comt ON UL.cod_jcom = jtb_comt.cod_jcom\n" +
" LEFT OUTER JOIN mtb_depo_posizioni\n" +
" on UL.cod_mdep = mtb_depo_posizioni.cod_mdep and UL.posizione = mtb_depo_posizioni.posizione,\n" +
" mtb_aart,\n" +
" mtb_grup,\n" +
" mtb_sgrp\n" +
"WHERE UL.cod_mart = mtb_aart.cod_mart\n" +
" AND mtb_aart.cod_mgrp = mtb_grup.cod_mgrp\n" +
" AND mtb_aart.cod_mgrp = mtb_sgrp.cod_mgrp\n" +
" AND mtb_aart.cod_msgr = mtb_sgrp.cod_msgr\n" +
" AND qta_col <> 0\n");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,44 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205130201 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if ( !existsColumn("mtb_depo", "data_iniz_vent" ))
executeStatement("ALTER TABLE mtb_depo ADD data_iniz_vent datetime");
if ( !existsColumn("mtb_depo", "data_fine_vent" ))
executeStatement("ALTER TABLE mtb_depo ADD data_fine_vent datetime");
if ( !existsColumn("ctb_movi", "ventilazione" ))
executeStatement("ALTER TABLE ctb_movi ADD ventilazione bit not null default 1");
if (isCustomer(IntegryCustomer.CapelliMonelli) && isCustomerDb(IntegryCustomerDB.Gramm_GrammUsa)) {
executeStatement(
"CREATE TABLE [oltb_operregi_log] (data_file DATETIME, prog_file INT, cod_CUA VARCHAR (16), ID_depo NUMERIC (10, 0), num_operaz INT, data_operaz DATETIME, id_err INT, error_text VARCHAR (MAX), tipo_errore INT)",
"ALTER TABLE [atb_offt] ADD flag_tipo_off INT",
"ALTER TABLE [ctb_varbeni] ADD num_cmov INT",
"CREATE TABLE [mtb_list_costo_lisa_data] (id BIGINT, listino VARCHAR (5), data_rif DATETIME, cod_mart VARCHAR (15), cod_art_for VARCHAR (25), cod_promo VARCHAR (10), costo_lisa DECIMAL (20, 5))",
"ALTER TABLE [atb_tipi] ADD socio_aziendale BIT",
"ALTER TABLE [dtb_dif_bolle] ADD targa VARCHAR (20), posti_pallet INT",
"CREATE TABLE [oltb_categorie] (cod_ocat VARCHAR (5), categoria VARCHAR (80))",
"ALTER TABLE [ctb_movi] ADD ventilazione BIT",
"CREATE TABLE [oltb_macroaree] (Cod_omar VARCHAR (5), acronimo VARCHAR (5), macro_area VARCHAR (80), flag_ObbligOrigSpec VARCHAR (1), flag_DopIgp VARCHAR (1))",
"ALTER TABLE [dtb_ord_steps] ADD posizione_out VARCHAR (MAX)",
"CREATE TABLE [oltb_origspec] (cod_omar VARCHAR (5), cod_oorspec VARCHAR (5), acronimo VARCHAR (5), origine_spec VARCHAR (80))"
);
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,46 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251205154053 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("DELETE FROM STB_GEST_SETUP WHERE GEST_NAME LIKE '%DOCUMENTI DI VENDITA'");
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "ATTIVO", "N",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "EMAIL_FOR_LOG", null,
"Inserire il file l'indirizzo email per inviare il log dell'importazione", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "GG_CANC_FILE", null,
"Giorni per la cancellazione dei file dalla cartella di appoggio", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "IMPORT_REST", "S",
"Inserire S/N per attivare/disattivare il salvataggio con i servizi REST", false, null, false, false,
false, false, false, null, false, null);
createSetup("EXPORT_DOCUMENTI VENDITA", "MD", "PATH_FILE", null,
"Directory dove vengono salvati i file temporanei, se non è configurata i file saranno salvati in c:\\mlSetupWS\\TEMP_EXPORT", false, null, false, false,
false, false, false, null, false, null);
if (!isCustomer(IntegryCustomer.Sardinya)) return;
updateSetupValue("EXPORT_DOCUMENTI VENDITA", "MD", "ATTIVO", "S",
"Inserire S/N per attivare/disattivare il tipo di importazione", false, null, false, false,
false, false, false, null, false, null);
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,38 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems_model.entity.StbGestSetup;
public class Migration_20251205173303 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
StbGestSetup setupMovimentoFiscale = getStbGestSetup("PICKING", "RETTIFICA_GIACENZE", "TIPO_MOVIMENTO_FISCALE");
deleteSetup("PICKING", "RETTIFICA_GIACENZE", "TIPO_MOVIMENTO_FISCALE");
createSetup(setupMovimentoFiscale.getGestName(),
setupMovimentoFiscale.getSection(),
setupMovimentoFiscale.getKeySection() + "_CAR",
setupMovimentoFiscale.getValue(),
setupMovimentoFiscale.getDescription(),
setupMovimentoFiscale.getQueryDefault());
createSetup(setupMovimentoFiscale.getGestName(),
setupMovimentoFiscale.getSection(),
setupMovimentoFiscale.getKeySection() + "_SCAR",
setupMovimentoFiscale.getValue(),
setupMovimentoFiscale.getDescription(),
setupMovimentoFiscale.getQueryDefault());
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,22 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251209113110 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement("alter table mtb_aart alter column ingredienti varchar(8000)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,19 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251209114959 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("alter table dbo.mtb_cols add valore varchar(200)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,42 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251209154901 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isDMS())
return;
executeStatement(
"insert into mtb_unt_mis ( unt_mis)\n" +
"select *\n" +
"from (\n" +
"select unt_mis\n" +
"from mtb_aart\n" +
"union\n" +
"select unt_mis2\n" +
"from mtb_aart\n" +
"where unt_mis2 is not null\n" +
"union\n" +
"select unt_mis3\n" +
"from mtb_aart\n" +
"where unt_mis3 is not null\n" +
") um \n" +
"where not exists (select 1 from mtb_unt_mis where mtb_unt_mis.unt_mis = um.unt_mis )",
"ALTER TABLE MTB_AART ADD CONSTRAINT FK_MTB_AART_UNT_MIS FOREIGN KEY (UNT_MIS) REFERENCES DBO.MTB_UNT_MIS (UNT_MIS)",
"ALTER TABLE MTB_AART ALTER COLUMN UNT_MIS2 VARCHAR(3)",
"ALTER TABLE MTB_AART ADD CONSTRAINT FK_MTB_AART_UNT_MIS2 FOREIGN KEY (UNT_MIS2) REFERENCES DBO.MTB_UNT_MIS (UNT_MIS)",
"ALTER TABLE MTB_AART ADD CONSTRAINT FK_MTB_AART_UNT_MIS3 FOREIGN KEY (UNT_MIS3) REFERENCES DBO.MTB_UNT_MIS (UNT_MIS)" );
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,28 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251210095206 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
executeStatement("ALTER TABLE mtb_aart_anag ADD cod_vdes varchar(5);");
if(isCustomerDb(IntegryCustomerDB.Carelli_Format) || isCustomerDb(IntegryCustomerDB.Carelli_GestFood)){
executeStatement("delete from mtb_aart_anag\n" +
"from (\n" +
"select cod_mart, cod_mart_anag, cod_anag, ROW_NUMBER() over (partition by cod_mart, cod_anag order by cod_mart, cod_mart_anag, cod_anag ) as id\n" +
"from mtb_aart_anag ) m inner join mtb_aart_anag on m.cod_anag = mtb_aart_anag.cod_anag and m.cod_mart = mtb_aart_anag.cod_mart and mtb_aart_anag.cod_mart_anag = m.cod_mart_anag\n" +
"and m.id > 1");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,253 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251210111441 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createOrUpdateFunction("pvm_getassortimentoClientePedane","CREATE FUNCTION [dbo].[pvm_getassortimentoClientePedane](\n" +
" @codAnag VARCHAR(5), @codVlis VARCHAR(5), @codVdes VARCHAR(5), @dataValidita DATETIME, @viewPromo BIT,\n" +
" @pedane INT = 0\n" +
")\n" +
" RETURNS TABLE\n" +
" AS\n" +
" RETURN( /*\n" +
"\n" +
"\t\t\tdeclare @codAnag VARCHAR(5), @codVlis VARCHAR(5), @dataValidita DATETIME, @viewPromo BIT\n" +
"\t\t\tset @codAnag = 'C3355'\n" +
"\t\t\tset @codVlis = 'C3355'\n" +
"\t\t\tset @dataValidita = '2023/04/04'\n" +
"\t\t\tset @viewPromo = 1;\n" +
"\t\t\t*/\n" +
" WITH assortimento AS (SELECT vtb_griglia_art.cod_mart\n" +
" FROM vtb_clie\n" +
" INNER JOIN vtb_griglia ON vtb_clie.cod_griglia = vtb_griglia.cod_griglia\n" +
" INNER JOIN vtb_griglia_art\n" +
" ON vtb_griglia.cod_griglia = vtb_griglia_art.cod_griglia AND\n" +
" vtb_griglia.data_validita = vtb_griglia_art.data_validita\n" +
" WHERE vtb_clie.cod_anag = @codAnag\n" +
" AND vtb_griglia.data_validita = (SELECT MAX(g.data_validita)\n" +
" FROM vtb_griglia g\n" +
" WHERE g.cod_griglia = vtb_clie.cod_griglia\n" +
" AND g.data_validita <= ISNULL(@dataValidita, CAST(GETDATE() AS DATE)))),\n" +
" lisv AS (SELECT cod_vlis, cod_vlis AS cod_vlis_rif\n" +
" FROM vtb_list\n" +
" WHERE cod_vlis_rif IS NULL\n" +
" UNION ALL\n" +
" SELECT cod_vlis, cod_vlis_rif\n" +
" FROM vtb_list\n" +
" WHERE cod_vlis_rif IS NOT NULL),\n" +
" listino AS (SELECT DISTINCT cod_mart, tipo_variazione\n" +
" FROM (SELECT lisv.cod_vlis,\n" +
" mtb_lisv.cod_mart,\n" +
" LAST_VALUE(CASE\n" +
" WHEN vtb_list_data.data_iniz IS NULL THEN NULL\n" +
" ELSE mtb_lisv_data.tipo_variazione END)\n" +
" OVER (PARTITION BY lisv.cod_vlis, mtb_lisv.cod_mart\n" +
" ORDER BY vtb_list_data.data_iniz, CASE WHEN vtb_list_data.cod_promo IS NULL THEN 0 ELSE 1 END, vtb_list_data.versione\n" +
" RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS tipo_variazione\n" +
" FROM lisv\n" +
" INNER JOIN mtb_lisv ON lisv.cod_vlis_rif = mtb_lisv.cod_vlis\n" +
" INNER JOIN mtb_lisv_data ON mtb_lisv.cod_vlis = mtb_lisv_data.cod_vlis AND\n" +
" mtb_lisv.cod_mart = mtb_lisv_data.cod_mart\n" +
" LEFT OUTER JOIN vtb_list_data\n" +
" ON mtb_lisv_data.cod_vlis = vtb_list_data.cod_vlis AND\n" +
" mtb_lisv_data.versione = vtb_list_data.versione AND\n" +
" vtb_list_data.data_iniz <=\n" +
" ISNULL(@dataValidita, CAST(GETDATE() AS DATE))\n" +
" WHERE lisv.cod_vlis = @codVlis\n" +
" AND NOT EXISTS(SELECT cod_mart FROM assortimento)) t\n" +
" WHERE (t.tipo_variazione IS NULL OR t.tipo_variazione <> 'D')),\n" +
" tmp_lisv AS (SELECT l.cod_mart,\n" +
" l.cod_vlis,\n" +
" ISNULL(p.data_iniz, l.data_iniz) AS data_iniz,\n" +
" p.data_fine,\n" +
" l.da,\n" +
" l.a,\n" +
" ISNULL(p.prz_vend, l.prz_vend_trasp) AS prz_vend,\n" +
" ISNULL(p.prz_vend_netto, l.prz_vend_trasp_netto) AS prz_vend_netto,\n" +
" ISNULL(p.perc_sco1, l.perc_sco1) AS perc_sco1,\n" +
" ISNULL(p.perc_sco2, l.perc_sco2) AS perc_sco2,\n" +
" ISNULL(p.perc_sco3, l.perc_sco3) AS perc_sco3,\n" +
" ISNULL(p.perc_sco4, l.perc_sco4) AS perc_sco4,\n" +
" p.perc_prov,\n" +
" CONVERT(NUMERIC(20, 5), 0) AS qta_residua,\n" +
" CONVERT(BIGINT, NULL) AS id_contratto,\n" +
" ISNULL(p.rap_conv, l.rap_conv) AS rap_conv,\n" +
" ISNULL(p.note, l.note) AS note,\n" +
" CAST(NULL AS VARCHAR(5)) AS cod_vdes,\n" +
" l.cod_tcol_ul AS cod_tcol_ul,\n" +
" ISNULL(p.unt_mis_ven, l.unt_mis_ven) AS unt_mis_ven,\n" +
" l.colli_pedana AS colli_pedana,\n" +
" ISNULL(p.tipo_variazione, l.tipo_variazione) AS tipo_variazione,\n" +
" CONVERT(VARCHAR(1), CASE\n" +
" WHEN p.cod_promo IS NULL THEN NULL\n" +
" ELSE 'P' END) AS tipo_promo,\n" +
" CONVERT(VARCHAR(5), NULL) AS cod_paga,\n" +
" CONVERT(VARCHAR(5), NULL) AS descr_paga,\n" +
" l.porto,\n" +
" l.qta_cnf,\n" +
" NULL AS note_incoterms,\n" +
" NULL AS data_rif_scad,\n" +
" NULL AS note_carico,\n" +
" NULL AS term_cons,\n" +
" NULL AS cod_banc,\n" +
" NULL AS descr_banc,\n" +
" l.flag_primario\n" +
" FROM dbo.getListinoVenditaPedane(@dataValidita, @codVlis, NULL, @pedane) l\n" +
" LEFT OUTER JOIN dbo.getPromozioneVendita(@dataValidita, @dataValidita,\n" +
" @codVlis, NULL, NULL) p\n" +
" ON l.cod_vlis = p.cod_vlis AND l.cod_mart = p.cod_mart AND\n" +
" ISNULL(@viewPromo, 0) = 1\n" +
" WHERE l.cod_vlis = @codVlis\n" +
" AND l.cod_mart IN (SELECT cod_mart\n" +
" FROM assortimento\n" +
" UNION ALL\n" +
" SELECT cod_mart\n" +
" FROM listino)\n" +
" AND l.tipo_variazione <> 'D'\n" +
" AND l.tipo_variazione IS NOT NULL\n" +
" AND l.flag_attivo = 'S'\n" +
" UNION ALL\n" +
" SELECT l.cod_mart,\n" +
" l.cod_vlis,\n" +
" NULL AS data_iniz,\n" +
" NULL AS data_fine,\n" +
" NULL AS da,\n" +
" NULL AS a,\n" +
" NULL AS prz_vend,\n" +
" NULL AS prz_vend_netto,\n" +
" NULL AS perc_sco1,\n" +
" NULL AS perc_sco2,\n" +
" NULL AS perc_sco3,\n" +
" NULL AS perc_sco4,\n" +
" NULL AS perc_prov,\n" +
" NULL AS qta_residua,\n" +
" NULL AS id_contratto,\n" +
" um.rap_conv AS rap_conv,\n" +
" NULL AS note,\n" +
" CAST(NULL AS VARCHAR(5)) AS cod_vdes,\n" +
" NULL AS cod_tcol_ul,\n" +
" l.unt_mis_ven AS unt_mis_ven,\n" +
" NULL AS colli_pedana,\n" +
" NULL AS tipo_variazione,\n" +
" NULL AS tipo_promo,\n" +
" CONVERT(VARCHAR(5), NULL) AS cod_paga,\n" +
" CONVERT(VARCHAR(5), NULL) AS descr_paga,\n" +
" NULL porto,\n" +
" mtb_aart.qta_cnf,\n" +
" NULL AS note_incoterms,\n" +
" NULL AS data_rif_scad,\n" +
" NULL AS note_carico,\n" +
" NULL AS term_cons,\n" +
" NULL AS cod_banc,\n" +
" NULL AS descr_banc,\n" +
" 1 AS flag_primario\n" +
" FROM mtb_lisv l\n" +
" INNER JOIN listino ON l.cod_mart = listino.cod_mart\n" +
" INNER JOIN mtb_aart ON l.cod_mart = mtb_aart.cod_mart\n" +
" CROSS APPLY dbo.getUntMisArticolo(l.cod_mart, l.unt_mis_ven) um\n" +
" WHERE l.cod_vlis = @codVlis\n" +
" AND listino.tipo_variazione IS NULL\n" +
" UNION ALL\n" +
" SELECT vvw_contratti_vendita.cod_mart,\n" +
" NULL AS cod_vlis,\n" +
" vvw_contratti_vendita.data_iniz,\n" +
" vvw_contratti_vendita.data_fine,\n" +
" NULL AS da,\n" +
" NULL AS a,\n" +
" vvw_contratti_vendita.prz_vend,\n" +
" ROUND(vvw_contratti_vendita.prz_vend *\n" +
" (1 - ISNULL(vvw_contratti_vendita.perc_sco1, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco2, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco3, 0))\n" +
" * (1 - ISNULL(vvw_contratti_vendita.perc_sco4, 0)),\n" +
" 5) AS prz_vend_netto,\n" +
" vvw_contratti_vendita.perc_sco1,\n" +
" vvw_contratti_vendita.perc_sco2,\n" +
" vvw_contratti_vendita.perc_sco3,\n" +
" vvw_contratti_vendita.perc_sco4,\n" +
" vvw_contratti_vendita.perc_prov,\n" +
" vvw_contratti_vendita.qta_residua,\n" +
" vvw_contratti_vendita.id_contratto,\n" +
" vvw_contratti_vendita.rap_conv,\n" +
" vvw_contratti_vendita.note,\n" +
" vvw_contratti_vendita.cod_vdes,\n" +
" NULL,\n" +
" vvw_contratti_vendita.unt_mis_ven,\n" +
" NULL,\n" +
" NULL,\n" +
" 'C' AS tipo_promo,\n" +
" vvw_contratti_vendita.cod_paga,\n" +
" vvw_contratti_vendita.descrizione_paga AS descr_paga,\n" +
" vvw_contratti_vendita.incoterms AS porto,\n" +
" mtb_aart.qta_cnf,\n" +
" vvw_contratti_vendita.note_incoterms,\n" +
" vvw_contratti_vendita.data_rif_scad,\n" +
" vvw_contratti_vendita.note_carico,\n" +
" vvw_contratti_vendita.term_cons,\n" +
" vvw_contratti_vendita.cod_banc,\n" +
" vvw_contratti_vendita.descr_banc,\n" +
" 1 AS flag_primario\n" +
" FROM vvw_contratti_vendita\n" +
" INNER JOIN mtb_aart ON vvw_contratti_vendita.cod_mart = mtb_aart.cod_mart\n" +
" WHERE vvw_contratti_vendita.cod_anag = @codAnag\n" +
" AND (@codVdes IS NULL OR vvw_contratti_vendita.cod_vdes IS NULL OR\n" +
" vvw_contratti_vendita.cod_vdes = @codVdes)\n" +
" AND (ISNULL(@dataValidita, CAST(GETDATE() AS DATE)) BETWEEN\n" +
" vvw_contratti_vendita.data_iniz AND vvw_contratti_vendita.data_fine)\n" +
"-- AND vvw_contratti_vendita.qta_residua >= 0\n" +
" )\n" +
"\n" +
" SELECT tmp_lisv.cod_mart,\n" +
" ISNULL(maa.cod_mart_anag, tmp_lisv.cod_mart) AS cod_mart_anag,\n" +
" cod_vlis,\n" +
" data_iniz,\n" +
" data_fine,\n" +
" da,\n" +
" a,\n" +
" prz_vend,\n" +
" prz_vend_netto,\n" +
" perc_sco1,\n" +
" perc_sco2,\n" +
" perc_sco3,\n" +
" perc_sco4,\n" +
" perc_prov,\n" +
" qta_residua,\n" +
" id_contratto,\n" +
" rap_conv,\n" +
" ISNULL(maa.note, tmp_lisv.note) AS note,\n" +
" cod_tcol_ul,\n" +
" unt_mis_ven,\n" +
" CASE\n" +
" WHEN maa.colli_pedana IS NULL OR maa.colli_pedana = 0 THEN tmp_lisv.colli_pedana\n" +
" ELSE maa.colli_pedana END AS colli_pedana,\n" +
" tipo_variazione,\n" +
" tipo_promo,\n" +
" cod_paga,\n" +
" descr_paga,\n" +
" porto,\n" +
" qta_cnf,\n" +
" CAST(CASE WHEN tmp_lisv.data_iniz IS NULL THEN 0 ELSE 1 END AS BIT) AS art_lisv,\n" +
" tmp_lisv.cod_vdes,\n" +
" note_incoterms,\n" +
" data_rif_scad,\n" +
" note_carico,\n" +
" term_cons,\n" +
" cod_banc,\n" +
" descr_banc,\n" +
" flag_primario\n" +
" FROM tmp_lisv\n" +
" LEFT OUTER JOIN mtb_aart_anag maa\n" +
" ON tmp_lisv.cod_mart = maa.cod_mart AND maa.cod_anag = @codAnag)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,30 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251211085116 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("W_CREG_IVA_DISP", "DATAWINDOW", "D_CREG_IVA_REP", null,
null, false, null, false, false,
false, false, false, null, false, null);
if(isCustomer(IntegryCustomer.Cosmapack)) {
updateSetupValue("W_CREG_IVA_DISP", "DATAWINDOW", "D_CREG_IVA_REP", "d_creg_iva_cosmopack_rep");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,24 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251211162655 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
createSetup("PVM", "ORDINI_V_SLIM2K", "EXPORT_ORDINI", "N",
"Esporta gli ordini già esportati", false, "SI_NO", false, false,
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,28 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251211165528 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
createSetup("w_vriepfattagecomp_disp", "CB_VIS_DETTAGLIO", "VISIBLE", "N",
null, false, null, false, false,
false, false, false, null, false, null);
if(isCustomer(IntegryCustomer.RossoGargano)) {
updateSetupValue("w_vriepfattagecomp_disp", "CB_VIS_DETTAGLIO", "VISIBLE", "S");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,68 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251212095000 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if(isCustomer(IntegryCustomer.RossoGargano)) {
executeStatement("INSERT INTO dtb_note_doc (note, data_iniz, data_fine, flag_bio)\n" +
"SELECT \n" +
" (\n" +
" SELECT value \n" +
" FROM stb_gest_setup \n" +
" WHERE gest_name = 'stampa_documenti'\n" +
" AND section = 'bio'\n" +
" AND key_section = 'descrizione'\n" +
" )\n" +
" + ' ' +\n" +
" (\n" +
" SELECT value \n" +
" FROM stb_gest_setup \n" +
" WHERE gest_name = 'stampa_documenti'\n" +
" AND section = 'bio'\n" +
" AND key_section = 'certificato'\n" +
" ) AS note,\n" +
" '2025-07-01',\n" +
" '2099-12-31',\n" +
" 1;",
"INSERT INTO drl_tipi_note_doc (cod_dtip, id_note, id_riga)\n" +
"SELECT\n" +
" t.cod_dtip,\n" +
" n.id_note,\n" +
" ISNULL(\n" +
" (\n" +
" SELECT MAX(d.id_riga)\n" +
" FROM drl_tipi_note_doc d\n" +
" WHERE d.cod_dtip = t.cod_dtip\n" +
" ), 0\n" +
" ) + 1 AS id_riga\n" +
"FROM (\n" +
" SELECT MAX(id) AS id_note\n" +
" FROM dtb_note_doc\n" +
" WHERE flag_bio = 1\n" +
" ) n\n" +
"JOIN (\n" +
" SELECT cod_dtip\n" +
" FROM dtb_tipi\n" +
" WHERE gestione = 'V'\n" +
" AND mod_stamp IN ('bolac', 'fat', 'fatac')\n" +
" ) t\n" +
"ON 1 = 1;",
"UPDATE stb_gest_setup set value = null \n" +
"WHERE gest_name = 'stampa_documenti'\n" +
" AND section = 'bio'\n" +
" AND key_section IN ('certificato','descrizione');");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,34 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251212130317 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomer(IntegryCustomer.Auricchio) || isCustomer(IntegryCustomer.Levanplast) || isCustomer(IntegryCustomer.Agricoper) || isCustomerDb(IntegryCustomerDB.Auricchio_Ind05)){
executeStatement("delete from mtb_aart_anag\n" +
"from \n" +
"(select mtb_aart_anag.cod_anag,\n" +
"\t\tmtb_aart_anag.cod_mart, \n" +
"\t\tmax(id) as id\n" +
"from (select cod_anag, cod_mart, row_number() over (partition by cod_anag, cod_mart order by cod_anag, cod_mart) as riga \n" +
"\t\tfrom dbo.mtb_aart_anag\t\t\n" +
"\t\t)error inner join mtb_aart_anag on mtb_aart_anag.cod_anag = error.cod_anag and\n" +
"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmtb_aart_anag.cod_mart = error.cod_mart\n" +
"where riga > 1\n" +
"group by mtb_aart_anag.cod_anag,\n" +
"\t\tmtb_aart_anag.cod_mart)rowDelete inner join mtb_aart_anag on rowDelete.id = mtb_aart_anag.id");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,121 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251212151308 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if ( !isCustomer(IntegryCustomer.Carelli) ) return;
createOrUpdateFunction("steup_getRilevazioni", "CREATE FUNCTION [dbo].[steup_getRilevazioni]\n" +
"(\n" +
" @dataIspezione DATETIME,\n" +
" @codMdep VARCHAR(5),\n" +
" @userRilevatore VARCHAR(20)\n" +
")\n" +
"RETURNS TABLE AS return \n" +
"SELECT activity_id,\n" +
" stb_activity.user_name,\n" +
" user_creator,\n" +
" ISNULL(effective_time, ora_ins_act) AS effective_time,\n" +
" effective_endtime,\n" +
" activity_result_id,\n" +
" mtb_depo.cod_mdep,\n" +
" mtb_depo.descrizione AS descr_deposito,\n" +
" ISNULL(effective_date, data_ins_act) AS data_isp\n" +
"FROM winact.dbo.stb_activity INNER JOIN winact.dbo.wtb_depo ON stb_activity.user_name = wtb_depo.user_name\n" +
" INNER JOIN winact.dbo.mtb_depo ON wtb_depo.cod_mdep = mtb_depo.cod_mdep\n" +
"WHERE flag_tipologia = 'P' AND\n" +
" activity_type_id = 'ISPEZIONE' AND \n" +
" (@dataIspezione is null or stb_activity.effective_date = @dataIspezione ) AND \n" +
" (@codMdep is null or mtb_depo.cod_mdep = @codMdep ) AND \n" +
" (@userRilevatore is null or stb_activity.user_creator = @userRilevatore );");
createOrUpdateFunction("steup_getEntriesRilevazione", "CREATE FUNCTION [dbo].[steup_getEntriesRilevazione](@idIspezione varchar(20))\n" +
" RETURNS TABLE AS return\n" +
"WITH steup_ispezioni AS (SELECT * FROM steup_getRilevazioni(null, null, null)),\n" +
"\n" +
" steup_activities AS (SELECT stb_activity.activity_id,\n" +
" stb_activity.activity_type_id,\n" +
" stb_activity.data_ins_act,\n" +
" ISNULL(stb_activity.effective_time, stb_activity.ora_ins_act) AS effective_time,\n" +
" stb_activity.cod_mart,\n" +
" mtb_aart.descrizione AS descr_art,\n" +
" stb_activity.activity_play_counter,\n" +
" stb_activity.note,\n" +
" stb_activity.cod_jfas,\n" +
" stb_activity.flag_tipologia,\n" +
" stb_activity.persona_rif,\n" +
" stb_activity.priorita,\n" +
" wtb_depo.cod_mdep,\n" +
" jtb_fasi.descrizione AS descr_fase,\n" +
" stb_activity.parent_activity_id as id_ispezione,\n" +
" stb_activity.indice_gradimento,\n" +
" stb_activity.user_creator,\n" +
" jtb_fasi.max_allocazione,\n" +
" SUM(indice_gradimento)\n" +
" OVER ( PARTITION BY parent_activity_id,wtb_depo.cod_mdep,jtb_fasi.cod_jfas ) AS gradimento_reparto,\n" +
" steup_ispezioni.data_isp\n" +
" FROM winact.dbo.stb_activity\n" +
" INNER JOIN steup_ispezioni ON parent_activity_id = steup_ispezioni.activity_id\n" +
" LEFT OUTER JOIN winact.dbo.jtb_fasi ON stb_activity.cod_jfas = jtb_fasi.cod_jfas\n" +
" LEFT OUTER JOIN winact.dbo.mtb_aart ON stb_activity.cod_mart = mtb_aart.cod_mart\n" +
" LEFT OUTER JOIN winact.dbo.wtb_depo ON stb_activity.user_name = wtb_depo.user_name\n" +
" WHERE ISNULL(cod_jcom, '') <> 'MODEL'\n" +
" and stb_activity.cod_mart is null\n" +
" AND stb_activity.flag_tipologia = 'A')\n" +
" ,\n" +
"\n" +
"\n" +
"\n" +
"\n" +
" gradimento_reparto AS (SELECT DISTINCT id_ispezione,\n" +
" cod_jfas,\n" +
" cod_mdep,\n" +
" data_isp,\n" +
" gradimento_reparto,\n" +
" LAG(gradimento_reparto, 1, 0)\n" +
" OVER (PARTITION BY cod_mdep,cod_jfas ORDER BY data_isp ) AS grad_1,\n" +
" LAG(gradimento_reparto, 2, 0)\n" +
" OVER (PARTITION BY cod_mdep,cod_jfas ORDER BY data_isp ) AS grad_2\n" +
"\n" +
" FROM (SELECT DISTINCT id_ispezione, cod_mdep, cod_jfas, gradimento_reparto, data_isp\n" +
" FROM steup_activities) acti)\n" +
"\n" +
"\n" +
"SELECT steup_activities.*,\n" +
" CASE\n" +
" WHEN gradimento_reparto.grad_1 > max_allocazione AND gradimento_reparto.grad_2 > max_allocazione THEN 1\n" +
" ELSE 0 END AS recidiva,\n" +
" ((SELECT COUNT(*)\n" +
" FROM stb_activity art\n" +
" WHERE steup_activities.activity_id = art.parent_activity_id) + (SELECT COUNT(*)\n" +
" FROM mtb_colt\n" +
" INNER JOIN mtb_colr\n" +
" ON mtb_colt.gestione =\n" +
" mtb_colr.gestione AND\n" +
" mtb_colt.data_collo =\n" +
" mtb_colr.data_collo AND\n" +
" mtb_colt.ser_collo =\n" +
" mtb_colr.ser_collo AND\n" +
" mtb_colt.num_collo =\n" +
" mtb_colr.num_collo\n" +
" WHERE mtb_colt.activity_id = steup_activities.activity_id)) AS count_art\n" +
"FROM steup_activities\n" +
" left outer JOIN gradimento_reparto ON steup_activities.id_ispezione = gradimento_reparto.id_ispezione\n" +
" AND steup_activities.cod_mdep = gradimento_reparto.cod_mdep\n" +
" AND steup_activities.cod_jfas = gradimento_reparto.cod_jfas\n" +
"WHERE (@idIspezione is null or steup_activities.id_ispezione = @idIspezione)");
}
@Override
public void down() throws Exception {
}
}

View File

@@ -0,0 +1,29 @@
package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration._base.MigrationModelInterface;
public class Migration_20251212182900 extends BaseMigration implements MigrationModelInterface {
@Override
public void up() throws Exception {
if (isHistoryDB())
return;
if (isCustomerDb(IntegryCustomerDB.FolliesGroup_FolliesGroup)) {
executeStatement("delete from mtb_aart_anag\n" +
"from (select mtb_aart_anag.cod_anag, mtb_aart_anag.cod_mart, mtb_aart_anag.cod_col, mtb_aart_anag.cod_tagl, max(id) as id \n" +
"\t\tfrom (select cod_anag, cod_mart, cod_col, cod_tagl, row_number() over (partition by cod_anag, cod_mart, cod_col, cod_tagl order by cod_anag, cod_mart, cod_col, cod_tagl, id desc) as riga \n" +
"\t\tfrom dbo.mtb_aart_anag \n" +
"\t\t)error inner join mtb_aart_anag on mtb_aart_anag.cod_anag = error.cod_anag and \n" +
"\t\t\t\t\t\t\t\t\t\t\tmtb_aart_anag.cod_mart = error.cod_mart \n" +
"where riga > 1 \n" +
"group by mtb_aart_anag.cod_anag, mtb_aart_anag.cod_col, mtb_aart_anag.cod_tagl, mtb_aart_anag.cod_mart)rowDelete inner join mtb_aart_anag on rowDelete.id = mtb_aart_anag.id");
}
}
@Override
public void down() throws Exception {
}
}

View File

@@ -364,7 +364,7 @@ public class LoadColliService {
if (mtbColtWithDocAlready != null && !mtbColtWithDocAlready.isEmpty()) {
throw new Exception("Il collo n° " + mtbColtWithDocAlready.get(0).getNumCollo() +
" del " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(mtbColtWithDocAlready.get(0).getDataCollo()) +
" del " + CommonConstants.DATE_DMY_SLASHED_FORMATTER.format(mtbColtWithDocAlready.get(0).getDataCollo()) +
" già agganciato al documento " + mtbColtWithDocAlready.get(0).getCodDtip() +
" del " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(mtbColtWithDocAlready.get(0).getDataDoc()) +
" n. " + mtbColtWithDocAlready.get(0).getNumDoc());

View File

@@ -184,7 +184,7 @@ public class AccountingRules extends QueryRules {
if (!UtilityString.isNullOrEmpty(codBiva)) {
for (CtbMovi ctbMovi : ctbMovt.getCtbMovi()) {
if (UtilityString.isNullOrEmpty(ctbMovi.getCodBiva()) && !ctbMovi.getCodBiva().equalsIgnoreCase(EmsRestConstants.NULL)) {
if (ctbMovi.getCodBiva() != null && ctbMovi.getCodBiva().trim().isEmpty()) {
ctbMovi.setCodBiva(codBiva);
}
movi.add(ctbMovi);

View File

@@ -730,7 +730,7 @@ public class CommonRules extends QueryRules {
public static String completeFlagQtaCnfFissa(Connection connection, IntegryCustomerDB customerDB, String codMart) {
final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class);
final List<MtbAart> cachedMtbAarts = entityCacheComponent.getCachedEntitiesList(customerDB, MtbAart.ENTITY, x -> x.getCodMart().equals(codMart));
final List<MtbAart> cachedMtbAarts = entityCacheComponent.getCachedEntitiesList(customerDB, MtbAart.ENTITY, x -> x.getCodMart().equalsIgnoreCase(codMart));
if (cachedMtbAarts == null || cachedMtbAarts.isEmpty())
return null;

View File

@@ -8,16 +8,14 @@ import it.integry.ems_model.entity.DtbDocr;
import it.integry.ems_model.entity.DtbDoct;
import it.integry.ems_model.entity.NtbDoct;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityDate;
import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString;
import it.integry.ems_model.utility.*;
import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -26,14 +24,11 @@ import static it.integry.ems.rules.completing.QueryRules.getSingleValue;
public class DocumentCheckRules {
private static void checkDataMov(Date dataCmov, DtbDoct entity, Connection conn) throws Exception {
SimpleDateFormat annoFormat = new SimpleDateFormat("yyyy");
SimpleDateFormat dateformat = new SimpleDateFormat(CommonConstants.DATETIME_FORMAT_YMD);
// ACQUISIZIONE DATI AZIENDA
HashMap<String, Object> DatiAzi = Azienda.getDatiAzienda(conn);
Integer annoAtt = new Integer(DatiAzi.get("anno_attuale").toString());
Integer annoContab = new Integer(DatiAzi.get("anno_contab").toString());
Date ultDataGio = dateformat.parse(DatiAzi.get("ult_data_gio").toString());
Azienda DatiAzi = Azienda.getDefaultAzienda(conn);
Integer annoAtt = DatiAzi.getAnnoAttuale();
Integer annoContab = DatiAzi.getAnnoContab();
Date ultDataGio = UtilityLocalDate.localDateToDate(DatiAzi.getUltDataGio());
Integer annoMov = AccountingRules.getAnnoComp(conn, dataCmov);
@@ -440,12 +435,12 @@ public class DocumentCheckRules {
}
if (returnVal && entity.getOperation() == OperationType.INSERT) {
throw new Exception("DOCUMENTO INTESTATO A " + entity.getCodAnag() + " - " + entity.getCodDtip() + " N. " + entity.getNumDoc().toString() + "/" + entity.getSerDoc() + " DEL " + new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(entity.getDataDoc()) + " GIA' ESISTENTE");
throw new Exception(String.format("Documento intestato a %s - %s numero %s/%d già esistente", entity.getCodAnag(), entity.getCodDtip(), entity.getSerDoc(), entity.getNumDoc()));
} else {
if (checkDocInSequenza(conn, entity) == false && "AUTOMATICA".equalsIgnoreCase(tipoNumeraz) &&
entity.getOperation() != OperationType.UPDATE) {
String valueDataDoc = new SimpleDateFormat(CommonConstants.DATE_FORMAT_DMY).format(dataDoc);
throw new Exception("(DOC. " + codDtip + "" + numDoc + "/" + serDoc + " DEL " + valueDataDoc + " INTESTATO A " + codAnag + " FUORI SEQUENZA)");
throw new Exception("(Doc. " + codDtip + "" + numDoc + "/" + serDoc + " del " + valueDataDoc + " intestato a " + codAnag + " fuori sequenza)");
}
}

View File

@@ -76,12 +76,11 @@ public class PurchasesRules extends QueryRules {
if ( !UtilityString.isNullOrEmpty(tipoVariazione) ) return tipoVariazione;
sql =
Query.format("SELECT tipo_variazione"
+ " FROM dbo.getGrigliaAcquisto(%s, %s,%s, %s, %s)",
Query.format("SELECT TOP 1 tipo_variazione"
+ " FROM dbo.getGrigliaAcquisto(%s, NULL,%s, NULL, %s) g\n" +
"ORDER BY data_validita DESC, tipo_variazione DESC",
atbGriglieArt.getDataValidita(),
atbGriglieArt.getCodAlis(),
atbGriglieArt.getCodMdep(),
atbGriglieArt.getCodArtFor(),
atbGriglieArt.getCodMart());
tipoVariazione = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(connection, sql);

View File

@@ -17,6 +17,7 @@ public class ForeignKeyDTO {
put(WtbJrept.ENTITY, "Report inesistente");
put(StbDevices.ENTITY, "Dispositivo inesistente");
put(StbPublications.ENTITY, "Pubblicazione inesistente");
put(MtbAnomalieUl.ENTITY, "Anomalia inesistente");
}};
String tableName;

View File

@@ -191,6 +191,12 @@ public class OrdineLavorazioneDTO {
@JsonProperty("qtaProd")
@JsonSerialize
private BigDecimal qtaProd;
@SqlField(value = "qta_ord")
@JsonProperty("qtaOrd")
@JsonSerialize
private BigDecimal qtaOrd;
@SqlField(value = "qta_lav")
@JsonProperty("qtaLav")
@JsonSerialize
@@ -726,6 +732,15 @@ public class OrdineLavorazioneDTO {
return this;
}
public BigDecimal getQtaOrd() {
return qtaOrd;
}
public OrdineLavorazioneDTO setQtaOrd(BigDecimal qtaOrd) {
this.qtaOrd = qtaOrd;
return this;
}
public BigDecimal getQtaLav() {
return qtaLav;
}

View File

@@ -223,7 +223,8 @@ public class ProductionOrderDataHandlerService {
" jtb_comt.cod_jcom,\n" +
" jtb_comt.descrizione as descrizione_commessa,\n" +
" jl.id_lotto,\n" +
" dtb_ordt.qta_prod as qta_ord \n" +
" mtb_aart.qta_cnf,\n" +
" ordl.qta_prod AS qta_ord\n" +
"FROM dtb_ordt\n" +
" INNER JOIN dtb_ordt ordl ON dtb_ordt.gestione = ordl.gestione_rif\n" +
" AND dtb_ordt.data_ord = ordl.data_ord_rif\n" +
@@ -358,7 +359,7 @@ public class ProductionOrderDataHandlerService {
.forEach(order -> {
final Map<String, List<OrdineInevasoGroupMercDTO>> groups = grpMerc.stream()
.filter(x -> Objects.equals(x.getNumOrd(), order.getNumOrd()) &&
x.getDataOrd().equals(order.getDataOrd()) &&
UtilityLocalDate.localDateFromDate(x.getDataOrd()).isEqual(order.getDataOrd()) &&
x.getGestione().equalsIgnoreCase(order.getGestione()))
.collect(Collectors.groupingBy(OrdineInevasoGroupMercDTO::getCodMgrp));

View File

@@ -3,6 +3,8 @@ package it.integry.ems.settings.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import it.integry.ems.exception.InvalidDbNameException;
import it.integry.ems.exception.InvalidProfileDbException;
import it.integry.ems.expansion.ObservableArrayList;
import it.integry.ems.expansion.ObservableField;
import it.integry.ems.settings.SettingsHelper;
@@ -199,7 +201,7 @@ public class SettingsModel implements InitializingBean {
.filter(x -> x.getDbName().equalsIgnoreCase(dbName))
.map(AvailableConnectionModel::getProfileName)
.findFirst()
.orElse(null);
.orElseThrow(() -> new InvalidDbNameException(dbName));
return profileDb;
}
@@ -209,7 +211,7 @@ public class SettingsModel implements InitializingBean {
.filter(x -> x.getProfileName().equalsIgnoreCase(profileDb))
.map(AvailableConnectionModel::getDbName)
.findFirst()
.orElse(null);
.orElseThrow(() -> new InvalidProfileDbException(profileDb));
return dbName;
}

View File

@@ -1,29 +1,26 @@
package it.integry.ems.user.service;
import it.integry.annotations.PostContextConstruct;
import it.integry.ems.dynamic_cache.EntityCacheComponent;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.model.IntegryApplicationEnum;
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;
import it.integry.ems.task.TaskExecutorService;
import it.integry.ems.user.dto.UserDTO;
import it.integry.ems_model.entity.StbUser;
import it.integry.ems_model.entity.WtbClie;
import it.integry.ems_model.entity.WtbDepo;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityHash;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import javax.annotation.Nullable;
import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@Service
public class UserCacheService {
@@ -31,73 +28,22 @@ public class UserCacheService {
@Autowired
private SettingsModel settingsModel;
@Autowired
private TaskExecutorService taskExecutorService;
@Autowired
private EntityCacheComponent entityCacheComponent;
private final Logger logger = LogManager.getLogger();
private final HashMap<String, List<UserDTO>> cachedUsers = new HashMap<>();
private final ReentrantLock cacheLock = new ReentrantLock();
boolean canStart = false;
@PostContextConstruct(priority = 10)
private void init() {
canStart = true; //!UtilityDebug.isDebugExecution();
}
@Scheduled(fixedDelay = 5, timeUnit = TimeUnit.MINUTES)
private void internalCacheUpdate() {
internalCacheUpdate(false);
}
private void internalCacheUpdate(boolean forceStart) {
if (!forceStart && !canStart) return;
List<AvailableConnectionModel> availableConnectionModels =
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) {
for (AvailableConnectionModel model : availableConnectionModels) {
try {
multiDBTransactionManager.addConnection(model);
} catch (Exception ex) {
logger.info(String.format("Cannot find %s database", model.getDbName()), ex);
}
}
this.discoverAllUsers(multiDBTransactionManager);
} catch (Exception ex) {
logger.error("Refresh user cache", ex);
}
}
private void cache(String dbName, UserDTO user) {
cachedUsers.putIfAbsent(dbName, new ArrayList<>());
List<UserDTO> users = cachedUsers.get(dbName);
Optional<UserDTO> existentUser = users.stream()
.filter(x -> x.getUsername().equalsIgnoreCase(user.getUsername()))
.findFirst();
existentUser.ifPresent(users::remove);
users.add(user);
}
public List<String> retrieveProfilesOfUser(String username, String password, IntegryApplicationEnum application) {
ArrayList<String> profiles = new ArrayList<>();
for (Map.Entry<String, List<UserDTO>> users : cachedUsers.entrySet()) {
final UserDTO foundUser = retrieveUser(users.getKey(), username, password, application);
final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionModel availableConnection : availableConnections) {
final UserDTO foundUser = retrieveUser(availableConnection.getDbName(), username, password, application);
if (foundUser != null) {
profiles.add(settingsModel.getProfileDbFromDbName(users.getKey()));
profiles.add(availableConnection.getProfileName());
}
}
@@ -105,152 +51,118 @@ public class UserCacheService {
}
public @Nullable UserDTO retrieveUser(String dbName, String md5User) {
cacheLock.lock();
try {
List<UserDTO> users = cachedUsers.getOrDefault(dbName, null);
List<UserDTO> users = internalUsersRetrieve(IntegryCustomerDB.parse(dbName), null);
if (users == null || users.isEmpty())
return null;
if (users == null || users.isEmpty())
return null;
if (md5User == null || md5User.isEmpty())
return null;
if (md5User == null || md5User.isEmpty())
return null;
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> {
String md5Hash = UtilityHash.generateMd5(String.format("%s%s", x.getUsername().toLowerCase(), x.getPassword().toLowerCase()));
return md5Hash.contentEquals(md5User);
})
.findFirst();
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> {
String md5Hash = UtilityHash.generateMd5(String.format("%s%s", x.getUsername().toLowerCase(), x.getPassword().toLowerCase()));
return md5Hash.contentEquals(md5User);
})
.findFirst();
return foundUser.orElse(null);
return foundUser.orElse(null);
} finally {
cacheLock.unlock();
}
}
public @Nullable UserDTO retrieveUser(String dbName, String username, String password, IntegryApplicationEnum application) {
cacheLock.lock();
try {
List<UserDTO> users = cachedUsers.getOrDefault(dbName, null);
List<UserDTO> users = internalUsersRetrieve(IntegryCustomerDB.parse(dbName), username);
if (users == null || users.isEmpty())
return null;
if (users == null || users.isEmpty())
return null;
if (password == null || password.isEmpty())
return null;
if (password == null || password.isEmpty())
return null;
String finalPasswordHex = UtilityHash.generateHash(password.toUpperCase());
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> x.getUsername().equalsIgnoreCase(username) &&
x.isAttivo() &&
x.getPasswordHash().contentEquals(finalPasswordHex) &&
(application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
String finalPasswordHex = UtilityHash.generateHash(password.toUpperCase());
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> x.isAttivo() &&
x.getPasswordHash().contentEquals(finalPasswordHex) &&
(application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
return foundUser.orElse(null);
return foundUser.orElse(null);
} finally {
cacheLock.unlock();
}
}
public @Nullable UserDTO retrieveUserData(String profileDb, String username, IntegryApplicationEnum application) {
cacheLock.lock();
try {
String dbName = settingsModel.getDbNameFromProfileDb(profileDb);
String dbName = settingsModel.getDbNameFromProfileDb(profileDb);
List<UserDTO> users = cachedUsers.getOrDefault(dbName, null);
List<UserDTO> users = internalUsersRetrieve(IntegryCustomerDB.parse(dbName), username);
if (users == null || users.isEmpty())
return null;
if (users == null || users.isEmpty())
return null;
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> x.getUsername().equalsIgnoreCase(username) &&
(application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
final Optional<UserDTO> foundUser = users.stream()
.filter(x -> (application == null ||
(application == IntegryApplicationEnum.PVM && x.isWeb()) ||
(application == IntegryApplicationEnum.CONSEGNA && x.isWeb()) ||
(application == IntegryApplicationEnum.WMS && x.isWeb()) ||
(application == IntegryApplicationEnum.TASK && x.isWeb()) ||
(application == IntegryApplicationEnum.SALESBOOK && x.isWeb()) ||
(application == IntegryApplicationEnum.WINCLOCK && x.isWeb()) ||
(application == IntegryApplicationEnum.GESTIONALE_BASE && x.isInternal())))
.findFirst();
return foundUser.orElse(null);
} finally {
cacheLock.unlock();
}
return foundUser.orElse(null);
}
public void discoverAllUsers(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
cacheLock.lock();
try {
List<Callable<Void>> calls = new ArrayList<>();
for (final Connection connection : multiDBTransactionManager.getActiveConnections()) {
calls.add(() -> {
try {
String sql = "SELECT su.user_name,\n" +
" dbo.sys_dcd_pss(su.password) AS password, \n" +
" CONVERT(varchar(max), HASHBYTES('SHA2_512', UPPER(dbo.sys_dcd_pss(su.password))),2) AS password_hash,\n" +
" su.key_group,\n" +
" su.full_name,\n" +
" su.e_mail,\n" +
" su.last_access_datetime,\n" +
" su.password_endtime,\n" +
" su.cod_lang,\n" +
" su.flag_password_expiring,\n" +
" CAST(IIF(su.password_endtime IS NOT NULL AND\n" +
" DATEDIFF(DAY, su.password_endtime, GETDATE()) > 0 AND su.flag_password_expiring = 'S', 1,\n" +
" 0) AS BIT) AS is_password_expired,\n" +
" IIF(su.key_group = '3' AND su.user_code IS NULL, wc.cod_anag, su.user_code) AS user_code,\n" +
" CAST(IIF(ISNULL(su.flag_attivo, 'N') = 'S', 1, 0) AS BIT) AS is_attivo,\n" +
" CAST(IIF(su.flag_intra_user = 'S' OR su.flag_dba = 'S', 1, 0) AS BIT) AS is_internal,\n" +
" CAST(IIF(su.flag_intra_user = 'S' OR su.flag_extra_user = 'S', 1, 0) AS BIT) AS is_web,\n" +
" '" + connection.getProfileName() + "' AS profile_db\n" +
"FROM " + StbUser.ENTITY + " su " +
" LEFT OUTER JOIN wtb_clie wc ON su.user_name = wc.user_name\n" +
"WHERE dbo.sys_dcd_pss(su.password) IS NOT NULL";
private List<UserDTO> internalUsersRetrieve(IntegryCustomerDB customerDB, String username) {
return entityCacheComponent.<StbUser>getCachedEntitiesStream(
customerDB,
StbUser.ENTITY,
x -> x.getPasswordDecoded() != null && (username == null || x.getUserName().equalsIgnoreCase(username)))
.map(x -> {
UserDTO userDTO = new UserDTO()
.setProfileDb(settingsModel.getProfileDbFromDbName(customerDB.getValue()))
.setUsername(x.getUserName())
.setPassword(x.getPasswordDecoded())
.setPasswordHash(UtilityHash.generateHash(x.getPasswordDecoded().toUpperCase()))
.setKeyGroup(x.getKeyGroup())
.setFullname(x.getFullName())
.setEmail(x.geteMail())
.setLastAccessDatetime(x.getLastAccessDatetime())
.setPasswordEndtime(x.getPasswordEndtime())
.setCodLang(x.getCodLang())
.setFlagPasswordExpiring(x.getFlagPasswordExpiring() != null ? x.getFlagPasswordExpiring().charAt(0) : null)
.setPasswordExpired(x.getPasswordEndtime() != null
&& LocalDateTime.now().isAfter(x.getPasswordEndtime())
&& "S".equalsIgnoreCase(x.getFlagPasswordExpiring()))
.setUserCode(x.getUserCode()) //To be customized
.setAttivo("S".equalsIgnoreCase(x.getFlagAttivo()))
.setInternal("S".equalsIgnoreCase(x.getFlagIntraUser()) || "S".equalsIgnoreCase(x.getFlagDba()))
.setWeb("S".equalsIgnoreCase(x.getFlagIntraUser()) || "S".equalsIgnoreCase(x.getFlagExtraUser()));
final List<UserDTO> userDTOS = UtilityDB.executeSimpleQueryDTO(connection, sql, UserDTO.class);
if (userDTO.getKeyGroup() != null && userDTO.getKeyGroup() == 3) {
final List<WtbClie> wtbClie = entityCacheComponent.getCachedEntitiesList(customerDB, WtbClie.ENTITY,
y -> y.getUserName().equalsIgnoreCase(userDTO.getUsername()));
if (userDTOS != null)
userDTOS.forEach(x -> {
List<WtbDepo> availableDepoList = entityCacheComponent.getCachedEntitiesList(connection.getIntegryCustomerDB(), WtbDepo.ENTITY,
y -> x.getUsername().equalsIgnoreCase(y.getUserName())
);
x.setAvailableDepoList(availableDepoList);
cache(connection.getDbName(), x);
});
} catch (Exception ex) {
logger.error(String.format("Errore durante la retrieve degli utenti su \"%s\". %s", connection.getProfileName(), ex.getMessage()), ex);
if (!wtbClie.isEmpty())
userDTO.setUserCode(wtbClie.get(0).getCodAnag());
}
return null;
});
}
List<WtbDepo> availableDepoList = entityCacheComponent.getCachedEntitiesList(customerDB, WtbDepo.ENTITY,
y -> userDTO.getUsername().equalsIgnoreCase(y.getUserName())
);
userDTO.setAvailableDepoList(availableDepoList);
taskExecutorService.executeTasks(calls);
} finally {
cacheLock.unlock();
}
return userDTO;
})
.collect(Collectors.toList());
}
public void invalidateCache() {
cacheLock.lock();
this.cachedUsers.clear();
cacheLock.unlock();
this.internalCacheUpdate(true);
}
}

View File

@@ -45,7 +45,7 @@ public class UserRegistrationService {
.setPassword(userRegistrationDTO.getPassword())
.seteMail(userRegistrationDTO.getEmail())
.setUserNameRif(userRegistrationDTO.getCodAzienda())
.setPasswordEndtime(EmsRestConstants.DATE_NULL)
.setPasswordEndtime(EmsRestConstants.LOCAL_DATE_TIME_NULL)
.setKeyGroup(userRegistrationDTO.getKeyGroup())
.setFlagExtraUser("S")
.setCryptPassword(true);

View File

@@ -15,14 +15,17 @@ import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.StbFilesAttached;
import it.integry.ems_model.entity.StbUser;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.*;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.List;
@Service
@@ -61,8 +64,6 @@ public class UserService {
UtilityEntity.throwEntityException(stbUser);
userCacheService.invalidateCache();
return stbUser;
}
@@ -91,11 +92,11 @@ public class UserService {
entityProcessor.processEntity(stbUser, multiDBTransactionManager);
Date passwordEndtime = EmsRestConstants.DATE_NULL;
LocalDateTime passwordEndtime = EmsRestConstants.LOCAL_DATE_TIME_NULL;
if (stbUser.getFlagPasswordExpiring().equalsIgnoreCase("S") &&
stbUser.getPasswordExpiresDays() != 0) {
passwordEndtime = UtilityDate.dateAdd(new Date(), stbUser.getPasswordExpiresDays());
passwordEndtime = LocalDateTime.now().plusDays(stbUser.getPasswordExpiresDays());
}
stbUser
@@ -111,8 +112,6 @@ public class UserService {
UtilityEntity.throwEntityException(stbUser);
userCacheService.invalidateCache();
return stbUser;
}
@@ -143,18 +142,7 @@ public class UserService {
}
public List<String> retrieveAvailableProfiles(String username, String password) {
List<String> profiles;
profiles = userCacheService.retrieveProfilesOfUser(username, password, requestDataDTO.getApplication());
if (profiles.isEmpty()) {
// SELEZIONE CICLICA IN TUTTI I DB SPECIFICATI
userCacheService.invalidateCache();
profiles = userCacheService.retrieveProfilesOfUser(username, password, requestDataDTO.getApplication());
}
return profiles;
return userCacheService.retrieveProfilesOfUser(username, password, requestDataDTO.getApplication());
}
public String getSignatureIdAttach(String username) throws Exception {

View File

@@ -70,6 +70,7 @@ public class UtilityEntity {
(field instanceof LocalDateTime && ((LocalDateTime)field).isEqual(EmsRestConstants.LOCAL_DATE_TIME_NULL)) ||
(field instanceof BigDecimal && ((BigDecimal) field).compareTo(EmsRestConstants.BIGDECIMAL_NULL) == 0) ||
(field instanceof Integer && field.equals(EmsRestConstants.INTEGER_NULL)) ||
(field instanceof Long && field.equals(EmsRestConstants.LONG_NULL)) ||
(field instanceof String && ((String) field).equalsIgnoreCase(EmsRestConstants.NULL)));
}

View File

@@ -0,0 +1,30 @@
package it.integry.ems.utility.entity;
import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.dynamic_cache.EntityCacheComponent;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.entity.MtbAartBarCode;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class MtbAartBarcodeUtils {
public static final List<MtbAartBarCode> getAlternativeMtbAartBarCodes(List<String> codMarts, Connection conn) {
codMarts = codMarts.stream()
.distinct().collect(Collectors.toList());
final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class);
List<String> finalCodMarts = codMarts;
List<MtbAartBarCode> barCodeList = entityCacheComponent.getCachedEntitiesList(
conn.getIntegryCustomerDB(),
MtbAartBarCode.ENTITY,
x -> finalCodMarts.stream().anyMatch(y -> y.equalsIgnoreCase(x.getCodMart())));
return barCodeList != null ? barCodeList : new ArrayList<>();
}
}

View File

@@ -0,0 +1,82 @@
package it.integry.ems.utility.entity;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.dynamic_cache.EntityCacheComponent;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.entity.MtbAart;
import it.integry.ems_model.entity.MtbAartBarCode;
import it.integry.ems_model.entity.MtbUntMis;
import it.integry.ems_model.utility.UtilityString;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
public class MtbAartUtils {
public static MtbAart getArticoloByCodMart(String codMart, Connection connection) throws Exception {
if (UtilityString.isNullOrEmpty(codMart))
return null;
List<MtbAart> mtbAarts = getArticoliByCodMarts(new ArrayList<>(Collections.singleton(codMart)), connection);
if (mtbAarts == null || mtbAarts.isEmpty())
return null;
return mtbAarts.get(0);
}
public static List<MtbAart> getArticoliByCodMarts(List<String> codMarts, Connection connection) throws Exception {
if (codMarts == null || codMarts.isEmpty()) return null;
codMarts.replaceAll(String::toUpperCase);
final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class);
List<MtbAart> listMtbAart = entityCacheComponent.getCachedEntitiesList(
connection.getIntegryCustomerDB(), MtbAart.ENTITY, x -> codMarts.contains(x.getCodMart().toUpperCase()));
List<MtbAartBarCode> barCodeFromCod = MtbAartBarcodeUtils.getAlternativeMtbAartBarCodes(codMarts, connection);
if (listMtbAart != null && !listMtbAart.isEmpty()) {
List<String> untMisStrings = listMtbAart.stream()
.map(MtbAart::getUntMis)
.collect(Collectors.toList());
List<MtbUntMis> listUntMis = MtbUntMisUtils.getFromCods(untMisStrings, connection);
for (final MtbAart mtbAart : listMtbAart) {
Optional<MtbUntMis> mtbUntMis = Stream.of(listUntMis)
.filter(mtbUntMis1 -> mtbUntMis1.getUntMis().equalsIgnoreCase(mtbAart.getUntMis()))
.findFirst();
List<MtbAartBarCode> barcodeList = Stream.of(barCodeFromCod)
.filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()))
.toList();
if (!barcodeList.isEmpty()) {
mtbAart.getMtbAartBarCode().addAll(barcodeList);
}
if (mtbUntMis.isPresent()) {
mtbAart.setMtbUntMis(new ArrayList<>());
mtbAart.getMtbUntMis().add(mtbUntMis.get());
}
}
}
return listMtbAart;
}
public static final HashMap<String, MtbAart> getArticoliByCodMartsAsMap(List<String> codMarts, Connection connection) throws Exception {
List<MtbAart> mtbAarts = getArticoliByCodMarts(codMarts, connection);
if (mtbAarts == null || mtbAarts.isEmpty()) return new HashMap<>();
return mtbAarts.stream()
.collect(Collectors.toMap(MtbAart::getCodMart, a -> a, (a, b) -> a, HashMap::new));
}
}

View File

@@ -0,0 +1,20 @@
package it.integry.ems.utility.entity;
import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.dynamic_cache.EntityCacheComponent;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems_model.entity.MtbDepoPosizioni;
import java.util.List;
public class MtbDepoPosizioniUtils {
public static final List<MtbDepoPosizioni> getAllMonoUlPositions(IntegryCustomerDB customerDB) {
final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class);
return entityCacheComponent.<MtbDepoPosizioni>getCachedEntitiesList(customerDB, MtbDepoPosizioni.ENTITY,
x -> x.isFlagMonoCollo());
}
}

View File

@@ -0,0 +1,56 @@
package it.integry.ems.utility.entity;
import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.dynamic_cache.EntityCacheComponent;
import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.entity.MtbAart;
import it.integry.ems_model.entity.MtbUntMis;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
public class MtbUntMisUtils {
public static final MtbUntMis getMtbUntMisFromCodMart(IntegryCustomerDB customerDB, String codMart) throws SQLException {
final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class);
MtbAart mtbAart = entityCacheComponent.<MtbAart>getCachedEntitiesStream(customerDB, MtbAart.ENTITY,
x -> x.getCodMart().equalsIgnoreCase(codMart))
.findFirst()
.orElse(null);
if (mtbAart != null) {
return null;
}
final MtbUntMis mtbUntMis = entityCacheComponent.<MtbUntMis>getCachedEntitiesStream(customerDB, MtbUntMis.ENTITY,
x -> x.getUntMis().equalsIgnoreCase(mtbAart.getUntMis()))
.findFirst()
.orElse(null);
return mtbUntMis;
}
public static List<MtbUntMis> getFromCods(List<String> untMisCods, Connection connection) {
List<String> untMisStrings = untMisCods.stream()
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
final EntityCacheComponent entityCacheComponent = ApplicationContextProvider.getApplicationContext().getBean(EntityCacheComponent.class);
List<MtbUntMis> mtbUntMis = entityCacheComponent.getCachedEntitiesList(
connection.getIntegryCustomerDB(),
MtbUntMis.ENTITY,
x -> untMisCods.contains(x.getUntMis()));
return mtbUntMis != null ? mtbUntMis : new ArrayList<>();
}
}

View File

@@ -1152,7 +1152,11 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
}
}
Object value = field.get(entity);
if (value != null && !(value instanceof String && ((String) value).equalsIgnoreCase(EmsRestConstants.NULL))) {
if (value != null &&
!(value instanceof String && ((String) value).equalsIgnoreCase(EmsRestConstants.NULL)) &&
!(value instanceof Long && ((Long) value) == (EmsRestConstants.LONG_NULL)) &&
!(value instanceof Integer && ((Integer) value) == (EmsRestConstants.INTEGER_NULL))
) {
sqlFields.put(columnName, field.get(entity));
} else {
sqlFields.clear();

View File

@@ -15,6 +15,7 @@ public class EmsRestConstants {
public static final LocalTime LOCAL_TIME_NULL = LocalTime.MAX; // 23:59:59.99999
public static final LocalDateTime LOCAL_DATE_TIME_NULL = LocalDateTime.of(1900, 1, 1, 0, 0, 0); // 1/1/1900
public static final Integer INTEGER_NULL = Integer.MIN_VALUE;
public static final Long LONG_NULL = Long.MIN_VALUE;
public static final BigDecimal BIGDECIMAL_NULL = new BigDecimal(Integer.MIN_VALUE);
public static final String ENTITY_TYPE = "type";
@@ -115,6 +116,7 @@ public class EmsRestConstants {
public static final String PATH_USERS = PATH + "getUser";
public static final String PATH_EXPORT_ORDINI_ACQ = PATH + "exportOrdiniAcquisto";
public static final String PATH_PROCESS_REPORT = PATH + "processReport";
public static final String PATH_DOWNLOAD_REPORT_LIST = PATH + "downloadReportList";
public static final String PATH_DOWNLOAD_REPORT = PATH + "downloadReport";
public static final String PATH_PROCESS_REPORT_TYPE = PATH + "processReportType";
public static final String PATH_PRINT_REPORT_TYPE = PATH + "printReportType";
@@ -274,9 +276,7 @@ public class EmsRestConstants {
public static final String PATH_ACTIVITY_CHANGE_COD_JCOM = PATH + "activity/changeCodJcom";
public static final String PATH_ACTIVITY_UPDATE_WRIKE_ID = PATH + "activity/updateWrikeId";
public static final String PATH_ACTIVITY_REMOVE_ALL_WRIKE_ID = PATH + "activity/removeAllWrikeId";
public static final String PATH_ACTIVITY_GET_ACTIVITY = PATH + "activity/getActivity";
public static final String PATH_ACTIVITY_GET_RESULT = PATH + "activity/getActivityResult";
public static final String PATH_ACTIVITY_GET_TASKS = PATH + "activity/getActivityTasks";
public static final String PATH_ACTIVITY_GET_TYPE = PATH + "activity/getActivityType";
public static final String PATH_ACTIVITY_GET_TYPE_TASK = PATH + "activity/getActivityTypeTask";
public static final String PATH_ACTIVITY_GET_FILE = PATH + "activity/getActivityFile";
@@ -287,8 +287,6 @@ public class EmsRestConstants {
public static final String PATH_ACTIVITY_GET_ALL_ACTIVITIES_BY_ACTIVE_CUSTOMERS = PATH + "activity/getAllActivitiesByActiveCustomers";
public static final String PATH_ACTIVITY_GET_PERSONE_RIF = PATH + "activity/getPersoneRif";
public static final String PATH_ACTIVITY_GET_TREE_VIEW = PATH + "activity/getTreeView";
public static final String PATH_GET_ACTIVITY_CALENDAR = PATH + "activity/getActivityCalendar";
public static final String PATH_DELETE_ACTIVITY = PATH + "activity/delete";
public static final String PATH_GET_COMMESSA_FROM_USERNAME = PATH + "activity/getCommessaFromUsername";
public static final String PATH_GET_ACTIVITY_HISTORY = PATH + "activity/getActivityHistory";
public static final String PATH_SET_ACTIVITY_SOLVED = PATH + "activity/activitySolved";

View File

@@ -17,7 +17,8 @@ import org.kie.api.definition.type.PropertyReactive;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Date;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.HashMap;
@Master
@@ -33,6 +34,9 @@ public class Azienda extends EntityBase {
private static final long serialVersionUID = 1L;
@PK
@SqlField(value = "id", nullable = false)
private Short id;
@SqlField(value = "nome_ditta", maxLength = 40, nullable = false)
private String nomeDitta;
@@ -70,7 +74,7 @@ public class Azienda extends EntityBase {
private Integer annoAttuale;
@SqlField(value = "ult_data_gio")
private Date ultDataGio;
private LocalDate ultDataGio;
@SqlField(value = "ult_num_gio")
private Integer ultNumGio;
@@ -85,10 +89,10 @@ public class Azienda extends EntityBase {
private String ribaRSocBreve;
@SqlField(value = "data_iniz_msg")
private Date dataInizMsg;
private LocalDate dataInizMsg;
@SqlField(value = "data_fine_msg")
private Date dataFineMsg;
private LocalDate dataFineMsg;
@SqlField(value = "messaggio_doc", maxLength = 130)
private String messaggioDoc;
@@ -97,10 +101,10 @@ public class Azienda extends EntityBase {
private String liquidazioniIva;
@SqlField(value = "last_upg_db")
private Date lastUpgDb;
private LocalDate lastUpgDb;
@SqlField(value = "data_upd_sw", nullable = false)
private Date dataUpdSw;
private LocalDateTime dataUpdSw;
@SqlField(value = "logo_file", maxLength = 128)
private String logoFile;
@@ -166,7 +170,7 @@ public class Azienda extends EntityBase {
private String persFisicaSesso;
@SqlField(value = "pers_fisica_data_nascita")
private Date persFisicaDataNascita;
private LocalDate persFisicaDataNascita;
@SqlField(value = "pers_fisica_comune_nascita", maxLength = 30)
private String persFisicaComuneNascita;
@@ -274,11 +278,26 @@ public class Azienda extends EntityBase {
private String rapprLegaleComuneNascita;
@SqlField(value = "rappr_legale_data_nascita")
private Date rapprLegaleDataNascita;
private LocalDate rapprLegaleDataNascita;
@SqlField(value = "rappr_legale_prov_nascita", maxLength = 2)
private String rapprLegaleProvNascita;
@SqlField(value = "rappr_legale", maxLength = 255)
private String rapprLegale;
@SqlField(value = "flag_fatt_ele", maxLength = 1)
private String flagFattEle;
@SqlField(value = "cod_fda", maxLength = 20)
private String codFda;
@SqlField(value = "cod_fce")
private Integer codFce;
@SqlField(value = "cod_lucid", maxLength = 20)
private String codLucid;
@SqlField(value = "giorno_iniz_anno_fisc", nullable = false)
private Integer giornoInizAnnoFisc;
@@ -288,6 +307,9 @@ public class Azienda extends EntityBase {
@SqlField(value = "flag_regime_speciale_iva", maxLength = 1, nullable = false, defaultObjectValue = "N")
private String flagRegimeSpecialeIva;
@SqlField(value = "cod_cuc", maxLength = 10)
private String codCuc;
@JsonIgnore
@SqlField(value = "jwt_secret_key", maxLength = -1)
private String jwtSecretKey;
@@ -309,261 +331,323 @@ public class Azienda extends EntityBase {
String sql = "SELECT TOP 1 * FROM azienda";
return UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, Azienda.class);
}
public String getApplicationName() {
return applicationName;
}
public ApplicationName getApplicationNameEnum() {
return ApplicationName.valueOf(getApplicationName());
}
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
public Short getId() {
return id;
}
public Azienda setId(Short id) {
this.id = id;
return this;
}
public String getNomeDitta() {
return nomeDitta;
}
public void setNomeDitta(String nomeDitta) {
public Azienda setNomeDitta(String nomeDitta) {
this.nomeDitta = nomeDitta;
return this;
}
public String getIndirizzo() {
return indirizzo;
}
public void setIndirizzo(String indirizzo) {
public Azienda setIndirizzo(String indirizzo) {
this.indirizzo = indirizzo;
return this;
}
public String getCap() {
return cap;
}
public void setCap(String cap) {
public Azienda setCap(String cap) {
this.cap = cap;
return this;
}
public String getCitta() {
return citta;
}
public void setCitta(String citta) {
public Azienda setCitta(String citta) {
this.citta = citta;
return this;
}
public String getProv() {
return prov;
}
public void setProv(String prov) {
public Azienda setProv(String prov) {
this.prov = prov;
return this;
}
public String getPartIva() {
return partIva;
}
public void setPartIva(String partIva) {
public Azienda setPartIva(String partIva) {
this.partIva = partIva;
return this;
}
public String getNumTel() {
return numTel;
}
public void setNumTel(String numTel) {
public Azienda setNumTel(String numTel) {
this.numTel = numTel;
return this;
}
public String getNumFax() {
return numFax;
}
public void setNumFax(String numFax) {
public Azienda setNumFax(String numFax) {
this.numFax = numFax;
return this;
}
public String geteMail() {
return eMail;
}
public void seteMail(String eMail) {
public Azienda seteMail(String eMail) {
this.eMail = eMail;
return this;
}
public Integer getAnnoContab() {
return annoContab;
}
public void setAnnoContab(Integer annoContab) {
public Azienda setAnnoContab(Integer annoContab) {
this.annoContab = annoContab;
return this;
}
public Integer getAnnoMagaz() {
return annoMagaz;
}
public void setAnnoMagaz(Integer annoMagaz) {
public Azienda setAnnoMagaz(Integer annoMagaz) {
this.annoMagaz = annoMagaz;
return this;
}
public Integer getAnnoAttuale() {
return annoAttuale;
}
public void setAnnoAttuale(Integer annoAttuale) {
public Azienda setAnnoAttuale(Integer annoAttuale) {
this.annoAttuale = annoAttuale;
return this;
}
public Date getUltDataGio() {
public LocalDate getUltDataGio() {
return ultDataGio;
}
public void setUltDataGio(Date ultDataGio) {
public Azienda setUltDataGio(LocalDate ultDataGio) {
this.ultDataGio = ultDataGio;
return this;
}
public Integer getUltNumGio() {
return ultNumGio;
}
public void setUltNumGio(Integer ultNumGio) {
public Azienda setUltNumGio(Integer ultNumGio) {
this.ultNumGio = ultNumGio;
return this;
}
public String getRibaRSoc1() {
return ribaRSoc1;
}
public void setRibaRSoc1(String ribaRSoc1) {
public Azienda setRibaRSoc1(String ribaRSoc1) {
this.ribaRSoc1 = ribaRSoc1;
return this;
}
public String getRibaRSoc2() {
return ribaRSoc2;
}
public void setRibaRSoc2(String ribaRSoc2) {
public Azienda setRibaRSoc2(String ribaRSoc2) {
this.ribaRSoc2 = ribaRSoc2;
return this;
}
public String getRibaRSocBreve() {
return ribaRSocBreve;
}
public void setRibaRSocBreve(String ribaRSocBreve) {
public Azienda setRibaRSocBreve(String ribaRSocBreve) {
this.ribaRSocBreve = ribaRSocBreve;
return this;
}
public Date getDataInizMsg() {
public LocalDate getDataInizMsg() {
return dataInizMsg;
}
public void setDataInizMsg(Date dataInizMsg) {
public Azienda setDataInizMsg(LocalDate dataInizMsg) {
this.dataInizMsg = dataInizMsg;
return this;
}
public Date getDataFineMsg() {
public LocalDate getDataFineMsg() {
return dataFineMsg;
}
public void setDataFineMsg(Date dataFineMsg) {
public Azienda setDataFineMsg(LocalDate dataFineMsg) {
this.dataFineMsg = dataFineMsg;
return this;
}
public String getMessaggioDoc() {
return messaggioDoc;
}
public void setMessaggioDoc(String messaggioDoc) {
public Azienda setMessaggioDoc(String messaggioDoc) {
this.messaggioDoc = messaggioDoc;
return this;
}
public String getLiquidazioniIva() {
return liquidazioniIva;
}
public void setLiquidazioniIva(String liquidazioniIva) {
public Azienda setLiquidazioniIva(String liquidazioniIva) {
this.liquidazioniIva = liquidazioniIva;
return this;
}
public Date getLastUpgDb() {
public LocalDate getLastUpgDb() {
return lastUpgDb;
}
public void setLastUpgDb(Date lastUpgDb) {
public Azienda setLastUpgDb(LocalDate lastUpgDb) {
this.lastUpgDb = lastUpgDb;
return this;
}
public LocalDateTime getDataUpdSw() {
return dataUpdSw;
}
public Azienda setDataUpdSw(LocalDateTime dataUpdSw) {
this.dataUpdSw = dataUpdSw;
return this;
}
public String getLogoFile() {
return logoFile;
}
public void setLogoFile(String logoFile) {
public Azienda setLogoFile(String logoFile) {
this.logoFile = logoFile;
return this;
}
public String getLogoB64() {
return logoB64;
}
public void setLogoB64(String logoB64) {
public Azienda setLogoB64(String logoB64) {
this.logoB64 = logoB64;
return this;
}
public BigDecimal getUltDareAv() {
return ultDareAv;
}
public void setUltDareAv(BigDecimal ultDareAv) {
public Azienda setUltDareAv(BigDecimal ultDareAv) {
this.ultDareAv = ultDareAv;
return this;
}
public Integer getSollTop() {
return sollTop;
}
public void setSollTop(Integer sollTop) {
public Azienda setSollTop(Integer sollTop) {
this.sollTop = sollTop;
return this;
}
public Integer getSollLeft() {
return sollLeft;
}
public void setSollLeft(Integer sollLeft) {
public Azienda setSollLeft(Integer sollLeft) {
this.sollLeft = sollLeft;
return this;
}
public Integer getGgUtili() {
return ggUtili;
}
public void setGgUtili(Integer ggUtili) {
public Azienda setGgUtili(Integer ggUtili) {
this.ggUtili = ggUtili;
return this;
}
public String getCodSia() {
return codSia;
}
public void setCodSia(String codSia) {
public Azienda setCodSia(String codSia) {
this.codSia = codSia;
return this;
}
public String getFlagFattDiff() {
return flagFattDiff;
}
public void setFlagFattDiff(String flagFattDiff) {
public Azienda setFlagFattDiff(String flagFattDiff) {
this.flagFattDiff = flagFattDiff;
return this;
}
public String getSollHeadPersonal() {
return sollHeadPersonal;
}
public void setSollHeadPersonal(String sollHeadPersonal) {
public Azienda setSollHeadPersonal(String sollHeadPersonal) {
this.sollHeadPersonal = sollHeadPersonal;
return this;
}
public String getLastUpgSp() {
return lastUpgSp;
}
public void setLastUpgSp(String lastUpgSp) {
public Azienda setLastUpgSp(String lastUpgSp) {
this.lastUpgSp = lastUpgSp;
return this;
}
public String getLastUpgDbMenu() {
@@ -579,352 +663,445 @@ public class Azienda extends EntityBase {
return sitoWeb;
}
public void setSitoWeb(String sitoWeb) {
public Azienda setSitoWeb(String sitoWeb) {
this.sitoWeb = sitoWeb;
return this;
}
public BigDecimal getCapitaleSoc() {
return capitaleSoc;
}
public void setCapitaleSoc(BigDecimal capitaleSoc) {
public Azienda setCapitaleSoc(BigDecimal capitaleSoc) {
this.capitaleSoc = capitaleSoc;
return this;
}
public String getCciaa() {
return cciaa;
}
public void setCciaa(String cciaa) {
public Azienda setCciaa(String cciaa) {
this.cciaa = cciaa;
}
public String getCodRuop() {
return codRuop;
}
public void setCodRuop(String codRuop) {
this.codRuop = codRuop;
return this;
}
public String getIscRegImp() {
return iscRegImp;
}
public void setIscRegImp(String iscRegImp) {
public Azienda setIscRegImp(String iscRegImp) {
this.iscRegImp = iscRegImp;
return this;
}
public String getRagSocMod() {
return ragSocMod;
}
public void setRagSocMod(String ragSocMod) {
public Azienda setRagSocMod(String ragSocMod) {
this.ragSocMod = ragSocMod;
return this;
}
public String getPrefissoEan() {
return prefissoEan;
}
public void setPrefissoEan(String prefissoEan) {
public Azienda setPrefissoEan(String prefissoEan) {
this.prefissoEan = prefissoEan;
return this;
}
public String getCodFiscale() {
return codFiscale;
}
public void setCodFiscale(String codFiscale) {
public Azienda setCodFiscale(String codFiscale) {
this.codFiscale = codFiscale;
return this;
}
public String getPersFisicaCognome() {
return persFisicaCognome;
}
public void setPersFisicaCognome(String persFisicaCognome) {
public Azienda setPersFisicaCognome(String persFisicaCognome) {
this.persFisicaCognome = persFisicaCognome;
return this;
}
public String getPersFisicaNome() {
return persFisicaNome;
}
public void setPersFisicaNome(String persFisicaNome) {
public Azienda setPersFisicaNome(String persFisicaNome) {
this.persFisicaNome = persFisicaNome;
return this;
}
public String getPersFisicaSesso() {
return persFisicaSesso;
}
public void setPersFisicaSesso(String persFisicaSesso) {
public Azienda setPersFisicaSesso(String persFisicaSesso) {
this.persFisicaSesso = persFisicaSesso;
return this;
}
public Date getPersFisicaDataNascita() {
public LocalDate getPersFisicaDataNascita() {
return persFisicaDataNascita;
}
public void setPersFisicaDataNascita(Date persFisicaDataNascita) {
public Azienda setPersFisicaDataNascita(LocalDate persFisicaDataNascita) {
this.persFisicaDataNascita = persFisicaDataNascita;
return this;
}
public String getPersFisicaComuneNascita() {
return persFisicaComuneNascita;
}
public void setPersFisicaComuneNascita(String persFisicaComuneNascita) {
public Azienda setPersFisicaComuneNascita(String persFisicaComuneNascita) {
this.persFisicaComuneNascita = persFisicaComuneNascita;
return this;
}
public String getPersFisicaProvNascita() {
return persFisicaProvNascita;
}
public void setPersFisicaProvNascita(String persFisicaProvNascita) {
public Azienda setPersFisicaProvNascita(String persFisicaProvNascita) {
this.persFisicaProvNascita = persFisicaProvNascita;
return this;
}
public String getFlagPersFisica() {
return flagPersFisica;
}
public void setFlagPersFisica(String flagPersFisica) {
public Azienda setFlagPersFisica(String flagPersFisica) {
this.flagPersFisica = flagPersFisica;
return this;
}
public String getPersFisicaCodFisc() {
return persFisicaCodFisc;
}
public void setPersFisicaCodFisc(String persFisicaCodFisc) {
public Azienda setPersFisicaCodFisc(String persFisicaCodFisc) {
this.persFisicaCodFisc = persFisicaCodFisc;
return this;
}
public String getRapprLegaleCodFisc() {
return rapprLegaleCodFisc;
}
public void setRapprLegaleCodFisc(String rapprLegaleCodFisc) {
public Azienda setRapprLegaleCodFisc(String rapprLegaleCodFisc) {
this.rapprLegaleCodFisc = rapprLegaleCodFisc;
return this;
}
public String getSedeAmm() {
return sedeAmm;
}
public void setSedeAmm(String sedeAmm) {
public Azienda setSedeAmm(String sedeAmm) {
this.sedeAmm = sedeAmm;
}
public boolean isFlagSetIvaOmaggi() {
return "S".equalsIgnoreCase(flagSetIvaOmaggi);
return this;
}
public String getFlagSetIvaOmaggi() {
return flagSetIvaOmaggi;
}
public void setFlagSetIvaOmaggi(String flagSetIvaOmaggi) {
public boolean isFlagSetIvaOmaggi() {
return flagSetIvaOmaggi.equalsIgnoreCase("S");
}
public Azienda setFlagSetIvaOmaggi(String flagSetIvaOmaggi) {
this.flagSetIvaOmaggi = flagSetIvaOmaggi;
}
public String getApplicationName() {
return applicationName;
}
public ApplicationName getApplicationNameEnum() {
return ApplicationName.valueOf(getApplicationName());
}
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
return this;
}
public String getFlagTipoFatturazione() {
return flagTipoFatturazione;
}
public void setFlagTipoFatturazione(String flagTipoFatturazione) {
public Azienda setFlagTipoFatturazione(String flagTipoFatturazione) {
this.flagTipoFatturazione = flagTipoFatturazione;
return this;
}
public String getTribunale() {
return tribunale;
}
public void setTribunale(String tribunale) {
public Azienda setTribunale(String tribunale) {
this.tribunale = tribunale;
return this;
}
public Integer getSettRitardoAnno() {
return settRitardoAnno;
}
public void setSettRitardoAnno(Integer settRitardoAnno) {
public Azienda setSettRitardoAnno(Integer settRitardoAnno) {
this.settRitardoAnno = settRitardoAnno;
return this;
}
public String getDbDistributore() {
return dbDistributore;
}
public void setDbDistributore(String dbDistributore) {
public Azienda setDbDistributore(String dbDistributore) {
this.dbDistributore = dbDistributore;
return this;
}
public String getCodAteco() {
return codAteco;
}
public void setCodAteco(String codAteco) {
public Azienda setCodAteco(String codAteco) {
this.codAteco = codAteco;
return this;
}
public String getLastUpgQc() {
return lastUpgQc;
}
public void setLastUpgQc(String lastUpgQc) {
public Azienda setLastUpgQc(String lastUpgQc) {
this.lastUpgQc = lastUpgQc;
return this;
}
public String getTipoAzienda() {
return tipoAzienda;
}
public void setTipoAzienda(String tipoAzienda) {
public Azienda setTipoAzienda(String tipoAzienda) {
this.tipoAzienda = tipoAzienda;
return this;
}
public String getNazione() {
return nazione;
}
public void setNazione(String nazione) {
public Azienda setNazione(String nazione) {
this.nazione = nazione;
return this;
}
public String getCodDiviContab() {
return codDiviContab;
}
public void setCodDiviContab(String codDiviContab) {
public Azienda setCodDiviContab(String codDiviContab) {
this.codDiviContab = codDiviContab;
return this;
}
public String getCodIvaOmaggi() {
return codIvaOmaggi;
}
public void setCodIvaOmaggi(String codIvaOmaggi) {
public Azienda setCodIvaOmaggi(String codIvaOmaggi) {
this.codIvaOmaggi = codIvaOmaggi;
return this;
}
public String getCodCconQuadra() {
return codCconQuadra;
}
public void setCodCconQuadra(String codCconQuadra) {
public Azienda setCodCconQuadra(String codCconQuadra) {
this.codCconQuadra = codCconQuadra;
return this;
}
public String getCodRuop() {
return codRuop;
}
public Azienda setCodRuop(String codRuop) {
this.codRuop = codRuop;
return this;
}
public Long getProgressivoSscc() {
return progressivoSscc;
}
public Azienda setProgressivoSscc(Long progressivoSscc) {
this.progressivoSscc = progressivoSscc;
return this;
}
public String getCodSdiDitta() {
return codSdiDitta;
}
public Azienda setCodSdiDitta(String codSdiDitta) {
this.codSdiDitta = codSdiDitta;
return this;
}
public String getRegFisc() {
return regFisc;
}
public void setRegFisc(String regFisc) {
public Azienda setRegFisc(String regFisc) {
this.regFisc = regFisc;
return this;
}
public String getStatoLiquidazione() {
return statoLiquidazione;
}
public void setStatoLiquidazione(String statoLiquidazione) {
public Azienda setStatoLiquidazione(String statoLiquidazione) {
this.statoLiquidazione = statoLiquidazione;
return this;
}
public String getEmailSdi() {
return emailSdi;
}
public void setEmailSdi(String emailSdi) {
public Azienda setEmailSdi(String emailSdi) {
this.emailSdi = emailSdi;
return this;
}
public String getFromEmailSdi() {
return fromEmailSdi;
}
public void setFromEmailSdi(String fromEmailSdi) {
public Azienda setFromEmailSdi(String fromEmailSdi) {
this.fromEmailSdi = fromEmailSdi;
return this;
}
public String getIdCreditoreSepa() {
return idCreditoreSepa;
}
public void setIdCreditoreSepa(String idCreditoreSepa) {
public Azienda setIdCreditoreSepa(String idCreditoreSepa) {
this.idCreditoreSepa = idCreditoreSepa;
return this;
}
public String getMessaggioPrivacy() {
return messaggioPrivacy;
}
public void setMessaggioPrivacy(String messaggioPrivacy) {
public Azienda setMessaggioPrivacy(String messaggioPrivacy) {
this.messaggioPrivacy = messaggioPrivacy;
return this;
}
public String getRapprLegaleNome() {
return rapprLegaleNome;
}
public void setRapprLegaleNome(String rapprLegaleNome) {
public Azienda setRapprLegaleNome(String rapprLegaleNome) {
this.rapprLegaleNome = rapprLegaleNome;
return this;
}
public String getRapprLegaleCognome() {
return rapprLegaleCognome;
}
public void setRapprLegaleCognome(String rapprLegaleCognome) {
public Azienda setRapprLegaleCognome(String rapprLegaleCognome) {
this.rapprLegaleCognome = rapprLegaleCognome;
return this;
}
public String getRapprLegaleSesso() {
return rapprLegaleSesso;
}
public void setRapprLegaleSesso(String rapprLegaleSesso) {
public Azienda setRapprLegaleSesso(String rapprLegaleSesso) {
this.rapprLegaleSesso = rapprLegaleSesso;
return this;
}
public String getRapprLegaleComuneNascita() {
return rapprLegaleComuneNascita;
}
public void setRapprLegaleComuneNascita(String rapprLegaleComuneNascita) {
public Azienda setRapprLegaleComuneNascita(String rapprLegaleComuneNascita) {
this.rapprLegaleComuneNascita = rapprLegaleComuneNascita;
return this;
}
public Date getRapprLegaleDataNascita() {
public LocalDate getRapprLegaleDataNascita() {
return rapprLegaleDataNascita;
}
public void setRapprLegaleDataNascita(Date rapprLegaleDataNascita) {
public Azienda setRapprLegaleDataNascita(LocalDate rapprLegaleDataNascita) {
this.rapprLegaleDataNascita = rapprLegaleDataNascita;
return this;
}
public String getRapprLegaleProvNascita() {
return rapprLegaleProvNascita;
}
public void setRapprLegaleProvNascita(String rapprLegaleProvNascita) {
public Azienda setRapprLegaleProvNascita(String rapprLegaleProvNascita) {
this.rapprLegaleProvNascita = rapprLegaleProvNascita;
return this;
}
public String getRapprLegale() {
return rapprLegale;
}
public Azienda setRapprLegale(String rapprLegale) {
this.rapprLegale = rapprLegale;
return this;
}
public String getFlagFattEle() {
return flagFattEle;
}
public Azienda setFlagFattEle(String flagFattEle) {
this.flagFattEle = flagFattEle;
return this;
}
public String getCodFda() {
return codFda;
}
public Azienda setCodFda(String codFda) {
this.codFda = codFda;
return this;
}
public Integer getCodFce() {
return codFce;
}
public Azienda setCodFce(Integer codFce) {
this.codFce = codFce;
return this;
}
public String getCodLucid() {
return codLucid;
}
public Azienda setCodLucid(String codLucid) {
this.codLucid = codLucid;
return this;
}
public Integer getGiornoInizAnnoFisc() {
@@ -963,30 +1140,12 @@ public class Azienda extends EntityBase {
return this;
}
public Date getDataUpdSw() {
return dataUpdSw;
public String getCodCuc() {
return codCuc;
}
public Azienda setDataUpdSw(Date dataUpdSw) {
this.dataUpdSw = dataUpdSw;
return this;
}
public Long getProgressivoSscc() {
return progressivoSscc;
}
public Azienda setProgressivoSscc(Long progressivoSscc) {
this.progressivoSscc = progressivoSscc;
return this;
}
public String getCodSdiDitta() {
return codSdiDitta;
}
public Azienda setCodSdiDitta(String codSdiDitta) {
this.codSdiDitta = codSdiDitta;
public Azienda setCodCuc(String codCuc) {
this.codCuc = codCuc;
return this;
}
}

View File

@@ -74,6 +74,9 @@ public class CtbCont extends EntityBase {
@SqlField(value = "data_mod", defaultObjectValue = CommonConstants.TIMESTAMP)
private Date dataMod;
@SqlField(value = "flag_attivo", nullable = false, defaultObjectValue = "1")
private Boolean flagAttivo;
public CtbCont() {
super(logger);
}
@@ -201,6 +204,15 @@ public class CtbCont extends EntityBase {
return this;
}
public Boolean getFlagAttivo() {
return flagAttivo;
}
public CtbCont setFlagAttivo(Boolean flagAttivo) {
this.flagAttivo = flagAttivo;
return this;
}
@Override
protected void deleteChilds() throws Exception {
String sql = Query.format(

View File

@@ -10,8 +10,8 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Master
@@ -190,10 +190,10 @@ public class DtbTipi extends EntityBase {
private String pathBanner;
@SqlField(value = "data_iniz_banner")
private Date dataInizBanner;
private LocalDate dataInizBanner;
@SqlField(value = "data_fine_banner")
private Date dataFineBanner;
private LocalDate dataFineBanner;
@SqlField(value = "flag_dest_obb", maxLength = 1, nullable = false, defaultObjectValue = "N")
private String flagDestObb;
@@ -747,20 +747,20 @@ public class DtbTipi extends EntityBase {
return this;
}
public Date getDataInizBanner() {
public LocalDate getDataInizBanner() {
return dataInizBanner;
}
public DtbTipi setDataInizBanner(Date dataInizBanner) {
public DtbTipi setDataInizBanner(LocalDate dataInizBanner) {
this.dataInizBanner = dataInizBanner;
return this;
}
public Date getDataFineBanner() {
public LocalDate getDataFineBanner() {
return dataFineBanner;
}
public DtbTipi setDataFineBanner(Date dataFineBanner) {
public DtbTipi setDataFineBanner(LocalDate dataFineBanner) {
this.dataFineBanner = dataFineBanner;
return this;
}

View File

@@ -12,6 +12,7 @@ import it.integry.ems_model.utility.UtilityDB;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.ArrayList;
@@ -38,6 +39,7 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@SqlField(value = "descrizione", maxLength = 40, nullable = false)
private String descrizione;
@FK(tableName = "mtb_unt_mis", columnName = "unt_mis")
@SqlField(value = "unt_mis", maxLength = 3, nullable = false)
private String untMis;
@@ -101,7 +103,8 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@SqlField(value = "colli_pedana", defaultObjectValue = "1")
private BigDecimal colliPedana;
@SqlField(value = "unt_mis2", maxLength = 5)
@FK(tableName = "mtb_unt_mis", columnName = "unt_mis")
@SqlField(value = "unt_mis2", maxLength = 3)
private String untMis2;
@SqlField(value = "rap_conv2", defaultObjectValue = "1")
@@ -110,6 +113,7 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@SqlField(value = "flag_incl_listino", maxLength = 1, nullable = false, defaultObjectValue = "S")
private String flagInclListino;
@FK(tableName = "mtb_unt_mis", columnName = "unt_mis")
@SqlField(value = "unt_mis3", maxLength = 3)
private String untMis3;
@@ -242,7 +246,7 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@SqlField(value = "cod_grp_bolla", maxLength = 5)
private String codGrpBolla;
@SqlField(value = "ingredienti", maxLength = 1024)
@SqlField(value = "ingredienti", maxLength = 8000)
private String ingredienti;
@SqlField(value = "id_art_equi", maxLength = 25)
@@ -313,6 +317,15 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@SqlField(value = "cod_mssfa", maxLength = 6)
private String codMssfa;
@SqlField(value = "cod_linea", maxLength = 6)
private String codLinea;
@SqlField(value = "cod_slinea", maxLength = 6)
private String codSlinea;
@SqlField(value = "cod_sslinea", maxLength = 6)
private String codSslinea;
@Priority(1)
private MtbAartMarchio mtbAartMarchio;
@@ -351,6 +364,9 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
@EntityChild
private List<MrlAartSchTecSet> mrlAartSchTecSet = new ArrayList<>();
@EntityChild
private List<MtbAartColori> mtbAartColori = new ArrayList<>();
@Priority(101)
List<JtbCicl> jtbCicl;
@@ -1246,8 +1262,9 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
return mtbAartCarat;
}
public void setMtbAartCarat(List<MtbAartCarat> mtbAartCarat) {
public MtbAart setMtbAartCarat(List<MtbAartCarat> mtbAartCarat) {
this.mtbAartCarat = mtbAartCarat;
return this;
}
public List<MtbAartLink> getMtbAartLink() {
@@ -1275,6 +1292,15 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
return this;
}
public List<MtbAartColori> getMtbAartColori() {
return mtbAartColori;
}
public MtbAart setMtbAartColori(List<MtbAartColori> mtbAartColori) {
this.mtbAartColori = mtbAartColori;
return this;
}
public List<MtbLisa> getMtbLisa() {
return mtbLisa;
}
@@ -1328,6 +1354,33 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
return this;
}
public String getCodLinea() {
return codLinea;
}
public MtbAart setCodLinea(String codLinea) {
this.codLinea = codLinea;
return this;
}
public String getCodSlinea() {
return codSlinea;
}
public MtbAart setCodSlinea(String codSlinea) {
this.codSlinea = codSlinea;
return this;
}
public String getCodSslinea() {
return codSslinea;
}
public MtbAart setCodSslinea(String codSslinea) {
this.codSslinea = codSslinea;
return this;
}
@Override
protected void updateChilds() throws Exception {
insertChilds();
@@ -1367,6 +1420,8 @@ public class MtbAart extends EntityBase implements EquatableEntityInterface<MtbA
mtbAartLink.deleteAllEntities(connection, this);
MrlAartSchTecSet mrlAartSchTecSet = new MrlAartSchTecSet();
mrlAartSchTecSet.deleteAllEntities(connection, this);
MtbAartColori mtbAartColori = new MtbAartColori();
mtbAartColori.deleteAllEntities(connection, this);
}
@Override

View File

@@ -63,6 +63,9 @@ public class MtbAartAnag extends EntityBase {
@SqlField(value = "note", maxLength = 255)
private String note;
@SqlField(value = "cod_vdes", maxLength = 5)
private String codVdes;
public MtbAartAnag() {
super(logger);
}
@@ -174,4 +177,13 @@ public class MtbAartAnag extends EntityBase {
this.note = note;
return this;
}
public String getCodVdes() {
return codVdes;
}
public MtbAartAnag setCodVdes(String codVdes) {
this.codVdes = codVdes;
return this;
}
}

View File

@@ -5,16 +5,18 @@ import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.math.BigDecimal;
import java.util.Objects;
@PropertyReactive
@Table(MtbAartBarCode.ENTITY)
@JsonTypeName(MtbAartBarCode.ENTITY)
public class MtbAartBarCode extends EntityBase {
public class MtbAartBarCode extends EntityBase implements EquatableEntityInterface<MtbAartBarCode> {
private final static Logger logger = LogManager.getLogger();
@@ -86,4 +88,31 @@ public class MtbAartBarCode extends EntityBase {
this.tipoCodBarre = tipoCodBarre;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartBarCode)) return false;
MtbAartBarCode that = (MtbAartBarCode) o;
return Objects.equals(getCodBarre(), that.getCodBarre()) && Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getQtaCnf(), that.getQtaCnf()) && Objects.equals(getFlagPrimario(), that.getFlagPrimario()) && Objects.equals(getTipoCodBarre(), that.getTipoCodBarre());
}
@Override
public int hashCode() {
return Objects.hash(getCodBarre(), getCodMart(), getQtaCnf(), getFlagPrimario(), getTipoCodBarre());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodBarre(), getCodMart());
}
@Override
public boolean equalsKey(MtbAartBarCode other) {
if (this == other) return true;
if (!(other instanceof MtbAartBarCode)) return false;
MtbAartBarCode mtbAartBarCode = other;
return Objects.equals(getCodBarre(), mtbAartBarCode.getCodBarre()) &&
Objects.equals(getCodMart(), mtbAartBarCode.getCodMart());
}
}

View File

@@ -6,14 +6,17 @@ import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.util.Objects;
@PropertyReactive
@Table(MtbAartCarat.ENTITY)
@JsonTypeName(MtbAartCarat.ENTITY)
public class MtbAartCarat extends EntityBase {
public class MtbAartCarat extends EntityBase implements EquatableEntityInterface<MtbAartCarat> {
private final static Logger logger = LogManager.getLogger();
@@ -82,4 +85,31 @@ public class MtbAartCarat extends EntityBase {
this.chkCompatibilita = chkCompatibilita;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartCarat)) return false;
MtbAartCarat that = (MtbAartCarat) o;
return Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getCarat(), that.getCarat()) && Objects.equals(getValCarat(), that.getValCarat()) && Objects.equals(getNote(), that.getNote()) && Objects.equals(getChkCompatibilita(), that.getChkCompatibilita());
}
@Override
public int hashCode() {
return Objects.hash(getCodMart(), getCarat(), getValCarat(), getNote(), getChkCompatibilita());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodMart(), getCarat());
}
@Override
public boolean equalsKey(MtbAartCarat other) {
if (this == other) return true;
if (!(other instanceof MtbAartCarat)) return false;
MtbAartCarat mtbAartBarCode = other;
return Objects.equals(getCarat(), mtbAartBarCode.getCarat()) &&
Objects.equals(getCodMart(), mtbAartBarCode.getCodMart());
}
}

View File

@@ -0,0 +1,100 @@
package it.integry.ems_model.entity;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.annotation.Master;
import org.kie.api.definition.type.PropertyReactive;
import it.integry.ems_model.annotation.Table;
import com.fasterxml.jackson.annotation.JsonTypeName;
import org.apache.logging.log4j.Logger;
import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.FK;
@Master()
@PropertyReactive()
@Table(value = MtbAartColori.ENTITY)
@JsonTypeName(value = MtbAartColori.ENTITY)
public class MtbAartColori extends EntityBase implements EquatableEntityInterface<MtbAartColori> {
public final static String ENTITY = "mtb_aart_colori";
private final static Long serialVersionUID = 1L;
private final static Logger logger = LogManager.getLogger();
public MtbAartColori() {
super(logger);
}
@PK()
@SqlField(value = "cod_mart", maxLength = 15, nullable = false)
@FK(tableName = MtbAart.ENTITY, columnName = "cod_mart")
private String codMart;
@PK()
@SqlField(value = "cod_col", maxLength = 6, nullable = false)
@FK(tableName = MtbColori.ENTITY, columnName = "cod_col")
private String codCol;
@SqlField(value = "cod_barre", maxLength = 25, nullable = true)
private String codBarre;
public String getCodMart() {
return codMart;
}
public MtbAartColori setCodMart(String codMart) {
this.codMart = codMart;
return this;
}
public String getCodCol() {
return codCol;
}
public MtbAartColori setCodCol(String codCol) {
this.codCol = codCol;
return this;
}
public String getCodBarre() {
return codBarre;
}
public MtbAartColori setCodBarre(String codBarre) {
this.codBarre = codBarre;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartColori)) return false;
MtbAartColori that = (MtbAartColori) o;
return Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getCodCol(), that.getCodCol()) && Objects.equals(getCodBarre(), that.getCodBarre());
}
@Override
public int hashCode() {
return Objects.hash(getCodMart(), getCodCol(), getCodBarre());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodMart(), getCodCol());
}
@Override
public boolean equalsKey(MtbAartColori other) {
if (this == other) return true;
if (!(other instanceof MtbAartColori)) return false;
MtbAartColori mtbAartColori = other;
return Objects.equals(getCodCol(), mtbAartColori.getCodCol()) &&
Objects.equals(getCodMart(), mtbAartColori.getCodMart());
}
}

View File

@@ -5,14 +5,17 @@ import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.util.Objects;
@PropertyReactive
@Table(MtbAartDesc.ENTITY)
@JsonTypeName(MtbAartDesc.ENTITY)
public class MtbAartDesc extends EntityBase {
public class MtbAartDesc extends EntityBase implements EquatableEntityInterface<MtbAartDesc> {
private final static Logger logger = LogManager.getLogger();
@@ -34,6 +37,9 @@ public class MtbAartDesc extends EntityBase {
@SqlField(value = "descrizione", maxLength = 40, nullable = false)
private String descrizione;
@SqlField(value = "descrizione_html")
private String descrizioneHtml;
public MtbAartDesc() {
super(logger);
}
@@ -69,4 +75,40 @@ public class MtbAartDesc extends EntityBase {
public void setDescrizione(String descrizione) {
this.descrizione = descrizione;
}
public String getDescrizioneHtml() {
return descrizioneHtml;
}
public MtbAartDesc setDescrizioneHtml(String descrizioneHtml) {
this.descrizioneHtml = descrizioneHtml;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartDesc)) return false;
MtbAartDesc that = (MtbAartDesc) o;
return Objects.equals(getCodMart(), that.getCodMart()) && Objects.equals(getCodLingua(), that.getCodLingua()) && Objects.equals(getDescrizioneEstesa(), that.getDescrizioneEstesa()) && Objects.equals(getDescrizione(), that.getDescrizione()) && Objects.equals(getDescrizioneHtml(), that.getDescrizioneHtml());
}
@Override
public int hashCode() {
return Objects.hash(getCodMart(), getCodLingua(), getDescrizioneEstesa(), getDescrizione(), getDescrizioneHtml());
}
@Override
public int hashCodeKey() {
return Objects.hash(getCodMart(), getCodLingua());
}
@Override
public boolean equalsKey(MtbAartDesc other) {
if (this == other) return true;
if (!(other instanceof MtbAartDesc)) return false;
MtbAartDesc mtbAartDesc = other;
return Objects.equals(getCodLingua(), mtbAartDesc.getCodLingua()) &&
Objects.equals(getCodMart(), mtbAartDesc.getCodMart());
}
}

View File

@@ -6,15 +6,18 @@ import it.integry.ems_model.annotation.PK;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.annotation.Table;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EquatableEntityInterface;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import java.util.Objects;
@Master
@PropertyReactive
@Table(MtbAartEqui.ENTITY)
@JsonTypeName(MtbAartEqui.ENTITY)
public class MtbAartEqui extends EntityBase {
public class MtbAartEqui extends EntityBase implements EquatableEntityInterface<MtbAartEqui> {
private final static Logger logger = LogManager.getLogger();
@@ -38,6 +41,9 @@ public class MtbAartEqui extends EntityBase {
@SqlField(value = "descrizione_estera", maxLength = 255, nullable = false)
private String descrizioneEstera;
@SqlField(value = "flag_equi_anag", maxLength = 1, nullable = false, defaultObjectValue = "0")
private Boolean flagEquiAnag;
public MtbAartEqui() {
super(logger);
}
@@ -85,4 +91,39 @@ public class MtbAartEqui extends EntityBase {
public void setDescrizioneEstera(String descrizioneEstera) {
this.descrizioneEstera = descrizioneEstera;
}
public Boolean getFlagEquiAnag() {
return flagEquiAnag;
}
public MtbAartEqui setFlagEquiAnag(Boolean flagEquiAnag) {
this.flagEquiAnag = flagEquiAnag;
return this;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MtbAartEqui)) return false;
MtbAartEqui that = (MtbAartEqui) o;
return Objects.equals(getIdArtEqui(), that.getIdArtEqui()) && Objects.equals(getDescrizione(), that.getDescrizione()) && Objects.equals(getFlagEquiPrezzo(), that.getFlagEquiPrezzo()) && Objects.equals(getFlagEquiCosto(), that.getFlagEquiCosto()) && Objects.equals(getDescrizioneEstera(), that.getDescrizioneEstera())
&& Objects.equals(getFlagEquiAnag(), that.getFlagEquiAnag());
}
@Override
public int hashCode() {
return Objects.hash(getIdArtEqui(), getDescrizione(), getFlagEquiPrezzo(), getFlagEquiCosto(), getDescrizioneEstera(),getFlagEquiAnag());
}
@Override
public int hashCodeKey() {
return Objects.hash(getIdArtEqui());
}
@Override
public boolean equalsKey(MtbAartEqui other) {
if (this == other) return true;
if (!(other instanceof MtbAartEqui)) return false;
MtbAartEqui mtbAartEqui = (MtbAartEqui) other;
return Objects.equals(getIdArtEqui(), mtbAartEqui.getIdArtEqui());
}
}

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