Compare commits

...

1521 Commits

Author SHA1 Message Date
421accaf15 Finish v1.41.05(453) 2024-11-18 11:39:03 +01:00
290d737ff7 -> v1.41.05 (453) 2024-11-18 11:38:59 +01:00
4b0fbd0b6b Rimossi destinatari che non sono attivi 2024-11-15 19:14:04 +01:00
6327089a55 Finish v1.41.04(452) 2024-11-14 10:02:03 +01:00
807c3a8cde Finish v1.41.04(452) 2024-11-14 10:02:02 +01:00
665c261b9a -> v1.41.04 (452) 2024-11-14 10:01:56 +01:00
bdd6f21522 Fix su DialogProgressView 2024-11-14 09:59:39 +01:00
2a0465dc0f Finish v1.41.03(451) 2024-11-05 11:24:45 +01:00
3ebe311728 Finish v1.41.03(451) 2024-11-05 11:24:44 +01:00
95a51ecc7a -> v1.41.03 (451) 2024-11-05 11:24:39 +01:00
342753aeac Migliorata gestione del loading dialog (evitate concorrenze di apertura) 2024-11-05 11:23:51 +01:00
845a4c8faa Aggiornato logo Integry 2024-10-18 11:11:51 +02:00
0328ebad85 Aggiornato Gradle Plugin 2024-10-18 10:11:08 +02:00
c42a597bb4 Finish v1.41.02(450) 2024-10-08 14:43:12 +02:00
77c5252bf6 Finish v1.41.02(450) 2024-10-08 14:43:12 +02:00
b40781db84 -> v1.41.02 (450) 2024-10-08 14:42:57 +02:00
f5a0bf67c8 In rettifica giacenze aggiunta setup per la richiesta della modifica posizione 2024-10-08 14:40:16 +02:00
044d60fb66 Finish v1.41.01(449) 2024-10-03 16:45:02 +02:00
7999e98bd9 Finish v1.41.01(449) 2024-10-03 16:45:01 +02:00
7c14688ef3 -> v1.41.01 (449) 2024-10-03 16:44:57 +02:00
8039d1942d Merge remote-tracking branch 'origin/develop' into develop 2024-10-03 16:43:44 +02:00
03e2f4390b Cambiato oggetto email log 2024-10-03 16:41:40 +02:00
08656ae276 Finish v1.41.00(448) 2024-09-17 18:33:30 +02:00
9f2ba56c59 Finish v1.41.00(448) 2024-09-17 18:33:29 +02:00
34e1ba8f95 -> v1.41.00 (448) 2024-09-17 18:33:22 +02:00
4e95f4f9c9 Aggiunto dialog per il suggerimento dei lotti già esistenti nei documenti interni 2024-09-17 18:32:09 +02:00
1463510b08 Finish v1.40.30(447) 2024-09-13 09:42:56 +02:00
a771335ff1 Finish v1.40.30(447) 2024-09-13 09:42:55 +02:00
7b1f58412a -> v1.40.30 (447) 2024-09-13 09:42:38 +02:00
d897c83165 Cambiato messaggio di warning per check documenti interni 2024-09-04 12:56:24 +02:00
44b9bc3fc1 Migliorato documento di reso quando effettuano le perdite 2024-09-03 10:19:07 +02:00
fa95ed1391 Finish v1.40.29(446) 2024-07-26 16:58:15 +02:00
26ca580ba4 Finish v1.40.29(446) 2024-07-26 16:58:15 +02:00
f65e69b745 -> v1.40.29 (446) 2024-07-26 16:58:10 +02:00
5a147fb0de Mini-improvement 2024-07-26 16:55:57 +02:00
64e38ce05a Aggiunto log eccezione in fase di ExportLog 2024-07-26 16:28:16 +02:00
6c79a1781d Finish v1.40.28(445) 2024-07-22 09:09:44 +02:00
6177d84131 Finish v1.40.28(445) 2024-07-22 09:09:43 +02:00
c6975badce -> v1.40.28 (445) 2024-07-22 09:09:27 +02:00
c548c6484f Aggiunto suggerimento data scadenza in caso di partita esistente 2024-07-19 17:55:14 +02:00
9aae16521f Finish v1.40.27(444) 2024-07-05 17:59:05 +02:00
559ff4e94c Finish v1.40.27(444) 2024-07-05 17:59:04 +02:00
7b11f503d8 -> v1.40.27 (444) 2024-07-05 17:58:49 +02:00
bc788c3a34 [DOLBO] Gestito extra quantity in duplica uds e aggiornamento quantità in elenco 2024-07-05 17:57:54 +02:00
f936c71188 Finish v1.40.26(443) 2024-06-26 16:13:52 +02:00
25a7982a87 Finish v1.40.26(443) 2024-06-26 16:13:52 +02:00
74a3749e44 -> v1.40.26 (443) 2024-06-26 16:13:43 +02:00
074fb10b44 Fix chiamata servizi duplicateUDS 2024-06-26 16:03:07 +02:00
4f490eb737 In accettazione da bolla inserita ricerca per descrizione articolo e aggiunta conferma della quantità al long click 2024-06-26 12:16:46 +02:00
2b981b6c40 Finish v1.40.25(442) 2024-06-25 09:06:17 +02:00
bec80d980f Finish v1.40.25(442) 2024-06-25 09:06:17 +02:00
8a5c8f5c94 -> v1.40.25 (442) 2024-06-25 09:06:02 +02:00
da301ec6b2 Permettere la duplicazione delle uds 2024-06-21 17:55:37 +02:00
a5a9cb1c50 Aggiunto blocco durante la lettura dell'SSCC fornitore nell'accettazione se il barcode ul è già presente in un collo 2024-06-18 16:06:02 +02:00
cef74ab71f Finish v1.40.24(441) 2024-06-18 09:52:38 +02:00
3f647952c0 Finish v1.40.24(441) 2024-06-18 09:52:37 +02:00
9bf55aae85 -> v1.40.24 (441) 2024-06-18 09:52:23 +02:00
f9a31faa78 Fix import docInterni 2024-06-18 09:49:23 +02:00
9a643837d4 Finish v1.40.23(440) 2024-06-17 17:55:25 +02:00
f458a52b18 Finish v1.40.23(440) 2024-06-17 17:55:24 +02:00
132437d134 -> v1.40.23 (440) 2024-06-17 17:55:10 +02:00
022841c195 Controllo documenti fruma 2024-06-17 17:53:46 +02:00
bdbecfb037 Finish v1.40.22(439) 2024-05-31 18:41:09 +02:00
1a501af172 Finish v1.40.22(439) 2024-05-31 18:41:08 +02:00
fe558a8be8 -> v.1.40.22 (439) 2024-05-31 18:41:02 +02:00
05d930d8f7 Aggiunta setup per "Disabilitare" il picking libero quando si spara un'etichetta cartone 2024-05-31 18:38:25 +02:00
267aa85e01 Finish v1.40.21(438) 2024-05-28 19:07:53 +02:00
89a98cac8b Finish v1.40.21(438) 2024-05-28 19:07:52 +02:00
efc052d622 -> v1.40.21 (438) 2024-05-28 19:07:48 +02:00
6f61f3af9b Fix date in recupero materiale 2024-05-28 19:07:01 +02:00
e7d06c9752 Finish v1.40.20(437) 2024-05-27 13:27:22 +02:00
81e3c70960 Finish v1.40.20(437) 2024-05-27 13:27:22 +02:00
76a0fe9b6f -> v1.40.20 (437) 2024-05-27 13:27:08 +02:00
a9bab6db56 Fix format LocalDate in recupero materiale 2024-05-27 13:26:11 +02:00
85197c1f9b Finish v1.40.19(436) 2024-05-21 12:15:37 +02:00
ece434806f Finish v1.40.19(436) 2024-05-21 12:15:36 +02:00
0962192144 -> v1.40.19 (436) 2024-05-21 12:15:29 +02:00
38139a1ec9 Merge remote-tracking branch 'origin/develop' into develop 2024-05-21 12:14:19 +02:00
56e5603256 Fix date in recupero materiale 2024-05-21 12:14:03 +02:00
b5c2efa9e2 Finish v1.40.18(435) 2024-05-14 16:57:12 +02:00
26f9f0e16c Finish v1.40.18(435) 2024-05-14 16:57:12 +02:00
9abba0ce82 -> v.1.40.18 (435) 2024-05-14 16:56:58 +02:00
c616a9d31a Fix InputQuantity in rettifica giaccenze 2024-05-14 16:55:45 +02:00
e45a980ce3 Aggiunto dateTimeRow in ArtDTO 2024-05-10 15:44:23 +02:00
46c9fa184d Finish v1.40.17(434) 2024-05-07 18:22:31 +02:00
3a31fba1b4 Finish v1.40.17(434) 2024-05-07 18:22:30 +02:00
6cded1d2d1 -> v1.40.17 (434) 2024-05-07 18:22:23 +02:00
027d0e891b Fix stream in spedizione 2024-05-07 18:21:40 +02:00
93abea0823 Merge remote-tracking branch 'origin/develop' into develop 2024-05-06 12:52:35 +02:00
5c5216e207 Aggiornato gradle plugin 8.4.0 2024-05-06 12:49:18 +02:00
7a20ff6ddc Finish v1.40.16(433) 2024-05-03 15:05:52 +02:00
048b7d7f56 Finish v1.40.16(433) 2024-05-03 15:05:51 +02:00
f009726cf0 -> v1.40.16 (433) 2024-05-03 15:05:37 +02:00
fb213cbdbb Aggiunta data delle righe dei colli nella generazione dei documenti interni 2024-05-03 11:33:12 +02:00
971dcaed87 Finish v1.40.15(432) 2024-04-30 16:46:14 +02:00
7b132def2a Finish v1.40.15(432) 2024-04-30 16:46:13 +02:00
998dc54292 -> v1.40.15 (432) 2024-04-30 16:46:08 +02:00
157eaf8760 Cambiate alcune logiche in versamento su Ordine 2024-04-29 12:08:10 +02:00
10ffcf7806 Refactoring progress views 2024-04-29 11:33:28 +02:00
392dd18338 Cambiata lettura barcode in Versamento su Ordine 2024-04-24 19:46:11 +02:00
d4c7cdf400 Fix codAnag vettore 2024-04-23 18:14:27 +02:00
cde96ae694 Fix codAnag vettore 2024-04-23 18:04:42 +02:00
e49d35fdbc Implementata gestione degli imballi in spedizione 2024-04-23 16:32:40 +02:00
55db6d362d Merge remote-tracking branch 'origin/develop' into develop 2024-04-19 17:33:03 +02:00
925cb6ae07 Implementata gestione degli imballi in accettazione 2024-04-19 17:32:32 +02:00
c4f1d53199 Finish v1.40.14(431) 2024-04-19 13:57:08 +02:00
e18ac7a390 Finish v1.40.14(431) 2024-04-19 13:57:08 +02:00
cc454aea1a -> v1.40.14 (431) 2024-04-19 13:56:55 +02:00
5cf275e43c Fix nullPoint StatoArtInventarioDto 2024-04-19 13:18:46 +02:00
53fe1db488 Finish v1.40.13(430)_2 2024-04-16 10:53:44 +02:00
64082fc5ee Finish v1.40.13(430)_2 2024-04-16 10:53:43 +02:00
f9c642ad13 Aggiornamenti librerie 2024-04-16 10:53:01 +02:00
bd7edf2357 Finish v1.40.13(430)_1 2024-04-16 10:48:05 +02:00
b7605bd28c Finish v1.40.13(430)_1 2024-04-16 10:48:04 +02:00
ad01283511 Aggiornamenti librerie 2024-04-16 10:46:56 +02:00
adeab93b17 Finish v1.40.13(430) 2024-04-16 08:56:03 +02:00
51480c2b06 Finish v1.40.13(430) 2024-04-16 08:56:03 +02:00
d04b3797ce -> v1.40.13 (430) 2024-04-16 08:55:44 +02:00
518a00becf Fix check newPartitaMag 2024-04-16 08:51:27 +02:00
c808cf7ce3 Finish v1.40.12(429) 2024-04-10 13:30:08 +02:00
8cb488d81f Finish v1.40.12(429) 2024-04-10 13:30:07 +02:00
ed3f84d0ea -> v1.40.12 (429) 2024-04-10 13:29:53 +02:00
d9b02c4402 Fix import MagazzinoRESTConsumer 2024-04-10 13:28:49 +02:00
23522c9370 Finish v1.40.11(428) 2024-04-10 13:27:26 +02:00
f79b40c574 Finish v1.40.11(428) 2024-04-10 13:27:26 +02:00
835915b46a -> v1.40.11 (428) 2024-04-10 13:27:06 +02:00
e643f25aa3 Fix response retrievePartitaMagSyncronized 2024-04-10 13:26:12 +02:00
230a32139d Aggiunto retrievePartitaMagSyncronized in MagazzinoRESTConsumer 2024-04-10 12:21:29 +02:00
b0272cd9e0 Fix thread in validation DialogInputQuantityV2 2024-04-10 12:07:41 +02:00
fa9947f22b Finish v1.40.10(427) 2024-04-09 10:06:58 +02:00
5d3bb333e1 Finish v1.40.10(427) 2024-04-09 10:06:58 +02:00
9f7085dfed -> v1.40.10 (427) 2024-04-09 10:06:32 +02:00
95f765756c Fix vari 2024-04-09 10:04:12 +02:00
a846ec00d7 Finish v1.40.09(426) 2024-04-04 12:26:54 +02:00
6edc1917e1 Finish v1.40.09(426) 2024-04-04 12:26:54 +02:00
1b864253b5 -> v1.40.09 (426) 2024-04-04 12:26:38 +02:00
f212987547 Aggiunto in UtilityString determineDateFormat 2024-04-04 12:25:25 +02:00
76f9c7030b Finish v1.40.08(425) 2024-04-04 11:54:19 +02:00
05bc6e3fbe Finish v1.40.08(425) 2024-04-04 11:54:18 +02:00
38dc5e134c -> v1.40.08 (425) 2024-04-04 11:53:56 +02:00
76cf6c7d66 Fix LocalDate deserializer 2024-04-04 11:52:24 +02:00
21100d517c Finish v1.40.07(424) 2024-03-27 18:16:12 +01:00
37f83cd642 Finish v1.40.07(424) 2024-03-27 18:16:11 +01:00
f29f832387 -> v1.40.07 (424) 2024-03-27 18:16:05 +01:00
dd523ed6d8 Rimossa apertura loading popup che causava crash 2024-03-27 18:15:11 +01:00
879cfc5f7e Fix vari 2024-03-25 12:45:21 +01:00
83a6dd29f2 Aggiornato AGP 2024-03-25 10:58:19 +01:00
cc85d83267 Finish v1.40.06(423) 2024-03-18 12:09:26 +01:00
5d427a258e Finish v1.40.06(423) 2024-03-18 12:09:26 +01:00
75e0a13f10 -> v1.40.06 (423) 2024-03-18 12:09:07 +01:00
0862727176 Fix nessun selezionato filtro gruppo merceologico 2024-03-18 12:06:58 +01:00
6c02fcc9d5 Finish v1.40.05(422) 2024-03-15 18:28:52 +01:00
cd38c1b301 Finish v1.40.05(422) 2024-03-15 18:28:51 +01:00
c822f14a10 -> v1.40.05 (422) 2024-03-15 18:28:29 +01:00
76683cb80c Fix nullPoint List<StatoArtInventarioDTO> in riposizionamento da prod 2024-03-15 18:25:48 +01:00
3041498ff1 Fix modal stato inventario 2024-03-14 16:44:39 +01:00
66e0ce15cb Fix filtro gruppo merceologico in approvvigionamento linee 2024-03-14 15:22:10 +01:00
e12da84fa3 Nel "riposizionamento da produzione" aggiunte le informazioni per "in arrivo" e "in magazzino" 2024-03-14 13:04:48 +01:00
bd4f28eb6d Fix rettifica giacenza 2024-03-13 12:59:26 +01:00
c25b2e6cb5 Aggiunto filtro per per gruppo merceologico in approvvigionamento linee 2024-03-13 11:08:55 +01:00
b86a1eb1bd Nella sezione "rettifica giacenza" aggiunto avviso nell'inserimento di una nuova della partita per articolo 2024-03-12 16:34:52 +01:00
a9b5483005 Refactor nomi varibili setup 2024-03-12 16:10:38 +01:00
29c181cff1 Refactor nomi varibili setup in settinsManager 2024-03-12 16:07:46 +01:00
614da5ec5a Refactor nomi varibili setup 2024-03-12 16:05:58 +01:00
5342f96076 Finish v1.40.04(421) 2024-03-11 17:33:45 +01:00
479950df14 Finish v1.40.04(421) 2024-03-11 17:33:44 +01:00
51fa32d48d -> v1.40.04 (421) 2024-03-11 17:33:38 +01:00
e491c56f3f Merge remote-tracking branch 'origin/develop' into develop 2024-03-11 17:32:28 +01:00
5c505e2fe1 Implementato flag per gestire la qta suggerita in accettazione bolle 2024-03-11 17:32:09 +01:00
67e88d01e7 Implementato in rettifica giacenza avviso se l'articolo che si sta inserendo è attivo o meno 2024-03-11 13:32:08 +01:00
9454614af6 Rimosso tipo report WMS_SPEDIZIONE_ETICHETTE_SSCC_ORD 2024-03-07 16:11:52 +01:00
535a095b0a Finish v1.40.03(420) 2024-03-07 12:10:19 +01:00
c6457ccf1c Finish v1.40.03(420) 2024-03-07 12:10:19 +01:00
3f470df462 -> v1.40.03 (420) 2024-03-07 12:10:04 +01:00
af5c5338b7 Fix linea di impiego in dialog in approv. linee 2024-03-07 12:03:44 +01:00
e832db3214 Finish v1.40.02(419) 2024-03-07 10:17:55 +01:00
8b432d1b19 Finish v1.40.02(419) 2024-03-07 10:17:55 +01:00
d33eb81968 -> v1.40.02 (419) 2024-03-07 10:17:50 +01:00
be60cdb971 Merge remote-tracking branch 'origin/develop' into develop 2024-03-07 10:16:46 +01:00
062f877777 Fix su folder di download degli aggiornamenti 2024-03-07 10:16:37 +01:00
5187564250 Aggiunta setup per dialog info situazione articolo in picking da ordine di lavorazione 2024-03-05 16:22:59 +01:00
fc22c119f6 Finish v1.40.01(418) 2024-03-05 11:08:45 +01:00
dd8b696862 Finish v1.40.01(418) 2024-03-05 11:08:44 +01:00
99a5e162de -> v1.40.01 (418) 2024-03-05 11:08:28 +01:00
84dcf30aac In Accettazione bolla evidenziato di un colore diverso le righe in cui è stata accettata più merce del previsto 2024-03-05 11:04:54 +01:00
388c0641cf Finish v1.40.00(417) 2024-03-04 14:51:40 +01:00
40f2c86eec Finish v1.40.00(417) 2024-03-04 14:51:39 +01:00
34bd0109c0 -> v1.40.00 (417) 2024-03-04 14:50:58 +01:00
b4199f38aa Creata gestione "Articoli in giacenza" 2024-03-04 14:45:25 +01:00
299e066436 Finish v1.39.03(416) 2024-03-01 18:01:33 +01:00
0098fdaf5a Finish v1.39.03(416) 2024-03-01 18:01:32 +01:00
76d26765ef -> v1.39.03 (416) 2024-03-01 18:01:29 +01:00
c5b6e80aaf Merge remote-tracking branch 'origin/develop' into develop 2024-03-01 18:00:46 +01:00
a1b3517b07 Fix su serializzatore GSON 2024-03-01 18:00:28 +01:00
bd3fdd9ab1 Aggiunto filtro descrizione in gestione Riposizionamento da prod 2024-02-26 13:04:31 +01:00
377950c978 Aggiunto try catch per catturare le eccezioni in caso di re-add del dialog di progress 2024-02-22 15:53:42 +01:00
d17e528158 Finish v1.39.02(415) 2024-02-22 12:34:12 +01:00
a0c9c40ab5 Finish v1.39.02(415) 2024-02-22 12:34:11 +01:00
175f9e226b -> v1.39.02 (415) 2024-02-22 12:33:54 +01:00
5f2a2d96e9 [VGALIMENTI]
Corretta lettura data scadenza in decodifica ean128
2024-02-22 12:29:54 +01:00
3a167befae Finish v1.39.01(414) 2024-02-21 11:38:50 +01:00
364c627f2d Finish v1.39.01(414) 2024-02-21 11:38:49 +01:00
c0a9477000 -> v1.39.01 (414) 2024-02-21 11:38:44 +01:00
f1f56b97d6 Aggiornato servizio di createUdc in Rettifica Giacenze 2024-02-21 11:34:16 +01:00
4a79b6c1bf Fix su logica di richiesta lotto in Spedizione nel caso di più lotti presenti in una UL 2024-02-21 10:05:28 +01:00
3fddb6bcf7 Aggiunta lettura di SSCC fornitore in accettazione merce 2024-02-20 11:40:22 +01:00
435b6d753a Aggiunto in locale decode ean128 2024-02-20 09:36:59 +01:00
f0e1cf7f0b Implementati suoni alla scansione dei barcode 2024-02-16 09:26:52 +01:00
7049552f16 In accettazione aggiunta possibilità di far sparire le righe quando si evadono completamente gli ordini 2024-02-15 10:14:29 +01:00
4e53189d56 Finish v1.39.00(413) 2024-02-07 17:13:22 +01:00
9aa38b6fca Finish v1.39.00(413) 2024-02-07 17:13:22 +01:00
5745d249f0 -> v1.39.00 (413) 2024-02-07 17:13:18 +01:00
089ca061a7 Fix null su picking senza gestione giacenza 2024-02-07 17:12:17 +01:00
725372befe Aggiunto filtro posizione in riposizionamento da prod 2024-02-07 10:07:31 +01:00
6a84828506 Implementato riposizionamento da produzione 2024-02-05 16:46:57 +01:00
1c0dc8c6f2 Finish v1.38.02(412) 2024-02-01 10:34:07 +01:00
59350f768e Finish v1.38.02(412) 2024-02-01 10:34:07 +01:00
0ebcf934ff -> v1.38.02 (412) 2024-02-01 10:34:02 +01:00
20c934a28e Aggiunto supporto ad Honeywell EDA52 2024-02-01 10:33:34 +01:00
b6abeee972 Ripristinati template 2024-01-30 10:52:07 +01:00
7ecf9e4807 Finish v1.38.01(411) 2024-01-23 18:20:57 +01:00
8030a90e8e Finish v1.38.01(411) 2024-01-23 18:20:56 +01:00
61810c44c7 -> v1.38.01 (411) 2024-01-23 18:20:52 +01:00
d64bc584f0 Merge remote-tracking branch 'origin/develop' into develop 2024-01-23 18:19:11 +01:00
4f4dea9097 Fix descrizione riga UL in ContenutoBancaleActivity 2024-01-23 18:19:03 +01:00
707c852377 Fix per fabbisogno linee 2024-01-23 16:10:54 +01:00
0ae1ac87d5 Finish v1.38.00(410) 2024-01-23 11:16:15 +01:00
f03fe78ed3 Finish v1.38.00(410) 2024-01-23 11:16:14 +01:00
77cf6ac4db -> v1.38.00 (410) 2024-01-23 11:16:08 +01:00
48d1a34c52 Merge remote-tracking branch 'origin/develop' into develop 2024-01-23 11:14:46 +01:00
258f150dbb Fix in accettazione ordini di produzione: venivano raggruppati gli ordini di lavoro sotto il primo ordine trovato 2024-01-23 11:14:15 +01:00
14783dfef5 Fix codMdep in chiusura ul 2024-01-22 15:32:40 +01:00
e62e5d11f0 Impedito prelevamento merce posizionata su depositi diversi 2024-01-19 17:27:38 +01:00
648d908e95 In rettifica giacenze passo lista mtbaart in caso di ean128 2024-01-17 12:11:44 +01:00
db3eb1b062 Aggiunto nella sezione Approvvigionamento avanti elenco degli ordini e filtro per numOrd 2024-01-17 09:14:44 +01:00
fb2bed2dbf Fix per Tuidi 2024-01-16 11:54:45 +01:00
f45010650a Finish v1.37.01(409) 2024-01-15 13:36:44 +01:00
6022cfea1f Finish v1.37.01(409) 2024-01-15 13:36:43 +01:00
1ceb8c9cf9 -> v1.37.01 (409) 2024-01-15 13:36:34 +01:00
3c86db62c0 Fix per Tuidi 2024-01-15 13:34:38 +01:00
49687efc16 Finish v1.37.00(408) 2024-01-12 13:15:31 +01:00
62835878a6 Finish v1.37.00(408) 2024-01-12 13:15:30 +01:00
02cd92f2dd -> v1.37.00 (408) 2024-01-12 12:42:51 +01:00
1014043c53 Completato versamento materiale su ordine 2024-01-12 12:39:31 +01:00
bd087fbf73 Finish v1.36.14(407) 2024-01-10 11:05:29 +01:00
12a1ce1654 Finish v1.36.14(407) 2024-01-10 11:05:27 +01:00
fbb7d414f1 -> v1.36.14 (407) 2024-01-10 11:05:22 +01:00
a09ed92945 Aggiunto flag in setup per permettere o meno il recupero delle UL in accettazione bolla 2024-01-10 11:02:56 +01:00
0194a5a49d Finish v1.36.13(406) 2024-01-09 18:43:35 +01:00
112110e10f Finish v1.36.13(406) 2024-01-09 18:43:34 +01:00
8045d8b4e9 -> v1.36.13 (406) 2024-01-09 18:43:29 +01:00
d839d94d34 Aggiunto parametro ID in fase di SaveTerminalino in Documenti Interni 2024-01-09 18:42:42 +01:00
5728481a94 Migliorie processBarcode in PVOrdineAcquistoEditActivity 2024-01-09 18:23:13 +01:00
4b1632c265 Probabile fix per popup caricamento in PVOrdineAcquistoEditActivity 2024-01-09 18:06:06 +01:00
b95863d66d Sostituito fab in doc interni edit form con Material3 2024-01-09 18:01:29 +01:00
2e360e8104 Aggiunta la cancellazione delle udc create 2024-01-09 15:51:15 +01:00
7c52a692e3 Merge remote-tracking branch 'origin/develop' into develop 2024-01-08 12:05:17 +01:00
17e3b8856c Inserendo il PLU in fase di inventario entra in modifica quantità 2024-01-08 12:05:12 +01:00
550cf3506e AGP Update 2024-01-08 10:20:18 +01:00
243d0d1d30 Finish v1.36.12(405) 2024-01-05 18:25:59 +01:00
98649e3a42 Finish v1.36.12(405) 2024-01-05 18:25:59 +01:00
9dabbee1c7 -> v1.36.12 (405) 2024-01-05 18:25:52 +01:00
1c9f4de437 Fix null point in approvvigionamento linee 2024-01-02 16:26:02 +01:00
b6bd8d5e01 Finish v1.36.11(404) 2023-12-19 16:09:23 +01:00
502ff6f684 Finish v1.36.11(404) 2023-12-19 16:09:23 +01:00
50e58446b4 -> v1.36.11 (404) 2023-12-19 16:08:57 +01:00
f8df1ffa96 Fix assegnazione lotto in export documenti interni 2023-12-19 16:04:05 +01:00
adf80ae3f5 Finish v1.36.10(403) 2023-12-15 15:31:32 +01:00
d81f623ee6 Finish v1.36.10(403) 2023-12-15 15:31:30 +01:00
84c6b7099b -> v1.36.10 (403) 2023-12-15 15:31:19 +01:00
965a60b6e8 Cambiato fab button in accettazione bolla 2023-12-15 12:01:24 +01:00
4ba1b847e7 Fix su tara non presente in anagrafica articolo. Cambiato servizio di retrieve by codMart. 2023-12-15 10:16:44 +01:00
f5ad8e8b64 Merge tag 'v1.36.09(402)' into develop
Finish v1.36.09(402)
2023-12-13 15:56:58 +01:00
4863b31bb6 Finish v1.36.09(402) 2023-12-13 15:56:58 +01:00
8411b0fc17 Fix documenti interni nullpoint 2023-12-13 15:56:30 +01:00
6541f17555 Fix warning partita scaduta e blocco per partita inattiva 2023-12-13 10:13:16 +01:00
143a6c9e9c Aggiunti codici e descrizioni di gruppo e sotto gruppo merceologico in approvvigionamento linee 2023-12-06 15:05:13 +01:00
8ef216318e Finish v1.36.08(401) 2023-12-04 17:01:29 +01:00
946d3e6593 Finish v1.36.08(401) 2023-12-04 17:01:28 +01:00
0bdc3a0638 -> v1.36.08 (401) 2023-12-04 17:01:17 +01:00
49782755bc Finish RemoveSetupCheckFornitore 2023-12-04 16:41:34 +01:00
2c5fb3ba48 Merge branch 'develop' into feature/RemoveSetupCheckFornitore 2023-12-04 16:41:13 +01:00
bf732a1182 Aggiunte note in colli 2023-12-04 16:40:08 +01:00
a73ecc1e81 Implementate nuove logiche picking libero per scarichi di lavorazione 2023-12-01 17:00:20 +01:00
818351f1d0 Rimossa setup checkForniore e fatto controllo con dati passati dai servizi 2023-11-30 15:17:31 +01:00
27577d10cf Completato refactoring DialogInfoAggiuntiveLU 2023-11-28 10:38:09 +01:00
09dd2ef31e Finish v1.36.07(400) 2023-11-27 09:55:52 +01:00
86507d41c7 Finish v1.36.07(400) 2023-11-27 09:55:51 +01:00
ea6585152c -> v1.36.07 (400) 2023-11-27 09:55:45 +01:00
01d7e433b5 Aggiornato Gradle Plugin 2023-11-27 09:54:26 +01:00
185288b221 Fix sul bottone annulla del DialogAskMagazzinoProssimita 2023-11-24 16:02:46 +01:00
ba35a6b32d Rimossa processSql e implentata chiamata ai servizi per retriveFabbisogno 2023-11-24 15:13:11 +01:00
04838ce08f Finish v1.36.06(399) 2023-11-21 14:49:14 +01:00
7c936bc387 Finish v1.36.06(399) 2023-11-21 14:49:13 +01:00
6c30400aa9 -> v1.36.06 (399) 2023-11-21 14:49:00 +01:00
03aa2b17ac Rinominata setup flagOverflowQuantityWarning 2023-11-21 13:07:41 +01:00
8c24f5f025 Aggiunto un messaggio di allert quando viene inserita una quantità superiore rispetto a quella presente nell'ordine. 2023-11-21 13:02:06 +01:00
7f9524e0b2 Alla lettura ean128 viene valorizzato il lotto nel collo 2023-11-17 11:25:00 +01:00
e6b50ef7da Aggiunta data consegna in picking di accettazione 2023-11-15 17:31:09 +01:00
2275db39b3 Aggiunta descrizione estesa ordine in picking di accettazione 2023-11-14 17:42:56 +01:00
3a3680b2b2 Finish v1.36.05(398) 2023-10-26 15:32:52 +02:00
2189acce5a Finish v1.36.05(398) 2023-10-26 15:32:51 +02:00
4a4e290a9c -> v1.36.05 (398) 2023-10-26 15:32:36 +02:00
1d92759653 Fix format data in DocInterni 2023-10-26 15:31:45 +02:00
bc9f4121ef Finish v1.36.04(397) 2023-10-20 16:11:15 +02:00
cc54c6decb Finish v1.36.04(397) 2023-10-20 16:11:14 +02:00
c592ba0795 -> v1.36.04 (397) 2023-10-20 16:11:09 +02:00
09d009bcc5 Fix height in dialog_basket_lu 2023-10-20 16:10:39 +02:00
95bc3031df Finish v1.36.03(396) 2023-10-06 11:34:58 +02:00
0aca5df3fe Finish v1.36.03(396) 2023-10-06 11:34:58 +02:00
2ce2b8b25c -> v1.36.03 (396) 2023-10-06 11:34:53 +02:00
bea30a5400 Fix su gestione P in caso di creazione UDC in accettazione ordini produzione 2023-10-06 11:34:09 +02:00
d520e18a30 Finish v1.36.02(395) 2023-10-04 18:55:23 +02:00
ebc0d22e9f Finish v1.36.02(395) 2023-10-04 18:55:23 +02:00
19122ed637 -> v1.36.02 (395) 2023-10-04 18:55:17 +02:00
138500a16f [CARELLI]
Cambiata condizione su gestione anag fornitore per documenti di trasferimento interno
2023-10-04 18:53:58 +02:00
8d93da11b1 Finish v1.36.01(394) 2023-10-02 17:46:25 +02:00
9db04fcd02 Finish v1.36.01(394) 2023-10-02 17:46:24 +02:00
70b2fbd47b -> v1.36.01 (394) 2023-10-02 17:45:57 +02:00
9361d786b4 Fix su gestione P in caso di creazione UDC in accettazione ordini produzione 2023-10-02 17:45:18 +02:00
c7db59b70f Fix su lista documenti nulla in accettazione da bolla 2023-10-02 16:51:33 +02:00
1008e2aece Implementato versamento materiale tramite articolo (senza riferimento UDC) 2023-09-29 18:17:25 +02:00
d2703fd495 Finish v1.36.00(393) 2023-09-27 11:54:49 +02:00
68f576fb93 Finish v1.36.00(393) 2023-09-27 11:54:49 +02:00
69758da7e2 -> v1.36.00 (393) 2023-09-27 11:54:43 +02:00
b832a593f4 Al click sull'item in accettazione bolla adesso viene gestito il dispatchRow classico 2023-09-27 11:39:55 +02:00
c115a6f9f1 Implementata gestione del versamento materiale a magazzino buffer 2023-09-26 17:45:22 +02:00
35210db708 Finish v1.35.01(392) 2023-09-21 10:37:47 +02:00
51728a8103 Finish v1.35.01(392) 2023-09-21 10:37:46 +02:00
3961721241 -> v1.35.01 (392) 2023-09-21 10:37:40 +02:00
5d5ca02c16 Merge remote-tracking branch 'origin/develop' into develop 2023-09-21 10:37:07 +02:00
be8739c167 Utilizzato lo stesso Gson Builder per Retrofit e altro 2023-09-21 10:37:01 +02:00
8c6b19a064 Utilizzato lo stesso Gson Builder per Retrofit e altro 2023-09-21 10:36:37 +02:00
8751b7c698 Finish v1.35.00(391) 2023-09-20 17:11:13 +02:00
42b16975d6 Finish v1.35.00(391) 2023-09-20 17:11:11 +02:00
23da1b3e94 -> v1.35.00 (391) 2023-09-20 17:10:43 +02:00
d003a0322e Implementato override del check della tracciabilità in Accettazione da bolla 2023-09-20 17:09:45 +02:00
1e129d1ea9 Refactoring caricamento gest setup 2023-09-15 12:54:35 +02:00
a7dbe55ad2 In accettazione da bolla aggiunta possibilità di scansionare barcode non presenti in bolla o anche barcode non riconosciuti (con delle note) 2023-09-14 17:18:54 +02:00
99f21b19f1 In accettazione bolla è possibile configurare la richiesta di stampa, versamento automatico o il tipo collo 2023-09-11 12:00:18 +02:00
eeb06e105e In accettazione da bolle raggruppare l'elenco dei documenti per listini di acquisto 2023-09-08 09:39:48 +02:00
5988667944 Aggiornate librerie 2023-09-08 09:29:48 +02:00
77e3d00bef Implementata gestione che aggancia un barcode imballo ad un articolo già esistente 2023-08-07 13:01:37 +02:00
4b475ef1e5 Ultime migliorie in accettazione da bolla 2023-08-04 17:23:04 +02:00
1ec0611e2a Completata implementazione di Accettazione da bolla 2023-08-04 12:38:32 +02:00
bd81385cac Implementato servizio retrieve picking list bolle accettazione 2023-07-31 12:28:06 +02:00
6dbcdb0475 Completato avantielenco accettazione bolla 2023-07-31 09:59:34 +02:00
e1fddc8682 Rename classi accettazione 2023-07-24 10:15:45 +02:00
a046f736b0 Renaming cartelle 2023-07-24 10:06:24 +02:00
696ea31d7d Finish v1.34.06(390) 2023-07-21 19:27:00 +02:00
3d9e33464a Finish v1.34.06(390) 2023-07-21 19:26:59 +02:00
ab74a9cbad -> v1.34.06 (390) 2023-07-21 19:26:53 +02:00
d56dcc0ed2 Refactoring accettazione 2023-07-21 19:25:58 +02:00
7e73aceeb7 Finish v1.34.05(389) 2023-07-19 13:14:23 +02:00
d63c80d6b7 Finish v1.34.05(389) 2023-07-19 13:14:23 +02:00
bc9016cf93 -> v1.34.05 (389) 2023-07-19 13:14:15 +02:00
ff128a1de2 [LICOR]
aggiunto controllo su dataconsegna null in filtro per data consegna ordini spedizione
2023-07-19 13:13:20 +02:00
fa6ad5a150 Finish v1.34.04(388) 2023-07-11 09:29:52 +02:00
a8aaf69c57 Finish v1.34.04(388) 2023-07-11 09:29:51 +02:00
9c86598f03 -> v1.34.04 (388) 2023-07-11 09:29:45 +02:00
031cbc8d0a IDE 2023-07-11 09:28:44 +02:00
df63fbe4af In rientro merce rimossi tutti gli ordini con stato = PROGRAMMATO 2023-07-05 18:04:13 +02:00
1372e831f7 [CARELLI - INVENTARIO]
- incrementato timeout salvataggio inventario
2023-07-05 13:29:24 +02:00
c31700d9cb Modificati in POST i servizi di ricerca in Rettifica Giacenze.
Implementato nuovo servizio di retrieve articolo by codMart.
2023-07-05 10:54:37 +02:00
e6ecebd49a Nuovi servizi in rettigica giacenze 2023-07-03 17:59:30 +02:00
dfec2f2bd3 Finish v1.34.03(387) 2023-07-03 17:47:00 +02:00
3d425b6b02 Finish v1.34.03(387) 2023-07-03 17:47:00 +02:00
318a8f645e -> v1.34.03 (387) 2023-07-03 17:46:53 +02:00
8ec314044f Cambiata lettura barcode in dettaglio linee 2023-06-30 17:01:53 +02:00
2965b18a5f Finish v1.34.02(386) 2023-06-29 18:47:51 +02:00
24f6341ff6 Finish v1.34.02(386) 2023-06-29 18:47:51 +02:00
589a179a1b -> v1.34.02 (386) 2023-06-29 18:47:46 +02:00
afc2aef691 Implementato flag per abilitare/disabilitare cache degli inventari 2023-06-29 18:47:10 +02:00
19e4a14c95 Finish v1.34.01(385) 2023-06-16 12:17:28 +02:00
8237466adf Finish v1.34.01(385) 2023-06-16 12:17:27 +02:00
3c1471ee8d -> v1.34.01 (385) 2023-06-16 12:17:22 +02:00
099d5fa54d Ripristinata visualizzazione del cliente in creazione UL in Spedizione.
Sistemato provider del mainHandler
2023-06-15 16:47:37 +02:00
8b04f3e696 Finish v1.34.00(384) 2023-06-14 16:51:26 +02:00
04ef20c69a Finish v1.34.00(384) 2023-06-14 16:51:25 +02:00
d08ec43d29 -> v1.34.00 (384) 2023-06-14 16:51:18 +02:00
64e5200912 Modifiche onLoadingStarted 2023-06-14 16:50:17 +02:00
9e79653769 Implementata ricerca all'interno del Picking Inventario 2023-06-14 16:26:50 +02:00
1fee2c901a Finish v1.33.12(383) 2023-06-13 13:01:39 +02:00
3713bb5e49 Finish v1.33.12(383) 2023-06-13 13:01:38 +02:00
fdeb98b82a -> v1.33.12 (383) 2023-06-13 13:01:31 +02:00
3e68dd2d36 Aggiunto supporto a barcode I2O5 in ZebraBarcodeReader 2023-06-13 13:00:28 +02:00
1a964d7a97 Upgrade AGP 8.0.2 2023-06-07 14:19:15 +02:00
43df6fc9f5 Finish v1.33.11(382) 2023-05-25 12:41:34 +02:00
10f7ecd79b Finish v1.33.11(382) 2023-05-25 12:41:34 +02:00
9a60b1ff86 -> v1.33.11 (382) 2023-05-25 12:41:29 +02:00
386d51ffd7 [CARELLI - INVENTARIO]
- risolto problema caricamento dati da inventario precedente
2023-05-25 12:40:40 +02:00
d3804a4601 Finish v1.33.10(381) 2023-05-24 11:51:22 +02:00
04720c1d97 Finish v1.33.10(381) 2023-05-24 11:51:21 +02:00
0826aa0445 -> v1.33.10 (381) 2023-05-24 11:51:14 +02:00
7ceb51a54b Merge remote-tracking branch 'origin/develop' into develop 2023-05-24 11:50:21 +02:00
e8351ca75b Implementata esportazione DB 2023-05-24 11:50:17 +02:00
f8ceb1fb2d Finish v1.33.09(380) 2023-05-22 12:05:03 +02:00
4ef49f3523 Finish v1.33.09(380) 2023-05-22 12:05:03 +02:00
21ed15a2ea -> v1.33.09 (380) 2023-05-22 12:04:57 +02:00
aacec1dfde [CARELLI - INVENTARIO]
- aggiunto caricamento su scansione articolo
- corretto bug: NullPointerException in riconoscimento articolo senza codMart
2023-05-22 11:50:50 +02:00
ac7e0443a6 Finish v1.33.08(379) 2023-05-15 12:20:24 +02:00
4bbb0d5cbb Finish v1.33.08(379) 2023-05-15 12:20:24 +02:00
05c28d62d8 -> v1.33.08 (379) 2023-05-15 12:20:16 +02:00
bf2ac81ab8 Merge remote-tracking branch 'origin/develop' into develop 2023-05-15 12:19:32 +02:00
17a78ef044 Implementato nel refresh dei dati in BaseRepository un controllo per evitare di cancellare, da SQLite, dati non sincronizzati 2023-05-15 12:19:24 +02:00
3c78c2787a Finish v1.33.07(378) 2023-05-12 10:19:07 +02:00
c7358b536e Finish v1.33.07(378) 2023-05-12 10:19:06 +02:00
4f9fe14f7e -> v1.33.07 (378) 2023-05-12 10:19:01 +02:00
0934765176 [CARELLI - ORDINI ACQUISTO]
- corretta gestione merce da ricevere per rispecchiare il nuovo servizio (ora riceve le qta invece che le confezioni)
2023-05-12 10:18:16 +02:00
b7d3cb18b9 corretto appVersionName 2023-05-11 15:29:23 +02:00
227c67dc23 Finish v1.33.06(377) 2023-05-11 15:03:33 +02:00
da3c9eae6e Finish v1.33.06(377) 2023-05-11 15:03:33 +02:00
bf37a1acaf -> v1.33.06 (377) 2023-05-11 15:03:25 +02:00
2a8974e9c6 corretti nomi setup da oridne a ordine 2023-05-11 15:02:25 +02:00
c34d7dc777 Finish v1.33.05(376) 2023-05-10 12:27:34 +02:00
461a2f705e Finish v1.33.05(376) 2023-05-10 12:27:34 +02:00
705dd96a0e -> v1.33.05 (376) 2023-05-10 12:27:28 +02:00
10128a1bae Merge remote-tracking branch 'origin/develop' into develop 2023-05-10 12:25:28 +02:00
54d40ca06e [CARELLI - Ordini acquisto]
- aggiunta setup per abilitare l'ordine multi griglia
[SAPORI VERI - Ordini acquisto]
- Il dialog di caricamento non sparisce alla chiusura del dialog di inserimento qta
- il calcolo della qtaTotale viene arrotondato troppo (5*0.30=1.51)
2023-05-10 12:25:19 +02:00
e4aa2d19d9 Finish v1.33.04(375) 2023-05-10 11:49:46 +02:00
6251c0f1ac Finish v1.33.04(375) 2023-05-10 11:49:46 +02:00
3caed63b7f -> v1.33.04 (375) 2023-05-10 11:49:34 +02:00
75bc046cf5 Merge remote-tracking branch 'origin/develop' into develop 2023-05-10 11:47:52 +02:00
97d27b047d Fix sulla porta TCP nel caso non fosse esplicita 2023-05-10 11:47:36 +02:00
44e00f4f98 Finish v1.33.03(374) 2023-05-04 13:11:34 +02:00
81b053ee06 Finish v1.33.03(374) 2023-05-04 13:11:33 +02:00
f1b5a7ec1b -> v1.33.03 (374) 2023-05-04 13:11:28 +02:00
2d4211d329 [SMETAR - Spedizione]
risolto bug nullPointer in picking da magazzino automatico di articolo senza giacenza
2023-05-04 13:09:09 +02:00
c5ba78eeda Finish v1.33.02(373) 2023-05-03 16:35:01 +02:00
1faaef7062 Finish v1.33.02(373) 2023-05-03 16:35:01 +02:00
762c5fd5b5 -> v1.33.02 (373) 2023-05-03 16:34:55 +02:00
9af5970ec7 [Carelli - Inventario]
risolto bug in aggiunta articolo
2023-05-03 16:33:49 +02:00
3a5836ba4b Finish v1.33.01(372) 2023-04-28 12:56:41 +02:00
72b0e29ae6 Finish v1.33.01(372) 2023-04-28 12:56:40 +02:00
e0cc802b62 -> v1.33.01 (372) 2023-04-28 12:56:32 +02:00
2d4d9cef4e Merge remote-tracking branch 'origin/develop' into develop 2023-04-28 12:55:49 +02:00
4a8a21b970 Fix su ricerca articoli per posizione in Picking Libero 2023-04-28 12:55:20 +02:00
5103a53c11 [CARELLI - ORDINI ACQUISTO]
Risolto bug quantità raddoppiate in primo inserimento articolo
2023-04-26 17:16:39 +02:00
11c4cba70c Finish v1.33.00(371) 2023-04-26 12:48:01 +02:00
b1dba20973 Finish v1.33.00(371) 2023-04-26 12:48:01 +02:00
920c22083b -> v1.33.00 (371) 2023-04-26 12:47:54 +02:00
f9230ac341 Implementata gestione device id 2023-04-26 12:47:14 +02:00
6344c4b77d Finish v1.32.30(370) 2023-04-18 15:33:45 +02:00
d4c111dedc Finish v1.32.30(370) 2023-04-18 15:33:45 +02:00
65dda1d5c0 -> v1.32.30 (370) 2023-04-18 15:33:19 +02:00
4a7406fda1 Controllate qta > 0 in caso di missione per magazzino automatico 2023-04-18 15:32:02 +02:00
ef17e7a0c7 Merge remote-tracking branch 'origin/develop' into develop 2023-04-18 15:31:29 +02:00
c45850555e Compiled with JDK17 2023-04-18 15:31:04 +02:00
303690eed2 Finish v1.32.29(369) 2023-04-13 19:12:39 +02:00
ae62b26edf Finish v1.32.29(369) 2023-04-13 19:12:38 +02:00
2e39754c20 -> v1.32.29 (369) 2023-04-13 19:12:29 +02:00
0ae6bbcd96 CARELLI - aggiunto dettaglio griglie in ordini acquisto
CARELLI - impostata qta default in inserimento qta da ordinare ad 1 ct in ordini di acquisto
CARELLI - aggiunto flag stampa in chiusura ul spedizione
2023-04-13 19:11:43 +02:00
529455931d Finish v1.32.28(368) 2023-04-04 10:37:00 +02:00
46d0510ed8 Finish v1.32.28(368) 2023-04-04 10:36:59 +02:00
b02e12d76e -> v1.32.28 (368) 2023-04-04 10:36:46 +02:00
c6bbde2b67 Implementato in Rettifica Giacenze il controllo della setup che determina la creazione dei documenti in Spedizione 2023-04-04 10:35:57 +02:00
cfbb27a67b Abilitato controllo del num_cnf solo se l'articolo non è a qta_cnf fissa 2023-04-03 18:03:23 +02:00
35283fc11b Finish v1.32.27(367) 2023-04-03 14:15:58 +02:00
c3d62f88b4 Finish v1.32.27(367) 2023-04-03 14:15:58 +02:00
fc8469bf07 -> v1.32.27 (367) 2023-04-03 14:15:52 +02:00
400f1440db Completata gestione delle unità di misura in colli nel popup informativo 2023-04-03 14:09:31 +02:00
ad12e7e65b Finish v1.32.26(366) 2023-04-03 10:20:33 +02:00
a63e3817b5 Finish v1.32.26(366) 2023-04-03 10:20:33 +02:00
cbd772bf7e -> v1.32.26 (366) 2023-04-03 10:20:27 +02:00
e90bd46a42 Implementata gestione delle qta in arrivo durante la preparazione della merce in spedizione. Sistemata gestione popup informativo in spedizione. 2023-04-03 10:19:56 +02:00
96bd5d516c Aggiunta qta in arrivo nella retrieve della situazione ordini 2023-03-31 09:38:56 +02:00
d9306e13c2 Finish v1.32.25(365) 2023-03-30 09:47:37 +02:00
fc80baeaee Finish v1.32.25(365) 2023-03-30 09:47:36 +02:00
c0b49b68f7 -> v1.32.25 (365) 2023-03-30 09:47:26 +02:00
73242bc208 Merge remote-tracking branch 'origin/develop' into develop 2023-03-30 09:44:48 +02:00
d4b60a51bd [Carelli - Ordini acquisto]
corretto bug modifica articolo non in listino
2023-03-30 09:44:39 +02:00
1bc687c79a Finish v1.32.24(364) 2023-03-29 19:29:16 +02:00
3a6b0949d4 Finish v1.32.24(364) 2023-03-29 19:29:15 +02:00
bfc03a4ef9 -> v1.32.24 (364) 2023-03-29 19:29:07 +02:00
4dfa796790 Fix su delete degli inventari già scaricati ed eliminati lato server 2023-03-29 19:28:33 +02:00
f0db805c84 Implementato numero di cifre decimali in spedizione 2023-03-29 17:32:44 +02:00
0cc742e103 Finish v1.32.23(363) 2023-03-29 16:47:02 +02:00
d01319c417 Finish v1.32.23(363) 2023-03-29 16:47:02 +02:00
c0b9496041 -> v1.32.23 (363) 2023-03-29 16:46:56 +02:00
d4e7832f80 Fix su ordinamento per data_scan in dialog di situazione articolo 2023-03-29 16:46:25 +02:00
cb4f9e68f5 Finish v1.32.22(362) 2023-03-29 13:48:54 +02:00
ac4a5b1d34 Finish v1.32.22(362) 2023-03-29 13:48:54 +02:00
39ebc9d367 -> v1.32.22 (362) 2023-03-29 13:48:48 +02:00
7ef0299282 Implementato popup che chiede se modificare o aggiungere una riga nel caso di articolo già inventariato 2023-03-29 13:48:22 +02:00
6a998d6605 Refactoring UI pannello di informazioni lista documenti interni 2023-03-29 12:54:36 +02:00
9eb4b0a621 Finish v1.32.21(361) 2023-03-29 11:15:21 +02:00
f55080f7ca Finish v1.32.21(361) 2023-03-29 11:15:20 +02:00
7fb6109e18 -> v1.32.21 (361) 2023-03-29 11:15:13 +02:00
f419944699 Refactoring UI pannello di informazioni documento interno caricato 2023-03-29 11:14:41 +02:00
8de54a504b Corrette logiche di ricerca cod_mart / barcode nei documenti interni 2023-03-29 10:49:39 +02:00
6f2be2b459 Rimossi mutable live data sulle variabili interne della gestione Documenti Interni 2023-03-29 10:19:56 +02:00
fa413aba25 Merge remote-tracking branch 'origin/develop' into develop 2023-03-28 19:29:59 +02:00
ab6eeb91a6 [Documenti interni]
gestito annullamento selezione righe da modificare
2023-03-28 19:29:52 +02:00
16cbe01157 Merge remote-tracking branch 'origin/develop' into develop 2023-03-28 19:21:42 +02:00
16cb685bb3 Ordinate le righe documento in descending in editazione di un documento interno.
Implementato dialog custom per gli articoli disponibili all'inventario / documenti interni con la possibilità di specificare se l'articolo è stato già aggiunto.
2023-03-28 19:20:44 +02:00
28501c5509 [CARELLI - Ordini Acquisto]
Gestita selezione articolo se il barcode letto restituisce molteplici articoli
2023-03-28 19:17:08 +02:00
79c4bdad48 Aggiunta causale nella lista degli inventari 2023-03-28 16:24:03 +02:00
68007ebc8e Utilitzzati i live data nella lista dei documenti caricati da sqlite 2023-03-28 16:14:36 +02:00
c5eec26f8d Merge remote-tracking branch 'origin/develop' into develop 2023-03-28 13:23:08 +02:00
5c3f8d8717 [CARELLI - Ordini Acquisto]
risolto problema barcode disabilitato dopo selezione articolo
2023-03-28 13:23:02 +02:00
43aa0f0324 Merge remote-tracking branch 'origin/develop' into develop 2023-03-28 12:19:50 +02:00
4ab7bf27d7 Refactoring DialogSelectDocRows 2023-03-28 12:19:42 +02:00
28f4ac4414 [CARELLI - Ordini Acquisto]
Corretto controllo su ordini chiusi a fine validità lisitno
2023-03-28 12:11:14 +02:00
60414c949e Merge remote-tracking branch 'origin/develop' into develop 2023-03-27 11:45:33 +02:00
ff09147968 [CARELLI - Ordini Acquisto]
Aggiunto controllo modifica ed esportazione ordini con listino non valido
2023-03-27 11:44:20 +02:00
17e66af99a Finish v1.32.20(360) 2023-03-27 11:41:30 +02:00
762ab2719d Finish v1.32.20(360) 2023-03-27 11:41:30 +02:00
95f282cd4d -> v1.32.20 (360) 2023-03-27 11:41:23 +02:00
029979c463 Fix su cancelable del dialogProgress 2023-03-27 11:40:32 +02:00
e748161dda Finish v1.32.19(359) 2023-03-24 19:14:03 +01:00
c2c2a1f984 Finish v1.32.19(359) 2023-03-24 19:14:02 +01:00
fd13f2f1b4 -> v1.32.19 (359) 2023-03-24 19:13:57 +01:00
ac6cca1eda [ESSEGRANDE] Modifiche per data_scad e inventari con righe a 0 2023-03-24 19:12:59 +01:00
dc46b36624 Finish v1.32.18(358) 2023-03-24 11:34:36 +01:00
42aa655021 Finish v1.32.18(358) 2023-03-24 11:34:35 +01:00
b89085a9c3 -> v1.32.18 (358) 2023-03-24 11:34:29 +01:00
557644f024 Fix su data consegna nulla in magazzino automatico request 2023-03-24 11:32:57 +01:00
258ed9d7ca Finish v1.32.17(357) 2023-03-23 19:41:26 +01:00
be7d3775cc Finish v1.32.17(357) 2023-03-23 19:41:25 +01:00
93ffb191b5 -> v1.32.17 (357) 2023-03-23 19:41:19 +01:00
8eb58a4d64 Fix su IdGriglia nullable in Entity Ordine 2023-03-23 19:40:50 +01:00
4bc8374ea3 Finish v1.32.16(356) 2023-03-23 18:50:42 +01:00
f76295c3f6 Finish v1.32.16(356) 2023-03-23 18:50:42 +01:00
b8486b677f -> v1.32.16 (356) 2023-03-23 18:50:32 +01:00
1ad2d9ca9b Fix su migration DB non implementata.
Fix on start dei docInterni.
2023-03-23 18:49:47 +01:00
a57eadeab3 Finish v1.32.15(355) 2023-03-23 10:31:46 +01:00
1c34b120db Finish v1.32.15(355) 2023-03-23 10:31:46 +01:00
c6c19ca04b -> v1.32.15 (355) 2023-03-23 10:31:40 +01:00
987d667350 Merge remote-tracking branch 'origin/develop' into develop 2023-03-23 10:31:06 +01:00
e704bd1597 Implementata pulizia dei file di log.
Forzata chiusura app in caso di uncaught exception.
2023-03-23 10:30:52 +01:00
0f08d704ac [CARELLI - Ordini Acquisto]
aggiunto controllo su ctMaxOrd
migrazione a nuovo servizio
2023-03-22 16:58:02 +01:00
b340c2270d Finish v1.32.14(354) 2023-03-20 10:51:57 +01:00
d3c518b7df Finish v1.32.14(354) 2023-03-20 10:51:57 +01:00
d8a0594600 -> v1.32.14 (354) 2023-03-20 10:51:50 +01:00
7af451724a Ripristinata vecchia logica per lettura barcode 2023-03-20 10:50:56 +01:00
6cbfb1d81b Finish v1.32.13(353) 2023-03-16 19:27:06 +01:00
a8c28d7624 Finish v1.32.13(353) 2023-03-16 19:27:05 +01:00
3c7792febb -> v1.32.13 (353) 2023-03-16 19:26:59 +01:00
4f2dfb82e6 Finish Popup_InfoArticolo 2023-03-16 19:26:21 +01:00
cd2c04ad0c Completata implementazione DialogInfoSituazioneArticolo.
Fix per articoli ean8 in Documenti interni.
2023-03-16 19:25:38 +01:00
a1d8e98dfe Merge branch 'develop' into feature/Popup_InfoArticolo
# Conflicts:
#	app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java
2023-03-16 12:24:09 +01:00
80fb6737fe Finish v1.32.12(352) 2023-03-16 12:23:24 +01:00
eadd93dfaf Finish v1.32.12(352) 2023-03-16 12:23:23 +01:00
12919613ab -> v1.32.12 (352) 2023-03-16 12:23:16 +01:00
7da729205c Fix su loadArticolo in picking per inventario 2023-03-16 12:22:45 +01:00
1bfb734139 Finish v1.32.11(351) 2023-03-15 17:41:08 +01:00
09ae517903 Finish v1.32.11(351) 2023-03-15 17:41:07 +01:00
0735312c98 -> v1.32.11 (351) 2023-03-15 17:40:38 +01:00
c31e1ae79a Aggiunto flag per gestire la possibilità di aggiungere articoli non riconosciuti all'interno di un inventario 2023-03-15 17:37:25 +01:00
3a9b6a99eb Aggiunto flag per gestire la possibilità di aggiungere articoli non riconosciuti all'interno di un inventario 2023-03-15 17:36:40 +01:00
3da92d4630 Merge branch 'develop' into feature/Popup_InfoArticolo 2023-03-14 19:47:57 +01:00
1d54680db6 Finish v1.32.10(350) 2023-03-14 19:25:19 +01:00
384214e084 Finish v1.32.10(350) 2023-03-14 19:25:18 +01:00
03dc6e93be -> v1.32.10 (350) 2023-03-14 19:25:11 +01:00
2ba4e5d11e Messi a video gli articoli disponibili nell'inventario 2023-03-14 19:24:06 +01:00
78c6e98084 Merge remote-tracking branch 'origin/develop' into develop 2023-03-14 19:17:19 +01:00
968eed44cb Messi a video gli articoli disponibili nel documento 2023-03-14 19:17:11 +01:00
ee784b27c6 Finish v1.32.09(349) 2023-03-14 16:00:24 +01:00
bac849324f Finish v1.32.09(349) 2023-03-14 16:00:24 +01:00
d823856ac5 -> v1.32.09 (349) 2023-03-14 16:00:16 +01:00
a49ee430e2 aggiunto controllo in spedizione in caso di uscita senza collo riferimento 2023-03-14 15:57:18 +01:00
d8672e1c22 Modifiche UI popup informativo situazione articolo 2023-03-14 15:51:06 +01:00
d8c6464830 Merge branch 'develop' into feature/Popup_InfoArticolo 2023-03-14 11:48:13 +01:00
af5d19eb55 Finish v1.32.08(348) 2023-03-14 11:33:23 +01:00
8fe0a1fd07 Finish v1.32.08(348) 2023-03-14 11:33:23 +01:00
b0a7a93f85 -> v1.32.08 (348) 2023-03-14 11:33:04 +01:00
10f888b5d5 [ESSEGRANDE] Miglioramenti alla sync degli inventari 2023-03-14 11:32:11 +01:00
95807fbfbc Finish v1.32.07(347) 2023-03-13 19:25:07 +01:00
4317e083a6 Finish v1.32.07(347) 2023-03-13 19:25:07 +01:00
0c54a32e39 -> v1.32.07 (347) 2023-03-13 19:25:00 +01:00
62dc62aa99 Fix sull'eliminazione di un documento interno 2023-03-13 19:23:52 +01:00
603fd6ad96 Merge branch 'develop' into feature/Popup_InfoArticolo
# Conflicts:
#	app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/GiacenzaRESTConsumerService.java
2023-03-13 18:20:13 +01:00
2182a970ac Finish v1.32.06(346) 2023-03-13 18:19:30 +01:00
9b823fdca8 Finish v1.32.06(346) 2023-03-13 18:19:30 +01:00
904c825472 -> v1.32.06 (346) 2023-03-13 18:19:24 +01:00
a15d225998 Rinominati servizi giacenza 2023-03-13 18:18:50 +01:00
62f8ee61d3 Merge branch 'develop' into feature/Popup_InfoArticolo 2023-03-13 16:32:30 +01:00
e3b8373bb9 Finish v1.32.05(345) 2023-03-13 16:32:01 +01:00
0cdbbc096c Finish v1.32.05(345) 2023-03-13 16:32:00 +01:00
895c21cee4 -> v1.32.05 (345) 2023-03-13 16:31:55 +01:00
d541761ac6 Sistemata creazione documento solo per colli rettificati V- 2023-03-13 16:31:22 +01:00
1df84ba046 Creato popup info articolo che mostra le qta in arrivo e le qta in giacenza 2023-03-13 15:57:56 +01:00
72773deaf1 Implementato nuovo servizio di modifica righe UDS (rimossa processEntity) 2023-03-10 12:34:43 +01:00
165568b7e3 Finish v1.32.04(344) 2023-03-08 17:20:07 +01:00
3396e295fa Finish v1.32.04(344) 2023-03-08 17:20:06 +01:00
0f3f593abd -> v1.32.04 (344) 2023-03-08 17:19:59 +01:00
df48ea3b32 Fix su stbGestSetup nulle 2023-03-08 17:19:27 +01:00
5e52d83c40 Finish v1.32.03(343) 2023-03-07 18:49:58 +01:00
0a71f54814 Finish v1.32.03(343) 2023-03-07 18:49:57 +01:00
c18828cdda -> v1.32.03 (343) 2023-03-07 18:49:52 +01:00
92073fa8bb Aggiunta gestione del protocollo in AppUpdater 2023-03-07 18:49:21 +01:00
4131dd7e97 Finish v1.32.02(342) 2023-03-07 18:16:23 +01:00
3c4fdea0ec Finish v1.32.02(342) 2023-03-07 18:16:22 +01:00
71c73e8cde -> v1.32.02 (342) 2023-03-07 18:16:16 +01:00
1a66d4f541 Fix per retrieve ordini lavorazione/produzione 2023-03-07 18:15:01 +01:00
d9c33dc5f5 Vario per Essegrande 2023-03-07 17:57:42 +01:00
1edcba63aa Finish v1.32.01(341) 2023-03-03 14:01:23 +01:00
2566311f96 Finish v1.32.01(341) 2023-03-03 14:01:23 +01:00
c01cbc1bac -> v1.32.01 (341) 2023-03-03 14:01:00 +01:00
9c95b107d5 Sostituita vecchia getElencoArticoli dei documenti con nuovo servizio 2023-03-03 13:59:31 +01:00
c2e1c048be Finish v1.32.00(340) 2023-03-02 11:51:51 +01:00
c3bfe70093 Finish v1.32.00(340) 2023-03-02 11:51:50 +01:00
a6cb8c9c9c -> v1.32.00 (340) 2023-03-02 11:51:43 +01:00
5908e076a4 Gestita parzialmente rotazione schermo 2023-03-02 11:50:09 +01:00
4445e9aff2 Rimossa domanda di cambio posizione per le rettifiche di spedizione. Cambiata response di save doc in rettifica di spedizione. 2023-03-02 11:10:03 +01:00
9cd0855dcf Refactoring dialog di filtro dei documenti interni 2023-03-01 19:59:27 +01:00
d807ab1f31 Completata chiamata di saveDoc in fase di Rettifica spedizione 2023-02-24 19:32:36 +01:00
69b88b1f6d Sistemata UI del log esportato via Mail 2023-02-24 19:05:39 +01:00
35f1495ebc Sostituite icone da PNG a SVG. Implementata voce di Rettifica spedizione che carica colli V. 2023-02-24 16:46:36 +01:00
7fdc964687 Finish v1.31.05(339) 2023-02-24 16:03:10 +01:00
8322303351 Finish v1.31.05(339) 2023-02-24 16:03:10 +01:00
a7f5f5f505 -> v1.31.05 (339) 2023-02-24 16:03:03 +01:00
9b1a00d09c Fix su creazione nuova UDS nel caso in cui non è presente la data cons 2023-02-24 16:02:19 +01:00
72ebf8f135 Finish v1.31.04(338) 2023-02-23 14:05:29 +01:00
be58e333b6 Finish v1.31.04(338) 2023-02-23 14:05:28 +01:00
42620bd324 -> v1.31.04 (338) 2023-02-23 14:05:18 +01:00
d4deade046 Ripristinata rimozione dalla sessione dei colli il collo correttamente chiuso 2023-02-23 14:04:44 +01:00
846393304a Finish v1.31.03(337) 2023-02-20 17:28:58 +01:00
c3ceae8027 Finish v1.31.03(337) 2023-02-20 17:28:58 +01:00
7b4d7db265 -> v1.31.03 (337) 2023-02-20 17:28:51 +01:00
1c6cf9a02b Fix su protocol null per le chiamate rest nel caso in cui l'app abbia già una sessione utente avviata 2023-02-20 17:28:04 +01:00
fd2d4fb47b Finish v1.31.02(336) 2023-02-20 17:12:40 +01:00
094f9b68f6 Finish v1.31.02(336) 2023-02-20 17:12:39 +01:00
be418d3d26 -> v1.31.02 (336) 2023-02-20 17:12:35 +01:00
25813a6362 Sistemata gestione delle eccezioni non gestite e creato sistema di esportazione Log 2023-02-20 17:10:50 +01:00
51c5d3a0c7 Merge remote-tracking branch 'origin/develop' into develop 2023-02-20 11:35:22 +01:00
e964220655 Implementata retrieve inventari 2023-02-20 11:35:17 +01:00
e493f1796b Implementata retrieve inventari 2023-02-20 11:34:51 +01:00
4882645311 Little refactoring per Essegrande 2023-02-15 20:10:47 +01:00
468f1e5b58 Finish v1.31.1(335) 2023-02-14 12:20:17 +01:00
79add4f60a Finish v1.31.1(335) 2023-02-14 12:20:17 +01:00
975763f400 -> v1.31.1 (335) 2023-02-14 12:20:11 +01:00
5eac3f14cc BugFix Picking da ordine: errore in caso di lista commesse vuota 2023-02-14 12:19:16 +01:00
bed5b36ade Finish v1.31.0(334) 2023-02-14 11:42:10 +01:00
7678ce1a50 Finish v1.31.0(334) 2023-02-14 11:42:10 +01:00
b3faf38455 -> v1.31.0 (334) 2023-02-14 11:42:05 +01:00
283cb59d42 rimosse configurazioni di esecuzione non utilizzate e corretta gestione setup 2023-02-14 11:41:05 +01:00
1867ac8742 Rimossa parte delle dynamic feature 2023-02-14 11:13:10 +01:00
d210e3b3e0 Rimossa parte delle dynamic feature 2023-02-14 11:00:33 +01:00
8bb2f48090 Finish v1.30.15(333) 2023-02-13 17:48:27 +01:00
15b4d728e6 Finish v1.30.15(333) 2023-02-13 17:48:27 +01:00
3018123110 -> v1.30.15 (333) 2023-02-13 17:48:01 +01:00
b02eaf02a8 aggiornamento progetto a AGP 8.1 2023-02-13 17:46:57 +01:00
ad9795a3a3 test compilazione jenkins con desugaring 2023-02-13 14:25:56 +01:00
170411383f Finish v1.30.14(332) 2023-02-13 13:09:26 +01:00
9e87130d6c Finish v1.30.14(332) 2023-02-13 13:09:26 +01:00
0f6a9cdae2 -> v1.30.14 (332) 2023-02-13 13:09:20 +01:00
79ec6430f6 implementata libreria compatibilità LocalDate 2023-02-13 13:08:09 +01:00
0c46fb09c1 Finish v1.30.13(331) 2023-02-13 11:59:27 +01:00
8aad7337bf Finish v1.30.13(331) 2023-02-13 11:59:27 +01:00
c49197d002 -> v1.30.13 (331) 2023-02-13 11:59:20 +01:00
16f611c147 Merge branch 'master' into develop 2023-02-13 11:56:18 +01:00
7b623913d8 Aggiunto controllo in avvio chiamate rest per evitare che i terminali con android inferiore all'8.0 2023-02-13 11:56:03 +01:00
0a8997f30b Finish v1.30.12(330)#2 2023-02-09 12:09:36 +01:00
702d0a7348 Finish v1.30.12(330)#2 2023-02-09 12:09:36 +01:00
f4ae1fbed3 -> v1.30.12 (330) #2 2023-02-09 12:09:29 +01:00
8c0639be9b Finish v1.30.12(330) 2023-02-09 12:08:34 +01:00
c9ea13a1d2 Finish v1.30.12(330) 2023-02-09 12:08:34 +01:00
bef5423a06 -> v1.30.12 (330) 2023-02-09 12:08:28 +01:00
22b072aff7 Fix su nessun elemento selezionato in DialogChooseArtsFromMtbColrList 2023-02-09 12:07:50 +01:00
50acee47e9 Finish v1.30.11(329) 2023-02-08 17:29:03 +01:00
ba041d1133 Finish v1.30.11(329) 2023-02-08 17:29:03 +01:00
21c26ab3ad -> v1.30.11 (329) 2023-02-08 17:28:55 +01:00
5288ad8bb0 Fix su qta inviate al magazzino automatico 2023-02-08 17:15:47 +01:00
0ccff458f7 Finish v1.30.10(328) 2023-02-08 10:56:46 +01:00
a1c8a52dd2 Finish v1.30.10(328) 2023-02-08 10:56:45 +01:00
e6e8b22554 -> v1.30.10 (328) 2023-02-08 10:56:35 +01:00
9371e5824f Implementato pick extra item sui magazzini automatici 2023-02-08 10:55:33 +01:00
bda1328dec Migliorie nel KeyboardEmulatorBarcodeReader 2023-02-06 18:36:15 +01:00
2030893249 Finish Hotfix-1 2023-02-06 12:59:21 +01:00
fa695ca9a4 Merge branch 'master' into develop 2023-02-06 12:59:21 +01:00
8b9c9437ae -> v1.30.09 (327) #2 2023-02-06 12:59:11 +01:00
6f026145ef Finish v1.30.09(327) 2023-02-06 12:43:23 +01:00
0744d3713e Finish v1.30.09(327) 2023-02-06 12:43:23 +01:00
3275422af8 -> v1.30.09 (327) 2023-02-06 12:43:12 +01:00
a49aab1fb0 Implementata gestione del magazzino automatico in posizionamento merce 2023-02-06 12:33:15 +01:00
e25cc9e825 Refactoring DialogChooseArtsFromMtbColr 2023-02-06 10:46:46 +01:00
92e9529cc5 Merge remote-tracking branch 'origin/develop' into develop 2023-02-02 19:49:25 +01:00
7990f38c37 Completata implementazione del magazzino automatico in Picking Libero 2023-02-02 19:49:18 +01:00
134dff5aba Merge remote-tracking branch 'origin/develop' into develop 2023-02-02 16:47:52 +01:00
0c359e5110 [CARELLI - ORDINI ACQUISTO]
- incrementato tempo di timeout in salvataggio per evitare che gli operatori salvino più volte lo stesso ordine in caso di errore
- aggiunto controllo in caso di qtaProporta nulla
2023-02-02 16:47:44 +01:00
7b913e607e Completata implementazione del magazzino automatico in Picking di Uscita 2023-01-30 19:11:33 +01:00
ee5d30ff80 Rinominato DialogChooseArtsFromListaArts in DialogChooseArtsFromMtbColrList 2023-01-27 10:09:42 +01:00
6c41506a97 Prima implementazione magazzino automatico 2023-01-25 17:44:32 +01:00
ab14d6736c Refactoring dei servizi utilizzati nelle gestioni di Lavorazione / Vendita.
Fix su scansione articoli in Documenti Interni.
2023-01-25 17:11:25 +01:00
b6c82c869e Merge tag 'v1.30.07__325' into develop
v1.30.07 (325)
2023-01-16 12:17:23 +01:00
f3f04e9473 Merge branch 'release/v1.30.07__325' 2023-01-16 12:17:22 +01:00
ef753f9bcd -> v1.30.07 (325) 2023-01-16 12:15:20 +01:00
e764ad1148 Implementata gestione Ean Peso in rettifica giacenze 2023-01-16 11:42:24 +01:00
82cc4f989c Finish v1.30.06__324 2022-12-27 19:05:57 +01:00
650d1670de Finish v1.30.06__324 2022-12-27 19:05:57 +01:00
6ca7943d78 -> v1.30.06 (324) 2022-12-27 19:05:47 +01:00
013646eae3 [CARELLI - ORDINI ACQUISTI] rimossa data cons in salvataggio ordini 2022-12-27 19:03:20 +01:00
341359d871 Merge branch 'release/v1.30.05__323' 2022-12-16 12:54:12 +01:00
545081444c Merge tag 'v1.30.05__323' into develop
v1.30.05__323
2022-12-16 12:54:12 +01:00
b35819c9c9 -> v1.30.05 (323) 2022-12-16 12:52:13 +01:00
ec44275e41 aggiunto destinatario in creazione documenti trasferimento
corretta gestione modifica articolo in ordini acquisto pv
2022-12-16 12:50:56 +01:00
f5d78edfd1 Merge tag 'v1.30.04__322' into develop
v1.30.04__322
2022-12-15 16:20:44 +01:00
9390cd0320 Merge branch 'release/v1.30.04__322' 2022-12-15 16:20:43 +01:00
ca448542c3 -> v1.30.04 (322) 2022-12-15 16:20:20 +01:00
9d3f6f73d9 Rimossa substring del codice GTIN se inizia con 0 o 9. Se ne occupa già il servizio di decodeEan128. 2022-12-15 16:17:39 +01:00
ee35a14518 Merge branch 'release/v1.30.03__321' 2022-12-14 12:42:35 +01:00
b7bb6ad6ac Merge tag 'v1.30.03__321' into develop 2022-12-14 12:42:35 +01:00
011deafb90 -> v1.30.03 (321) 2022-12-14 12:42:10 +01:00
214d98f181 modifiche bottom sheet dialog 2022-12-14 12:35:31 +01:00
dfa2a1106e modifiche bottom sheet dialog 2022-12-14 12:33:36 +01:00
08841537f5 rimosse eccezioni generiche da documenti interni e ordini di acquisto PV 2022-12-14 11:16:34 +01:00
21cf03a50b Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/_BaseRESTConsumer.java
2022-12-14 11:15:22 +01:00
356b146e3d rimosse eccezioni generiche da documenti interni e ordini di acquisto PV 2022-12-14 11:14:18 +01:00
a4c9b0cd3a Merge tag 'v1.30.02__320' into develop
v1.30.02__320
2022-12-13 15:42:00 +01:00
882c95bd85 Merge branch 'release/v1.30.02__320' 2022-12-13 15:41:59 +01:00
04772057c1 -> v1.30.02 (320) 2022-12-13 15:41:45 +01:00
c72037783f Completate ultime modifiche inventario 2022-12-13 15:40:10 +01:00
5e5f2b7889 Merge tag 'v1.30.01__319' into develop
v1.30.01__319
2022-12-12 16:55:06 +01:00
226ce27a5c Merge branch 'release/v1.30.01(319)' 2022-12-12 16:54:23 +01:00
2e90c33854 -> v1.30.01(319) 2022-12-12 16:53:52 +01:00
d4fbd7b45f Fix su fab in accettazione, ripristinato onClick 2022-12-12 16:52:54 +01:00
be70e75f44 Merge tag 'v1.30.0__318' into develop
v1.30.0__318
2022-12-09 19:34:32 +01:00
41c5fa52b5 Merge branch 'release/v1.30.0(318)' 2022-12-09 19:33:01 +01:00
f50400bcb7 -> v1.30.0 (318) 2022-12-09 19:32:40 +01:00
9a8322adcc Merge branch 'release/v1.30.0(312)' 2022-12-09 19:29:35 +01:00
feb79ff95d Modifiche per inventario 2022-12-09 19:26:23 +01:00
4634f2ce9c aggiunta possibilità di aggiungere una nuova confezione alle qta dell'ordine sparando il barcode dell'articolo 2022-12-06 10:32:25 +01:00
77a6856843 bugfix colore qta per ordini diversi da qta proposta 2022-11-23 16:59:30 +01:00
302ea697e1 bugfix scansione barcode in edit ordine 2022-11-23 16:47:55 +01:00
ae8db5791e bugfix e ottimizzazioni gestione ordini acquisto 2022-11-23 12:56:23 +01:00
f967514f97 Completamento inventario WMS 2022-11-22 17:42:24 +01:00
1512cb7de9 Migliorie in elenco inventari 2022-11-22 10:42:18 +01:00
bad3e58fbd Fix migrations 2022-11-21 18:45:51 +01:00
75e79394f2 Merge branch 'feature/GestioneInventario' into develop 2022-11-21 18:44:56 +01:00
b127130bc7 aggiunta migration descrizione righe inv 2022-11-21 09:37:42 +01:00
9b5beeb028 Implementazione inventario 2022-11-11 19:59:52 +01:00
fd95f18200 bugfix
crash dell'applicazione durante il versamento se la query non restituisce risultati
2022-10-26 17:24:51 +02:00
92d1331630 Refactoring datasource di Room.
Refactoring dialog vari.
2022-10-24 18:44:43 +02:00
8216c19338 Fix su calendar view in data_scad 2022-10-24 17:54:58 +02:00
d97d1f1597 Aggiornato AGP 2022-10-21 17:59:35 +02:00
52b99f084a Merge tag 'v1.29.13__317' into develop
Finish v1.29.13__317
2022-10-21 17:58:28 +02:00
a3598fab56 Merge branch 'release/v1.29.13(317)' 2022-10-21 17:56:41 +02:00
7dc77bf1f9 -> v1.29.13 (317) 2022-10-21 17:56:26 +02:00
66f2bda370 Refactoring dialog ask posizione 2022-10-21 17:55:02 +02:00
600258228b Rimossa gestione MtbCols 2022-10-21 11:48:34 +02:00
19cc9f5016 Finish v1.29.12(316) 2022-10-20 17:36:22 +02:00
0dcb8c6af4 Finish v1.29.12(316) 2022-10-20 17:36:22 +02:00
9974deaf69 -> v1.29.12 (316) 2022-10-20 17:36:16 +02:00
fe081897e7 bugfix
la gestione approvv. linee prod crasha a fine caricamento
2022-10-20 12:03:35 +02:00
b0de2dda40 Finish v1.29.11(315) 2022-10-19 18:40:07 +02:00
dda288d709 Finish v1.29.11(315) 2022-10-19 18:40:07 +02:00
f6fdc45e1a -> v1.29.11 (315) 2022-10-19 18:40:01 +02:00
5e88833039 bugfix ConcurrentModificationException in aggiunta articoli atumatica in nuovo ordine acquisto 2022-10-19 18:39:12 +02:00
2c521c5f96 Merge branch 'release/v1.29.10(314)'
# Conflicts:
#	app/build.gradle
2022-10-12 15:27:31 +02:00
8530309244 -> v1.29.10 (314) 2022-10-12 15:27:00 +02:00
57dd0cef76 Rimossa troncatura barcode da itf14 a ean13 2022-10-12 15:25:25 +02:00
8df31407ac Merge remote-tracking branch 'origin/develop' into develop 2022-10-12 12:13:24 +02:00
8134a64a43 in rettifica cerca per codice articolo se code128 2022-10-12 12:13:16 +02:00
0c2fd117d5 Merge branch 'release/v1.29.9(313)' 2022-10-07 15:23:56 +02:00
d2b5fe917d -> v1.29.9 (313) 2022-10-07 15:23:44 +02:00
3de49545b7 Merge branch 'feature/InternalLogger' into develop 2022-10-07 15:22:59 +02:00
7163d91c53 Revert "Rimossa troncatura dell'ITF-14"
This reverts commit 7555e3d90f.
2022-10-07 15:22:43 +02:00
b8b3d2f2bb Implementato log su file 2022-10-07 15:22:32 +02:00
7555e3d90f Rimossa troncatura dell'ITF-14 2022-10-07 10:53:35 +02:00
46e438e0e9 Merge branch 'release/v1.29.8(312)' 2022-10-06 17:00:08 +02:00
439eada61b -> v1.29.8 (312) 2022-10-06 16:59:09 +02:00
48548b7c92 Prova fix su dialog progress 2022-10-06 16:56:35 +02:00
79afe0155b boh 2022-10-06 15:48:45 +02:00
730dabc2bb Finish v1.29.7(311) 2022-10-05 16:20:09 +02:00
44255f08b4 Finish v1.29.7(311) 2022-10-05 16:20:09 +02:00
fb23009fcc -> v1.29.7 (311) 2022-10-05 16:20:03 +02:00
c0310e492f Merge remote-tracking branch 'origin/develop' into develop 2022-10-05 15:58:13 +02:00
bf1fc455e1 fix su dialog vari 2022-10-05 15:58:09 +02:00
c7c2700dbe Finish v1.29.6(310) 2022-10-05 14:11:57 +02:00
c89e4869ef Finish v1.29.6(310) 2022-10-05 14:11:57 +02:00
5e147c9d96 -> v1.29.6 (310) 2022-10-05 14:11:52 +02:00
95fc680823 aggiunti controlli su lista ordini accettazione nulla 2022-10-05 14:11:11 +02:00
3cd1b8eb9f Finish v1.29.5(309) 2022-10-04 14:54:42 +02:00
ca04b87a8e Finish v1.29.5(309) 2022-10-04 14:54:42 +02:00
10ab47a1b7 -> v1.29.5 (309) 2022-10-04 14:54:37 +02:00
fdaa2b7f21 commit file .idea 2022-10-04 13:21:26 +02:00
e9b179ca7f risolto problema su articoli senza diacod 2022-10-04 13:20:55 +02:00
04d811af93 Merge branch 'feature/UpdateUI' into develop 2022-10-04 12:16:18 +02:00
cb2421f263 Fix su versioni librerie 2022-10-03 18:12:15 +02:00
16a565fc51 Layout filters and other dialogs 2022-10-03 15:26:42 +02:00
f68691df6b Refactoring su DialogBasketLU 2022-10-03 15:26:42 +02:00
f4f7f4a6f0 Refactoring DialogScanOrCreateLU 2022-10-03 15:26:41 +02:00
b129bb51c6 Aggiornato tema.
Aggiornato DialogProgressView.
Aggiornato DialogYesNoView.
Aggiornato DialogInputPesoLuView.
2022-10-03 15:26:41 +02:00
8c80918521 Update AGP to 7.3.0 2022-10-03 12:56:03 +02:00
e8dea4cef0 Merge branch 'hotfix/Hotfix-1' into develop 2022-10-03 12:37:37 +02:00
b51bf1d9cb Merge branch 'hotfix/Hotfix-1' 2022-10-03 12:37:36 +02:00
3c25e223ab -> v1.29.4 (308) 2022-10-03 12:37:22 +02:00
16d9f2f6ff Merge branch 'hotfix/Hotfix-1' into develop 2022-10-03 12:36:13 +02:00
fd3dfb9afe Merge branch 'hotfix/Hotfix-1' 2022-10-03 12:36:13 +02:00
2916d2b5d0 Fix su focus in dialogInputQuantity 2022-10-03 12:35:58 +02:00
dac12905ef Cambiato statoPartitaMag to int 2022-10-03 12:15:29 +02:00
bf56c8e4c7 Aggiunta quantità omaggio in spedizione
aggiunto alert partite in scadenza in spediione
2022-09-28 16:59:25 +02:00
7272e3e541 Finish v1.29.3(307) 2022-09-26 12:05:27 +02:00
020c99e700 Finish v1.29.3(307) 2022-09-26 12:05:27 +02:00
12a9610e7a -> v1.29.3 (307) 2022-09-26 12:04:55 +02:00
0e6f4a7892 aggiunta configurazione scanner barcode tramite preferenze app 2022-09-26 11:52:24 +02:00
f8c0852cb7 Finish v1.29.2(306) 2022-08-31 13:08:46 +02:00
ee48e7e2a4 Finish v1.29.2(306) 2022-08-31 13:08:45 +02:00
821099c037 -> v1.29.2 (306) 2022-08-31 13:08:26 +02:00
9a6211fc46 Fix su partita mag nulla in spedizione 2022-08-31 13:07:35 +02:00
ee8abe3ea8 Libraries updates pt2 2022-08-31 11:28:02 +02:00
654a9e0161 Libraries updates 2022-08-31 10:58:14 +02:00
076c84c119 Finish v1.29.1(305) 2022-08-05 19:07:03 +02:00
6fa80a5485 Finish v1.29.1(305) 2022-08-05 19:07:02 +02:00
e0ea6b17a1 -> v1.29.1 (305) 2022-08-05 19:06:58 +02:00
60978167c2 Miglioramento UI di recupero materiale 2022-08-05 17:34:43 +02:00
6a848e081a Cambiata configurazione per scanner Honeywell.
Sistemati decimali in lista ul recupero materiale.
2022-08-05 17:09:36 +02:00
2960d0d4b4 Finish v1.29.0(304) 2022-08-04 09:58:55 +02:00
6b01861a26 Finish v1.29.0(304) 2022-08-04 09:58:54 +02:00
5889942ff9 -> v1.29.0 (304) 2022-08-04 09:58:48 +02:00
0359ddcc90 Fix in rettifica giacenze.
Aggiunti i campi "Giacenza in magazzino" e "Impegnato" nel dialog input quantity.
2022-08-04 09:58:10 +02:00
8409507dab Finish v1.28.9(303) 2022-07-29 19:41:12 +02:00
208653223c Finish v1.28.9(303) 2022-07-29 19:41:11 +02:00
62f6e12a86 -> v1.28.9 (303) 2022-07-29 19:41:06 +02:00
b662929c19 fix timeout connessioni.
fix pre destroy rettifica giacenze.
2022-07-29 19:40:24 +02:00
40895eac2f Finish v1.28.8(302) 2022-07-22 19:00:53 +02:00
dc7e90b2fe Finish v1.28.8(302) 2022-07-22 19:00:53 +02:00
5d1f275ebc -> v1.28.8 (302) 2022-07-22 19:00:47 +02:00
79192ce337 aggiunta stampa etichetta da rientro merce 2022-07-22 18:49:58 +02:00
7f0f6c969a Finish v1.28.7(301) 2022-07-22 15:53:28 +02:00
e23beddf65 Finish v1.28.7(301) 2022-07-22 15:53:27 +02:00
1fd51a4097 -> v1.28.7 (301) 2022-07-22 15:53:19 +02:00
5ea124bcf6 rimosso filtro per linea in recupero materiale da gestione linee 2022-07-22 15:52:27 +02:00
fa6ab9f58f Finish v1.28.6(300) 2022-07-22 11:21:59 +02:00
f7806103fb Finish v1.28.6(300) 2022-07-22 11:21:59 +02:00
87acc5a4e3 -> v1.28.6 (300) 2022-07-22 11:21:54 +02:00
7c49af085d aggiunte condizioni per l'autocompletamento delle tipo pedana in rientro merce 2022-07-22 11:21:08 +02:00
0c3d5bd0f1 Finish v1.28.5(299) 2022-07-21 17:15:10 +02:00
37d956bb5c Finish v1.28.5(299) 2022-07-21 17:15:09 +02:00
fef564b090 -> v1.28.5 (299) 2022-07-21 17:15:03 +02:00
d1c491ee80 risolti bug vari 2022-07-21 17:14:30 +02:00
0cd8a3b41f Finish v1.28.4(298) 2022-07-21 15:59:03 +02:00
f7e4a3d005 Finish v1.28.4(298) 2022-07-21 15:59:02 +02:00
a22ecb9620 -> v1.28.4 (298) 2022-07-21 15:58:54 +02:00
57c22b617e apportate modifiche rientro merce richieste da Agricoper,
risolto bug divide by zero in spedizione quando qtaCmfOrd è decimale
2022-07-21 15:58:01 +02:00
84876bf7c1 Finish v1.28.3(297) 2022-07-20 16:08:12 +02:00
2718f0ff2b Finish v1.28.3(297) 2022-07-20 16:08:12 +02:00
fca325855e -> v1.28.3 (297) 2022-07-20 16:08:06 +02:00
c6fc287a3f corretto controllo su creazione collo in accettazione
aggiunto controllo su stato articoli in servizio getArticoloBybarcode
2022-07-20 16:07:14 +02:00
29fd0292e7 Finish v1.28.2(296) 2022-07-20 15:46:00 +02:00
90cf83e3cd Finish v1.28.2(296) 2022-07-20 15:46:00 +02:00
f4c1f1fe34 -> v1.28.2 (296) 2022-07-20 15:45:53 +02:00
9e85b9f828 aggiunta setup non presente in lista 2022-07-20 15:44:40 +02:00
a9fd55c01f Finish v1.28.1(295) 2022-07-18 10:56:05 +02:00
506a56a1a2 Finish v1.28.1(295) 2022-07-18 10:56:05 +02:00
c93e29606c -> v1.28.1 (295) 2022-07-18 10:55:57 +02:00
4adc40aa90 adeguamento rientro merce da lavorazione agricoper 2022-07-18 10:54:29 +02:00
4842a6091b Documento perdite (wms). La possibilità di scaricare l'intera anagrafica puo' essere effettuata soltanto una volta (a cache vuota)
Inserire il campo 'Annotazioni' quando si crea un collo  che sia editabile dall'utente (picking Vendita)
2022-07-13 17:29:26 +02:00
9faf4123ef fase di creazione dell'ordine di acquisto preimpostare gli articoli che hanno una qta proposta da acquistare 2022-07-11 13:11:52 +02:00
cdf5b413a2 Finish v1.28.0(294) 2022-07-07 18:56:19 +02:00
4dd2ccdb13 Finish v1.28.0(294) 2022-07-07 18:56:18 +02:00
56c54d3cde -> v1.28.0 (294) 2022-07-07 18:56:13 +02:00
19e2d5b869 Creata login page per layout large 2022-07-07 18:21:30 +02:00
0acf023556 Creata UI per smartphone del rientro merce 2022-07-07 17:51:46 +02:00
71f6dc83fb Vario 2022-06-29 18:54:11 +02:00
3479ee2b87 Finish v1.27.6(293) 2022-06-29 16:39:22 +02:00
609b9f1852 Finish v1.27.6(293) 2022-06-29 16:39:22 +02:00
23c98d9218 -> v1.27.6 (293) 2022-06-29 16:39:17 +02:00
57900a9617 bug fix: Nel picking da ordine, quando sparano alcune referenze (100142-100171), l'app si chiude in maniera anomala. 2022-06-29 16:36:46 +02:00
c3274a4311 corretto bug per in gestione linee e aggiu ta richiesta di recupero prima di chiudere gli ordini 2022-06-29 16:01:51 +02:00
356e2562da Finish v1.27.5(292) 2022-06-08 12:50:49 +02:00
46c0078331 Finish v1.27.5(292) 2022-06-08 12:50:48 +02:00
bbc81f3d99 -> v1.27.5 (292) 2022-06-08 12:50:18 +02:00
0dd662518e In versamento se si versa una pedana già versata l'app crasha
permettere il versamento di un articolo non compatibile con gli ordini aperti dopo richiesta conferma

