From e704bd1597c8642cdda5f7c22eb37f52f9e4c8a5 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 23 Mar 2023 10:30:52 +0100 Subject: [PATCH 01/12] Implementata pulizia dei file di log. Forzata chiusura app in caso di uncaught exception. --- .../integrywmsnative/MainApplication.java | 16 +++--- .../core/context/AppContext.java | 27 ++++++++++ .../data_recover/ColliDataRecoverService.java | 5 +- .../gest/spedizione/SpedizioneViewModel.java | 50 +------------------ 4 files changed, 40 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java index a8b35d2f..a70eb647 100644 --- a/app/src/main/java/it/integry/integrywmsnative/MainApplication.java +++ b/app/src/main/java/it/integry/integrywmsnative/MainApplication.java @@ -70,19 +70,19 @@ public class MainApplication extends Application { // handler listener - private Thread.UncaughtExceptionHandler _unCaughtExceptionHandler = + private final Thread.UncaughtExceptionHandler _unCaughtExceptionHandler = new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread thread, Throwable ex) { - try { - UtilityLogger.error(new Exception(ex)); - } catch (Exception e) { - Log.e("Uncaught error", "Exception Logger failed!", e); - //MainApplication.exit(); - } - // 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); + } } }; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java index bf8f6438..042122ad 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/context/AppContext.java @@ -2,6 +2,7 @@ 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; @@ -91,6 +92,32 @@ public class AppContext { logsFolder = new File(mApplicationContext.getExternalFilesDir(null).getAbsolutePath()); int maxBytesSize = 5 * 1024 * 1024; Logger.addLogAdapter(new DiskLogAdapter(logsFolder, maxBytesSize)); + + removeOldLogs(logsFolder); + } + + 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")); + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_recover/ColliDataRecoverService.java b/app/src/main/java/it/integry/integrywmsnative/core/data_recover/ColliDataRecoverService.java index 4723cd6b..c38160f8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_recover/ColliDataRecoverService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_recover/ColliDataRecoverService.java @@ -39,6 +39,9 @@ public class ColliDataRecoverService { if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) { loadLocalFile(); } + + if(mtbColtsSessions == null) + mtbColtsSessions = new ArrayList<>(); } public boolean thereIsAnExistantSession() { @@ -47,7 +50,6 @@ public class ColliDataRecoverService { public List getAllSessionIDs() { if(thereIsAnExistantSession()) { - return Stream.of(mtbColtsSessions) .map(ColliDataRecoverDTO::getId) .toList(); @@ -56,7 +58,6 @@ public class ColliDataRecoverService { } public ColliDataRecoverDTO getSession(Integer sessionID) { - if(sessionID == null) return null; return getIfExists(sessionID); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index f034c1c8..686e0709 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -1210,8 +1210,9 @@ public class SpedizioneViewModel { .setOrders(orders); this.mColliScaricoRESTConsumer.createUDS(createUDSRequestDTO, createdUDS -> { - this.mCurrentMtbColt = createdUDS; mMtbColtSessionID = this.mColliDataRecoverService.startNewSession(createdUDS, mTestateOrdini); + + this.mCurrentMtbColt = createdUDS; this.mIsNewLU = true; if (onComplete != null) onComplete.run(); @@ -1342,53 +1343,6 @@ public class SpedizioneViewModel { this.sendOnRowSaved(); this.sendOnLoadingEnded(); }, this::sendError); - - -// MtbColt mtbColt = new MtbColt() -// .setNumCollo(mtbColrToUpdate.getNumCollo()) -// .setDataCollo(mtbColrToUpdate.getDataColloS()) -// .setSerCollo(mtbColrToUpdate.getSerCollo()) -// .setGestione(mtbColrToUpdate.getGestione()) -// .setMtbColr(new ObservableArrayList<>()); -// mtbColt.setOperation(CommonModelConsts.OPERATION.NO_OP); -// -// final MtbColr mtbColr = (MtbColr) mtbColrToUpdate.clone(); -// mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT); -// mtbColr.setRiga(null) -// .setPesoLordoKg(null) -// .setPesoNettoKg(null) -// .setNumCnf(numCnf.subtract(mtbColrToUpdate.getNumCnf())) -// .setQtaCnf(qtaCnf) -// .setQtaCol(qtaTot.subtract(mtbColrToUpdate.getQtaCol())) -// .setPartitaMag(partitaMag) -// .setDataScadPartita(dataScad); -// -// mtbColt.getMtbColr().add(mtbColr); -// -// this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { -// -// mtbColr -// .setNumCnf(numCnf) -// .setQtaCnf(qtaCnf) -// .setQtaCol(qtaTot); -// -// Optional pickingObjectDTO = Stream.of(this.mPickingList.getValue()) -// .filter(x -> Stream.of(x.getWithdrawMtbColrs()) -// .anyMatch(y -> y == mtbColrToUpdate)).findSingle(); -// -// if (pickingObjectDTO.isPresent()) { -// pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate); -// pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColr); -// } -// -// this.mCurrentMtbColt.getMtbColr().remove(mtbColrToUpdate); -// this.mCurrentMtbColt.getMtbColr().add(mtbColr); -// -// this.resetMatchedRows(); -// this.sendOnRowSaved(); -// this.sendOnLoadingEnded(); -// -// }, this::sendError); } From c6c19ca04b99672c4e7a266b56cc55568ba6b178 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 23 Mar 2023 10:31:40 +0100 Subject: [PATCH 02/12] -> v1.32.15 (355) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e245bd74..4bdb2c88 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 354 - def appVersionName = '1.32.14' + def appVersionCode = 355 + def appVersionName = '1.32.15' signingConfigs { release { From 1ad2d9ca9bc19bfa1b4fe14a3853cb54edc26ca5 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 23 Mar 2023 18:49:47 +0100 Subject: [PATCH 03/12] Fix su migration DB non implementata. Fix on start dei docInterni. --- .../15.json | 1168 +++++++++++++++++ .../core/data_store/db/AppDatabase.java | 3 +- .../DocInterniFragment.java | 13 +- 3 files changed, 1181 insertions(+), 3 deletions(-) create mode 100644 app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json diff --git a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json new file mode 100644 index 00000000..8b480ae6 --- /dev/null +++ b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json @@ -0,0 +1,1168 @@ +{ + "formatVersion": 1, + "database": { + "version": 15, + "identityHash": "a7eb741d99ba4b54e55ac41684d3207a", + "entities": [ + { + "tableName": "articoli_griglia", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`articolo_griglia_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, `gg_scadenza` INTEGER NOT NULL, `giacenza` REAL NOT NULL, `qta_prevista_vendita` REAL NOT NULL, `qta_proposta` REAL NOT NULL, `qta_ord` REAL NOT NULL, `id_griglia` INTEGER NOT NULL, `new_no_promo` INTEGER NOT NULL, FOREIGN KEY(`id_griglia`) REFERENCES `griglie`(`griglia_id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "articoloGrigliaId", + "columnName": "articolo_griglia_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codMart", + "columnName": "cod_mart", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "descrizione", + "columnName": "descrizione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "untMis", + "columnName": "unt_mis", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "qtaCnf", + "columnName": "qta_cnf", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "barCode", + "columnName": "bar_code", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "merceDaRic", + "columnName": "merce_da_ric", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "mediaSett", + "columnName": "media_sett", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "flagQtaMultipla", + "columnName": "flag_qta_multipla", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "qtaMinOrdinabile", + "columnName": "qta_min_ordinabile", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "ggScadenza", + "columnName": "gg_scadenza", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "giacenza", + "columnName": "giacenza", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "qtaPrevistaVendita", + "columnName": "qta_prevista_vendita", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "qtaProposta", + "columnName": "qta_proposta", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "qtaOrd", + "columnName": "qta_ord", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "idGriglia", + "columnName": "id_griglia", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "newNoPromo", + "columnName": "new_no_promo", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "articolo_griglia_id" + ] + }, + "indices": [ + { + "name": "index_articoli_griglia_id_griglia", + "unique": false, + "columnNames": [ + "id_griglia" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_articoli_griglia_id_griglia` ON `${TABLE_NAME}` (`id_griglia`)" + } + ], + "foreignKeys": [ + { + "table": "griglie", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "id_griglia" + ], + "referencedColumns": [ + "griglia_id" + ] + } + ] + }, + { + "tableName": "griglie", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`griglia_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `cod_alis` TEXT, `descr_lisa` TEXT, `descr_depo` TEXT)", + "fields": [ + { + "fieldPath": "grigliaId", + "columnName": "griglia_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "codAlis", + "columnName": "cod_alis", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "descrLisa", + "columnName": "descr_lisa", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "descrDepo", + "columnName": "descr_depo", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "griglia_id" + ] + }, + "indices": [ + { + "name": "index_griglie_cod_alis", + "unique": true, + "columnNames": [ + "cod_alis" + ], + "orders": [], + "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_griglie_cod_alis` ON `${TABLE_NAME}` (`cod_alis`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "ordini", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`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)", + "fields": [ + { + "fieldPath": "ordineId", + "columnName": "ordine_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dataIns", + "columnName": "data_ins", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "annotazioni", + "columnName": "annotazioni", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "transmitted", + "columnName": "transmitted", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "transmissionDate", + "columnName": "transmission_date", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "gestione", + "columnName": "gestione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataOrd", + "columnName": "data_ord", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "numOrd", + "columnName": "num_ord", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codMdep", + "columnName": "cod_mdep", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "idGriglia", + "columnName": "id_griglia", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "codAlis", + "columnName": "cod_alis", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "ordine_id" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "articoli_ordine", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`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 )", + "fields": [ + { + "fieldPath": "articoloOrdineId", + "columnName": "articolo_ordine_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codMart", + "columnName": "cod_mart", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "descrizione", + "columnName": "descrizione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "untMis", + "columnName": "unt_mis", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "qtaCnf", + "columnName": "qta_cnf", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "barCode", + "columnName": "bar_code", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "merceDaRic", + "columnName": "merce_da_ric", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "mediaSett", + "columnName": "media_sett", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "flagQtaMultipla", + "columnName": "flag_qta_multipla", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "qtaMinOrdinabile", + "columnName": "qta_min_ordinabile", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "idOrdine", + "columnName": "id_ordine", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "qtaOrd", + "columnName": "qta_ord", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "dataIns", + "columnName": "data_ins", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "newNoPromo", + "columnName": "new_no_promo", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "systemNote", + "columnName": "system_note", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codAlis", + "columnName": "cod_alis", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "articolo_ordine_id" + ] + }, + "indices": [ + { + "name": "index_articoli_ordine_id_ordine", + "unique": false, + "columnNames": [ + "id_ordine" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_articoli_ordine_id_ordine` ON `${TABLE_NAME}` (`id_ordine`)" + }, + { + "name": "index_articoli_ordine_id_ordine_cod_mart", + "unique": true, + "columnNames": [ + "id_ordine", + "cod_mart" + ], + "orders": [], + "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_articoli_ordine_id_ordine_cod_mart` ON `${TABLE_NAME}` (`id_ordine`, `cod_mart`)" + } + ], + "foreignKeys": [ + { + "table": "ordini", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "id_ordine" + ], + "referencedColumns": [ + "ordine_id" + ] + } + ] + }, + { + "tableName": "mtb_colt", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `username` TEXT, `gestione` TEXT, `data_collo` INTEGER, `ser_collo` TEXT, `num_collo` INTEGER, `rif_ord` TEXT, `cod_anag` TEXT, `cod_vdes` TEXT, `cod_mdep` TEXT, `cod_vlis` TEXT, `cod_dtip` TEXT, `cod_tcol` TEXT, `ser_doc` TEXT, `annotazioni` TEXT, `posizione` TEXT, `cod_dtip_provv` TEXT, `ser_doc_provv` TEXT, `cod_jfas` TEXT, `data_ord` INTEGER, `data_doc` INTEGER, `data_doc_provv` INTEGER, `cod_mgrp` TEXT, `data_vers` INTEGER, `segno` INTEGER, `num_ord` INTEGER, `num_doc` INTEGER, `num_doc_provv` INTEGER)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "username", + "columnName": "username", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "gestione", + "columnName": "gestione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataCollo", + "columnName": "data_collo", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "serCollo", + "columnName": "ser_collo", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "numCollo", + "columnName": "num_collo", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "rifOrd", + "columnName": "rif_ord", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codAnag", + "columnName": "cod_anag", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codVdes", + "columnName": "cod_vdes", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codMdep", + "columnName": "cod_mdep", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codVlis", + "columnName": "cod_vlis", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codDtip", + "columnName": "cod_dtip", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codTcol", + "columnName": "cod_tcol", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "serDoc", + "columnName": "ser_doc", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "annotazioni", + "columnName": "annotazioni", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "posizione", + "columnName": "posizione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codDtipProvv", + "columnName": "cod_dtip_provv", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "serDocProvv", + "columnName": "ser_doc_provv", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codJfas", + "columnName": "cod_jfas", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataOrd", + "columnName": "data_ord", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "dataDoc", + "columnName": "data_doc", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "dataDocProvv", + "columnName": "data_doc_provv", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codMgrp", + "columnName": "cod_mgrp", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataVers", + "columnName": "data_vers", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "segno", + "columnName": "segno", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "numOrd", + "columnName": "num_ord", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "numDoc", + "columnName": "num_doc", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "numDocProvv", + "columnName": "num_doc_provv", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_mtb_colt_data_collo_ser_collo_num_collo_gestione", + "unique": true, + "columnNames": [ + "data_collo", + "ser_collo", + "num_collo", + "gestione" + ], + "orders": [], + "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_mtb_colt_data_collo_ser_collo_num_collo_gestione` ON `${TABLE_NAME}` (`data_collo`, `ser_collo`, `num_collo`, `gestione`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "mtb_colr", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `id_collo` INTEGER NOT NULL, `data_collo` INTEGER, `gestione` TEXT, `ser_collo` TEXT, `descrizione` TEXT, `num_collo` INTEGER, `riga` INTEGER, `riga_ord` INTEGER, `cod_mart` TEXT, `cod_barre` TEXT, `cod_col` TEXT, `cod_tagl` TEXT, `partita_mag` TEXT, `gestione_rif` TEXT, `ser_collo_rif` TEXT, `note` TEXT, `data_ord` INTEGER, `data_collo_rif` INTEGER, `qta_cnf` REAL, `qta_col` REAL, `num_ord` INTEGER, `num_etich` INTEGER, `num_collo_rif` INTEGER, `datetime_row` INTEGER, `cod_jcom` TEXT, `num_cnf` REAL, `causale` TEXT, `utente` TEXT, `cod_anag_doc` TEXT, `cod_dtip_doc` TEXT, `data_doc` INTEGER, `ser_doc` TEXT, `num_doc` INTEGER, `id_riga_doc` INTEGER, `unt_mis` TEXT, `data_scad` INTEGER, FOREIGN KEY(`id_collo`) REFERENCES `mtb_colt`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "idCollo", + "columnName": "id_collo", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "dataCollo", + "columnName": "data_collo", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "gestione", + "columnName": "gestione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "serCollo", + "columnName": "ser_collo", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "descrizione", + "columnName": "descrizione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "numCollo", + "columnName": "num_collo", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "riga", + "columnName": "riga", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "rigaOrd", + "columnName": "riga_ord", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codMart", + "columnName": "cod_mart", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codBarre", + "columnName": "cod_barre", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codCol", + "columnName": "cod_col", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codTagl", + "columnName": "cod_tagl", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "partitaMag", + "columnName": "partita_mag", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "gestioneRif", + "columnName": "gestione_rif", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "serColloRif", + "columnName": "ser_collo_rif", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "note", + "columnName": "note", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataOrd", + "columnName": "data_ord", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "dataColloRif", + "columnName": "data_collo_rif", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "qtaCnf", + "columnName": "qta_cnf", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "qtaCol", + "columnName": "qta_col", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "numOrd", + "columnName": "num_ord", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "numEtich", + "columnName": "num_etich", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "numColloRif", + "columnName": "num_collo_rif", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "datetimeRow", + "columnName": "datetime_row", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codJcom", + "columnName": "cod_jcom", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "numCnf", + "columnName": "num_cnf", + "affinity": "REAL", + "notNull": false + }, + { + "fieldPath": "causale", + "columnName": "causale", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "utente", + "columnName": "utente", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codAnagDoc", + "columnName": "cod_anag_doc", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codDtipDoc", + "columnName": "cod_dtip_doc", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataDoc", + "columnName": "data_doc", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "serDoc", + "columnName": "ser_doc", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "numDoc", + "columnName": "num_doc", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "idRigaDoc", + "columnName": "id_riga_doc", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "untMis", + "columnName": "unt_mis", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataScad", + "columnName": "data_scad", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_mtb_colr_data_collo_ser_collo_num_collo_gestione_riga", + "unique": true, + "columnNames": [ + "data_collo", + "ser_collo", + "num_collo", + "gestione", + "riga" + ], + "orders": [], + "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_mtb_colr_data_collo_ser_collo_num_collo_gestione_riga` ON `${TABLE_NAME}` (`data_collo`, `ser_collo`, `num_collo`, `gestione`, `riga`)" + }, + { + "name": "index_mtb_colr_id_collo", + "unique": false, + "columnNames": [ + "id_collo" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_mtb_colr_id_collo` ON `${TABLE_NAME}` (`id_collo`)" + } + ], + "foreignKeys": [ + { + "table": "mtb_colt", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "id_collo" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "inventari", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `id_inventario` INTEGER, `cod_mdep` TEXT NOT NULL, `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, `zona` TEXT, `new` INTEGER, `remote_sync_date` INTEGER)", + "fields": [ + { + "fieldPath": "id", + "columnName": "_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "idInventario", + "columnName": "id_inventario", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codMdep", + "columnName": "cod_mdep", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "dataInventario", + "columnName": "data_inventario", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "dataReg", + "columnName": "data_reg", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "dataVer", + "columnName": "data_ver", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "filtro", + "columnName": "filtro", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "flagStato", + "columnName": "flag_stato", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "flagOperazione", + "columnName": "flag_operazione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codAnag", + "columnName": "cod_anag", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "codDtip", + "columnName": "cod_dtip", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "inseritoDa", + "columnName": "inserito_da", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "registratoDa", + "columnName": "registrato_da", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "verificatoDa", + "columnName": "verificato_da", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "dataOraInizio", + "columnName": "data_ora_inizio", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "dataOraFine", + "columnName": "data_ora_fine", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "causale", + "columnName": "causale", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "zona", + "columnName": "zona", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "isNew", + "columnName": "new", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "remoteSyncDate", + "columnName": "remote_sync_date", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "_id" + ] + }, + "indices": [ + { + "name": "index_inventari__id", + "unique": false, + "columnNames": [ + "_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_inventari__id` ON `${TABLE_NAME}` (`_id`)" + }, + { + "name": "index_inventari_id_inventario", + "unique": false, + "columnNames": [ + "id_inventario" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_inventari_id_inventario` ON `${TABLE_NAME}` (`id_inventario`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "inventario_rows", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_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 NO ACTION )", + "fields": [ + { + "fieldPath": "id", + "columnName": "_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "parentId", + "columnName": "parent_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "codMart", + "columnName": "cod_mart", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "partitaMag", + "columnName": "partita_mag", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "descrizione", + "columnName": "descrizione", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "qta", + "columnName": "qta", + "affinity": "REAL", + "notNull": true, + "defaultValue": "0" + }, + { + "fieldPath": "numConf", + "columnName": "num_cnf", + "affinity": "REAL", + "notNull": true, + "defaultValue": "0" + }, + { + "fieldPath": "qtaConf", + "columnName": "qta_cnf", + "affinity": "REAL", + "notNull": true, + "defaultValue": "0" + }, + { + "fieldPath": "untMis", + "columnName": "unt_mis", + "affinity": "TEXT", + "notNull": true, + "defaultValue": "'0'" + }, + { + "fieldPath": "dataOraInv", + "columnName": "data_ora_inv", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "scanCodBarre", + "columnName": "scan_cod_barre", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "zona", + "columnName": "zona", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "remoteSyncDate", + "columnName": "remote_sync_date", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "_id" + ] + }, + "indices": [ + { + "name": "index_inventario_rows__id", + "unique": false, + "columnNames": [ + "_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_inventario_rows__id` ON `${TABLE_NAME}` (`_id`)" + }, + { + "name": "index_inventario_rows_parent_id", + "unique": false, + "columnNames": [ + "parent_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_inventario_rows_parent_id` ON `${TABLE_NAME}` (`parent_id`)" + } + ], + "foreignKeys": [ + { + "table": "inventari", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "parent_id" + ], + "referencedColumns": [ + "_id" + ] + } + ] + } + ], + "views": [], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a7eb741d99ba4b54e55ac41684d3207a')" + ] + } +} \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java index edb5bd6c..64a04479 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/AppDatabase.java @@ -66,7 +66,8 @@ public abstract class AppDatabase extends RoomDatabase { .addMigrations(MIGRATION_10_11) .addMigrations(MIGRATION_11_12) .addMigrations(MIGRATION_12_13) - .addMigrations(MIGRATION_13_14); + .addMigrations(MIGRATION_13_14) + .addMigrations(MIGRATION_14_15); sInstance = builder.build(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniFragment.java index 891988ca..9984d422 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniFragment.java @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.widget.AppCompatTextView; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableArrayList; @@ -90,9 +92,11 @@ public class DocInterniFragment extends BaseFragment implements ITitledFragment, return mBinding.getRoot(); } + @Override - public void onStart() { - super.onStart(); + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + if (!this.mViewModel.hasDocDetails()) { mViewModel.init(); } else { @@ -100,6 +104,11 @@ public class DocInterniFragment extends BaseFragment implements ITitledFragment, } } + @Override + public void onStart() { + super.onStart(); + } + @Override public void onDestroy() { for (Runnable onPreDestroy : mOnPreDestroyList) { From b8486b677f657c32a3e71a979ba68ba2512b3ef1 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 23 Mar 2023 18:50:32 +0100 Subject: [PATCH 04/12] -> v1.32.16 (356) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4bdb2c88..60592467 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 355 - def appVersionName = '1.32.15' + def appVersionCode = 356 + def appVersionName = '1.32.16' signingConfigs { release { From 8eb58a4d644268f3feee74e8ff9d2493deaa2783 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 23 Mar 2023 19:40:50 +0100 Subject: [PATCH 05/12] Fix su IdGriglia nullable in Entity Ordine --- .../integrywmsnative/core/data_store/db/entity/Ordine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java index b6161e2d..ea74473e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Ordine.java @@ -51,7 +51,7 @@ public class Ordine { private boolean orderNewProducts = false; @ColumnInfo(name = "id_griglia") - private int idGriglia; + private Integer idGriglia; @ColumnInfo(name = "cod_alis") private String codAlis; From 93ffb191b5eec0b1fbac32b64b08564e436e4930 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 23 Mar 2023 19:41:19 +0100 Subject: [PATCH 06/12] -> v1.32.17 (357) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 60592467..3a9129ab 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 356 - def appVersionName = '1.32.16' + def appVersionCode = 357 + def appVersionName = '1.32.17' signingConfigs { release { From 557644f024bcbcd104fe6cba9c7982ab8074599c Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 24 Mar 2023 11:32:57 +0100 Subject: [PATCH 07/12] Fix su data consegna nulla in magazzino automatico request --- .../integrywmsnative/gest/spedizione/SpedizioneViewModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java index 686e0709..a74b762b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java @@ -599,7 +599,7 @@ public class SpedizioneViewModel { final List orders = Stream.of(this.mTestateOrdini) .map(x -> new MagazzinoAutomaticoPickOrderRequestDTO(UtilityDate.toLocalDate(x.getDataOrdD()), x.getGestione(), x.getNumOrd()) - .setDataCons(UtilityDate.toLocalDate(x.getDataConsD()))) + .setDataCons(x.getDataConsD() != null ? UtilityDate.toLocalDate(x.getDataConsD()) : null)) .toList(); final List magazzinoAutomaticoPickItemRequestDTOList = new ArrayList<>(); From b89085a9c3562d3f3bf7432e6be3343794945223 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 24 Mar 2023 11:34:29 +0100 Subject: [PATCH 08/12] -> v1.32.18 (358) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3a9129ab..54956e3c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 357 - def appVersionName = '1.32.17' + def appVersionCode = 358 + def appVersionName = '1.32.18' signingConfigs { release { From ac6cca1eda92c4b0f0c02071d5434b4b77b70fd9 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 24 Mar 2023 19:12:59 +0100 Subject: [PATCH 09/12] [ESSEGRANDE] Modifiche per data_scad e inventari con righe a 0 --- .../15.json | 8 ++--- .../rest/consumers/DocumentRESTConsumer.java | 4 +-- .../DocumentiRESTConsumerService.java | 3 +- .../DocInterniViewModel.java | 25 +++++++++++----- .../edit_form/DocInterniEditFormActivity.java | 1 + .../DocInterniEditFormViewModel.java | 30 +++++++++++++------ .../picking/PickingInventarioActivity.java | 1 + .../DialogInputQuantityV2DTO.java | 10 +++++++ .../DialogInputQuantityV2View.java | 1 + .../DialogInputQuantityV2ViewModel.java | 28 ++++++++++------- build.gradle | 2 +- 11 files changed, 78 insertions(+), 35 deletions(-) diff --git a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json index 8b480ae6..546382cf 100644 --- a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json +++ b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/15.json @@ -2,7 +2,7 @@ "formatVersion": 1, "database": { "version": 15, - "identityHash": "a7eb741d99ba4b54e55ac41684d3207a", + "identityHash": "0609508b3a8434bb8d3e3cc99e766d67", "entities": [ { "tableName": "articoli_griglia", @@ -192,7 +192,7 @@ }, { "tableName": "ordini", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`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)", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`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)", "fields": [ { "fieldPath": "ordineId", @@ -252,7 +252,7 @@ "fieldPath": "idGriglia", "columnName": "id_griglia", "affinity": "INTEGER", - "notNull": true + "notNull": false }, { "fieldPath": "codAlis", @@ -1162,7 +1162,7 @@ "views": [], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", - "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a7eb741d99ba4b54e55ac41684d3207a')" + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '0609508b3a8434bb8d3e3cc99e766d67')" ] } } \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java index 9243a88a..12dee055 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentRESTConsumer.java @@ -53,9 +53,9 @@ public class DocumentRESTConsumer extends _BaseRESTConsumer { - public void loadDocumentoAvailableArts(String codDtip, String codMgrp, RunnableArgs onComplete, RunnableArgs onFailed) { + public void loadDocumentoAvailableArts(String codDtip, String codMgrp, String codAnagForn, RunnableArgs onComplete, RunnableArgs onFailed) { var inventarioRESTConsumerService = RESTBuilder.getService(DocumentiRESTConsumerService.class); - inventarioRESTConsumerService.retrieveArts(codDtip, codMgrp) + inventarioRESTConsumerService.retrieveArts(codDtip, codMgrp, codAnagForn) .enqueue(new Callback<>() { @Override public void onResponse(@NonNull Call> call, @NonNull Response> response) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java index 437d74a5..2ba2c2d6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/DocumentiRESTConsumerService.java @@ -26,6 +26,7 @@ public interface DocumentiRESTConsumerService { @GET("wms/documento/arts") Call> retrieveArts( @Query("codDtip") String codDtip, - @Query("codMgrp") String codMgrp); + @Query("codMgrp") String codMgrp, + @Query("codAnagForn") String codAnagForn); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java index 54e322cb..579890e1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java @@ -102,15 +102,19 @@ public class DocInterniViewModel { this.productsFetched = false; this.sendOnLoadingStarted(); - documentRESTConsumer.loadDocumentoAvailableArts(this.getCodDtip(), this.getCodMgrp(), data -> { - this.productsFetched = true; - this.availableArts = data.getArts(); - this.artsSize.set(this.availableArts.size()); + documentRESTConsumer.loadDocumentoAvailableArts( + this.getCodDtip(), + this.getCodMgrp(), + this.getCodAnagForn(), + data -> { + this.productsFetched = true; + this.availableArts = data.getArts(); + this.artsSize.set(this.availableArts.size()); - if (this.docsFetched) - this.sendOnLoadingEnded(); + if (this.docsFetched) + this.sendOnLoadingEnded(); - }, this::sendError); + }, this::sendError); } public void fetchDocuments() { @@ -159,6 +163,13 @@ public class DocInterniViewModel { return this.mtbGrup.getValue().getCodMgrp(); } + private String getCodAnagForn() { + if (this.fornitore.getValue() == null) { + return null; + } + return this.fornitore.getValue().getCodAnag(); + } + public void editDocument(SqlMtbColt document) { this.mListener.onDocumentEditRequest(document, availableArts); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java index 4f75d5a0..10cef1af 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormActivity.java @@ -256,6 +256,7 @@ public class DocInterniEditFormActivity extends BaseActivity implements DocInter .setSaveOnImeDone(true) .setPartitaMag(row.getPartitaMag()) .setDataScad(row.getDataScad()) + .setCanInputZeroQuantity(true) .setCanOverflowOrderQuantity(false) .setCanLUBeClosed(false) .setNotesAllowed(true) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java index 44c511bd..ab16adcd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/edit_form/DocInterniEditFormViewModel.java @@ -245,20 +245,32 @@ public class DocInterniEditFormViewModel { private void initCheckFornitore() { SqlMtbColt doc = this.document.getValue(); + + if (doc == null) + return; + boolean isCheckPartitaMag = false; - if (doc != null && this.checkFornitoreRules != null) { - String key = doc.getCodAnag(); - if (doc.getCodVdes() != null && !doc.getCodVdes().isEmpty()) { - key += "-" + doc.getCodVdes(); - } - try { - if (this.checkFornitoreRules.has(key) && ((String) ((JSONObject) this.checkFornitoreRules.get(key)).get(doc.getCodDtipProvv())).equalsIgnoreCase("check-partitaMag")) { + + try { + if (this.checkFornitoreRules != null && this.checkFornitoreRules.has("value")) { + isCheckPartitaMag = this.checkFornitoreRules.getBoolean("value"); + } else if (this.checkFornitoreRules != null) { + String key = doc.getCodAnag(); + if (doc.getCodVdes() != null && !doc.getCodVdes().isEmpty()) { + key += "-" + doc.getCodVdes(); + } + if (this.checkFornitoreRules.has(key) && + ((String) ((JSONObject) this.checkFornitoreRules.get(key)) + .get(doc.getCodDtipProvv())) + .equalsIgnoreCase("check-partitaMag")) { isCheckPartitaMag = true; } - } catch (Exception ignored) { } - + } catch (JSONException e) { + this.sendError(e); } + + this.isCheckPartitaMag = isCheckPartitaMag; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java index b0a3540f..21aa5c88 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java @@ -214,6 +214,7 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn .setTotalQtaToBeTaken(totalQtaToBeTaken) .setTotalNumCnfToBeTaken(totalNumCnfToBeTaken) .setQtaCnfToBeTaken(qtaCnfToBeTaken) + .setCanInputZeroQuantity(true) .setCanOverflowOrderQuantity(canOverflowOrderQuantity) .setCanPartitaMagBeChanged(canPartitaMagBeChanged) .setCanLUBeClosed(canLUBeClosed) diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java index c02ebc58..6b337c49 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java @@ -33,6 +33,7 @@ public class DialogInputQuantityV2DTO { private BigDecimal totalNumCnfAvailable; private BigDecimal qtaCnfAvailable; + private boolean canInputZeroQuantity = false; private boolean canPartitaMagBeChanged = true; private boolean isDataScadMandatory = false; private boolean isNotesAllowed = false; @@ -214,6 +215,15 @@ public class DialogInputQuantityV2DTO { return this; } + public boolean isCanInputZeroQuantity() { + return canInputZeroQuantity; + } + + public DialogInputQuantityV2DTO setCanInputZeroQuantity(boolean canInputZeroQuantity) { + this.canInputZeroQuantity = canInputZeroQuantity; + return this; + } + public boolean isCanPartitaMagBeChanged() { return canPartitaMagBeChanged; } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java index ccbfd2bb..d2ae61cf 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2View.java @@ -165,6 +165,7 @@ public class DialogInputQuantityV2View extends BaseDialogFragment implements Dia .setQtaCnfToBeTaken(mDialogInputQuantityV2DTO.getQtaCnfToBeTaken()) .setTotalNumCnfAvailable(mDialogInputQuantityV2DTO.getTotalNumCnfAvailable()) .setTotalQtaAvailable(mDialogInputQuantityV2DTO.getTotalQtaAvailable()) + .setCanInputZeroQuantity(mDialogInputQuantityV2DTO.isCanInputZeroQuantity()) .setCanOverflowOrderQuantity(mDialogInputQuantityV2DTO.isCanOverflowOrderQuantity()) .setQtaCnfAvailable(mDialogInputQuantityV2DTO.getQtaCnfAvailable()) .setPartitaMag(mDialogInputQuantityV2DTO.getPartitaMag()) diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java index 75f3a5ab..9fab765f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java @@ -72,6 +72,7 @@ public class DialogInputQuantityV2ViewModel { private RunnableArgsWithReturn suggestPartitaMagRunnable; + private boolean canInputZeroQuantity; private boolean canOverflowOrderQuantity; private boolean canPartitaMagBeChanged; private int onNumCnfInputChanged; @@ -314,6 +315,11 @@ public class DialogInputQuantityV2ViewModel { return this; } + public DialogInputQuantityV2ViewModel setCanInputZeroQuantity(boolean canInputZeroQuantity) { + this.canInputZeroQuantity = canInputZeroQuantity; + return this; + } + public DialogInputQuantityV2ViewModel setCanOverflowOrderQuantity(boolean canOverflowOrderQuantity) { this.canOverflowOrderQuantity = canOverflowOrderQuantity; return this; @@ -443,8 +449,8 @@ public class DialogInputQuantityV2ViewModel { this.mListener.onError(new InvalidQtaCnfQuantityException()); return false; - } + if (mtbAart.get().isFlagTracciabilitaBoolean() && UtilityString.isNullOrEmpty(internalPartitaMag)) { if (suggestPartitaMagRunnable != null) { internalPartitaMag = suggestPartitaMagRunnable.run(this); @@ -456,54 +462,54 @@ public class DialogInputQuantityV2ViewModel { this.mListener.onError(new InvalidBatchLotException()); return false; } - } + if (this.shouldAskDataScad && UtilityString.isNullOrEmpty(internalPartitaMag)) { this.mListener.onError(new InvalidBatchLotException()); return false; - } + if (this.shouldAskDataScad && this.internalDataScad == null) { this.mListener.onError(new InvalidExpireDateException()); return false; - } + if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaOrd) && this.mtbAart.get().isFlagQtaCnfFissaBoolean()) { this.mListener.onError(new OverflowQtaTotOrderedQuantityException()); return false; - } + if (!this.canOverflowOrderQuantity && UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfOrd)) { this.mListener.onError(new OverflowNumCnfOrderedQuantityException()); return false; - } + if (UtilityBigDecimal.greaterThan(this.internalQtaTot, this.totalQtaAvailable)) { this.mListener.onError(new OverflowQtaTotAvailableQuantityException()); return false; - } + if (UtilityBigDecimal.greaterThan(this.internalNumCnf, this.totalNumCnfAvailable)) { this.mListener.onError(new OverflowNumCnfAvailableQuantityException()); return false; - } - if (this.internalNumCnf == null || this.internalQtaCnf == null || this.internalQtaTot == null || + + if (!this.canInputZeroQuantity && (this.internalNumCnf == null || this.internalQtaCnf == null || this.internalQtaTot == null || UtilityBigDecimal.equalsOrLowerThan(this.internalNumCnf, BigDecimal.ZERO) || UtilityBigDecimal.equalsOrLowerThan(this.internalQtaCnf, BigDecimal.ZERO) || - UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO)) { + UtilityBigDecimal.equalsOrLowerThan(this.internalQtaTot, BigDecimal.ZERO))) { this.mListener.onError(new InvalidQuantityException()); return false; - } + if (this.isNoteMandatory() && (this.internalNote == null || this.internalNote.length() <= 0)) { this.mListener.onError(new InvalidNotesException()); return false; diff --git a/build.gradle b/build.gradle index 5424d897..0c93ba8e 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { ext { kotlin_version = '1.8.0' - agp_version = '8.1.0-alpha09' + agp_version = '8.1.0-alpha10' } repositories { From fd13f2f1b49fffbaa546bdfcf0629b17dcf7dcbe Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 24 Mar 2023 19:13:57 +0100 Subject: [PATCH 10/12] -> v1.32.19 (359) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 54956e3c..eb4b5704 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 358 - def appVersionName = '1.32.18' + def appVersionCode = 359 + def appVersionName = '1.32.19' signingConfigs { release { From 029979c4631674ff83e20239b0440abe9a3ef9be Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 27 Mar 2023 11:40:32 +0200 Subject: [PATCH 11/12] Fix su cancelable del dialogProgress --- .../core/expansion/BaseDialogFragment.java | 14 ++++++++++++++ .../core/utility/UtilityProgress.java | 16 ---------------- .../dialog/DialogSelectDocInfoView.java | 8 ++++---- .../DialogAskInfoInventarioView.java | 6 +++--- .../DialogInfoSituazioneArticoloView.java | 6 +++--- .../view/dialogs/DialogProgressView.java | 2 ++ .../DialogChooseArtsFromMtbAartListView.java | 6 +++--- .../DialogChooseArtsFromMtbColrList.java | 6 +++--- .../input_peso_lu/DialogInputPesoLUView.java | 6 +++--- 9 files changed, 35 insertions(+), 35 deletions(-) delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java diff --git a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java index 5eb85b89..00396013 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/expansion/BaseDialogFragment.java @@ -27,6 +27,20 @@ public class BaseDialogFragment extends DialogFragment implements DialogInterfac private boolean mBarcodeListener = false; + private boolean cancelable = true; + + + @Override + public boolean isCancelable() { + return cancelable; + } + + + @Override + public void setCancelable(boolean cancelable) { + super.setCancelable(cancelable); + this.cancelable = cancelable; + } @Override public void show(FragmentManager manager, String tag) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java deleted file mode 100644 index 88197d06..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityProgress.java +++ /dev/null @@ -1,16 +0,0 @@ -package it.integry.integrywmsnative.core.utility; - -import androidx.fragment.app.FragmentActivity; - -import it.integry.integrywmsnative.view.dialogs.DialogProgressView; - -public class UtilityProgress { - - public static DialogProgressView createDefaultProgressDialog(FragmentActivity mContext) { - var progress = DialogProgressView.newInstance(null, null, true); - progress.show(mContext.getSupportFragmentManager(), "tag"); - return progress; - } - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoView.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoView.java index 1f0ffbd5..ff08bcdd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectDocInfoView.java @@ -90,17 +90,17 @@ public class DialogSelectDocInfoView extends BaseDialogFragment { .create() .inject(this); + setCancelable(false); + mBindings = DialogSelectDocInfoViewBinding.inflate(LayoutInflater.from(this.mContext), null, false); mBindings.setLifecycleOwner(this); mBindings.setView(this); mViewModel.setFornitori(mDocInputData.getFornitori()); - var cancelable = false; - var alertDialog = new MaterialAlertDialogBuilder(this.mContext) .setView(mBindings.getRoot()) - .setCancelable(cancelable) + .setCancelable(isCancelable()) .setPositiveButton(R.string.confirm, (dialog, which) -> { //Volutamente vuoto }) @@ -110,7 +110,7 @@ public class DialogSelectDocInfoView extends BaseDialogFragment { .create(); alertDialog.setOnShowListener(this); - alertDialog.setCanceledOnTouchOutside(cancelable); + alertDialog.setCanceledOnTouchOutside(isCancelable()); alertDialog.setOnDismissListener(this); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/dialogs/ask_info_inventario/DialogAskInfoInventarioView.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/dialogs/ask_info_inventario/DialogAskInfoInventarioView.java index 6d537e63..d61ca8ef 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/dialogs/ask_info_inventario/DialogAskInfoInventarioView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/dialogs/ask_info_inventario/DialogAskInfoInventarioView.java @@ -63,11 +63,11 @@ public class DialogAskInfoInventarioView extends BaseDialogFragment { .create() .inject(this); - var cancelable = true; + setCancelable(true); var alertDialog = new MaterialAlertDialogBuilder(this.mContext) .setView(mBindings.getRoot()) - .setCancelable(cancelable) + .setCancelable(isCancelable()) .setPositiveButton(R.string.ok, (dialog, which) -> { var zone = UtilityString.empty2null(this.zone.get()); if(zone != null) zone = StringUtils.capitalize(zone); @@ -81,7 +81,7 @@ public class DialogAskInfoInventarioView extends BaseDialogFragment { }) .create(); - alertDialog.setCanceledOnTouchOutside(cancelable); + alertDialog.setCanceledOnTouchOutside(isCancelable()); alertDialog.setOnShowListener(this); return alertDialog; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/info_situazione_articolo/DialogInfoSituazioneArticoloView.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/info_situazione_articolo/DialogInfoSituazioneArticoloView.java index 349259e7..e0add105 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/info_situazione_articolo/DialogInfoSituazioneArticoloView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione/dialogs/row_info/info_situazione_articolo/DialogInfoSituazioneArticoloView.java @@ -62,15 +62,15 @@ public class DialogInfoSituazioneArticoloView extends BaseDialogRowInfoView { .create() .inject(this); - var cancelable = true; + setCancelable(true); var alertDialog = new MaterialAlertDialogBuilder(this.mContext) .setView(mBindings.getRoot()) .setNeutralButton(R.string.action_close, null) - .setCancelable(cancelable) + .setCancelable(isCancelable()) .create(); - alertDialog.setCanceledOnTouchOutside(cancelable); + alertDialog.setCanceledOnTouchOutside(isCancelable()); alertDialog.setOnShowListener(this); return alertDialog; } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java index 5fd6a1f4..6ec042e1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/DialogProgressView.java @@ -56,6 +56,8 @@ public class DialogProgressView extends DialogFragment { .setCancelable(false) .create(); alertDialog.setCanceledOnTouchOutside(false); + + setCancelable(false); return alertDialog; } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListView.java index 965ef399..042b573b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_lista_arts/DialogChooseArtsFromMtbAartListView.java @@ -68,11 +68,11 @@ public class DialogChooseArtsFromMtbAartListView extends BaseDialogFragment impl .inject(this); - var cancelable = false; + setCancelable(false); var alertDialog = new MaterialAlertDialogBuilder(this.mContext) .setView(mBindings.getRoot()) - .setCancelable(cancelable) + .setCancelable(isCancelable()) .setPositiveButton(R.string.ok, (dialog, which) -> { var selectedArts = Stream.of(this.artsItemModels) .filter(x -> x.getSelected().get()) @@ -96,7 +96,7 @@ public class DialogChooseArtsFromMtbAartListView extends BaseDialogFragment impl alertDialog.setOnShowListener(this); - alertDialog.setCanceledOnTouchOutside(cancelable); + alertDialog.setCanceledOnTouchOutside(isCancelable()); return alertDialog; } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrList.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrList.java index 7b2dfd77..6bf86844 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrList.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/choose_arts_from_mtbcolr_list/DialogChooseArtsFromMtbColrList.java @@ -111,11 +111,11 @@ public class DialogChooseArtsFromMtbColrList extends BaseDialogFragment implemen .create() .inject(this); - var cancelable = false; + setCancelable(false); var alertDialog = new MaterialAlertDialogBuilder(this.mContext) .setView(mBindings.getRoot()) - .setCancelable(cancelable) + .setCancelable(isCancelable()) .setPositiveButton(R.string.ok, (dialog, which) -> { var selectedArts = Stream.of(this.mtbColrItemModels) .filter(x -> x.getChecked().get()) @@ -137,7 +137,7 @@ public class DialogChooseArtsFromMtbColrList extends BaseDialogFragment implemen alertDialog.setOnShowListener(this); - alertDialog.setCanceledOnTouchOutside(cancelable); + alertDialog.setCanceledOnTouchOutside(isCancelable()); return alertDialog; } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLUView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLUView.java index c70ee8a5..b2e7a787 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLUView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_peso_lu/DialogInputPesoLUView.java @@ -82,14 +82,14 @@ public class DialogInputPesoLUView extends BaseDialogFragment { this.init(); - var cancelable = false; + setCancelable(false); var alertDialog = new MaterialAlertDialogBuilder(this.mContext) .setView(mBindings.getRoot()) - .setCancelable(cancelable) + .setCancelable(isCancelable()) .create(); - alertDialog.setCanceledOnTouchOutside(cancelable); + alertDialog.setCanceledOnTouchOutside(isCancelable()); alertDialog.setOnShowListener(this); return alertDialog; } From 95f282cd4dceab95884019cc9943ccf42799a50c Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 27 Mar 2023 11:41:23 +0200 Subject: [PATCH 12/12] -> v1.32.20 (360) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index eb4b5704..989b3895 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 359 - def appVersionName = '1.32.19' + def appVersionCode = 360 + def appVersionName = '1.32.20' signingConfigs { release {