Compare commits

...

1393 Commits

Author SHA1 Message Date
jenkins
91d3e6db0c 20240912_165407 2024-09-12 16:54:08 +02:00
d4b35cccd4 Finish Hotfix-79 2024-09-12 16:53:42 +02:00
46b8842db1 Modifica import GSE 2024-09-12 16:53:19 +02:00
1dc43f7760 Finish Hotfix-79 2024-09-12 16:10:40 +02:00
11b6853979 modificata logica per attività pianificate 2024-09-12 15:44:32 +02:00
83ee7eb720 Finish Hotfix-79 2024-09-12 14:41:50 +02:00
611560f365 modificata logica per attività pianificate 2024-09-12 14:41:36 +02:00
132a4d176c Finish Hotfix-78 2024-09-12 12:41:16 +02:00
dbf79d9cc6 Modifica import GSE 2024-09-12 12:40:58 +02:00
3064ca55da Finish Hotfix-77 2024-09-11 16:30:49 +02:00
665f193692 Aggiunta gestione sconto contrattuale 2024-09-11 16:30:32 +02:00
6177cfb56b Finish Hotfix-76 2024-09-11 16:21:37 +02:00
b3e7f76efc Fix importGSEOrder 2024-09-11 16:21:17 +02:00
a4db651ec6 Finish Hotfix-1 2024-09-11 09:46:31 +02:00
de9bcceb21 Fix su format data in SmartLogistic 2024-09-11 09:46:24 +02:00
6a96c920f1 Finish Hotfix-76 2024-09-09 14:39:29 +02:00
c6d107465c aggiunta una distinct 2024-09-09 14:39:22 +02:00
cab6025e41 Merge remote-tracking branch 'origin/develop' into develop 2024-09-06 17:03:44 +02:00
91ee2082ab disabilitate nuove gestioni documenti e ordini tab 2024-09-06 17:03:35 +02:00
f79c311573 Sistemata importazione listini apulia in modo che inserisca correttamente la % promo annche sui listini futuri 2024-09-06 15:05:39 +02:00
183e794657 Merge remote-tracking branch 'origin/develop' into develop 2024-09-06 12:11:04 +02:00
e50e9b37c6 aggiunta voce menu gestione documenti di lavorazione tab 2024-09-06 12:10:54 +02:00
537dbe7695 Merge branch 'master' into develop 2024-09-06 10:37:46 +02:00
8c3ae2d854 Finish Hotfix-1 2024-09-06 10:37:46 +02:00
620b3daf5a Fix su importazione documenti Exchange 2024-09-06 10:37:39 +02:00
afc06b38b3 Merge remote-tracking branch 'origin/develop' into develop 2024-09-05 12:45:34 +02:00
1c7db830ea aggiunta voce menu gestione documenti di acquisto tab 2024-09-05 12:45:24 +02:00
5cf060920e Merge branch 'master' into develop 2024-09-05 10:27:41 +02:00
f7d6e527b9 Finish Hotfix-1 2024-09-05 10:27:40 +02:00
80a0d68fc3 [ROSSOGARGANO]
corretta importazione campi raccolta
gestito campo cod_vzon in certificati di raccolta
2024-09-05 10:27:32 +02:00
6498e2a123 Merge branch 'master' into develop 2024-09-04 15:40:42 +02:00
ace9cbe4a8 Finish Hotfix-76 2024-09-04 15:40:42 +02:00
a42c0e1ad9 sistemata condizione di Where 2024-09-04 15:40:27 +02:00
ba35c03032 Merge branch 'master' into develop
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/system/service/SystemService.java
2024-09-03 18:54:18 +02:00
28a1c49d3a Finish Hotfix-1 2024-09-03 18:53:24 +02:00
1e97a37dd7 [EXCHANGE] Durante l'importazione dei colli è stata modificata l'operation delle MtbColr in INSERT_OR_UPDATE per sovrascrivere correttamente dei colli creati manualmente 2024-09-03 18:53:18 +02:00
dcb14913a6 Merge tag 'Hotfix-75' into develop
Finish Hotfix-75
2024-09-03 16:01:51 +02:00
cb380d090d Finish Hotfix-75 2024-09-03 16:01:50 +02:00
cbea692c05 Fix retrieveGiacenza 2024-09-03 15:59:50 +02:00
8e686ce633 Merge remote-tracking branch 'origin/develop' into develop 2024-09-03 15:58:25 +02:00
b05c52a668 aggiunta voce menu gestione ordini di produzione tab 2024-09-03 15:58:14 +02:00
9f901d1341 Finish Hotfix-1 2024-09-03 12:22:15 +02:00
9c3064ba82 Merge branch 'master' into develop 2024-09-03 12:22:15 +02:00
079854109f Fix su controllo getCodMdep 2024-09-03 12:22:05 +02:00
331eb1efb0 Fix su controllo getCodMdep 2024-09-03 12:21:33 +02:00
8578e2fa7c Implementata delete di file orfani di MinIO sfruttando le API disponibili 2024-09-03 12:21:05 +02:00
40b49300dc Migliorato documento di reso quando effettuano le perdite 2024-09-03 10:17:21 +02:00
f149d54350 Setup per fatture elettroniche 2024-09-02 18:00:25 +02:00
2e989c2752 Merge branch 'master' into develop 2024-09-02 17:06:40 +02:00
1bdb592755 Finish Hotfix-1 2024-09-02 17:06:39 +02:00
0d77488056 [ROSSOGARGANO]
modifica ordini di lavorazione
2024-09-02 17:06:30 +02:00
ae259cfc10 correzione su salvataggio delle bolle agganciate alla fattura passiva. 2024-09-02 15:01:59 +02:00
ecb45f2ccb sistemata divisione nel conversione dell'importo della scadenza 2024-09-02 12:34:03 +02:00
859c50334a Merge remote-tracking branch 'origin/develop' into develop 2024-08-28 18:05:29 +02:00
982c3e4676 Assegnazione codice anagragico su ordine di produzione in pianificazione della produzione MAGGIO 2024-08-28 18:05:24 +02:00
b4ddf1f587 Rimosso aggiornamento codlang superfluo 2024-08-28 17:04:49 +02:00
d6bfb1efbc Aggiornamento last access datetime in nuova login ed aggiunto enum in typeExport JasperDTO 2024-08-28 16:56:33 +02:00
009a523aa9 Gestita esportazione documenti di vendita in excel e csv 2024-08-28 11:19:05 +02:00
05213c1053 Merge remote-tracking branch 'origin/develop' into develop 2024-08-27 15:58:28 +02:00
7c1cfa010f Modifica x esclusione da DMS 2024-08-27 15:58:23 +02:00
d2e9ee8f44 Merge branch 'master' into develop 2024-08-27 11:50:57 +02:00
e282fe5d0a Finish Hotfix-1 2024-08-27 11:50:57 +02:00
71652f0e55 hotfix: senza la proprietà trimspaces in stbuser la modifica di un utente cancella i numeri da in coda alla password 2024-08-27 11:50:49 +02:00
0e08fc2aa1 [LOG DB]
aggiunto log dei record eliminati
2024-08-27 10:49:47 +02:00
9409204e96 Merge remote-tracking branch 'origin/develop' into develop 2024-08-27 10:40:06 +02:00
6adce3e2f6 [LOG DB]
aggiunto controllo su maxSize null in ems_settings
2024-08-27 10:39:55 +02:00
395e8b8c34 Merge remote-tracking branch 'origin/develop' into develop 2024-08-27 10:29:38 +02:00
fef3901f63 Personalizzazione DW cruscotto produzione Agricoper 2024-08-27 10:29:29 +02:00
6d8e5baffe [LOG DB]
gestito spazio in dimensione massima log db
2024-08-26 16:53:56 +02:00
b714d66f2e [LOG DB]
configurazione dimensione massima db
2024-08-26 16:45:09 +02:00
1bd2a0ffb5 Merge branch 'Importazione_EBC' into develop 2024-08-26 09:54:31 +02:00
45989f6b0d Merge branch 'develop' into Importazione_EBC 2024-08-26 09:54:02 +02:00
4669c21085 Merge branch 'master' into develop 2024-08-23 15:18:40 +02:00
93b6cbdf6e Finish Hotfix-1 2024-08-23 15:18:40 +02:00
1e3cd71f0c Cambiato range di lettura dei colli in exchange 2024-08-23 15:18:13 +02:00
1500fb56a2 Aggiunto Unique in JtbFasiImpMesi ed ImportFromParent in JtbFasiImpMesiDett 2024-08-23 14:40:28 +02:00
0c20232661 Merge branch 'master' into develop 2024-08-23 10:50:56 +02:00
4a5dfa3c58 Finish Hotfix-1 2024-08-23 10:50:55 +02:00
351f0733a3 Rimossa gestione in equals() di ExchangeCampiRaccoltaDTO 2024-08-23 10:50:49 +02:00
dbf96ac0eb Modificati equals in gestione Exchange 2024-08-23 09:51:39 +02:00
fd0a686078 Refactoring del costruttore di EntityBase in modo che accetti in input il Logger non ne istanzi uno nuovo per ogni entity creata. Refactoring anche di tutte le Entity in modo che passino l'istanza statica privata del logger.
Valorizzate anche a compile time tutte le EntityChild che sono delle liste, in modo che il costruttore in EntityBase non usi le reflection per farlo.
2024-08-22 13:41:13 +02:00
2262b6db2e Vario 2024-08-22 12:21:47 +02:00
2b817b10a1 Aggiunto controller per exchange partite magazzino 2024-08-21 13:24:57 +02:00
52ccc41694 Merge branch 'master' into develop 2024-08-21 09:49:17 +02:00
d4648148ba Finish Hotfix-1 2024-08-21 09:49:16 +02:00
6fd583521b Modificata dataVersamento in LocalDate 2024-08-21 09:49:08 +02:00
201a556ad5 Fix generazione entity 2024-08-20 13:50:51 +02:00
f2b783d970 Finish Hotfix-1 2024-08-20 13:44:59 +02:00
6e66ce8dac Merge branch 'master' into develop 2024-08-20 13:44:59 +02:00
61c1c89dde Migliorie estreme su mapResultSetToList 2024-08-20 13:44:53 +02:00
aa080067df Migliorata gestione errori durante il salvataggio delle fatture passive 2024-08-19 17:47:12 +02:00
39760e5e94 Finish Hotfix-1 2024-08-19 17:16:28 +02:00
a5e1af3f54 Merge branch 'master' into develop 2024-08-19 17:16:28 +02:00
b28b27d8ae Migliorie su stream in EXCHANGE Colli 2024-08-19 17:16:23 +02:00
e2d50a4233 Merge branch 'master' into develop 2024-08-19 15:48:51 +02:00
3bcfd78adb Finish Hotfix-1 2024-08-19 15:48:50 +02:00
368154b80a Fix su ExchangeColli e job da caricare all'avvio 2024-08-19 15:48:42 +02:00
8bfd37d9aa Merge remote-tracking branch 'origin/develop' into develop 2024-08-19 12:53:41 +02:00
3b99091bfa Migliorata gestione errori durante il salvataggio delle fatture passive 2024-08-19 12:53:33 +02:00
2410b95969 Merge tag 'Hotfix-74' into develop
Finish Hotfix-74
2024-08-19 11:34:07 +02:00
077f002fbe Finish Hotfix-74 2024-08-19 11:34:06 +02:00
ebe5f91e45 Fix null point mail service 2024-08-19 11:33:53 +02:00
a162b6c3f8 Merge branch 'master' into develop 2024-08-19 10:22:57 +02:00
66d3fd4bc9 Finish Hotfix-1 2024-08-19 10:22:56 +02:00
2a5276cddb Migliorato log di fine esecuzione EXCHANGE 2024-08-19 10:22:51 +02:00
aba96c11b7 sistemata migration 2024-08-14 18:21:59 +02:00
48c8981015 abilitazione nuova gestione aliquote 2024-08-14 17:14:08 +02:00
05fc8d9d61 aggiunta voce menu gestione ordini di acquisto tab 2024-08-14 16:30:57 +02:00
1a685140b9 aggiunta voce menu gestione ordini di vendita tab 2024-08-14 12:45:38 +02:00
d344257b0c Popolamento giacenze riportate le movimentazioni di EC in BZ 2024-08-14 09:18:03 +02:00
46a4ef3f05 aggiunte migration 2024-08-13 17:31:29 +02:00
23beff9772 Merge remote-tracking branch 'origin/develop' into develop 2024-08-13 16:07:04 +02:00
8d53d0b825 Modificato messaggio di errore 2024-08-13 16:06:54 +02:00
e5014e602b Modificato retrieveGiacenza 2024-08-13 15:51:18 +02:00
61a6c58a8a Merge branch 'master' into develop 2024-08-13 15:36:53 +02:00
effd05cf46 Finish Hotfix-1 2024-08-13 15:36:52 +02:00
f01ea9470d Rimosse operazioni di delete su importazione exchange dei gruppi merceologici 2024-08-13 15:36:39 +02:00
3b33018019 aggiunta voce menu gestione ordini di lavorazione tab 2024-08-13 15:04:27 +02:00
23d061be0c Merge remote-tracking branch 'origin/develop' into develop 2024-08-13 15:01:11 +02:00
5f6669343b sistemata migratione 2024-08-13 15:00:45 +02:00
e33ac3f0cc Gestito update gest setup e cancellazione da stb_gest_setup_depo e wtb_gest_setup_user nelle migration 2024-08-13 13:06:05 +02:00
e64a3821b8 ricreate classi 2024-08-13 10:15:33 +02:00
95f4a99991 cancella classe 2024-08-13 09:43:27 +02:00
4f10590254 Merge branch 'master' into develop 2024-08-12 19:19:29 +02:00
7628f7325c Finish FixSaveProdPlan 2024-08-12 19:19:28 +02:00
81b2edde0c Fix ordine con data errata in saveProductionPlan 2024-08-12 19:19:23 +02:00
09a922098c create nuove tabelle: jtb_fasi_imp_mesi e jtb_fasi_imp_mesi_dett 2024-08-12 18:04:39 +02:00
54033ca781 Condivise configurazioni remote JVM Debug 2024-08-12 13:04:15 +02:00
b24182eb9e Merge remote-tracking branch 'origin/develop' into develop 2024-08-12 11:33:26 +02:00
50228dcb90 aggiunto setup 2024-08-12 11:33:23 +02:00
ba7c89e626 [IME]
aggiunta setup review cliente
2024-08-11 16:10:31 +02:00
b9df8c14e3 Merge remote-tracking branch 'origin/develop' into develop 2024-08-09 17:50:25 +02:00
8194b4099d Migrations 2024-08-09 17:50:18 +02:00
2481bee5fa Aggiunti controlli in importazione ordini gse 2024-08-09 16:03:05 +02:00
fc4edde981 abilitata voce menu aliquote iva (new) 2024-08-09 14:51:01 +02:00
f494126e97 abilitata voce menu aliquote iva (new) 2024-08-09 14:39:42 +02:00
b9fb539d02 inserita voce menu aliquote iva (new) 2024-08-09 14:34:06 +02:00
bfe72399fd Fix null point in MailService 2024-08-09 11:44:24 +02:00
d8dec26f5d Merge remote-tracking branch 'origin/develop' into develop 2024-08-09 10:32:55 +02:00
7b5366839c Fix path per download apk wms 2024-08-09 10:32:48 +02:00
6ee276be2c Merge remote-tracking branch 'origin/develop' into develop 2024-08-09 10:32:37 +02:00
03d5335909 Migrations setup Follies 2024-08-09 10:32:32 +02:00
8a85015f5f Migrations setup Follies 2024-08-09 10:32:26 +02:00
c1f432e8aa Importazione ordini di vendita GSE 2024-08-09 10:13:36 +02:00
f7b7b0c91f Merge branch 'master' into develop 2024-08-08 18:02:01 +02:00
622de7b531 Finish Hotfix-1 2024-08-08 18:02:01 +02:00
59da080298 Fix compilazione statica drools 2024-08-08 18:01:54 +02:00
b9d342901b Merge branch 'master' into develop
# Conflicts:
#	ems-core/pom.xml
#	ems-engine/pom.xml
2024-08-08 17:40:05 +02:00
aef2e68828 Finish Hotfix-1 2024-08-08 17:39:23 +02:00
f21085de30 Fix compilazione statica drools 2024-08-08 17:38:48 +02:00
5ca91469a5 disabilitata nuova gestione aliquote iva 2024-08-08 17:33:26 +02:00
ae7cc990a0 Fix compilazione statica drools 2024-08-08 17:27:25 +02:00
555f6d5dc4 Merge remote-tracking branch 'origin/develop' into develop 2024-08-08 17:13:38 +02:00
cad940bdff Fix compilazione statica drools 2024-08-08 17:13:25 +02:00
3e73c4e663 aggiunta nuova gestione aliquote iva 2024-08-08 17:09:58 +02:00
e66fc3d672 Fix compilazione statica drools 2024-08-08 17:00:03 +02:00
cd526f04c8 Merge remote-tracking branch 'origin/develop' into develop 2024-08-08 16:07:04 +02:00
1723a8fd86 Fix compilazione statica drools 2024-08-08 16:06:54 +02:00
b5d5d15072 Modifica decimali qtacol e numcnf in mail quarantena 2024-08-08 16:00:38 +02:00
2a52cbf3da Merge remote-tracking branch 'origin/develop' into develop 2024-08-08 15:39:24 +02:00
9b2749dff2 Modifica SocialWeb 2024-08-08 15:39:19 +02:00
a87814bf02 Aggiunto invio mail alla creazione di un collo in quarantena 2024-08-08 15:37:07 +02:00
99bc8fb39c Merge remote-tracking branch 'origin/develop' into develop 2024-08-08 13:49:04 +02:00
884dfd3400 Fix compilazione regole all'avvio 2024-08-08 13:48:53 +02:00
3b4935bd1d Fix compilazione statica drools 2024-08-08 13:41:45 +02:00
a3869198aa Fix compilazione statica drools 2024-08-08 13:25:07 +02:00
fac71baad3 Merge remote-tracking branch 'origin/develop' into develop 2024-08-08 13:01:12 +02:00
144ea8eaaa Aggiunto servizio che ci premette di modifcare solo prevista fat sui documenti di anni chiusi 2024-08-08 13:01:09 +02:00
12d6a6dc56 Merge remote-tracking branch 'origin/develop' into develop 2024-08-08 12:20:27 +02:00
7394ef79bd Fix compilazione statica drools 2024-08-08 12:20:18 +02:00
606a0ebdb7 Modifica registrazione effetti in contabilità per aziende che chiudono le partite automaticamente alla registrazione del documento 2024-08-08 11:00:13 +02:00
69902b7f6a Fix compilazione statica drools 2024-08-08 10:28:35 +02:00
91d1d202bf Fix compilazione statica drools 2024-08-08 10:22:17 +02:00
51668a9f25 Rimosso nuovamente file IPR 2024-08-08 10:01:53 +02:00
aad2aba9e2 Fix compilazione statica drools 2024-08-07 11:27:09 +02:00
9f7db88a4a Fix compilazione statica drools 2024-08-07 11:21:59 +02:00
7691c5018f Migrations per DMS 2024-08-07 10:47:26 +02:00
676b58835a Aggiunta condizione su data chiusura lotto nel caso di ordini non evaso in MES_GetWorkOrders 2024-08-06 17:58:24 +02:00
5ae50ecf08 Nell'esportazione delle anagrafiche Slim2K inserita la scorta minima 2024-08-06 17:43:35 +02:00
52611d61d4 EBC 2024-08-06 17:19:11 +02:00
5b8b68dec1 EBC 2024-08-06 17:19:04 +02:00
2a0c6abff5 Merge remote-tracking branch 'origin/develop' into develop 2024-08-06 16:56:18 +02:00
01552d5335 Fix compilazione statica drools 2024-08-06 16:56:06 +02:00
7b93c6e0a3 Aggiunto flag per disattivare controllo deposito dei colli 2024-08-06 15:14:21 +02:00
1fb9c25fae aggiunta migration 2024-08-06 13:04:03 +02:00
261f8c0877 modifica gestione vettori/spedizionieri 2024-08-06 12:43:21 +02:00
f2d1f810f7 Gestita orientation AUTO e creato retrieveWtbJreptSetupOrientations 2024-08-06 12:15:00 +02:00
5cf7b89472 Merge remote-tracking branch 'origin/develop' into develop 2024-08-05 16:04:56 +02:00
7d002f2e56 modificata migration creazione tabella vtb_vett_targhe 2024-08-05 16:04:51 +02:00
1f925e5852 modificata classe vtb_vett 2024-08-05 16:04:26 +02:00
30d1c061e4 modificata migration mina 2024-08-05 16:04:09 +02:00
3a3c0ae1c3 creata nuova tabella vtb_vett_targhe 2024-08-05 16:03:50 +02:00
eb404a0872 Creata setup MOSTRA_VALORE_MERCE 2024-08-05 15:40:20 +02:00
abd823e6ef aggiunta gestione vettori/spedizionieri (new) 2024-08-05 13:02:05 +02:00
0d3028657b modificata setup 2024-08-05 11:15:03 +02:00
52816af36f EBC 2024-08-02 18:01:13 +02:00
c09c4ce194 Merge remote-tracking branch 'origin/develop' into develop 2024-08-02 17:06:21 +02:00
dd83ab2ad5 Migrations 2024-08-02 17:06:14 +02:00
aa8a0228b7 Impostata setup invio email distinte effetti per Maggio 2024-08-02 17:01:59 +02:00
169dcf3867 Aggiunta setup per abilitare invio email da distinte effetti attivi 2024-08-02 17:01:40 +02:00
2acac4fdcb Merge branch 'master' into develop 2024-08-02 13:00:53 +02:00
11b2c94064 Finish Hotfix-1 2024-08-02 13:00:52 +02:00
401eb4c28a Fix su import IDRiga in exchange documenti 2024-08-02 13:00:47 +02:00
8dcc672ff6 Merge branch 'master' into develop 2024-08-02 10:55:39 +02:00
86694bf5c5 Finish Hotfix-1 2024-08-02 10:55:38 +02:00
d1cb72b7b8 Fix su salvataggio stato importazione documenti lavorazione EXCHANGE 2024-08-02 10:55:33 +02:00
60fa52e62b Sistemato invio email customizzato 2024-08-01 16:25:57 +02:00
f0ffeb4e05 Riapertura scadenze 2024-08-01 16:05:27 +02:00
4eafcf7742 Finish Hotfix-1 2024-08-01 15:49:41 +02:00
525e521dbb Merge branch 'master' into develop 2024-08-01 15:49:41 +02:00
4bc7c5c678 Rimossa importazione partite ad ogni import di EXCHANGE 2024-08-01 15:47:14 +02:00
cd04fcc42e getMovMag 2024-08-01 14:47:13 +02:00
8626ced5ba Finish Hotfix-1 2024-08-01 13:49:09 +02:00
51ceb69192 Merge branch 'master' into develop 2024-08-01 13:49:09 +02:00
a08578a361 Fix su importazione documenti exchange 2024-08-01 13:49:04 +02:00
c0321cc006 Finish Hotfix-74 2024-08-01 13:21:55 +02:00
d528bcbd72 Merge branch 'master' into develop 2024-08-01 13:21:55 +02:00
fb6d2f32a7 elimintata tabella inseistente dalla QUERY 2024-08-01 13:20:43 +02:00
c408580898 Finish Hotfix-1 2024-08-01 13:18:23 +02:00
1c7d9c1775 Merge branch 'master' into develop 2024-08-01 13:18:23 +02:00
86ea8ccc36 [ROSSOGARGANO]
fix creazione colli di scarico mp
fix creazione campi senza destinatario
2024-08-01 13:18:16 +02:00
7052434ff1 Finish Hotfix-1 2024-07-31 18:50:23 +02:00
42a69dd21b Merge branch 'master' into develop 2024-07-31 18:50:23 +02:00
96a10237ff [ROSSOGARGANO]
fix pianificata import campi raccolta da exchange
2024-07-31 18:50:15 +02:00
54ca8f193e Finish Hotfix-1 2024-07-31 18:09:59 +02:00
c6560933d5 Merge branch 'master' into develop 2024-07-31 18:09:59 +02:00
848efdc3e4 aggiunta sync campi raccolta in gestione exchange 2024-07-31 18:09:51 +02:00
4252d5faf9 Merge branch 'master' into develop 2024-07-31 17:11:41 +02:00
d257a00f67 Finish Hotfix-1 2024-07-31 17:11:40 +02:00
ffa6d4be7a [ROSSOGARGANO]
corretto servizio creazione campi raccolta
2024-07-31 17:11:32 +02:00
0cb0ac8aa5 Merge branch 'master' into develop 2024-07-31 13:17:00 +02:00
2a9bf4f18e Finish Hotfix-1 2024-07-31 13:17:00 +02:00
2949f5cf3a Fix su EXCHANGE 2024-07-31 13:16:54 +02:00
ce735aa5df Merge branch 'master' into develop 2024-07-31 13:07:13 +02:00
0377e1c73d Finish Hotfix-1 2024-07-31 13:07:12 +02:00
791dad2aed Fix username exchange 2024-07-31 13:07:07 +02:00
f941b63f54 Merge remote-tracking branch 'origin/develop' into develop 2024-07-31 09:18:41 +02:00
aa267a6b2c SP Impegni 2024-07-31 09:18:34 +02:00
d7d5c413a7 Finish Hotfix-1 2024-07-30 23:45:44 +02:00
7d39957614 Merge branch 'master' into develop 2024-07-30 23:45:44 +02:00
cb9ac26602 [ROSSOGARGANO]
gestione importazione campi di raccolta
[IME BA]
corretta funzione zip nel caso di file omonimi
2024-07-30 23:45:36 +02:00
f7e82b4089 Personalizzato report elenco forniture per Frudis 2024-07-30 09:11:17 +02:00
4098b1296e Finish Release-2 2024-07-29 12:34:40 +02:00
754a43a05f Finish Release-2 2024-07-29 12:34:39 +02:00
407fb28206 Merge remote-tracking branch 'origin/develop' into develop 2024-07-29 12:09:33 +02:00
f84e64ad5a Modifiche query per DMS 2024-07-29 12:09:27 +02:00
f2be08e500 Merge branch 'master' into develop 2024-07-29 11:46:49 +02:00
a5d596ae1c Finish Hotfix-74 2024-07-29 11:46:49 +02:00
15ac3df1ce Fix su EXCHANGE 2024-07-29 11:46:44 +02:00
7a86247e12 Fix generazione righe di scarico con datetime_row diversi 2024-07-26 18:13:52 +02:00
074506fa0c Creato servizio per la ricerca attività da task 2024-07-26 17:41:27 +02:00
c274ce3fcc Merge remote-tracking branch 'origin/develop' into develop 2024-07-26 17:30:24 +02:00
e81fa79d85 Fix query giacenza 2024-07-26 17:30:20 +02:00
e0b31bef6d movimenti contabili ripertura scadenze 2024-07-26 17:09:39 +02:00
50a9e940f1 Merge branch 'master' into develop 2024-07-26 16:58:08 +02:00
2d2cd07478 Finish Hotfix-74 2024-07-26 16:58:08 +02:00
9c8804d905 aggiunti nuovi dettagli in dto certificati sinfo one
cambiata numerazione documenti SRACC
2024-07-26 16:57:58 +02:00
0f80faaf0d serie documento di raccolta in campo (sracc) da setup 2024-07-26 16:57:18 +02:00
2c9e0ce455 Sistemato log delle regole se si abilita TRACE all'interno di ems_settings.json 2024-07-26 13:22:25 +02:00
dcb2af5c43 Finish Hotfix-74 2024-07-26 13:10:42 +02:00
c477d64413 Merge branch 'master' into develop 2024-07-26 13:10:42 +02:00
7a41e22ba4 Fix connection in regola documenti 2024-07-26 13:09:36 +02:00
3ef60fa238 Merge remote-tracking branch 'origin/develop' into develop 2024-07-26 13:05:12 +02:00
6f5442486d Creata procedura per cancellare le ispezioni di un periodo 2024-07-26 13:05:08 +02:00
01d39fd652 sistemato dato giornaliero su mrp 2024-07-26 11:49:26 +02:00
a67f8104c5 Finish Hotfix-74 2024-07-26 10:18:46 +02:00
cb6717fb93 Merge branch 'master' into develop 2024-07-26 10:18:46 +02:00
f229824dfa Migliorato log per errori exchange 2024-07-26 10:18:39 +02:00
fa5b0393eb gestita esportazione dei documenti di acquisto 2024-07-25 17:39:50 +02:00
e52b9896d0 Merge remote-tracking branch 'origin/develop' into develop 2024-07-25 16:41:22 +02:00
05204ed269 Mmigrations custom 2024-07-25 16:41:12 +02:00
4f08220893 Mmigrations custom 2024-07-25 16:41:06 +02:00
be536a9c38 aggiunto campo flag_tracciabilita nella mtb_grup 2024-07-25 16:40:50 +02:00
4c57f2ac34 Merge tag 'Hotfix-73' into develop
Finish Hotfix-73
2024-07-25 16:25:30 +02:00
6f54902862 Finish Hotfix-73 2024-07-25 16:25:28 +02:00
36afcc836c Importazione immagini 2024-07-25 16:25:12 +02:00
ddd70ecf64 Merge remote-tracking branch 'origin/develop' into develop 2024-07-25 15:28:27 +02:00
6a7ec32d66 Fix codJfas in modifica attività 2024-07-25 15:28:22 +02:00
fce0b0e81a Miglioramento vista CRP_OF_FabbisognoOre_JSON per lentezza da Agricoper 2024-07-25 15:08:37 +02:00
6f4d0f1072 RIPORTATE MODIFICHE FATTE NELL'HOTFIX 2024-07-25 13:19:00 +02:00
26dc422f3d Merge branch 'master' into develop
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/retail/service/GiacenzaService.java
2024-07-25 13:17:43 +02:00
b8a9e2bcc1 Finish Hotfix-72 2024-07-25 13:11:30 +02:00
158269f6f3 correzioni su popolamento giacenza: errore di duplicazione di chiave nel salvataggio degli inventari e valorizzazione strana della data di inserimento 2024-07-25 13:11:07 +02:00
e3765a9638 Fix compileWordFile 2024-07-25 09:15:29 +02:00
0330046f69 Nella cancellazione della mtb_aart aggiunto controllo e cancellazione dei progressivi 2024-07-25 09:15:07 +02:00
bc03755afa Finish Hotfix-72 2024-07-24 19:10:39 +02:00
cd16233da5 Merge tag 'Hotfix-72' into develop
Finish Hotfix-72
2024-07-24 19:10:39 +02:00
67a320dac3 Modifica SolcialWEB insertProductSW 2024-07-24 19:10:10 +02:00
580b2257cc Merge remote-tracking branch 'origin/develop' into develop 2024-07-24 19:09:15 +02:00
52954b5a52 Modifica messagio ritorno Import ordini EURITMMO senza PARTITA_IVA 2024-07-24 19:09:00 +02:00
284f23bd83 Aggiunto flag quarantena in creazione collo mes 2024-07-24 15:20:02 +02:00
3a6eb612e0 Merge branch 'master' into develop 2024-07-24 11:40:29 +02:00
fd3b5bcdfd Finish Hotfix-72 2024-07-24 11:40:28 +02:00
2524d5442a sistemato thread nel popolameto giacenza 2024-07-24 11:40:09 +02:00
68ad7af07a Merge branch 'master' into develop 2024-07-23 17:23:29 +02:00
4ef27af2c0 Finish Hotfix-72 2024-07-23 17:23:29 +02:00
fdda76eb5c [ROSSOGARGANO]
gestione autorizzazioni section pvm
2024-07-23 17:23:20 +02:00
6fd6431f7e Fix recalc posizione viaggi ed aggiunto controllo ord L già creato in saveProductionPlan 2024-07-23 16:26:18 +02:00
66c41d10eb Finish Hotfix-72 2024-07-23 14:19:31 +02:00
8586308fde Merge branch 'master' into develop 2024-07-23 14:19:31 +02:00
bfe78c4a81 Fix replaceAll in mailtemplate 2024-07-23 14:19:23 +02:00
8bd8c94eff Merge branch 'master' into develop 2024-07-23 13:46:39 +02:00
30acf97b57 Finish Hotfix-72 2024-07-23 13:46:38 +02:00
9016f5956f Rimosso logger query problematico 2024-07-23 13:36:58 +02:00
e9c7e94db3 Merge branch 'master' into develop 2024-07-23 10:47:10 +02:00
471cf93d96 Finish Hotfix-72 2024-07-23 10:47:09 +02:00
644ea03201 Fix range import di Exchange 2024-07-23 10:47:04 +02:00
a9ab0a253a Merge branch 'master' into develop 2024-07-23 10:29:13 +02:00
ef47cc5616 Finish Hotfix-72 2024-07-23 10:29:13 +02:00
7795c6c248 Fix nel query logger 2024-07-23 10:29:08 +02:00
a11ef715a1 Merge branch 'master' into develop 2024-07-23 09:42:04 +02:00
7985811e71 Finish Hotfix-72 2024-07-23 09:42:04 +02:00
d4292fdb72 Fix log in caso di errore invio mail Migrations 2024-07-23 09:41:56 +02:00
980f541a18 Aggiunta la merce in arrivo al servizio che restituisce la giacenza 2024-07-23 09:37:25 +02:00
1fae705d64 Finish Hotfix-72 2024-07-22 12:10:40 +02:00
465e725782 Merge branch 'master' into develop 2024-07-22 12:10:40 +02:00
79d13dc1c7 modificato controllo su addortimento gastronomia 2024-07-22 12:10:34 +02:00
25abcbb869 modificato menu' aggiunta nuova gestione documenti di vendita 2024-07-22 11:55:40 +02:00
b553122d3e aggiunto campo flag_attivo nella mtb_tipi 2024-07-22 10:48:17 +02:00
10158cf46b Finish ModifCreateZipFromFiles 2024-07-22 10:18:14 +02:00
1dc0ddc5df Merge branch 'master' into develop 2024-07-22 10:18:14 +02:00
c91165dc96 Gestito caricamento da MtbAartLink 2024-07-22 10:18:07 +02:00
ac1cbff3ba Fix query giacenza 2024-07-22 10:16:02 +02:00
644010dbda Migrations 2024-07-22 10:12:09 +02:00
a5b6220a7e Merge remote-tracking branch 'origin/develop' into develop 2024-07-22 09:26:22 +02:00
a6d63a1f51 Migrations 2024-07-22 09:26:14 +02:00
45f53d5d80 Tracciato §EBC 2024-07-22 09:26:04 +02:00
fe84a31f66 Tracciato §EBC 2024-07-22 09:25:50 +02:00
1f09e82245 [ROSSOGARGANO]
corrette informazioni in colli accettazione pomodoro
2024-07-19 19:27:21 +02:00
205dce88b8 Corretto conteggio allegati commessa 2024-07-19 19:11:31 +02:00
1b6f7d6e35 Aggiunto retrieveAllPartitaMag 2024-07-19 17:54:10 +02:00
61f59ac4a3 Merge branch 'master' into develop 2024-07-19 13:32:53 +02:00
481471d9b6 Finish Hotfix-72 2024-07-19 13:32:52 +02:00
f0e587e1f3 Implementata importazione EXCHANGE per versamento grezzo 2024-07-19 13:32:47 +02:00
118e43b849 Merge branch 'master' into develop 2024-07-19 13:23:06 +02:00
19f5450243 Finish Hotfix-72 2024-07-19 13:23:06 +02:00
236d0dcdec Implementata importazione EXCHANGE per versamento grezzo 2024-07-19 13:23:00 +02:00
df8a1de401 Merge branch 'master' into develop 2024-07-19 13:22:03 +02:00
5fd3b5668a Finish Hotfix-72 2024-07-19 13:22:02 +02:00
489089b9a4 Implementata importazione EXCHANGE per versamento grezzo 2024-07-19 13:21:55 +02:00
54390e7198 sistemata lettura inevasi steup 2024-07-19 12:06:57 +02:00
b3acb22495 Impostata attività di creazione archivio come completata 2024-07-19 10:42:58 +02:00
8e2196d23f Merge branch 'master' into develop 2024-07-19 09:41:28 +02:00
99ad3d7b48 Finish Hotfix-72 2024-07-19 09:41:27 +02:00
d83e658a9c Fix generici su sistema EXCHANGE 2024-07-19 09:41:15 +02:00
a05005edf9 miglioramenti a generazione migration 2024-07-18 13:38:15 +02:00
25f3b7710a Aggiunto scritura log dalle regole 2024-07-18 10:00:34 +02:00
dd06da4e2c Inserita chk_constraint su rap_conv2 e rap_conv3 2024-07-18 09:59:19 +02:00
74117a4ea2 Aggiunto userName in StbActivityNotification 2024-07-18 09:47:13 +02:00
65dce87abf Fix importazione scontrini e campo reso 2024-07-17 17:39:42 +02:00
0d175b693a correzione su popolamento giacenza, controllo su rapporto di conversione 0 e attivato invia email per servizio di invio variazioni 2024-07-17 17:25:53 +02:00
b47c8ecb7b aggiunto campo flag_attivo nella mtb_grup 2024-07-17 17:00:04 +02:00
8397e7c6aa Implementata gestione pianificazioni exchange 2024-07-17 10:21:48 +02:00
68a76ca0c2 Merge branch 'master' into develop 2024-07-16 20:28:42 +02:00
9ba1078d5a Finish Hotfix-72 2024-07-16 20:28:41 +02:00
043a8b62d8 [ROSSOGARGANO]
gestione vettore in import da exchange
2024-07-16 20:28:32 +02:00
3cb2b9d8e9 Merge remote-tracking branch 'origin/develop' into develop 2024-07-16 18:02:01 +02:00
dfb34df5e9 - Fix e modifiche minori 2024-07-16 18:01:55 +02:00
44c3721116 Fix modifica assenze 2024-07-16 17:33:51 +02:00
ba68f631a1 Fix getTreeView 2024-07-16 14:58:54 +02:00
7a6c81feb6 Completati servizi di modifica e cancellazione delle assenze 2024-07-16 14:57:54 +02:00
d27415fb7b Merge branch 'master' into develop 2024-07-16 12:55:03 +02:00
bd06beff71 Finish Hotfix-72 2024-07-16 12:55:02 +02:00
99234b2f94 modificata condizione per verificare se il listino è rifatturazione 2024-07-16 12:49:12 +02:00
9d15ebd65e Personalizzato report distinta effetti per Carelli 2024-07-16 10:35:11 +02:00
7716a01e81 Corretto nome setup report distinta effetti 2024-07-16 10:34:44 +02:00
3feb507013 Impostato salvataggio rest gestione scheda tecnica 2024-07-16 09:11:11 +02:00
9e682093ae Merge remote-tracking branch 'origin/develop' into develop 2024-07-15 17:22:46 +02:00
058334fb0b aggiunto campo causale_reso nella ntb_docr 2024-07-15 17:21:02 +02:00
225af5f087 Merge remote-tracking branch 'origin/develop' into develop 2024-07-15 13:52:26 +02:00
f66a3ccdfb aggiunto tipo per trigger 2024-07-15 13:52:22 +02:00
b981ece98a Finish Hotfix-72 2024-07-15 12:31:16 +02:00
3e8e44871d Merge branch 'master' into develop 2024-07-15 12:31:16 +02:00
75d4bdfc4d Test toolchain 2024-07-15 12:30:54 +02:00
b79c88c23c Test toolchain 2024-07-15 11:54:44 +02:00
3c945a4be5 Finish Hotfix-71 2024-07-15 11:44:17 +02:00
c300dff9f0 Merge tag 'Hotfix-71' into develop
Finish Hotfix-71
2024-07-15 11:44:17 +02:00
32ed6f1188 Fix variabili in DataSheetServices 2024-07-15 11:43:58 +02:00
a4fbf3138d Aggiunto maven toolchain plugin 2024-07-15 10:49:38 +02:00
6056e4dccc Merge branch 'master' into develop 2024-07-15 10:28:43 +02:00
493ca43226 Finish Hotfix-71 2024-07-15 10:28:42 +02:00
81394cc6fa eliminato controllo su esitenza setup 2024-07-15 10:28:36 +02:00
cd1f71952b Merge branch 'refs/heads/master' into develop
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/system/exchange/service/ExchangeColliImportService.java
2024-07-12 17:57:54 +02:00
432de33a60 Finish Hotfix-71
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/system/exchange/dto/CertificatiSinfoOneDTO.java
#	ems-engine/src/main/java/it/integry/ems/system/exchange/service/ExchangeColliImportService.java
2024-07-12 17:55:17 +02:00
6078e9770e [RossoGargano] importazione certificati da sinfo 1 2024-07-12 17:53:57 +02:00
d6add3cf65 Fix nome variavile immagine scheda prodotto 2024-07-12 17:39:39 +02:00
6a03fd5010 Fix nome variavile immagine scheda prodotto 2024-07-12 17:20:56 +02:00
e04e5166ce scheda tecnica prodotto 2024-07-12 16:56:59 +02:00
012f27d460 Gestite eccezioni compileWordFile 2024-07-12 16:36:36 +02:00
d8a9337d30 Gestito valore hashmap null in replaceVariables 2024-07-12 15:06:08 +02:00
71f7a665c8 aggiunta fk 2024-07-12 13:39:11 +02:00
cc7db6a529 Merge branch 'refs/heads/develop' into feature/Feature-variazioni2
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/retail/controller/RetailController.java
2024-07-12 12:58:44 +02:00
b2522ecc38 Merge remote-tracking branch 'origin/develop' into develop 2024-07-12 12:57:30 +02:00
356e1bdd12 Aggiunto parametro mancante su operazioni pianificate di default 2024-07-12 12:57:21 +02:00
4eae593bce Merge branch 'master' into develop
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/system/exchange/service/ExchangeColliImportService.java
2024-07-12 12:52:50 +02:00
40055a6c03 Finish Hotfix-71 2024-07-12 12:52:07 +02:00
48edcf2e9d [RossoGargano] importazione certificati da sinfo 1 2024-07-12 12:52:00 +02:00
49214b500e gestione scheda tecnica 2024-07-12 11:56:01 +02:00
d6d4c3583b modifica gestione elenco file scheda tecnica 2024-07-12 11:43:48 +02:00
049e1b4921 aggiunta gestione Elenco File Scheda Tecnica 2024-07-12 11:04:52 +02:00
672195fb4a Fix e migliorie su importazione Exchange 2024-07-11 16:14:58 +02:00
ffa3ea8cff correzione mrp controllo scorta minima 2024-07-11 13:38:01 +02:00
de3f04a6ca Merge remote-tracking branch 'origin/develop' into develop 2024-07-11 13:02:39 +02:00
d76fd941a8 Fix e migliorie su importazione Exchange 2024-07-11 13:02:33 +02:00
05a6b2b5d4 Aggiunto controllo per esclusione esecuzione da DMS 2024-07-11 11:09:31 +02:00
8e846a6598 Merge remote-tracking branch 'origin/develop' into develop 2024-07-11 10:47:11 +02:00
1f8252db21 Query MRP_ImpProx 2024-07-11 10:47:03 +02:00
08cae9e3bb Impostato salvataggio rest gestione scheda tecnica 2024-07-11 10:08:47 +02:00
513fa6f5f0 Finish Hotfix-70 2024-07-10 18:33:26 +02:00
9c1bb13d7a Merge tag 'Hotfix-70' into develop
Finish Hotfix-70
2024-07-10 18:33:26 +02:00
ab6a08ab60 Modifica tracciti MIRARCHI\DIPA\ROTUNNO 2024-07-10 18:33:11 +02:00
5793fd1908 Creato servizio che compila e scarica il file di word della scheda tecnica 2024-07-10 17:37:31 +02:00
641f39784c Merge remote-tracking branch 'origin/develop' into develop 2024-07-10 15:49:45 +02:00
64850e628a MIRARCHI 2024-07-10 15:49:40 +02:00
88d0d82544 aggiunti giorni per recupero scontrini 2024-07-10 12:09:02 +02:00
cabc38b216 Merge branch 'master' into develop 2024-07-10 11:53:08 +02:00
04841eec4e Finish Hotfix-70 2024-07-10 11:53:07 +02:00
3a12327b16 sistemata condizione su data inizio su recupera scontrini 2024-07-10 11:52:51 +02:00
1d3b96395e Modificato servizio getTreeView 2024-07-10 10:16:34 +02:00
7341cc625b Merge branch 'master' into develop 2024-07-09 18:47:46 +02:00
2ee729449d Finish Hotfix-70 2024-07-09 18:47:45 +02:00
87fb1868f0 correzione errore for input string 2024-07-09 18:47:39 +02:00
446db73fe7 Merge remote-tracking branch 'origin/develop' into develop 2024-07-09 18:32:10 +02:00
05a6e363c9 varie sian 2024-07-09 18:32:07 +02:00
0b91e53f96 Merge tag 'Hotfix-69' into develop
Finish Hotfix-69
2024-07-09 17:25:31 +02:00
a5518de1c1 Finish Hotfix-69 2024-07-09 17:25:30 +02:00
0dd3403946 Fix customer id null e fix target quantity 2024-07-09 17:25:12 +02:00
0e316cba9c nuova entitychild 2024-07-09 16:26:28 +02:00
27e14f99ee Merge remote-tracking branch 'origin/develop' into develop 2024-07-09 16:04:30 +02:00
79dcb073df Aggiunta tabella mrl_aart_sch_tec_set come figlia della mtb_aart 2024-07-09 16:03:26 +02:00
0d2b4c01f3 aggiunto controllo su promo già esistenti nel db 2024-07-09 15:46:57 +02:00
463dd423a0 query steup 2024-07-09 13:10:32 +02:00
d849ff54e7 Merge branch 'master' into develop 2024-07-09 12:32:15 +02:00
5148a4d571 Finish Hotfix-69 2024-07-09 12:32:14 +02:00
73d94f077e [ROSSOGARGANO]
Accettazione pomodori
2024-07-09 12:32:07 +02:00
cde50e6c57 Merge remote-tracking branch 'origin/develop' into develop 2024-07-08 18:01:11 +02:00
f7e9fca83f sistemato messaggio di errore 2024-07-08 18:01:08 +02:00
d88c7647db correzioni ad invio variazioni 2024-07-08 17:45:49 +02:00
d5f4d73dc4 Nuova tabella di relazione tra articoli e scheda tecnica 2024-07-08 16:15:29 +02:00
cf63edb453 Aggiunto campo id 2024-07-08 16:15:03 +02:00
f7b71cc4ee Aggiunto DB SicialiniDMS ed esclusi migrations DMS da escludere 2024-07-08 11:31:24 +02:00
971ea7bd7a Finish Hotfix-68 2024-07-08 10:28:15 +02:00
2e02fd38ad Merge tag 'Hotfix-68' into develop
Finish Hotfix-68
2024-07-08 10:28:15 +02:00
7cfc702ea0 Attivazione ROTUNNO 2024-07-08 10:27:30 +02:00
09bc88241d Merge tag 'Hotfix-67' into develop
Finish Hotfix-67
2024-07-08 09:53:54 +02:00
c702d7410b Finish Hotfix-67 2024-07-08 09:53:53 +02:00
fd67662dc2 Accise LICOR 2024-07-08 09:53:41 +02:00
08e4162620 Aggiunti servizi per modifica e cancellazione assenze 2024-07-05 18:01:09 +02:00
6c3fc25ef8 Migration per nuova setup "FLAG_USE_COLLI_PEDANA" 2024-07-05 17:55:01 +02:00
73c882684c Merge remote-tracking branch 'origin/develop' into develop 2024-07-05 16:59:58 +02:00
3336b4ce20 Aggiunta setup per chiusura senza verifica in modellini 2024-07-05 16:52:02 +02:00
41dd98e1f9 Creazione nuove tabelle per scheda tecnica 2024-07-05 15:47:07 +02:00
9f66f92984 Creazione nuove tabelle per scheda tecnica 2024-07-05 15:08:58 +02:00
5ef4cf2ff5 Aggiunta setup giorni aggiunta alla data fine stimata modellini 2024-07-05 11:56:14 +02:00
d97a7305cc Corretta chiave della tabella 2024-07-05 10:40:03 +02:00
0b60ab7a06 Aggiunta gestione scheda tecnica 2024-07-05 09:32:13 +02:00
ed30d129d5 Merge remote-tracking branch 'origin/develop' into develop 2024-07-05 09:18:39 +02:00
674c1ce5de Aggiunta gestione scheda tecnica 2024-07-05 09:00:32 +02:00
308f883b15 Aggiustata funzione getListinoVenditaPedane 2024-07-04 19:09:50 +02:00
8c9421325f Merge branch 'master' into develop 2024-07-04 18:56:27 +02:00
63e9f325f3 Finish FixImportClientiFP 2024-07-04 18:56:27 +02:00
706b4e3c21 Corretto invio di dati duplicati in FoodProcess 2024-07-04 18:55:10 +02:00
fb8aeea028 Merge remote-tracking branch 'origin/develop' into develop 2024-07-04 18:55:05 +02:00
41ee89c94e Migrations varie 2024-07-04 18:54:59 +02:00
21e2267340 aggiunto package 2024-07-04 17:22:38 +02:00
0b0a2ea918 aggiunto package 2024-07-04 17:14:15 +02:00
aef6b1e937 Merge remote-tracking branch 'origin/develop' into develop 2024-07-04 16:36:07 +02:00
ce5673cd24 nuove tabelle scheda tecnica 2024-07-04 16:33:11 +02:00
3045529df8 verifica articolo acquisto in shelflife 2024-07-04 16:15:59 +02:00
96cbf6f844 Aggiunta gestione elenco variabili scheda tecnica 2024-07-04 15:46:26 +02:00
fd09483123 migration e rename classi 2024-07-04 12:28:00 +02:00
832d411426 Finish FixEsportFoodProcess 2024-07-04 11:01:58 +02:00
fc8262a203 Merge branch 'master' into develop 2024-07-04 11:01:58 +02:00
6d8cba5d07 Fix max id su esportazione food process 2024-07-04 11:01:36 +02:00
4abf1c2b01 Merge remote-tracking branch 'origin/develop' into develop 2024-07-04 09:45:22 +02:00
12901abd2d Tracciato ROTUNNO 2024-07-04 09:45:16 +02:00
f93fa6678c Merge branch 'master' into develop 2024-07-03 18:09:56 +02:00
819f0c8ce0 Finish ModifPianProd 2024-07-03 18:09:56 +02:00
e13611a328 Aggiunta data esportazione in DtbOrdrPianProd 2024-07-03 18:09:47 +02:00
bb8bc2b7fd new migration 2024-07-03 11:53:56 +02:00
f13c81f119 Tracciato ROTUNNO 2024-07-03 11:03:41 +02:00
abdfb4c1ef Tracciato ROTUNNO 2024-07-03 11:03:29 +02:00
b435488b7d Sistemato invio variazioni 2024-07-03 09:37:43 +02:00
167183ac64 Merge remote-tracking branch 'origin/develop' into develop 2024-07-02 18:34:13 +02:00
43d101719c Export ROTUNNO 2024-07-02 18:34:07 +02:00
62a1e49e7c Merge branch 'develop' into feature/Feature-variazioni2 2024-07-02 17:38:25 +02:00
65fceec62e Merge branch 'develop' into feature/Feature-variazioni2
# Conflicts:
#	ems-core/src/main/java/it/integry/ems/service/HttpRestWrapper.java
#	ems-engine/src/main/java/it/integry/ems/retail/export/service/VariazioniPvExportServices.java
#	ems-engine/src/main/java/it/integry/ems/retail/service/GiacenzaService.java
2024-07-02 17:18:13 +02:00
3e2dc62fba correzione a registrazione distinte raggruppate e sync rossogargano 2024-07-02 17:10:29 +02:00
a5b979f53d eliminata setup 2024-07-02 16:39:42 +02:00
5f59100142 Spostato output download files in ResponseEntity 2024-07-02 16:29:02 +02:00
4bbc909563 Aggiunto parametro anno in readActivity Agribook 2024-07-02 13:03:49 +02:00
2770cac483 Merge tag 'Hotfix-66' into develop
Finish Hotfix-66
2024-07-02 12:58:29 +02:00
702d529a8b Finish Hotfix-66 2024-07-02 12:58:28 +02:00
6b5a2cafaf Modifica DAS 2024-07-02 12:58:10 +02:00
255d82cec5 Merge remote-tracking branch 'origin/develop' into develop 2024-07-02 12:57:22 +02:00
66ac02a7a9 Modifica tracciato DIPA 2024-07-02 12:57:06 +02:00
32daa9fbe7 Ordify elenco clienti per gestore deposito esterno 2024-07-01 16:00:59 +02:00
349c47ce52 abilitata voce di menù 2024-07-01 15:41:59 +02:00
3828e5cbec Finish Hotfix-66 2024-07-01 15:30:39 +02:00
73f1b01fed Merge branch 'master' into develop 2024-07-01 15:30:39 +02:00
007e66aff7 inserito un controllo sull'esistenza del codice interno sugli articoli presenti in bolla. 2024-07-01 15:30:33 +02:00
a1ab5da08a Aggiunto partita iva e codice fiscale sede legale 2024-07-01 15:06:38 +02:00
5cb6e30ed6 Aggiunto partita iva e codice fiscale sede legale 2024-07-01 15:06:28 +02:00
ea82bff88a Finish IntegrazioneFoodProcess 2024-07-01 12:43:03 +02:00
cfad878bc2 Merge branch 'master' into develop 2024-07-01 12:43:03 +02:00
ac68ea4ea5 Aggiornamento resteasy ed integrazione servizi FoodProcess 2024-07-01 12:42:57 +02:00
e2ad0a7c65 Migliorate classi UtilityDocx e UtilityExcel 2024-07-01 10:14:54 +02:00
3e6c38b51f Aggiunto servizio che restituisce la giacenza in tempo reale a partire dalla tabella delle giacenze progressive 2024-07-01 10:03:48 +02:00
a0cd0cbec5 Aggiunta DMS come application 2024-06-28 18:51:50 +02:00
087189a0b0 [OrderImportService]
- Fixato il controllo sulla imp_min_ord, la setup non esisteva più da tempo ed il valore era presente direttamente sulla linea, adesso lo legge dalla linea
2024-06-28 17:00:25 +02:00
b2df536011 Merge tag 'Hotfix-65' into develop
Finish Hotfix-65
2024-06-27 12:21:13 +02:00
2f863e1489 Finish Hotfix-65 2024-06-27 12:21:13 +02:00
7705b8a5fd Aggiunta application DMS 2024-06-27 12:20:55 +02:00
5b2c5c2676 Merge remote-tracking branch 'origin/develop' into develop 2024-06-27 12:19:35 +02:00
3757f511e0 Modifica personalizzazione report riepilogo ordini 2024-06-27 12:19:25 +02:00
3842cc0f6e Fix multiply bigdecimal con null 2024-06-26 12:33:00 +02:00
747e2615b3 Finish Hotfix-65 2024-06-26 10:58:28 +02:00
fcea8f5267 Merge branch 'master' into develop 2024-06-26 10:58:28 +02:00
ea2b8c7593 [ROSSOGARGANO - accettazione da raccolta]
gestione scarichi
2024-06-26 10:58:20 +02:00
b144d84549 Finish Hotfix-65 2024-06-26 09:53:18 +02:00
48c7de51f7 Merge branch 'master' into develop 2024-06-26 09:53:18 +02:00
d7f1992154 Creata migration per sistemare ansi_padding, ecc. 2024-06-26 09:53:10 +02:00
11f5056fd0 Merge remote-tracking branch 'origin/develop' into develop 2024-06-26 09:50:54 +02:00
9147b6be27 Fix su importazione EXCHANGE 2024-06-26 09:50:46 +02:00
9492a646ba Creata classe per la gestione dei file docx 2024-06-25 16:23:25 +02:00
ec8b8547c5 Aggiornata libreria apache.poi e refactor 2024-06-25 16:22:23 +02:00
49dd2269af Merge remote-tracking branch 'origin/develop' into develop 2024-06-25 11:11:00 +02:00
ac5c3ff2dd Personalizzazione ordini WEB per Follies 2024-06-25 11:10:49 +02:00
069d497566 Rimosso parametro override in createSetupQuery (non più utilizzato) 2024-06-25 10:55:21 +02:00
207b557655 PErsonalizzazione report scadenze clienti fornirori per IME Bari 2024-06-24 12:23:27 +02:00
76fc878585 Merge remote-tracking branch 'origin/develop' into develop 2024-06-24 12:22:06 +02:00
80c41b1fcc PErsonalizzazione report scadenze clienti fornirori per IME Bari 2024-06-24 12:21:56 +02:00
94994d696f Merge remote-tracking branch 'origin/develop' into develop 2024-06-21 18:56:47 +02:00
d0065a1219 Creata importazione EXCHANGE documenti.
Fix su importazione EXCHANGE ordini di lavorazione/produzione.
2024-06-21 18:56:39 +02:00
eeba09920f AGGIUNTA MIGRATION 2024-06-21 18:29:10 +02:00
6d69f6c059 Merge remote-tracking branch 'origin/develop' into develop 2024-06-21 18:21:13 +02:00
2f7bd7596a procedura di controllo fatture dello sdi con fatture presenti al sistema 2024-06-21 18:21:10 +02:00
a3a99f687f Aggiunti filtri attività 2024-06-21 18:04:47 +02:00
0f96873847 AGGIUNTA MIGRATION 2024-06-21 17:58:10 +02:00
8f3406fa4d Merge remote-tracking branch 'origin/develop' into develop 2024-06-21 17:54:59 +02:00
b347cf1aff Permettere la duplicazione delle uds 2024-06-21 17:54:54 +02:00
b720b08088 Merge remote-tracking branch 'origin/develop' into develop 2024-06-21 17:30:18 +02:00
42169a5646 Modifica rifatturazione FILCONAD 2024-06-21 17:30:13 +02:00
c17cd3d83e Aggiunta setup importazione 2024-06-21 16:30:54 +02:00
1d92895df6 cambiata chiave della tabella mtb_depo_intercode 2024-06-21 14:46:37 +02:00
46c3419751 Merge remote-tracking branch 'origin/develop' into develop 2024-06-21 12:04:47 +02:00
69b0f37254 Creata importazione ordini EXCHANGE 2024-06-21 12:04:40 +02:00
efc38970ff varie migration 2024-06-21 11:57:36 +02:00
83156e8623 Merge remote-tracking branch 'origin/develop' into develop 2024-06-21 10:49:21 +02:00
3a2e6a405b Importazione DIPA 2024-06-21 10:49:16 +02:00
105309ef4f Importazione DIPA 2024-06-21 10:49:06 +02:00
7da201e24f aggiunta eccezione se distinta non presente 2024-06-20 17:13:41 +02:00
cb88dfbead aggiunto fatta nel mese, fatto mese precedente, fatto trimestre corrente, fatto trimestre prec 2024-06-20 16:59:52 +02:00
36efa1c628 Merge remote-tracking branch 'origin/develop' into develop 2024-06-20 15:08:45 +02:00
fb80695cba Importazione DIPA 2024-06-20 15:08:23 +02:00
ce1b0df102 Importazione DIPA 2024-06-20 15:08:14 +02:00
a713368d62 Merge remote-tracking branch 'origin/develop' into develop 2024-06-20 15:08:09 +02:00
bf32d9be5c apertura attività chiusa 2024-06-20 15:08:06 +02:00
e93d54c986 Migration per esportazione SIAN 2024-06-20 15:07:50 +02:00
a4caa25c05 Merge remote-tracking branch 'origin/develop' into develop 2024-06-20 12:15:48 +02:00
5db1aa0948 Fix log errori in DocumentController 2024-06-20 12:15:34 +02:00
95e18001ef Fix log errori in DocumentController 2024-06-20 12:14:42 +02:00
026a4890d1 Merge remote-tracking branch 'origin/develop' into develop 2024-06-20 12:08:19 +02:00
afa1342e8f Importazione DIPA 2024-06-20 09:39:49 +02:00
46692dd75e Importazione DIPA 2024-06-20 09:39:37 +02:00
dd23b7b7fb Merge branch 'master' into develop 2024-06-19 17:44:14 +02:00
9c1332f385 Finish Hotfix-65 2024-06-19 17:44:14 +02:00
63061e576a sistemato controllo su setup di steup 2024-06-19 17:38:36 +02:00
7b18f23794 Merge remote-tracking branch 'origin/develop' into develop 2024-06-19 17:29:59 +02:00
2e496d6b60 Metodo per duplicare le uds 2024-06-19 17:29:50 +02:00
4c148ccbd9 Merge branch 'master' into develop 2024-06-19 17:29:20 +02:00
c7b8cae326 Finish Hotfix-65 2024-06-19 17:29:19 +02:00
599df1fc16 sistemato controllo su inserimento promozione nello stesso periodo e controllato se i file di apulia sono vuoti 2024-06-19 17:29:14 +02:00
7175380045 Aggiunta eccezione in caso di file vuoto in importazione bulk file 2024-06-19 17:12:08 +02:00
33c9d32262 Merge branch 'master' into develop 2024-06-19 15:02:31 +02:00
8d09a02f1c Finish Hotfix-65 2024-06-19 15:02:30 +02:00
83d48df47d aggiunto controllo su wdtb_doct per i fRUMA 2024-06-19 15:02:24 +02:00
bd3d295f6f Merge remote-tracking branch 'origin/develop' into develop 2024-06-19 12:02:54 +02:00
9672fce01f Importazione DIPA 2024-06-19 12:02:44 +02:00
6b5274f2c3 aggironamento su MRP_UpdateQtaImpProx 2024-06-19 10:20:24 +02:00
fc3dfc13cf Merge branch 'master' into develop 2024-06-19 09:56:08 +02:00
f4b7eba1d8 Finish Hotfix-65 2024-06-19 09:56:07 +02:00
25fade5f48 impostato 0 nel valoneri nella procedura di importazione listini apulia 2024-06-19 09:51:42 +02:00
9fd75d10b6 Controllo se il barcode ul è già presente in un collo 2024-06-18 17:30:54 +02:00
25eabec6e6 Finish Hotfix-64 2024-06-18 16:59:31 +02:00
88c2f06386 Merge tag 'Hotfix-64' into develop
Finish Hotfix-64
2024-06-18 16:59:31 +02:00
f90ac6f64a Migrations controllo dichiarazione intento 2024-06-18 16:59:07 +02:00
fe414ec431 Merge remote-tracking branch 'origin/develop' into develop 2024-06-18 16:54:38 +02:00
5671ba07d5 Migrations 2024-06-18 16:54:30 +02:00
35e3e1447d Invertito controllo articoli esclusi wms in rettifica produzione licor 2024-06-18 15:59:06 +02:00
d4840aa672 Merge branch 'master' into develop 2024-06-18 14:14:09 +02:00
1d0711ebd4 Finish Hotfix-64 2024-06-18 14:14:08 +02:00
5bbbea25fa Nuovo campo per escludere articoli dalla logica di qta max per colore 2024-06-18 14:14:02 +02:00
5298ec4949 Merge branch 'master' into develop 2024-06-18 12:48:03 +02:00
61fc69ae89 Finish FixRecalcPosViaggi 2024-06-18 12:48:03 +02:00
4401c05464 Fix recalc posizione viaggi 2024-06-18 12:47:56 +02:00
a12d5198b1 Fix insSubactivity 2024-06-18 12:36:36 +02:00
1aa0f7518f Aggiornare il cod_jfas anche sui rapportini quando viene cambiato sulle attività, modificare l'utente quando vengono inserire le ore su attività su DEV, T0001, T0003 2024-06-18 11:15:46 +02:00
7423754900 Merge remote-tracking branch 'origin/develop' into develop 2024-06-18 10:04:55 +02:00
26b5c5b6a3 Merge remote-tracking branch 'origin/develop' into develop 2024-06-17 19:23:38 +02:00
b69d79381b Tracciato MIRARCHI 2024-06-17 19:23:29 +02:00
606a486f82 Aggiunto controllo se articolo escluso wms in rettifica produzione licor 2024-06-17 18:04:14 +02:00
ba0e4650ce DAS Elettronico 2024-06-17 16:19:03 +02:00
8c43abd739 Merge tag 'Hotfix-63' into develop
Finish Hotfix-63
2024-06-17 15:25:20 +02:00
1cbc9489f1 Finish Hotfix-63 2024-06-17 15:25:19 +02:00
0c14e7b987 Export DAS 2024-06-17 15:24:56 +02:00
4f33830879 aggiuti campi nella vista statistiche ordinato 2024-06-17 12:42:23 +02:00
500a39bbc9 Creato sistema di import colli tramite formato EXCHANGE 2024-06-17 12:01:31 +02:00
c04e08a575 Tracciato MIRARCHI 2024-06-17 09:37:44 +02:00
7b842ca014 sistemata chiusura tagli prezzo, aggiunte note_testata in promozioni 2024-06-14 17:49:26 +02:00
cd72eed0cc aggiunto controllo su data fine promozione, modificata vista per statistiche su ordinato, aggiunte nuove voci menu' 2024-06-14 15:22:57 +02:00
9fbcf5b074 [CARELLI] creazione xml per esportazione zucchetti 2024-06-14 13:00:47 +02:00
c041d3fc48 Merge remote-tracking branch 'origin/develop' into develop 2024-06-14 12:53:45 +02:00
3578afa37b Impostazione aggiorna dati modifica ordine orgcons 2024-06-14 12:53:37 +02:00
a030dd13b3 Fix creazione prima atb_offt per nuovo anno 2024-06-13 18:07:10 +02:00
bfe7e3c972 aggiunta pk 2024-06-13 16:57:14 +02:00
0b6a1b871f Sistemata cancellazione utenti 2024-06-13 13:31:43 +02:00
f301eacef3 Merge remote-tracking branch 'origin/develop' into develop 2024-06-13 13:23:57 +02:00
1b51013d0f sistemato contollo per errori esportazione 2024-06-13 13:17:16 +02:00
3dab6a9cf1 sistemata query per visulizzare ultima attività 2024-06-13 13:17:00 +02:00
8b56c4f136 Merge remote-tracking branch 'origin/develop' into develop 2024-06-13 10:05:33 +02:00
a14e9f85e1 [Smetar - Centri di lavoro]
- Aggiunto servizio per fetch allegati lotto
- Aggiunto invio eventi ordine al collector
2024-06-13 10:05:23 +02:00
56326bcb94 Merge tag 'Hotfix-61' into develop
Finish Hotfix-61
2024-06-12 15:25:47 +02:00
d2247e559c Finish Hotfix-61 2024-06-12 15:25:46 +02:00
d5059a49a9 Migration ordini acquisto Gioiella 2024-06-12 15:25:20 +02:00
5ff6412128 Merge branch 'master' into develop 2024-06-12 14:24:21 +02:00
25a08389df Finish Hotfix-61 2024-06-12 14:24:20 +02:00
2171dfc16c eliminata l'ora dalla data delle griglie di vendita 2024-06-12 14:24:00 +02:00
8346d16d7d Aggiunta possibilità di caricare attività di anni precedenti 2024-06-12 10:09:20 +02:00
bed96c9ed4 Aggiunta regola per ricalcolo posizione viaggi in giorno al salvataggio 2024-06-12 09:37:33 +02:00
e67ca853b8 Merge remote-tracking branch 'origin/develop' into develop 2024-06-11 17:45:08 +02:00
7ebf5af9f9 Configurazione gestione oneri/traporti 2024-06-11 17:45:03 +02:00
e626f1e1c2 aggiunto a Canone a Pagamento 2024-06-11 16:12:04 +02:00
8818d7c839 Merge remote-tracking branch 'origin/develop' into develop 2024-06-11 15:33:53 +02:00
c506709c33 Configurazione gestione oneri/traporti 2024-06-11 15:33:45 +02:00
97c458b674 Merge branch 'master' into develop 2024-06-11 15:28:03 +02:00
638ab3b5ed Finish Hotfix-61 2024-06-11 15:28:02 +02:00
414d62aa6c SISTEMATO POPOLAMENTO GIACENZE 2024-06-11 15:26:59 +02:00
917cf529d8 Aggiunta where su idBdg in RG_AnalisiVendite_KPI 2024-06-11 15:16:08 +02:00
6a39ca8972 Merge remote-tracking branch 'origin/develop' into develop 2024-06-11 11:55:24 +02:00
aaa03da726 aggiunta setup e getListinoVenditaRange 2024-06-11 11:55:17 +02:00
7115254c53 Merge remote-tracking branch 'origin/develop' into develop 2024-06-11 10:57:28 +02:00
8926fe4cf4 Elimnati due campi da VTB_VETT 2024-06-11 10:57:18 +02:00
777ab4c223 Elimnati due campi da VTB_VETT 2024-06-11 10:57:14 +02:00
fb66797fe0 Finish Hotfix-61 2024-06-11 10:00:48 +02:00
b1bed3bfab Merge branch 'master' into develop 2024-06-11 10:00:48 +02:00
ed7a2a0374 sistemare errore nella chiusura dei tagli prezzo 2024-06-11 10:00:37 +02:00
c9fb344849 Gestito flag includi tara in peso e tipologia ripartizione per pedana in costi trasporto/oneri 2024-06-10 19:33:31 +02:00
fcd45a187a Gestito flag includi tara in peso e tipologia ripartizione per pedana in costi trasporto/oneri 2024-06-10 19:33:23 +02:00
e6319eb7c8 - Migration per cancellare ABILITA_DUPLICA_ORDINE e creare ABILITA_CREA_DUPLICA_ORDINE 2024-06-10 13:10:30 +02:00
35702757b9 Merge remote-tracking branch 'origin/develop' into develop 2024-06-10 12:31:14 +02:00
2a59351e09 Gestione ALIAS nome_ditta in stampa etichette 2024-06-10 12:31:07 +02:00
5067eff40b Gestita creazione della commessa direttamente nel preventivo 2024-06-10 11:53:01 +02:00
b8c4caaa9b Sistemato getActivity per i clienti 2024-06-07 19:05:46 +02:00
fad75298f9 Fix link email creazione ticket 2024-06-07 19:05:03 +02:00
f125e339f5 [CARELLI] Importazione Griglie di Vendita 2024-06-07 19:04:22 +02:00
f69848f748 Quando si registra un nuovo utente inviare un'email a Helpdesk. 2024-06-07 19:02:40 +02:00
27a1c0efe9 Aggiunto controllo nella creazione dei FRUMA se il documento inserito esiste realmente. 2024-06-07 18:57:31 +02:00
2bed8730c5 - Aggiunto wtbJreptSetup 'STAMPA_LISTINI_VENDITA_RANGE_PEDANE' 2024-06-07 17:34:40 +02:00
cf56f61962 modifiche a mrp per gestire i fabbisogni a data 2024-06-06 18:14:00 +02:00
81d05fa0ae Export documenti DAS 2024-06-06 16:39:52 +02:00
067a059532 Export documenti DAS 2024-06-06 16:39:44 +02:00
94ac3fb90c aggiunta nuova colonna su mtb_part 2024-06-06 15:10:56 +02:00
cdc3bb92cc Controllo sul null 2024-06-06 15:10:10 +02:00
8153291184 Merge branch 'master' into develop 2024-06-06 11:34:47 +02:00
6f20b34196 Finish Hotfix-61 2024-06-06 11:34:46 +02:00
6d01cfd280 Fix json in response 2024-06-06 11:34:40 +02:00
1a1cbaed28 Merge branch 'master' into develop 2024-06-06 10:52:04 +02:00
d18f51ca6d Finish Hotfix-61 2024-06-06 10:52:04 +02:00
abd843ad7a Fix download allegati 2024-06-06 10:51:55 +02:00
43297555f0 filtrate le attività per persona di riferimento 2024-06-06 09:42:07 +02:00
a4717ba245 Merge remote-tracking branch 'origin/develop' into develop 2024-06-05 17:49:11 +02:00
a51325ede0 Fixato scheduler Spring 2024-06-05 17:47:21 +02:00
4a81d6e988 Modificata regola assegnazione commessa su righe ordine (Fatto in modo che sulle righe dell'ordine di produzione non venga assegnata la commessa) 2024-06-05 17:41:46 +02:00
c9f9c63ef2 Finish Hotfix-61 2024-06-05 17:19:07 +02:00
a6958eee39 Merge branch 'master' into develop 2024-06-05 17:19:07 +02:00
b6eec691f5 Aggiunto filtro che imposta l'encoding su request e response 2024-06-05 17:18:58 +02:00
90cbc94e6a Trying to fix content type 2024-06-05 17:11:15 +02:00
02ca6eea4a eliminato _ da pattern per cancellazione viste e tabelle temporanee 2024-06-05 12:37:14 +02:00
9629be196a Finish Hotfix-61 2024-06-05 11:24:14 +02:00
3e461bc692 Merge branch 'master' into develop 2024-06-05 11:24:14 +02:00
1878ce5673 [rOSSOGRAGANO]
provedura salvataggio ddt in massa
2024-06-05 11:24:06 +02:00
4b55c57da1 Merge branch 'master' into develop 2024-06-05 10:39:59 +02:00
7814e3c0db Finish Hotfix-61 2024-06-05 10:39:58 +02:00
129e52a116 Fix colli tosca 2024-06-05 10:36:22 +02:00
d97e582802 Merge branch 'master' into develop 2024-06-05 10:02:59 +02:00
e98bf98a3b Finish Hotfix-61 2024-06-05 10:02:59 +02:00
12b9e432aa aggiunto valore di default per il parametro requestMethod nelle pianificate 2024-06-05 10:02:42 +02:00
b411e331a9 Merge remote-tracking branch 'origin/develop' into develop 2024-06-05 09:58:35 +02:00
d1d5c7ca21 aggiunto valore di default per il parametro requestMethod nelle pianificate 2024-06-05 09:58:26 +02:00
c348be1365 Merge remote-tracking branch 'origin/develop' into develop 2024-06-05 09:08:07 +02:00
ddff8bb078 Gestione quantità multipla SMETAR 2024-06-05 09:07:58 +02:00
0b7ece1c48 Finish Hotfix-61 2024-06-04 22:16:08 +02:00
8722de1d68 Merge branch 'master' into develop 2024-06-04 22:16:08 +02:00
b1b2e00b87 Fix onlyPkMaster in sync entity 2024-06-04 22:16:01 +02:00
d895eccda3 Merge branch 'master' into develop 2024-06-04 21:25:37 +02:00
bf57c1442e Finish Hotfix-61 2024-06-04 21:25:36 +02:00
dbd9bad7e7 Fix onlyPkMaster in sync entity 2024-06-04 21:25:30 +02:00
c466abb836 Merge branch 'master' into develop 2024-06-04 21:01:25 +02:00
203808d323 Finish Hotfix-61 2024-06-04 21:01:24 +02:00
7189cae9e3 Fix onlyPkMaster in sync entity 2024-06-04 21:01:19 +02:00
ebce20e389 Merge branch 'master' into develop 2024-06-04 20:38:50 +02:00
d1c5d4d29f Finish Hotfix-61 2024-06-04 20:38:49 +02:00
90f5a08c50 Fix onlyPkMaster in sync entity 2024-06-04 20:38:41 +02:00
966bc1e9b3 Merge branch 'master' into develop 2024-06-04 20:34:59 +02:00
6179d07564 Finish Hotfix-61 2024-06-04 20:34:59 +02:00
946168517e Fix onlyPkMaster in sync entity 2024-06-04 20:34:53 +02:00
ec6b888840 Merge branch 'master' into develop 2024-06-04 20:14:45 +02:00
3fdf558b6c Finish Hotfix-61 2024-06-04 20:14:44 +02:00
c57344e334 Fix onlyPkMaster in sync entity 2024-06-04 20:14:37 +02:00
4c5b847c14 Merge branch 'master' into develop 2024-06-04 19:40:55 +02:00
30faa66519 Finish Hotfix-61 2024-06-04 19:40:54 +02:00
476ff92f30 [ROSSOGARGANO]
creato certificato di consegna anche se qtaCol = 0
2024-06-04 19:40:48 +02:00
18dd9dc8a3 Merge branch 'master' into develop 2024-06-04 18:59:24 +02:00
d292ab6ac0 Finish Hotfix-61 2024-06-04 18:59:24 +02:00
9a90387df6 Fix call pianificate 2024-06-04 18:59:18 +02:00
c1909b58ab Merge branch 'master' into develop 2024-06-04 18:37:25 +02:00
9b77c4a693 Finish Hotfix-61 2024-06-04 18:37:24 +02:00
cf672c349b Fix call pianificate 2024-06-04 18:37:18 +02:00
800f1d84d9 Merge branch 'master' into develop 2024-06-04 18:24:45 +02:00
f72c0962c8 Finish Hotfix-61 2024-06-04 18:24:45 +02:00
d4303b053f Fix call pianificate 2024-06-04 18:24:30 +02:00
6737226d91 sistemato salvataggio listini con listino di riferimento e varie migration 2024-06-04 18:11:07 +02:00
b0492de6d4 Merge remote-tracking branch 'origin/develop' into develop 2024-06-04 18:08:59 +02:00
4c4d608ac1 Merge remote-tracking branch 'origin/feature/Feature-variazioni2' into feature/Feature-variazioni2
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/retail/export/service/VariazioniPvExportServices.java
2024-06-04 18:01:56 +02:00
6648d4f655 Fix after merge 2024-06-04 18:01:42 +02:00
2a4e57de0d Fix after merge 2024-06-04 18:00:37 +02:00
9ab0e5fc0f Merge branch 'master' into develop 2024-06-04 11:36:55 +02:00
6a605f9db0 Finish Hotfix-61 2024-06-04 11:36:54 +02:00
a7fbe6e491 Fix doppio slash in automation method call 2024-06-04 11:10:59 +02:00
b4252581b5 Merge remote-tracking branch 'origin/develop' into develop 2024-06-04 10:39:33 +02:00
fcde03ce4b Merge branch 'master' into develop 2024-06-03 19:26:04 +02:00
363258f6ac Finish Hotfix-61 2024-06-03 19:26:03 +02:00
06580f507b Fix getDTO in ResponseJSONObjectMapper 2024-06-03 19:25:57 +02:00
82db179601 Creazione servizio per archiviazione file allegati in zip 2024-06-03 18:31:39 +02:00
565336e454 piccoli miglioramenti a registrazione e verifica inventario 2024-06-03 16:23:24 +02:00
692a68d65e aggiunta setup per impedire la visualizzazione del report degli aggiornamenti agli utenti non amministratori 2024-06-03 13:02:40 +02:00
db819a69f1 Merge remote-tracking branch 'origin/develop' into develop 2024-06-03 12:23:22 +02:00
6fe25e1405 aggiunto modificato da nella procedura di importazione listini di pazienza 2024-06-03 12:23:19 +02:00
165770699e Merge branch 'master' into develop 2024-06-03 10:26:45 +02:00
3ae6180584 Finish Hotfix-61 2024-06-03 10:26:44 +02:00
bb11ae9d36 Fix su invio email di errore in caso di headless delle export 2024-06-03 10:26:24 +02:00
8e56d53796 Merge branch 'master' into develop 2024-06-03 10:14:24 +02:00
6d2f268ff3 Finish FixJacksonValNull 2024-06-03 10:14:24 +02:00
5362c4f39a Fix jackson inclusione valori null in risposte 2024-06-03 10:14:17 +02:00
875821df08 Merge branch 'master' into develop 2024-06-03 09:54:07 +02:00
51ae525983 Finish Hotfix-61 2024-06-03 09:54:07 +02:00
141f7b6751 se ora ins act è nulla inserire data ins act 2024-06-03 09:54:00 +02:00
4c5c628d23 nuova funzione di suggestCode ean14 2024-05-31 17:39:13 +02:00
1d8449773d [Migrations]
- Aggiunto "REPORT_NAME" a "RILEVAZIONI_STEUP" per la stampa dell'ispezioni di Carelli
- Fix setup_query "ATTACH_LIBERI", problema con la query, campi data_doc e num_doc
2024-05-31 16:32:01 +02:00
5479e9dbcd Personalizzazione importo ordini EDI per data decorrenza CONAD GRAMM 2024-05-30 17:50:12 +02:00
52a0b1df5c Merge remote-tracking branch 'origin/develop' into develop 2024-05-30 16:32:47 +02:00
e0f5c9814a Modifica procedura chiusura commessa MAGGIO 2024-05-30 16:32:43 +02:00
39b928b118 Merge remote-tracking branch 'origin/develop' into develop 2024-05-30 15:51:47 +02:00
378fc24198 [ROSSOGARGANO - Piano accettazione]
fix stampa con calibro null
2024-05-30 15:51:25 +02:00
b6737aca0f visualizzare descrizione sottoattivtà solo se aperta 2024-05-30 15:10:42 +02:00
12115880a1 Merge remote-tracking branch 'origin/develop' into develop 2024-05-30 13:20:09 +02:00
b3a248d754 Fix procedura esportazione tracciato tosca 2024-05-30 13:19:51 +02:00
c41502a829 Aggiunto controllo su null 2024-05-30 13:18:05 +02:00
47f3ebcf4d Creata procedura di esportazione ordini per Gioiella 2024-05-30 09:48:47 +02:00
b7646d8ce3 Modifica tracciato EURITMO e GS per gestione data decorrenza per clienti GRAMM (CONAD, ASPIAG, GS e IPERMONTEBELLO) 2024-05-30 09:39:01 +02:00
e2e2e09bbb Modifica tracciato EURITMO e GS per gestione data decorrenza per clienti GRAMM (CONAD, ASPIAG, GS e IPERMONTEBELLO) 2024-05-30 09:38:25 +02:00
98e024ed5a Modifica tracciato EURITMO e GS per gestione data decorrenza per clienti GRAMM (CONAD, ASPIAG, GS e IPERMONTEBELLO) 2024-05-30 09:12:26 +02:00
a2fe597ed6 Merge remote-tracking branch 'origin/develop' into develop 2024-05-29 18:24:18 +02:00
946089e307 Gestione tara nel calcolo del peso in Gestione documenti/trasporto 2024-05-29 18:24:10 +02:00
990e0e7fdc Merge branch 'master' into develop 2024-05-29 16:33:49 +02:00
d16225e111 Finish Hotfix-61 2024-05-29 16:33:49 +02:00
d4530567d7 sistemata lettura campo in esportazione slim2k 2024-05-29 16:33:25 +02:00
a82106edf0 Merge remote-tracking branch 'origin/develop' into develop 2024-05-29 13:04:24 +02:00
5c3e25b41c Aggiunta descrizione su campo flag_sezione in MSSQL 2024-05-29 13:04:17 +02:00
ce74ff45d7 Configurazione SUIT_PUGLIA_FARMES 2024-05-29 13:04:00 +02:00
b66938e367 Configurazione SUIT_PUGLIA_FARMES 2024-05-29 13:03:52 +02:00
067c7c24fc [ROSSOGARGANO - Piano accettazione]
Gestione calibri e stampe etichette
2024-05-29 12:31:19 +02:00
ebb9db1b92 Merge tag 'Hotfix-62' into develop
Finish Hotfix-62
2024-05-28 18:10:27 +02:00
c5ef5c6f83 Finish Hotfix-62 2024-05-28 18:10:25 +02:00
ff96e73483 [CARELLI] Fix path in importazione listini e promozioni di vendita 2024-05-28 18:09:32 +02:00
6fe75d1b57 aggiunto controllo su inevasi per le rotture di stock 2024-05-28 18:01:26 +02:00
f306d53d3a Fix data in esportazione tracciato tosca 2024-05-28 17:26:35 +02:00
d7c73745ff [GRAMM] Aggiunta setup che consente di disabilitare il picking libero quando si spara un'etichetta cartone 2024-05-28 17:25:55 +02:00
d479180337 [ORDIFY] Aggiunta setup abilitare l'inserimento del codice hash dispositivo nel campo rif_ord in fase di esportazione dell'ordine 2024-05-28 17:24:22 +02:00
a664c1b7e5 Merge remote-tracking branch 'origin/develop' into develop 2024-05-28 17:12:05 +02:00
f89eb0fc2f Implementata clean delle tabelle e delle viste temporanee 2024-05-28 17:11:16 +02:00
9d403f87f4 aggiunto campo tipo_codice_imballo nella tabella mtb_aart
aggiunto campo tipo_cod_barre nella tabella mtb_aart_bar_code
2024-05-28 16:03:23 +02:00
6b47fb3ad3 Merge branch 'master' into develop 2024-05-28 14:45:40 +02:00
b78180374e Finish Hotfix-61 2024-05-28 14:45:39 +02:00
d148de7617 modificata procedura di esportazione ordini per slim2k 2024-05-28 14:45:31 +02:00
a6fd50b523 Merge branch 'master' into develop 2024-05-27 15:27:59 +02:00
95a49495c3 Finish Hotfix-61 2024-05-27 15:27:59 +02:00
457e9e2a45 ritornare indietro con la regola perché per le logiche di Steup questa regola non va bene 2024-05-27 15:27:52 +02:00
b30d0deeda [ROSSOGARGANO]
Aggiunta setup per suggerimento lotto in creazione ordine da mrp
2024-05-27 12:11:09 +02:00
34c441eaff Merge tag 'Carelli_Inventari_FixCodMdep' into develop
Finish Carelli_Inventari_FixCodMdep
2024-05-27 12:02:00 +02:00
4f3b0c81c7 Finish Carelli_Inventari_FixCodMdep 2024-05-27 12:01:59 +02:00
6729807363 [PvmService]
- Fix condizione where su cod_mdep
2024-05-27 12:01:41 +02:00
cdedd25c23 Unificata e migliorata logica di creazione delle mail di errore con un template unico 2024-05-27 10:40:53 +02:00
c0ae8f98f8 Merge remote-tracking branch 'origin/develop' into develop 2024-05-27 10:13:25 +02:00
83e770fb00 DAS 2024-05-27 10:13:21 +02:00
a2de1582cc Merge branch 'refs/heads/develop' into feature/Spring5
# Conflicts:
#	ems-core/src/main/java/it/integry/ems/sync/SyncManager.java
2024-05-27 09:42:13 +02:00
0296fc1666 [ROSSSOGARGANO]
- inserimento automatico barcode_ul
[CARELLI - STEUP]
gestiti nuovi campi segnalazioni
2024-05-27 09:40:56 +02:00
4fd700d771 [ROSSSOGARGANO]
- inserimento automatico barcode_ul
[CARELLI - STEUP]
gestiti nuovi campi segnalazioni
2024-05-27 09:40:50 +02:00
cc5401f193 Unificata e migliorata logica di creazione delle mail di errore con un template unico 2024-05-24 18:50:11 +02:00
c0654f4ab3 Merge remote-tracking branch 'origin/develop' into develop 2024-05-24 17:56:54 +02:00
475fbe7c2c Finish MRP_RimossoCodMdep 2024-05-24 17:33:26 +02:00
842cece89f Merge branch 'develop' into feature/MRP_RimossoCodMdep 2024-05-24 17:33:07 +02:00
035fe7c8bc [MrpDailyMaterialReqService]
- Commentato toMatch con il codMdep
2024-05-24 17:32:59 +02:00
7e54ca7b92 Merge tag 'Materica_CrmService_FixSalvaAttivita' into develop
Finish Materica_CrmService_FixSalvaAttivita
2024-05-24 17:30:23 +02:00
4892d75946 Finish Materica_CrmService_FixSalvaAttivita 2024-05-24 17:30:22 +02:00
3c821317f5 [CrmService]
- Fix effectiveTime null
- Pulizia codice
2024-05-24 17:30:09 +02:00
8073f9cd28 Merge branch 'develop' into feature/MRP_RimossoCodMdep 2024-05-24 17:26:35 +02:00
55933b974e [VGALIMENTI] Creato tracciato per tosca 2024-05-24 15:29:33 +02:00
29e4748521 Migliorie servizio variazioni 2024-05-24 11:50:04 +02:00
b192f0db5d Finish StampaOrdineTwoB 2024-05-24 11:09:58 +02:00
5e975a62b9 Merge branch 'develop' into feature/StampaOrdineTwoB 2024-05-24 11:09:53 +02:00
9eec9b81ae Merge branch 'refs/heads/develop' into feature/Feature-variazioni2 2024-05-24 10:43:11 +02:00
65cbe8644b [AGRIBOOK] Fix query cronologia raccolte 2024-05-24 09:28:05 +02:00
997cd9ee31 Gestito correttamente ritorno importazione listino MS 2024-05-23 16:29:52 +02:00
78b68dc135 Merge remote-tracking branch 'origin/develop' into develop 2024-05-23 15:30:29 +02:00
0b62b93484 Modifica messaggio errorre import documenti STEF 2024-05-23 15:30:22 +02:00
3831cfd4c7 Esportazione documenti DAS Accise 2024-05-23 15:30:15 +02:00
efa2b3a8af Modifica messaggio errorre import documenti STEF 2024-05-23 15:29:43 +02:00
862ca8fbbd Merge remote-tracking branch 'origin/develop' into develop 2024-05-23 15:19:18 +02:00
6cca2bf89e Importazione packing list Eviosys 2024-05-23 15:19:09 +02:00
2620d061b4 sistemate note listino nella procedura di aggiornamento massiva 2024-05-23 15:17:02 +02:00
bf4a4359f7 Merge remote-tracking branch 'origin/develop' into develop 2024-05-23 12:32:43 +02:00
075d441ecc aggiunto campo iban nella tabella jtb_flav 2024-05-23 12:30:40 +02:00
ed0a654e9a Merge branch 'develop' into feature/MRP_RimossoCodMdep 2024-05-23 12:23:59 +02:00
a37a878c92 Finish OrdiKids 2024-05-23 12:00:31 +02:00
32d888472f Merge branch 'develop' into feature/OrdiKids 2024-05-23 11:36:47 +02:00
68f7123eec - Aggiunto NomeNegozioRequired nei settings di Ordikids
- Creazione migration setup NomeNegozioRequired
2024-05-23 11:36:32 +02:00
099093c66a Aggiornato metodo di lettura file xlsx 2024-05-23 10:56:46 +02:00
921ca80eef Merge branch 'refs/heads/develop' into feature/Feature-variazioni2 2024-05-23 10:47:53 +02:00
8796b14d39 Modifica procedura Trasporti Verttore 2024-05-22 18:16:22 +02:00
01737e7fa8 Merge remote-tracking branch 'origin/develop' into develop 2024-05-22 18:16:05 +02:00
2cb14e2452 Modifica Maggio chiusura commessa 2024-05-22 18:15:59 +02:00
f18aacd809 stampa ordine con immagini 2024-05-22 17:05:41 +02:00
a805edc181 Merge branch 'develop' into feature/OrdiKids 2024-05-22 09:36:39 +02:00
1bb2416059 Merge branch 'master' into develop 2024-05-21 18:27:23 +02:00
2342bbf4d4 Finish FixBooleanDefaultValue 2024-05-21 18:27:22 +02:00
13bc0e665e Corretto valore default per campi boolean nelle entity 2024-05-21 18:27:16 +02:00
396b6b7d80 Merge tag 'Hotfix-60' into develop
Finish Hotfix-60
2024-05-21 17:45:47 +02:00
9c09c36a0b Finish Hotfix-60 2024-05-21 17:45:46 +02:00
c4dae52dff Sistemato problema default su flag_add_trasp 2024-05-21 17:45:28 +02:00
5f96e7b0dd sistemata migration 2024-05-21 16:11:20 +02:00
5a2e7b75b4 Aggiunto nuovo campo nella lista degli articoli 2024-05-21 15:51:43 +02:00
1d39fb8ad1 Query Custom Qtà multipla su smetar 2024-05-21 15:07:38 +02:00
9c0e1258a3 Aggiunto numero minimo di capi ordinabile per colore 2024-05-21 13:51:23 +02:00
513a3ad610 Merge branch 'develop' into feature/MRP_RimossoCodMdep 2024-05-21 11:40:10 +02:00
c7f17f771b aggiunta linea dell'ordine di lavoro 2024-05-21 11:39:48 +02:00
a9fd75ff52 - Commentato setCodMdep 2024-05-21 09:45:22 +02:00
ef3e7d0fa6 Merge branch 'master' into develop 2024-05-20 16:46:04 +02:00
9c802252c6 Finish ModifVtbViaggi 2024-05-20 16:46:03 +02:00
4928fd1f0c Aggiunte colonne posizione e confermato in vtb_viaggi 2024-05-20 16:45:55 +02:00
9d80c66605 modificato report riepilogo documenti di vendita 2024-05-20 13:22:15 +02:00
8607c70bbe Finish Hotfix-59 2024-05-20 12:31:55 +02:00
a7d235e53a Merge tag 'Hotfix-59' into develop
Finish Hotfix-59
2024-05-20 12:31:55 +02:00
0ca0182687 Set flag_calc_peso_intra a N 2024-05-20 12:31:44 +02:00
2190cf2221 Set flag_calc_peso_intra a N 2024-05-20 12:31:31 +02:00
e86fdce970 Merge branch 'refs/heads/develop' into feature/Feature-variazioni2 2024-05-20 10:07:30 +02:00
63b067cb7e Corretti nomi colonne in MtbLisv 2024-05-17 19:02:27 +02:00
abf274f0c5 Kit mannutenzione SMETAR 2024-05-17 18:43:35 +02:00
fd01e0446d Sistemata importazione promozioni apulia 2024-05-17 13:52:32 +02:00
4a371cda80 se l'attività viene pianificata ad un solo utente modificare l'utete sull'attività 2024-05-17 13:35:07 +02:00
d1da0d0f9e Merge remote-tracking branch 'origin/develop' into develop 2024-05-17 12:41:42 +02:00
6fe356bad7 sistemata query 2024-05-17 12:41:38 +02:00
40d9aa1790 Aggiunta parametro per permettere stampa di più copie in pdf 2024-05-17 10:37:57 +02:00
b7cac443c1 sistemata sintassi 2024-05-17 10:29:16 +02:00
93fbd9d154 Fix query storico raccolte agribook 2024-05-17 09:48:39 +02:00
13a5ce024e Merge branch 'refs/heads/develop' into feature/Feature-variazioni2 2024-05-16 18:59:18 +02:00
a60a6c028c Merge branch 'master' into develop 2024-05-16 15:12:58 +02:00
37bb46db79 Finish Hotfix-59 2024-05-16 15:12:57 +02:00
db56a05559 sistemata query per giacenza progressiva 2024-05-16 15:12:51 +02:00
a35003d750 migration getlistiniVendita 2024-05-16 15:12:25 +02:00
cd3caf9b76 [Inventario]
- Aggiunto userName nella RowInventarioDto per mostrarlo nel modulo inventario
- Creata join sulla getInventari
2024-05-16 13:11:17 +02:00
864f4303a0 Finish Hotfix-59 2024-05-16 13:06:38 +02:00
c4eadb03b9 Merge branch 'master' into develop 2024-05-16 13:06:38 +02:00
a9e7ccb870 -risolta verifica inventario
-inserite cancellazioni listini di apulia
2024-05-16 13:06:32 +02:00
ff518e3525 aggiunti nuovi campi nei listini e sistemata verifica inventario 2024-05-16 11:00:45 +02:00
03b03e8831 Merge branch 'develop' into feature/Spring5 2024-05-15 17:17:22 +02:00
ee96e8e91b aggiunta cancellazione movimenti contabili 2024-05-15 16:39:30 +02:00
31e1df6786 Migliorato recupero scontrini 2024-05-15 16:39:14 +02:00
f75c2c7fc9 Aggiunta campo flag_calc_peso_intra su tipi documento e flag_sezione su dtb_docr 2024-05-15 16:11:00 +02:00
3b115b5e08 Aggiunta campo flag_calc_peso_intra su tipi documento e flag_sezione su dtb_docr 2024-05-15 16:10:52 +02:00
542a0d7a8a Finish Hotfix-58 2024-05-15 10:38:33 +02:00
0c869066b4 Merge tag 'Hotfix-58' into develop
Finish Hotfix-58
2024-05-15 10:38:33 +02:00
6ec4bf91e0 Modifica CMR per problema su note contatto mancanti 2024-05-15 10:38:17 +02:00
e8d316cb83 Finish Hotfix-58 2024-05-15 09:42:21 +02:00
0c8d4e2dc4 Merge branch 'master' into develop 2024-05-15 09:42:21 +02:00
63c7ed7faf aggiunta regola per completare cod_art_for anche nella mtb_lisa 2024-05-15 09:42:15 +02:00
82bcf9ee15 Fix deserializzazione entity 2024-05-14 17:33:19 +02:00
e8d116cbb8 Merge branch 'develop' into feature/Spring5 2024-05-14 17:33:15 +02:00
eeac0a0348 Finish Hotfix-58 2024-05-14 16:44:06 +02:00
2a01d0ed7d Merge branch 'master' into develop 2024-05-14 16:44:06 +02:00
0567665ca1 Fix su salvataggio elementi object storage 2024-05-14 16:44:00 +02:00
1b38a00056 Riattivato filtro per conversione entity in json 2024-05-14 16:06:04 +02:00
47cfdb6e7f Merge branch 'master' into develop 2024-05-14 12:19:12 +02:00
a86664ee2e Finish Hotfix-58 2024-05-14 12:19:11 +02:00
e420cd2d54 Fix menu 2024-05-14 12:19:06 +02:00
b1d1c548b4 Merge branch 'develop' into feature/Spring5 2024-05-14 12:02:34 +02:00
3a99747e2a [WMS]
- corrette sottrazioni di variabile null
[CARELLI - STEUP]
- download descrizioni attivita in login
- salvataggio priorita e persona rif
2024-05-14 12:02:08 +02:00
66a3d9c140 Cose 2024-05-14 11:51:39 +02:00
f92e35ccc6 Merge branch 'refs/heads/develop' into feature/Feature-variazioni2 2024-05-14 11:44:47 +02:00
1d859f3c73 Merge branch 'refs/heads/develop' into feature/Spring5 2024-05-14 11:43:11 +02:00
55c97f3441 Finish Hotfix-58 2024-05-14 11:39:12 +02:00
c6d88346d1 Merge branch 'master' into develop 2024-05-14 11:39:12 +02:00
03b3a25b86 Migration per AnsiPadding 2024-05-14 11:39:05 +02:00
5c46e4aed5 Aggiunta campo Flag_calc_peso_intra 2024-05-13 18:33:06 +02:00
7743569034 Aggiunta campo Flag_calc_peso_intra 2024-05-13 18:32:59 +02:00
b1d10af821 Aggiunta campo Flag_calc_peso_intra 2024-05-13 18:20:34 +02:00
cf526b8003 Aggiunta campo Flag_calc_peso_intra 2024-05-13 18:02:03 +02:00
4311b93611 Merge remote-tracking branch 'origin/develop' into develop 2024-05-13 18:01:53 +02:00
432e52536b Aggiunta campo Flag_calc_peso_intra 2024-05-13 18:01:44 +02:00
3f062c9370 Finish FixMES 2024-05-13 17:50:11 +02:00
9cc3abe964 Merge branch 'master' into develop 2024-05-13 17:50:11 +02:00
b1a7ea4482 Corretto inserimento data chiusura lotto in caso di terminazione linea 2024-05-13 17:50:00 +02:00
37219b4fb6 [AGRIBOOK] Modificate logiche gestione previsione raccolta 2024-05-13 17:30:58 +02:00
4d38fd8fb3 Aggiunta campo Flag_calc_peso_intra 2024-05-13 15:27:14 +02:00
0376b4c790 Aggiunta campo Flag_calc_peso_intra 2024-05-13 15:27:02 +02:00
88b73f950d Merge branch 'master' into develop 2024-05-13 11:17:12 +02:00
21ab0fdc0d Finish Hotfix-58 2024-05-13 11:17:11 +02:00
21021cec1f Aggiunta setup per controllo ordini multipli su mes 2024-05-13 11:17:02 +02:00
4187aabd11 Modifiche spring5 2024-05-13 11:07:19 +02:00
7d23d4c288 Merge branch 'develop' into feature/Spring5 2024-05-13 09:22:24 +02:00
d7da677fdb [Monitoraggio Linee]
- Migration per FLAG_SUGGESTCODEPARTITAMAG_ORDLAV
- Migration per COD_MART_SFRIDO, ANNOTAZIONI_SFRIDO, ETICHETTA_SFRIDO
2024-05-10 18:16:07 +02:00
53d546f99a upload allegati 2024-05-10 17:19:37 +02:00
8fce6a446f Gestione quantità multipla 2024-05-10 16:33:34 +02:00
08d48a4601 Aggiunto controllo per qta lav null in dtb ord steps 2024-05-10 15:45:29 +02:00
d31d55b00e [AGRIBOOK] Aggiunta lista prevRaccNumeroSettimane in retrieveOrders 2024-05-10 15:43:14 +02:00
ec4d0076b6 Settato dateTimeRow in fase di salvataggio colli 2024-05-10 15:40:04 +02:00
1365aadaf0 Aggiunta importazione sugli scontrini di reso il riferimento dello scontrino di vendita 2024-05-10 15:31:01 +02:00
957bcfb52f Ripristinato update jackson 2024-05-10 13:04:14 +02:00
007f0c5808 Merge branch 'refs/heads/develop' into feature/Spring5 2024-05-10 11:44:55 +02:00
fa9c1f83eb Sostituito check di annotation Master tramite il nuovo scan mapping 2024-05-10 11:11:09 +02:00
98d479e82c Merge branch 'develop' into feature/Spring5
# Conflicts:
#	pom.xml
2024-05-10 11:03:27 +02:00
9fa386ea8c Ricostruito metodo di calcolo dei query fields da inserire nel prepared statement in fase di insert entity 2024-05-10 10:51:05 +02:00
df20c13204 Aggiunta vista per fabbisogni sfusi biolevante 2024-05-09 17:08:49 +02:00
2d24a1beb3 Aggiornato swagger2 alla versione 3 2024-05-09 15:45:06 +02:00
ecb6175c64 Merge remote-tracking branch 'origin/develop' into develop 2024-05-09 15:12:48 +02:00
5b1a866996 Revert versione di Jackson 2024-05-09 15:12:40 +02:00
1004c66965 Aggiunta quantità multipla ordinabile in importazione listini di acquisto 2024-05-09 13:20:01 +02:00
1fbf875c16 Gestita assegnazione data consegna del cliente per MERCADONA 2024-05-09 13:19:02 +02:00
ad8109ed65 Gestito ordinamento DESC su acquisizione cliente in allega fatture passive 2024-05-09 13:18:17 +02:00
05ae4be472 Merge remote-tracking branch 'origin/develop' into develop 2024-05-09 13:18:06 +02:00
406513488b Gestito ordinamento DESC su acquisizione cliente in allega fatture passive 2024-05-09 13:18:01 +02:00
71fdc5c9ea Merge branch 'develop' into feature/Spring5 2024-05-09 11:52:23 +02:00
d2e68c7c9b [IMPORTANT] Aggiornamento di Sping Framework alla versione 5 2024-05-09 11:42:44 +02:00
2bdbbcfa75 aggiunte note ordine 2024-05-09 10:53:03 +02:00
6ba4d0d310 Configurazione per swagger 2.9.2 2024-05-08 19:32:14 +02:00
e14cbb49c3 [IMPORTANT] Aggiornamento di alcune librerie (MinIO, Guava, Firebase, Jackson) 2024-05-08 18:15:32 +02:00
b5a7ba0054 Controllo regola checkCanDeleteOrder se steps non presenti 2024-05-08 16:44:24 +02:00
74ec8ff9eb Aggiunta voce di menu fabb_olio_linea 2024-05-08 11:04:39 +02:00
d1726b65ff [WMS] Refactoring per autenticatione OAuth 2024-05-07 18:55:12 +02:00
91994256d7 Correzione query getRowDb 2024-05-07 18:08:26 +02:00
cdc3f0076a Update su funzione f_getCostSpes e aggiunta setup per escludere i colli dalla giacenza mrp 2024-05-07 16:57:03 +02:00
0fa7eb5568 Spostata modifica MES_GetWorkOrders in nuova migrazione 2024-05-07 15:50:06 +02:00
ca0559bf7f Eliminta valorizzazione di data doc nella registrazione delle distinte perché a causa delle importFromParent andava a sovrascrivere ( solo nel caso di scadenze già chiuse prima della registrazione delle distinte) la data scad presente nella ctb_scad 2024-05-07 13:55:09 +02:00
1a02d73154 aggiunta setup 2024-05-07 13:39:34 +02:00
e899ea74b9 Aggiunto controllo su import ordini EDI che permette al cliente MERCADONA di assegnare la data consegna del file piuttosto che calcolarla 2024-05-06 16:35:32 +02:00
f8623173cb modifiche a procedura di allinemanto posture 2024-05-06 16:15:31 +02:00
67c9211123 Modifiche creazione ordini mes smetar e regole di cancellazione lotto 2024-05-06 12:47:07 +02:00
e76bc1e38e correzioni creazione documenti di carico scarico e accettazione ortofrutta 2024-05-03 19:38:28 +02:00
49576b0558 Gestione note fattura in generazione xml fattura elettronica 2024-05-03 18:50:27 +02:00
9a6b6f88d9 Fix query attività da installare 2024-05-03 10:10:32 +02:00
8388e939d3 Servizio accettazione materia prima ortofrutta 2024-05-02 20:02:26 +02:00
932bc290d4 salvato json che arriva da Tuidi 2024-05-02 18:59:18 +02:00
fdc7f9bf10 nuova gestione cespiti 2024-05-02 17:06:29 +02:00
e88489166b Aggiunta setup 2024-05-02 16:49:58 +02:00
83ae87b5d4 Merge remote-tracking branch 'origin/develop' into develop 2024-04-30 18:53:33 +02:00
1e278e4d7b [AGRIBOOK] Implementate settings 2024-04-30 18:53:24 +02:00
9cb671fc43 Aggiunto ordinamento per cod_anag desc in acquisizione codice fornitore fatture passive 2024-04-30 17:33:18 +02:00
aedf5cde77 Merge remote-tracking branch 'origin/develop' into develop 2024-04-29 16:52:57 +02:00
2a5831c971 Modifica export documenti STEF 2024-04-29 16:52:52 +02:00
84cc42cc40 modifiche a procedura di importazione listini di apulia 2024-04-26 17:11:16 +02:00
4cf9437688 nuovo invio variazioni pianificabile 2024-04-26 14:45:39 +02:00
eb15585c03 Merge branch 'develop' into feature/Feature-variazioni2 2024-04-26 12:56:21 +02:00
144b26bd5d modificata regola affinchè parta anche quando codJfas è valorizzato 2024-04-26 12:56:04 +02:00
0fbfffbdea aggiunta vista 2024-04-26 12:55:22 +02:00
892733b66d Export variazione 2024-04-26 12:49:35 +02:00
54735e3476 Merge branch 'develop' into feature/Feature-variazioni2 2024-04-26 10:03:21 +02:00
a599c46cfc Merge remote-tracking branch 'origin/develop' into develop 2024-04-24 19:46:48 +02:00
1c2ec14677 Aggiunto parametro lotto in CreateUDSRequestDTO 2024-04-24 19:46:41 +02:00
b0d18a151d Nascosto esegui per stato skipped in migrazioni 2024-04-24 17:00:45 +02:00
2d2d5d6bae Aggiunto pulsante per eseguire migrazioni su profilo specifico 2024-04-24 16:50:31 +02:00
374fe08fe2 Gestione criterio prod modificato 2024-04-24 13:02:43 +02:00
3f8bb86e15 Migrations Gestione criterio prod modificato 2024-04-24 11:52:44 +02:00
1e2190b1ad Aggiunto controllo su esistenza trigger in migration 2024-04-23 19:36:05 +02:00
09bb658367 Merge tag 'Biolevante_MRP_ReverseOrderGestione' into develop
Finish Biolevante_MRP_ReverseOrderGestione
2024-04-23 18:14:30 +02:00
c91e4f83e0 Finish Biolevante_MRP_ReverseOrderGestione 2024-04-23 18:14:30 +02:00
8c0fbede36 Migrations Gestione criterio prod modificato 2024-04-23 18:06:51 +02:00
61788b2c7f Fix registrazione imballi WMS 2024-04-23 18:04:51 +02:00
8ff0ed5756 nuovo invio variazioni pianificabile 2024-04-23 17:41:06 +02:00
e242956c61 nuovo invio variazioni pianificabile 2024-04-23 17:29:24 +02:00
58e8c56d37 [MrpDailyMaterialReq]
- Reso l'ordinamendo gestione DESC come da richiesta
- Pulizia codice
2024-04-23 16:35:31 +02:00
9b615738f3 Registrazione imballi WMS 2024-04-23 16:31:20 +02:00
26b19bb545 invio variazioni pianificato 2024-04-23 15:15:30 +02:00
8577366285 revisione file 2024-04-23 15:00:34 +02:00
65b82c29d4 aggiunta setup 2024-04-23 13:44:39 +02:00
e86d728acd Merge tag 'Biolevante_MRP_AggiuntaPriorita' into develop
Finish Biolevante_MRP_AggiuntaPriorita
2024-04-23 13:18:24 +02:00
87b3030b9e Finish Biolevante_MRP_AggiuntaPriorita 2024-04-23 13:18:23 +02:00
dfc61ec50c [MrpDailyMaterialReq]
- Aggiunto Priorita al DTO
- Inserito nelle varie query il campo priorita come numero fisso per impostare l'ordine come da richiesta
2024-04-23 13:18:12 +02:00
70b72d950a Finish Feature-ListinoRif 2024-04-23 12:38:48 +02:00
6302fbd5a9 Merge branch 'develop' into feature/Feature-ListinoRif 2024-04-23 12:38:42 +02:00
e1a3dc034e modificata logica dei listini di riferimento aggiunta versione del listino rif 2024-04-23 12:38:29 +02:00
4e934ed31c Aggiunto campo flag_esclusi_gruppo in fabbisogni 2024-04-23 11:49:10 +02:00
3f5d3a9d64 Aggiunto campo flag_esclusi_gruppo in fabbisogni 2024-04-23 11:49:02 +02:00
e72b00fe17 Sistemato problema valorizzazione cod_barre_imb 2024-04-23 09:38:30 +02:00
5e73631377 Sistemato problema valorizzazione cod_barre_imb 2024-04-23 09:38:21 +02:00
df04dba03f Finish Hotfix-57 2024-04-22 17:22:06 +02:00
ed35819ae5 Merge tag 'Hotfix-57' into develop
Finish Hotfix-57
2024-04-22 17:22:06 +02:00
2aac7353e2 Salvataggio invenatario in Farmmes Scrofaie 2024-04-22 17:21:47 +02:00
1cb380de45 Carelli: aggiunto intercode per alcune tipologie di promozioni 2024-04-22 15:31:27 +02:00
27bc8a2b32 Finish Hotfix-56 2024-04-22 12:55:48 +02:00
2e367f398f Merge tag 'Hotfix-56' into develop
Finish Hotfix-56
2024-04-22 12:55:48 +02:00
f022e89a73 Salvataggio TRASFERIMENTO_A_CESPITE in Farmmes Scrofaie 2024-04-22 12:55:29 +02:00
5b46046b87 Finish Hotfix-56 2024-04-22 12:02:34 +02:00
b62104ae91 Merge branch 'master' into develop 2024-04-22 12:02:34 +02:00
76a2e5b8ba Sistemato invio variazioni nel caso in cui nello stesso giorno c'è un inizio e una fine promo 2024-04-22 10:44:51 +02:00
4f9eb6ea13 Merge branch 'master' into develop 2024-04-22 09:58:04 +02:00
0c0e0d2ba6 Finish Hotfix-56 2024-04-22 09:58:03 +02:00
fc51f4fc74 Fix check versione menu 2024-04-22 09:57:54 +02:00
8583f29082 Gestita cancellazione TRASFERIMENTO_A_CESPITE in Farmmes Scrofaie 2024-04-19 18:20:26 +02:00
fc6a944f61 Merge remote-tracking branch 'origin/develop' into develop 2024-04-19 17:30:57 +02:00
1d0234f9ed Registrazione imballi WMS 2024-04-19 17:30:48 +02:00
75bd2abe12 Finish feature/Carelli_Inventari_FixOrdinamentoERimozionePagination 2024-04-19 16:42:50 +02:00
06bce9f7e2 [Inventario]
- Fix ordinamento inventari (prima erano ordinati ma per profilo/db e non globalmente)
- Rimozione pagination
2024-04-19 16:42:40 +02:00
2a9bebc416 Merge remote-tracking branch 'origin/develop' into develop 2024-04-19 15:57:16 +02:00
0a021baf09 Gestione utente su CLATV 2024-04-19 15:57:10 +02:00
34331c2312 Fix query ArtsInGiacenza 2024-04-19 15:54:00 +02:00
8eef4083c8 In aggiunta cronologia delle raccolte in retrieveOrders di Agribook 2024-04-19 15:47:04 +02:00
869da4fa6c Ingrandita mtb_partita_mag.descrizione, sistemato report scheda costi aggiunta percentuale provvigioni, aggiunta nuova voce di menù 2024-04-19 13:54:00 +02:00
7048d0a4d9 varie migration per modifiche ordini di acquisto carelli 2024-04-18 18:57:06 +02:00
e029bb2e89 Fix data StampaSchedaCosti 2024-04-18 16:02:27 +02:00
6cd612fbb8 Modifica query getActivity 2024-04-18 15:40:40 +02:00
41c9f25c6b Merge remote-tracking branch 'origin/develop' into develop 2024-04-18 15:23:57 +02:00
3b4ade02a5 Aggiunto dataIniz in stampaSchedaCosti 2024-04-18 15:21:57 +02:00
bf4a70b0e5 Merge remote-tracking branch 'origin/develop' into develop 2024-04-18 15:16:15 +02:00
30ec953aa1 Scarichi manuali da WINGEST 2024-04-18 15:16:05 +02:00
5edade9076 Merge remote-tracking branch 'origin/develop' into develop 2024-04-18 15:06:35 +02:00
225501b1a5 Fix query stampaSchedaCosti 2024-04-18 15:06:32 +02:00
9df682b4ef Merge branch 'master' into develop 2024-04-18 13:27:21 +02:00
9d6a23658f Finish Hotfix-56 2024-04-18 13:27:21 +02:00
408b106c2f tornare indietro con la modifica della getlistinoacquisto 2024-04-18 13:27:15 +02:00
713989bcb9 Modificato tipo di errore 2024-04-18 12:25:16 +02:00
7ce4703235 Merge branch 'master' into develop 2024-04-18 11:03:18 +02:00
a1013c878a Finish Hotfix-56 2024-04-18 11:03:18 +02:00
27ff4b1d69 sistemata setup 2024-04-18 11:03:13 +02:00
61d03a9ece aggiornamento getListiniAcquisto 2024-04-18 11:02:30 +02:00
baf5d9151f Finish Hotfix-56 2024-04-18 10:10:35 +02:00
eb02131482 Merge branch 'master' into develop 2024-04-18 10:10:35 +02:00
504910cbc7 Import Gelorent: aggiunta setup con codice fornitore e gestita nuova tabella per intercode.
Cambio tipo documento modificata la data di registrazione del movimento alla data di importazione
2024-04-18 10:10:29 +02:00
47c0fadb40 Calcolo disponbilità e ANSI NULL a Follies 2024-04-18 09:03:17 +02:00
203b14064f Calcolo disponbilità e ANSI NULL a Follies 2024-04-17 18:31:19 +02:00
fe7e9aee68 Calcolo disponbilità e ANSI NULL a Follies 2024-04-17 18:21:16 +02:00
bf1307c3a8 Calcolo disponbilità 2024-04-17 18:21:00 +02:00
e65a9eab8f Fix harvestHystoryDto 2024-04-17 17:54:06 +02:00
fb27d1a17c In inserimento tiket aggiunto esito "DA FARE" per sotto attività 2024-04-17 17:05:19 +02:00
6ffc809fac Finish Hotfix-56 2024-04-16 18:01:42 +02:00
8a11d7b4b6 Merge branch 'master' into develop 2024-04-16 18:01:42 +02:00
1336cbda98 sistemata cast 2024-04-16 18:01:29 +02:00
f30cf71f27 Finish Hotfix-56 2024-04-16 16:14:55 +02:00
8ff6dc4cd4 Merge branch 'master' into develop 2024-04-16 16:14:55 +02:00
4a9681ae26 corretta numerazione del reverse 2024-04-16 16:14:49 +02:00
bf80b77374 Merge branch 'master' into develop 2024-04-16 13:57:27 +02:00
c9c8450cbb Finish Hotfix-56 2024-04-16 13:57:26 +02:00
df0d3d4972 modificata la lettura della qta_cnf e inserita setup per leggere la qta presente nel listino anche quando è 1 2024-04-16 13:56:02 +02:00
026f76cb4a Rimosso suffisso QM al last upd menu 2024-04-16 11:18:47 +02:00
338c13947d Modifica vista analisi costi produzione 2024-04-15 19:10:53 +02:00
81eb1ec9a5 Lanci produzione: Filtro su num_fase in visualizzazione materiali 2024-04-15 13:17:04 +02:00
4b625ab9ea Personalizzazione stampa report ordine di produzione di default 2024-04-12 17:57:07 +02:00
9f76cf6762 Passare parametri obbligatori 2024-04-12 12:52:35 +02:00
427839fe52 Merge remote-tracking branch 'origin/develop' into develop 2024-04-12 09:58:32 +02:00
6146eb074b aggiunta migration 2024-04-12 09:58:30 +02:00
69309bf40b Merge branch 'master' into develop 2024-04-11 17:04:18 +02:00
8a48701cbf Finish Hotfix-56 2024-04-11 17:04:18 +02:00
a369bf0297 Fix localdate 2024-04-11 17:04:09 +02:00
d863468175 cancellata migration 2024-04-11 16:36:12 +02:00
abf19e0c0d sistemata migration 2024-04-11 16:27:39 +02:00
4d6998371f Varie migration 2024-04-11 16:04:43 +02:00
ce600f5bd0 PIG-UP: sistemato problema righe duplicate 2024-04-11 11:25:41 +02:00
912a208dfe gestito correttamente il cambio del tipo documento nella generazione dell'autofattura 2024-04-11 10:19:26 +02:00
cf5f52e696 inserimenti setup 2024-04-10 19:18:44 +02:00
af40f38ca3 Finish Hotfix-56 2024-04-10 17:51:07 +02:00
bc9de1344d Merge branch 'master' into develop 2024-04-10 17:51:07 +02:00
5c33542b35 Sistemare val premio nell'importazione dei listini di apulia e aggiunta possibilità di importare la percentuale del premio 2024-04-10 17:50:59 +02:00
64d077df8b Sistemare val premio nell'importazione dei listini di apulia e aggiunta possibilità di importare la percentuale del premio 2024-04-10 17:48:57 +02:00
5c7254a827 migliorato messaggio d'errore 2024-04-10 16:02:01 +02:00
10508da2f4 Merge remote-tracking branch 'origin/develop' into develop 2024-04-10 15:10:18 +02:00
248ecaf778 [WMSGenericService]
- Se presente viene presa la maxDataCollo dei colli di carico, altrimenti la data odierna, come data_collo degli ordini di scarico
2024-04-10 15:10:07 +02:00
d42c139490 Merge branch 'master' into develop 2024-04-10 13:14:32 +02:00
051f3b5ce5 Finish Hotfix-56 2024-04-10 13:14:31 +02:00
4d1b79b1b5 Fix numIreg da short a int 2024-04-10 13:14:26 +02:00
446a57b1e2 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240408151803.java
2024-04-10 10:45:43 +02:00
22d812a305 Migration per AnsiPadding 2024-04-10 10:45:09 +02:00
21cc84f7a1 Migration per AnsiPadding 2024-04-10 10:45:00 +02:00
7604bd0b4a Merge branch 'master' into develop 2024-04-10 10:34:31 +02:00
f88d409265 Finish Hotfix-56 2024-04-10 10:34:30 +02:00
3d394e7591 Fix date 2024-04-10 10:34:25 +02:00
d8e4f45827 Piccola utility db 2024-04-10 10:30:17 +02:00
9a75993848 cvw_mov_black_list 2024-04-09 18:44:34 +02:00
daf4bc347e Sistemati controlli su anno contabile a cavallo, aggiunga migration per setupGest, importazione Rosso gargano 2024-04-09 18:12:45 +02:00
840805f39f Merge remote-tracking branch 'origin/develop' into develop 2024-04-09 18:12:01 +02:00
4c4a3a99c2 Sistemato problema codice EAN imballo su EAN 128 della funzione f_getEAN128UL 2024-04-09 17:02:18 +02:00
6f0ec7ad47 Sistemato problema codice EAN imballo su EAN 128 della funzione f_getEAN128UL 2024-04-09 17:02:01 +02:00
92c10d50c8 [UtilityService]
- Fix se il currentObject è null
2024-04-09 15:39:42 +02:00
44e78b336f aggiornamento vista 2024-04-09 14:45:45 +02:00
688af6c815 Refactor UtilityController 2024-04-09 13:19:57 +02:00
5629a09ab8 Finish Hotfix-56 2024-04-09 12:07:31 +02:00
19bdd5e160 Merge branch 'master' into develop 2024-04-09 12:07:31 +02:00
338da4bbdb Migration per AnsiPadding 2024-04-09 12:07:21 +02:00
5ae6961b2f Aumentata dimensione descrizione CTB_BENI 2024-04-09 10:40:18 +02:00
b2f7dd77bb Merge remote-tracking branch 'origin/develop' into develop 2024-04-09 10:38:17 +02:00
1ebb61c1b4 Aumentata dimensione descrizione CTB_BENI 2024-04-09 10:38:08 +02:00
ea4d196ca2 Aumentata dimensione descrizione CTB_BENI 2024-04-09 10:37:52 +02:00
caad874c62 Merge remote-tracking branch 'origin/develop' into develop 2024-04-09 09:57:30 +02:00
bd8942617f Aggiunto servizio per permettere all'utente di registrarsi da task 2024-04-09 09:57:24 +02:00
033dee9393 Merge remote-tracking branch 'origin/develop' into develop 2024-04-08 17:39:29 +02:00
bdafc2ad36 allineamento query setup 2024-04-08 17:39:25 +02:00
e0e233b50e Fix user service 2024-04-08 15:30:45 +02:00
e448d220a0 Finish Hotfix-56 2024-04-08 15:22:13 +02:00
79022c1612 Merge branch 'master' into develop 2024-04-08 15:22:13 +02:00
23f34e4846 Mmigration per AnsiPadding 2024-04-08 15:21:38 +02:00
961a7bd278 allineamento query setup 2024-04-08 15:19:00 +02:00
efd595f45b Merge remote-tracking branch 'origin/develop' into develop 2024-04-08 12:25:14 +02:00
d683d75924 modifiche per permettere all'utene di accedere a task 2024-04-08 12:13:14 +02:00
119bcd82bf Attivata paginazione in tabella migrazioni 2024-04-08 12:05:33 +02:00
4fa27e5ec0 Modifica gitignore 2024-04-08 09:42:36 +02:00
ec507dc606 Merge branch 'master' into develop 2024-04-05 18:20:05 +02:00
14871e6175 Finish Hotfix-56 2024-04-05 18:20:05 +02:00
5f4ace9e96 [VGALIMENTI - CONTROLLO GIACENZE]
Corretta conversione LocalDate in Date per dataColloRif
2024-04-05 18:19:57 +02:00
410e2f272c Modifica gitignore 2024-04-05 13:28:18 +02:00
23df2f7bb2 Merge remote-tracking branch 'origin/develop' into develop 2024-04-05 13:25:40 +02:00
107e5cefca Aggiunto servizio per estrarre descrizioni attività 2024-04-05 13:25:29 +02:00
c49b5ac309 Aggiunta gestione imballi WMS 2024-04-05 13:24:13 +02:00
f69f9cd94a Aggiornato gitignore 2024-04-05 10:32:27 +02:00
f1e5a1cb25 Controllo data documento futura 2024-04-04 17:56:35 +02:00
cb0b718e84 Controllo data documento futura 2024-04-04 17:56:21 +02:00
7f35e6782e Controllo annullamento serie su duplicazione ordine di vendita 2024-04-04 17:33:02 +02:00
9445b1f468 Controllo annullamento serie su duplicazione ordine di vendita 2024-04-04 17:32:48 +02:00
7b65dce59e Merge branch 'master' into develop 2024-04-04 15:23:04 +02:00
cf4fc241ab Finish Hotfix-56 2024-04-04 15:23:03 +02:00
b200eeb8ed modifica per importazione listini format 2024-04-04 15:22:55 +02:00
b10cb1d551 Merge branch 'master' into develop 2024-04-04 15:16:48 +02:00
1d97a93b87 Finish Hotfix-56 2024-04-04 15:16:47 +02:00
a1f23f4fc5 ISCC 2024-04-04 15:16:40 +02:00
5860943104 corretta query 2024-04-04 15:09:40 +02:00
9063db3fd0 Merge branch 'master' into develop 2024-04-04 15:08:42 +02:00
884a279a4a Finish Hotfix-57 2024-04-04 15:08:42 +02:00
8ab0cd5465 Fix 2024-04-04 15:08:36 +02:00
fe5f517c25 Merge branch 'master' into develop 2024-04-04 14:58:05 +02:00
2b14a047a3 Finish Hotfix-56 2024-04-04 14:58:05 +02:00
af17a976a8 Merge remote-tracking branch 'origin/develop' into develop 2024-04-04 14:57:51 +02:00
925bc99566 Merge branch 'master' into hotfix/Hotfix-56 2024-04-04 14:57:07 +02:00
bd82ff80c1 ISCC 2024-04-04 14:56:35 +02:00
104b537177 ISCC 2024-04-04 14:55:39 +02:00
6dcb21a301 Rossogargano 2024-04-04 14:53:08 +02:00
9cfb59d501 Merge remote-tracking branch 'origin/develop' into develop 2024-04-04 13:41:07 +02:00
141e7ace37 Merge branch 'master' into develop 2024-04-04 13:40:32 +02:00
0df3fc3349 controllo su scadenze con data documento errata, modifiche per rossogargano 2024-04-04 13:39:39 +02:00
414a8bb1c3 Finish Hotfix-56 2024-04-04 13:21:38 +02:00
71fd011c65 Migration Ansi padding 2024-04-04 13:21:33 +02:00
b1cf1de005 Migration Ansi padding 2024-04-04 13:20:18 +02:00
54a7597709 Merge branch 'master' into develop 2024-04-04 12:48:17 +02:00
a424adb64b Finish Hotfix-56 2024-04-04 12:48:17 +02:00
0ae6cc1dd2 Fix su date 2024-04-04 12:48:11 +02:00
351184cda2 Fix codJflav in getRicorrenze 2024-04-04 12:09:58 +02:00
582e67ea3d Merge branch 'master' into develop 2024-04-04 11:08:42 +02:00
d649fb5651 Finish Hotfix-56 2024-04-04 11:08:03 +02:00
3e7f7d2bff corretta insert previsioni meteo con prepared statement 2024-04-04 11:07:24 +02:00
e4ac77e77b Merge remote-tracking branch 'origin/develop' into develop 2024-04-04 11:04:33 +02:00
f3eedecfec corretta insert previsioni meteo con prepared statement 2024-04-04 11:04:14 +02:00
eee2e9f893 Finish Hotfix-56 2024-04-04 10:58:55 +02:00
fd069a68e7 Merge branch 'master' into develop 2024-04-04 10:58:55 +02:00
f81cf7e3e1 Fix date 2024-04-04 10:58:32 +02:00
57bcedf022 Finish Hotfix-56 2024-04-03 14:12:01 +02:00
e03f1aaef8 Merge branch 'master' into develop 2024-04-03 14:12:01 +02:00
587f62bc15 modifiche a procedura di gelorent per poterla utilizzare su format 2024-04-03 14:11:49 +02:00
27627e2821 Merge branch 'master' into develop 2024-04-03 12:16:28 +02:00
50e59c7217 Finish Hotfix-56 2024-04-03 12:16:28 +02:00
22f8f09c56 Fix su menu e date 2024-04-03 12:16:23 +02:00
a0358d356d Merge branch 'master' into develop 2024-04-03 10:51:38 +02:00
09e77e0eff Finish Hotfix-56 2024-04-03 10:51:37 +02:00
44989dea5a Fix su date mtbcolt 2024-04-03 10:51:32 +02:00
a58a583652 Merge branch 'master' into develop 2024-04-03 10:18:49 +02:00
761f0e6a46 Finish Hotfix-56 2024-04-03 10:18:48 +02:00
6783b2b7a8 Fix sull'autocomplete della data collo 2024-04-03 10:18:42 +02:00
81720caad7 Merge branch 'master' into develop 2024-04-02 18:44:50 +02:00
b48f6275d7 Finish Hotfix-56 2024-04-02 18:44:49 +02:00
e9bbd723de corretto controllo su nomeazienda ordini follie
corretta conversione date da sql a localDate
2024-04-02 18:43:49 +02:00
db58dc9ac9 Merge branch 'master' into develop 2024-04-02 16:20:52 +02:00
1b05113975 Finish Hotfix-56 2024-04-02 16:20:52 +02:00
18184b447a Vario 2024-04-02 16:20:44 +02:00
75b1da5144 Vario 2024-04-02 16:20:04 +02:00
e5259ea78f Creata setup ABILITA_SCONTO in Ordify > Setup 2024-04-02 15:11:21 +02:00
19e64aadfe Aggiustati file templates 2024-04-02 10:51:36 +02:00
1a00d3653f Finish Licor_ContrattiDiAcquisto_FixDataOff 2024-03-29 16:03:42 +01:00
17633ccda7 [ContrattoDiAcquistoService]
- Se nuovo contratto, setto la dataOff se non presente
2024-03-29 16:03:35 +01:00
457d216a0b Cambiata condizione su date pianificazione 2024-03-29 09:38:12 +01:00
cbdff104e9 Cambiata condizione su date pianificazione 2024-03-29 09:25:16 +01:00
83eaa1b8f6 Leggere la qta cnf dal listino di acquisto 2024-03-28 17:14:39 +01:00
e796c9e803 Fix migrations 2024-03-28 14:58:41 +01:00
4d2d98774c Correzione tabella migrations ims webui 2024-03-28 12:03:16 +01:00
7220f525d3 Migrato IPR in .idea folder 2024-03-28 10:28:35 +01:00
7ccd45159f Merge remote-tracking branch 'origin/develop' into develop 2024-03-28 10:10:16 +01:00
6357cc17de Aggiunto servizio per estrarre le aziende a cui non si installa da più di un mese 2024-03-28 10:10:03 +01:00
d3046994c7 Varie ed eventiali 2024-03-28 09:49:41 +01:00
f799ff947a Merge remote-tracking branch 'origin/develop' into develop 2024-03-28 09:07:23 +01:00
d822ecd017 Gestito Num.Conf su importazione documenti DIALOGO 2024-03-28 09:07:18 +01:00
95ed2de093 Modifiche per salvataggio attività 2024-03-27 17:47:59 +01:00
3ec11a877f Merge remote-tracking branch 'origin/develop' into develop 2024-03-27 17:41:09 +01:00
0714023504 Modifiche per salvataggio attività 2024-03-27 17:41:05 +01:00
9423bbd30a - Migration GRUPPI_CONTROLLO_DATI_SCHEDATECNICA 2024-03-27 17:31:03 +01:00
a6f304c527 Fix LocalDate su MtbCols 2024-03-27 16:32:34 +01:00
bff1705c5b Merge branch 'master' into develop 2024-03-27 10:13:34 +01:00
d4407e1f50 Finish Hotfix-56 2024-03-27 10:13:33 +01:00
2327be0f5d Modificati parametri connessione db per alcuni clienti 2024-03-27 10:13:28 +01:00
914bd5996c Corretta deserializzazione delle LocalDate in presenza dei dati di timezone 2024-03-27 09:45:02 +01:00
9e92c26926 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	ems-core/src/main/java/it/integry/ems_model/entity/StbGestSetup.java
2024-03-27 09:44:21 +01:00
4aa69f081d Merge remote-tracking branch 'origin/develop' into develop 2024-03-27 09:36:40 +01:00
3f01ab6502 importazione listini apulia gestione premi, verifica resi aggiunte wdtb_doct e range date configurabile 2024-03-26 23:03:49 +01:00
6558af7968 Aggionto campo in Azienda 2024-03-26 19:12:13 +01:00
7c0077e4a6 correzione registrazione movimento contabile e importazione rosso gargano 2024-03-26 18:12:57 +01:00
e090363418 aggiunto esito attività 2024-03-26 18:10:53 +01:00
3fab54e2e7 Fix regole dopo aver modificato i campi dataCollo da Date a LocalDate in MtbColr e MtbColt 2024-03-26 13:41:27 +01:00
4208c4a73d Gestione plafond reso 2024-03-26 13:27:36 +01:00
14b841d002 Merge remote-tracking branch 'origin/develop' into develop 2024-03-26 13:27:21 +01:00
eb9ca71fcd Gestione plafond reso 2024-03-26 13:27:16 +01:00
eaa448ccdd Modificati campi dataCollo da Date a LocalDate in MtbColr e MtbColt 2024-03-26 13:27:05 +01:00
7305bbb207 Modificati campi dataCollo da Date a LocalDate in MtbColr e MtbColt 2024-03-26 13:24:31 +01:00
dfb90e6de0 Merge remote-tracking branch 'origin/develop' into develop 2024-03-26 13:02:20 +01:00
b1b6d7edf1 Aggiunta campo flag_tipologia in vtb_agen_budget 2024-03-26 13:02:13 +01:00
f04f35dffd Merge remote-tracking branch 'origin/develop' into develop 2024-03-26 12:38:00 +01:00
3bf17e5415 Aggiornamento funzione ordify 2024-03-26 12:37:54 +01:00
818297e96d Finish Hotfix-56 2024-03-26 11:25:33 +01:00
1ae61bd48c Merge branch 'master' into develop 2024-03-26 11:25:33 +01:00
0315f9966a Merge remote-tracking branch 'origin/develop' into develop 2024-03-26 11:25:22 +01:00
1e3fb75a4f Fix su sysdate in mtb_colr 2024-03-26 11:25:04 +01:00
e521c73720 IPR 2024-03-26 11:24:38 +01:00
05b7707b39 Modifica servizio importazione sinfoOne scadenze 2024-03-26 09:52:27 +01:00
9d6c742298 Merge remote-tracking branch 'origin/develop' into develop 2024-03-25 15:54:11 +01:00
668d5c42c4 Modificato controllo inserimento subActivity 2024-03-25 15:54:01 +01:00
086bf3dbd2 Merge branch 'master' into develop 2024-03-25 15:03:44 +01:00
b735454d05 Finish Hotfix-56 2024-03-25 15:03:43 +01:00
bedc3edbad aggiunta qta proposta 2024-03-25 15:03:38 +01:00
ee37de67a2 Merge remote-tracking branch 'origin/develop' into develop 2024-03-25 14:41:21 +01:00
d1638842e7 aumentata la dimensione del campo annotazioni 2024-03-25 14:41:18 +01:00
2ed0767515 Merge branch 'master' into develop 2024-03-25 11:59:28 +01:00
3eb61b3aec Finish FixDupListiniVen 2024-03-25 11:59:27 +01:00
e3866a6dcb Fix clonazione listino di vendita 2024-03-25 11:59:19 +01:00
e6074d2b14 Rimossa repo Aspose non utilizzata 2024-03-25 10:49:56 +01:00
dc773b1960 Finish Hotfix-56 2024-03-25 10:04:57 +01:00
96c7df5fff Merge branch 'master' into develop 2024-03-25 10:04:57 +01:00
1f50317d5c aggiornamento menu e tabelle azienda 2024-03-25 10:04:48 +01:00
93d881e8d2 Ripristinato Run Tomcat 2024-03-25 09:41:41 +01:00
6bd3f4ade5 Merge remote-tracking branch 'origin/develop' into develop 2024-03-22 19:18:37 +01:00
a7bfe53d37 Fix nullPoint effectiveDate in inSubActivity 2024-03-22 19:18:28 +01:00
9ba82f6cbe - Aggiunte migration
- Creazione setupuser
2024-03-22 18:17:35 +01:00
1f3e3fbc93 Merge remote-tracking branch 'origin/develop' into develop 2024-03-22 15:27:12 +01:00
20bb73d391 Merge remote-tracking branch 'origin/develop' into develop 2024-03-22 15:10:19 +01:00
354a1b8503 Aggiunto scelta tipo attività in pianificazione 2024-03-22 15:10:00 +01:00
bfadf56470 [ROSSOGARGANO]
aggiunto controller per servizio cambio lotto di produzione
2024-03-22 13:10:00 +01:00
a84a43649b Merge branch 'master' into develop 2024-03-22 10:50:31 +01:00
d48c7c9de1 Finish Hotfix-56 2024-03-22 10:50:30 +01:00
3b83dc0c24 Fix sync 2024-03-22 10:50:23 +01:00
6d43b82170 Merge branch 'master' into develop 2024-03-21 19:12:32 +01:00
c2eaec7d39 Finish Hotfix-56 2024-03-21 19:12:31 +01:00
3383ea3da8 [TOSCA]
Aggiunta migration per inserire data inizio produzione negli stabilimenti
2024-03-21 19:12:24 +01:00
b54027c46f Aggiunto throw exception in fase di salvataggio fatture passive 2024-03-21 18:12:21 +01:00
1668bdbeb8 Merge remote-tracking branch 'origin/develop' into develop 2024-03-21 15:53:48 +01:00
96b9ece8aa Query textiles 2024-03-21 15:53:42 +01:00
d157988850 Finish Hotfix-56 2024-03-21 11:53:55 +01:00
40bda3ce1e Merge branch 'master' into develop 2024-03-21 11:53:55 +01:00
f92d545f80 Aggiunto servizio per ricevere e riservare prossimo numero collo 2024-03-21 11:53:45 +01:00
42d6867be5 Implementata esportazione dati zucchetti 2024-03-21 10:05:13 +01:00
e1cdf4ed93 Merge remote-tracking branch 'origin/develop' into develop 2024-03-21 09:45:26 +01:00
6788447088 Fix importazione dati SinfoOne 2024-03-21 09:44:50 +01:00
3da77518ec modifiche menu' 2024-03-20 17:31:49 +01:00
f800ac1e92 Fix migrations 2024-03-20 12:55:10 +01:00
b6cf51ba08 Finish Hotfix-56 2024-03-20 12:54:50 +01:00
d1f5cfc441 Merge branch 'master' into develop 2024-03-20 12:54:50 +01:00
d701547928 Fix migrations 2024-03-20 12:54:45 +01:00
f7eaa877c8 Merge tag 'Hotfix-55' into develop
Finish Hotfix-55
2024-03-20 12:29:47 +01:00
b2af609989 Finish Hotfix-55 2024-03-20 12:29:46 +01:00
dae51b99e2 Controllo tabella vuota migration_status e modifica campo numero a 40 caratteri 2024-03-20 12:29:30 +01:00
3906f03b21 Controllo tabella vuota migration_status e modifica campo numero a 40 caratteri 2024-03-20 12:29:13 +01:00
5aa90e3533 Merge tag 'Hotfix-54' into develop
Finish Hotfix-54
2024-03-20 12:00:37 +01:00
198d03d9ec Finish Hotfix-54 2024-03-20 12:00:37 +01:00
1b205afa5d Aumentata lunghezza campo numero della dtb_fatture_passive_ddt a 40 caratteri 2024-03-20 12:00:21 +01:00
fcf939a4c8 Merge remote-tracking branch 'origin/develop' into develop 2024-03-20 11:47:06 +01:00
f65b8d732f Gestione scarico materiali opzionali 2024-03-20 11:46:58 +01:00
cfaddcd249 Menu 2024-03-20 10:24:39 +01:00
9747759e32 Merge branch 'master' into develop 2024-03-19 16:02:35 +01:00
575b7bf1a6 Finish Hotfix-54 2024-03-19 16:02:35 +01:00
24c4344ac3 Fix su import from parent identity 2024-03-19 16:02:30 +01:00
04ab30e4ae Merge remote-tracking branch 'origin/develop' into develop 2024-03-19 15:44:52 +01:00
20494a5621 Creata procedura di importazione dati SinfoOne 2024-03-19 15:44:48 +01:00
e7fee71255 Merge tag 'Hotfix-53' into develop
Finish Hotfix-53
2024-03-19 11:59:43 +01:00
89c2113d96 Finish Hotfix-53 2024-03-19 11:59:43 +01:00
bdc2230d17 Sistemato problema aliquota iva su kit vendita 2024-03-19 11:59:24 +01:00
515fcf1ee7 Gestita duplicazione listino di vendita 2024-03-18 18:15:34 +01:00
1c6f629b24 Fix codifica menu JSON 2024-03-18 13:36:33 +01:00
c0fbbd854a Rimossa dipendenza duplicata maven 2024-03-18 13:30:14 +01:00
4eb2235351 Implementato servizio di generazione del JSON del menù 2024-03-18 13:10:50 +01:00
902bde4637 aggiunto controllo resi sui kit, modificata query per i menu 2024-03-15 18:16:37 +01:00
1e2ac8ab13 Fix in BaseMigration 2024-03-15 13:28:21 +01:00
c637c776af Finish Biolevante_MRP_FiltroDescrizioneEstesa 2024-03-15 13:03:27 +01:00
b48e2ee6c9 [MRP V2]
- Nel campo "articolo" utilizzato nella ricerca da MRP, se presente viene utilizzata la descrizione estesa, altrimenti la descrizione
2024-03-15 13:03:20 +01:00
20558ddfb1 Finish Carelli_Inventari_ModificaDataOraInv 2024-03-15 12:58:13 +01:00
8d5428dc16 [Inventari]
- Aggiunto nella query data_ora_inv necessaria per abilitare la modifica su PVM
- Aggiunto DataOraInv al RowInventarioDTO
2024-03-15 12:57:58 +01:00
74adf88692 Merge remote-tracking branch 'origin/develop' into develop 2024-03-15 12:43:09 +01:00
a7a492b050 Fix calcolo pedane in arrivo in retrieveArtsInGiacenzaByPositions 2024-03-15 12:42:50 +01:00
110c61e4aa Importazione Rosso Gargano, importazione listini di Apulia 2024-03-15 10:51:43 +01:00
b6b5b5eaae Merge remote-tracking branch 'origin/develop' into develop 2024-03-15 10:25:16 +01:00
9708b36438 disabilitato download anagrafiche 2024-03-15 10:25:12 +01:00
9e7b299a09 Fix deserializzazione WtbJreptSetup, rimozione utilityImage ed aggiornamento utility 2024-03-14 17:17:06 +01:00
8de9774813 Merge remote-tracking branch 'origin/develop' into develop 2024-03-14 16:52:20 +01:00
4113f57a3d sistemata stb_gest_setup 2024-03-14 16:52:12 +01:00
7bf6f0d0c2 Rinominata classe StbDevice in StbDevices 2024-03-14 16:22:34 +01:00
7d9c2822e8 Completato sistema di creazione automatica entity da DB 2024-03-14 16:22:08 +01:00
5c166b72c2 eliminato controllo su debug 2024-03-14 14:04:12 +01:00
d8c154ce19 Aggiunta nuova setup 2024-03-14 14:03:59 +01:00
dd4e274579 Inserito valore default su stbGEstsetup 2024-03-14 14:03:39 +01:00
e29b5cb005 Merge branch 'master' into develop 2024-03-14 13:22:00 +01:00
f117350095 Finish Hotfix-53 2024-03-14 13:21:59 +01:00
e592e3e071 Fix sul salvataggio dei blob in EntityBase 2024-03-14 13:21:43 +01:00
cc4f3eb826 Merge remote-tracking branch 'origin/develop' into develop 2024-03-14 13:21:03 +01:00
3fc0f5dcc6 Implementato sistema di generazione Entity 2024-03-14 13:20:54 +01:00
636653be5b Aggiunta query per estrarre stato artivolo in retrieveArtsInGiacenzaByPositions 2024-03-14 13:02:09 +01:00
a48ff9a4fe Rimossi checkPreSave vuoti dalle entity 2024-03-13 18:22:07 +01:00
67e49df1c7 Migliorie in BaseMigration 2024-03-13 17:51:28 +01:00
155adef231 Aggiunto campo flag_multi_value in setup per setup con array di valori 2024-03-13 17:25:18 +01:00
d8df7edaa3 Migliorie in BaseMigration 2024-03-13 17:18:05 +01:00
66612aae14 cambiato filtro data 2024-03-13 16:36:25 +01:00
66f82f5dfa Importazione rosso gargano e varie modifiche a registrazione movimenti contabilit 2024-03-13 16:35:47 +01:00
9ab03280b3 Merge remote-tracking branch 'origin/develop' into develop 2024-03-13 16:35:08 +01:00
238927a736 ctbPagheIntercode 2024-03-13 16:35:01 +01:00
e4efb0d485 Renaming 2024-03-13 15:59:50 +01:00
a506023585 Implementati metodi isWingest / isTextiles in BaseMigration 2024-03-13 15:56:15 +01:00
ac14569c1d ctbPagheIntercode 2024-03-13 15:42:21 +01:00
25511f25b1 Finish Hotfix-53 2024-03-13 15:37:11 +01:00
d169443340 Merge branch 'master' into develop 2024-03-13 15:37:11 +01:00
9c3cdf5a7c Fix su import from parent delle entity 2024-03-13 15:36:57 +01:00
067058190e Merge branch 'master' into develop 2024-03-13 15:14:02 +01:00
a2ec93afb3 Finish Hotfix-53 2024-03-13 15:14:01 +01:00
251a2d3239 sistemato controllo su qta_acquistata nei resi 2024-03-13 15:13:55 +01:00
63cde0d928 Fix sync 2024-03-13 13:27:42 +01:00
821b4a8260 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	ems-core/src/main/java/it/integry/ems/dynamic_cache/DynamicCacheService.java
#	ems-core/src/main/java/it/integry/ems/sync/SyncManager.java
2024-03-13 13:21:57 +01:00
0b7d0cd4b0 Refactoring + Caching in sincronizzazioni online 2024-03-13 13:21:30 +01:00
859a61621b Refactoring + Caching in sincronizzazioni online 2024-03-13 13:20:23 +01:00
0a7191267b Merge remote-tracking branch 'origin/develop' into develop 2024-03-13 11:05:36 +01:00
fc1477979b Aggiunto AvailableClassMercDTO in OrdiniDiLavorazione 2024-03-13 11:05:32 +01:00
d3e66e3743 Merge branch 'master' into develop 2024-03-12 18:49:45 +01:00
1a62062356 Finish Hotfix-53 2024-03-12 18:49:44 +01:00
a67b0ad517 ottimizzazione importazione listini apulia 2024-03-12 18:49:10 +01:00
9f695f742d Merge branch 'master' into develop 2024-03-12 18:42:02 +01:00
b54dfcefdb Finish Hotfix-53 2024-03-12 18:42:01 +01:00
0b3ff4bd05 Fix su salvataggio Date nelle Entity 2024-03-12 18:41:55 +01:00
fa59da6630 Merge remote-tracking branch 'origin/develop' into develop 2024-03-12 18:10:35 +01:00
65c31627e7 Fix su vista che restituisce gli stati macchina 2024-03-12 18:10:28 +01:00
77a8827fbe Aggiunto metodo retrievePartitaMag 2024-03-12 16:42:13 +01:00
7a9eef46b1 Merge branch 'master' into develop 2024-03-12 15:29:18 +01:00
561f26f795 Finish Hotfix-53 2024-03-12 15:29:17 +01:00
f989812bfd Divise le righe in gruppi 2024-03-12 15:29:06 +01:00
831b1b38b9 Merge branch 'master' into develop 2024-03-12 15:20:45 +01:00
8af9d93cff Finish Hotfix-53 2024-03-12 15:20:45 +01:00
9c906bdd17 Divise le righe in gruppi 2024-03-12 15:20:26 +01:00
afb53e4f63 Merge tag 'Follies_OrdiniWebOrdikids_NazioneNullAlert' into develop
Finish Follies_OrdiniWebOrdikids_NazioneNullAlert
2024-03-12 13:09:09 +01:00
6e784624dd Finish Follies_OrdiniWebOrdikids_NazioneNullAlert 2024-03-12 13:09:08 +01:00
9523fde5fc - Aggiunto alert per nazione nulla 2024-03-12 13:09:01 +01:00
390be5333c Merge branch 'master' into develop 2024-03-12 12:35:45 +01:00
eb1e3c5efc Finish Hotfix-53 2024-03-12 12:35:44 +01:00
8753f6c84a Fare in modo che la procedura di importazione dei listini di apulia committi ogni listino salvato 2024-03-12 12:35:37 +01:00
848973c168 Implementati customer di Integry.
Migliorati metodi in BaseMigration.
2024-03-12 12:21:52 +01:00
954b3ed43d Merge branch 'master' into develop 2024-03-12 12:00:00 +01:00
ccd705d863 Finish Hotfix-53 2024-03-12 11:59:59 +01:00
d805ed379b Corretti JsonIgnore in EntityBase per problemi su SUBSTITUTE 2024-03-12 11:59:51 +01:00
9c68fe0eaf Merge branch 'master' into develop 2024-03-11 19:13:47 +01:00
12e05c60d1 Finish Hotfix-53 2024-03-11 19:13:46 +01:00
548d9d17a1 Rimossi campi da non serializzare nel json 2024-03-11 19:13:41 +01:00
fdb9bd07f8 Merge branch 'master' into develop 2024-03-11 18:15:53 +01:00
5a803989c5 Finish Hotfix-53 2024-03-11 18:15:53 +01:00
315c45a938 Fix password 2024-03-11 18:15:48 +01:00
376ecf5161 Merge branch 'master' into develop 2024-03-11 18:00:54 +01:00
95d0d0cf63 Finish Hotfix-53 2024-03-11 18:00:53 +01:00
6826110fa0 Aggiunta password default per backend servizi 2024-03-11 18:00:46 +01:00
2ac011c47c Merge branch 'master' into develop 2024-03-11 17:49:36 +01:00
09be88a375 Finish Hotfix-53 2024-03-11 17:49:36 +01:00
edafed5d4e modificata la creazione del resultset 2024-03-11 17:49:29 +01:00
e2029ede7a Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	ems-engine/src/main/java/it/integry/ems/system/controller/SystemMigrationController.java
2024-03-11 16:25:17 +01:00
13301ae17f Migliorati controlli per creazione query update 2024-03-11 16:24:51 +01:00
ef3e117632 Migliorati controlli per creazione query update 2024-03-11 16:24:31 +01:00
708962fb1d Merge remote-tracking branch 'origin/develop' into develop 2024-03-11 16:15:51 +01:00
1d59b05dc8 Fix encoding su creazione migration per viste, funzioni, trigger, procedure 2024-03-11 16:15:43 +01:00
5addd95c75 modificata condizione per invio dati dall'autofattura 2024-03-11 15:44:10 +01:00
995455e12c Implementato sistema di auto creazione delle migration per Viste, Funzioni, Procedure e Trigger 2024-03-11 13:21:49 +01:00
218ba0eee9 WMS 2024-03-11 10:01:20 +01:00
1563 changed files with 74474 additions and 35415 deletions

117
.gitignore vendored
View File

@@ -1,39 +1,60 @@
# Created by https://www.gitignore.io/api/intellij
# Created by https://www.toptal.com/developers/gitignore/api/intellij
# Edit at https://www.toptal.com/developers/gitignore?templates=intellij
### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
.idea/workspace.xml
.idea/tasks.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.shelf/*
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Sensitive or high-churn files:
.idea/dataSources.ids
.idea/dataSources.xml
.idea/dataSources.local.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
# AWS User-specific
.idea/**/aws.xml
# Gradle:
.idea/gradle.xml
.idea/libraries
# Generated files
.idea/**/contentModel.xml
# Mongo Explorer plugin:
.idea/mongoSettings.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
## File-based project format:
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
.idea/artifacts
.idea/compiler.xml
.idea/jarRepositories.xml
.idea/modules.xml
.idea/*.iml
.idea/modules
*.iml
*.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
## Plugin-specific files:
# IntelliJ
/out/
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
@@ -41,20 +62,62 @@
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
*.iml
modules.xml
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/
# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml
# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/
# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$
# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml
# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml
# End of https://www.toptal.com/developers/gitignore/api/intellij
# Integry
*/target/*
*.ckie
/ts
/temp

17
.idea/compiler.xml generated
View File

@@ -6,24 +6,9 @@
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="ems-core" />
<module name="ems-engine" />
<module name="ems-core" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="ems-activity" target="1.8" />
<module name="ems-contabil" target="1.8" />
<module name="ems-document" target="1.8" />
<module name="ems-engine-customizations" target="1.8" />
<module name="ems-logistic" target="1.8" />
<module name="ems-offer" target="1.8" />
<module name="ems-order" target="1.8" />
<module name="ems-ordikids" target="1.8" />
<module name="ems-product" target="1.8" />
<module name="ems-production" target="1.8" />
<module name="ems-retail" target="1.8" />
<module name="ems-system" target="1.8" />
<module name="ems-utility" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>

26
.idea/encodings.xml generated
View File

@@ -1,36 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/ems-activity/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-activity/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-contabil/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-contabil/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-core/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-core/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-document/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-document/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-engine-customizations/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-engine-customizations/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-engine/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-engine/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-logistic/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-logistic/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-offer/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-offer/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-order/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-order/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-ordikids/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-ordikids/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-product/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-product/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-production/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-production/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-retail/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-retail/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-system/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-system/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-utility/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ems-utility/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>

8
.idea/file.template.settings.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExportableFileTemplateSettings">
<default_templates>
<template name="IntegryMigrationClass.java" file-name="Migration_${YEAR}${MONTH}${DAY}${HOUR}${MINUTE}${SECOND}" reformat="true" live-template-enabled="false" />
</default_templates>
</component>
</project>

View File

@@ -16,4 +16,4 @@ public class ${NAME} extends EntityBase {
private static final long serialVerionUID = 1L;
}
}

View File

@@ -13,4 +13,4 @@ public class ${NAME} extends EntityBase {
public static final String ENTITY = "${TABLE}";
#[[$END$]]#
}
}

View File

@@ -16,4 +16,4 @@ public class ${NAME} extends BaseMigration implements MigrationModelInterface{
}
}
}

6
.idea/git_toolbox_blame.xml generated Normal file
View File

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

15
.idea/git_toolbox_prj.xml generated Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GitToolBoxProjectSettings">
<option name="commitMessageIssueKeyValidationOverride">
<BoolValueOverride>
<option name="enabled" value="true" />
</BoolValueOverride>
</option>
<option name="commitMessageValidationEnabledOverride">
<BoolValueOverride>
<option name="enabled" value="true" />
</BoolValueOverride>
</option>
</component>
</project>

View File

@@ -1,8 +0,0 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
<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,org.apache.http.impl.client.HttpClientBuilder,build,org.apache.http.impl.client.HttpClients,createDefault,com.annimon.stream.Stream,of" />
</inspection_tool>
</profile>
</component>

View File

@@ -1,31 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="repo-sqlserver" />
<option name="name" value="repo-sqlserver" />
<option name="url" value="http://maven.lib.umd.edu/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central-http" />
<option name="name" value="central-http" />
<option name="url" value="http://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="AsposeJavaAPI" />
<option name="name" value="Aspose Java API" />
<option name="url" value="https://releases.aspose.com/java/repo/" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />

6
.idea/jenkinsSettings.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Jenkins.Application.Settings">
<option name="serverUrl" value="https://ci.studioml.it" />
</component>
</project>

4
.idea/misc.xml generated
View File

@@ -7,7 +7,9 @@
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
<option name="workspaceImportForciblyTurnedOn" value="true" />
</component>
<component name="PWA">
<option name="wasEnabledAtLeastOnce" value="true" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

View File

@@ -0,0 +1,15 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="MenuStaticCreator" type="Application" factoryName="Application" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="it.integry.ems.menu.MenuStaticCreator" />
<module name="ems-core" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="it.integry.ems.menu.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>

107
.idea/runConfigurations/Tomcat.xml generated Normal file
View File

@@ -0,0 +1,107 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat" ALTERNATIVE_JRE_ENABLED="false" ALTERNATIVE_JRE_PATH="1.8" nameIsGenerated="true">
<option name="COMMON_VM_ARGUMENTS" value="-Xms512m -Xmx2048m" />
<deployment>
<artifact name="ems-engine:war exploded">
<settings>
<option name="CONTEXT_PATH" value="/ems-api" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="a89fc2ca-88f5-402a-95b3-33bd03a9c1ac" />
</server-settings>
<log_file alias="Tomcat Manager Log" path="%IDEA_RUN:CATALINA_BASE%/logs/manager.*" />
<log_file alias="Tomcat Host Manager Log" path="%IDEA_RUN:CATALINA_BASE%/logs/host-manager.*" />
<log_file alias="Tomcat Localhost Access Log" path="%IDEA_RUN:CATALINA_BASE%/logs/localhost_access_log.*" />
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="javadebug" />
</RunnerSettings>
<RunnerSettings RunnerId="JProfiler">
<option name="jreHome" value="$USER_HOME$/.jdks/openjdk-21.0.2" />
</RunnerSettings>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="JProfiler">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Profile">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="ems-engine:war exploded" />
</option>
</method>
</configuration>
</component>

View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat 9 #1 (ServerDev)" type="Remote">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="serverdev" />
<option name="PORT" value="8001" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8001" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat 9 #2 (ServerDev)" type="Remote">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="serverdev" />
<option name="PORT" value="8002" />
<option name="AUTO_RESTART" value="false" />
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat #1 (GestSRV)" type="Remote" folderName="Carelli">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="172.16.30.238" />
<option name="PORT" value="8001" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8001" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat #1 (Rosso Gargano)" type="Remote" folderName="Rosso Gargano">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="192.168.1.13" />
<option name="PORT" value="8001" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8001" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat #1 (ServerTomcat)" type="Remote">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="localhost" />
<option name="PORT" value="8000" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8000" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat #2 (GestSRV)" type="Remote" folderName="Carelli">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="172.16.30.238" />
<option name="PORT" value="8002" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8002" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat (AnydeskTunnel)" type="Remote">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="servertomcat" />
<option name="PORT" value="8000" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8000" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

107
.idea/runConfigurations/Tomcat__FAST_.xml generated Normal file
View File

@@ -0,0 +1,107 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat (FAST)" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat" ALTERNATIVE_JRE_ENABLED="false">
<option name="COMMON_VM_ARGUMENTS" value="-DDISABLE_DROOLS_COMPILE=TRUE -Xms6G -Xmx6G -XX:MaxPermSize=1G -XX:PermSize=512M" />
<deployment>
<artifact name="ems-engine:war exploded">
<settings>
<option name="CONTEXT_PATH" value="/ems-api" />
</settings>
</artifact>
</deployment>
<server-settings>
<option name="BASE_DIRECTORY_NAME" value="00c7852d-22fb-44e1-9140-8ae73b4192fd" />
</server-settings>
<log_file alias="Tomcat Manager Log" path="%IDEA_RUN:CATALINA_BASE%/logs/manager.*" />
<log_file alias="Tomcat Host Manager Log" path="%IDEA_RUN:CATALINA_BASE%/logs/host-manager.*" />
<log_file alias="Tomcat Localhost Access Log" path="%IDEA_RUN:CATALINA_BASE%/logs/localhost_access_log.*" />
<predefined_log_file enabled="true" id="Tomcat" />
<predefined_log_file enabled="true" id="Tomcat Catalina" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="javadebug" />
</RunnerSettings>
<RunnerSettings RunnerId="JProfiler">
<option name="jreHome" value="$PROJECT_DIR$/../../../Program Files/Java/jdk1.8.0_202" />
</RunnerSettings>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="JProfiler">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Profile">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
<option name="USE_ENV_VARIABLES" value="true" />
<STARTUP>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</STARTUP>
<SHUTDOWN>
<option name="USE_DEFAULT" value="true" />
<option name="SCRIPT" value="" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
</SHUTDOWN>
</ConfigurationWrapper>
<method v="2">
<option name="Make" enabled="true" />
<option name="BuildArtifacts" enabled="true">
<artifact name="ems-engine:war exploded" />
</option>
</method>
</configuration>
</component>

16
.idea/runConfigurations/Tosca_Cloud.xml generated Normal file
View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tosca Cloud" type="Remote" folderName="Tosca">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="4.232.161.31" />
<option name="PORT" value="8001" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8001" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

16
.idea/runConfigurations/Tosca_Verona.xml generated Normal file
View File

@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tosca Verona" type="Remote" folderName="Tosca">
<module name="ems-engine" />
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" />
<option name="HOST" value="10.19.178.6" />
<option name="PORT" value="8001" />
<option name="AUTO_RESTART" value="false" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="8001" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<method v="2" />
</configuration>
</component>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

File diff suppressed because it is too large Load Diff

View File

@@ -19,11 +19,6 @@
<id>maven-public</id>
<url>https://maven.studioml.it/repository/maven-public/</url>
</repository>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
<properties>
@@ -47,19 +42,38 @@
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<version>3.4.0</version>
<configuration>
<skip>true</skip>
<mainClass>it.integry.ems_model.rulescompleting.KieStaticCompiler</mainClass>
<longClasspath>true</longClasspath>
<longModulepath>true</longModulepath>
<toolchain>jdk</toolchain>
<executable>java</executable>
<cleanupDaemonThreads>false</cleanupDaemonThreads>
<skip>false</skip>
<arguments>
<argument>-classpath</argument>
<!-- automatically creates the classpath using all project dependencies,
also adding the project build directory -->
<classpath/>
<argument>it.integry.ems_model.rulescompleting.KieStaticCompiler</argument>
<argument>src/main/resources/rules/</argument>
<argument>../ems-engine/src/main/webapp/drools/</argument>
</arguments>
<systemProperties>
<projectProperties/>
<exec.longClasspath>true</exec.longClasspath>
</systemProperties>
</configuration>
<executions>
<execution>
<phase>post-clean</phase>
<phase>process-classes</phase>
<goals>
<goal>java</goal>
<goal>exec</goal>
</goals>
</execution>
</executions>
@@ -125,7 +139,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
<version>2.11.0</version>
<scope>compile</scope>
</dependency>
@@ -159,19 +173,24 @@
<version>1.13</version>
</dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.4.3</version>
</dependency>
<!-- SWAGGER
<!-- SWAGGER -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<artifactId>springfox-oas</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency> -->
</dependency>
<!-- REST CLIENT -->
<dependency>
@@ -186,7 +205,7 @@
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<artifactId>resteasy-jackson2-provider</artifactId>
<version>${resteasy.version}</version>
</dependency>
@@ -221,7 +240,7 @@
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10</version>
<version>0.10.2</version>
</dependency>
<!-- Mail -->
@@ -231,29 +250,17 @@
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.3.0</version>
</dependency>
<!-- JASPER REPORT -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.16.0</version>
<exclusions>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7.js8</version>
<version>${jaspersoft.version}</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.lowagie</groupId>-->
<!-- <artifactId>itext</artifactId>-->
<!-- <version>2.1.7.js8</version>-->
<!-- </dependency>-->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-htmlcomponent</artifactId>
@@ -262,12 +269,12 @@
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.16.0</version>
<version>${jaspersoft.version}</version>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-functions</artifactId>
<version>6.16.0</version>
<version>${jaspersoft.version}</version>
</dependency>
<dependency>
<groupId>it.integry.font</groupId>
@@ -363,14 +370,14 @@
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
<version>5.2.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
<version>5.2.3</version>
</dependency>
<dependency>
@@ -394,18 +401,13 @@
<artifactId>utility-barcode</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>it.integry</groupId>
<artifactId>utilityImage</artifactId>
<version>1.0</version>
</dependency>
<!-- IntegryUtility (Barcodes, ecc) -->
<dependency>
<groupId>it.integry</groupId>
<artifactId>Utility</artifactId>
<version>1.4</version>
<version>1.5</version>
</dependency>
@@ -431,11 +433,21 @@
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
@@ -455,11 +467,6 @@
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument-tomcat</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
@@ -509,6 +516,7 @@
<version>${drools.version}</version>
</dependency>
<!-- log4j -->
<dependency>
<groupId>com.lmax</groupId>
@@ -547,7 +555,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
<version>3.14.0</version>
</dependency>
<dependency>
@@ -565,11 +573,6 @@
</dependency>
<!-- UTILS -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
@@ -696,7 +699,7 @@
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-admin</artifactId>
<version>7.0.1</version>
<version>9.2.0</version>
</dependency>
@@ -711,12 +714,6 @@
<artifactId>jcodec-javase</artifactId>
<version>0.2.5</version>
</dependency>
<dependency>
<groupId>com.annimon</groupId>
<artifactId>stream</artifactId>
<version>1.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
@@ -730,5 +727,11 @@
<version>0.27.0</version>
</dependency>
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-symbol-solver-core</artifactId>
<version>3.26.1</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,18 @@
package it.integry.FoodProcess.api;
import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.client.ClientRequestFilter;
import java.io.IOException;
public class AddApiKeyHeaderRequestFilter implements ClientRequestFilter {
private final String apiKey;
public AddApiKeyHeaderRequestFilter(String apiKey) {
this.apiKey = apiKey;
}
@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {
clientRequestContext.getHeaders().add("X-Api-Key", apiKey);
}
}

View File

@@ -0,0 +1,62 @@
package it.integry.FoodProcess.api;
import com.fasterxml.jackson.databind.ObjectMapper;
import it.integry.FoodProcess.dto.response.ErrorResponse;
import javax.ws.rs.*;
import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.client.ClientResponseContext;
import javax.ws.rs.client.ClientResponseFilter;
import javax.ws.rs.core.Response;
import java.io.IOException;
public class ErrorMessageResponseFilter implements ClientResponseFilter {
private static final ObjectMapper objectMapper = new ObjectMapper();
@Override
public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
if (responseContext.getStatus() != Response.Status.OK.getStatusCode()) {
if (responseContext.hasEntity()) {
ErrorResponse error = objectMapper.readValue(responseContext.getEntityStream(), ErrorResponse.class);
String message = error.getErrorMessage();
Response.Status status = Response.Status.fromStatusCode(responseContext.getStatus());
WebApplicationException webAppException;
switch (status) {
case BAD_REQUEST:
webAppException = new BadRequestException(message);
break;
case UNAUTHORIZED:
webAppException = new NotAuthorizedException(message, Response.status(Response.Status.UNAUTHORIZED).build());
break;
case FORBIDDEN:
webAppException = new ForbiddenException(message);
break;
case NOT_FOUND:
webAppException = new NotFoundException(message);
break;
case METHOD_NOT_ALLOWED:
webAppException = new NotAllowedException(message);
break;
case NOT_ACCEPTABLE:
webAppException = new NotAcceptableException(message);
break;
case UNSUPPORTED_MEDIA_TYPE:
webAppException = new NotSupportedException(message);
break;
case INTERNAL_SERVER_ERROR:
webAppException = new InternalServerErrorException(message);
break;
case SERVICE_UNAVAILABLE:
webAppException = new ServiceUnavailableException(message);
break;
default:
webAppException = new WebApplicationException(message);
}
throw webAppException;
}
}
}
}

View File

@@ -0,0 +1,69 @@
package it.integry.FoodProcess.api;
import it.integry.FoodProcess.dto.*;
import it.integry.FoodProcess.dto.response.*;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.util.List;
public interface FoodProcessClient {
// Orders
@GET
@Path("/getorderstatuses")
@Produces(MediaType.APPLICATION_JSON)
List<OrderStatusResponse> getOrderStatuses(@QueryParam("order_ids") List<String> orderIds);
@POST
@Path("/importorders")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
ImportOrdersResponse importOrders(ImportOrdersRequest importOrdersRequest);
// Master data
@GET
@Path("/getarticles")
@Produces(MediaType.APPLICATION_JSON)
List<Article> getArticles();
@POST
@Path("/importarticles")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
ImportArticlesResponse importArticles(ImportArticlesRequest importArticlesRequest);
@GET
@Path("/getbusinesspartners")
@Produces(MediaType.APPLICATION_JSON)
List<BusinessPartner> getBusinessPartners();
@POST
@Path("/importbusinesspartners")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
ImportBusinessPartnersResponse importBusinessPartners(ImportBusinessPartnersRequest importBusinessPartnersRequest);
@GET
@Path("/getpackagingmaterials")
@Produces(MediaType.APPLICATION_JSON)
List<PackagingMaterial> getPackagingMaterials();
@POST
@Path("/importpackagingmaterials")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
ImportPackagingMaterialsResponse importPackagingMaterials(ImportPackagingMaterialsRequest importPackagingMaterialsRequest);
@GET
@Path("/getrawmaterials")
@Produces(MediaType.APPLICATION_JSON)
List<RawMaterial> getRawMaterials();
@POST
@Path("/importrawmaterials")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
ImportRawMaterialsResponse importRawMaterials(ImportRawMaterialsRequest importRawMaterialsRequest);
}

View File

@@ -0,0 +1,25 @@
package it.integry.FoodProcess.api;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.ext.Provider;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
@Provider
public class JacksonProvider extends ResteasyJackson2Provider {
@Override
public void writeTo(Object value, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException {
ObjectMapper mapper = locateMapper(type, MediaType.APPLICATION_JSON_TYPE);
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
super.writeTo(value, type, genericType, annotations, mediaType, httpHeaders, entityStream);
}
}

View File

@@ -0,0 +1,116 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import it.integry.ems_model.annotation.SqlField;
import java.util.List;
public class Article {
@SqlField
private String id;
@SqlField
private String code;
@SqlField
private String name;
@JsonProperty("raw_materials")
private List<ArticleRawMaterial> rawMaterials;
@JsonProperty("packaging_material_id")
private String packagingMaterialId;
@JsonProperty("packaging_material_code")
private String packagingMaterialCode;
@JsonProperty("packaging_material_name")
private String packagingMaterialName;
@SqlField
private String note;
@JsonProperty("is_archived")
private boolean isArchived;
public String getId() {
return id;
}
public Article setId(String id) {
this.id = id;
return this;
}
public String getCode() {
return code;
}
public Article setCode(String code) {
this.code = code;
return this;
}
public String getName() {
return name;
}
public Article setName(String name) {
this.name = name;
return this;
}
public List<ArticleRawMaterial> getRawMaterials() {
return rawMaterials;
}
public Article setRawMaterials(List<ArticleRawMaterial> rawMaterials) {
this.rawMaterials = rawMaterials;
return this;
}
public String getPackagingMaterialId() {
return packagingMaterialId;
}
public Article setPackagingMaterialId(String packagingMaterialId) {
this.packagingMaterialId = packagingMaterialId;
return this;
}
public String getPackagingMaterialCode() {
return packagingMaterialCode;
}
public Article setPackagingMaterialCode(String packagingMaterialCode) {
this.packagingMaterialCode = packagingMaterialCode;
return this;
}
public String getPackagingMaterialName() {
return packagingMaterialName;
}
public Article setPackagingMaterialName(String packagingMaterialName) {
this.packagingMaterialName = packagingMaterialName;
return this;
}
public String getNote() {
return note;
}
public Article setNote(String note) {
this.note = note;
return this;
}
public boolean getIsArchived() {
return isArchived;
}
public Article setIsArchived(boolean isArchived) {
this.isArchived = isArchived;
return this;
}
}

View File

@@ -0,0 +1,50 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ArticleRawMaterial {
private String id;
private String code;
private String name;
@JsonProperty("weight_kg")
private Double weightKg;
public String getId() {
return id;
}
public ArticleRawMaterial setId(String id) {
this.id = id;
return this;
}
public String getCode() {
return code;
}
public ArticleRawMaterial setCode(String code) {
this.code = code;
return this;
}
public String getName() {
return name;
}
public ArticleRawMaterial setName(String name) {
this.name = name;
return this;
}
public Double getWeightKg() {
return weightKg;
}
public ArticleRawMaterial setWeightKg(Double weightKg) {
this.weightKg = weightKg;
return this;
}
}

View File

@@ -0,0 +1,93 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import it.integry.ems_model.annotation.SqlField;
public class BusinessPartner {
@SqlField
private String id;
@SqlField
private String code;
@SqlField
private String name;
@SqlField
@JsonProperty("is_customer")
private boolean isCustomer;
@SqlField
@JsonProperty("is_supplier")
private boolean isSupplier;
@SqlField
private String note;
@SqlField
@JsonProperty("is_archived")
private boolean isArchived;
public String getId() {
return id;
}
public BusinessPartner setId(String id) {
this.id = id;
return this;
}
public String getCode() {
return code;
}
public BusinessPartner setCode(String code) {
this.code = code;
return this;
}
public String getName() {
return name;
}
public BusinessPartner setName(String name) {
this.name = name;
return this;
}
public boolean getIsCustomer() {
return isCustomer;
}
public BusinessPartner setIsCustomer(boolean isCustomer) {
this.isCustomer = isCustomer;
return this;
}
public boolean getIsSupplier() {
return isSupplier;
}
public BusinessPartner setIsSupplier(boolean isSupplier) {
this.isSupplier = isSupplier;
return this;
}
public String getNote() {
return note;
}
public BusinessPartner setNote(String note) {
this.note = note;
return this;
}
public boolean getIsArchived() {
return isArchived;
}
public BusinessPartner setIsArchived(boolean isArchived) {
this.isArchived = isArchived;
return this;
}
}

View File

@@ -0,0 +1,16 @@
package it.integry.FoodProcess.dto;
import java.util.List;
public class ImportArticlesRequest {
private List<Article> articles;
public List<Article> getArticles() {
return articles;
}
public ImportArticlesRequest setArticles(List<Article> articles) {
this.articles = articles;
return this;
}
}

View File

@@ -0,0 +1,19 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public class ImportBusinessPartnersRequest {
@JsonProperty("business_partners")
private List<BusinessPartner> businessPartners;
public List<BusinessPartner> getBusinessPartners() {
return businessPartners;
}
public ImportBusinessPartnersRequest setBusinessPartners(List<BusinessPartner> businessPartners) {
this.businessPartners = businessPartners;
return this;
}
}

View File

@@ -0,0 +1,16 @@
package it.integry.FoodProcess.dto;
import java.util.List;
public class ImportOrdersRequest {
private List<RequestOrder> orders;
public List<RequestOrder> getOrders() {
return orders;
}
public ImportOrdersRequest setOrders(List<RequestOrder> orders) {
this.orders = orders;
return this;
}
}

View File

@@ -0,0 +1,19 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public class ImportPackagingMaterialsRequest {
@JsonProperty("packaging_materials")
private List<PackagingMaterial> packagingMaterials;
public List<PackagingMaterial> getPackagingMaterials() {
return packagingMaterials;
}
public ImportPackagingMaterialsRequest setPackagingMaterials(List<PackagingMaterial> packagingMaterials) {
this.packagingMaterials = packagingMaterials;
return this;
}
}

View File

@@ -0,0 +1,19 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public class ImportRawMaterialsRequest {
@JsonProperty("raw_materials")
private List<RawMaterial> rawMaterials;
public List<RawMaterial> getRawMaterials() {
return rawMaterials;
}
public ImportRawMaterialsRequest setRawMaterials(List<RawMaterial> rawMaterials) {
this.rawMaterials = rawMaterials;
return this;
}
}

View File

@@ -0,0 +1,120 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
public class PackagingMaterial {
private String id;
private String code;
private String name;
private PackagingMaterialType type;
@JsonProperty("weight_kg")
private Double weightKg;
@JsonProperty("length_mm")
private Double lengthMm;
@JsonProperty("width_mm")
private Double widthMm;
@JsonProperty("height_mm")
private Double heightMm;
private String note;
@JsonProperty("is_archived")
private boolean isArchived;
public String getId() {
return id;
}
public PackagingMaterial setId(String id) {
this.id = id;
return this;
}
public String getCode() {
return code;
}
public PackagingMaterial setCode(String code) {
this.code = code;
return this;
}
public String getName() {
return name;
}
public PackagingMaterial setName(String name) {
this.name = name;
return this;
}
public PackagingMaterialType getType() {
return type;
}
public PackagingMaterial setType(PackagingMaterialType type) {
this.type = type;
return this;
}
public Double getWeightKg() {
return weightKg;
}
public PackagingMaterial setWeightKg(Double weightKg) {
this.weightKg = weightKg;
return this;
}
public Double getLengthMm() {
return lengthMm;
}
public PackagingMaterial setLengthMm(Double lengthMm) {
this.lengthMm = lengthMm;
return this;
}
public Double getWidthMm() {
return widthMm;
}
public PackagingMaterial setWidthMm(Double widthMm) {
this.widthMm = widthMm;
return this;
}
public Double getHeightMm() {
return heightMm;
}
public PackagingMaterial setHeightMm(Double heightMm) {
this.heightMm = heightMm;
return this;
}
public String getNote() {
return note;
}
public PackagingMaterial setNote(String note) {
this.note = note;
return this;
}
public boolean getIsArchived() {
return isArchived;
}
public PackagingMaterial setIsArchived(boolean isArchived) {
this.isArchived = isArchived;
return this;
}
}

View File

@@ -0,0 +1,10 @@
package it.integry.FoodProcess.dto;
public enum PackagingMaterialType {
PUNNET,
TRAY,
BAG,
CARTON,
CRATE,
PALLET
}

View File

@@ -0,0 +1,61 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
public class RawMaterial {
private String id;
private String code;
private String name;
private String note;
@JsonProperty("is_archived")
private boolean isArchived;
public String getId() {
return id;
}
public RawMaterial setId(String id) {
this.id = id;
return this;
}
public String getCode() {
return code;
}
public RawMaterial setCode(String code) {
this.code = code;
return this;
}
public String getName() {
return name;
}
public RawMaterial setName(String name) {
this.name = name;
return this;
}
public String getNote() {
return note;
}
public RawMaterial setNote(String note) {
this.note = note;
return this;
}
public boolean getIsArchived() {
return isArchived;
}
public RawMaterial setIsArchived(boolean isArchived) {
this.isArchived = isArchived;
return this;
}
}

View File

@@ -0,0 +1,234 @@
package it.integry.FoodProcess.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class RequestOrder {
private String id;
private String type;
@JsonProperty("article_id")
private String articleId;
@JsonProperty("article_code")
private String articleCode;
@JsonProperty("customer_id")
private String customerId;
@JsonProperty("customer_code")
private String customerCode;
@JsonProperty("secondary_packaging_material_id")
private String secondaryPackagingMaterialId;
@JsonProperty("secondary_packaging_material_code")
private String secondaryPackagingMaterialCode;
@JsonProperty("tertiary_packaging_material_id")
private String tertiaryPackagingMaterialId;
@JsonProperty("tertiary_packaging_material_code")
private String tertiaryPackagingMaterialCode;
@JsonProperty("units_per_secondary_packaging")
private int unitsPerSecondaryPackaging;
@JsonProperty("units_per_pallet_layer")
private int unitsPerPalletLayer;
@JsonProperty("pallet_layer_quantity")
private int palletLayerQuantity;
@JsonProperty("target_quantity")
private double targetQuantity;
@JsonProperty("target_quantity_unit")
private TargetQuantityUnit targetQuantityUnit;
@JsonProperty("scheduled_for")
private LocalDateTime scheduledFor;
@JsonProperty("to_be_completed_until")
private LocalDateTime toBeCompletedUntil;
@JsonProperty("best_before_date")
private LocalDate bestBeforeDate;
@JsonProperty("production_lot")
private String productionLot;
public String getId() {
return id;
}
public RequestOrder setId(String id) {
this.id = id;
return this;
}
public String getType() {
return type;
}
public RequestOrder setType(String type) {
this.type = type;
return this;
}
public String getArticleId() {
return articleId;
}
public RequestOrder setArticleId(String articleId) {
this.articleId = articleId;
return this;
}
public String getArticleCode() {
return articleCode;
}
public RequestOrder setArticleCode(String articleCode) {
this.articleCode = articleCode;
return this;
}
public String getCustomerId() {
return customerId;
}
public RequestOrder setCustomerId(String customerId) {
this.customerId = customerId;
return this;
}
public String getCustomerCode() {
return customerCode;
}
public RequestOrder setCustomerCode(String customerCode) {
this.customerCode = customerCode;
return this;
}
public String getSecondaryPackagingMaterialId() {
return secondaryPackagingMaterialId;
}
public RequestOrder setSecondaryPackagingMaterialId(String secondaryPackagingMaterialId) {
this.secondaryPackagingMaterialId = secondaryPackagingMaterialId;
return this;
}
public String getSecondaryPackagingMaterialCode() {
return secondaryPackagingMaterialCode;
}
public RequestOrder setSecondaryPackagingMaterialCode(String secondaryPackagingMaterialCode) {
this.secondaryPackagingMaterialCode = secondaryPackagingMaterialCode;
return this;
}
public String getTertiaryPackagingMaterialId() {
return tertiaryPackagingMaterialId;
}
public RequestOrder setTertiaryPackagingMaterialId(String tertiaryPackagingMaterialId) {
this.tertiaryPackagingMaterialId = tertiaryPackagingMaterialId;
return this;
}
public String getTertiaryPackagingMaterialCode() {
return tertiaryPackagingMaterialCode;
}
public RequestOrder setTertiaryPackagingMaterialCode(String tertiaryPackagingMaterialCode) {
this.tertiaryPackagingMaterialCode = tertiaryPackagingMaterialCode;
return this;
}
public int getUnitsPerSecondaryPackaging() {
return unitsPerSecondaryPackaging;
}
public RequestOrder setUnitsPerSecondaryPackaging(int unitsPerSecondaryPackaging) {
this.unitsPerSecondaryPackaging = unitsPerSecondaryPackaging;
return this;
}
public int getUnitsPerPalletLayer() {
return unitsPerPalletLayer;
}
public RequestOrder setUnitsPerPalletLayer(int unitsPerPalletLayer) {
this.unitsPerPalletLayer = unitsPerPalletLayer;
return this;
}
public int getPalletLayerQuantity() {
return palletLayerQuantity;
}
public RequestOrder setPalletLayerQuantity(int palletLayerQuantity) {
this.palletLayerQuantity = palletLayerQuantity;
return this;
}
public double getTargetQuantity() {
return targetQuantity;
}
public RequestOrder setTargetQuantity(double targetQuantity) {
this.targetQuantity = targetQuantity;
return this;
}
public TargetQuantityUnit getTargetQuantityUnit() {
return targetQuantityUnit;
}
public RequestOrder setTargetQuantityUnit(TargetQuantityUnit targetQuantityUnit) {
this.targetQuantityUnit = targetQuantityUnit;
return this;
}
public LocalDateTime getScheduledFor() {
return scheduledFor;
}
public RequestOrder setScheduledFor(LocalDateTime scheduledFor) {
this.scheduledFor = scheduledFor;
return this;
}
public LocalDateTime getToBeCompletedUntil() {
return toBeCompletedUntil;
}
public RequestOrder setToBeCompletedUntil(LocalDateTime toBeCompletedUntil) {
this.toBeCompletedUntil = toBeCompletedUntil;
return this;
}
public LocalDate getBestBeforeDate() {
return bestBeforeDate;
}
public RequestOrder setBestBeforeDate(LocalDate bestBeforeDate) {
this.bestBeforeDate = bestBeforeDate;
return this;
}
public String getProductionLot() {
return productionLot;
}
public RequestOrder setProductionLot(String productionLot) {
this.productionLot = productionLot;
return this;
}
}

View File

@@ -0,0 +1,8 @@
package it.integry.FoodProcess.dto;
public enum TargetQuantityUnit {
PIECE,
SECONDARY_PACKAGING,
TERTIARY_PACKAGING,
KILOGRAM
}

View File

@@ -0,0 +1,17 @@
package it.integry.FoodProcess.dto.response;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ErrorResponse {
@JsonProperty("error_message")
private String errorMessage;
public String getErrorMessage() {
return errorMessage;
}
public ErrorResponse setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
return this;
}
}

View File

@@ -0,0 +1,17 @@
package it.integry.FoodProcess.dto.response;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ImportArticleStatus extends ResponseStatus {
@JsonProperty("article_id")
private String articleId;
public String getArticleId() {
return articleId;
}
public ImportArticleStatus setArticleId(String articleId) {
this.articleId = articleId;
return this;
}
}

View File

@@ -0,0 +1,16 @@
package it.integry.FoodProcess.dto.response;
import java.util.List;
public class ImportArticlesResponse {
private List<ImportArticleStatus> statuses;
public List<ImportArticleStatus> getStatuses() {
return statuses;
}
public ImportArticlesResponse setStatuses(List<ImportArticleStatus> statuses) {
this.statuses = statuses;
return this;
}
}

View File

@@ -0,0 +1,17 @@
package it.integry.FoodProcess.dto.response;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ImportBusinessPartnerStatus extends ResponseStatus {
@JsonProperty("business_partner_id")
private String businessPartnerId;
public String getBusinessPartnerId() {
return businessPartnerId;
}
public ImportBusinessPartnerStatus setBusinessPartnerId(String businessPartnerId) {
this.businessPartnerId = businessPartnerId;
return this;
}
}

View File

@@ -0,0 +1,16 @@
package it.integry.FoodProcess.dto.response;
import java.util.List;
public class ImportBusinessPartnersResponse {
private List<ImportBusinessPartnerStatus> statuses;
public List<ImportBusinessPartnerStatus> getStatuses() {
return statuses;
}
public ImportBusinessPartnersResponse setStatuses(List<ImportBusinessPartnerStatus> statuses) {
this.statuses = statuses;
return this;
}
}

View File

@@ -0,0 +1,17 @@
package it.integry.FoodProcess.dto.response;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ImportOrderStatus extends ResponseStatus {
@JsonProperty("order_id")
private String orderId;
public String getOrderId() {
return orderId;
}
public ImportOrderStatus setOrderId(String orderId) {
this.orderId = orderId;
return this;
}
}

View File

@@ -0,0 +1,16 @@
package it.integry.FoodProcess.dto.response;
import java.util.List;
public class ImportOrdersResponse {
private List<ImportOrderStatus> statuses;
public List<ImportOrderStatus> getStatuses() {
return statuses;
}
public ImportOrdersResponse setStatuses(List<ImportOrderStatus> statuses) {
this.statuses = statuses;
return this;
}
}

View File

@@ -0,0 +1,17 @@
package it.integry.FoodProcess.dto.response;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ImportPackagingMaterialStatus extends ResponseStatus {
@JsonProperty("packaging_material_id")
private String packagingMaterialId;
public String getPackagingMaterialId() {
return packagingMaterialId;
}
public ImportPackagingMaterialStatus setPackagingMaterialId(String packagingMaterialId) {
this.packagingMaterialId = packagingMaterialId;
return this;
}
}

View File

@@ -0,0 +1,16 @@
package it.integry.FoodProcess.dto.response;
import java.util.List;
public class ImportPackagingMaterialsResponse {
private List<ImportPackagingMaterialStatus> statuses;
public List<ImportPackagingMaterialStatus> getStatuses() {
return statuses;
}
public ImportPackagingMaterialsResponse setStatuses(List<ImportPackagingMaterialStatus> statuses) {
this.statuses = statuses;
return this;
}
}

View File

@@ -0,0 +1,17 @@
package it.integry.FoodProcess.dto.response;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ImportRawMaterialStatus extends ResponseStatus {
@JsonProperty("raw_material_id")
private String rawMaterialId;
public String getRawMaterialId() {
return rawMaterialId;
}
public ImportRawMaterialStatus setRawMaterialId(String rawMaterialId) {
this.rawMaterialId = rawMaterialId;
return this;
}
}

View File

@@ -0,0 +1,16 @@
package it.integry.FoodProcess.dto.response;
import java.util.List;
public class ImportRawMaterialsResponse {
private List<ImportRawMaterialStatus> statuses;
public List<ImportRawMaterialStatus> getStatuses() {
return statuses;
}
public ImportRawMaterialsResponse setStatuses(List<ImportRawMaterialStatus> statuses) {
this.statuses = statuses;
return this;
}
}

View File

@@ -0,0 +1,9 @@
package it.integry.FoodProcess.dto.response;
public enum OrderStatus {
NEW,
ASSIGNED,
ACTIVE,
CLOSED,
CANCELED
}

View File

@@ -0,0 +1,29 @@
package it.integry.FoodProcess.dto.response;
import com.fasterxml.jackson.annotation.JsonProperty;
public class OrderStatusResponse {
@JsonProperty("order_id")
private String orderId;
@JsonProperty("order_status")
private OrderStatus orderStatus;
public String getOrderId() {
return orderId;
}
public OrderStatusResponse setOrderId(String orderId) {
this.orderId = orderId;
return this;
}
public OrderStatus getOrderStatus() {
return orderStatus;
}
public OrderStatusResponse setOrderStatus(OrderStatus orderStatus) {
this.orderStatus = orderStatus;
return this;
}
}

View File

@@ -0,0 +1,24 @@
package it.integry.FoodProcess.dto.response;
public class ResponseStatus {
private boolean success;
private String message;
public boolean isSuccess() {
return success;
}
public ResponseStatus setSuccess(boolean success) {
this.success = success;
return this;
}
public String getMessage() {
return message;
}
public ResponseStatus setMessage(String message) {
this.message = message;
return this;
}
}

View File

@@ -0,0 +1,175 @@
package it.integry.FoodProcess.service;
import it.integry.FoodProcess.api.AddApiKeyHeaderRequestFilter;
import it.integry.FoodProcess.api.ErrorMessageResponseFilter;
import it.integry.FoodProcess.api.FoodProcessClient;
import it.integry.FoodProcess.api.JacksonProvider;
import it.integry.FoodProcess.dto.Article;
import it.integry.FoodProcess.dto.ImportArticlesRequest;
import it.integry.FoodProcess.dto.response.ImportArticlesResponse;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityEntity;
import it.integry.ems_model.entity.MtbAart;
import it.integry.ems_model.entity.MtbAartAnag;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityList;
import it.integry.ems_model.utility.UtilityString;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.regex.Pattern;
@Service
@Scope("request")
public class FoodProcessRestService {
private final Pattern ID_REGEX = Pattern.compile("^[0-9A-Fa-f]{1,}$");
private final SetupGest setupGest;
private final MultiDBTransactionManager multiDBTransactionManager;
private final EntityProcessor entityProcessor;
public FoodProcessRestService(SetupGest setupGest, MultiDBTransactionManager multiDBTransactionManager, EntityProcessor entityProcessor) {
this.setupGest = setupGest;
this.multiDBTransactionManager = multiDBTransactionManager;
this.entityProcessor = entityProcessor;
}
public FoodProcessClient makeInstance() throws Exception {
String endpoint = setupGest.getSetup("FOODPROCESS", "SETUP", "ENDPOINT");
if (UtilityString.isNullOrEmpty(endpoint)) {
throw new Exception("Endpoint per il servizio di FoodProcess non configurato.\nImpostarlo in FOODPROCESS->SETUP->ENDPOINT.");
}
String apiKey = setupGest.getSetup("FOODPROCESS", "SETUP", "API_KEY");
if (UtilityString.isNullOrEmpty(apiKey)) {
throw new Exception("Api key per il servizio di FoodProcess non configurato.\nImpostarlo in FOODPROCESS->SETUP->API_KEY.");
}
ResteasyClient client = new ResteasyClientBuilder().build();
client.register(new JacksonProvider());
client.register(new ErrorMessageResponseFilter());
client.register(new AddApiKeyHeaderRequestFilter(apiKey));
ResteasyWebTarget target = client.target(endpoint);
return target.proxy(FoodProcessClient.class);
}
public ImportArticlesResponse importArticles(ImportArticlesRequest importArticlesRequest) throws Exception {
if (UtilityList.isNullOrEmpty(importArticlesRequest.getArticles())) {
return null;
}
String codAnagTopControl = setupGest.getSetup("FOODPROCESS", "SETUP", "TOPCONTROL_CODANAG");
if (UtilityString.isNullOrEmpty(codAnagTopControl)) {
throw new Exception("Cod. anag. di Top Control non configurato.\nImpostarlo in FOODPROCESS->SETUP->TOPCONTROL_CODANAG.");
}
FoodProcessClient client = makeInstance();
List<Article> foodProcessArticles = client.getArticles();
List<MtbAart> entityList = new ArrayList<>();
for (Article article : importArticlesRequest.getArticles()) {
if (UtilityString.isNullOrEmpty(article.getId()) || !ID_REGEX.matcher(article.getId()).matches()) {
String sql;
MtbAartAnag mtbAartAnag = null;
// Cerco negli articoli loro
Optional<Article> optionalFoodProcessArticle = foodProcessArticles.stream()
.filter(x -> !x.getIsArchived())
.filter(x -> x.getCode().equalsIgnoreCase(article.getCode()))
.findFirst();
if (optionalFoodProcessArticle.isPresent()) {
Article foodProcessArticle = optionalFoodProcessArticle.get();
mtbAartAnag = new MtbAartAnag()
.setCodAnag(codAnagTopControl)
.setCodMartAnag(foodProcessArticle.getId())
.setCodMart(article.getId());
mtbAartAnag.setOperation(OperationType.INSERT_OR_UPDATE);
}
// Cerco id in nostra anagrafica
if (mtbAartAnag == null && !UtilityString.isNullOrEmpty(article.getId())) {
sql = Query.format(
"SELECT id, cod_mart_anag\n" +
"FROM mtb_aart_anag\n" +
"WHERE cod_anag = %s\n" +
" AND cod_mart = %s",
codAnagTopControl,
article.getId()
);
mtbAartAnag = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, MtbAartAnag.class);
}
// Articolo nuovo, creo un nuovo id
if (mtbAartAnag == null) {
sql = Query.format(
"SELECT CAST(ISNULL(MAX(CAST(cod_mart_anag AS INT)), 0) + 1 AS VARCHAR) AS cod_mart_anag\n" +
"FROM mtb_aart_anag\n" +
"WHERE cod_anag = %s",
codAnagTopControl
);
String codMartAnag = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
mtbAartAnag = new MtbAartAnag()
.setCodAnag(codAnagTopControl)
.setCodMartAnag(codMartAnag);
mtbAartAnag.setOperation(OperationType.INSERT_OR_UPDATE);
}
if (!UtilityString.isNullOrEmpty(mtbAartAnag)) {
if (!mtbAartAnag.getOperation().equals(OperationType.SELECT_OBJECT)) {
MtbAart mtbAart = entityList.stream()
.filter(x -> x.getCodMart().equalsIgnoreCase(article.getId()))
.findFirst()
.orElseGet(() -> {
MtbAart newMtbAart = new MtbAart()
.setCodMart(article.getId())
.setMtbAartAnag(new ArrayList<>());
newMtbAart.setOperation(OperationType.NO_OP);
entityList.add(newMtbAart);
return newMtbAart;
});
mtbAart.getMtbAartAnag().add(mtbAartAnag);
}
article.setId(mtbAartAnag.getCodMartAnag());
}
}
}
if (!UtilityList.isNullOrEmpty(entityList)) {
entityProcessor.processEntityList(entityList, false);
UtilityEntity.throwEntitiesException(entityList);
}
return client.importArticles(importArticlesRequest);
}
}

View File

@@ -5,7 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import it.integry.WooCommerce.dto.order.WooCommerceOrderDTO;
import it.integry.WooCommerce.service.WooCommerceService;
import it.integry.common.var.CommonConstants;
import it.integry.ems.json.JSONObjectMapper;
import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems_model.config.EmsRestConstants;
import org.apache.logging.log4j.LogManager;
@@ -26,7 +26,7 @@ public class WooCommerceController {
@Autowired
private WooCommerceService wooService;
@Autowired
private JSONObjectMapper jsonObjectMapper;
private ResponseJSONObjectMapper jsonObjectMapper;
@RequestMapping(value = EmsRestConstants.PATH_WOO_NEW_ORDER, method = RequestMethod.POST)

View File

@@ -1,7 +1,7 @@
package it.integry.WooCommerce.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import it.integry.ems_model.annotation.SqlField;
import org.codehaus.jackson.annotate.JsonProperty;
public class AttributeDTO {
@SqlField("attributo")

View File

@@ -1,8 +1,8 @@
package it.integry.WooCommerce.dto.order;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
import it.integry.WooCommerce.enums.OrderStatus;
import org.codehaus.jackson.JsonNode;
import java.util.Arrays;
import java.util.List;

View File

@@ -768,7 +768,8 @@ public class WooCommerceService {
private void sendErrorMail(String errorMsg, String service, byte[] content, String filename, List<AnomalieDTO> anomalie) {
try {
mailService.sendErrorMail(multiDBTransactionManager, service, "WOOCOMMERCE", null, content, filename, anomalie);
mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, service, "WOOCOMMERCE", "Errore WooCommerce",
null, content, filename, anomalie);
} catch (Exception exception) {
logger.error(service, exception);
}

View File

@@ -1,12 +1,13 @@
package it.integry.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Retention(RUNTIME)
@Target(FIELD)
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface PostContextAutowired {
}

View File

@@ -38,7 +38,10 @@ public class CommonConstants {
public static final DateTimeFormatter TIMESTAMP_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMddHHmmss")
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATESTAMP_FORMATTER = DateTimeFormatter.ofPattern("yyMMdd")
public static final DateTimeFormatter DATESTAMP_YMD_FORMATTER = DateTimeFormatter.ofPattern("yyMMdd")
.withZone(ZoneId.systemDefault());
public static final DateTimeFormatter DATESTAMP_DMY_FORMATTER = DateTimeFormatter.ofPattern("ddMMyy")
.withZone(ZoneId.systemDefault());

View File

@@ -9,21 +9,21 @@ import java.util.HashMap;
public class EmsDBConst {
private HashMap<String, Const> typesBindingTable = new HashMap<String, Const>() {{
private HashMap<String, Const> datiAziendaBindingTable = new HashMap<String, Const>() {{
}};
public Const getConsts(String azienda) {
String aziendaUp = azienda.toUpperCase();
public Const getConsts(String profileDb) {
String aziendaUp = profileDb.toUpperCase();
if (!typesBindingTable.containsKey(aziendaUp)) {
typesBindingTable.put(aziendaUp, new Const());
if (!datiAziendaBindingTable.containsKey(aziendaUp)) {
datiAziendaBindingTable.put(aziendaUp, new Const());
}
return typesBindingTable.get(aziendaUp);
return datiAziendaBindingTable.get(aziendaUp);
}
public void destroyAll() {
typesBindingTable = new HashMap<String, Const>();
datiAziendaBindingTable = new HashMap<String, Const>();
}

View File

@@ -8,6 +8,7 @@ public enum EntityImportType {
ORDINI("ORDINI"),
ORDINI_WEB("ORDINI WEB"),
ORDINI_ACQUISTO("ORDINI ACQUISTO"),
ORDINI_VENDITA("ORDINI VENDITA"),
DOCUMENTI("DOCUMENTI"),
DOCUMENTI_ACQUISTO("DOCUMENTI ACQUISTO"),
DOCUMENTI_LAVORAZIONE("DOCUMENTI LAVORAZIONE"),
@@ -22,6 +23,7 @@ public enum EntityImportType {
RAPPORTINI_FG("RAPPORTINI FG"),
SCONTRINI("SCONTRINI"),
MOVIMENTI_CONTABILI("MOVIMENTI CONTABILI"),
GRIGLIA_VENDITA("GRIGLIA VENDITA"),
GRIGLIA_ACQUISTO("GRIGLIA ACQUISTO");
private String text;

View File

@@ -5,17 +5,9 @@ import com.microsoft.sqlserver.jdbc.SQLServerDriver;
import it.integry.annotations.PostContextAutowired;
import it.integry.annotations.PostContextConstruct;
import it.integry.annotations.PostWebServerConstruct;
import it.integry.ems.properties.EmsProperties;
import it.integry.ems.schedule.new_cron_job.dto.AutomatedOperationTypeEnum;
import it.integry.ems.schedule.new_cron_job.dto.operations.ServiceCallAutomatedOperationDTO;
import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseAutomatedOperationDTO;
import it.integry.ems.schedule.new_cron_job.service.AutomatedOperationHandlerComponent;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.postgresql.Driver;
@@ -33,10 +25,12 @@ import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import static org.reflections.scanners.Scanners.TypesAnnotated;
@Component
public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent> {
@@ -53,9 +47,6 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
@Autowired
private SettingsModel settingsModel;
@Autowired
private EmsProperties emsProperties;
private boolean contextInitialized = false;
private boolean firstStart = true;
@@ -108,6 +99,7 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
dispatchPostWebServerConstruct(multiDBTransactionManager);
} catch (Exception e) {
e.printStackTrace();
logger.error("EmsCoreContext.onPostDBLoaded", e);
}
}
@@ -115,13 +107,11 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
private void dispatchPostContextConstruct(MultiDBTransactionManager multiDBTransactionManager) throws InvocationTargetException, IllegalAccessException {
Reflections reflections = new Reflections("it.integry");
final Set<Class<?>> typesAnnotatedWith = reflections.getTypesAnnotatedWith(Component.class);
typesAnnotatedWith.addAll(reflections.getTypesAnnotatedWith(Service.class));
final Set<Class<?>> typesAnnotatedWith = reflections.get(TypesAnnotated.with(Component.class, Service.class).asClass());
List<Class<?>> classesWithPostContextConstruct = Stream.of(typesAnnotatedWith)
.filter(x -> Stream.of(x.getDeclaredMethods()).anyMatch(y -> y.isAnnotationPresent(PostContextConstruct.class)))
.sortBy(x -> Stream.of(x.getDeclaredMethods())
.filter(x -> Arrays.stream(x.getDeclaredMethods()).anyMatch(y -> y.isAnnotationPresent(PostContextConstruct.class)))
.sortBy(x -> Arrays.stream(x.getDeclaredMethods())
.filter(y -> y.isAnnotationPresent(PostContextConstruct.class))
.findFirst()
.get()
@@ -133,9 +123,9 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
logger.debug("PostContextConstruct - " + classType.getSimpleName() + " - START");
Object beanInstance = ContextLoader.getCurrentWebApplicationContext().getBean(classType);
List<Field> fieldsToInject = Stream.of(classType.getDeclaredFields())
List<Field> fieldsToInject = Arrays.stream(classType.getDeclaredFields())
.filter(y -> y.isAnnotationPresent(PostContextAutowired.class))
.toList();
.collect(Collectors.toList());
for (Field fieldToInject : fieldsToInject) {
fieldToInject.setAccessible(true);
@@ -145,7 +135,7 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
}
}
Method constructor = Stream.of(classType.getDeclaredMethods())
Method constructor = Arrays.stream(classType.getDeclaredMethods())
.filter(y -> y.isAnnotationPresent(PostContextConstruct.class))
.findFirst()
.get();
@@ -158,13 +148,11 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
private void dispatchPostWebServerConstruct(MultiDBTransactionManager multiDBTransactionManager) throws InvocationTargetException, IllegalAccessException {
Reflections reflections = new Reflections("it.integry");
final Set<Class<?>> typesAnnotatedWith = reflections.getTypesAnnotatedWith(Component.class);
typesAnnotatedWith.addAll(reflections.getTypesAnnotatedWith(Service.class));
final Set<Class<?>> typesAnnotatedWith = reflections.get(TypesAnnotated.with(Component.class, Service.class).asClass());
List<Class<?>> classesWithPostWebServerConstruct = Stream.of(typesAnnotatedWith)
.filter(x -> Stream.of(x.getDeclaredMethods()).anyMatch(y -> y.isAnnotationPresent(PostWebServerConstruct.class)))
.sortBy(x -> Stream.of(x.getDeclaredMethods())
.filter(x -> Arrays.stream(x.getDeclaredMethods()).anyMatch(y -> y.isAnnotationPresent(PostWebServerConstruct.class)))
.sortBy(x -> Arrays.stream(x.getDeclaredMethods())
.filter(y -> y.isAnnotationPresent(PostWebServerConstruct.class))
.findFirst()
.get()
@@ -176,9 +164,9 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
logger.debug("PostWebServerConstruct - " + classType.getSimpleName() + " - START");
Object beanInstance = ContextLoader.getCurrentWebApplicationContext().getBean(classType);
List<Field> fieldsToInject = Stream.of(classType.getDeclaredFields())
List<Field> fieldsToInject = Arrays.stream(classType.getDeclaredFields())
.filter(y -> y.isAnnotationPresent(PostContextAutowired.class))
.toList();
.collect(Collectors.toList());
for (Field fieldToInject : fieldsToInject) {
fieldToInject.setAccessible(true);
@@ -188,7 +176,7 @@ public class EmsCoreContext implements ApplicationListener<ContextRefreshedEvent
}
}
Method constructor = Stream.of(classType.getDeclaredMethods())
Method constructor = Arrays.stream(classType.getDeclaredMethods())
.filter(y -> y.isAnnotationPresent(PostWebServerConstruct.class))
.findFirst()
.get();

View File

@@ -3,18 +3,16 @@ package it.integry.ems._context;
import it.integry.annotations.PostContextConstruct;
import it.integry.common.var.EmsDBConst;
import it.integry.ems.datasource.DataSource;
import it.integry.ems.dynamic_cache.DynamicCacheService;
import it.integry.ems.expansion.RunnableArgs;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.AdvancedDataSource;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.user.UserCacheService;
import it.integry.ems.user.service.UserCacheService;
import it.integry.ems_model.entity.Azienda;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -22,9 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Component
public class EmsCoreDBLoader {

View File

@@ -1,20 +1,27 @@
package it.integry.ems.adapter;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.utility.UtilityString;
import java.io.IOException;
import java.util.Date;
public class JsonDateAdapterDeserializer extends JsonDeserializer<Date> {
public class JsonDateAdapterDeserializer extends StdDeserializer<Date> {
public JsonDateAdapterDeserializer() {
this(null);
}
protected JsonDateAdapterDeserializer(Class<?> vc) {
super(vc);
}
@Override
public Date deserialize(JsonParser jp, DeserializationContext arg1)
throws IOException, JsonProcessingException {
throws IOException {
if (UtilityString.isNullOrEmpty(jp.getText()))
return null;

View File

@@ -0,0 +1,49 @@
package it.integry.ems.configuration;
import it.integry.ems.json.ResponseJSONObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.nio.charset.StandardCharsets;
import java.util.List;
@Configuration
@EnableWebMvc
public class JsonConfig implements WebMvcConfigurer {
@Bean
public ResponseJSONObjectMapper jacksonResponseObjectMapper() {
final ResponseJSONObjectMapper objectMapper = new ResponseJSONObjectMapper();
return objectMapper;
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.APPLICATION_JSON);
}
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
final MappingJackson2HttpMessageConverter httpMessageConverter = converters.stream()
.filter(x -> x instanceof MappingJackson2HttpMessageConverter)
.map(x -> (MappingJackson2HttpMessageConverter) x)
.findFirst()
.get();
httpMessageConverter.setDefaultCharset(StandardCharsets.UTF_8);
httpMessageConverter.setObjectMapper(jacksonResponseObjectMapper());
int oldIndex = converters.indexOf(httpMessageConverter);
converters.remove(oldIndex);
converters.add(0, httpMessageConverter);
}
}

View File

@@ -0,0 +1,43 @@
package it.integry.ems.configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
@Configuration
//@EnableSwagger2
@EnableWebMvc
@EnableOpenApi
public class SwaggerConfig implements WebMvcConfigurer {
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/swagger-ui/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
.resourceChain(false);
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/swagger-ui/")
.setViewName("forward:" + "swagger-ui/index.html");
}
}

View File

@@ -7,13 +7,13 @@ import it.integry.ems.Import.base.EntityImportResponse;
import it.integry.ems.Import.dto.ImportRequestDTO;
import it.integry.ems.download.DownloadFileHandlerService;
import it.integry.ems.download.dto.DownloadFileDto;
import it.integry.ems.dto.EntityHierarchyDTO;
import it.integry.ems.dto.CreateZipDTO;
import it.integry.ems.dto.EntityHierarchy;
import it.integry.ems.export.base.EntityExportResponse;
import it.integry.ems.export.base.EntityExportedFile;
import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.media.MediaImageService;
import it.integry.ems.media.MimeTypesHandler;
import it.integry.ems.metrics.service.MetricService;
import it.integry.ems.model.EntityModel;
import it.integry.ems.model.FieldModel;
import it.integry.ems.model.PKFieldModel;
@@ -49,6 +49,8 @@ import org.quartz.*;
import org.quartz.impl.matchers.GroupMatcher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.mail.javamail.ConfigurableMimeFileTypeMap;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
import org.springframework.web.bind.annotation.*;
@@ -96,9 +98,6 @@ public class EmsController {
@Autowired
private ServiceChecker serviceChecker;
@Autowired
private MetricService metricService;
@Autowired
private SchedulerFactoryBean quartzScheduler;
@@ -183,17 +182,6 @@ public class EmsController {
}
}
@RequestMapping(value = "/metric/count", method = RequestMethod.GET)
public @ResponseBody
ServiceRestResponse metricCount(HttpServletRequest request) {
try {
return ServiceRestResponse.createPositiveResponse(metricService.getJsonCountMetric());
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
return ServiceRestResponse.createNegativeResponse(e);
}
}
@RequestMapping(value = "/decodeUcs", method = RequestMethod.POST)
public @ResponseBody
String decodeUcs(@RequestBody String encodedUcs) {
@@ -557,8 +545,7 @@ public class EmsController {
}
@RequestMapping(value = EmsRestConstants.PATH_EXPORT, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse export(
public @ResponseBody ServiceRestResponse export(
HttpServletRequest request,
@RequestParam(CommonConstants.PROFILE_DB) String configuration,
@RequestParam(value = EmsRestConstants.TYPE) String typeExport,
@@ -566,44 +553,39 @@ public class EmsController {
@RequestParam(required = false, defaultValue = "false") Boolean binaryDownload,
@RequestParam(required = false, defaultValue = "true") boolean headless,
@RequestBody(required = false) JsonNode body) throws Exception {
ServiceRestResponse sr = null;
try {
EntityExportResponse<?> entityExportResponse = emsServices.export(typeExport, formatExport, body, headless);
EntityExportResponse<?> entityExportResponse = emsServices.export(typeExport, formatExport, body, headless);
sr = new ServiceRestResponse(EsitoType.OK);
if (entityExportResponse != null) {
ServiceRestResponse sr = ServiceRestResponse.createPositiveResponse();
if (entityExportResponse != null) {
if (binaryDownload) {
List<DownloadFileDto> downloadableFileList = new ArrayList<>();
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
downloadableFileList.add(downloadFileHandlerService.generateDownloadItem(exportedFile.getFile()));
}
sr.setJsonObject(downloadableFileList);
} else if (entityExportResponse.isResponseToB64()) {
List<File> listaFile = new ArrayList<>();
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
listaFile.add(exportedFile.getFile());
}
sr.setJsonObject(EncodedB64File.fromFileList(listaFile));
} else {
sr.setJsonObject(entityExportResponse.getResponse());
if (binaryDownload) {
List<DownloadFileDto> downloadableFileList = new ArrayList<>();
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
downloadableFileList.add(downloadFileHandlerService.generateDownloadItem(exportedFile.getFile()));
}
if (!UtilityString.isNullOrEmpty(entityExportResponse.getMessageContent())) {
sr.initMessageList();
sr.getMessages().add(new MessageDTO()
.setLevel(MessageDTO.Level.INFO)
.setText(entityExportResponse.getMessageContent()));
sr.setJsonObject(downloadableFileList);
} else if (entityExportResponse.isResponseToB64()) {
List<File> listaFile = new ArrayList<>();
for (EntityExportedFile exportedFile : (List<EntityExportedFile>) entityExportResponse.getResponse()) {
listaFile.add(exportedFile.getFile());
}
sr.setJsonObject(EncodedB64File.fromFileList(listaFile));
} else {
sr.setJsonObject(entityExportResponse.getResponse());
}
if (!UtilityString.isNullOrEmpty(entityExportResponse.getMessageContent())) {
sr.initMessageList();
sr.getMessages()
.add(new MessageDTO()
.setLevel(MessageDTO.Level.INFO)
.setText(entityExportResponse.getMessageContent()));
}
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
sr = new ServiceRestResponse(EsitoType.KO, multiDBTransactionManager.getPrimaryDatasource().getProfile(), e);
}
return sr;
@@ -616,70 +598,64 @@ public class EmsController {
@RequestParam(value = EmsRestConstants.TYPE) String importType,
@RequestParam(value = EmsRestConstants.FORMAT) String importFormat,
@RequestParam(required = false, defaultValue = "true") boolean headless,
@RequestBody(required = false) ImportRequestDTO requestBody) {
@RequestBody(required = false) ImportRequestDTO requestBody) throws Exception {
EntityImportResponse<List<EntityBase>> importResponse = emsServices.importEntity(importType, importFormat, requestBody, headless);
List<EntityBase> entities = importResponse.getResponse();
ServiceRestResponse response;
if (entities != null && entities.size() > 0 && Stream.of(entities).anyMatch(x -> x instanceof EntityBase)) {
List<MessageDTO> errorMessages = Stream.of(entities)
.filter(x -> x.getException() != null)
.map(x -> MessageDTO.error(x.getException().getMessage()))
.toList();
try {
EntityImportResponse<List<EntityBase>> importResponse = emsServices.importEntity(importType, importFormat, requestBody, headless);
List<EntityBase> entities = importResponse.getResponse();
List<MessageDTO> messages = Stream.of(importResponse.getAnomalie())
.filter(x -> x.getTipo() != null)
.map(x -> {
switch (x.getTipo()) {
case ERROR:
return MessageDTO.error(x.getMessage());
case WARNING:
default:
return MessageDTO.warning(x.getMessage());
}
})
.toList();
errorMessages.addAll(messages);
if (entities != null && entities.size() > 0 && Stream.of(entities).anyMatch(x -> x instanceof EntityBase)) {
List<MessageDTO> errorMessages = Stream.of(entities)
.filter(x -> x.getException() != null)
.map(x -> MessageDTO.error(x.getException().getMessage()))
.toList();
List<MessageDTO> messages = Stream.of(importResponse.getAnomalie())
.filter(x -> x.getTipo() != null)
.map(x -> {
switch (x.getTipo()) {
case ERROR:
return MessageDTO.error(x.getMessage());
case WARNING:
default:
return MessageDTO.warning(x.getMessage());
}
})
.toList();
errorMessages.addAll(messages);
if (errorMessages.size() > 0) {
response = ServiceRestResponse.createNegativeResponse();
} else {
response = ServiceRestResponse.createPositiveResponse();
}
response.setMessages(errorMessages);
response.setEntityList(Stream.of(entities).filter(x -> x.getException() == null).toList());
if (errorMessages.size() > 0) {
response = ServiceRestResponse.createNegativeResponse();
} else {
if (importResponse.getAnomalie() != null) {
if (!importResponse.getAnomalie().isEmpty()) {
List<MessageDTO> messages = Stream.of(importResponse.getAnomalie())
.map(x -> {
switch (x.getTipo()) {
case ERROR:
return MessageDTO.error(x.getMessage());
case WARNING:
default:
return MessageDTO.warning(x.getMessage());
}
})
.toList();
response = ServiceRestResponse.createNegativeResponse();
response.setMessages(messages);
} else response = ServiceRestResponse.createPositiveResponse();
} else throw new Exception("Non ci sono dati da importare");
response = ServiceRestResponse.createPositiveResponse();
}
} catch (Exception e) {
response = ServiceRestResponse.createNegativeResponse(e);
logger.error("Import " + httpRequest.getRequestURI(), e.getMessage());
response.setMessages(errorMessages);
response.setEntityList(Stream.of(entities).filter(x -> x.getException() == null).toList());
} else {
if (importResponse.getAnomalie() != null) {
if (!importResponse.getAnomalie().isEmpty()) {
List<MessageDTO> messages = Stream.of(importResponse.getAnomalie())
.map(x -> {
switch (x.getTipo()) {
case ERROR:
return MessageDTO.error(x.getMessage());
case WARNING:
default:
return MessageDTO.warning(x.getMessage());
}
})
.toList();
response = ServiceRestResponse.createNegativeResponse();
response.setMessages(messages);
} else response = ServiceRestResponse.createPositiveResponse();
} else throw new Exception("Non ci sono dati da importare");
}
return response;
@@ -778,47 +754,42 @@ public class EmsController {
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_FILE_ATTACHMENT + "/{idAttach}/{filename}", method = RequestMethod.GET)
public byte[] downloadStbFileAttachment(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@PathVariable String idAttach,
@PathVariable String filename,
@RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
@ResponseBody
public ResponseEntity<byte[]> downloadStbFileAttachment(
@RequestParam(CommonConstants.PROFILE_DB) String config,
@PathVariable String idAttach,
@PathVariable String filename,
@RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
AttachmentDTO attachmentDTO = emsServices.downloadStbFileAttachment(idAttach, requestThumbnail);
if (attachmentDTO != null) {
response.setContentType(attachmentDTO.getMimeType());
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader("Content-Disposition", "attachment; filename=\"" + attachmentDTO.getFileName() + "\"");
response.setContentLength((int) attachmentDTO.getFileSize());
return attachmentDTO.getFileContent();
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType(attachmentDTO.getMimeType()))
.contentLength(attachmentDTO.getFileSize())
.header("Content-Disposition", "attachment; filename=\"" + attachmentDTO.getFileName() + "\"")
.body(attachmentDTO.getFileContent());
}
response.sendError(404, "Allegato non trovato");
return null;
return ResponseEntity.notFound().build();
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_FILE_ATTACHMENT, method = RequestMethod.GET)
public byte[] downloadStbFileAttachmentPath(HttpServletRequest request, HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String idAttach,
@RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
public ResponseEntity<byte[]> downloadStbFileAttachmentPath(
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String idAttach,
@RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
AttachmentDTO attachmentDTO = emsServices.downloadStbFileAttachment(idAttach, requestThumbnail);
if (attachmentDTO != null) {
response.setContentType(attachmentDTO.getMimeType());
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader("Content-Disposition", "attachment; filename=\"" + attachmentDTO.getFileName() + "\"");
response.setContentLength((int) attachmentDTO.getFileSize());
return attachmentDTO.getFileContent();
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType(attachmentDTO.getMimeType()))
.contentLength(attachmentDTO.getFileSize())
.header("Content-Disposition", "attachment; filename=\"" + attachmentDTO.getFileName() + "\"")
.body(attachmentDTO.getFileContent());
}
response.sendError(404, "Allegato non trovato");
return null;
return ResponseEntity.notFound().build();
}
@@ -859,7 +830,7 @@ public class EmsController {
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_DTB_DOC_PDF, method = RequestMethod.GET)
public byte[] downloadDtbDocPdf(HttpServletRequest request, HttpServletResponse response,
public byte[] downloadDtbDocPdf(HttpServletResponse response,
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam String dataDoc,
@RequestParam String serDoc,
@@ -943,6 +914,7 @@ public class EmsController {
@RequestParam(CommonConstants.PROFILE_DB) String config,
@RequestParam(required = false) String idAttach,
@RequestParam(required = false) String descrizione,
@RequestParam(required = false) String typeAttach,
@RequestPart() MultipartFile[] files
) {
try {
@@ -957,6 +929,7 @@ public class EmsController {
files[0].getBytes(),
descrizione,
files[0].getContentType(),
typeAttach,
null, null);
stbFilesAttached.setOnlyPkMaster(false);
@@ -1101,6 +1074,11 @@ public class EmsController {
}
}
@RequestMapping(value = "createZipFromFiles", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse createZipFromFiles(@RequestBody CreateZipDTO createZipDTO) throws Exception {
return ServiceRestResponse.createPositiveResponse(emsServices.createZipFromFiles(createZipDTO));
}
// @RequestMapping(value = EmsRestConstants.PATH_UPLOAD_STB_EMAIL_CONTENT, method = RequestMethod.POST)
// public ServiceRestResponse uploadStbFileAttachment(HttpServletRequest request, HttpServletResponse response,
@@ -1147,8 +1125,7 @@ public class EmsController {
@RequestMapping(value = EmsRestConstants.PATH_CLEAN_DIRECTORIES, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse cleanDirectories(HttpServletRequest httpRequest, HttpServletResponse httpResponse,
@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
ServiceRestResponse cleanDirectories(@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
try {
emsServices.cleanDirectories();
return ServiceRestResponse.createPositiveResponse();
@@ -1167,11 +1144,9 @@ public class EmsController {
@RequestMapping(value = EmsRestConstants.PATH_GET_ENTITY_MAPPING, method = RequestMethod.GET)
public @ResponseBody
ServiceRestResponse getEntityMapping(HttpServletRequest httpRequest,
HttpServletResponse httpResponse,
@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
ServiceRestResponse getEntityMapping(@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
try {
List<EntityHierarchyDTO> mapping = emsServices.getEntityMapping();
List<EntityHierarchy> mapping = emsServices.getEntityMapping();
return ServiceRestResponse.createPositiveResponse(mapping);
} catch (Exception e) {
logger.error(e.getMessage(), e);
@@ -1181,9 +1156,7 @@ public class EmsController {
@RequestMapping(value = EmsRestConstants.PATH_GET_HISTORY_PROFILE_DB, method = RequestMethod.GET)
public @ResponseBody
ServiceRestResponse getHistoryProfileDb(HttpServletRequest httpRequest,
HttpServletResponse httpResponse,
@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
ServiceRestResponse getHistoryProfileDb(@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
try {
String historyProfileDb = settingsController.getHistoryProfileDb();
return ServiceRestResponse.createPositiveResponse(historyProfileDb);
@@ -1195,9 +1168,7 @@ public class EmsController {
@RequestMapping(value = EmsRestConstants.PATH_GET_ENTITY_DETAILS, method = RequestMethod.GET)
public @ResponseBody
ServiceRestResponse getEntityDetails(HttpServletRequest httpRequest,
HttpServletResponse httpResponse,
@RequestParam("entityName") String entityName,
ServiceRestResponse getEntityDetails(@RequestParam("entityName") String entityName,
@RequestParam(CommonConstants.PROFILE_DB) String config
) throws Exception {
try {

View File

@@ -30,6 +30,6 @@ public class EmsResponseEntityExceptionHandler extends ResponseEntityExceptionHa
logger.error("Eccezione non gestita", ex);
ServiceRestResponse serviceRestResponse = ServiceRestResponse.createNegativeResponse(ex);
return new ResponseEntity(serviceRestResponse, headers, status);
return new ResponseEntity<>(serviceRestResponse, headers, status);
}
}

View File

@@ -4,26 +4,17 @@ package it.integry.ems.devices;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.user.UserSession;
import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.entity.StbDevice;
import it.integry.ems_model.entity.StbDevices;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityDate;
import it.integry.ems_model.utility.UtilityLocalDate;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.annotation.PostConstruct;
import javax.naming.Context;
import javax.servlet.http.HttpServletRequest;
import java.sql.Connection;
import java.util.Date;
@@ -57,14 +48,14 @@ public class DevicesService {
UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), selectSql);
if(!exists) {
StbDevice stbDevice = new StbDevice()
StbDevices stbDevices = new StbDevices()
.setName(appName)
.setIdentificationId(deviceId)
.setCreatedAt(new Date())
.setLastUse(new Date());
stbDevice.setOperation(OperationType.INSERT_OR_UPDATE);
entityProcessor.processEntity(stbDevice, multiDBTransactionManager);
stbDevices.setOperation(OperationType.INSERT_OR_UPDATE);
entityProcessor.processEntity(stbDevices, multiDBTransactionManager);
}
}

View File

@@ -3,7 +3,7 @@ package it.integry.ems.directory;
import com.fasterxml.jackson.databind.node.ArrayNode;
import it.integry.common.var.CommonConstants;
import it.integry.ems.datasource.DataSource;
import it.integry.ems.json.JSONObjectMapper;
import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.properties.EmsProperties;
import it.integry.ems.response.EsitoType;
import it.integry.ems.response.FileItem;
@@ -39,10 +39,10 @@ public class EmailWatcherListener extends TimerTask {
private EmailListenerInfo emailListenerInfo;
private EmsProperties prop;
private SetupGest setupGest;
private JSONObjectMapper jsonObjectMapper;
private ResponseJSONObjectMapper jsonObjectMapper;
public EmailWatcherListener(EmailListenerInfo emailListenerInfo, EmsProperties prop,
SetupGest setupGest, JSONObjectMapper jsonObjectMapper) {
SetupGest setupGest, ResponseJSONObjectMapper jsonObjectMapper) {
super();
this.emailListenerInfo = emailListenerInfo;
this.prop = prop;

View File

@@ -12,6 +12,10 @@ public class ApplicationInfoDTO {
private String loadMenuPvm;
private List<String> salvataggiSoap;
private boolean delimitedIdentifier;
private boolean ansiPadding;
private boolean concatNullYieldsNull;
public String getName() {
return name;
}
@@ -74,4 +78,31 @@ public class ApplicationInfoDTO {
this.salvataggiSoap = salvataggiSoap;
return this;
}
public boolean isConcatNullYieldsNull() {
return concatNullYieldsNull;
}
public ApplicationInfoDTO setConcatNullYieldsNull(boolean concatNullYieldNulls) {
this.concatNullYieldsNull = concatNullYieldNulls;
return this;
}
public boolean isAnsiPadding() {
return ansiPadding;
}
public ApplicationInfoDTO setAnsiPadding(boolean ansiPadding) {
this.ansiPadding = ansiPadding;
return this;
}
public boolean isDelimitedIdentifier() {
return delimitedIdentifier;
}
public ApplicationInfoDTO setDelimitedIdentifier(boolean delimitedIdentifier) {
this.delimitedIdentifier = delimitedIdentifier;
return this;
}
}

View File

@@ -0,0 +1,120 @@
package it.integry.ems.dto;
import com.fasterxml.jackson.annotation.JsonValue;
import it.integry.ems.report.dto.JasperDTO;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.entity.MtbAartLink;
import it.integry.ems_model.entity.MtbUntMis;
import it.integry.ems_model.entity.StbActivityFile;
import it.integry.ems_model.entity._enum.IBaseEnum;
import java.util.HashMap;
import java.util.List;
public class CreateZipDTO {
private List<String> listIdAttach;
private List<StbActivityFile> listStbActivityFile;
private List<MtbAartLink> listMtbAartLink;
private String fileName;
private SaveMode saveMode = SaveMode.STB_FILES_ATTACHED;
private EntityBase entityToSaveTo;
public List<String> getListIdAttach() {
return listIdAttach;
}
public CreateZipDTO setListIdAttach(List<String> listIdAttach) {
this.listIdAttach = listIdAttach;
return this;
}
public List<StbActivityFile> getListStbActivityFile() {
return listStbActivityFile;
}
public CreateZipDTO setListStbActivityFile(List<StbActivityFile> listStbActivityFile) {
this.listStbActivityFile = listStbActivityFile;
return this;
}
public List<MtbAartLink> getListMtbAartLink() {
return listMtbAartLink;
}
public CreateZipDTO setListMtbAartLink(List<MtbAartLink> listMtbAartLink) {
this.listMtbAartLink = listMtbAartLink;
return this;
}
public String getFileName() {
return fileName;
}
public CreateZipDTO setFileName(String fileName) {
this.fileName = fileName;
return this;
}
public SaveMode getSaveMode() {
return saveMode;
}
public CreateZipDTO setSaveMode(SaveMode saveMode) {
this.saveMode = saveMode;
return this;
}
public EntityBase getEntityToSaveTo() {
return entityToSaveTo;
}
public CreateZipDTO setEntityToSaveTo(EntityBase entityToSaveTo) {
this.entityToSaveTo = entityToSaveTo;
return this;
}
public enum SaveMode implements IBaseEnum<SaveMode> {
STB_FILES_ATTACHED((short) 0),
STB_ACTIVITY_FILE((short) 1);
private final short value;
SaveMode(final short value) {
this.value = value;
}
public static SaveMode from(Object value) {
short castValue = (short) value;
for (SaveMode b : SaveMode.values()) {
if (b.value == castValue)
return b;
}
return null;
}
@JsonValue
public short getValue() {
return this.value;
}
@Override
public Object get() {
return this.value;
}
@Override
public SaveMode fromInternal(Object val) {
return from(val);
}
@Override
public String toString() {
return String.valueOf(value);
}
}
}

View File

@@ -0,0 +1,180 @@
package it.integry.ems.dto;
import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.base.EntityInterface;
import java.util.List;
public class EntityHierarchy {
private Class<? extends EntityBase> clazz;
private String entityName;
private String tableName;
private java.lang.reflect.Field parentField; //Used for entityChild
private boolean master;
private boolean equatable;
private List<EntityHierarchy> children;
private List<Field> fields;
public Class<? extends EntityInterface> getClazz() {
return clazz;
}
public EntityHierarchy setClazz(Class<? extends EntityBase> clazz) {
this.clazz = clazz;
return this;
}
public String getEntityName() {
return entityName;
}
public void setEntityName(String entityName) {
this.entityName = entityName;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public java.lang.reflect.Field getParentField() {
return parentField;
}
public EntityHierarchy setParentField(java.lang.reflect.Field parentField) {
this.parentField = parentField;
return this;
}
public boolean isMaster() {
return master;
}
public EntityHierarchy setMaster(boolean master) {
this.master = master;
return this;
}
public List<EntityHierarchy> getChildren() {
return children;
}
public void setChildren(List<EntityHierarchy> children) {
this.children = children;
}
public void addChild(EntityHierarchy child) {
this.children.add(child);
}
public void removeChild(EntityHierarchy child) {
this.children.remove(child);
}
public List<Field> getFields() {
return fields;
}
public EntityHierarchy setFields(List<Field> fields) {
this.fields = fields;
return this;
}
public boolean isEquatable() {
return equatable;
}
public EntityHierarchy setEquatable(boolean equatable) {
this.equatable = equatable;
return this;
}
public static class Field {
private java.lang.reflect.Field field;
private Identity identity;
private SqlField sqlField;
private ObjectStorage objectStorage;
private Blob blob;
private Clob clob;
public java.lang.reflect.Field getField() {
return field;
}
public Field setField(java.lang.reflect.Field field) {
this.field = field;
return this;
}
public boolean isSqlField() {
return sqlField != null;
}
public boolean isObjectStorage() {
return objectStorage != null;
}
public boolean isBlob() {
return blob != null;
}
public boolean isClob() {
return clob != null;
}
public boolean isIdentity() {
return identity != null;
}
public Identity getIdentity() {
return identity;
}
public Field setIdentity(Identity identity) {
this.identity = identity;
return this;
}
public SqlField getSqlField() {
return sqlField;
}
public Field setSqlField(SqlField sqlField) {
this.sqlField = sqlField;
return this;
}
public ObjectStorage getObjectStorage() {
return objectStorage;
}
public Field setObjectStorage(ObjectStorage objectStorage) {
this.objectStorage = objectStorage;
return this;
}
public Blob getBlob() {
return blob;
}
public Field setBlob(Blob blob) {
this.blob = blob;
return this;
}
public Clob getClob() {
return clob;
}
public Field setClob(Clob clob) {
this.clob = clob;
return this;
}
}
}

View File

@@ -1,75 +0,0 @@
package it.integry.ems.dto;
import it.integry.ems_model.base.EntityBase;
import java.lang.reflect.Field;
import java.util.List;
public class EntityHierarchyDTO {
private Class<? extends EntityBase> clazz;
private String entityName;
private String tableName;
private Field field;
private boolean master;
private List<EntityHierarchyDTO> children;
public Class<? extends EntityBase> getClazz() {
return clazz;
}
public EntityHierarchyDTO setClazz(Class<? extends EntityBase> clazz) {
this.clazz = clazz;
return this;
}
public String getEntityName() {
return entityName;
}
public void setEntityName(String entityName) {
this.entityName = entityName;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public Field getField() {
return field;
}
public EntityHierarchyDTO setField(Field field) {
this.field = field;
return this;
}
public boolean isMaster() {
return master;
}
public EntityHierarchyDTO setMaster(boolean master) {
this.master = master;
return this;
}
public List<EntityHierarchyDTO> getChildren() {
return children;
}
public void setChildren(List<EntityHierarchyDTO> children) {
this.children = children;
}
public void addChild(EntityHierarchyDTO child) {
this.children.add(child);
}
public void removeChild(EntityHierarchyDTO child) {
this.children.remove(child);
}
}

View File

@@ -0,0 +1,46 @@
package it.integry.ems.dto;
public abstract class Result<T> {
private Result() {}
@Override
public String toString() {
if (this instanceof Result.Success) {
Result.Success<?> success = (Result.Success<?>) this;
return "Success[data=" + success.getData().toString() + "]";
} else if (this instanceof Result.Error) {
Result.Error error = (Result.Error) this;
return "Error[exception=" + error.getError().toString() + "]";
}
return "";
}
public static final class Success<T> extends Result<T> {
private final T data;
public Success() {
data = null;
}
public Success(T data) {
this.data = data;
}
public T getData() {
return data;
}
}
public static final class Error<T> extends Result<T> {
private final Exception exception;
public Error(Exception exception) {
exception.printStackTrace();
this.exception = exception;
}
public Exception getError() {
return exception;
}
}
}

View File

@@ -1,5 +1,6 @@
package it.integry.ems.dynamic_cache;
import it.integry.ems.expansion.RunnableArgsWithReturn;
import it.integry.ems.expansion.RunnableWithReturn;
import it.integry.ems.looper.service.LooperService;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
@@ -12,6 +13,7 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -34,17 +36,46 @@ public class DynamicCacheService {
public enum Keys {
DATI_AZIENDA_KEY,
ENTITY_LOGGER_SETUP,
GRIGLIA_ACQUISTO_KEY
GRIGLIA_ACQUISTO_KEY,
ENTITY_SYNC_KEY
}
public void addItem(Keys key, int invalidateTimeInMins, RunnableWithReturn<Object> refreshAction) {
//cacheData.put(key, refreshAction.run());
this.looperService.add(() -> {
cacheData.put(key, refreshAction.run());
}, invalidateTimeInMins * 60 * 1000, "dynamic-cache-" + key);
}
public <T>void addDbItem(Keys key, int invalidateTimeInMins, RunnableArgsWithReturn<Connection, T> refreshAction, List<String> dbNames) {
List<String> finalDbNames = dbNames.stream().map(String::toLowerCase).collect(Collectors.toList());
RunnableWithReturn<Object> internalRefreshAction = () -> {
Map<String, List<AvailableConnectionsModel>> databases = settingsModel.getAvailableConnections()
.stream()
.filter(AvailableConnectionsModel::getInternalDb)
.filter(x -> finalDbNames.contains(x.getDbName().toLowerCase()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName));
final HashMap<String, T> cachedDataByDB = new HashMap<>();
for (String dbName : databases.keySet()) {
String profileName = databases.get(dbName).get(0).getProfileName();
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(profileName, false)) {
T data = refreshAction.run(multiDBTransactionManager.getPrimaryConnection());
cachedDataByDB.putIfAbsent(dbName.toLowerCase(), data);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
}
}
return cachedDataByDB;
};
addItem(key, invalidateTimeInMins, internalRefreshAction);
}
public void addEntity(Keys key, int invalidateTimeInMins, Class<? extends EntityBase> clazz, List<String> dbNames) {
List<String> finalDbNames = dbNames.stream().map(String::toLowerCase).collect(Collectors.toList());
@@ -92,16 +123,12 @@ public class DynamicCacheService {
}
private void cacheEntityByDB(String dbName, String profileName, Class<? extends EntityBase> clazz, HashMap<String, List<? extends EntityBase>> cachedEntitiesByDB) throws Exception {
MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(profileName, false);
try {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(profileName, false)) {
String tableName = clazz.newInstance().getTableName();
String sql = "SELECT * FROM " + tableName;
List<? extends EntityBase> entities = UtilityDB.executeSimpleQueryDTO(multiDBTransactionManager.getPrimaryConnection(), sql, clazz);
cachedEntitiesByDB.putIfAbsent(dbName.toLowerCase(), entities);
} finally {
multiDBTransactionManager.closeAll();
}
}
@@ -155,4 +182,13 @@ public class DynamicCacheService {
return cachedEntityList;
}
public <T>T getDbItem(Keys key, String dbName) {
dbName = dbName.toLowerCase();
final HashMap<String, T> cacheObjectByDB = (HashMap<String, T>) cacheData.getOrDefault(key, null);
if (cacheObjectByDB == null) return null;
final T cachedEntityValue = cacheObjectByDB.getOrDefault(dbName, null);
return cachedEntityValue;
}
}

View File

@@ -3,6 +3,7 @@ package it.integry.ems.ecedi.dto;
import it.integry.ems_model.annotation.SqlField;
import it.integry.ems_model.entity.MtbColt;
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import java.math.BigDecimal;
@@ -508,7 +509,7 @@ public class EuritmoTestata {
// Chiave collo
mtbColt.setGestione("A");
mtbColt.setDataCollo(this.dataDoc);
mtbColt.setDataCollo(UtilityLocalDate.localDateFromDate(this.dataDoc));
mtbColt.setRifOrd(String.format("%s_%s", dataDocString, this.numDoc));
mtbColt.setAnnotazioni(annotazioni);

View File

@@ -0,0 +1,38 @@
package it.integry.ems.entity_development;
import it.integry.common.var.CommonConstants;
import it.integry.ems.devices.DevicesService;
import it.integry.ems.devices.dto.RegisterDeviceRequestDTO;
import it.integry.ems.entity_development.dto.CreateEntityItemRequestDTO;
import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.utility.UtilityDebug;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.web.bind.annotation.*;
@RestController
@Scope("request")
@RequestMapping("entity-development")
public class EntityDevelopmentController {
private final Logger logger = LogManager.getLogger();
@Autowired
private EntityDevelopmentService entityDevelopmentService;
@RequestMapping(value = "create", method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse create(@RequestBody CreateEntityItemRequestDTO[] createEntityItemRequestList) throws Exception {
if (!UtilityDebug.isDebugExecution())
throw new Exception("Puoi eseguire questa procedura solo in ambiente DEBUG!");
if (UtilityDebug.isIntegryServerDev())
throw new Exception("Non puoi eseguire questa azione su SERVERDEV!");
entityDevelopmentService.create(createEntityItemRequestList);
return ServiceRestResponse.createPositiveResponse();
}
}

View File

@@ -0,0 +1,250 @@
package it.integry.ems.entity_development;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.NodeList;
import com.github.javaparser.ast.body.*;
import com.github.javaparser.ast.expr.*;
import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.ast.stmt.ExpressionStmt;
import com.github.javaparser.ast.stmt.ReturnStmt;
import com.github.javaparser.ast.type.ClassOrInterfaceType;
import it.integry.ems.entity_development.dto.CreateEntityItemRequestDTO;
import it.integry.ems.entity_logger.db_schema_manager.component.SQLServerDBSchemaManager;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseForeignKey;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseTableColumn;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseTableView;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDirs;
import it.integry.ems_model.annotation.*;
import it.integry.ems_model.base.EntityBase;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityString;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.kie.api.definition.type.PropertyReactive;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import static com.github.javaparser.ast.Modifier.Keyword.*;
@Service
@Scope("request")
public class EntityDevelopmentService {
@Autowired
private MultiDBTransactionManager multiDBTransactionManager;
public void create(CreateEntityItemRequestDTO[] createEntityItemRequestList) throws Exception {
SQLServerDBSchemaManager sourceDBSchema = new SQLServerDBSchemaManager(multiDBTransactionManager.getPrimaryConnection());
List<AbstractMap.SimpleEntry<Boolean, CompilationUnit>> masterDetailClassesDeclaration = new ArrayList<>();
final List<CreateEntityItemRequestDTO> entityChilds = Arrays.stream(createEntityItemRequestList)
.filter(x -> !x.isMaster())
.collect(Collectors.toList());
for (CreateEntityItemRequestDTO createEntityItemRequestDTO : createEntityItemRequestList) {
final DatabaseTableView tableData = sourceDBSchema.getTable(createEntityItemRequestDTO.getTableName());
final CompilationUnit javaClassDeclaration =
createJavaClassDeclaration(createEntityItemRequestDTO, tableData, createEntityItemRequestDTO.isMaster() ? entityChilds : null);
masterDetailClassesDeclaration.add(new AbstractMap.SimpleEntry<>(createEntityItemRequestDTO.isMaster(), javaClassDeclaration));
}
final String entitiesJavaPath = UtilityDirs.getDevelopmentJavaBaseFolder() + "it\\integry\\ems_model\\entity\\";
for (AbstractMap.SimpleEntry<Boolean, CompilationUnit> booleanClassOrInterfaceDeclarationSimpleEntry : masterDetailClassesDeclaration) {
final TypeDeclaration<?> classDeclaration = booleanClassOrInterfaceDeclarationSimpleEntry.getValue().getType(0);
writeJavaClassToFile(booleanClassOrInterfaceDeclarationSimpleEntry.getValue(), entitiesJavaPath, classDeclaration.getNameAsString());
}
}
private CompilationUnit createJavaClassDeclaration(CreateEntityItemRequestDTO createEntityItemRequestDTO, final DatabaseTableView databaseTable, final List<CreateEntityItemRequestDTO> childEntities) throws Exception {
CompilationUnit javaClassCompilation = new CompilationUnit();
javaClassCompilation.setPackageDeclaration("it.integry.ems_model.entity");
javaClassCompilation.addImport(LogManager.class);
javaClassCompilation.addImport(List.class);
javaClassCompilation.addImport(ArrayList.class);
String javaClassName = UtilityString.sqlToCamelCase(databaseTable.getTableName());
javaClassName = javaClassName.substring(0, 1).toUpperCase() + javaClassName.substring(1);
ClassOrInterfaceDeclaration javaClass = javaClassCompilation
.addClass(javaClassName)
.addExtendedType(EntityBase.class)
.setPublic(true);
if (createEntityItemRequestDTO.isMaster())
javaClass.addAnnotation(Master.class);
javaClass
.addAnnotation(PropertyReactive.class);
javaClass.addAndGetAnnotation(Table.class)
.addPair("value", new FieldAccessExpr(new NameExpr(javaClassName), "ENTITY"));
javaClass.addAndGetAnnotation(JsonTypeName.class)
.addPair("value", new FieldAccessExpr(new NameExpr(javaClassName), "ENTITY"));
final FieldDeclaration entityField = javaClass.addFieldWithInitializer(String.class, "ENTITY", new StringLiteralExpr(databaseTable.getTableName()), PRIVATE, FINAL, STATIC);
final FieldDeclaration serialVersionUIDField = javaClass.addFieldWithInitializer(Long.class, "serialVersionUID", new LongLiteralExpr("1L"), PRIVATE, FINAL, STATIC);
final FieldDeclaration loggerField = javaClass.addFieldWithInitializer(Logger.class, "logger", new MethodCallExpr("LogManager.getLogger"), PRIVATE, FINAL, STATIC);
createEntityConstructor(javaClass);
List<FieldDeclaration> entityFields = new ArrayList<>();
for (DatabaseTableColumn databaseColumn : databaseTable.getColumns()) {
entityFields.add(createEntityField(javaClass, databaseColumn));
}
if (childEntities != null) {
for (CreateEntityItemRequestDTO child : childEntities) {
String entityChildClassName = UtilityString.sqlToCamelCase(child.getTableName());
entityChildClassName = entityChildClassName.substring(0, 1).toUpperCase() + entityChildClassName.substring(1);
String variableName = entityChildClassName.substring(0, 1).toLowerCase() + entityChildClassName.substring(1);
final FieldDeclaration fieldDeclaration = javaClass.addField(
"List<" + entityChildClassName + ">",
variableName,
PRIVATE);
//final InitializerDeclaration initializerDeclaration = new InitializerDeclaration(false, new BlockStmt().addStatement("new ArrayList<>()"));
fieldDeclaration.setVariable(0, new VariableDeclarator(fieldDeclaration.getElementType(), variableName, new MethodCallExpr("new ArrayList<>")));
entityFields.add(fieldDeclaration);
fieldDeclaration.addAnnotation(EntityChild.class);
}
}
for (FieldDeclaration field : entityFields) {
field.createGetter();
field.createSetter()
.setType(javaClassName)
.getBody().ifPresent(x -> x.addStatement(new ReturnStmt("this")));
}
if (childEntities != null && !childEntities.isEmpty()) {
createDeleteChildsMethod(javaClass, childEntities);
}
return javaClassCompilation;
}
private void createEntityConstructor(ClassOrInterfaceDeclaration javaClass) {
final ConstructorDeclaration constructorDeclaration = javaClass.addConstructor(PUBLIC);
final BlockStmt constructorBlockStmt = constructorDeclaration.getBody();
constructorBlockStmt.addStatement(new MethodCallExpr("super",
new NameExpr("logger")));
}
private FieldDeclaration createEntityField(ClassOrInterfaceDeclaration javaClass, DatabaseTableColumn databaseColumn) throws Exception {
final Class<?> aClass = UtilityDB.sqlTypeToJavaClass(databaseColumn.getDataType().toSqlDataType());
FieldDeclaration fieldDeclaration = javaClass.addField(aClass, UtilityString.sqlToField(databaseColumn.getColumnName()), PRIVATE);
//Create @PK annotation
if (databaseColumn.isPrimaryKey())
fieldDeclaration.addAnnotation(PK.class);
if (databaseColumn.isIdentity())
fieldDeclaration.addAnnotation(Identity.class);
//Create @SqlField annotation
final NormalAnnotationExpr sqlFieldAnnotation = fieldDeclaration.addAndGetAnnotation(SqlField.class)
.addPair("value", new StringLiteralExpr(databaseColumn.getColumnName()));
if (databaseColumn.getCharacterMaximumLength() != null)
sqlFieldAnnotation.addPair("maxLength", new IntegerLiteralExpr(databaseColumn.getCharacterMaximumLength().toString()));
sqlFieldAnnotation
.addPair("nullable", new BooleanLiteralExpr(databaseColumn.isNullable()));
//Create @FK annotations
if (databaseColumn.getForeignKeys() != null) {
for (DatabaseForeignKey fkInfo : databaseColumn.getForeignKeys()) {
String javaClassName = UtilityString.sqlToCamelCase(fkInfo.getTableName());
javaClassName = javaClassName.substring(0, 1).toUpperCase() + javaClassName.substring(1);
fieldDeclaration.addAndGetAnnotation(FK.class)
.addPair("tableName", new FieldAccessExpr(new NameExpr(javaClassName), "ENTITY"))
.addPair("columnName", new StringLiteralExpr(fkInfo.getColumnName()));
}
}
return fieldDeclaration;
}
private MethodDeclaration createDeleteChildsMethod(ClassOrInterfaceDeclaration classDefinition, final List<CreateEntityItemRequestDTO> childEntities) {
final MethodDeclaration deleteChilds = classDefinition.addMethod("deleteChilds", PROTECTED);
deleteChilds.addThrownException(Exception.class);
final BlockStmt blockStmt = deleteChilds.getBody().get();
for (CreateEntityItemRequestDTO childEntity : childEntities) {
String entityChildClassName = UtilityString.sqlToCamelCase(childEntity.getTableName());
entityChildClassName = entityChildClassName.substring(0, 1).toUpperCase() + entityChildClassName.substring(1);
String variableName = entityChildClassName.substring(0, 1).toLowerCase() + entityChildClassName.substring(1);
ClassOrInterfaceType classOrInterfaceType = new ClassOrInterfaceType()
.setName(entityChildClassName);
final VariableDeclarationExpr variableDeclarationExpr = new VariableDeclarationExpr(classOrInterfaceType, variableName);
variableDeclarationExpr.getVariable(0).setInitializer("new " + entityChildClassName + "()");
blockStmt.addStatement(
new ExpressionStmt(variableDeclarationExpr));
final NodeList<Expression> nodes = new NodeList<>();
nodes.add(new NameExpr("connection"));
nodes.add(new NameExpr("this"));
MethodCallExpr methodCallExpr = new MethodCallExpr(variableDeclarationExpr.getVariable(0).getNameAsExpression(), "deleteAllEntities", nodes);
blockStmt.addStatement(methodCallExpr);
}
return null;
}
private void writeJavaClassToFile(CompilationUnit classDefinition, String directoryPath, String nameAsString) throws Exception {
String filePath = directoryPath + nameAsString + ".java";
File f = new File(filePath);
if (f.exists()) throw new Exception("Esiste già un file per " + nameAsString);
FileOutputStream outputStream = new FileOutputStream(filePath);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, StandardCharsets.UTF_8);
outputStreamWriter.write(classDefinition.toString());
outputStreamWriter.close();
outputStream.close();
}
}

View File

@@ -0,0 +1,25 @@
package it.integry.ems.entity_development.dto;
public class CreateEntityItemRequestDTO {
private String tableName;
private boolean master;
public String getTableName() {
return tableName;
}
public CreateEntityItemRequestDTO setTableName(String tableName) {
this.tableName = tableName;
return this;
}
public boolean isMaster() {
return master;
}
public CreateEntityItemRequestDTO setMaster(boolean master) {
this.master = master;
return this;
}
}

View File

@@ -5,6 +5,7 @@ import com.microsoft.sqlserver.jdbc.SQLServerException;
import it.integry.ems.entity_logger.db_schema_manager.dto.*;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import org.apache.commons.lang3.StringUtils;
@@ -32,6 +33,10 @@ public class SQLServerDBSchemaManager {
this.mPassword = password;
}
public SQLServerDBSchemaManager(Connection connection) {
this.mConnection = connection;
}
public void connect() throws SQLException {
mConnection = DriverManager.getConnection(getConnectionString(mHost), mUsername, mPassword);
mConnection.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
@@ -77,44 +82,168 @@ public class SQLServerDBSchemaManager {
return UtilityDB.executeSimpleQueryDTO(this.mConnection, sql, DatabaseFile.class);
}
public DatabaseTable getTable(String tableName) throws Exception {
return getTableOrView(tableName, DatabaseObjectTypeEnum.TABLE, DatabaseTable.class);
}
public List<DatabaseTable> getTables() throws Exception {
List<DatabaseTable> tableList = new ArrayList<>();
public DatabaseView getView(String viewName) throws Exception {
return getTableOrView(viewName, DatabaseObjectTypeEnum.VIEW, DatabaseView.class);
}
String sql = "SELECT TABLE_CATALOG," +
" TABLE_SCHEMA," +
" TABLE_NAME," +
" COLUMN_NAME," +
" ORDINAL_POSITION," +
" COLUMN_DEFAULT," +
" CAST(CASE WHEN IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS IS_NULLABLE," +
" DATA_TYPE," +
" CHARACTER_MAXIMUM_LENGTH," +
" CHARACTER_OCTET_LENGTH," +
" NUMERIC_PRECISION," +
" NUMERIC_PRECISION_RADIX," +
" NUMERIC_SCALE," +
" DATETIME_PRECISION," +
" CHARACTER_SET_CATALOG," +
" CHARACTER_SET_SCHEMA," +
" CHARACTER_SET_NAME," +
" COLLATION_CATALOG," +
" COLLATION_SCHEMA," +
" COLLATION_NAME," +
" DOMAIN_CATALOG," +
" DOMAIN_SCHEMA," +
" DOMAIN_NAME" +
" FROM INFORMATION_SCHEMA.COLUMNS" +
" INNER JOIN sys.objects ON TABLE_NAME = name " +
" WHERE type = " + UtilityDB.valueToString(DatabaseObjectTypeEnum.TABLE.getText());
public <T extends DatabaseTableView> T getTableOrView(String objectName, DatabaseObjectTypeEnum type, Class<T> classType) throws Exception {
String sql = "SELECT TABLE_CATALOG,\n" +
" COLUMNS.TABLE_SCHEMA,\n" +
" COLUMNS.TABLE_NAME,\n" +
" COLUMNS.COLUMN_NAME,\n" +
" ISNULL(IS_PRIMARY_KEY, 0) AS IS_PRIMARY_KEY,\n" +
" CAST(OBJECTPROPERTY(OBJECT_ID(COLUMNS.TABLE_NAME), 'TableHasIdentity') AS BIT) AS TABLE_HAS_IDENTITY,\n" +
" ORDINAL_POSITION,\n" +
" COLUMN_DEFAULT,\n" +
" CAST(CASE WHEN IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS IS_NULLABLE,\n" +
" DATA_TYPE,\n" +
" CHARACTER_MAXIMUM_LENGTH,\n" +
" CHARACTER_OCTET_LENGTH,\n" +
" NUMERIC_PRECISION,\n" +
" NUMERIC_PRECISION_RADIX,\n" +
" NUMERIC_SCALE,\n" +
" DATETIME_PRECISION,\n" +
" CHARACTER_SET_CATALOG,\n" +
" CHARACTER_SET_SCHEMA,\n" +
" CHARACTER_SET_NAME,\n" +
" COLLATION_CATALOG,\n" +
" COLLATION_SCHEMA,\n" +
" COLLATION_NAME,\n" +
" DOMAIN_CATALOG,\n" +
" DOMAIN_SCHEMA,\n" +
" DOMAIN_NAME\n" +
"FROM INFORMATION_SCHEMA.COLUMNS\n" +
" INNER JOIN sys.objects ON TABLE_NAME = name\n" +
" LEFT OUTER JOIN (SELECT TABLE_NAME,\n" +
" TABLE_SCHEMA,\n" +
" COLUMN_NAME,\n" +
" CAST(1 AS BIT) AS IS_PRIMARY_KEY\n" +
" FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE\n" +
" WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)),\n" +
" 'IsPrimaryKey') = 1) pk\n" +
" ON pk.TABLE_NAME = COLUMNS.TABLE_NAME AND\n" +
" pk.COLUMN_NAME = COLUMNS.COLUMN_NAME AND\n" +
" pk.TABLE_SCHEMA = COLUMNS.TABLE_SCHEMA\n" +
" WHERE type = " + UtilityDB.valueToString(type.getText()) +
" AND COLUMNS.TABLE_NAME = " + UtilityDB.valueToString(objectName);
List<HashMap<String, Object>> result = UtilityDB.executeSimpleQuery(this.mConnection, sql);
if (result.isEmpty())
return null;
HashMap<String, ArrayList<DatabaseForeignKey>> foreignKeysResults = getForeignKeys(objectName);
T databaseTable = (T) classType.newInstance()
.setTableName(objectName);
List<DatabaseTableColumn> databaseTableColumns = new ArrayList<>();
for (HashMap<String, Object> column : result) {
DatabaseTableColumn databaseTableColumn = new DatabaseTableColumn()
.setColumnName(UtilityHashMap.getValueIfExists(column, "COLUMN_NAME"))
.setOrdinalPosition(UtilityHashMap.getValueIfExists(column, "ORDINAL_POSITION"))
.setColumnDefault(UtilityHashMap.getValueIfExists(column, "COLUMN_DEFAULT"))
.setNullable(UtilityHashMap.getValueIfExists(column, "IS_NULLABLE"))
.setPrimaryKey(UtilityHashMap.getValueIfExists(column, "IS_PRIMARY_KEY"))
.setDataType(DatabaseTableColumnDataType.fromString(UtilityHashMap.getValueIfExists(column, "DATA_TYPE")))
.setCharacterMaximumLength(UtilityHashMap.getValueIfExists(column, "CHARACTER_MAXIMUM_LENGTH"))
.setCharacterOctetLength(UtilityHashMap.getValueIfExists(column, "CHARACTER_OCTET_LENGTH"))
.setNumericPrecision(UtilityHashMap.getValueIfExists(column, "NUMERIC_PRECISION"))
.setNumericPrecisionRadix(UtilityHashMap.getValueIfExists(column, "NUMERIC_PRECISION_RADIX"))
.setNumericScale(UtilityHashMap.getValueIfExists(column, "NUMERIC_SCALE"))
.setDatetimePrecision(UtilityHashMap.getValueIfExists(column, "DATETIME_PRECISION"))
.setCharacterSetCatalog(UtilityHashMap.getValueIfExists(column, "CHARACTER_SET_CATALOG"))
.setCharacterSetSchema(UtilityHashMap.getValueIfExists(column, "CHARACTER_SET_SCHEMA"))
.setCharacterSetName(UtilityHashMap.getValueIfExists(column, "CHARACTER_SET_NAME"));
databaseTableColumn.setIdentity(databaseTableColumn.isPrimaryKey() && UtilityHashMap.<Boolean>getValueIfExists(column, "TABLE_HAS_IDENTITY"));
if (foreignKeysResults.containsKey(databaseTableColumn.getColumnName()))
databaseTableColumn.setForeignKeys(foreignKeysResults.get(databaseTableColumn.getColumnName()));
databaseTableColumns.add(databaseTableColumn);
}
databaseTable.setColumns(databaseTableColumns);
return databaseTable;
}
public List<DatabaseTable> getTables() throws Exception {
return getTablesOrViews(DatabaseObjectTypeEnum.TABLE, DatabaseTable.class);
}
public List<DatabaseView> getViews() throws Exception {
return getTablesOrViews(DatabaseObjectTypeEnum.VIEW, DatabaseView.class);
}
private <T extends DatabaseTableView> List<T> getTablesOrViews(DatabaseObjectTypeEnum type, Class<T> classType) throws Exception {
List<T> tableList = new ArrayList<>();
String sql = "SELECT TABLE_CATALOG,\n" +
" COLUMNS.TABLE_SCHEMA,\n" +
" COLUMNS.TABLE_NAME,\n" +
" COLUMNS.COLUMN_NAME,\n" +
" ISNULL(IS_PRIMARY_KEY, 0) AS IS_PRIMARY_KEY,\n" +
" CAST(OBJECTPROPERTY(OBJECT_ID(COLUMNS.TABLE_NAME), 'TableHasIdentity') AS BIT) AS TABLE_HAS_IDENTITY,\n" +
" ORDINAL_POSITION,\n" +
" COLUMN_DEFAULT,\n" +
" CAST(CASE WHEN IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS IS_NULLABLE,\n" +
" DATA_TYPE,\n" +
" CHARACTER_MAXIMUM_LENGTH,\n" +
" CHARACTER_OCTET_LENGTH,\n" +
" NUMERIC_PRECISION,\n" +
" NUMERIC_PRECISION_RADIX,\n" +
" NUMERIC_SCALE,\n" +
" DATETIME_PRECISION,\n" +
" CHARACTER_SET_CATALOG,\n" +
" CHARACTER_SET_SCHEMA,\n" +
" CHARACTER_SET_NAME,\n" +
" COLLATION_CATALOG,\n" +
" COLLATION_SCHEMA,\n" +
" COLLATION_NAME,\n" +
" DOMAIN_CATALOG,\n" +
" DOMAIN_SCHEMA,\n" +
" DOMAIN_NAME,\n" +
" CAST(create_date AS DATE) AS CREATE_DATE\n" +
"FROM INFORMATION_SCHEMA.COLUMNS\n" +
" INNER JOIN sys.objects ON TABLE_NAME = name\n" +
" LEFT OUTER JOIN (SELECT TABLE_NAME,\n" +
" TABLE_SCHEMA,\n" +
" COLUMN_NAME,\n" +
" CAST(1 AS BIT) AS IS_PRIMARY_KEY\n" +
" FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE\n" +
" WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)),\n" +
" 'IsPrimaryKey') = 1) pk\n" +
" ON pk.TABLE_NAME = COLUMNS.TABLE_NAME AND\n" +
" pk.COLUMN_NAME = COLUMNS.COLUMN_NAME AND\n" +
" pk.TABLE_SCHEMA = COLUMNS.TABLE_SCHEMA\n" +
" WHERE type = " + UtilityDB.valueToString(type.getText());
List<HashMap<String, Object>> result = UtilityDB.executeSimpleQuery(this.mConnection, sql);
final HashMap<String, HashMap<String, ArrayList<DatabaseForeignKey>>> foreignKeys = getForeignKeys();
Stream.of(result)
.groupBy(x -> UtilityHashMap.<String>getValueIfExists(x, "TABLE_NAME"))
.forEach(x -> {
DatabaseTable databaseTable = new DatabaseTable()
.setTableName(x.getKey());
T databaseTable = null;
try {
databaseTable = (T) classType.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
throw new RuntimeException(e);
}
databaseTable
.setTableName(x.getKey())
.setCreationDate(UtilityLocalDate.localDateFromDate(UtilityHashMap.getValueIfExists(x.getValue().get(0), "CREATE_DATE")));
HashMap<String, ArrayList<DatabaseForeignKey>> foreignKeysResults = foreignKeys.getOrDefault(x.getKey(), new HashMap<>());
List<DatabaseTableColumn> databaseTableColumns = new ArrayList<>();
for (HashMap<String, Object> column : x.getValue()) {
@@ -124,6 +253,7 @@ public class SQLServerDBSchemaManager {
.setOrdinalPosition(UtilityHashMap.getValueIfExists(column, "ORDINAL_POSITION"))
.setColumnDefault(UtilityHashMap.getValueIfExists(column, "COLUMN_DEFAULT"))
.setNullable(UtilityHashMap.getValueIfExists(column, "IS_NULLABLE"))
.setPrimaryKey(UtilityHashMap.getValueIfExists(column, "IS_PRIMARY_KEY"))
.setDataType(DatabaseTableColumnDataType.fromString(UtilityHashMap.getValueIfExists(column, "DATA_TYPE")))
.setCharacterMaximumLength(UtilityHashMap.getValueIfExists(column, "CHARACTER_MAXIMUM_LENGTH"))
.setCharacterOctetLength(UtilityHashMap.getValueIfExists(column, "CHARACTER_OCTET_LENGTH"))
@@ -135,6 +265,12 @@ public class SQLServerDBSchemaManager {
.setCharacterSetSchema(UtilityHashMap.getValueIfExists(column, "CHARACTER_SET_SCHEMA"))
.setCharacterSetName(UtilityHashMap.getValueIfExists(column, "CHARACTER_SET_NAME"));
Boolean tableHasIdentity = UtilityHashMap.<Boolean>getValueIfExists(column, "TABLE_HAS_IDENTITY", false);
databaseTableColumn.setIdentity(databaseTableColumn.isPrimaryKey() && tableHasIdentity != null && tableHasIdentity);
if (foreignKeysResults != null && foreignKeysResults.containsKey(databaseTableColumn.getColumnName()))
databaseTableColumn.setForeignKeys(foreignKeysResults.get(databaseTableColumn.getColumnName()));
databaseTableColumns.add(databaseTableColumn);
}
@@ -146,7 +282,91 @@ public class SQLServerDBSchemaManager {
return tableList;
}
public String createTableSyntax(DatabaseTable databaseTable) throws Exception {
private HashMap<String, HashMap<String, ArrayList<DatabaseForeignKey>>> getForeignKeys() throws Exception {
String sql = "SELECT DISTINCT\n" +
" tab1.name AS [table],\n" +
" col1.name AS [column],\n" +
" tab2.name AS [referenced_table],\n" +
" col2.name AS [referenced_column]\n" +
" FROM sys.foreign_key_columns fkc\n" +
" INNER JOIN sys.objects obj\n" +
" ON obj.object_id = fkc.constraint_object_id\n" +
" INNER JOIN sys.tables tab1\n" +
" ON tab1.object_id = fkc.parent_object_id\n" +
" INNER JOIN sys.schemas sch\n" +
" ON tab1.schema_id = sch.schema_id\n" +
" INNER JOIN sys.columns col1\n" +
" ON col1.column_id = parent_column_id AND col1.object_id = tab1.object_id\n" +
" INNER JOIN sys.tables tab2\n" +
" ON tab2.object_id = fkc.referenced_object_id\n" +
" INNER JOIN sys.columns col2\n" +
" ON col2.column_id = referenced_column_id AND col2.object_id = tab2.object_id";
List<HashMap<String, Object>> resultList = UtilityDB.executeSimpleQuery(this.mConnection, sql);
HashMap<String, HashMap<String, ArrayList<DatabaseForeignKey>>> allTablesResult = new HashMap<>();
Stream.of(resultList)
.groupBy(x -> UtilityHashMap.<String>getValueIfExists(x, "table"))
.forEach(x -> {
HashMap<String, ArrayList<DatabaseForeignKey>> hashMap = new HashMap<>();
for (HashMap<String, Object> resultRow : x.getValue()) {
if (!hashMap.containsKey(UtilityHashMap.<String>getValueIfExists(resultRow, "column")))
hashMap.put(UtilityHashMap.getValueIfExists(resultRow, "column"), new ArrayList<>());
hashMap.get(UtilityHashMap.<String>getValueIfExists(resultRow, "column"))
.add(new DatabaseForeignKey()
.setColumnName(UtilityHashMap.getValueIfExists(resultRow, "referenced_column"))
.setTableName(UtilityHashMap.getValueIfExists(resultRow, "referenced_table")));
}
allTablesResult.put(x.getKey(), hashMap);
});
return allTablesResult;
}
private HashMap<String, ArrayList<DatabaseForeignKey>> getForeignKeys(String tableName) throws Exception {
String sql = "SELECT DISTINCT\n" +
" tab1.name AS [table],\n" +
" col1.name AS [column],\n" +
" tab2.name AS [referenced_table],\n" +
" col2.name AS [referenced_column]\n" +
" FROM sys.foreign_key_columns fkc\n" +
" INNER JOIN sys.objects obj\n" +
" ON obj.object_id = fkc.constraint_object_id\n" +
" INNER JOIN sys.tables tab1\n" +
" ON tab1.object_id = fkc.parent_object_id\n" +
" INNER JOIN sys.schemas sch\n" +
" ON tab1.schema_id = sch.schema_id\n" +
" INNER JOIN sys.columns col1\n" +
" ON col1.column_id = parent_column_id AND col1.object_id = tab1.object_id\n" +
" INNER JOIN sys.tables tab2\n" +
" ON tab2.object_id = fkc.referenced_object_id\n" +
" INNER JOIN sys.columns col2\n" +
" ON col2.column_id = referenced_column_id AND col2.object_id = tab2.object_id\n" +
" WHERE tab1.name = " + UtilityDB.valueToString(tableName);
List<HashMap<String, Object>> resultList = UtilityDB.executeSimpleQuery(this.mConnection, sql);
HashMap<String, ArrayList<DatabaseForeignKey>> hashMap = new HashMap<>();
for (HashMap<String, Object> resultRow : resultList) {
if (!hashMap.containsKey(UtilityHashMap.<String>getValueIfExists(resultRow, "column")))
hashMap.put(UtilityHashMap.getValueIfExists(resultRow, "column"), new ArrayList<>());
hashMap.get(UtilityHashMap.<String>getValueIfExists(resultRow, "column"))
.add(new DatabaseForeignKey()
.setColumnName(UtilityHashMap.getValueIfExists(resultRow, "referenced_column"))
.setTableName(UtilityHashMap.getValueIfExists(resultRow, "referenced_table")));
}
return hashMap;
}
public String createTableSyntax(DatabaseTableView databaseTable) throws Exception {
StringBuilder sb = new StringBuilder();
sb.append("CREATE TABLE [" + databaseTable.getTableName() + "] (");
@@ -161,14 +381,29 @@ public class SQLServerDBSchemaManager {
return sb.toString();
}
public void createTable(DatabaseTable databaseTable) throws Exception {
public void createTable(DatabaseTableView databaseTable) throws Exception {
String sql = createTableSyntax(databaseTable);
execTableAlterSQL(sql);
this.mConnection.commit();
}
public String addTableColumnsSyntax(DatabaseTable deltaTable) throws Exception {
public void dropTable(DatabaseTable databaseTable) throws Exception {
String dropSql = "DROP TABLE " + databaseTable.getTableName();
execTableAlterSQL(dropSql);
this.mConnection.commit();
}
public void dropView(DatabaseView databaseTable) throws Exception {
String dropSql = "DROP VIEW " + databaseTable.getTableName();
execTableAlterSQL(dropSql);
this.mConnection.commit();
}
public String addTableColumnsSyntax(DatabaseTableView deltaTable) {
StringBuilder sb = new StringBuilder();
sb.append("ALTER TABLE [" + deltaTable.getTableName() + "] ADD ");
@@ -184,7 +419,7 @@ public class SQLServerDBSchemaManager {
return sb.toString();
}
public void addTableColumns(DatabaseTable deltaTable) throws Exception {
public void addTableColumns(DatabaseTableView deltaTable) throws Exception {
String sql = addTableColumnsSyntax(deltaTable);
execTableAlterSQL(sql);
@@ -192,6 +427,74 @@ public class SQLServerDBSchemaManager {
}
private String dropTableColumnsSyntax(DatabaseTableView deltaTable) {
StringBuilder sb = new StringBuilder();
sb.append("ALTER TABLE [" + deltaTable.getTableName() + "] DROP COLUMN ");
List<DatabaseTableColumn> sourceColumns = deltaTable.getColumns();
List<String> columnsTempSql = new ArrayList<>();
for (DatabaseTableColumn sourceColumn : sourceColumns) {
columnsTempSql.add(sourceColumn.getColumnName());
}
sb.append(StringUtils.join(columnsTempSql, ", "));
return sb.toString();
}
public void dropTableColumns(DatabaseTableView deltaTable) throws Exception {
String sql = dropTableColumnsSyntax(deltaTable);
execTableAlterSQL(sql);
this.mConnection.commit();
}
private List<String> updateTableColumnsSyntax(DatabaseTableView deltaTable) {
List<String> alterSqls = new ArrayList<>();
List<DatabaseTableColumn> sourceColumns = deltaTable.getColumns();
for (DatabaseTableColumn sourceColumn : sourceColumns) {
alterSqls.add("ALTER TABLE [" + deltaTable.getTableName() + "] ALTER COLUMN " + generateAddColumnSyntax(sourceColumn));
}
return alterSqls;
}
public void updateTableColumns(DatabaseTableView deltaTable) throws Exception {
List<String> sqls = updateTableColumnsSyntax(deltaTable);
for (String sql : sqls)
execTableAlterSQL(sql);
this.mConnection.commit();
}
public List<String> generateAlterTableToDisableAnsiPadding() throws SQLException {
return UtilityDB.executeSimpleQueryOnlyFirstColumn(this.mConnection, "SELECT 'ALTER TABLE ' + OBJECT_SCHEMA_NAME(sys.objects.object_id) + '.' + \n" +
" sys.objects.name + ' ALTER COLUMN [' + sys.columns.name + '] ' + \n" +
" sys.types.name + CASE WHEN sys.types.name IN ('text','ntext') THEN ''\n" +
" WHEN sys.types.name IN ('char','varchar') \n" +
" THEN '('+IIF(sys.columns.max_length = -1, 'MAX', CAST(sys.columns.max_length AS varchar(10)))+')'\n" +
" WHEN sys.types.name IN ('nchar','nvarchar') \n" +
" THEN '('+CAST(sys.columns.max_length/2 AS varchar(10))+')' END +\n" +
" ' ' + CASE WHEN sys.columns.is_nullable = 0 \n" +
" THEN 'NOT NULL' ELSE 'NULL' END\n" +
"FROM sys.columns\n" +
"JOIN sys.types\n" +
" ON sys.columns.user_type_id = sys.types.user_type_id\n" +
"JOIN sys.objects\n" +
" ON sys.columns.object_id = sys.objects.object_id\n" +
"WHERE is_ansi_padded = 0\n" +
" AND sys.types.name in ('char','varchar')\n" +
" AND sys.objects.type = 'U'");
}
private String generateAddColumnSyntax(DatabaseTableColumn tableColumn) {
String columnSize = null;

View File

@@ -0,0 +1,29 @@
package it.integry.ems.entity_logger.db_schema_manager.dto;
import it.integry.ems_model.annotation.SqlField;
public class DatabaseForeignKey {
@SqlField("referenced_table")
private String tableName;
@SqlField("referenced_column")
private String columnName;
public String getTableName() {
return tableName;
}
public DatabaseForeignKey setTableName(String tableName) {
this.tableName = tableName;
return this;
}
public String getColumnName() {
return columnName;
}
public DatabaseForeignKey setColumnName(String columnName) {
this.columnName = columnName;
return this;
}
}

View File

@@ -1,37 +1,10 @@
package it.integry.ems.entity_logger.db_schema_manager.dto;
import java.util.ArrayList;
import java.util.List;
public class DatabaseTable extends DatabaseTableView {
public class DatabaseTable implements Cloneable {
private final DatabaseObjectTypeEnum type = DatabaseObjectTypeEnum.TABLE;
private String tableName;
private List<DatabaseTableColumn> columns = new ArrayList<>();
public String getTableName() {
return tableName;
}
public DatabaseTable setTableName(String tableName) {
this.tableName = tableName;
return this;
}
public List<DatabaseTableColumn> getColumns() {
return columns;
}
public DatabaseTable setColumns(List<DatabaseTableColumn> columns) {
this.columns = columns;
return this;
}
@Override
public DatabaseTable clone() {
try {
return (DatabaseTable) super.clone();
} catch (CloneNotSupportedException e) {
throw new AssertionError();
}
public DatabaseObjectTypeEnum getType() {
return type;
}
}

View File

@@ -1,11 +1,15 @@
package it.integry.ems.entity_logger.db_schema_manager.dto;
import java.util.ArrayList;
public class DatabaseTableColumn {
private String columnName;
private Integer ordinalPosition;
private String columnDefault;
private boolean nullable;
private boolean primaryKey;
private boolean identity;
private DatabaseTableColumnDataType dataType;
private Integer characterMaximumLength;
private Integer characterOctetLength;
@@ -17,6 +21,8 @@ public class DatabaseTableColumn {
private String characterSetSchema;
private String characterSetName;
private ArrayList<DatabaseForeignKey> foreignKeys;
public String getColumnName() {
return columnName;
}
@@ -142,4 +148,31 @@ public class DatabaseTableColumn {
this.characterSetName = characterSetName;
return this;
}
public ArrayList<DatabaseForeignKey> getForeignKeys() {
return foreignKeys;
}
public DatabaseTableColumn setForeignKeys(ArrayList<DatabaseForeignKey> foreignKeys) {
this.foreignKeys = foreignKeys;
return this;
}
public boolean isPrimaryKey() {
return primaryKey;
}
public DatabaseTableColumn setPrimaryKey(boolean primaryKey) {
this.primaryKey = primaryKey;
return this;
}
public boolean isIdentity() {
return identity;
}
public DatabaseTableColumn setIdentity(boolean identity) {
this.identity = identity;
return this;
}
}

View File

@@ -1,5 +1,7 @@
package it.integry.ems.entity_logger.db_schema_manager.dto;
import java.sql.Types;
public enum DatabaseTableColumnDataType {
BIGINT("bigint"),
@@ -38,7 +40,7 @@ public enum DatabaseTableColumnDataType {
GEOGRAPHY("geography");
private String text;
private final String text;
private DatabaseTableColumnDataType(String text) {
this.text = text;
@@ -55,4 +57,52 @@ public enum DatabaseTableColumnDataType {
return this.text;
}
public int toSqlDataType() throws Exception {
switch (this) {
case BIGINT:
return Types.BIGINT;
case BIT:
return Types.BIT;
case DECIMAL:
return Types.DECIMAL;
case INT:
return Types.INTEGER;
case NUMERIC:
return Types.NUMERIC;
case SMALLINT:
return Types.SMALLINT;
case TINYINT:
return Types.TINYINT;
case FLOAT:
return Types.FLOAT;
case REAL:
return Types.REAL;
case DATE:
case DATETIME:
case DATETIME2:
case SMALLDATETIME:
return Types.DATE;
case TIME:
return Types.TIME;
case TIMESTAMP:
return Types.TIMESTAMP;
case CHAR:
return Types.CHAR;
case NCHAR:
return Types.NCHAR;
case VARCHAR:
case TEXT:
return Types.VARCHAR;
case NVARCHAR:
case NTEXT:
return Types.NVARCHAR;
case BINARY:
return Types.BINARY;
case VARBINARY:
return Types.VARBINARY;
}
throw new Exception("Type not recognized");
}
}

View File

@@ -0,0 +1,48 @@
package it.integry.ems.entity_logger.db_schema_manager.dto;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
public class DatabaseTableView implements Cloneable {
private String tableName;
private LocalDate creationDate;
private List<DatabaseTableColumn> columns = new ArrayList<>();
public String getTableName() {
return tableName;
}
public DatabaseTableView setTableName(String tableName) {
this.tableName = tableName;
return this;
}
public LocalDate getCreationDate() {
return creationDate;
}
public DatabaseTableView setCreationDate(LocalDate creationDate) {
this.creationDate = creationDate;
return this;
}
public List<DatabaseTableColumn> getColumns() {
return columns;
}
public DatabaseTableView setColumns(List<DatabaseTableColumn> columns) {
this.columns = columns;
return this;
}
@Override
public DatabaseTableView clone() {
try {
return (DatabaseTableView) super.clone();
} catch (CloneNotSupportedException e) {
throw new AssertionError();
}
}
}

View File

@@ -0,0 +1,10 @@
package it.integry.ems.entity_logger.db_schema_manager.dto;
public class DatabaseView extends DatabaseTableView {
private final DatabaseObjectTypeEnum type = DatabaseObjectTypeEnum.VIEW;
public DatabaseObjectTypeEnum getType() {
return type;
}
}

View File

@@ -3,12 +3,8 @@ package it.integry.ems.entity_logger.service;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import it.integry.annotations.PostContextConstruct;
import it.integry.ems.dynamic_cache.DynamicCacheService;
import it.integry.ems.entity_logger.db_schema_manager.component.SQLServerDBSchemaManager;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseFile;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseTable;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseTableColumn;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseTableColumnDataType;
import it.integry.ems.entity_logger.db_schema_manager.dto.*;
import it.integry.ems.looper.service.LooperService;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
@@ -130,16 +126,16 @@ public class EntityLoggerComponent {
for (DatabaseTable sourceTable : sourceTables) {
Optional<DatabaseTable> optDestTable = Stream.of(destTables)
java.util.Optional<DatabaseTable> optDestTable = destTables.stream()
.filter(x -> x.getTableName().equalsIgnoreCase(sourceTable.getTableName()))
.findFirst();
DatabaseTable destTable;
DatabaseTableView destTable;
StringBuilder sb = new StringBuilder();
if (optDestTable.isEmpty()) {
if (!optDestTable.isPresent()) {
Stream.of(sourceTable.getColumns())
sourceTable.getColumns()
.forEach(x -> x.setNullable(true));
int maxOrdinalPosition = Stream.of(sourceTable.getColumns())
@@ -182,7 +178,7 @@ public class EntityLoggerComponent {
} else {
destTable = optDestTable.get();
DatabaseTable cloneDatabaseTableADD = destTable.clone();
DatabaseTable cloneDatabaseTableADD = (DatabaseTable) destTable.clone();
cloneDatabaseTableADD.setColumns(new ArrayList<>());
List<DatabaseTableColumn> sourceColumns = sourceTable.getColumns();

View File

@@ -1,7 +1,7 @@
package it.integry.ems.exception;
public class MissingDataException extends Exception {
public MissingDataException(String method) {
super("Dati mancanti in " + method);
public MissingDataException(String error) {
super("Dati mancanti: " + error);
}
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.expansion;
public interface RunnableArgsThrowable<T> {
T run() throws Exception;
}

View File

@@ -1,7 +1,9 @@
package it.integry.ems.expansion;
import java.sql.SQLException;
public interface RunnableArgsWithReturn<T, R> {
R run(T data);
R run(T data) throws SQLException;
}

View File

@@ -0,0 +1,7 @@
package it.integry.ems.expansion;
public interface RunnableThrowable {
void run() throws Exception;
}

View File

@@ -1,6 +1,5 @@
package it.integry.ems.export.base;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.exc.MismatchedInputException;
@@ -20,7 +19,7 @@ import it.integry.ems.file_sharer.sharers.ftp.FTPFileSharerSettings;
import it.integry.ems.file_sharer.sharers.sftp.SFTPFileAttachment;
import it.integry.ems.file_sharer.sharers.sftp.SFTPFileSharer;
import it.integry.ems.file_sharer.sharers.sftp.SFTPFileSharerSettings;
import it.integry.ems.json.JSONObjectMapper;
import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.properties.EmsProperties;
import it.integry.ems.response.EsitoType;
import it.integry.ems.response.FileItem;
@@ -29,7 +28,6 @@ import it.integry.ems.service.HttpRestWrapper;
import it.integry.ems.service.MailService;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDirs;
import it.integry.ems_model.entity.Azienda;
import it.integry.ems_model.entity.WtbUsersInfo;
import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.utility.UtilityString;
@@ -41,8 +39,10 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.context.ContextLoader;
import java.io.*;
import java.net.URL;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -251,7 +251,7 @@ public abstract class BaseEntityExporter implements IEntityExporter {
case WEBSERVICES:
JSONObjectMapper objectMapper = new JSONObjectMapper();
ResponseJSONObjectMapper objectMapper = new ResponseJSONObjectMapper();
String url = wtbUserInfo.getWsEndpoint();
@@ -399,7 +399,7 @@ public abstract class BaseEntityExporter implements IEntityExporter {
}
}
if (counterTotalSend > 0 && counterFailedSend != 0 && retException != null) {
if (counterTotalSend > 0 && counterFailedSend == counterTotalSend && retException != null) {
//Se gli invii precedenti sono andati bene usciamo
throw retException;
}
@@ -421,20 +421,10 @@ public abstract class BaseEntityExporter implements IEntityExporter {
private void sendNotificationMail(String notificationEmail) {
try {
String nomeDitta = Azienda.getDefaultAzienda(multiDBTransactionManager.getPrimaryConnection()).getNomeDitta();
String mailSubject = String.format("Esportazione di %s - %s (%s)", getType(), getFormat(), nomeDitta);
URL url = new URL("https://www2.studioml.it/ems-api/mail_models/info_mail.php");
InputStream is = url.openStream();
String htmlMailBody = IOUtils.toString(is);
htmlMailBody = htmlMailBody.replaceAll("%%USER%%", "cliente");
htmlMailBody = htmlMailBody.replaceAll("%%MESSAGE%%", String.format("come da accordi, l'esportazione %s - %s &egrave; stata completata.", getType(), getFormat()));
htmlMailBody = htmlMailBody.replaceAll("%%NOME_DITTA%%", nomeDitta);
MailService mailService = ContextLoader.getCurrentWebApplicationContext().getBean(MailService.class);
mailService.sendMailPrimary(null, null, notificationEmail, null, null, mailSubject, htmlMailBody, true, false, null, null, null);
mailService.sendInfoMail(multiDBTransactionManager, notificationEmail,
String.format("Esportazione di %s - %s", getType(), getFormat()),
String.format("come da accordi, l'esportazione %s - %s &egrave; stata completata.", getType(), getFormat()));
} catch (Exception e) {
e.printStackTrace();

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