precompilare input risorse da allocare

in input qta mantenere fissa la qtaCnf in entrambe le direzioni di calcolo

togliere popup di notifica versamento completato
2022-06-08 12:26:20 +02:00
08d332e2c6 Quando creo una pedana dalla funzione di rientro merce non inserendo il tipo collo, l'app si blocca. 2022-06-07 17:33:32 +02:00
b9001790be corretto funzionamento rettifica giacenza al clik del pulsante indietro 2022-06-07 12:56:26 +02:00
d43bd8e659 Finish v1.27.4(291) 2022-06-01 19:23:56 +02:00
ef2886c963 Finish v1.27.4(291) 2022-06-01 19:23:55 +02:00
7a6097fa69 -> v1.27.4 (291) 2022-06-01 19:23:49 +02:00
9c45cebf51 aggiunte funzionalità versamento e recupero alla gestione linee di produzione 2022-06-01 19:22:32 +02:00
344fc42d03 bugfix in schermata dialog_input_quantity_v2 2022-05-27 16:22:34 +02:00
33a01b2c15 spedizione: bugfix calcolo qta residua in picking da collo 2022-05-27 09:45:35 +02:00
d165174345 Finish v1.27.3(290) 2022-05-26 16:18:34 +02:00
05314803bc Finish v1.27.3(290) 2022-05-26 16:18:34 +02:00
9db8337f9b -> v1.27.3 (290) 2022-05-26 16:18:10 +02:00
abfd92ce07 Fix su inizializzazione observables in DialogInputQuantityV2 2022-05-26 16:16:13 +02:00
c11858aea2 Ottimizzazione funzione rettifica giacenza. Evitare di uscire dalla gestione dopo aver rettificato una pedana. 2022-05-26 12:35:26 +02:00
a67b28f0ad Finish v1.27.2(289) 2022-05-26 12:11:01 +02:00
b9f5baae5f Finish v1.27.2(289) 2022-05-26 12:11:01 +02:00
cb5e36ffb7 -> v1.27.2 (289) 2022-05-26 12:10:16 +02:00
82ff37f4ee Bug Fix: eliminazione righe in picking libero 2022-05-26 12:09:21 +02:00
350c4bc4ed Finish v1.27.1(288) 2022-05-25 19:11:27 +02:00
33f0866ea2 Finish v1.27.1(288) 2022-05-25 19:11:27 +02:00
df13a6e29d -> v1.27.1 (288) 2022-05-25 19:11:23 +02:00
ee8fa96c40 mmodifica label impostazione risorse 2022-05-25 19:10:35 +02:00
c264cd38e3 Finish v1.27.0(287) 2022-05-25 17:19:49 +02:00
64f669753f Finish v1.27.0(287) 2022-05-25 17:19:49 +02:00
aabc4310fd -> v1.27.0 (287) 2022-05-25 17:19:40 +02:00
9dc3996aef Nuova gestione linee di produzione 2022-05-25 17:17:58 +02:00
e0e9e657c9 Nuova gestione linee di produzione 2022-05-25 17:17:48 +02:00
84cbab334f Aggiunta possibilità di stampa dei soli colli non stampati 2022-05-18 18:07:14 +02:00
f9751e770a Finish v1.26.3(286) 2022-05-12 13:03:57 +02:00
6539c9179e Finish v1.26.3(286) 2022-05-12 13:03:56 +02:00
f43a7acf35 -> v1.26.3 (286) 2022-05-12 13:03:46 +02:00
ca96bacde6 aggiunto controllo per evitare l'nizializzazione degli observables in più punti 2022-05-12 12:54:33 +02:00
d4c94b7ab9 Finish v1.26.2(285) 2022-05-11 09:49:58 +02:00
0c9e607c33 Finish v1.26.2(285) 2022-05-11 09:49:57 +02:00
b5c6ce2aa5 -> v1.26.2 (285) 2022-05-11 09:49:54 +02:00
66f58ea20d Aggiunte qta_proposta e giacenza in system note degli ordini di acquisto pv 2022-05-11 09:49:12 +02:00
d6979289e2 spostate stampe in chiusura ordine su servizio dedicato 2022-05-06 15:20:34 +02:00
496387b5c6 Finish v1.26.1(284) 2022-05-05 16:11:33 +02:00
6b0d75fc60 Finish v1.26.1(284) 2022-05-05 16:11:32 +02:00
7d263699da -> v1.26.1 (284) 2022-05-05 16:11:27 +02:00
63e4e4e791 aggiunto controllo su aggiunta articoli extra senza collo 2022-05-05 16:09:48 +02:00
98c260f621 Finish v1.26.0(283) 2022-05-03 10:49:24 +02:00
1b57dc74cf Finish v1.26.0(283) 2022-05-03 10:49:23 +02:00
4f140d0d58 -> v1.26.0 (283) 2022-05-03 10:49:07 +02:00
0d021e6bad aggiunto controllo su mtbColrRif null in picking libero 2022-05-03 10:31:38 +02:00
1a0af47613 Modifiche stampa per tipo report 2022-04-27 18:54:43 +02:00
ead509bb32 Finish v1.25.5(282) 2022-04-26 12:42:43 +02:00
ddfde73f1e Finish v1.25.5(282) 2022-04-26 12:42:43 +02:00
3de5a2320d -> v1.25.5 (282) 2022-04-26 12:42:36 +02:00
5cb32a9a77 Risolto problema di aggiornamento lista d'ordini in uscita nel caso in cui si filtrava tramite barcode 2022-04-26 12:42:00 +02:00
ecbb4ac55c Finish v1.25.4(281) 2022-04-22 16:20:46 +02:00
84e0561fff Finish v1.25.4(281) 2022-04-22 16:20:45 +02:00
71bfbb2afc -> v1.25.4 (281) 2022-04-22 16:20:40 +02:00
2cb563320b Fix su lettura numero collo da etichetta anonima con serie alla fine 2022-04-22 15:14:54 +02:00
f3837f35b0 aggiunti controlli per rendere obbligatorie le note sui documenti di taglio di carelli 2022-04-20 16:21:55 +02:00
fa52b8e040 Finish v1.25.3(280) 2022-04-14 16:27:34 +02:00
c80b5a9160 Finish v1.25.3(280) 2022-04-14 16:27:34 +02:00
65ac5590c7 -> v1.25.3 (280) 2022-04-14 16:27:27 +02:00
3cee7f2a95 Fix su visibilità dialogInputQuantity 2022-04-14 16:26:55 +02:00
3034b49586 Finish v1.25.2(279) 2022-04-13 17:25:19 +02:00
718ffb3124 Finish v1.25.2(279) 2022-04-13 17:25:18 +02:00
7173c49561 -> v1.25.2 (279) 2022-04-13 17:25:10 +02:00
4407f37f8c Bugfix vari 2022-04-13 17:24:20 +02:00
37a16f6292 Finish v1.25.1(278) 2022-04-11 19:17:26 +02:00
83d9e0c5f7 Finish v1.25.1(278) 2022-04-11 19:17:26 +02:00
d2249e031a -> v1.25.1 (278) 2022-04-11 19:17:21 +02:00
2522e67705 Merge remote-tracking branch 'origin/develop' into develop 2022-04-11 19:16:46 +02:00
371514157c Fix su peso tipo collo al posto della tara 2022-04-11 19:16:42 +02:00
de889045e6 Merge remote-tracking branch 'origin/develop' into develop 2022-04-11 13:18:04 +02:00
6225ba8207 corretta gestione flag per ordinare in automatico articoli in acquisti pv 2022-04-11 13:17:56 +02:00
36c9319bce Finish v1.25.0(277) 2022-04-11 12:09:47 +02:00
d4d494218b Finish v1.25.0(277) 2022-04-11 12:09:46 +02:00
a3d6b11c69 -> v1.25.0 (277) 2022-04-11 12:09:42 +02:00
852edf1b13 Implementata comunicazione con dispositivo bluetooth in fase di rientro merce da lav.
Rimosso printerName e quantity dalla stampa delle SSCC.
2022-04-11 12:08:58 +02:00
6806290d98 Finish v1.24.8(276) 2022-03-30 17:46:46 +02:00
66f7a51462 Finish v1.24.8(276) 2022-03-30 17:46:46 +02:00
0e1e69dc9a -> v1.24.8 (276) 2022-03-30 17:46:41 +02:00
2ef24fe6e9 impostato focus automatico sul campo numCnf 2022-03-30 17:45:57 +02:00
54c2d90334 Finish v1.24.7(275) 2022-03-29 11:05:53 +02:00
577f2041a1 Finish v1.24.7(275) 2022-03-29 11:05:53 +02:00
2f3e74fbfe -> v1.24.7 (275) 2022-03-29 11:05:45 +02:00
b0fa911322 risolto problema scrollview su display ridotti 2022-03-29 11:03:40 +02:00
473b9f22fb Aggiornato filtro ordine in caso di recupera UL. 2022-03-28 17:57:04 +02:00
cc1e1bf221 Finish v1.24.6(274) 2022-03-25 11:23:18 +01:00
a0c85b3fcb Finish v1.24.6(274) 2022-03-25 11:23:18 +01:00
0f41bd99aa -> v1.24.6 (274) 2022-03-25 11:23:03 +01:00
7a3a207462 in posizionamento merce in caso di necessità definizione livello posizione non si chiude la progress dialog 2022-03-25 11:21:25 +01:00
7206b3c37e Finish v1.24.5(273) 2022-03-24 17:26:56 +01:00
4cf8b6167f Finish v1.24.5(273) 2022-03-24 17:26:55 +01:00
b19b438489 -> v1.24.5 (273) 2022-03-24 17:26:48 +01:00
d3ee6d9ea3 Aggiornato filtro ordine in caso di recupera UL. 2022-03-24 17:25:47 +01:00
dd9789c4f3 Fix su dismiss del DialogInputQuantity 2022-03-24 16:58:58 +01:00
67571e3d7a Finish v1.24.4(272) 2022-03-24 12:40:53 +01:00
a0e17f557d Finish v1.24.4(272) 2022-03-24 12:40:52 +01:00
684946bb14 -> v1.24.4 (272) 2022-03-24 12:40:46 +01:00
4aab6b1688 Ottimizzazioni su DialogProgress 2022-03-24 12:40:15 +01:00
310a79f41d Fix su rotazione schermo in avantielenco accettazione 2022-03-23 18:08:22 +01:00
f8164ca1eb Finish v1.24.3(271) 2022-03-23 16:48:10 +01:00
790a9eae6c Finish v1.24.3(271) 2022-03-23 16:48:09 +01:00
b41edd314f -> v1.24.3 (271) 2022-03-23 16:48:04 +01:00
34d8a93c01 Merge remote-tracking branch 'origin/develop' into develop 2022-03-23 16:47:27 +01:00
3b45d8fe35 Fix su ColliDataRecoverService.
Implementata scrollview su DialogInputQuantity.
Corretta gestione cod anag in picking libero.
2022-03-23 16:47:22 +01:00
aba1fcdc7b Finish v1.24.2(270) 2022-03-22 10:12:21 +01:00
012d7caa52 Finish v1.24.2(270) 2022-03-22 10:12:21 +01:00
e7e20da206 -> v1.24.2 (270) 2022-03-22 10:12:10 +01:00
ef6535897b [ordini acquisto pv]
cambio colore in base alla differenza tra qta ordinata e proposta
auto ordinamento di 1 col alla scansione di un articolo
fix vari
2022-03-22 10:09:19 +01:00
8c75ecbd0a Finish v1.24.1(269)_2 2022-03-10 17:20:13 +01:00
fad3c4243d Finish v1.24.1(269)_2 2022-03-10 17:20:13 +01:00
a6e75114cb Rimosse classi di test 2022-03-10 17:18:59 +01:00
48a83bc0d5 Finish v1.24.1(269) 2022-03-10 12:08:07 +01:00
b58475b426 Finish v1.24.1(269) 2022-03-10 12:08:06 +01:00
207daab105 -> v1.24.1 (269) 2022-03-10 12:08:02 +01:00
c32da27b7f Fix su caricamento dati da griglia quando si scansiona un articolo gia inserito nell'ordine 2022-03-10 12:07:22 +01:00
1f94c14634 Ripristinato click per modificare righe in ordine di acquisto 2022-03-09 16:14:12 +01:00
4880ea8301 Implementata gestione dei cod_anags aziendali 2022-03-09 12:09:04 +01:00
a2d165d475 Rimosso caricamento profili allo start.
Aggiunto ulteriore controllo su licenza
2022-03-09 10:33:09 +01:00
d142f0c868 Implementata lettura errore chiamate http in login 2022-03-08 22:05:19 +01:00
746838010a Finish v1.24.0 2022-03-08 15:57:57 +01:00
a74d865c57 Finish v1.24.0 2022-03-08 15:57:56 +01:00
0a37323cef Merge remote-tracking branch 'origin/develop' into develop 2022-03-08 15:57:17 +01:00
b36b80eae0 -> v1.24.0 (268) 2022-03-08 15:57:07 +01:00
acb7727f3c Implementato flag allow empty destinatario 2022-03-08 15:57:07 +01:00
c16f5d2ddd -> v1.24.0 (268) 2022-03-08 15:56:50 +01:00
4ca449d557 Implementato flag allow empty cliente 2022-03-08 15:55:53 +01:00
da70d7c064 Implementata logica della posizione di default sull'articolo in caso di addExtraItem 2022-03-07 12:43:11 +01:00
0be1eac5fe Finish v1.23.12(267) 2022-03-02 18:29:20 +01:00
e0eabbcbda Finish v1.23.12(267) 2022-03-02 18:29:20 +01:00
bd7b561b28 -> v1.23.12 (267) 2022-03-02 18:29:11 +01:00
37c3a1ec76 Refactoring PVOrdiniAcquisto 2022-03-02 18:28:27 +01:00
62e69ad5bf Finish v1.23.11(266) 2022-03-01 12:00:02 +01:00
3a6ba51a69 Finish v1.23.11(266) 2022-03-01 12:00:01 +01:00
767088f1d0 -> v1.23.11 (266) 2022-03-01 11:59:54 +01:00
d0f6999dd8 Aggiunto barcode nel messaggio di errore 2022-03-01 11:59:20 +01:00
f88d7892bd Finish v1.23.10(265) 2022-02-28 18:42:26 +01:00
3df5e406ef Finish v1.23.10(265) 2022-02-28 18:42:25 +01:00
8e0728c2b4 -> 1.23.10 (265) 2022-02-28 18:42:19 +01:00
0a2d47110d Refactoring ordini acquisto 2022-02-28 18:38:41 +01:00
4ed8c825dd Merge remote-tracking branch 'origin/develop' into develop 2022-02-28 17:01:16 +01:00
0a6d01628f Fix su open e close del dialog progress 2022-02-28 17:01:11 +01:00
453c8e0cad Finish v.1.23.9(264) 2022-02-28 15:57:45 +01:00
ee43d1e985 Finish v.1.23.9(264) 2022-02-28 15:57:45 +01:00
86d472fb88 -> v1.23.9 (264) 2022-02-28 15:57:40 +01:00
61c3458088 Finish flag_scan_art 2022-02-28 15:56:44 +01:00
85c4768e51 rimossa progress che si blocca in conferma filtri spedizione 2022-02-28 15:56:21 +01:00
f1b4ce469e Merge branch 'develop' into feature/flag_scan_art 2022-02-28 15:42:35 +01:00
6071b3eb44 Finish v1.23.8(263) 2022-02-28 09:52:59 +01:00
1d2bd20584 Finish v1.23.8(263) 2022-02-28 09:52:58 +01:00
756389e6c6 -> v1.23.8 (263) 2022-02-28 09:52:54 +01:00
4b19129a2f Fix su bindings in dialogInputQuantity.
Piccolo refactoring UI di activity di ordine di acquisto.
2022-02-28 09:52:23 +01:00
f6aadf1115 Finish v1.23.7(262) 2022-02-25 17:37:19 +01:00
3a5de50353 Finish v1.23.7(262) 2022-02-25 17:37:19 +01:00
cf3b8749dc -> v1.23.7 (262) 2022-02-25 17:37:13 +01:00
34ff300515 workaround problema con tempistiche thread in salvataggio articolo ordine acquisto 2022-02-25 17:36:07 +01:00
0738993d4c Aggiunto flag use qta ord in accettazione 2022-02-24 11:01:01 +01:00
9765fe1807 Completato refactoring del dialog ask cliente 2022-02-24 10:04:01 +01:00
968e904715 Finish v1.23.6(261) 2022-02-23 12:50:45 +01:00
90985b899b Finish v1.23.6(261) 2022-02-23 12:50:45 +01:00
d81e0dd72c -> v1.23.6 (261) 2022-02-23 12:50:40 +01:00
ee8751163c aggiunto campo colli in arrivo in ordini di acquisto pv 2022-02-23 12:49:59 +01:00
5476e9633e Migliorato rendering di dialog ask cliente e fix su check delle posizioni da cache 2022-02-23 12:42:30 +01:00
84d800a698 Merge remote-tracking branch 'origin/develop' into develop 2022-02-22 18:56:35 +01:00
eb39e1b7c5 Refactoring DialogProgressView.
Refactoring UpdateManager.
2022-02-22 18:56:30 +01:00
57fa738c59 corretto bug sul progressDialog 2022-02-22 15:40:50 +01:00
bfc02a7d48 Finish v1.23.5(260) 2022-02-22 13:23:23 +01:00
e963e03c81 Finish v1.23.5(260) 2022-02-22 13:23:23 +01:00
f1c25a3673 -> v1.23.5 (260) 2022-02-22 13:23:18 +01:00
90d5a8d43b gestione righe multiple per articolo in documenti itnerni 2022-02-22 13:22:17 +01:00
e1b4af2402 Fix su caricamento JSON di config per i doc interni 2022-02-22 13:14:56 +01:00
86c7be4e7d Implementato flag per abilitare la scansione tramite barcode articoli 2022-02-22 09:30:09 +01:00
8686df3d8a rimossa ricerca automatica listino creata per test dev 2022-02-21 16:32:04 +01:00
6b04246f42 Merge remote-tracking branch 'origin/develop' into develop 2022-02-21 16:31:39 +01:00
8e40092130 [CARELLI - ORDINI A]
aggiunti automaticamente all'ordine gli articoli nuovi in griglia
[CARELLI - DOC INTERNI]
modificato controllo sul lotto per partire solo nei documenti richiesti (tramite setup)
2022-02-21 16:31:11 +01:00
b8dbde5ee1 Rimosso Coollection 2022-02-21 10:29:25 +01:00
ae6d37e80d Finish v1.23.4(259) 2022-02-17 13:10:44 +01:00
6dcc711006 Finish v1.23.4(259) 2022-02-17 13:10:44 +01:00
a616cb6022 -> v1.23.4 (259) 2022-02-17 13:10:38 +01:00
837781389c aumentati a 5 i numero di decimali
e aggiunto un  controllo sulla qta ordinata per il suggerimento di prelievo
2022-02-17 13:09:37 +01:00
f23ff88878 Finish v1.23.3(258) 2022-02-17 11:44:21 +01:00
ddc038add4 Finish v1.23.3(258) 2022-02-17 11:44:20 +01:00
f037617dd9 -> v1.23.3 (258) 2022-02-17 11:44:17 +01:00
84cff70567 aggiunto controllo su testate ordini per approvvigionamento da lavorazione 2022-02-17 11:43:33 +01:00
8a1b3a1b00 aggiunto controllo sulla qta ordinata nulla per rettifica giacenze 2022-02-17 11:43:04 +01:00
f11a81ef05 gestita where cond in caso di filtro null 2022-02-17 11:42:27 +01:00
eb8595e247 Finish v1.23.2(257) 2022-02-16 13:01:33 +01:00
85520b937f Finish v1.23.2(257) 2022-02-16 13:01:33 +01:00
ec5bee558c -> v1.23.2 (257) 2022-02-16 13:01:25 +01:00
857295d92b corretta conversione date string da query 2022-02-16 13:00:10 +01:00
4da2c43251 Merge remote-tracking branch 'origin/develop' into develop 2022-02-14 17:47:36 +01:00
fc1681d111 Implementato messaggio info extra in DialogInputQuantity (attualmente mostra un testo Human Readable delle quantità da prelevare). 2022-02-14 17:18:35 +01:00
692a350128 Aggiunta ricerca barcode articolo con conversione da 8 a 13 caratteri 2022-02-14 15:44:50 +01:00
47f29899a2 Aggiornate librerie google 2022-02-14 12:43:45 +01:00
a0dfd20110 Update AGP 7.1.1 2022-02-14 12:17:34 +01:00
92aadad5cb aggiunto controllo data scadenza
nascosta input tipo collo in accettazione se non ci sono tipi collo configurati
2022-02-14 11:37:24 +01:00
52092e7e9c GRAMM visualizzato peso articolo 2022-02-08 18:17:24 +01:00
ecfb8faf01 vg aggiunta possibilità di selezionare il tipo pedana in accettazione e visulizzati dettagli peso 2022-02-08 10:42:32 +01:00
e5dd4b15f4 Finish v1.23.1(256) 2022-02-08 10:38:43 +01:00
6e070285e3 Finish v1.23.1(256) 2022-02-08 10:38:43 +01:00
d13cdf63c2 -> v1.23.1 (256) 2022-02-08 10:38:36 +01:00
c3884774e1 corretto filtro in dialogChooseArts e aggiunta possibilità di aprirlo con filtro già attivo 2022-02-08 10:37:37 +01:00
983b70821a Finish v1.23.0(255) 2022-02-03 12:05:11 +01:00
8e60aa0249 Finish v1.23.0(255) 2022-02-03 12:05:11 +01:00
69962781aa -> v1.23.0 (255) 2022-02-03 12:05:06 +01:00
a921b83c1f unifificata gestione etichette posizioni in picking libero e rettifica giacenze 2022-02-03 12:03:17 +01:00
ea8be0559a [carelli - docInterni]
aggiunti dati al DTO di sincronizzazione
[MAGGIO - Picking libero]
Aggiunta possibilità di aprire la posizione definita in anagrafica articolo scansionando l'ean13 dello stesso
2022-02-02 17:01:41 +01:00
66f117186c Piccoli fix su doc interni 2022-01-28 10:23:46 +01:00
4ff39009d2 Finish v1.22.0(254) 2022-01-25 11:15:21 +01:00
981a42cd7e Finish v1.22.0(254) 2022-01-25 11:15:20 +01:00
062938d0e4 -> v1.22.0 (254) 2022-01-25 11:15:15 +01:00
cc7044c7de Tanto vario 2022-01-25 11:14:15 +01:00
7d771bf39b Implementato suggerimento della posizione (da mtb_aart) 2022-01-07 18:09:37 +01:00
3261aa7c41 Creati chips per filtro in picking accettazione 2022-01-07 16:16:01 +01:00
d79c13b370 Aggiunto cod_mart in caso di mancanza cod_art_forn 2022-01-07 10:56:41 +01:00
55c1cb40a2 Refactoring login 2022-01-04 15:06:35 +01:00
d570ab7e3d Finish v1.21.1(253) 2021-12-30 17:32:01 +01:00
e3ebfcb27d Finish v1.21.1(253) 2021-12-30 17:32:01 +01:00
2230dade45 -> v1.21.1 (253) 2021-12-30 17:31:39 +01:00
637e46b868 Rimosso datetime da MtbCols 2021-12-30 17:30:58 +01:00
473d5d1a5a Finish v1.21.0(252) 2021-12-28 11:21:37 +01:00
c37f4d62a4 Finish v1.21.0(252) 2021-12-28 11:21:36 +01:00
b8ac75ed6d -> v1.21.0 (252) 2021-12-28 11:21:31 +01:00
df9d3a80ac completata gestione documenti interni
Aggiunti campi complementari in generazione ordini di acquisto
restyling dialog ordini di acquisto
2021-12-28 11:20:02 +01:00
6aacaef720 Finish v1.20.4(251) 2021-12-02 17:09:31 +01:00
1fab62187f Finish v1.20.4(251) 2021-12-02 17:09:31 +01:00
0c4d0f2b59 -> v1.20.4 (251) 2021-12-02 17:09:27 +01:00
dbf183c7c6 Bug fix: in versamento meteriale a produzione la quantità residuo dopo ripartizionamento viene aggiunta due volte 2021-12-02 17:08:43 +01:00
42649cd5bb Finish v1.20.3(250) 2021-11-26 17:47:56 +01:00
1f1a8f75de Finish v1.20.3(250) 2021-11-26 17:47:56 +01:00
5215d43bf4 -> v1.20.3 (250) 2021-11-26 17:47:51 +01:00
d2f262a9b8 Merge remote-tracking branch 'origin/develop' into develop 2021-11-26 17:46:58 +01:00
1fc78d053b Aggiunto codice menu su Rientro merce 2021-11-26 17:46:55 +01:00
016be4799c Merge remote-tracking branch 'origin/develop' into develop 2021-11-26 17:46:40 +01:00
e837132996 Corretta aggiunta quantità di scarto sull'ordine maggiore in versamento merce a produzione (frudis) 2021-11-26 17:46:33 +01:00
925760720d Finish v1.20.2(249) 2021-11-26 16:40:35 +01:00
2e872c23aa Finish v1.20.2(249) 2021-11-26 16:40:34 +01:00
7a62c8855f -> v1.20.2 (249) 2021-11-26 16:40:31 +01:00
c1da07b23c Fix finestra caricamento in Spedizione 2021-11-26 16:39:54 +01:00
ba7e2a6d61 Finish v1.20.1(248) 2021-11-26 10:32:36 +01:00
e798db1427 Finish v1.20.1(248) 2021-11-26 10:32:35 +01:00
a79dee3574 -> v1.20.1 (248) 2021-11-26 10:32:26 +01:00
4f753399bf Merge remote-tracking branch 'origin/develop' into develop 2021-11-26 10:31:40 +01:00
80842e49e5 Migliorata gestione errori in versamento merce 2021-11-26 10:31:33 +01:00
2eac741bbb Finish v1.20.0(247) 2021-11-22 18:22:36 +01:00
c3e2a2a8fd Finish v1.20.0(247) 2021-11-22 18:22:36 +01:00
99f0691c55 -> v1.20.0 (247) 2021-11-22 18:22:31 +01:00
37ebd96a0f Gestione Documenti interni di carelli 2021-11-22 18:20:59 +01:00
c012c54805 Finish v1.19.5(246) 2021-11-12 16:33:47 +01:00
9de6dcce80 Finish v1.19.5(246) 2021-11-12 16:33:46 +01:00
fc403ec419 -> v1.19.5 (246) 2021-11-12 16:33:41 +01:00
4968f2f4fa Aggiunto ordinamento (da customizzareper azienda) sui filtri in spedizione 2021-11-12 16:32:18 +01:00
a7ea9b9022 Finish v1.19.4(245) 2021-11-12 11:32:57 +01:00
28a034f0d6 Finish v1.19.4(245) 2021-11-12 11:32:57 +01:00
ca3f1f5962 -> v1.19.4 (245) 2021-11-12 11:32:48 +01:00
4117e69278 risolto problema filtro non considerato in ritorno su lista filtrata dopo aver eseguito il picking 2021-11-12 11:31:34 +01:00
18ff1e2345 Finish v1.19.3(244) 2021-11-11 19:58:38 +01:00
37e3024220 Finish v1.19.3(244) 2021-11-11 19:58:37 +01:00
ed35ea6894 -> v1.19.3 (244) 2021-11-11 19:58:32 +01:00
bd28db7422 Corretti nuovi filtri 2021-11-11 19:56:43 +01:00
9beea9f2e9 corretto filtro tramite barcode scanner sugli ordini di spedizione
corretto refresh filtro testuale in accettazione
2021-11-11 19:37:01 +01:00
205af60edb Finish v1.19.2(243) 2021-11-11 13:41:18 +01:00
21f9a9819a Finish v1.19.2(243) 2021-11-11 13:41:17 +01:00
4059335e61 -> v1.19.2 (243) 2021-11-11 13:41:12 +01:00
14252f0f4b Fix su gestione in accettazione da ordine di lavorazione 2021-11-11 13:40:11 +01:00
c13eee355e Merge remote-tracking branch 'origin/develop' into develop 2021-11-11 13:19:51 +01:00
51528fda6f fix Menu 2021-11-11 13:19:31 +01:00
1486d39eb8 Finish v1.19.1(242) 2021-11-11 13:09:41 +01:00
1951d8e2a4 Finish v1.19.1(242) 2021-11-11 13:09:40 +01:00
420fdf6b4c -> v1.19.1 (242) 2021-11-11 13:09:31 +01:00
a14a593e4f Aggiunta ricerca nei filtri in vendita 2021-11-11 13:08:38 +01:00
5d7ffa02c4 Finish v1.19.0(241) 2021-11-09 13:14:07 +01:00
4942807104 Finish v1.19.0(241) 2021-11-09 13:14:06 +01:00
20dafb1250 -> v1.19.0 (241) 2021-11-09 13:13:57 +01:00
eb0746de0c Creato nuovo filtro per gli ordini in uscita. 2021-11-09 13:11:47 +01:00
2e255e0c47 Merge remote-tracking branch 'origin/develop' into develop 2021-10-26 12:32:14 +02:00
6baebda5e1 Rimosse eccezioni interne da Firebase 2021-10-26 12:32:08 +02:00
8f943829ec Finish v1.18.10(240) 2021-10-21 13:10:40 +02:00
bd19d8c1a2 Finish v1.18.10(240) 2021-10-21 13:10:39 +02:00
3e79d0a07a -> 1.18.10 (240) 2021-10-21 13:10:29 +02:00
d2111e36ee Risolto bug progress dialog in ordini acquisto pv 2021-10-21 13:09:21 +02:00
47a1ab8223 Finish v1.8.9(239) 2021-10-14 17:17:12 +02:00
45df794280 Finish v1.8.9(239) 2021-10-14 17:17:12 +02:00
7a9bd15cfa -> v1.18.9 (239) 2021-10-14 17:16:52 +02:00
f902439086 Implementato nuovo servizio di printEtichettaSSCC 2021-10-14 17:16:04 +02:00
e7334d358b Finish v1.8.8(238) 2021-10-13 16:16:03 +02:00
262986f02c Finish v1.8.8(238) 2021-10-13 16:16:02 +02:00
76188aa792 -> v1.18.8 (238) 2021-10-13 16:15:57 +02:00
eb67d2fc65 Fix su controllo fake giacenza 2021-10-13 16:15:20 +02:00
6e176c0b7f Finish v1.18.7(237) 2021-10-11 19:09:20 +02:00
83b2327247 Finish v1.18.7(237) 2021-10-11 19:09:20 +02:00
7605c4d70a -> v1.18.7 (237) 2021-10-11 19:09:11 +02:00
5a8935675c Riduzione caratteri usati nel filtro_ordini 2021-10-11 19:08:11 +02:00
1645fba77c Finish v1.18.6(236) 2021-10-07 10:53:32 +02:00
6929a386db Finish v1.18.6(236) 2021-10-07 10:53:32 +02:00
93c3350cb2 -> v1.18.6 (236) 2021-10-07 10:53:26 +02:00
2b97faaa65 Fix su decimali nel caso di FlagDig 2021-10-07 10:52:44 +02:00
9260379c5f Invalidata la cache del menu durante il logout 2021-09-30 15:23:54 +02:00
35e7fd60be Finish v1.18.5(235) 2021-09-30 13:35:49 +02:00
1bbe5818f8 Finish v1.18.5(235) 2021-09-30 13:35:48 +02:00
65d372c04c -> v1.18.5 (235) 2021-09-30 13:35:42 +02:00
be1c5ecd0b Sistemato caricamento menu laterale (Drawer) 2021-09-30 13:35:09 +02:00
30e16fb765 Finish v1.18.4(234) 2021-09-27 19:08:16 +02:00
effff99e9a Finish v1.18.4(234) 2021-09-27 19:08:15 +02:00
c40bb8d7b0 -> v1.18.4 (234) 2021-09-27 19:08:08 +02:00
a7063c70eb Invertito boolean di fakeGiacenza in Spedizione 2021-09-27 19:07:03 +02:00
512f5b0de3 Finish v1.18.3(233) 2021-09-27 12:50:13 +02:00
e306c28723 Finish v1.18.3(233) 2021-09-27 12:50:12 +02:00
f361701ad9 -> v1.18.3 (233) 2021-09-27 12:50:05 +02:00
aa00c440b0 Fix su qta_cnf in Fabbisogno linee prod 2021-09-27 12:49:24 +02:00
df2a566322 Finish v1.8.2(232) 2021-09-27 10:53:59 +02:00
eb83f8babb Finish v1.8.2(232) 2021-09-27 10:53:59 +02:00
e21946fe23 -> v1.18.2 (232) 2021-09-27 10:53:51 +02:00
30b5053a22 Risolto controllo su UL e CodArt in AddExtraItems 2021-09-27 10:53:06 +02:00
914618cfeb Finish v1.8.1(231) 2021-09-27 10:28:33 +02:00
53ebf6ff14 Finish v1.8.1(231) 2021-09-27 10:28:33 +02:00
34c2065041 -> v1.18.1 (231) 2021-09-27 10:28:26 +02:00
db7ceedb4a Rimosso controllo errato su ean128 2021-09-27 10:27:54 +02:00
1ef70c4f3a Sistemato arrotondamento decimali in fase di picking uscita 2021-09-24 12:12:37 +02:00
e1eae00e01 Finish v1.18.0(230) 2021-09-23 11:44:29 +02:00
f8533daeed Finish v1.18.0(230) 2021-09-23 11:44:28 +02:00
ff4d71e616 -> v1.18.0 (230) 2021-09-23 11:44:22 +02:00
8015961054 Finish MenuRefactoring 2021-09-23 11:42:02 +02:00
a9164109da Fix su refMtbColr 2021-09-23 11:41:32 +02:00
4a884b92ad Sistemata libreria Honeywell 2021-09-15 19:15:30 +02:00
6f15169157 Vario ed eliminazione delle personalizzazioni non più necessarie 2021-09-15 18:56:52 +02:00
eb99c9d8cf Aggiunto controllo su data scadenza < oggi 2021-09-10 12:22:04 +02:00
0cc31a4a8e Implementato controllo su barcode UL/Articolo in fase di add extra item. 2021-09-09 16:49:40 +02:00
a6664102db Vario 2021-09-02 09:56:15 +02:00
eaeef05e64 Vario 2021-08-12 11:02:50 +02:00
98b6a32126 Rename 2021-08-11 15:20:42 +02:00
fcddda8e3f Refactoring di Versamento e Recupero materiale produzione 2021-08-11 15:19:35 +02:00
9033548455 Refactoring dialog filtro accettazione ordini produzione 2021-08-06 15:35:25 +02:00
18b4b08e1b Refactoring accettazione ordini produzione 2021-08-06 13:30:03 +02:00
627d3646a6 Refactoring activity lista bancali 2021-08-06 11:37:26 +02:00
8d87970a75 Renaming 2021-08-06 10:22:48 +02:00
ea6b26e00f Refactoring activity contenuto bancale 2021-08-05 19:11:44 +02:00
624a880ad5 Refactoring main list accettazione 2021-08-05 18:24:50 +02:00
fbcda5eaf6 Implementato servizio di retrieve menu 2021-08-05 15:25:06 +02:00
fbe095b7f7 Refactoring splash screen 2021-08-05 13:07:05 +02:00
d4bd92ec90 Finish v1.17.9(229) 2021-07-26 11:52:29 +02:00
c3ee5519b4 Finish v1.17.9(229) 2021-07-26 11:52:28 +02:00
1394725286 -> v1.17.9 (928) 2021-07-26 11:52:22 +02:00
b4cf8f629c Implementato Assegna lotto su collo scarico 2021-07-26 11:42:21 +02:00
ec49384b58 Finish v1.17.8(228) 2021-07-21 17:49:30 +02:00
0404863e3d Finish v1.17.8(228) 2021-07-21 17:49:29 +02:00
b71d627f99 -> v1.17.8 (228) 2021-07-21 17:49:24 +02:00
403541c8e0 Fix su background color del DialogInputQuantity 2021-07-21 17:48:51 +02:00
f1e2a3a536 Finish v1.17.7(227) 2021-07-20 18:31:33 +02:00
23bb284cff Finish v1.17.7(227) 2021-07-20 18:31:32 +02:00
449955f182 -> v1.17.7 (227) 2021-07-20 18:31:27 +02:00
15d3b1858a Migliorie a Rientro Merce 2021-07-20 18:30:57 +02:00
cfb3acc33d Finish v1.17.6(226) 2021-07-20 13:07:07 +02:00
61768fb2d0 Finish v1.17.6(226) 2021-07-20 13:07:06 +02:00
d782e8667a -> v1.17.6 (226) 2021-07-20 13:07:01 +02:00
e3d366b7a5 Fix su rendering in Rientro Merce da produzione 2021-07-20 13:06:17 +02:00
c64112835b Merge tag 'v.1.17.5(225)' into develop
Finish v.1.17.5(225)
2021-07-20 12:01:09 +02:00
7ebc5de620 Finish v.1.17.5(225) 2021-07-20 12:01:08 +02:00
aa93dc489e -> 1.17.5 (225) 2021-07-20 12:00:58 +02:00
6c1be3a7bc Finish v1.7.4(224) 2021-07-20 10:31:34 +02:00
18593c7fa0 Merge branch 'master' into develop 2021-07-20 10:31:34 +02:00
3a6b87ba47 -> v1.7.4 (224) 2021-07-20 10:31:28 +02:00
95ee04fc2a Finish v1.17.4(223) 2021-07-20 10:01:54 +02:00
1d3113ce2e Merge branch 'master' into develop 2021-07-20 10:01:54 +02:00
ef3bac3b0b Revert build gradle 2021-07-20 10:01:47 +02:00
d5f590bfda Finish v1.17.4(222) 2021-07-19 19:17:58 +02:00
1b0f9fb4de Finish v1.17.4(222) 2021-07-19 19:17:57 +02:00
b1e309dc1c -> v1.17.4 (222) 2021-07-19 19:17:52 +02:00
6da020c5cc Implementato rientro merce da produzione 2021-07-19 19:17:19 +02:00
da4d66ecfe Merge tag 'v1.17.3(221)' into develop
Finish v1.17.3(221)
2021-07-16 11:36:36 +02:00
18efcb31a0 Finish v1.17.3(221) 2021-07-16 11:36:35 +02:00
d31cb71f9e -> 1.17.3 (221) 2021-07-16 11:36:29 +02:00
86c99a99ca Merge tag 'zebra_tc210k' into develop
Finish zebra_tc210k
2021-07-16 11:34:21 +02:00
ba1a70e73e Finish zebra_tc210k 2021-07-16 11:34:20 +02:00
c822c3e0ef [SAPORIVERI]
Aggiunto alla libreria scanner zebra il modello TC210K
2021-07-16 11:34:14 +02:00
42746b3656 Finish v1.17.2(220) 2021-06-08 15:58:21 +02:00
2782c4b477 Finish v1.17.2(220) 2021-06-08 15:58:20 +02:00
5f13f7a634 -> v1.17.2 (220) 2021-06-08 15:58:13 +02:00
e811514764 Fix su thread in posizionamento merce 2021-06-08 15:57:39 +02:00
21137b1224 Finish v1.17.1(219) 2021-05-21 09:21:48 +02:00
7da0a5ade9 Finish v1.17.1(219) 2021-05-21 09:21:47 +02:00
86d92b947d -> v1.17.1 (219) 2021-05-21 09:21:35 +02:00
374127dfe9 Finish v1.17.0(218) 2021-05-20 15:11:00 +02:00
91b43d1974 Finish v1.17.0(218) 2021-05-20 15:10:59 +02:00
c167893544 -> v1.17.0 (218) 2021-05-20 15:10:55 +02:00
4c9a1bbaa9 Implementata barra di ricerca nel dialog di selezione articoli da prelevare 2021-05-20 15:09:51 +02:00
f970eb6cac Finish v1.16.35(217)#2 2021-05-19 11:32:42 +02:00
1e1163c04d Finish v1.16.35(217)#2 2021-05-19 11:32:41 +02:00
48f1307095 Revert "Aggiornati build.gradle"
This reverts commit 97bf8c291a.

# Conflicts:
#	dynamic_frudis/build.gradle
#	dynamic_ime/build.gradle
#	dynamic_saporiveri/build.gradle
#	dynamic_saporiveri_pv/build.gradle
#	dynamic_vgalimenti/build.gradle
2021-05-19 11:32:14 +02:00
64fdda43db Merge branch 'master' into develop 2021-05-19 09:49:58 +02:00
6611617a81 Finish Hotfix-Script 2021-05-19 09:49:57 +02:00
f488e6bad0 Fix scripts 2021-05-19 09:49:52 +02:00
266b3d707f Merge branch 'master' into develop 2021-05-18 17:48:36 +02:00
a726631925 Finish Hotfix-Script 2021-05-18 17:48:36 +02:00
0b634154e4 Fix scripts 2021-05-18 17:48:31 +02:00
3e4d4300f1 Merge branch 'master' into develop 2021-05-18 16:28:23 +02:00
fb527c443f Finish Hotfix-Script 2021-05-18 16:28:23 +02:00
259c719344 Fix scripts 2021-05-18 16:26:52 +02:00
178787d907 Merge branch 'master' into develop 2021-05-18 15:52:54 +02:00
a51cf2e899 Finish Hotfix-Script 2021-05-18 15:52:53 +02:00
9f587ac8b1 Fix scripts 2021-05-18 15:52:48 +02:00
df97d5c4a2 Merge branch 'master' into develop 2021-05-18 15:39:34 +02:00
697bd1e85e Finish Hotfix-Script 2021-05-18 15:39:33 +02:00
5ace80ba28 Fix scripts 2021-05-18 15:39:28 +02:00
1c8abcaa58 Merge branch 'master' into develop 2021-05-18 13:04:52 +02:00
96ab52821c Finish Hotfix-Script 2021-05-18 13:04:52 +02:00
ecd58dea14 Fix scripts 2021-05-18 13:04:46 +02:00
9cdc4f299e Merge branch 'master' into develop 2021-05-18 12:34:36 +02:00
39af233380 Finish Hotfix-Script 2021-05-18 12:34:35 +02:00
2576d423da Fix scripts 2021-05-18 12:34:30 +02:00
234c21c7a1 Finish v1.16.35(217) 2021-05-18 11:47:01 +02:00
6d5b6b0260 Finish v1.16.35(217) 2021-05-18 11:47:01 +02:00
f03976595c -> v1.16.35 (217) 2021-05-18 11:46:56 +02:00
54dbade661 Fix su thread in fase di apertura del dialog di caricamento 2021-05-18 11:46:25 +02:00
6d54bda9b4 Merge branch 'master' into develop 2021-05-17 18:41:51 +02:00
4c244c1927 Finish Hotfix-BuildGradle 2021-05-17 18:41:50 +02:00
ee3ee54e69 Aggiornati build.gradle 2021-05-17 18:41:45 +02:00
82d4607375 Merge branch 'master' into develop 2021-05-17 18:32:26 +02:00
7ecdbd1f11 Finish Hotfix-BuildGradle 2021-05-17 18:32:25 +02:00
a4c30b7fdd Aggiornati build.gradle 2021-05-17 18:32:20 +02:00
3ca75ca11a Merge branch 'master' into develop 2021-05-17 17:59:53 +02:00
f2f8594a18 Finish Hotfix-BuildGradle 2021-05-17 17:59:52 +02:00
7b7b3e554b Aggiornati build.gradle 2021-05-17 17:59:47 +02:00
7913771b2a Merge branch 'master' into develop 2021-05-17 17:50:13 +02:00
ebcd8eea0a Finish Hotfix-GradleVersion 2021-05-17 17:50:13 +02:00
97bf8c291a Aggiornati build.gradle 2021-05-17 17:50:07 +02:00
e4f783862b Finish v1.16.34(216)#2 2021-05-17 17:35:11 +02:00
653d4def4e Finish v1.16.34(216)#2 2021-05-17 17:35:10 +02:00
3cf63fc1f1 Rimossa libreria per la scansione dei barcode tramite fotocamera 2021-05-17 17:34:41 +02:00
45ddca1928 Finish v1.16.34(216) 2021-05-13 17:47:58 +02:00
f4ff33a942 Finish v1.16.34(216) 2021-05-13 17:47:54 +02:00
ca5b5d3151 -> v1.16.34 (216) 2021-05-13 17:47:47 +02:00
e22f7cf5c7 Riabilitato filtro paese 2021-05-13 17:45:52 +02:00
8ea38fd31c Sistemato ricaricamento ordini di uscita senza perdere l'istanza del filtro applicato. 2021-05-13 17:39:29 +02:00
ea7acf6053 Refactoring DialogFiltroVenditaAvanzato 2021-05-13 15:33:58 +02:00
3a0d4d290c Aggiornamenti vari.
Implementata gestione di partite multiple all'interno di una UL.
2021-05-13 09:44:43 +02:00
c8053831db Finish v1.16.33(215) 2021-05-07 13:04:51 +02:00
e0c07ea06e Finish v1.16.33(215) 2021-05-07 13:04:50 +02:00
3e79b52e23 -> v1.16.33 (215) 2021-05-07 13:04:44 +02:00
7d7712e57a Ordinamento ordini uscita 2021-05-07 13:03:45 +02:00
6d7a047e8e Finish v1.16.32(214) 2021-05-04 17:34:36 +02:00
72e4f2a0b9 Finish v1.16.32(214) 2021-05-04 17:34:35 +02:00
ef6cdc6a86 -> v1.16.32 (214) 2021-05-04 17:34:30 +02:00
23b86e68cc Fix su scansione barcode ean13 in dialog input quantity 2021-05-04 17:34:00 +02:00
2e46f9f665 Finish v1.16.31(213) 2021-04-26 12:01:38 +02:00
88b1c56360 Finish v1.16.31(213) 2021-04-26 12:01:37 +02:00
1d71ac10bd -> v1.16.31 (213) 2021-04-26 12:01:29 +02:00
8eb677ecdf Sostituito getBySSCC con get generica dei colli. 2021-04-26 12:01:00 +02:00
74efbac452 Finish v1.16.30(212) 2021-04-23 15:25:16 +02:00
9c6375083f Finish v1.16.30(212) 2021-04-23 15:25:16 +02:00
b24d5271a4 -> v1.16.30 (212) 2021-04-23 15:23:54 +02:00
b5626e5b08 Fix su refMtbColr in Spedizione 2021-04-23 15:23:28 +02:00
fd2e1fa4f4 Finish v1.16.29(211) 2021-04-23 12:59:11 +02:00
a3f5072646 Finish v1.16.29(211) 2021-04-23 12:59:10 +02:00
1258e8c3e6 -> v1.16.29 (211) 2021-04-23 12:58:58 +02:00
ccef0fe528 Fix su qtaDaPrelevare in spedizione 2021-04-23 12:58:03 +02:00
9bb5d1adce Finish v1.16.28(210) 2021-04-16 18:33:55 +02:00
ac446d953c Finish v1.16.28(210) 2021-04-16 18:33:53 +02:00
407ff0b264 -> v1.16.28 (210) 2021-04-16 18:33:49 +02:00
10e748b9d4 Fix su getValue nel caso di integer in gest setup 2021-04-16 18:33:16 +02:00
e30273fe42 Finish v1.16.27(209) 2021-04-15 12:10:26 +02:00
44564245a7 Finish v1.16.27(209) 2021-04-15 12:10:25 +02:00
920f306907 -> v1.16.27 (209) 2021-04-15 12:10:20 +02:00
90aa52ab55 Fix versamento merce 2021-04-15 12:09:43 +02:00
93f3eb65f0 Finish v1.16.26(208) 2021-04-14 12:25:51 +02:00
eb94944928 Finish v1.16.26(208) 2021-04-14 12:25:50 +02:00
28698ba306 -> v1.16.26 (208) 2021-04-14 12:25:45 +02:00
c713bbebbc Fix su creazione collo involontaria in DialogScanOrCreateUL 2021-04-14 12:25:09 +02:00
38e2a02766 Finish v1.16.25(207) 2021-04-14 11:41:26 +02:00
dd8bf264a4 Finish v1.16.25(207) 2021-04-14 11:41:25 +02:00
9488c1994d -> v1.16.25 (207) 2021-04-14 11:41:20 +02:00
16099cdaf6 Fix su mtbPartitaMag in servizio spostaArtsTraUL 2021-04-14 11:40:06 +02:00
f061f2bfc9 Finish v1.16.24(206)#2 2021-04-12 15:34:42 +02:00
f7253fd44c Finish v1.16.24(206)#2 2021-04-12 15:34:42 +02:00
e12d371567 Finish v1.16.24(206) 2021-04-12 13:44:17 +02:00
5596f71c03 Merge branch 'master' into develop 2021-04-12 13:44:17 +02:00
8669b812f5 -> v1.16.24 (206) 2021-04-12 13:44:10 +02:00
3243484dd0 Ripristinato stato del filtro nell'elenco di ordini in uscita 2021-04-12 13:43:39 +02:00
37114dc4d1 Finish v1.16.23(205) 2021-04-12 12:48:26 +02:00
d5af79abba Finish v1.16.23(205) 2021-04-12 12:48:25 +02:00
b50aa7a9d2 -> v1.16.23 (205) 2021-04-12 12:48:19 +02:00
cc333c3147 Mini refactoring DialogAskCliente 2021-04-12 12:47:28 +02:00
fc5044134c Finish v1.16.22(204) 2021-04-12 09:39:10 +02:00
93a3e39332 Merge branch 'master' into develop 2021-04-12 09:39:10 +02:00
3eaf187136 -> v1.16.22 (204) 2021-04-12 09:39:03 +02:00
36f9fa1e36 Fix su null in ColliDataRecover 2021-04-12 09:37:45 +02:00
0f89913609 Finish v1.16.21(203) 2021-04-09 16:51:41 +02:00
4cda247ddc Finish v1.16.21(203) 2021-04-09 16:51:41 +02:00
e88ea0a45c -> v1.16.21 (203) 2021-04-09 16:51:36 +02:00
726cf80dc0 Implementata setup per ricalcolo qta 2021-04-09 16:51:02 +02:00
a779d8b94d Finish v1.16.20(202) 2021-04-08 18:18:32 +02:00
f41e1f3a02 Finish v1.16.20(202) 2021-04-08 18:18:31 +02:00
aa75a77913 -> v1.16.20 (202) 2021-04-08 18:18:24 +02:00
639be21ab5 Revert su ricalcolo qta_cnf in caso di peso variabile 2021-04-08 18:17:17 +02:00
dfc241e7f6 Finish v1.16.19(201) 2021-04-06 13:36:15 +02:00
7948c7fa97 Finish v1.16.19(201) 2021-04-06 13:36:14 +02:00
2ae311c28a -> v1.16.19 (201) 2021-04-06 13:36:06 +02:00
56ba43183c Fix su causale in Picking Libero.
Fix su nome utente in MtbColt e MtbColr.
2021-04-06 13:35:36 +02:00
b93b309ea8 Finish v1.16.18(200) 2021-04-06 12:22:43 +02:00
f5a2d012e5 Finish v1.16.18(200) 2021-04-06 12:22:42 +02:00
bf07e3d0f0 -> v1.16.18 (200) 2021-04-06 12:22:33 +02:00
91f075976d Completato refactoring di DialogScanOrCreateLU 2021-04-06 12:21:49 +02:00
ee70faefa9 Completato refactoring Versamento Merce (+ gestione non conformi) 2021-04-02 18:43:19 +02:00
13cca99b09 Fix su rendering lista ordini uscita 2021-03-17 12:26:15 +01:00
e55b6f4934 Finish v1.16.17(199) 2021-03-16 17:55:28 +01:00
62d4b6f724 Finish v1.16.17(199) 2021-03-16 17:55:28 +01:00
19b0465569 -> v1.16.17 (199) 2021-03-16 17:55:22 +01:00
d4f44c1ab7 Fix vari 2021-03-16 17:53:39 +01:00
6bf183d73c Finish v1.16.16(198) 2021-03-15 16:02:56 +01:00
a939f0ba08 Finish v1.16.16(198) 2021-03-15 16:02:56 +01:00
08b44cb45b -> v1.16.116 (198) 2021-03-15 16:02:51 +01:00
fef57622cf Implementato blocco per scansione EAN128 nel caso non sia abilitato il Picking Manuale 2021-03-15 15:54:52 +01:00
cbf36ec962 Fix su qta negative in accettazione 2021-03-15 13:09:40 +01:00
adc7343352 Implementato flag per impostare automaticamente la qta ordinata in fase di picking per Spedizione.
Migliorata gestione dell'update dei campi nel caso si scansiona un ean con peso in fase di inserimento qta.
2021-03-12 17:05:20 +01:00
94b2959d29 Implementata lettura barcode pedane in gestione resi 2021-03-12 13:33:54 +01:00
11903d1a34 Refactoring ultimi arrivi fornitori 2021-03-11 15:45:42 +01:00
ff448b36b9 Refactoring ultime consegne cliente 2021-03-11 13:11:06 +01:00
aa8a54547c Implementato versamento in depositi diversi da quello dell'utente loggato 2021-03-10 16:11:50 +01:00
e1d1878131 Migliorato SimpleDialog 2021-03-10 12:33:58 +01:00
81bc85f854 Finish v1.16.15(197) 2021-03-08 16:46:28 +01:00
00c90021b5 Finish v1.16.15(197) 2021-03-08 16:46:28 +01:00
89e046cc78 -> v1.16.15 (197) 2021-03-08 16:46:22 +01:00
2b2cf3656c Sistemata cancellazione colli in fase di picking per fabbisogno linea prod. 2021-03-08 16:45:39 +01:00
47a2c36e04 Finish v1.16.14(196) 2021-03-05 15:36:29 +01:00
bca0d0cc52 Finish v1.16.14(196) 2021-03-05 15:36:28 +01:00
594a6fc9d2 -> v1.16.14 (196) 2021-03-05 15:36:23 +01:00
e633dcbc4d Fix su where cond flag_evaso_prod 2021-03-05 15:35:42 +01:00
99de98db28 Risolto problema di confezioni 0 quando scansiono un codice ean peso e il peso è sotto il peso medio. 2021-03-05 12:12:44 +01:00
cce8ea5ca0 Sistemato actionDone su soft keyboard 2021-03-05 12:01:38 +01:00
2cb693cafc Finish v1.16.13(195) 2021-03-04 18:28:54 +01:00
cc54dfb452 Finish v1.16.13(195) 2021-03-04 18:28:54 +01:00
68d97a167d -> v1.16.13 (195) 2021-03-04 18:28:49 +01:00
adde82c191 Fix su dialogFragment 2021-03-04 18:27:42 +01:00
5b1f681a11 Cambiato titolo del fabbisogno linee prod 2021-03-04 15:32:59 +01:00
8035cf15a8 Finish v1.16.12(194) 2021-03-03 16:54:03 +01:00
d277bf3e8e Finish v1.16.12(194) 2021-03-03 16:54:02 +01:00
5d4130f131 -> v1.16.12 (194) 2021-03-03 16:53:57 +01:00
d51c62143c Gestito flag di showSecondaryUntMis nelle Settings dell'app 2021-03-03 16:53:31 +01:00
26a887c5aa Aggiunta seconda unità di misura in Accettazione 2021-03-03 16:36:14 +01:00
838b3b8bb8 Finish v1.16.11(193) 2021-03-03 10:26:59 +01:00
0a0de9d938 Finish v1.16.11(193) 2021-03-03 10:26:58 +01:00
eea134ce82 -> v1.16.11 (193) 2021-03-03 10:26:53 +01:00
1020a31b89 Completata finestra di info sulle righe in picking uscita 2021-03-03 10:26:20 +01:00
0133a9232f Fix salvataggio id riga collo in Picking Libero 2021-03-03 10:00:12 +01:00
3ff98fcda1 Finish v1.16.10(192) 2021-03-02 09:19:20 +01:00
58b4ebb420 Finish v1.16.10(192) 2021-03-02 09:19:19 +01:00
fc0cb423e3 -> v1.16.10 (192) 2021-03-02 09:19:13 +01:00
451f45b1a1 Fix main toolbar 2021-02-26 11:51:24 +01:00
b672ca1d37 Finish v1.16.9(191) 2021-02-24 12:48:08 +01:00
c4c4013995 Finish v1.16.9(191) 2021-02-24 12:48:07 +01:00
e9230aba11 -> v1.16.9 (191) 2021-02-24 12:48:03 +01:00
d044c2ab26 Fix su dialog dismiss in DialogScanArt.
Rivista implementazione di destroy fragment.
2021-02-24 12:47:33 +01:00
843679620b Finish v1.16.8(190) 2021-02-23 16:48:40 +01:00
7346357b8e Finish v1.16.8(190) 2021-02-23 16:48:40 +01:00
b29a64a75a -> v1.16.8 (190) 2021-02-23 16:48:35 +01:00
163a8cb27a Fix su raggruppamento per partita nel calcolo dei fabbisogni per produzione 2021-02-23 16:48:07 +01:00
8311f56154 Finish v1.16.7(189) 2021-02-23 16:21:22 +01:00
0a76cc856c Finish v1.16.7(189) 2021-02-23 16:21:21 +01:00
0ed536b0d5 -> v1.16.7 (189) 2021-02-23 16:21:16 +01:00
c8f8ccd64f Ripristinate etichette colorate per indicare stato evasione ordini.
Possibile fix su onCreate di DialogScanArt.
2021-02-23 16:20:48 +01:00
ecd0678aab Finish v1.16.6(188) 2021-02-22 16:30:24 +01:00
3d7fb9e14f Finish v1.16.6(188) 2021-02-22 16:30:23 +01:00
489687d392 -> v1.16.6 (188) 2021-02-22 16:30:18 +01:00
5aa360af7c Fix su gestione impostata erroneamente in Spedizione 2021-02-22 16:29:47 +01:00
e43ba3341f Finish v1.16.5(187) 2021-02-19 17:09:17 +01:00
db21ce554a Finish v1.16.5(187) 2021-02-19 17:09:16 +01:00
86c9f3464c -> v1.16.5 (187) 2021-02-19 17:09:09 +01:00
6376668d15 Fix su fabbisogno per linee di produzione: non veniva calcolata la qta già scaricata dagli ordini 2021-02-19 17:08:28 +01:00
669bc1a8f5 Finish v1.16.4(186) 2021-02-18 15:08:50 +01:00
d78d99094f Finish v1.16.4(186) 2021-02-18 15:08:49 +01:00
c2c23c37a4 -> v1.16.4 (186) 2021-02-18 15:08:41 +01:00
b30bdb3df1 Sbloccata possibilità di imputare una quantità a peso variabile maggiore della qta ordinata. 2021-02-18 13:07:44 +01:00
8e7ad53ec9 Sistemati ricalcoli di qta_cnf e num_cnf in caso di barcode a peso in Accettazione. 2021-02-17 17:55:57 +01:00
e36441db73 Finish v1.16.3(185) 2021-02-17 12:47:00 +01:00
97c63fb01d Finish v1.16.3(185) 2021-02-17 12:46:59 +01:00
cddc7681b0 -> v1.16.3 (185) 2021-02-17 12:46:52 +01:00
3663b2bf4e Rimossa domanda di posizionamento nel caso si apre una UL e non viene creata da 0. 2021-02-17 12:46:13 +01:00
91f4658fe3 Fix per click manuale in Spedizione 2021-02-17 11:05:17 +01:00
8fba80c764 Implementata scansione barcode su Elenco ordini uscita 2021-02-17 10:22:45 +01:00
6dbc0c5894 Fix su gestione fabbisogni 2021-02-16 09:43:48 +01:00
14035b4c92 Creata gestione fabbisogni linea di produzione 2021-02-15 19:18:03 +01:00
278f13ca6d Finish v1.16.2(184) 2021-02-10 12:13:42 +01:00
52eb9ee0b7 Finish v1.16.2(184) 2021-02-10 12:13:41 +01:00
e89c786233 -> v1.16.2 (184) 2021-02-10 12:13:35 +01:00
96439282cf Fix su link download APK 2021-02-10 12:12:47 +01:00
13577f3c43 Finish v1.16.1(183) 2021-02-09 16:43:48 +01:00
f6dcbace57 Finish v1.16.1(183) 2021-02-09 16:43:47 +01:00
2d0115723c -> v1.16.1 (183) 2021-02-09 16:43:41 +01:00
5f90810a0f Fix su lista nulla in getOrdiniInevasi 2021-02-09 16:43:04 +01:00
b4fd56d8e2 Finish v1.16.0(182) 2021-02-08 17:19:15 +01:00
ed2a36d66a Finish v1.16.0(182) 2021-02-08 17:19:14 +01:00
702ce4b79e -> v1.16.0 (182) 2021-02-08 17:19:09 +01:00
99aac144f5 Completato picking Extra-Items da altre UL. 2021-02-08 17:15:37 +01:00
766ae1ae01 Finish v1.15.0(181) 2021-02-05 19:43:30 +01:00
d16cec069c Finish v1.15.0(181) 2021-02-05 19:43:29 +01:00
0729b8ce87 -> v1.15.0 (181) 2021-02-05 19:43:23 +01:00
92a2cdaec6 Resettato peso in vendita 2021-02-05 19:40:00 +01:00
497bc54ebd Fix su ean peso in DialogInputQuantity 2021-02-05 15:52:16 +01:00
b00cd1f097 Refactoring elenco ordini uscita.
Vario.
2021-02-04 17:02:27 +01:00
cfc3649807 Fix su ricalcoli qtaDaEvadere nel caso di qtaCnf variabile 2021-02-01 17:45:41 +01:00
5ddd2e6235 Migliorata gestione delle variabili qta all'interno di DialogInputQuantity.
Fix su visualizzazione Diacon in DialogInputQuantity.
2021-02-01 15:42:14 +01:00
2174a19c0f Cambiato filename build 2021-01-25 09:51:53 +01:00
44cdbf929f Finish v1.14.3(180) 2021-01-21 19:07:12 +01:00
65c0e520c5 Finish v1.14.3(180) 2021-01-21 19:07:12 +01:00
062abb4ea3 -> v1.14.3 (180) 2021-01-21 19:07:07 +01:00
1d759cdcbf Rimossa domanda destinatario se non esiste alcun destinatario 2021-01-21 19:06:22 +01:00
15e1793962 Finish v1.14.2(179) 2021-01-21 18:13:02 +01:00
55fee02f36 Finish v1.14.2(179) 2021-01-21 18:13:02 +01:00
575ac2577f -> -> v1.14.2 (179) 2021-01-21 18:12:55 +01:00
3fc5cd3660 Fix per maggio 2021-01-21 18:10:42 +01:00
d77fbff509 Finish v1.14.1(178) 2021-01-21 15:53:35 +01:00
58865ca34b Finish v1.14.1(178) 2021-01-21 15:53:34 +01:00
23aa7f5261 -> v1.14.1 (178) 2021-01-21 15:53:27 +01:00
65532a3185 In picking libero è stata aggiunta la possibilità di scansionare un barcode che indichi un cliente o una commessa. 2021-01-19 19:23:31 +01:00
1440c52322 Aggiunta la possibilità di recuperare una UL in accettazione che non ha alcuna UL che la referenzi 2021-01-19 13:43:29 +01:00
4e36053ba6 Rimosso definitivamente DialogInputQuantity.
Fix su scansione barcodes posizioni.
2021-01-19 10:06:13 +01:00
c7777b261d Finish v1.14.0(177) 2020-12-31 12:23:19 +01:00
7b0a86bb81 Finish v1.14.0(177) 2020-12-31 12:23:18 +01:00
ebf2bd578e -> v.1.14.0 (177) 2020-12-31 12:23:13 +01:00
f90e2acc3e Implementato pulsante chiudi ordine in Spedizione 2020-12-31 12:22:13 +01:00
035f058bc3 Finish v1.13.30(176) 2020-12-28 12:18:26 +01:00
73e57e9430 Finish v1.13.30(176) 2020-12-28 12:18:25 +01:00
13cc9f6053 -> v1.13.30 (176) 2020-12-28 12:18:20 +01:00
d9844315a3 Sistemato salvataggio causale in Rettifica Giacenze nel caso in cui si preme il tasto Back nella videata del collo 2020-12-28 12:17:43 +01:00
ade37f07d6 Merge remote-tracking branch 'origin/develop' into develop 2020-12-22 13:29:26 +01:00
f02e9921cb Finish v1.13.29(175) 2020-12-22 13:29:17 +01:00
e8ce7a9eeb Finish v1.13.19(175) 2020-12-22 13:29:06 +01:00
61b0049a87 Finish v1.13.19(175) 2020-12-22 13:29:05 +01:00
5c4d72dae2 -> v1.13.20 (176) 2020-12-22 13:28:58 +01:00
39f52bf3dd Rimosse alcune viste non più utilizzate.
Aggiunta history dei lotti accettati.
2020-12-22 13:20:31 +01:00
e50aa1f014 Finish v1.13.28(174) 2020-12-17 13:03:50 +01:00
b1d06605cd Finish v1.13.28(174) 2020-12-17 13:03:50 +01:00
ed55eb4279 -> v1.13.28(174) 2020-12-17 13:03:42 +01:00
9ac96ac8fd Risolta anomalia del filtro ordine quando si recupera una UL.
Risolta anomalia dello spazio nel campo del Lotto.
2020-12-17 13:03:00 +01:00
5be3fd9c25 Merge branch 'master' into develop 2020-12-10 16:26:34 +01:00
bab558252a Finish Hotfix-QtaDaEvadere 2020-12-10 16:26:33 +01:00
c256b39119 Fix su qta da evadere in Accettazione.
-> v1.13.27 (173)
2020-12-10 16:26:28 +01:00
af76627c50 Finish v1.13.26(172) 2020-11-27 11:11:15 +01:00
f9544566e9 Finish v1.13.26(172) 2020-11-27 11:11:14 +01:00
4f02c3a4bc -> v1.13.26 (172) 2020-11-27 11:11:09 +01:00
ea8d8835cd Sostituita query load doc rows con vista 2020-11-27 11:09:53 +01:00
61e07e8f76 Finish v1.13.25(171) 2020-11-23 13:01:16 +01:00
962e1f7fa4 Finish v1.13.25(171) 2020-11-23 13:01:15 +01:00
07d889bcd5 -> v1.13.25 (171) 2020-11-23 13:01:07 +01:00
170db3eb0a Fix su unt mis accettazione 2020-11-23 13:00:39 +01:00
856a807e3e Finish v1.13.24(170) 2020-11-17 18:30:00 +01:00
c56aa812ff Finish v1.13.24(170) 2020-11-17 18:30:00 +01:00
770f014a70 -> v1.13.24 (170) 2020-11-17 18:29:56 +01:00
f6ff7aa80d Aggiunto controllo su refMtbColt 2020-11-17 18:29:15 +01:00
4cd3e7e102 Finish v1.13.23(169) 2020-11-17 10:40:22 +01:00
69bf5e319e Finish v1.13.23(169) 2020-11-17 10:40:21 +01:00
88fe4d82cd -> v1.13.23 (169) 2020-11-17 10:40:16 +01:00
c8cd794cfc Risolto problema di refMtbColt nulla in alcuni casi particolari della spedizione 2020-11-17 10:39:37 +01:00
5dcc567eab Merge branch 'master' into develop 2020-11-16 15:13:16 +01:00
89eafaf6ca Finish Hotfix-QueryDoc 2020-11-16 15:13:15 +01:00
6fc7f80ed4 -> v1.13.22 (168) 2020-11-16 15:13:08 +01:00
2464d44222 Merge branch 'master' into develop 2020-11-13 11:50:31 +01:00
96d544f2ad Finish Hotfix-Docs 2020-11-13 11:50:31 +01:00
e85ddc6580 Fix sum num_cnf query load righe doc 2020-11-13 11:50:25 +01:00
89f6b9ce71 Finish v1.13.21(167) 2020-11-13 10:25:30 +01:00
1459 changed files with 98494 additions and 32597 deletions

1
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1 @@
/saveactions_settings.xml

27
.idea/appInsightsSettings.xml generated Normal file
View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AppInsightsSettings">
<option name="selectedTabId" value="Android Vitals" />
<option name="tabSettings">
<map>
<entry key="Firebase Crashlytics">
<value>
<InsightsFilterSettings>
<option name="connection">
<ConnectionSetting>
<option name="appId" value="it.integry.integrywmsnative" />
<option name="mobileSdkAppId" value="1:963231271247:android:6d73ab369f33c450" />
<option name="projectId" value="wmsfirebaseproject-64854" />
<option name="projectNumber" value="963231271247" />
</ConnectionSetting>
</option>
<option name="signal" value="SIGNAL_UNSPECIFIED" />
<option name="timeIntervalDays" value="THIRTY_DAYS" />
<option name="visibilityType" value="ALL" />
</InsightsFilterSettings>
</value>
</entry>
</map>
</option>
</component>
</project>

View File

@@ -1,24 +1,12 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
<value>
<package name="java.util" alias="false" withSubpackages="false" />
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
<package name="io.ktor" alias="false" withSubpackages="true" />
</value>
</option>
<option name="PACKAGES_IMPORT_LAYOUT">
<value>
<package name="" alias="false" withSubpackages="true" />
<package name="java" alias="false" withSubpackages="true" />
<package name="javax" alias="false" withSubpackages="true" />
<package name="kotlin" alias="false" withSubpackages="true" />
<package name="" alias="true" withSubpackages="true" />
</value>
</option>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="XML">
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
@@ -127,5 +115,8 @@
</rules>
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

558
.idea/dbnavigator.xml generated Normal file

File diff suppressed because one or more lines are too long

13
.idea/deploymentTargetDropDown.xml generated Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<value>
<entry key="Prod_Android.WMS.app">
<State />
</entry>
<entry key="app">
<State />
</entry>
</value>
</component>
</project>

18
.idea/deploymentTargetSelector.xml generated Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2024-09-13T09:26:42.884931500Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=R52T60AZ93A" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState>
</selectionStates>
</component>
</project>

View File

@@ -0,0 +1,97 @@
#set( $regex = "([a-z])([A-Z]+)")
#set( $replacement = "$1_$2")
#set( $dashName = $NAME.replaceAll($regex, $replacement).toLowerCase())
#set( $variableName = $NAME.replace($NAME.substring(0, 1), $NAME.substring(0, 1).toLowerCase()))
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.content.Intent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil;
import javax.inject.Inject;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
public class ${NAME}Activity extends BaseActivity {
/*
- Create the following layout resource file [activity_${dashName}.xml]
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
- Create an entry in AndroidManifest.xml
Fix the android:name tag with current path
<activity
android:name="${NAME}Activity"
android:label="@string/activity_${dashName}_title"
android:screenOrientation="portrait"
android:theme="@style/Light" />
*/
@Inject
${NAME}ViewModel mViewModel;
//private Activity${NAME}Binding mBindings;
//Pass here all external parameters
public static void startActivity(Context context) {
Intent myIntent = new Intent(context, ${NAME}Activity.class);
//String keyExtraItem = DataCache.addItem(var);
//myIntent.putExtra("keyExtraItem", keyExtraItem);
context.startActivity(myIntent);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//mBindings = DataBindingUtil.setContentView(this, R.layout.activity_${dashName});
//mBindings.setLifecycleOwner(this);
/*
- Add following lines into MainApplicationComponent
[a] into @Component
${NAME}Module.class
[b] into interface body
${NAME}Component.Factory ${variableName}Component();
*/
MainApplication.appComponent
.${variableName}Component()
.create()
.inject(this);
}
}

View File

@@ -0,0 +1,12 @@
import dagger.Module;
import dagger.Provides;
@Module(subcomponents = ${NAME}Component.class)
public class ${NAME}Module {
@Provides
${NAME}ViewModel provides${NAME}ViewModel() {
return new ${NAME}ViewModel();
}
}

View File

@@ -0,0 +1,12 @@
import dagger.Subcomponent;
@Subcomponent
public interface ${NAME}Component {
@Subcomponent.Factory
interface Factory {
${NAME}Component create();
}
void inject(${NAME}Activity ${NAME}Activity);
}

View File

@@ -0,0 +1,3 @@
public class ${NAME}ViewModel {
}

126
.idea/fileTemplates/Android Dialog.java generated Normal file
View File

@@ -0,0 +1,126 @@
#set( $regex = "([a-z])([A-Z]+)")
#set( $replacement = "$1_$2")
#set( $dashName = $NAME.replaceAll($regex, $replacement).toLowerCase())
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import javax.inject.Inject;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
public class Dialog${NAME}View extends BaseDialogFragment {
/*
Create the following layout resource file [dialog_${dashName}.xml]
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:cardCornerRadius="16dp"
app:cardElevation="0dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="16dp">
<androidx.appcompat.widget.AppCompatImageView
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_width="36dp"
android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title_text"
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginBottom="16dp"
android:text="Title here" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/description_text"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Description here" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.cardview.widget.CardView>
</layout>
*/
@Inject
Dialog${NAME}ViewModel mViewModel;
//private Dialog${NAME}Binding mBindings;
private Context mContext;
//Pass here all external parameters
public static Dialog${NAME}View newInstance() {
return new Dialog${NAME}View();
}
private Dialog${NAME}View() {
super();
MainApplication.appComponent
.dialog${NAME}Component()
.create()
.inject(this);
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
this.mContext = requireContext();
//mBindings = Dialog${NAME}Binding.inflate(LayoutInflater.from(this.mContext), null, false);
//mBindings.setLifecycleOwner(this);
/*
- Add following lines into MainApplicationComponent
[a] into @Component
Dialog${NAME}Module.class
[b] into interface body
Dialog${NAME}Component.Factory dialog${NAME}Component();
*/
setCancelable(false);
var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
.setView(mBindings.getRoot())
.setCancelable(isCancelable())
.create();
alertDialog.setCanceledOnTouchOutside(isCancelable());
alertDialog.setOnShowListener(this);
return alertDialog;
}
}

View File

@@ -0,0 +1,12 @@
import dagger.Module;
import dagger.Provides;
@Module(subcomponents = Dialog${NAME}Component.class)
public class Dialog${NAME}Module {
@Provides
Dialog${NAME}ViewModel providesDialog${NAME}ViewModel() {
return new Dialog${NAME}ViewModel();
}
}

View File

@@ -0,0 +1,12 @@
import dagger.Subcomponent;
@Subcomponent
public interface Dialog${NAME}Component {
@Subcomponent.Factory
interface Factory {
Dialog${NAME}Component create();
}
void inject(Dialog${NAME}View dialog${NAME}View);
}

View File

@@ -0,0 +1,3 @@
public class Dialog${NAME}ViewModel {
}

View File

@@ -0,0 +1,82 @@
#set( $regex = "([a-z])([A-Z]+)")
#set( $replacement = "$1_$2")
#set( $dashName = $NAME.replaceAll($regex, $replacement).toLowerCase())
#set( $variableName = $NAME.replace($NAME.substring(0, 1), $NAME.substring(0, 1).toLowerCase()))
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import javax.inject.Inject;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.expansion.BaseFragment;
public class ${NAME}Fragment extends BaseFragment {
/*
- Create the following layout resource file [fragment_${dashName}.xml]
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
*/
@Inject
${NAME}ViewModel mViewModel;
//private Fragment${NAME}Binding mBindings;
public ${NAME}Fragment() {
// Required empty public constructor
}
public static ${NAME}Fragment newInstance() {
return new ${NAME}Fragment();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
setRetainInstance(true);
//mBindings = Fragment${NAME}Binding.inflate(inflater, container, false);
//mBindings.setLifecycleOwner(this);
/*
- Add following lines into MainApplicationComponent
[a] into @Component
${NAME}Module.class
[b] into interface body
${NAME}Component.Factory ${variableName}Component();
*/
MainApplication.appComponent
.${variableName}Component()
.create()
.inject(this);
return mBindings.getRoot();
}
}

View File

@@ -0,0 +1,3 @@
public class ${NAME}ViewModel {
}

View File

@@ -0,0 +1,12 @@
import dagger.Subcomponent;
@Subcomponent
public interface ${NAME}Component {
@Subcomponent.Factory
interface Factory {
${NAME}Component create();
}
void inject(${NAME}Fragment ${NAME}Fragment);
}

View File

@@ -0,0 +1,12 @@
import dagger.Module;
import dagger.Provides;
@Module(subcomponents = ${NAME}Component.class)
public class ${NAME}Module {
@Provides
${NAME}ViewModel provides${NAME}ViewModel() {
return new ${NAME}ViewModel();
}
}

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

@@ -0,0 +1,8 @@
<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,com.annimon.stream.Stream,of" />
</inspection_tool>
</profile>
</component>

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

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

10
.idea/migrations.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectMigrations">
<option name="MigrateToGradleLocalJavaHome">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</component>
</project>

View File

@@ -3,9 +3,14 @@
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
</set>
</option>
</component>

View File

@@ -1,19 +1,20 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_base" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android App">
<module name="WMS.app.main" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
<option name="CLEAR_APP_STORAGE" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
@@ -24,6 +25,8 @@
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
<option name="DEBUG_SANDBOX_SDK" value="false" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
@@ -31,20 +34,27 @@
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
<option name="DEBUG_SANDBOX_SDK" value="false" />
</Hybrid>
<Java />
<Java>
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
<option name="DEBUG_SANDBOX_SDK" value="false" />
</Java>
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
<option name="DEBUG_SANDBOX_SDK" value="false" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Java/Kotlin Method Sample (legacy)" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>

View File

@@ -1,59 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_frudis" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="true" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,59 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_gramm" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="false" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,59 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_ime" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_saporiveri,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="false" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,59 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_saporiveri" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri_pv,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri_pv,dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,59 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_saporiveri_pv" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_vgalimenti,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_vgalimenti" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,59 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app_vglimenti" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="WMS_Native.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS_Native.dynamic__base,WMS_Native.dynamic_frudis,WMS_Native.dynamic_gramm,WMS_Native.dynamic_ime,WMS_Native.dynamic_saporiveri,WMS_Native.dynamic_saporiveri_pv,dynamic__base,dynamic_frudis,dynamic_gramm,dynamic_ime,dynamic_saporiveri,dynamic_saporiveri_pv" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="true" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
<option name="FORCE_STOP_RUNNING_APP" value="true" />
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sample Java Methods" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -1,14 +1,17 @@
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'
if (!project.hasProperty("disable-performance-plugin")) {
apply plugin: 'com.google.firebase.firebase-perf'
}
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
android {
def appVersionCode = 167
def appVersionName = '1.13.21'
def appVersionCode = 453
def appVersionName = '1.41.05'
signingConfigs {
release {
@@ -16,25 +19,33 @@ android {
keyPassword 'inpmiy'
storeFile file('Integry.jks')
storePassword 'inpmiy'
enableV3Signing true
enableV4Signing true
}
}
applicationVariants.all { variant ->
variant.outputs.all { output ->
output.outputFileName = "android-release_v2.apk"
applicationVariants.configureEach { variant ->
variant.outputs.configureEach { output ->
output.outputFileName = "android-release.apk"
}
}
compileSdkVersion 29
defaultConfig {
applicationId "it.integry.integrywmsnative"
minSdkVersion 21
targetSdkVersion 29
targetSdkVersion 34
versionCode appVersionCode
versionName appVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.release
javaCompileOptions {
annotationProcessorOptions {
arguments += ["room.schemaLocation":
"$projectDir/schemas".toString()]
}
}
}
buildTypes {
@@ -49,19 +60,22 @@ android {
}
android.buildFeatures.dataBinding true
android.buildFeatures.buildConfig true
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
coreLibraryDesugaringEnabled true
}
productFlavors {
}
build {
doLast {
delete "$projectDir/build/outputs/apk/release/version_v2.txt"
file("$projectDir/build/outputs/apk/release/version_v2.txt").text = appVersionCode + '\n' + appVersionName
delete "$projectDir/build/outputs/apk/release/version.txt"
file("$projectDir/build/outputs/apk/release/version.txt").text = appVersionCode + '\n' + appVersionName
}
}
@@ -70,79 +84,78 @@ android {
options.compilerArgs << "-Xmaxerrs" << "10000"
}
}
lintOptions {
lint {
abortOnError false
}
dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti", ":dynamic_ime", ":dynamic_frudis", ":dynamic_saporiveri_pv", ":dynamic_saporiveri", ':dynamic_gramm']
namespace 'it.integry.integrywmsnative'
compileSdk 34
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.orhanobut:logger:2.2.0'
implementation 'com.github.lupaulus:logger:2.3.2'
//Firebase
// Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:26.0.0')
implementation platform('com.google.firebase:firebase-bom:32.8.1')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-core'
implementation 'com.google.firebase:firebase-crash'
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-perf'
implementation 'com.google.android.gms:play-services-basement:17.5.0'
implementation 'com.google.android.gms:play-services-basement:18.3.0'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.3.0-alpha03'
implementation 'androidx.constraintlayout:constraintlayout:2.0.3'
implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.preference:preference-ktx:1.1.1'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation('androidx.preference:preference-ktx:1.2.1') {
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel'
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0"
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.annimon:stream:1.2.1'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
implementation 'com.annimon:stream:1.2.2'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
// implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'org.apache.commons:commons-text:1.9'
//MVVM
def dagger2_version = '2.29.1'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
def dagger2_version = '2.46.1'
api "com.google.dagger:dagger:$dagger2_version"
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
api "com.google.dagger:dagger-android:$dagger2_version"
api "com.google.dagger:dagger-android-support:$dagger2_version" // if you use the support libraries
api "com.google.dagger:dagger-android-support:$dagger2_version"
// if you use the support libraries
annotationProcessor "com.google.dagger:dagger-android-processor:$dagger2_version"
//FAB
implementation 'com.github.clans:fab:1.6.4'
//CUSTOM VIEWS
implementation 'com.github.NaimishTrivedi:FBToast:1.0'
implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
implementation 'com.github.cachapa:ExpandableLayout:2.9.2'
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
implementation 'com.fede987:status-bar-alert:1.0.1'
implementation 'com.fxn769:stash:1.2'
testImplementation 'junit:junit:4.13.1'
implementation 'com.github.fede87:StatusBarAlert:1.0.1'
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
implementation 'com.github.pedromassango:doubleClick:3.0'
//SQLite ROOM
def room_version = "2.2.5"
def room_version = "2.6.1"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-rxjava3:$room_version"
//AppUpdate
implementation 'com.github.javiersantos:AppUpdater:2.7'
@@ -153,11 +166,26 @@ dependencies {
implementation project(':barcode_base_android_library')
implementation project(':honeywellscannerlibrary')
implementation project(':keyobardemulatorscannerlibrary')
implementation project(':barcode_kaiteki')
androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
androidTestImplementation 'org.testng:testng:7.3.0'
implementation 'com.github.RaviKoradiya:LiveAdapter:1.3.4'
// Required -- JUnit 4 framework
// testImplementation "org.junit.jupiter:junit-jupiter-api:5.8.1"
// androidTestImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
// androidTestImplementation 'org.testng:testng:7.4.0'
//Bluetooth device manager
implementation 'com.github.harry1453:android-bluetooth-serial:v1.1'
// RxJava is also required.
implementation 'io.reactivex.rxjava2:rxjava:2.1.12'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
}
repositories {
mavenCentral()
google()
maven { url 'https://jitpack.io' }
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +0,0 @@
package it.integry.integrywmsnative;
import android.content.Context;
import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumentation test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("it.integry.integrywmsnative", appContext.getPackageName());
}
}

View File

@@ -1,8 +0,0 @@
package it.integry.integrywmsnative.gest.spedizione;
class SpedizioneViewModelTest {
@org.junit.jupiter.api.Test
void createNewLU() {
}
}

View File

@@ -1,12 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="it.integry.integrywmsnative">
<manifest xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32"
tools:ignore="ScopedStorage" />
<application
android:name=".MainApplication"
@@ -17,52 +28,58 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
android:usesCleartextTraffic="true"
android:fullBackupContent="@xml/backup_descriptor"
android:requestLegacyExternalStorage="true">
<activity
android:name=".gest.spedizione.SpedizioneActivity"
android:screenOrientation="portrait"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing" />
<activity android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity" />
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.picking_resi_OLD.PickingResiActivity"
android:label="@string/activity_ultime_consegne_title"
android:screenOrientation="portrait"
android:theme="@style/Light" />
android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.prod_dettaglio_linea.ProdDettaglioLineaActivity"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.contab_doc_interni.edit_form.DocInterniEditFormActivity"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.picking_resi.PickingResiActivity"
android:screenOrientation="portrait"
android:theme="@style/Light" />
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/Light"
android:windowSoftInputMode="adjustPan">
android:name=".gest.main.MainActivity"
android:windowSoftInputMode="adjustNothing"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.CLIENTBARCODEACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".gest.accettazione_picking.AccettazionePickingActivity"
android:screenOrientation="portrait"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing" />
<activity
android:name=".gest.login.LoginActivity"
android:screenOrientation="portrait"
android:theme="@style/Light" />
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity"
android:windowSoftInputMode="adjustPan"
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.lista_bancali.ListaBancaliActivity"
android:label="@string/activity_lista_bancali_title"
android:screenOrientation="portrait"
android:theme="@style/Light" />
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.contenuto_bancale.ContenutoBancaleActivity"
android:label="@string/activity_contenuto_bancale_title"
android:screenOrientation="portrait"
android:theme="@style/Light" />
android:configChanges="orientation|screenSize|keyboardHidden" />
<activity
android:name=".gest.inventario.picking.PickingInventarioActivity"
android:label="@string/activity_picking_inventario_title"
android:windowSoftInputMode="adjustNothing"
android:configChanges="orientation|screenSize|keyboardHidden"/>
<meta-data
android:name="firebase_crashlytics_collection_enabled"
@@ -71,7 +88,8 @@
<activity
android:name=".SplashActivity"
android:label="@string/app_name"
android:theme="@style/SplashTheme">
android:theme="@style/SplashTheme"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -79,6 +97,10 @@
</intent-filter>
</activity>
<activity
android:name=".gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity"
android:screenOrientation="portrait" />
<provider
android:name=".core.update.GenericFileProvider"
android:authorities="${applicationId}.core.update.GenericFileProvider"

View File

@@ -3,9 +3,13 @@ package it.integry.integrywmsnative;
import android.app.Application;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.util.Log;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.context.AppContext;
import it.integry.integrywmsnative.core.data_store.db.RoomModule;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
public class MainApplication extends Application {
@@ -17,7 +21,10 @@ public class MainApplication extends Application {
public static MainApplicationModule appModule;
public static RoomModule roomModule;
private AppContext appContext = new AppContext(this);
private Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler;
@Inject
AppContext appContext;
@@ -27,17 +34,19 @@ public class MainApplication extends Application {
public void onCreate() {
super.onCreate();
appModule = new MainApplicationModule(MainApplication.this, this);
appModule = new MainApplicationModule(this);
roomModule = new RoomModule(this);
appComponent = DaggerMainApplicationComponent.builder()
.mainApplicationModule(appModule)
.roomModule(roomModule)
.build();
appComponent.inject(appContext);
appComponent.inject(this);
appContext.init();
res = getResources();
defaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(_unCaughtExceptionHandler);
}
// Called by the system when the device configuration changes while your component is running.
@@ -59,4 +68,22 @@ public class MainApplication extends Application {
System.exit(0);
}
// handler listener
private final Thread.UncaughtExceptionHandler _unCaughtExceptionHandler =
new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
// re-throw critical exception further to the os (important)
defaultUncaughtExceptionHandler.uncaughtException(thread, ex);
try {
UtilityLogger.error(new Exception(ex));
MainApplication.exit();
} catch (Exception e) {
Log.e("Uncaught error", "Exception Logger failed!", e);
}
}
};
}

View File

@@ -5,51 +5,368 @@ import javax.inject.Singleton;
import dagger.Component;
import it.integry.integrywmsnative.core.context.AppContext;
import it.integry.integrywmsnative.core.data_store.db.RoomModule;
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingComponent;
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingModule;
import it.integry.integrywmsnative.core.expansion.BaseActivityComponent;
import it.integry.integrywmsnative.core.expansion.BaseActivityModule;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentComponent;
import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentModule;
import it.integry.integrywmsnative.core.expansion.BaseFragmentComponent;
import it.integry.integrywmsnative.core.expansion.BaseFragmentModule;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoComponent;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoModule;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingComponent;
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingModule;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoComponent;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoModule;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingComponent;
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingModule;
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaComponent;
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniComponent;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoComponent;
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormComponent;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsComponent;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsModule;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti.DialogSelectLottiComponent;
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti.DialogSelectLottiModule;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleComponent;
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleModule;
import it.integry.integrywmsnative.gest.inventario.ElencoInventariComponent;
import it.integry.integrywmsnative.gest.inventario.ElencoInventariModule;
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsComponent;
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsModule;
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_row_actions.BottomSheetInventarioRowActionsComponent;
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_row_actions.BottomSheetInventarioRowActionsModule;
import it.integry.integrywmsnative.gest.inventario.dialogs.ask_info_inventario.DialogAskInfoInventarioComponent;
import it.integry.integrywmsnative.gest.inventario.dialogs.ask_info_inventario.DialogAskInfoInventarioModule;
import it.integry.integrywmsnative.gest.inventario.picking.PickingInventarioComponent;
import it.integry.integrywmsnative.gest.inventario.picking.PickingInventarioModule;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliComponent;
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliModule;
import it.integry.integrywmsnative.gest.login.LoginComponent;
import it.integry.integrywmsnative.gest.login.LoginModule;
import it.integry.integrywmsnative.gest.main.MainActivityComponent;
import it.integry.integrywmsnative.gest.main.MainActivityModule;
import it.integry.integrywmsnative.gest.main.MainFragmentComponent;
import it.integry.integrywmsnative.gest.main.MainFragmentModule;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoComponent;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoModule;
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoComponent;
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoModule;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiComponent;
import it.integry.integrywmsnative.gest.picking_resi.PickingResiModule;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoComponent;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoModule;
import it.integry.integrywmsnative.gest.prod_dettaglio_linea.ProdDettaglioLineaComponent;
import it.integry.integrywmsnative.gest.prod_dettaglio_linea.ProdDettaglioLineaModule;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdComponent;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdModule;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaComponent;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.dialog_ask_mag_prossimita.DialogAskMagazzinoProssimitaModule;
import it.integry.integrywmsnative.gest.prod_linee_produzione.ProdLineeProduzioneComponent;
import it.integry.integrywmsnative.gest.prod_linee_produzione.ProdLineeProduzioneModule;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeComponent;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeModule;
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceComponent;
import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.ProdRientroMerceOrderDetailComponent;
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdComponent;
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdModule;
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dialogs.info_giacenza.DialogInfoGiacenzaComponent;
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dialogs.info_giacenza.DialogInfoGiacenzaModule;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeComponent;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeModule;
import it.integry.integrywmsnative.gest.prod_versamento_materiale_su_mag_prossimita.ProdVersamentoMaterialeInBufferComponent;
import it.integry.integrywmsnative.gest.prod_versamento_materiale_su_mag_prossimita.ProdVersamentoMaterialeInBufferModule;
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditComponent;
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditModule;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaComponent;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdineAcquistoGrigliaModule;
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.edit_articolo.DialogEditArticoloComponent;
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.edit_articolo.DialogEditArticoloModule;
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.selectArtFromList.DialogSelectArtToOrderComponent;
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.selectArtFromList.DialogSelectArtToOrderModule;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaComponent;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaModule;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.dialogs.DialogScanGrigliaAcquistoComponent;
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeComponent;
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeModule;
import it.integry.integrywmsnative.gest.settings.MainSettingsComponent;
import it.integry.integrywmsnative.gest.settings.MainSettingsModule;
import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListComponent;
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListModule;
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloComponent;
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloModule;
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdComponent;
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdModule;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteComponent;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteModule;
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreComponent;
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreModule;
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceComponent;
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceModule;
import it.integry.integrywmsnative.view.bottom_sheet__item_edit.BottomSheetItemEditComponent;
import it.integry.integrywmsnative.view.bottom_sheet__item_edit.BottomSheetItemEditModule;
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalComponent;
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalModule;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteComponent;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteModule;
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdComponent;
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdModule;
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesComponent;
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesModule;
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreComponent;
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreModule;
import it.integry.integrywmsnative.view.dialogs.bind_product_barcode_with_package.DialogBindProductBarcodeWithPackageComponent;
import it.integry.integrywmsnative.view.dialogs.bind_product_barcode_with_package.DialogBindProductBarcodeWithPackageModule;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListComponent;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListModule;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListComponent;
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListModule;
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent;
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule;
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLUComponent;
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLUModule;
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdComponent;
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdModule;
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLUComponent;
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLUModule;
import it.integry.integrywmsnative.view.dialogs.input_quantity_to_return.DialogInputQuantityToReturnComponent;
import it.integry.integrywmsnative.view.dialogs.input_quantity_to_return.DialogInputQuantityToReturnModule;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Module;
import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCComponent;
import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCModule;
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUComponent;
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUModule;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiComponent;
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiModule;
// Definition of the Application graph
@Singleton
@Component(modules = {
MainApplicationModule.class,
RoomModule.class,
SplashActivityModule.class,
MainApplicationModule.class,
BaseActivityModule.class,
BaseFragmentModule.class,
BaseDialogFragmentModule.class,
LoginModule.class,
MainActivityModule.class,
PVOrdineAcquistoGrigliaModule.class,
MainFragmentModule.class,
MainAccettazioneOrdiniElencoModule.class,
ListaBancaliModule.class,
ContenutoBancaleModule.class,
PVOrdiniAcquistoGrigliaModule.class,
PVOrdineAcquistoEditModule.class,
PickingLiberoModule.class,
RettificaGiacenzeModule.class,
ElencoInventariModule.class,
SpedizioneModule.class,
AccettazionePickingModule.class,
AccettazioneOrdiniPickingModule.class,
UltimeConsegneClienteModule.class,
UltimiArriviFornitoreModule.class,
PickingResiModule.class,
DialogInputQuantityV2Module.class})
OrdiniUscitaElencoModule.class,
DialogInputQuantityV2Module.class,
DialogInputLUProdModule.class,
DialogScanArtModule.class,
DialogScanOrCreateLUModule.class,
ProdFabbisognoLineeProdModule.class,
VersamentoMerceModule.class,
DialogAskMagazzinoProssimitaModule.class,
DialogChooseBatchLotModule.class,
DialogRowInfoProdFabbisognoLineeProdModule.class,
ProdOrdineProduzioneElencoModule.class,
ProdRecuperoMaterialeModule.class,
ProdVersamentoMaterialeModule.class,
DialogChooseArtsFromMtbColrListModule.class,
DocInterniModule.class,
DialogSelectDocInfoModule.class,
DocInterniEditFormModule.class,
DialogSelectDocRowsModule.class,
DialogSelectLottiModule.class,
DialogAskClienteModule.class,
DialogEditArticoloModule.class,
DialogPrintOrderSSCCListModule.class,
ProdLineeProduzioneModule.class,
ProdDettaglioLineaModule.class,
DialogPrintUlSSCCModule.class,
DialogAskInfoInventarioModule.class,
DialogInputPesoLUModule.class,
PickingInventarioModule.class,
BottomSheetItemEditModule.class,
BottomSheetInventarioActionsModule.class,
BottomSheetInventarioRowActionsModule.class,
BottomSheetMtbColrEditModalModule.class,
DialogChooseArtsFromMtbAartListModule.class,
MainSettingsModule.class,
DialogInfoSituazioneArticoloModule.class,
DialogSelectArtToOrderModule.class,
MainAccettazioneBollaElencoModule.class,
AccettazioneBollaPickingModule.class,
DialogBindProductBarcodeWithPackageModule.class,
DialogAskUnknownBarcodeNotesModule.class,
ProdVersamentoMaterialeInBufferModule.class,
DialogInputQuantityToReturnModule.class,
DialogInfoAggiuntiveLUModule.class,
DialogAskLineaProdModule.class,
ProdRiposizionamentoDaProdModule.class,
DialogInfoGiacenzaModule.class,
ArticoliInGiacenzaModule.class,
DialogTracciamentoImballiModule.class,
DialogAskVettoreModule.class
})
public interface MainApplicationComponent {
BaseActivityComponent.Factory baseActivityComponent();
BaseFragmentComponent.Factory baseFragmentComponent();
BaseDialogFragmentComponent.Factory baseDialogFragmentComponent();
SplashActivityComponent.Factory splashActivityComponent();
LoginComponent.Factory loginActivityComponent();
MainActivityComponent.Factory mainActivityComponent();
PVOrdineAcquistoGrigliaComponent.Factory pvOrdineAcquistoGrigliaComponent();
MainFragmentComponent.Factory mainFragmentComponent();
MainAccettazioneOrdiniElencoComponent.Factory mainAccettazioneOrdiniComponent();
ListaBancaliComponent.Factory listaBancaliComponent();
ContenutoBancaleComponent.Factory contenutoBancaleComponent();
PVOrdiniAcquistoGrigliaComponent.Factory pvOrdineAcquistoGrigliaComponent();
PVOrdineAcquistoEditComponent.Factory pvOrdineAcquistoEditComponent();
PickingLiberoComponent.Factory pickingLiberoComponent();
RettificaGiacenzeComponent.Factory rettificaGiacenzeComponent();
ElencoInventariComponent.Factory inventarioComponent();
SpedizioneComponent.Factory spedizioneComponent();
AccettazionePickingComponent.Factory accettazionePickingComponent();
AccettazioneOrdiniPickingComponent.Factory accettazionePickingComponent();
UltimeConsegneClienteComponent.Factory ultimeConsegneClienteComponent();
UltimiArriviFornitoreComponent.Factory ultimiArriviFornitoreComponent();
PickingResiComponent.Factory pickingResiComponent();
OrdiniUscitaElencoComponent.Factory prodOrdineLavorazioneElencoComponent();
DialogAskClienteComponent.Factory dialogAskClienteComponent();
DialogInputQuantityV2Component.Factory dialogInputQuantityV2Component();
DialogInputLUProdComponent.Factory dialogInputLUProdComponent();
DialogScanArtComponent.Factory dialogScanArtComponent();
void inject(AppContext appContext);
DialogScanOrCreateLUComponent.Factory dialogScanOrCreateLUComponent();
ProdFabbisognoLineeProdComponent.Factory prodFabbisognoLineeProdComponent();
VersamentoMerceComponent.Factory versamentoMerceComponent();
DialogAskMagazzinoProssimitaComponent.Factory dialogAskMagazzinoProssimitaComponent();
DialogScanGrigliaAcquistoComponent.Factory dialogScanLisAComponent();
DialogChooseBatchLotComponent.Factory dialogChooseBatchLotComponent();
DialogRowInfoProdFabbisognoLineeProdComponent.Factory dialogRowInfoProdFabbisognoLineeProdComponent();
ProdRientroMerceComponent.Factory prodRientroMerceComponent();
ProdRientroMerceOrderDetailComponent.Factory prodRientroMerceOrderDetailComponent();
ProdOrdineProduzioneElencoComponent.Factory prodOrdineProduzioneElencoComponent();
ProdRecuperoMaterialeComponent.Factory prodRecuperoMaterialeComponent();
ProdVersamentoMaterialeComponent.Factory prodVersamentoMaterialeComponent();
DialogChooseArtsFromMtbColrListComponent.Factory dialogChooseArtsFromListaArtsComponent();
DocInterniComponent.Factory docInterniComponent();
DialogSelectDocInfoComponent.Factory dialogSelectDocInfoNewViewComponent();
DocInterniEditFormComponent.Factory docInterniEditFormComponent();
DialogEditArticoloComponent.Factory dialogEditArticoloComponent();
DialogPrintOrderSSCCListComponent.Factory dialogPrintOrderSSCCListComponent();
ProdLineeProduzioneComponent.Factory prodLineeProduzioneComponent();
ProdDettaglioLineaComponent.Factory prodDettaglioLineaComponent();
DialogPrintUlSSCCComponent.Factory dialogPrintUlSSCCComponent();
DialogAskInfoInventarioComponent.Factory dialogAskInfoInventarioComponent();
DialogInputPesoLUComponent.Factory dialogInputPesoLUComponent();
PickingInventarioComponent.Factory pickingInventarioComponent();
BottomSheetItemEditComponent.Factory bottomSheetItemEditComponent();
BottomSheetInventarioActionsComponent.Factory bottomSheetInventarioActionsComponent();
BottomSheetInventarioRowActionsComponent.Factory bottomSheetInventarioRowActionsComponent();
BottomSheetMtbColrEditModalComponent.Factory bottomSheetMtbColrEditModalComponent();
DialogChooseArtsFromMtbAartListComponent.Factory dialogDialogDialogChooseArtsFromMtbAartListViewComponent();
MainSettingsComponent.Factory mainSettingsFragmentComponent();
DialogInfoSituazioneArticoloComponent.Factory dialogInfoSituazioneArticoloComponent();
DialogSelectDocRowsComponent.Factory dialogSelectDocRowsNewComponent();
DialogSelectLottiComponent.Factory dialogSelectLottiComponent();
DialogSelectArtToOrderComponent.Factory dialogSelectArtToOrderNewComponent();
MainAccettazioneBollaElencoComponent.Factory mainAccettazioneBollaElencoComponent();
AccettazioneBollaPickingComponent.Factory accettazioneBollaPickingComponent();
DialogBindProductBarcodeWithPackageComponent.Factory dialogBindProductBarcodeWithPackageComponent();
DialogAskUnknownBarcodeNotesComponent.Factory dialogAskUnknownBarcodeNotesComponent();
ProdVersamentoMaterialeInBufferComponent.Factory prodVersamentoMaterialeInBufferComponent();
DialogInputQuantityToReturnComponent.Factory dialogInputQuantityToReturnComponent();
DialogInfoAggiuntiveLUComponent.Factory dialogInfoAggiuntiveLUComponent();
DialogAskLineaProdComponent.Factory dialogAskLineaProdComponent();
ProdRiposizionamentoDaProdComponent.Factory prodRiposizionamentoDaprodComponent();
DialogInfoGiacenzaComponent.Factory dialogInfoGiacenzaComponent();
ArticoliInGiacenzaComponent.Factory controlloGiacenzeComponent();
DialogTracciamentoImballiComponent.Factory dialogTracciamentoImballiComponent();
DialogAskVettoreComponent.Factory dialogAskVettoreComponent();
void inject(MainApplication mainApplication);
void inject(AppContext mainApplication);
}

View File

@@ -1,29 +1,64 @@
package it.integry.integrywmsnative;
import android.app.Application;
import android.content.Context;
import android.os.Handler;
import androidx.core.os.HandlerCompat;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
import it.integry.integrywmsnative.core.context.AppContext;
import it.integry.integrywmsnative.core.context.MainContext;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
import it.integry.integrywmsnative.core.ean128.Ean128Service;
import it.integry.integrywmsnative.core.menu.MenuRESTConsumer;
import it.integry.integrywmsnative.core.menu.MenuService;
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.AziendaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoBufferRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.ProductionLinesRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.consumers.VettoriRESTConsumer;
import it.integry.integrywmsnative.core.services.inventario.InventarioService;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.sound.SoundAlertService;
import it.integry.integrywmsnative.core.update.UpdatesManager;
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
@Module
public class MainApplicationModule {
private final Context mContext;
private final Application mApplication;
public MainApplicationModule(Context context, Application application) {
this.mContext = context;
public MainApplicationModule(Application application) {
this.mApplication = application;
}
@@ -35,14 +70,76 @@ public class MainApplicationModule {
@Provides
@Singleton
ColliDataRecoverService provideColliDataRecoverService() {
return new ColliDataRecoverService(mContext);
public ExecutorService providesExecutorService() {
return Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
}
@Provides
@Singleton
OrdiniRESTConsumer provideOrdiniRESTConsumer() {
return new OrdiniRESTConsumer();
public Handler providesMainThreadHandler() {
return HandlerCompat.createAsync(mApplication.getApplicationContext().getMainLooper());
}
@Provides
@Singleton
public SettingsManager provideSettingsManager(SystemRESTConsumer systemRESTConsumer, AziendaRESTConsumer aziendaRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer) {
return new SettingsManager(mApplication, systemRESTConsumer, aziendaRESTConsumer, gestSetupRESTConsumer, posizioniRESTConsumer);
}
@Provides
@Singleton
AppContext providesAppContext() {
return new AppContext(mApplication);
}
@Provides
@Singleton
MainContext providesMainContextNew(MenuService menuService, AppDatabase appDatabase, SystemRESTConsumer systemRESTConsumer) {
return new MainContext(mApplication.getApplicationContext(), menuService, appDatabase, systemRESTConsumer);
}
@Provides
@Singleton
ColliDataRecoverService provideColliDataRecoverService() {
ColliDataRecoverService colliDataRecoverService = new ColliDataRecoverService(mApplication.getApplicationContext());
colliDataRecoverService.init();
return colliDataRecoverService;
}
@Provides
@Singleton
Ean128Service provideEan128Service() {
return new Ean128Service();
}
@Provides
@Singleton
MenuService provideMenuService(MenuRESTConsumer menuRESTConsumer) {
return new MenuService(menuRESTConsumer);
}
@Provides
@Singleton
UpdatesManager provideUpdatesManager() {
return new UpdatesManager();
}
@Provides
@Singleton
DialogProgressView providesDialogProgressView() {
return DialogProgressView.newInstance();
}
@Provides
@Singleton
DialogInputQuantityV2View providesDialogInputQuantityV2View() {
return new DialogInputQuantityV2View();
}
@Provides
@Singleton
OrdiniRESTConsumer provideOrdiniRESTConsumer(SystemRESTConsumer systemRESTConsumer, EntityRESTConsumer entityRESTConsumer) {
return new OrdiniRESTConsumer(systemRESTConsumer, entityRESTConsumer);
}
@Provides
@@ -53,20 +150,65 @@ public class MainApplicationModule {
@Provides
@Singleton
ArticoloRESTConsumer provideArticoloRESTConsumer() {
return new ArticoloRESTConsumer();
ArticoloRESTConsumer provideArticoloRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new ArticoloRESTConsumer(systemRESTConsumer);
}
@Provides
@Singleton
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer() {
return new ColliMagazzinoRESTConsumer();
CommessaRESTConsumer provideCommessaRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new CommessaRESTConsumer(systemRESTConsumer);
}
@Provides
@Singleton
BarcodeRESTConsumer provideBarcodeRESTConsumer() {
return new BarcodeRESTConsumer();
DepositoRESTConsumer provideDepositoRESTConsumer(EntityRESTConsumer entityRESTConsumer, SystemRESTConsumer systemRESTConsumer) {
return new DepositoRESTConsumer(entityRESTConsumer, systemRESTConsumer);
}
@Provides
@Singleton
MenuRESTConsumer provideMenuRESTConsumer() {
return new MenuRESTConsumer();
}
@Provides
@Singleton
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
return new MagazzinoRESTConsumer(executorService, systemRESTConsumer);
}
@Provides
@Singleton
MesRESTConsumer provideMesRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new MesRESTConsumer(systemRESTConsumer);
}
@Provides
@Singleton
EntityRESTConsumer provideEntityRESTConsumer() {
return new EntityRESTConsumer();
}
@Provides
@Singleton
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer(SystemRESTConsumer systemRESTConsumer,
ArticoloRESTConsumer articoloRESTConsumer,
EntityRESTConsumer entityRESTConsumer,
SettingsManager settingsManager) {
return new ColliMagazzinoRESTConsumer(systemRESTConsumer, articoloRESTConsumer, entityRESTConsumer, settingsManager);
}
@Provides
@Singleton
AziendaRESTConsumer provideAziendaRESTConsumer() {
return new AziendaRESTConsumer();
}
@Provides
@Singleton
BarcodeRESTConsumer provideBarcodeRESTConsumer(Ean128Service ean128Service) {
return new BarcodeRESTConsumer(ean128Service);
}
@Provides
@@ -81,5 +223,102 @@ public class MainApplicationModule {
return new SystemRESTConsumer();
}
@Provides
@Singleton
PVOrdiniAcquistoRESTConsumer providesPVOrdiniAcquistoRESTConsumer(MagazzinoRESTConsumer magazzinoRESTConsumer) {
return new PVOrdiniAcquistoRESTConsumer(magazzinoRESTConsumer);
}
@Provides
@Singleton
PosizioniRESTConsumer providesPosizioniRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new PosizioniRESTConsumer(systemRESTConsumer);
}
@Provides
@Singleton
ProdFabbisognoLineeProdRESTConsumer providesProdFabbisognoLineeProdRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
return new ProdFabbisognoLineeProdRESTConsumer(systemRESTConsumer);
}
@Provides
@Singleton
DocInterniRESTConsumer provideDocInterniRESTConsumer(MagazzinoRESTConsumer magazzinoRESTConsumer) {
return new DocInterniRESTConsumer(magazzinoRESTConsumer);
}
@Provides
@Singleton
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(ArticoloRESTConsumer articoloRESTConsumer) {
return new GiacenzaRESTConsumer(articoloRESTConsumer);
}
@Provides
@Singleton
ImballiRESTConsumer provideImballiRESTConsumer(ExecutorService executorService) {
return new ImballiRESTConsumer(executorService);
}
@Provides
@Singleton
VettoriRESTConsumer provideVettoriRESTConsumer(ExecutorService executorService) {
return new VettoriRESTConsumer(executorService);
}
@Provides
@Singleton
InventarioService provideInventarioService(GiacenzaRESTConsumer giacenzaRESTConsumer) {
return new InventarioService(giacenzaRESTConsumer);
}
@Provides
@Singleton
ProductionLinesRESTConsumer provideProductionLinesRESTConsumer() {
return new ProductionLinesRESTConsumer();
}
@Provides
@Singleton
DocumentRESTConsumer provideDocumentiRESTConsumer() {
return new DocumentRESTConsumer();
}
@Provides
@Singleton
ColliAccettazioneRESTConsumer provideColliAccettazioneRESTConsumer() {
return new ColliAccettazioneRESTConsumer();
}
@Provides
@Singleton
ColliSpedizioneRESTConsumer provideColliSpedizioneRESTConsumer() {
return new ColliSpedizioneRESTConsumer();
}
@Provides
@Singleton
ColliLavorazioneRESTConsumer provideColliLavorazioneRESTConsumer(SettingsManager settingsManager) {
return new ColliLavorazioneRESTConsumer(settingsManager);
}
@Provides
@Singleton
MagazzinoAutomaticoRESTConsumer provideMagazzinoAutomaticoRESTConsumer() {
return new MagazzinoAutomaticoRESTConsumer();
}
@Provides
@Singleton
MagazzinoBufferRESTConsumer provideMagazzinoBufferRESTConsumer() {
return new MagazzinoBufferRESTConsumer();
}
@Provides
@Singleton
SoundAlertService provideSoundAlertService() {
SoundAlertService soundAlertService = new SoundAlertService(mApplication.getApplicationContext());
soundAlertService.init();
return soundAlertService;
}
}

View File

@@ -1,65 +1,71 @@
package it.integry.integrywmsnative;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.view.LayoutInflater;
import android.widget.TextView;
import androidx.databinding.DataBindingUtil;
import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import javax.inject.Inject;
import it.integry.integrywmsnative.core.context.MainContext;
import it.integry.integrywmsnative.core.expansion.BaseActivity;
import it.integry.integrywmsnative.core.expansion.RunnableArgsss;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.PermissionsHelper;
import it.integry.integrywmsnative.core.utility.UtilityContext;
import it.integry.integrywmsnative.databinding.ActivitySplashBinding;
import it.integry.integrywmsnative.gest.login.LoginActivity;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.gest.main.MainActivity;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
public class SplashActivity extends BaseActivity {
public class SplashActivity extends BaseActivity implements MainContext.Listener {
private ActivitySplashBinding mBinding;
private MainContext mainContext = new MainContext(this);
// private MainContext mainContext = new MainContext(this);
@Inject
MainContext mainContext;
private RunnableArgsss<Integer, String[], List<Integer>> onRequestPermissionResult;
public static void startActivity(Context context) {
Intent intent = new Intent(context, SplashActivity.class);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MainApplication.appComponent
.splashActivityComponent()
.create()
.inject(this);
mainContext.setListener(this);
mBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_splash, null, false);
setContentView(mBinding.getRoot());
initAppVersion();
UtilityContext.initMainActivity(this);
initAppVersion();
initPermissions(this::init);
}
private void initPermissions(Runnable onComplete) {
PermissionsHelper.askPermissions(this, () -> {
onComplete.run();
}, permanentlyDenied -> {
if(permanentlyDenied) {
DialogSimpleMessageHelper.makeErrorDialog(this,
new SpannableString(getText(R.string.permissions_permanently_denied)), null, () -> {
this.finish();
}).show();
} else {
initPermissions(onComplete);
}
});
}
private void initAppVersion() {
try {
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
@@ -67,7 +73,7 @@ public class SplashActivity extends BaseActivity {
String debugText = "";
if(BuildConfig.DEBUG) debugText += "\n[DEBUG VERSION]";
if (BuildConfig.DEBUG) debugText += "\n[DEBUG VERSION]";
mBinding.appVersionTextview.setText("v" + version + debugText);
} catch (PackageManager.NameNotFoundException e) {
@@ -75,15 +81,40 @@ public class SplashActivity extends BaseActivity {
}
}
private void initPermissions(Runnable onComplete) {
PermissionsHelper.askPermissions(this, onComplete, permanentlyDenied -> {
if (permanentlyDenied)
onError(new SpannableString(getText(R.string.permissions_permanently_denied)));
// else {
// initPermissions(onComplete);
// }
});
}
private void init() {
if(!SettingsManager.i().isUserLoggedIn()){
if (!SettingsManager.i().isUserLoggedIn()) {
startLoginActivity();
} else {
mainContext.init(this::startMainActivity);
mainContext.init();
}
}
@Override
public void onDBDataLoading(String item) {
mBinding.loadingInfoTextview.setText("Caricamento " + item);
}
@Override
public void onMenuLoading() {
mBinding.loadingInfoTextview.setText("Caricamento menù");
}
@Override
public void onContextInitialized() {
startMainActivity();
}
public void setOnRequestPermissionsResult(RunnableArgsss<Integer, String[], List<Integer>> onRequestPermissionResult) {
@@ -93,9 +124,10 @@ public class SplashActivity extends BaseActivity {
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if(this.onRequestPermissionResult != null) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (this.onRequestPermissionResult != null) {
List<Integer> grantResultsList = new ArrayList<>();
for(int i = 0; i < grantResults.length; i++) {
for (int i = 0; i < grantResults.length; i++) {
grantResultsList.add(grantResults[i]);
}
@@ -104,20 +136,26 @@ public class SplashActivity extends BaseActivity {
}
private void startLoginActivity(){
private void startLoginActivity() {
this.finish();
Intent myIntent = new Intent(this, LoginActivity.class);
startActivity(myIntent);
}
private void startMainActivity(){
private void startMainActivity() {
this.finish();
Intent myIntent = new Intent(this, MainActivity.class);
startActivity(myIntent);
}
@Override
public void onError(Spanned message) {
DialogSimpleMessageView.makeErrorDialog(
message, null, this::finish, R.string.logout, () -> {
this.mainContext.logout(MainApplication::exit);
})
.show(this.getSupportFragmentManager(), "tag");
}
}

View File

@@ -0,0 +1,15 @@
package it.integry.integrywmsnative;
import dagger.Subcomponent;
@Subcomponent
public interface SplashActivityComponent {
@Subcomponent.Factory
interface Factory {
SplashActivityComponent create();
}
void inject(SplashActivity mainActivity);
}

View File

@@ -0,0 +1,7 @@
package it.integry.integrywmsnative;
import dagger.Module;
@Module(subcomponents = SplashActivityComponent.class)
public class SplashActivityModule {
}

View File

@@ -5,8 +5,9 @@ public class CommonConst {
public static class Login {
public static class Azienda {
public static String protocol = "https";
public static String host = "www2.studioml.it";
public static int port = 80;
public static int port = 443;
}
}
@@ -16,7 +17,7 @@ public class CommonConst {
public static String DEFAULT_ANONYMOUS_UL_SERIE = "UL";
public static int NUMBER_OF_DECIMAL_DIGITS = 3;
public static int NUMBER_OF_DECIMAL_DIGITS = 5;
}
public static class Files {

View File

@@ -23,7 +23,7 @@ public class BarcodeCallbackDTO {
return onScanSuccessfull;
}
public BarcodeCallbackDTO setOnScanSuccessfull(RunnableArgs<BarcodeScanDTO> onScanSuccessfull) {
public BarcodeCallbackDTO setOnScanSuccessful(RunnableArgs<BarcodeScanDTO> onScanSuccessfull) {
this.onScanSuccessfull = onScanSuccessfull;
return this;
}

View File

@@ -1,107 +1,100 @@
package it.integry.integrywmsnative.core.barcode_reader;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Pair;
import android.view.KeyEvent;
import androidx.appcompat.app.AppCompatActivity;
import androidx.preference.PreferenceManager;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;
import it.integry.barcode_base_android_library.exception.BarcodeAdapterNotFoundException;
import it.integry.barcode_base_android_library.interfaces.BarcodeReaderInterface;
import it.integry.barcode_base_android_library.model.BarcodeSetting;
import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityLogger;
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
import it.integry.keyobardemulatorscannerlibrary.KeyboardEmulatorBarcodeReader;
import it.integry.pointmobilescannerlibrary.PointMobileBarcodeReader;
import it.integry.zebrascannerlibrary.ZebraBarcodeReader;
public class BarcodeManager {
private static AppCompatActivity context;
private static BarcodeReaderInterface mCurrentBarcodeInterface;
private static List<BarcodeCallbackDTO> mBarcodeCallbacksStacktrace = new ArrayList<>();
private static final List<BarcodeCallbackDTO> mBarcodeCallbacksStacktrace = new ArrayList<>();
private static boolean mEnabled = true;
private static Class<? extends BarcodeReaderInterface>[] registeredBarcodeReaderInterfaces = new Class[]{
PointMobileBarcodeReader.class,
ZebraBarcodeReader.class,
HoneyWellBarcodeReader.class,
KeyboardEmulatorBarcodeReader.class
};
private static final Class<? extends BarcodeReaderInterface>[] registeredBarcodeReaderInterfaces = new Class[]{PointMobileBarcodeReader.class, ZebraBarcodeReader.class, HoneyWellBarcodeReader.class, KeyboardEmulatorBarcodeReader.class};
public static void init(AppCompatActivity context) {
BarcodeManager.context = context;
public static void init(Context applicationContext) throws Exception {
initBarcodeReader();
initBarcodeReader(applicationContext);
}
private static void initBarcodeReader() {
private static void initBarcodeReader(Context applicationContext) throws Exception {
for (Class<? extends BarcodeReaderInterface> readerInterface : registeredBarcodeReaderInterfaces){
for (Class<? extends BarcodeReaderInterface> readerInterface : registeredBarcodeReaderInterfaces) {
Constructor<?> cons = null;
try {
cons = Class.forName(readerInterface.getName()).getConstructors()[0];
BarcodeReaderInterface object = (BarcodeReaderInterface) cons.newInstance(context);
Constructor<?> cons = Class.forName(readerInterface.getName()).getConstructors()[0];
BarcodeReaderInterface object = (BarcodeReaderInterface) cons.newInstance(applicationContext);
if(object.isRightAdapter()) {
mCurrentBarcodeInterface = object;
break;
}
} catch (Exception e) {
UtilityExceptions.defaultException(context,e);
if (object.isRightAdapter()) {
mCurrentBarcodeInterface = object;
break;
}
}
if(mCurrentBarcodeInterface != null) {
if (mCurrentBarcodeInterface != null) {
try {
mCurrentBarcodeInterface.init(() -> {
mCurrentBarcodeInterface.register(data -> {
BarcodeCallbackDTO callback = getValidCallback();
if(callback != null && mEnabled) {
callback.getOnScanSuccessfull().run(data);
}
}, ex -> {
BarcodeCallbackDTO callback = getValidCallback();
if(callback != null && mEnabled) {
callback.getOnScanFailed().run(ex);
}
});
mCurrentBarcodeInterface.init(() -> {
mCurrentBarcodeInterface.register(data -> {
BarcodeCallbackDTO callback = getValidCallback();
if (callback != null && mEnabled) {
callback.getOnScanSuccessfull().run(data);
}
}, ex -> {
BarcodeCallbackDTO callback = getValidCallback();
if (callback != null && mEnabled) {
callback.getOnScanFailed().run(ex);
}
});
} catch (BarcodeAdapterNotFoundException ex) {
UtilityExceptions.defaultException(context, ex);
}
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
var additionalSettings = new ArrayList<Pair<String, Object>>();
var scanDelay = sharedPreferences.getString(MainSettingsFragment.KEY_TRIGGER_SCAN_DELAY, null);
var scanDelaySetting = new Pair<String, Object>(BarcodeSetting.P_TRIGGER_SCAN_DELAY, scanDelay);
additionalSettings.add(scanDelaySetting);
var scanMode = sharedPreferences.getString(MainSettingsFragment.KEY_TRIGGER_SCAN_MODE, null);
var scanModeSetting = new Pair<String, Object>(BarcodeSetting.P_TRIGGER_SCAN_MODE, scanMode);
additionalSettings.add(scanModeSetting);
BarcodeManager.changeSettings(additionalSettings);
});
}
}
private static BarcodeCallbackDTO getValidCallback() {
if(mBarcodeCallbacksStacktrace.size() > 0) {
return mBarcodeCallbacksStacktrace.get(mBarcodeCallbacksStacktrace.size() -1);
if (mBarcodeCallbacksStacktrace.size() > 0) {
return mBarcodeCallbacksStacktrace.get(mBarcodeCallbacksStacktrace.size() - 1);
} else {
return null;
}
}
public static boolean onKeyDown(int keyCode, KeyEvent keyEvent){
if (mCurrentBarcodeInterface != null)
mCurrentBarcodeInterface.onKeyEvent(keyEvent);
public static boolean onKeyDown(int keyCode, KeyEvent keyEvent) {
if (mCurrentBarcodeInterface != null) mCurrentBarcodeInterface.onKeyEvent(keyEvent);
return true;
}
@@ -113,8 +106,8 @@ public class BarcodeManager {
int newID = -1;
if(mBarcodeCallbacksStacktrace.size() > 0) {
newID = mBarcodeCallbacksStacktrace.get(mBarcodeCallbacksStacktrace.size() -1).getID() + 1;
if (mBarcodeCallbacksStacktrace.size() > 0) {
newID = mBarcodeCallbacksStacktrace.get(mBarcodeCallbacksStacktrace.size() - 1).getID() + 1;
} else {
newID = 1;
}
@@ -131,7 +124,7 @@ public class BarcodeManager {
//Rimuovo la callback con l'ID trovato e tutte quelle con >ID in modo che rimuovo tutte le call aggiunte successivamente
for (int i = 0; i < mBarcodeCallbacksStacktrace.size(); i++) {
if(mBarcodeCallbacksStacktrace.get(i).getID() == ID || callbackObjFound) {
if (mBarcodeCallbacksStacktrace.get(i).getID() == ID || callbackObjFound) {
mBarcodeCallbacksStacktrace.remove(i);
callbackObjFound = true;
@@ -142,16 +135,21 @@ public class BarcodeManager {
public static void disable() {
mEnabled = false;
// UtilityLogger.info("Barcode reader disabled");
}
public static void enable() {
mEnabled = true;
// UtilityLogger.info("Barcode reader enabled");
}
public static boolean isEnabled() {
return mEnabled;
}
public static void changeSettings(List<Pair<String, Object>> settings) {
mCurrentBarcodeInterface.changeSettings(settings);
}
public static boolean isKeyboardEmulator() {
return mCurrentBarcodeInterface instanceof KeyboardEmulatorBarcodeReader;

View File

@@ -0,0 +1,5 @@
package it.integry.integrywmsnative.core.base;
public interface Callable<I, O> {
O call(I input);
}

View File

@@ -0,0 +1,5 @@
package it.integry.integrywmsnative.core.base;
public interface CallableII<I, L, O> {
O call(I input, L input2);
}

View File

@@ -1,32 +0,0 @@
package it.integry.integrywmsnative.core.class_router;
import java.util.HashMap;
import it.integry.integrywmsnative.core.class_router.configs.MenuConfiguration;
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
import it.integry.integrywmsnative.core.utility.UtilityHashMap;
public class BaseCustomConfiguration implements ICustomConfiguration {
public static class Keys {
public static int MENU_CONFIGURATION = 0;
public static int FLAG_SHOW_COD_FORN_IN_SPEDIZIONE = 1;
public static int CUSTOM_DYNAMIC_VERSION_PATH = 2;
public static int FLAG_SPEDIZIONE_GROUP_BY_GRP_MERC = 3;
}
protected HashMap<Integer, Object> configurations = new HashMap<Integer, Object>() {{
put(Keys.MENU_CONFIGURATION, new MenuConfiguration());
put(Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE, true);
put(Keys.FLAG_SPEDIZIONE_GROUP_BY_GRP_MERC, false);
}};
@Override
public <T> T getConfig(int key) {
return UtilityHashMap.getValue(configurations, key);
}
}

View File

@@ -1,88 +0,0 @@
package it.integry.integrywmsnative.core.class_router;
import android.content.Context;
import android.util.Pair;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.class_router.exceptions.MethodPathNotRegisteredException;
public class ClassRouter {
public enum PATH {
FILTRO_ORDINI_VENDITA,
ORDINI_VENDITA,
CUSTOM_CONFIGURATION,
BARCODE_CUSTOMIZATION
}
private static Context context;
private static List<Pair<PATH, Object>> mRouteClasses = new ArrayList<>();
public static void init(Context context) {
ClassRouter.context = context;
}
private static boolean checkIClassExists(PATH path) {
boolean methodAlreadyDeclared = false;
for(int i = 0; i < mRouteClasses.size() && !methodAlreadyDeclared; i++) {
if(mRouteClasses.get(i).first == path) methodAlreadyDeclared = true;
}
return methodAlreadyDeclared;
}
private static int getClassIndex(PATH path) {
for(int i = 0; i < mRouteClasses.size(); i++) {
if(mRouteClasses.get(i).first == path) return i;
}
return -1;
}
public static void registerPath(PATH path, Class clazz) {
if(checkIClassExists(path)) {
//throw new MethodPathAlreadyDeclaredException(path);
}
try {
mRouteClasses.add(new Pair<>(path, clazz.newInstance()));
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
public static void deregisterPath(PATH path) {
if(checkIClassExists(path)) {
mRouteClasses.remove(getClassIndex(path));
}
}
public static <T> T getInstance(PATH path) {
try {
if (!checkIClassExists(path)) {
throw new MethodPathNotRegisteredException(path);
}
Object instance = mRouteClasses.get(getClassIndex(path)).second;
return (T)instance;
} catch (MethodPathNotRegisteredException ex) {
// UtilityExceptions.defaultException(null, ex, true);
}
return null;
}
}

View File

@@ -32,6 +32,8 @@ public class BaseMenuConfiguration {
@IdRes
private int mGroupId;
private String codMenu;
private List<MenuItem> mItems = new ArrayList<>();
public @IdRes int getGroupId() {
@@ -52,6 +54,15 @@ public class BaseMenuConfiguration {
return this;
}
public String getCodMenu() {
return codMenu;
}
public MenuGroup setCodMenu(String codMenu) {
this.codMenu = codMenu;
return this;
}
public List<MenuItem> getItems() {
return mItems;
}
@@ -67,6 +78,7 @@ public class BaseMenuConfiguration {
@StringRes private int mTitleText;
@DrawableRes private int mTitleIcon;
@DrawableRes private int mDrawerIcon;
private String codMenu;
private RunnableWithReturn<Fragment> fragmentFactory;
public int getID() {
@@ -105,6 +117,15 @@ public class BaseMenuConfiguration {
return this;
}
public String getCodMenu() {
return codMenu;
}
public MenuItem setCodMenu(String codMenu) {
this.codMenu = codMenu;
return this;
}
public RunnableWithReturn<Fragment> getFragmentFactory() {
return fragmentFactory;
}

View File

@@ -2,16 +2,27 @@ package it.integry.integrywmsnative.core.class_router.configs;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoFragment;
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoFragment;
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaFragment;
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniFragment;
import it.integry.integrywmsnative.gest.inventario.ElencoInventariFragment;
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
import it.integry.integrywmsnative.gest.prod_pick_ord_lavorazione.ProdOrdineLavorazioneElencoFragment;
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdFragment;
import it.integry.integrywmsnative.gest.prod_linee_produzione.ProdLineeProduzioneFragment;
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceFragment;
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdFragment;
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
import it.integry.integrywmsnative.gest.prod_versamento_materiale_su_mag_prossimita.ProdVersamentoMaterialeInBufferFragment;
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaFragment;
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloView;
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
import it.integry.integrywmsnative.gest.vendita.MainVenditaFragment;
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
public class MenuConfiguration extends BaseMenuConfiguration {
@@ -24,91 +35,169 @@ public class MenuConfiguration extends BaseMenuConfiguration {
new MenuGroup()
.setGroupText(R.string.purchase)
.setGroupId(R.id.nav_group_acquisto)
.setCodMenu("MM008")
.addItem(new MenuItem()
.setID(R.id.nav_accettazione)
.setTitleText(R.string.accettazione_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_accettazione)
.setCodMenu("MG044")
.setTitleText(R.string.accettazione_ordine_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_accettazione_ordini)
.setDrawerIcon(R.drawable.ic_black_download)
.setFragmentFactory(MainAccettazioneFragment::newInstance))
.setFragmentFactory(MainAccettazioneOrdiniElencoFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_accettazione_bolle)
.setCodMenu("MG065")
.setTitleText(R.string.accettazione_bolle_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_accettazione_bolle)
.setDrawerIcon(R.drawable.ic_black_download)
.setFragmentFactory(MainAccettazioneBollaElencoFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_resi_fornitore)
.setCodMenu("MG045")
.setTitleText(R.string.fragment_ultime_arrivi_fornitore_title)
.setTitleIcon(R.drawable.ic_latest_delivery)
.setDrawerIcon(R.drawable.ic_black_latest_delivery)
.setFragmentFactory(UltimiArriviFornitoreFragment::newInstance))
).addGroup(
new MenuGroup()
.setGroupText(R.string.checkout)
.setGroupId(R.id.nav_group_spedizione)
new MenuGroup()
.setGroupText(R.string.checkout)
.setGroupId(R.id.nav_group_spedizione)
.setCodMenu("MM010")
.addItem(new MenuItem()
.setID(R.id.nav_spedizione)
.setCodMenu("MG046")
.setTitleText(R.string.vendita_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(R.drawable.ic_upload)
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, DialogInfoSituazioneArticoloView.class)))
.addItem(new MenuItem()
.setID(R.id.nav_rettifica_spedizione)
.setCodMenu("MG064")
.setTitleText(R.string.rettifica_spedizione_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_rettifica_spedizione)
.setDrawerIcon(R.drawable.ic_rettifica_spedizione_drawer)
.setFragmentFactory(() -> RettificaGiacenzeFragment.newInstance(GestioneEnum.VENDITA)))
.addItem(new MenuItem()
.setID(R.id.nav_free_picking)
.setCodMenu("MG047")
.setTitleText(R.string.free_picking)
.setTitleIcon(R.drawable.ic_dashboard_picking_libero)
.setDrawerIcon(R.drawable.ic_black_barcode_scanner)
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.free_picking, GestioneEnum.VENDITA, SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false)))
.addItem(new MenuItem()
.setID(R.id.nav_resi_cliente)
.setCodMenu("MG048")
.setTitleText(R.string.fragment_ultime_consegne_cliente_title)
.setTitleIcon(R.drawable.ic_latest_delivery_customer)
.setDrawerIcon(R.drawable.ic_black_latest_delivery)
.setFragmentFactory(UltimeConsegneClienteFragment::newInstance))
).addGroup(new MenuGroup()
.setGroupText(R.string.manufacture)
.setGroupId(R.id.nav_group_produzione)
.setCodMenu("MM009")
.addItem(new MenuItem()
.setID(R.id.nav_spedizione)
.setTitleText(R.string.vendita_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_spedizione)
.setDrawerIcon(R.drawable.ic_black_upload)
.setFragmentFactory(MainVenditaFragment::newInstance))
.setID(R.id.nav_prod_ordine_produzione)
.setCodMenu("MG049")
.setTitleText(R.string.prod_ordine_produzione_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_accettazione_produzione)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdOrdineProduzioneElencoFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_free_picking)
.setTitleText(R.string.free_picking)
.setTitleIcon(R.drawable.ic_dashboard_picking_libero)
.setID(R.id.nav_prod_ordine_lavorazione)
.setCodMenu("MG050")
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, SettingsManager.iDB().isFlagProduzioneShowInfo() ? DialogInfoSituazioneArticoloView.class : null)))
.addItem(new MenuItem()
.setID(R.id.nav_free_lav_picking)
.setCodMenu("MG051")
.setTitleText(R.string.free_lav_picking)
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_libero)
.setDrawerIcon(R.drawable.ic_black_barcode_scanner)
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.free_lav_picking, GestioneEnum.LAVORAZIONE, SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false)))
.addItem(new MenuItem()
.setID(R.id.nav_resi_cliente)
.setTitleText(R.string.fragment_ultime_consegne_cliente_title)
.setTitleIcon(R.drawable.ic_latest_delivery_customer)
.setDrawerIcon(R.drawable.ic_black_latest_delivery)
.setFragmentFactory(UltimeConsegneClienteFragment::newInstance))
).addGroup(new MenuGroup()
.setGroupText(R.string.manufacture)
.setGroupId(R.id.nav_group_produzione)
.setID(R.id.nav_prod_posizionamento_da_ord)
.setCodMenu("MG052")
.setTitleText(R.string.prod_fabbisogno_linee_prod_title)
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
.setDrawerIcon(R.drawable.ic_black_load_shelf)
.setFragmentFactory(ProdFabbisognoLineeProdFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_ordine_produzione)
.setTitleText(R.string.prod_ordine_produzione_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_accettazione_produzione)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdOrdineProduzioneElencoFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_versamento_materiale)
.setCodMenu("MG053")
.setTitleText(R.string.prod_versamento_materiale_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdVersamentoMaterialeFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_ordine_lavorazione)
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdOrdineLavorazioneElencoFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_recupero_materiale)
.setCodMenu("MG054")
.setTitleText(R.string.prod_recupero_materiale_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_recupero_materiale)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdRecuperoMaterialeFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_free_lav_picking)
.setTitleText(it.integry.integrywmsnative.R.string.free_lav_picking)
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_libero)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
.addItem(new MenuItem()
.setID(R.id.nav_prod_rientro_merce)
.setCodMenu("MG059")
.setTitleText(R.string.rientro_merce_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_prod_accettazione_produzione)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdRientroMerceFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_versamento_materiale)
.setTitleText(R.string.prod_versamento_materiale_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdVersamentoMaterialeFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_linee)
.setCodMenu("MG061")
.setTitleText(R.string.nav_prod_linee_title)
.setTitleIcon(R.drawable.ic_production_line)
.setDrawerIcon(R.drawable.ic_production_line)
.setFragmentFactory(ProdLineeProduzioneFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_recupero_materiale)
.setTitleText(R.string.prod_recupero_materiale_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_recupero_materiale)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdRecuperoMaterialeFragment::newInstance))
)
.addGroup(
.addItem(new MenuItem()
.setID(R.id.nav_prod_versamento_materiale_in_buffer)
.setCodMenu("MG066")
.setTitleText(R.string.prod_versamento_materiale_in_buffer_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(ProdVersamentoMaterialeInBufferFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_prod_versamento_su_ordine)
.setCodMenu("MG068")
.setTitleText(R.string.prod_versamento_su_ordine_title_fragment)
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_su_ord)
.setDrawerIcon(R.drawable.ic_black_external)
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.prod_versamento_su_ordine_title_fragment, GestioneEnum.LAVORAZIONE, false, true)))
.addItem(new MenuItem()
.setID(R.id.nav_prod_riposizionamento_da_ord)
.setCodMenu("MG069")
.setTitleText(R.string.prod_riposizionamento_da_prod_title)
.setTitleIcon(R.drawable.ic_production_line_produzione)
.setDrawerIcon(R.drawable.ic_black_load_shelf)
.setFragmentFactory(ProdRiposizionamentoDaProdFragment::newInstance))
).addGroup(
new MenuGroup()
.setGroupText(R.string.internal_handling)
.setGroupId(R.id.nav_group_movimentazione_interna)
.setCodMenu("MM011")
.addItem(new MenuItem()
.setID(R.id.nav_versamento_merce)
.setCodMenu("MG055")
.setTitleText(R.string.versamento_merce_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_versamento_merce)
.setDrawerIcon(R.drawable.ic_black_load_shelf)
@@ -116,12 +205,55 @@ public class MenuConfiguration extends BaseMenuConfiguration {
.addItem(new MenuItem()
.setID(R.id.nav_rettifica_giacenze)
.setCodMenu("MG056")
.setTitleText(R.string.rettifica_giacenze_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze)
.setDrawerIcon(R.drawable.ic_black_empty_box)
.setFragmentFactory(RettificaGiacenzeFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_inventario)
.setCodMenu("MG062")
.setTitleText(R.string.inventario_fragment_title)
.setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze)
.setDrawerIcon(R.drawable.ic_black_empty_box)
.setFragmentFactory(ElencoInventariFragment::newInstance))
.addItem(new MenuItem()
.setID(R.id.nav_articoli_in_giacenza)
.setCodMenu("MG070")
.setTitleText(R.string.articoli_in_giacenza_title)
.setTitleIcon(R.drawable.ic_dashboard_articoli_in_giacenza)
.setDrawerIcon(R.drawable.ic_black_empty_box)
.setFragmentFactory(ArticoliInGiacenzaFragment::newInstance))
).addGroup(
new MenuGroup()
.setCodMenu("MM012")
.setGroupText(it.integry.integrywmsnative.R.string.punto_vendita)
.setGroupId(it.integry.integrywmsnative.R.id.nav_group_puntivendita)
.addItem(new MenuItem()
.setCodMenu("MG057")
.setID(it.integry.integrywmsnative.R.id.nav_pv_ordini_acquisto)
.setTitleText(it.integry.integrywmsnative.R.string.generate_orders)
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
.setFragmentFactory(PVOrdiniAcquistoGrigliaFragment::newInstance))
.addItem(new MenuItem()
.setCodMenu("MG058")
.setID(it.integry.integrywmsnative.R.id.nav_pv_doc_interni)
.setTitleText(it.integry.integrywmsnative.R.string.doc_interni)
.setTitleIcon(R.drawable.ic_dashboard_contab_doc_interni)
.setDrawerIcon(R.drawable.ic_documents_outline)
.setFragmentFactory(DocInterniFragment::newInstance))
// .addItem(new MenuItem()
// .setID(it.integry.integrywmsnative.R.id.nav_pv_ordini_acquisto_trasmessi)
// .setTitleText(it.integry.integrywmsnative.R.string.transmitted_orders)
// .setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_trasmitted_orders_list)
// .setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_trasmitted_orders_list)
// .setFragmentClass(PVOrdiniAcquistoTransmittedListFragment.newInstance()))
);
}

View File

@@ -1,11 +0,0 @@
package it.integry.integrywmsnative.core.class_router.exceptions;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
public class MethodPathNotRegisteredException extends Exception {
public MethodPathNotRegisteredException(ClassRouter.PATH path) {
super(String.format("Path %s is not registered", path.toString()));
}
}

View File

@@ -1,7 +0,0 @@
package it.integry.integrywmsnative.core.class_router.interfaces;
public interface IBarcodeCustomization {
boolean shouldForceToEan13(String barcode);
}

View File

@@ -1,7 +0,0 @@
package it.integry.integrywmsnative.core.class_router.interfaces;
public interface ICustomConfiguration {
<T>T getConfig(int key);
}

View File

@@ -1,11 +0,0 @@
package it.integry.integrywmsnative.core.class_router.interfaces;
public interface IFiltroOrdiniVendita {
boolean shoudShowCodMdepFilter();
boolean shoudShowIdViaggioFilter();
boolean shoudShowAgenteFilter();
}

View File

@@ -1,16 +0,0 @@
package it.integry.integrywmsnative.core.class_router.interfaces;
import android.app.Dialog;
import android.app.ProgressDialog;
import java.util.List;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
public interface IOrdiniVendita {
void distribuisciCollo(MtbColt mtbColt, List<OrdineVenditaInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed);
}

View File

@@ -2,37 +2,50 @@ package it.integry.integrywmsnative.core.context;
import android.content.Context;
import com.annimon.stream.Stream;
import com.google.firebase.crashlytics.FirebaseCrashlytics;
import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.DiskLogAdapter;
import com.orhanobut.logger.Logger;
import java.io.File;
import javax.inject.Inject;
import javax.inject.Singleton;
import it.integry.integrywmsnative.BuildConfig;
import it.integry.integrywmsnative.core.data_recover.ColliDataRecover;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.settings.Stash;
import it.integry.integrywmsnative.core.utility.UtilityContext;
import it.integry.integrywmsnative.core.utility.UtilityResources;
import it.integry.integrywmsnative.core.utility.UtilitySettings;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.utility.UtilityToast;
@Singleton
public class AppContext {
//Note: this is the Application Context NOT the Activity Context
private final Context mContext;
private final Context mApplicationContext;
@Inject
AppDatabase mAppDatabase;
@Inject
SettingsManager mSettingsManager;
private File logsFolder;
public AppContext(Context context) {
this.mContext = context;
this.mApplicationContext = context;
MainApplication.appComponent
.inject(this);
}
@Inject
public void init() {
this.initUtilities();
@@ -41,22 +54,23 @@ public class AppContext {
this.initCrashlytics();
this.initLogger();
this.initRecoverColli();
}
public File getLogFilePath() {
return logsFolder;
}
private void initSettings() {
Stash.init(mContext);
SettingsManager.init(mContext);
Stash.init(mApplicationContext);
mSettingsManager.init();
}
private void initCrashlytics() {
if(!BuildConfig.DEBUG) {
if (!BuildConfig.DEBUG) {
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
if( SettingsManager.isInstanceAvailable() &&
if (SettingsManager.isInstanceAvailable() &&
(SettingsManager.i().getUserSession() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUserSession().getProfileDB())) &&
(SettingsManager.i().getUser() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUser().getFullname()))) {
@@ -67,19 +81,43 @@ public class AppContext {
}
private void initUtilities() {
UtilityContext.initApplicationContext(mContext);
UtilityResources.init(mContext);
UtilityToast.init(mContext);
UtilitySettings.init(mAppDatabase);
UtilityContext.initApplicationContext(mApplicationContext);
UtilityResources.init(mApplicationContext);
UtilityToast.init(mApplicationContext);
}
private void initLogger() {
Logger.addLogAdapter(new AndroidLogAdapter());
logsFolder = new File(mApplicationContext.getExternalFilesDir(null).getAbsolutePath());
int maxBytesSize = 5 * 1024 * 1024;
Logger.addLogAdapter(new DiskLogAdapter(logsFolder, maxBytesSize));
removeOldLogs(logsFolder);
}
private void initRecoverColli() {
ColliDataRecover.init(mContext);
}
private void removeOldLogs(File logsFolder) {
var files = logsFolder.listFiles();
if (files == null || files.length <= 1)
return;
var logFiles = Stream.of(files)
.sortBy(x -> -1 * x.lastModified())
.skip(1)
.toList();
for (var logFile : logFiles) {
boolean isDeleted = logFile.delete();
}
files = logsFolder.listFiles();
if (files == null || files.length > 1)
return;
final boolean isRenamed = files[0].renameTo(new File(files[0].getParentFile().getAbsolutePath() + "/" + "logs_0.csv"));
}
}

View File

@@ -1,82 +1,145 @@
package it.integry.integrywmsnative.core.context;
import android.content.Context;
import android.text.Html;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.SpannedString;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.installations.FirebaseInstallations;
import java.lang.reflect.Method;
import java.net.ConnectException;
import javax.inject.Singleton;
import it.integry.integrywmsnative.MainApplication;
import it.integry.integrywmsnative.R;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
import it.integry.integrywmsnative.core.class_router.ClassRouter;
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
import it.integry.integrywmsnative.core.menu.MenuService;
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilitySettings;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
import it.integry.integrywmsnative.core.utility.UtilityThread;
@Singleton
public class MainContext {
private final AppCompatActivity mContext;
private final Context applicationContext;
private final MenuService menuService;
private final AppDatabase appDatabase;
private final SystemRESTConsumer systemRESTConsumer;
public MainContext(AppCompatActivity context) {
this.mContext = context;
private Listener mListener;
public MainContext(Context applicationContext, MenuService menuService, AppDatabase appDatabase, SystemRESTConsumer systemRESTConsumer) {
this.applicationContext = applicationContext;
this.menuService = menuService;
this.appDatabase = appDatabase;
this.systemRESTConsumer = systemRESTConsumer;
}
public void init() {
public void init(Runnable onContextInitialized) {
try {
BarcodeManager.init(applicationContext);
} catch (Exception exception) {
exception.printStackTrace();
}
BarcodeManager.init(mContext);
this.initDBData(() -> {
onContextInitialized.run();
this.initDeviceId(() -> {
this.initDBData(() -> {
this.initMenu(() -> {
if (mListener != null) mListener.onContextInitialized();
});
});
});
this.initReflections();
this.initServerStatusChecker();
}
private void initDeviceId(Runnable onComplete) {
if (SettingsManager.i().getUserSession().getDeviceId() != null) {
onComplete.run();
return;
}
FirebaseInstallations.getInstance().getId().addOnCompleteListener(fid -> {
SettingsManager.i().getUserSession().setDeviceId(fid.getResult());
SettingsManager.update();
systemRESTConsumer.registerDevice(onComplete, ex -> {
if (mListener != null) mListener.onError(new SpannedString(ex.getMessage()));
});
});
}
public void logout(Runnable onLoggedOut) {
menuService.invalidateCache();
UtilityThread.executeParallel(() -> {
SettingsManager.i().setUser(null);
SettingsManager.i().setUserSession(null);
SettingsManager.update();
appDatabase.clearAllTables();
onLoggedOut.run();
}, true);
}
private void initServerStatusChecker() {
ServerStatusChecker.init();
}
private void initDBData(Runnable onComplete) {
SettingsManager.loadDBVariables(onComplete, ex -> {
DialogSimpleMessageHelper.makeErrorDialog(mContext,
new SpannableString(ex.getMessage()), null, mContext::finish, R.string.logout, () -> {
UtilitySettings.logout();
MainApplication.exit();
}).show();
SettingsManager.loadDBVariables(item -> {
if (mListener != null) mListener.onDBDataLoading(item);
},
onComplete,
ex -> {
Spanned message = null;
if (ex.getCause() != null && ex.getCause() instanceof ConnectException) {
message = Html.fromHtml("Impossibile collegarsi all'host <b>" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "</b>. Riprovare più tardi.");
} else if (ex.getMessage().startsWith("Status 404:")) {
message = Html.fromHtml("Errore 404. Non è stato possibile soddisfare la richiesta sull'host <b>" + SettingsManager.i().getServer().getHost() + ":" + SettingsManager.i().getServer().getPort() + "</b>. Riprovare più tardi.");
} else {
message = new SpannableString(ex.getMessage());
}
if (mListener != null) mListener.onError(message);
}
);
}
private void initReflections() {
ClassRouter.init(mContext);
try {
String initMethod = "init";
Class dynamicContextClass = Class.forName("it.integry.wms.dynamic_customization.DynamicContext");
Method[] methods = dynamicContextClass.getMethods();
for (Method m : methods) {
if (initMethod.equals(m.getName())) {
// for static methods we can use null as instance of class
final Object newInstance = dynamicContextClass.newInstance();
m.invoke(newInstance, (Context) mContext);
break;
}
}
} catch (Exception e) {
UtilityExceptions.defaultException(mContext, e, true);
}
private void initMenu(Runnable onComplete) {
if (mListener != null) mListener.onMenuLoading();
this.menuService.init(onComplete, ex -> {
if (mListener != null) mListener.onError(new SpannedString(ex.getMessage()));
});
}
public MainContext setListener(Listener listener) {
this.mListener = listener;
return this;
}
public interface Listener {
void onDBDataLoading(String item);
void onMenuLoading();
void onContextInitialized();
void onError(Spanned message);
}
}

View File

@@ -1,49 +0,0 @@
package it.integry.integrywmsnative.core.coollection;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
import it.integry.integrywmsnative.core.coollection.matcher.custom.Contains;
import it.integry.integrywmsnative.core.coollection.matcher.custom.Equals;
import it.integry.integrywmsnative.core.coollection.matcher.custom.EqualsIgnoreCase;
import it.integry.integrywmsnative.core.coollection.matcher.custom.GreaterThan;
import it.integry.integrywmsnative.core.coollection.matcher.custom.IsNull;
import it.integry.integrywmsnative.core.coollection.matcher.custom.LessThan;
import it.integry.integrywmsnative.core.coollection.matcher.custom.Not;
import it.integry.integrywmsnative.core.coollection.query.Query;
import java.util.Collection;
public class Coollection {
public static <T> Query<T> from(Collection<T> collection) {
return new Query<T>(collection);
}
public static Matcher eq(Object value) {
return new Equals(value);
}
public static Matcher contains(String value) {
return new Contains(value);
}
public static Matcher eqIgnoreCase(String value) {
return new EqualsIgnoreCase(value);
}
public static Matcher not(Matcher matcher) {
return new Not(matcher);
}
public static Matcher greaterThan(Number value) {
return new GreaterThan(value);
}
public static Matcher lessThan(Number value) {
return new LessThan(value);
}
public static Matcher isNull() {
return new IsNull();
}
}

View File

@@ -1,7 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher;
public interface Matcher {
boolean match(Object value);
}

View File

@@ -1,18 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher.custom;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
public class Contains implements Matcher {
private final String matcherValue;
public Contains(String matcherValue) {
this.matcherValue = matcherValue;
}
@Override
public boolean match(Object value) {
return String.valueOf(value).contains(matcherValue);
}
}

View File

@@ -1,18 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher.custom;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
public class Equals implements Matcher {
private final Object value;
public Equals(Object value) {
this.value = value;
}
@Override
public boolean match(Object anotherValue) {
return value.equals(anotherValue);
}
}

View File

@@ -1,18 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher.custom;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
public class EqualsIgnoreCase implements Matcher {
private final String value;
public EqualsIgnoreCase(String value) {
this.value = value;
}
@Override
public boolean match(Object anotherValue) {
return (value).equalsIgnoreCase((String) anotherValue);
}
}

View File

@@ -1,21 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher.custom;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
public class GreaterThan implements Matcher {
private final Number value;
public GreaterThan(Number value) {
this.value = value;
}
@Override
public boolean match(Object matchValue) {
if (matchValue == null) {
return false;
}
return ((Number) matchValue).doubleValue() > value.doubleValue();
}
}

View File

@@ -1,12 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher.custom;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
public class IsNull implements Matcher {
@Override
public boolean match(Object value) {
return value == null;
}
}

View File

@@ -1,21 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher.custom;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
public class LessThan implements Matcher {
private final Number value;
public LessThan(Number value) {
this.value = value;
}
@Override
public boolean match(Object matchValue) {
if (matchValue == null) {
return false;
}
return ((Number) matchValue).doubleValue() < value.doubleValue();
}
}

View File

@@ -1,18 +0,0 @@
package it.integry.integrywmsnative.core.coollection.matcher.custom;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
public class Not implements Matcher {
private final Matcher matcher;
public Not(Matcher matcher) {
this.matcher = matcher;
}
@Override
public boolean match(Object value) {
return !matcher.match(value);
}
}

View File

@@ -1,90 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria;
import it.integry.integrywmsnative.core.coollection.query.criteria.CriteriaList;
import it.integry.integrywmsnative.core.coollection.query.order.Order;
import it.integry.integrywmsnative.core.coollection.query.order.OrderCriteria;
import it.integry.integrywmsnative.core.coollection.query.specification.custom.AndSpecification;
import it.integry.integrywmsnative.core.coollection.query.specification.custom.OrSpecification;
public class Query<T> {
private final Collection<T> collection;
private CriteriaList<T> criterias;
private OrderCriteria<T> orderCriteria;
public Query(Collection<T> collection) {
this.collection = collection;
criterias = new CriteriaList<T>();
}
public Query<T> where(String method, Matcher matcher) {
Criteria<T> criteria = new Criteria<T>(method, matcher);
criterias.add(criteria);
return this;
}
public Query<T> and(String method, Matcher matcher) {
Criteria<T> criteria = new Criteria<T>(method, matcher);
criteria.setSpecification(new AndSpecification<T>());
criterias.add(criteria);
return this;
}
public Query<T> or(String method, Matcher matcher) {
Criteria<T> criteria = new Criteria<T>(method, matcher);
criteria.setSpecification(new OrSpecification<T>());
criterias.add(criteria);
return this;
}
public Query<T> orderBy(String method, Order order) {
orderCriteria = new OrderCriteria<T>(method, order);
return this;
}
public Query<T> orderBy(String method) {
return orderBy(method, Order.ASC);
}
public List<T> all() {
List<T> all = new ArrayList<T>();
for (T item : collection) {
if (criterias.match(item)) {
all.add(item);
}
}
if (orderCriteria != null) {
all = orderCriteria.sort(all);
}
return all;
}
public T first() {
List<T> all = cloneCollection(collection);
if (orderCriteria != null) {
all = orderCriteria.sort(all);
}
for (T item : all) {
if (criterias.match(item)) {
return item;
}
}
return null;
}
private List<T> cloneCollection(Collection<T> collection) {
List<T> list = new ArrayList<T>();
for (T item : collection) {
list.add(item);
}
return list;
}
}

View File

@@ -1,34 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.criteria;
import it.integry.integrywmsnative.core.coollection.matcher.Matcher;
import it.integry.integrywmsnative.core.coollection.query.specification.Specification;
import it.integry.integrywmsnative.core.coollection.reflection.Phanton;
public class Criteria<T> {
private final String method;
private final Matcher matcher;
private Specification<T> specification;
public Criteria(String method, Matcher matcher) {
this.method = method;
this.matcher = matcher;
}
public void setSpecification(Specification<T> specification) {
this.specification = specification;
}
public Specification<T> specification() {
return specification;
}
public boolean match(T item) {
try {
Object value = Phanton.from(item).call(method);
return matcher.match(value);
} catch (Exception err) {
throw new RuntimeException(err);
}
}
}

View File

@@ -1,34 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.criteria;
import java.util.ArrayList;
import java.util.List;
public class CriteriaList<T> {
private List<Criteria<T>> criterias;
public CriteriaList() {
criterias = new ArrayList<Criteria<T>>();
}
public void add(Criteria<T> criteria) {
criterias.add(criteria);
}
public boolean match(T item) {
if (criterias.size() == 0) {
return true;
}
if (criterias.size() == 1) {
return criterias.get(0).match(item);
}
boolean matched = true;
for (int i = criterias.size() - 1; i > 0; i--) {
Criteria<T> one = criterias.get(i);
Criteria<T> other = criterias.get(i - 1);
matched = matched && one.specification().match(item, one, other);
}
return matched;
}
}

View File

@@ -1,5 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.order;
public enum Order {
ASC, DESC
}

View File

@@ -1,30 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.order;
import it.integry.integrywmsnative.core.coollection.reflection.Phanton;
import java.util.Comparator;
public class OrderComparator<T> implements Comparator<T> {
private final String method;
public OrderComparator(String method) {
this.method = method;
}
@Override
@SuppressWarnings("unchecked")
public int compare(T one, T other) {
Object oneValue = Phanton.from(one).call(method);
Object otherValue = Phanton.from(other).call(method);
if (oneValue == null || otherValue == null) {
return 0;
}
if (oneValue instanceof Comparable) {
return ((Comparable<Object>) oneValue).compareTo(otherValue);
} else {
return 0;
}
}
}

View File

@@ -1,24 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.order;
import java.util.Collections;
import java.util.List;
public class OrderCriteria<T> {
private final String method;
private final Order order;
public OrderCriteria(String method, Order order) {
this.method = method;
this.order = order;
}
public List<T> sort(List<T> list) {
Collections.sort(list, new OrderComparator<T>(method));
if (order == Order.DESC) {
Collections.reverse(list);
}
return list;
}
}

View File

@@ -1,9 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.specification;
import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria;
public interface Specification<T> {
boolean match(T item, Criteria<T> one, Criteria<T> other);
}

View File

@@ -1,13 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.specification.custom;
import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria;
import it.integry.integrywmsnative.core.coollection.query.specification.Specification;
public class AndSpecification<T> implements Specification<T> {
@Override
public boolean match(T item, Criteria<T> one, Criteria<T> other) {
return one.match(item) && other.match(item);
}
}

View File

@@ -1,14 +0,0 @@
package it.integry.integrywmsnative.core.coollection.query.specification.custom;
import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria;
import it.integry.integrywmsnative.core.coollection.query.specification.Specification;
public class OrSpecification<T> implements Specification<T> {
@Override
public boolean match(T item, Criteria<T> one, Criteria<T> other) {
return one.match(item) || other.match(item);
}
}

View File

@@ -1,37 +0,0 @@
package it.integry.integrywmsnative.core.coollection.reflection;
import java.lang.reflect.Field;
public class Phanton<T> {
private final T target;
private Class<?> clazz;
private Phanton(T target) {
this.target = target;
clazz = target.getClass();
}
public static <T> Phanton<T> from(T target) {
return new Phanton<T>(target);
}
public Object call(String name) {
return invoke(name);
}
private Object invoke(String name) {
for (final Field field : clazz.getDeclaredFields()) {
try {
if (name.equals(field.getName())) {
field.setAccessible(Boolean.TRUE);
return field.get(target);
}
} catch (final IllegalAccessException e) {
throw new RuntimeException(e);
}
}
throw new RuntimeException("No such property with name " + name);
}
}

View File

@@ -8,7 +8,7 @@ import java.util.UUID;
public class DataCache {
private static List<DataCacheDTO> dataCacheList = new ArrayList<>();
private static final List<DataCacheDTO> dataCacheList = new ArrayList<>();
public static String addItem(Object item) {

View File

@@ -1,235 +0,0 @@
package it.integry.integrywmsnative.core.data_recover;
import android.content.Context;
import com.annimon.stream.Optional;
import com.annimon.stream.Stream;
import com.google.android.gms.common.util.IOUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
public class ColliDataRecover {
public static class RecoverDTO {
private int id;
private int numCollo;
private String serCollo;
private String dataCollo;
private String gestioneCollo;
private String filtro;
private List<OrdineVenditaInevasoDTO> testateOrdini;
public int getId() {
return id;
}
public RecoverDTO setId(int id) {
this.id = id;
return this;
}
public int getNumCollo() {
return numCollo;
}
public RecoverDTO setNumCollo(int numCollo) {
this.numCollo = numCollo;
return this;
}
public String getSerCollo() {
return serCollo;
}
public RecoverDTO setSerCollo(String serCollo) {
this.serCollo = serCollo;
return this;
}
public String getDataCollo() {
return dataCollo;
}
public RecoverDTO setDataCollo(String dataCollo) {
this.dataCollo = dataCollo;
return this;
}
public String getGestioneCollo() {
return gestioneCollo;
}
public RecoverDTO setGestioneCollo(String gestioneCollo) {
this.gestioneCollo = gestioneCollo;
return this;
}
public String getFiltro() {
return filtro;
}
public RecoverDTO setFiltro(String filtro) {
this.filtro = filtro;
return this;
}
public List<OrdineVenditaInevasoDTO> getTestateOrdini() {
return testateOrdini;
}
public RecoverDTO setTestateOrdini(List<OrdineVenditaInevasoDTO> testateOrdini) {
this.testateOrdini = testateOrdini;
return this;
}
public MtbColt getMtbColt() {
return new MtbColt()
.setNumCollo(getNumCollo())
.setSerCollo(getSerCollo())
.setGestione(getGestioneCollo())
.setDataCollo(getDataCollo())
.setFiltroOrdini(getFiltro());
}
}
private static Context mContext;
private static List<RecoverDTO> mtbColtsSessions = new ArrayList<>();
public static void init(Context context) {
mContext = context;
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
loadLocalFile();
}
}
public static boolean thereIsAnExistantSession() {
return mtbColtsSessions.size() > 0;
}
public static List<Integer> getAllSessionIDs() {
if(thereIsAnExistantSession()) {
return Stream.of(mtbColtsSessions)
.map(RecoverDTO::getId)
.toList();
} else return null;
}
public static RecoverDTO getSession(Integer sessionID) {
if(sessionID == null) return null;
return getIfExists(sessionID);
}
private static RecoverDTO getIfExists(int id) {
Optional<RecoverDTO> recoverDTOOptional = Stream.of(mtbColtsSessions)
.filter(x -> x.getId() == id)
.findSingle();
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
}
public static int startNewSession(MtbColt mtbColtSession, List<OrdineVenditaInevasoDTO> testateOrdini) {
Integer newId = null;
while(newId == null) {
int randomId = new Random().nextInt(1000);
RecoverDTO dto = getIfExists(randomId);
if(dto == null) newId = randomId;
}
RecoverDTO recoverDTO = new RecoverDTO()
.setId(newId)
.setDataCollo(mtbColtSession.getDataColloS())
.setNumCollo(mtbColtSession.getNumCollo())
.setSerCollo(mtbColtSession.getSerCollo())
.setGestioneCollo(mtbColtSession.getGestione())
.setFiltro(mtbColtSession.getFiltroOrdini())
.setTestateOrdini(testateOrdini);
mtbColtsSessions.add(recoverDTO);
updateLocalFile();
return newId;
}
public static void closeSession(int ID) {
RecoverDTO dto = getIfExists(ID);
if(dto != null) {
mtbColtsSessions.remove(dto);
updateLocalFile();
}
}
private static void loadLocalFile() {
InputStream inputStream;
Gson gson = new Gson();
try {
inputStream = mContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
byte[] bytes = IOUtils.readInputStreamFully(inputStream);
String jsonString = new String(bytes);
Type listType = new TypeToken<ArrayList<RecoverDTO>>(){}.getType();
mtbColtsSessions = gson.fromJson(jsonString, listType);
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
UtilityExceptions.defaultException(mContext, e);
}
}
private static void updateLocalFile() {
FileOutputStream outputStream;
Gson gson = new Gson();
String jsonText = gson.toJson(mtbColtsSessions);
try {
outputStream = mContext.openFileOutput(CommonConst.Files.RECOVER_COLLO_FILE, Context.MODE_PRIVATE);
outputStream.write(jsonText.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
UtilityExceptions.defaultException(mContext, e);
}
}
private static boolean isFilePresent(String fileName) {
String path = mContext.getFilesDir().getAbsolutePath() + "/" + fileName;
File file = new File(path);
return file.exists();
}
}

View File

@@ -3,7 +3,7 @@ package it.integry.integrywmsnative.core.data_recover;
import java.util.List;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
public class ColliDataRecoverDTO {
@@ -14,7 +14,7 @@ public class ColliDataRecoverDTO {
private String gestioneCollo;
private String filtro;
private List<OrdineVenditaInevasoDTO> testateOrdini;
private List<OrdineUscitaInevasoDTO> testateOrdini;
public int getId() {
return id;
@@ -70,11 +70,11 @@ public class ColliDataRecoverDTO {
return this;
}
public List<OrdineVenditaInevasoDTO> getTestateOrdini() {
public List<OrdineUscitaInevasoDTO> getTestateOrdini() {
return testateOrdini;
}
public ColliDataRecoverDTO setTestateOrdini(List<OrdineVenditaInevasoDTO> testateOrdini) {
public ColliDataRecoverDTO setTestateOrdini(List<OrdineUscitaInevasoDTO> testateOrdini) {
this.testateOrdini = testateOrdini;
return this;
}

View File

@@ -21,34 +21,36 @@ import javax.inject.Singleton;
import it.integry.integrywmsnative.core.CommonConst;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
import it.integry.integrywmsnative.core.utility.UtilityGson;
@Singleton
public class ColliDataRecoverService {
private final Context mContext;
private final Context mApplicationContext;
private List<ColliDataRecoverDTO> mtbColtsSessions = new ArrayList<>();
@Inject
public ColliDataRecoverService(Context context) {
this.mContext = context;
public ColliDataRecoverService(Context applicationContext) {
this.mApplicationContext = applicationContext;
}
@Inject
public void init() {
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
loadLocalFile();
}
if(mtbColtsSessions == null)
mtbColtsSessions = new ArrayList<>();
}
public boolean thereIsAnExistantSession() {
return mtbColtsSessions.size() > 0;
return mtbColtsSessions != null && mtbColtsSessions.size() > 0;
}
public List<Integer> getAllSessionIDs() {
if(thereIsAnExistantSession()) {
return Stream.of(mtbColtsSessions)
.map(ColliDataRecoverDTO::getId)
.toList();
@@ -57,7 +59,6 @@ public class ColliDataRecoverService {
}
public ColliDataRecoverDTO getSession(Integer sessionID) {
if(sessionID == null) return null;
return getIfExists(sessionID);
@@ -72,7 +73,7 @@ public class ColliDataRecoverService {
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
}
public int startNewSession(MtbColt mtbColtSession, List<OrdineVenditaInevasoDTO> testateOrdini) {
public int startNewSession(MtbColt mtbColtSession, List<OrdineUscitaInevasoDTO> testateOrdini) {
Integer newId = null;
while(newId == null) {
@@ -108,10 +109,10 @@ public class ColliDataRecoverService {
private void loadLocalFile() {
InputStream inputStream;
Gson gson = new Gson();
Gson gson = UtilityGson.createObject();
try {
inputStream = mContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
inputStream = mApplicationContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
byte[] bytes = IOUtils.readInputStreamFully(inputStream);
String jsonString = new String(bytes);
@@ -122,7 +123,7 @@ public class ColliDataRecoverService {
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
UtilityExceptions.defaultException(mContext, e);
// UtilityExceptions.defaultException(mContext, e);
}
}
@@ -130,21 +131,21 @@ public class ColliDataRecoverService {
private void updateLocalFile() {
FileOutputStream outputStream;
Gson gson = new Gson();
Gson gson = UtilityGson.createObject();
String jsonText = gson.toJson(mtbColtsSessions);
try {
outputStream = mContext.openFileOutput(CommonConst.Files.RECOVER_COLLO_FILE, Context.MODE_PRIVATE);
outputStream = mApplicationContext.openFileOutput(CommonConst.Files.RECOVER_COLLO_FILE, Context.MODE_PRIVATE);
outputStream.write(jsonText.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
UtilityExceptions.defaultException(mContext, e);
// UtilityExceptions.defaultException(mContext, e);
}
}
private boolean isFilePresent(String fileName) {
String path = mContext.getFilesDir().getAbsolutePath() + "/" + fileName;
String path = mApplicationContext.getFilesDir().getAbsolutePath() + "/" + fileName;
File file = new File(path);
return file.exists();
}

View File

@@ -1,26 +1,83 @@
package it.integry.integrywmsnative.core.data_store.db;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import androidx.room.TypeConverters;
import androidx.room.migration.Migration;
import androidx.sqlite.db.SupportSQLiteDatabase;
import it.integry.integrywmsnative.core.data_store.db.converter.AppDatabaseConverters;
import it.integry.integrywmsnative.core.data_store.db.converter.BigDecimalConverter;
import it.integry.integrywmsnative.core.data_store.db.converter.DateConverter;
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioDao;
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioRowDao;
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColrDao;
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColtDao;
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
import it.integry.integrywmsnative.core.data_store.db.dao.RawDao;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRoomDTO;
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRowRoomDTO;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
@Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class}, version = 1, exportSchema = false)
@Database(entities = {
ArticoloGriglia.class,
Griglia.class,
Ordine.class,
ArticoloOrdine.class,
SqlMtbColt.class,
SqlMtbColr.class,
InventarioRoomDTO.class,
InventarioRowRoomDTO.class
},
version = 17)
@TypeConverters({
DateConverter.class
DateConverter.class,
BigDecimalConverter.class,
AppDatabaseConverters.class
})
public abstract class AppDatabase extends RoomDatabase {
// private AppDatabase mRoomInstance;
/**
* The only instance
*/
private static AppDatabase sInstance;
/**
* Gets the singleton instance of SampleDatabase.
*
* @param applicationContext The context.
* @return The singleton instance of SampleDatabase.
*/
public static synchronized AppDatabase getInstance(Context applicationContext) {
if (sInstance == null) {
var builder = Room.databaseBuilder(applicationContext,
AppDatabase.class, "integry_wms")
.addMigrations(MIGRATION_10_11)
.addMigrations(MIGRATION_11_12)
.addMigrations(MIGRATION_12_13)
.addMigrations(MIGRATION_13_14)
.addMigrations(MIGRATION_14_15)
.addMigrations(MIGRATION_15_16)
.addMigrations(MIGRATION_16_17);
sInstance = builder.build();
}
return sInstance;
}
public abstract RawDao rawDao();
public abstract ArticoloGrigliaDao articoloGrigliaDao();
@@ -30,26 +87,99 @@ public abstract class AppDatabase extends RoomDatabase {
public abstract ArticoloOrdineDao articoloOrdineDao();
// public static AppDatabase getDatabase(final Context context) {
// if (INSTANCE == null) {
// synchronized (AppDatabase.class) {
// if (INSTANCE == null) {
// INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
// AppDatabase.class, "integry_wms")
// .fallbackToDestructiveMigration()
// .build();
// }
// }
// }
// return INSTANCE;
// }
public abstract MtbColtDao mtbColtDao();
// public AppDatabase(Application application) {
// mRoomInstance = Room.databaseBuilder(application,
// AppDatabase.class, "integry_wms")
// .fallbackToDestructiveMigration()
// .build();
// }
public abstract MtbColrDao mtbColrDao();
public abstract InventarioDao inventarioDao();
public abstract InventarioRowDao inventarioRowDao();
static final Migration MIGRATION_10_11 = new Migration(10, 11) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("CREATE TABLE IF NOT EXISTS inventari (_id INTEGER PRIMARY KEY AUTOINCREMENT, id_inventario INTEGER, cod_mdep TEXT NOT NULL, zona TEXT, data_inventario INTEGER, data_reg INTEGER, data_ver INTEGER, filtro TEXT, flag_stato TEXT, flag_operazione TEXT, cod_anag TEXT, cod_dtip TEXT, inserito_da TEXT, registrato_da TEXT, verificato_da TEXT, data_ora_inizio INTEGER, data_ora_fine INTEGER, causale TEXT, remote_sync_date INTEGER)");
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventari__id ON inventari (_id)");
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventari_id_inventario ON inventari (id_inventario)");
database.execSQL("CREATE TABLE IF NOT EXISTS inventario_rows (_id INTEGER PRIMARY KEY AUTOINCREMENT, parent_id INTEGER, cod_mart TEXT NOT NULL, descrizione TEXT, partita_mag TEXT, qta REAL NOT NULL DEFAULT 0, num_cnf REAL NOT NULL DEFAULT 0, qta_cnf REAL NOT NULL DEFAULT 0, unt_mis TEXT NOT NULL DEFAULT '0', data_ora_inv INTEGER, scan_cod_barre TEXT, zona TEXT, remote_sync_date INTEGER, FOREIGN KEY(parent_id) REFERENCES inventari(_id) ON UPDATE NO ACTION ON DELETE NO ACTION )");
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__id ON inventario_rows (_id)");
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__parent_id ON inventario_rows (parent_id)");
}
};
static final Migration MIGRATION_11_12 = new Migration(11, 12) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("DROP TABLE IF EXISTS ordini_tmp;");
database.execSQL("CREATE TABLE ordini_tmp (ordine_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, data_ins INTEGER, annotazioni TEXT, transmitted INTEGER NOT NULL, transmission_date INTEGER, gestione TEXT, data_ord INTEGER, num_ord INTEGER, cod_mdep TEXT, id_griglia INTEGER NOT NULL, cod_alis TEXT NOT NULL);");
database.execSQL("INSERT INTO ordini_tmp(ordine_id,data_ins,annotazioni,transmitted,transmission_date,gestione,data_ord,num_ord,cod_mdep,id_griglia,cod_alis) SELECT ordini.ordine_id,ordini.data_ins,ordini.annotazioni,ordini.transmitted,ordini.transmission_date,ordini.gestione,ordini.data_ord,ordini.num_ord,ordini.cod_mdep,ordini.id_griglia,griglie.cod_alis from ordini left outer join griglie on ordini.id_griglia = griglie.griglia_id;");
database.execSQL("DROP TABLE ordini;");
database.execSQL("ALTER TABLE ordini_tmp RENAME TO ordini;");
}
};
static final Migration MIGRATION_12_13 = new Migration(12, 13) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL("CREATE TABLE IF NOT EXISTS inventario_rows_tmp (_id INTEGER PRIMARY KEY AUTOINCREMENT, parent_id INTEGER, cod_mart TEXT, descrizione TEXT, partita_mag TEXT, qta REAL NOT NULL DEFAULT 0, num_cnf REAL NOT NULL DEFAULT 0, qta_cnf REAL NOT NULL DEFAULT 0, unt_mis TEXT NOT NULL DEFAULT '0', data_ora_inv INTEGER, scan_cod_barre TEXT, zona TEXT, remote_sync_date INTEGER, FOREIGN KEY(parent_id) REFERENCES inventari(_id) ON UPDATE NO ACTION ON DELETE NO ACTION )");
database.execSQL("INSERT INTO inventario_rows_tmp SELECT * FROM inventario_rows");
database.execSQL("DROP TABLE inventario_rows;");
database.execSQL("ALTER TABLE inventario_rows_tmp RENAME TO inventario_rows;");
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__id ON inventario_rows (_id)");
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__parent_id ON inventario_rows (parent_id)");
}
};
static final Migration MIGRATION_13_14 = new Migration(13, 14) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE inventari"
+ " ADD COLUMN new INTEGER");
}
};
static final Migration MIGRATION_14_15 = new Migration(14, 15) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
// rimuovo vincoli "not null" dai campi id_griglia e cod_alis
database.execSQL("DROP TABLE IF EXISTS ordini_tmp;");
database.execSQL("CREATE TABLE ordini_tmp (ordine_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, data_ins INTEGER, annotazioni TEXT, transmitted INTEGER NOT NULL, transmission_date INTEGER, gestione TEXT, data_ord INTEGER, num_ord INTEGER, cod_mdep TEXT, id_griglia INTEGER, cod_alis TEXT);");
database.execSQL("INSERT INTO ordini_tmp(ordine_id,data_ins,annotazioni,transmitted,transmission_date,gestione,data_ord,num_ord,cod_mdep,id_griglia,cod_alis) SELECT ordini.ordine_id,ordini.data_ins,ordini.annotazioni,ordini.transmitted,ordini.transmission_date,ordini.gestione,ordini.data_ord,ordini.num_ord,ordini.cod_mdep,ordini.id_griglia,griglie.cod_alis from ordini left outer join griglie on ordini.id_griglia = griglie.griglia_id;");
database.execSQL("DROP TABLE ordini;");
database.execSQL("ALTER TABLE ordini_tmp RENAME TO ordini;");
// aggiungo campo cod_alis sulle righe dell'ordine
database.execSQL("DROP TABLE IF EXISTS art_ord_tmp;");
database.execSQL("CREATE TABLE IF NOT EXISTS art_ord_tmp( articolo_ordine_id INTEGER PRIMARY KEY AUTOINCREMENT, cod_mart TEXT, descrizione TEXT, unt_mis TEXT, qta_cnf REAL NOT NULL, bar_code TEXT, merce_da_ric REAL NOT NULL, media_sett REAL NOT NULL, flag_qta_multipla TEXT, qta_min_ordinabile REAL NOT NULL, id_ordine INTEGER NOT NULL, qta_ord REAL NOT NULL, data_ins INTEGER, new_no_promo INTEGER NOT NULL, system_note TEXT, cod_alis TEXT , FOREIGN KEY(id_ordine) REFERENCES ordini(ordine_id) ON UPDATE NO ACTION ON DELETE CASCADE );");
database.execSQL("INSERT INTO art_ord_tmp(articolo_ordine_id, cod_mart, descrizione, unt_mis, qta_cnf, bar_code, merce_da_ric, media_sett, flag_qta_multipla, qta_min_ordinabile, id_ordine, qta_ord, data_ins, new_no_promo, system_note, cod_alis) SELECT articolo_ordine_id, cod_mart, descrizione, unt_mis, qta_cnf, bar_code, merce_da_ric, media_sett, flag_qta_multipla, qta_min_ordinabile, id_ordine, qta_ord, data_ins, new_no_promo, system_note, null from articoli_ordine;");
database.execSQL("DROP TABLE articoli_ordine;");
database.execSQL("ALTER TABLE art_ord_tmp RENAME TO articoli_ordine;");
database.execSQL("CREATE INDEX IF NOT EXISTS index_articoli_ordine_id_ordine ON articoli_ordine (id_ordine);");
database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_articoli_ordine_id_ordine_cod_mart ON articoli_ordine (id_ordine, cod_mart);");
}
};
static final Migration MIGRATION_15_16 = new Migration(15, 16) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
}
};
static final Migration MIGRATION_16_17 = new Migration(16, 17) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE inventario_rows RENAME TO _inventario_rows_old;");
database.execSQL("DROP INDEX index_inventario_rows__id;");
database.execSQL("DROP INDEX index_inventario_rows_parent_id;");
database.execSQL("CREATE TABLE inventario_rows (_id INTEGER PRIMARY KEY AUTOINCREMENT, parent_id INTEGER, cod_mart TEXT, partita_mag TEXT, descrizione TEXT, qta REAL NOT NULL DEFAULT 0, num_cnf REAL NOT NULL DEFAULT 0, qta_cnf REAL NOT NULL DEFAULT 0, unt_mis TEXT NOT NULL DEFAULT '0', data_ora_inv INTEGER, scan_cod_barre TEXT, zona TEXT, remote_sync_date INTEGER, FOREIGN KEY(parent_id) REFERENCES inventari(_id) ON UPDATE NO ACTION ON DELETE CASCADE);");
database.execSQL("INSERT INTO inventario_rows SELECT * FROM _inventario_rows_old;");
database.execSQL("CREATE INDEX index_inventario_rows__id ON inventario_rows (_id);");
database.execSQL("CREATE INDEX index_inventario_rows_parent_id ON inventario_rows (parent_id)");
database.execSQL("DROP TABLE _inventario_rows_old;");
}
};
}

View File

@@ -1,8 +1,9 @@
package it.integry.integrywmsnative.core.data_store.db;
import android.app.Application;
import android.os.Handler;
import androidx.room.Room;
import java.util.concurrent.ExecutorService;
import javax.inject.Singleton;
@@ -11,26 +12,39 @@ import dagger.Provides;
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioDao;
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioRowDao;
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColrDao;
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColtDao;
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
import it.integry.integrywmsnative.core.data_store.db.dao.RawDao;
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.ArticoliGrigliaDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.ArticoliOrdineDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.GrigliaDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.OrdineDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.ArticoliGrigliaDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.ArticoliOrdineDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.GrigliaDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.OrdineDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.SqlMtbColrDataSource;
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.SqlMtbColtDataSource;
import it.integry.integrywmsnative.core.data_store.db.respository_new.InventarioRepository;
import it.integry.integrywmsnative.core.data_store.db.respository_new.InventarioRowRepository;
import it.integry.integrywmsnative.core.data_store.db.respository_new.data_source.InventarioLocalDataSource;
import it.integry.integrywmsnative.core.data_store.db.respository_new.data_source.InventarioRowLocalDataSource;
import it.integry.integrywmsnative.core.mapper.InventarioMapper;
import it.integry.integrywmsnative.core.mapper.InventarioRowMapper;
import it.integry.integrywmsnative.core.rest.consumers.InventarioRESTConsumer;
@Module
public class RoomModule {
private AppDatabase appDatabase;
public RoomModule(Application application) {
appDatabase = Room.databaseBuilder(application,
AppDatabase.class, "integry_wms")
.fallbackToDestructiveMigration()
.build();
public RoomModule(Application applicationContext) {
appDatabase = AppDatabase.getInstance(applicationContext);
}
@Singleton
@@ -40,7 +54,11 @@ public class RoomModule {
}
@Singleton
@Provides
RawDao providesRawDao(AppDatabase appDatabase) {
return appDatabase.rawDao();
}
@Singleton
@Provides
@@ -66,34 +84,102 @@ public class RoomModule {
return appDatabase.articoloOrdineDao();
}
@Singleton
@Provides
ArticoloGrigliaRepository providesArticoloGrigliaRepository(ArticoloGrigliaDao articoloGrigliaDao) {
return new ArticoliGrigliaDataSource(articoloGrigliaDao);
MtbColtDao providesMtbColtDao(AppDatabase appDatabase) {
return appDatabase.mtbColtDao();
}
@Singleton
@Provides
ArticoliOrdineRepository providesArticoliOrdineRepository(ArticoloOrdineDao articoloOrdineDao) {
return new ArticoliOrdineDataSource(articoloOrdineDao);
MtbColrDao providesMtbColrDao(AppDatabase appDatabase) {
return appDatabase.mtbColrDao();
}
@Singleton
@Provides
GrigliaRepository providesGrigliaRepository(GrigliaDao grigliaDao) {
return new GrigliaDataSource(grigliaDao);
InventarioDao providesInventarioDao(AppDatabase appDatabase) {
return appDatabase.inventarioDao();
}
@Singleton
@Provides
OrdineRepository providesOrdineRepository(OrdineDao ordineDao) {
return new OrdineDataSource(ordineDao);
InventarioRowDao providesInventarioRowDao(AppDatabase appDatabase) {
return appDatabase.inventarioRowDao();
}
@Singleton
@Provides
InventarioRowMapper providesInventarioRowMapper() {
return new InventarioRowMapper();
}
@Singleton
@Provides
InventarioMapper providesInventarioMapper(InventarioRowMapper inventarioRowMapper) {
return new InventarioMapper(inventarioRowMapper);
}
@Provides
InventarioLocalDataSource providesInventarioLocalDataSource(ExecutorService executorService, InventarioDao inventarioDao) {
return new InventarioLocalDataSource(executorService, inventarioDao);
}
@Provides
InventarioRowLocalDataSource providesInventarioRowLocalDataSource(ExecutorService executorService, InventarioRowDao inventarioRowDao) {
return new InventarioRowLocalDataSource(executorService, inventarioRowDao);
}
@Provides
ArticoloGrigliaRepository providesArticoloGrigliaRepository(ExecutorService executorService, Handler handler, ArticoloGrigliaDao articoloGrigliaDao) {
return new ArticoliGrigliaDataSource(executorService, handler, articoloGrigliaDao);
}
@Provides
ArticoliOrdineRepository providesArticoliOrdineRepository(ExecutorService executorService, Handler handler, ArticoloOrdineDao articoloOrdineDao) {
return new ArticoliOrdineDataSource(executorService, handler, articoloOrdineDao);
}
@Provides
GrigliaRepository providesGrigliaRepository(ExecutorService executorService, Handler handler, GrigliaDao grigliaDao) {
return new GrigliaDataSource(executorService, handler, grigliaDao);
}
@Provides
OrdineRepository providesOrdineRepository(ExecutorService executorService, Handler handler, OrdineDao ordineDao) {
return new OrdineDataSource(executorService, handler, ordineDao);
}
@Provides
MtbColtRepository providesMtbColtRepository(ExecutorService executorService, Handler handler, MtbColtDao mtbColtDao) {
return new SqlMtbColtDataSource(executorService, handler, mtbColtDao);
}
@Provides
MtbColrDataSource providesMtbColrRepository(ExecutorService executorService, Handler handler, MtbColrDao mtbColrDao) {
return new SqlMtbColrDataSource(executorService, handler, mtbColrDao);
}
@Provides
InventarioRepository providesInventarioRepository(ExecutorService executorService, Handler handler,
InventarioLocalDataSource inventarioLocalDataSource,
InventarioRESTConsumer inventarioRESTConsumer,
InventarioMapper inventarioMapper) {
return new InventarioRepository(inventarioLocalDataSource, inventarioRESTConsumer, inventarioMapper, handler, executorService);
}
@Provides
InventarioRowRepository providesInventarioRowRepository(ExecutorService executorService, Handler handler,
InventarioRowLocalDataSource inventarioRowLocalDataSource,
InventarioRESTConsumer inventarioRESTConsumer,
InventarioRowMapper inventarioRowMapper) {
return new InventarioRowRepository(inventarioRowLocalDataSource, inventarioRESTConsumer, inventarioRowMapper, handler);
}
}

View File

@@ -0,0 +1,49 @@
package it.integry.integrywmsnative.core.data_store.db.converter;
import androidx.room.TypeConverter;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import it.integry.integrywmsnative.core.utility.UtilityDate;
public class AppDatabaseConverters {
@TypeConverter
public static LocalDateTime longToLocalDateTime(Long value) {
return value == null ? null : UtilityDate.timeToLocalDateTime(value, null);
}
@TypeConverter
public static Long localDateTimeToTimestamp(LocalDateTime date) {
return date == null ? null : UtilityDate.localDateTimeToTime(date, null);
}
@TypeConverter
public static LocalDate longToLocalDate(Long value) {
return value == null ? null : UtilityDate.timeToLocalDate(value, null);
}
@TypeConverter
public static Long localDateToTimestamp(LocalDate date) {
return date == null ? null : UtilityDate.localDateToTime(date);
}
@TypeConverter
public static ArrayList<String> fromString(String value) {
Type listType = new TypeToken<ArrayList<String>>() {}.getType();
return new Gson().fromJson(value, listType);
}
@TypeConverter
public static String fromArrayList(ArrayList<String> list) {
Gson gson = new Gson();
String json = gson.toJson(list);
return json;
}
}

View File

@@ -0,0 +1,17 @@
package it.integry.integrywmsnative.core.data_store.db.converter;
import androidx.room.TypeConverter;
import java.math.BigDecimal;
public class BigDecimalConverter {
@TypeConverter
public static BigDecimal fromFloat(Float value) {
return value == null ? null : BigDecimal.valueOf(value.doubleValue());
}
@TypeConverter
public static Float dateToTimestamp(BigDecimal value) {
return value == null ? null : value.floatValue();
}
}

View File

@@ -4,9 +4,10 @@ import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.RawQuery;
import androidx.room.Update;
import androidx.sqlite.db.SupportSQLiteQuery;
import java.util.ArrayList;
import java.util.List;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
@@ -21,10 +22,13 @@ public interface ArticoloGrigliaDao {
@Insert
void insertAll(List<ArticoloGriglia> articoli);
@Insert
Long insert(ArticoloGriglia articolo);
@Update
void updateAll(List<ArticoloGriglia> articoli);
@Update
void update(ArticoloGriglia articolo);
@@ -37,12 +41,18 @@ public interface ArticoloGrigliaDao {
@Query("SELECT * FROM articoli_griglia WHERE cod_mart = :codMart AND id_griglia = :idGriglia LIMIT 1")
ArticoloGriglia findArticoloByCodMartAndGriglia(String codMart, int idGriglia);
@Query("SELECT * FROM articoli_griglia WHERE (cod_mart = :scan OR bar_code =:scan )AND id_griglia = :idGriglia LIMIT 1")
@Query("SELECT * FROM articoli_griglia WHERE (cod_mart = :scan OR bar_code =:scan) AND id_griglia = :idGriglia LIMIT 1")
ArticoloGriglia findArticoloByScanAndGriglia(String scan, int idGriglia);
@Query("SELECT articolo_griglia_id FROM articoli_griglia WHERE (cod_mart = :codMart AND bar_code =:barCode )AND id_griglia = :idGriglia LIMIT 1")
@Query("SELECT articolo_griglia_id FROM articoli_griglia WHERE (cod_mart = :codMart AND bar_code =:barCode) AND id_griglia = :idGriglia LIMIT 1")
Integer getIdArticoloByGrigliaAndBarcodeAndCodMart(int idGriglia, String barCode, String codMart);
@RawQuery(observedEntities = ArticoloGriglia.class)
List<ArticoloGriglia> getArticoli(SupportSQLiteQuery query);
@Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId")
List<ArticoloGriglia> getArticoliFromGriglia(int grigliaId);
@Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId AND qta_ord >= 1")
List<ArticoloGriglia> getNewArticoliInGriglia(int grigliaId);
}

View File

@@ -8,9 +8,7 @@ import androidx.room.Update;
import java.util.List;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
@Dao
public interface ArticoloOrdineDao {
@@ -34,7 +32,9 @@ public interface ArticoloOrdineDao {
@Update
void update(ArticoloOrdine articolo);
@Query("SELECT * FROM articoli_ordine where id_ordine = :ordineId")
@Query("SELECT *" +
"FROM articoli_ordine " +
"where id_ordine = :ordineId")
List<ArticoloOrdine> findArticoliByOrdine(int ordineId);
@Query("SELECt * from articoli_ordine where cod_mart = :codMart and id_ordine = :ordineId LIMIT 1")

View File

@@ -8,17 +8,15 @@ import androidx.room.Update;
import java.util.List;
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
@Dao
public interface GrigliaDao {
@Query("SELECT * from griglie")
List<Griglia> getAll();
@Query("SELECT *, COUNT(articoli_griglia.articolo_griglia_id) as countArticoli from griglie LEFT JOIN articoli_griglia ON (griglie.griglia_id = articoli_griglia.id_griglia) where cod_alis = :codAlis GROUP BY griglie.griglia_id")
GrigliaWrapper findByCodAlis(String codAlis);
@Query("SELECT * from griglie where cod_alis = :codAlis")
Griglia findByCodAlis(String codAlis);
@Insert
long insert(Griglia griglia);

View File

@@ -0,0 +1,27 @@
package it.integry.integrywmsnative.core.data_store.db.dao;
import androidx.room.Dao;
import androidx.room.Query;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRoomDTO;
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
@Dao
public interface InventarioDao extends EntityDaoInterface<InventarioRoomDTO> {
@Query("SELECT * FROM " + InventarioRoomDTO.TABLE_NAME +
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))")
List<InventarioRoomDTO> selectAll(boolean toBeSync);
@Query("SELECT * FROM " + InventarioRoomDTO.TABLE_NAME +
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
" ORDER BY " + InventarioRoomDTO.Columns.DATA_INVENTARIO + " DESC")
Flowable<List<InventarioRoomDTO>> selectAllFlowable(boolean toBeSync);
}

View File

@@ -0,0 +1,28 @@
package it.integry.integrywmsnative.core.data_store.db.dao;
import androidx.room.Dao;
import androidx.room.Query;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRowRoomDTO;
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
@Dao
public interface InventarioRowDao extends EntityDaoInterface<InventarioRowRoomDTO> {
@Query("SELECT * FROM " + InventarioRowRoomDTO.TABLE_NAME +
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))")
List<InventarioRowRoomDTO> selectAll(boolean toBeSync);
@Query("SELECT * FROM " + InventarioRowRoomDTO.TABLE_NAME +
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
" AND " + InventarioRowRoomDTO.Columns.PARENT_ID + " = :parentId " +
" ORDER BY " +
" CASE WHEN :reversed = 1 THEN " + BaseSyncDTO.Columns.ID + " END DESC," +
" CASE WHEN :reversed = 0 THEN " + BaseSyncDTO.Columns.ID + " END ASC")
Flowable<List<InventarioRowRoomDTO>> selectAllFlowable(long parentId, boolean reversed, boolean toBeSync);
}

View File

@@ -0,0 +1,29 @@
package it.integry.integrywmsnative.core.data_store.db.dao;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
@Dao
public interface MtbColrDao {
@Query("SELECT * from mtb_colr ")
List<SqlMtbColr> getAll();
@Insert
Long insert(SqlMtbColr mtbColr);
@Update
void update(SqlMtbColr mtbColr);
@Delete
void delete(SqlMtbColr mtbColr);
@Query("SELECT * FROM mtb_colr WHERE id_collo = :idDocument ORDER BY id DESC")
List<SqlMtbColr> getDocumentRows(long idDocument);
}

View File

@@ -0,0 +1,41 @@
package it.integry.integrywmsnative.core.data_store.db.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import java.util.Date;
import java.util.List;
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
@Dao
public interface MtbColtDao {
@Query("SELECT * from mtb_colt")
List<SqlMtbColt> getAll();
@Insert
Long insert(SqlMtbColt mtbColt);
@Update
void update(SqlMtbColt mtbColt);
@Delete
void delete(SqlMtbColt mtbColt);
@Query("SELECT mtb_colt.*, count(mtb_colr.id) as countArticoli from mtb_colt left outer join mtb_colr on (mtb_colr.id_collo = mtb_colt.id) where" +
" cod_dtip_provv = :codDtip " +
" AND ( cod_anag = :codAnag OR (cod_anag is null and :codAnag is null)) " +
" AND ( cod_vdes = :codVdes OR (cod_vdes is null and :codVdes is null)) " +
" AND ( mtb_colt.data_doc = :dataDoc OR (mtb_colt.data_doc is null and :dataDoc is null)) " +
" AND ( mtb_colt.num_doc = :numDoc OR (mtb_colt.num_doc is null and :numDoc is null)) " +
" and cod_dtip is null group by mtb_colt.id")
LiveData<List<DocInternoWrapper>> getLocalDocumentsByCodDtip(String codDtip, String codAnag, String codVdes, Date dataDoc, String numDoc);
@Query("SELECT ifnull(MAX(num_collo),0) +1 as num_collo from mtb_colt")
Integer getNextNumCollo();
}

View File

@@ -9,7 +9,6 @@ import androidx.room.Update;
import java.util.List;
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
@Dao
@@ -17,11 +16,11 @@ public interface OrdineDao {
@Query("SELECT * from ordini ")
List<Ordine> getAll();
@Query("SELECT ordini.*, griglie.* from ordini inner join griglie ON id_griglia = griglie.griglia_id where ordini.transmitted = 1")
List<OrdineWithGriglia> getAllTrasnmitted();
@Query("SELECT ordini.* from ordini where ordini.transmitted = 1")
List<Ordine> getAllTrasnmitted();
@Query("SELECT ordini.*, count(articolo_ordine_id) as countArticoli from ordini left join articoli_ordine ON ordini.ordine_id = articoli_ordine.id_ordine where ordini.transmitted = 0 and ordini.id_griglia = :idGriglia group by ordini.ordine_id")
List<OrdineWrapper> getAllOpenOrdersByGriglia(int idGriglia);
@Query("SELECT ordini.*, count(articolo_ordine_id) as countArticoli from ordini left join articoli_ordine ON ordini.ordine_id = articoli_ordine.id_ordine where ordini.transmitted = 0 and ((:codAlis is null and ordini.cod_alis is null) OR (ordini.cod_alis = :codAlis)) group by ordini.ordine_id")
List<OrdineWrapper> getAllOpenOrdersByGriglia(String codAlis);
@Insert
Long insert(Ordine ordine);

View File

@@ -0,0 +1,13 @@
package it.integry.integrywmsnative.core.data_store.db.dao;
import androidx.room.Dao;
import androidx.room.RawQuery;
import androidx.sqlite.db.SupportSQLiteQuery;
@Dao
public interface RawDao {
@RawQuery
int vacuumDb(SupportSQLiteQuery supportSQLiteQuery);
}

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