diff --git a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/12.json b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/12.json index 8fb21776..9e87fdb6 100644 --- a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/12.json +++ b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/12.json @@ -2,7 +2,7 @@ "formatVersion": 1, "database": { "version": 12, - "identityHash": "1fbbe769d42f5fb33a56580bea8b11c6", + "identityHash": "a3c4983a84b2d615e548dcceba15ecf0", "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)", + "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 NOT NULL)", "fields": [ { "fieldPath": "ordineId", @@ -253,6 +253,12 @@ "columnName": "id_griglia", "affinity": "INTEGER", "notNull": true + }, + { + "fieldPath": "codAlis", + "columnName": "cod_alis", + "affinity": "TEXT", + "notNull": true } ], "primaryKey": { @@ -868,7 +874,7 @@ }, { "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, `remote_sync_date` INTEGER)", + "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, `remote_sync_date` INTEGER)", "fields": [ { "fieldPath": "id", @@ -972,6 +978,12 @@ "affinity": "TEXT", "notNull": false }, + { + "fieldPath": "zona", + "columnName": "zona", + "affinity": "TEXT", + "notNull": false + }, { "fieldPath": "remoteSyncDate", "columnName": "remote_sync_date", @@ -1006,12 +1018,139 @@ } ], "foreignKeys": [] + }, + { + "tableName": "inventario_rows", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `parent_id` INTEGER, `cod_mart` TEXT NOT NULL, `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": true + }, + { + "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": { + "columnNames": [ + "_id" + ], + "autoGenerate": true + }, + "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, '1fbbe769d42f5fb33a56580bea8b11c6')" + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a3c4983a84b2d615e548dcceba15ecf0')" ] } } \ No newline at end of file diff --git a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/13.json b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/13.json deleted file mode 100644 index 22819fb7..00000000 --- a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/13.json +++ /dev/null @@ -1,1023 +0,0 @@ -{ - "formatVersion": 1, - "database": { - "version": 13, - "identityHash": "ab9c1aa3a84db133a9d4463adc6ab388", - "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": { - "columnNames": [ - "articolo_griglia_id" - ], - "autoGenerate": true - }, - "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": { - "columnNames": [ - "griglia_id" - ], - "autoGenerate": true - }, - "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)", - "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 - } - ], - "primaryKey": { - "columnNames": [ - "ordine_id" - ], - "autoGenerate": true - }, - "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, 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 - } - ], - "primaryKey": { - "columnNames": [ - "articolo_ordine_id" - ], - "autoGenerate": true - }, - "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": { - "columnNames": [ - "id" - ], - "autoGenerate": true - }, - "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": { - "columnNames": [ - "id" - ], - "autoGenerate": true - }, - "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, `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": "remoteSyncDate", - "columnName": "remote_sync_date", - "affinity": "INTEGER", - "notNull": false - } - ], - "primaryKey": { - "columnNames": [ - "_id" - ], - "autoGenerate": true - }, - "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": [] - } - ], - "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, 'ab9c1aa3a84db133a9d4463adc6ab388')" - ] - } -} \ No newline at end of file diff --git a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/14.json b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/14.json deleted file mode 100644 index c31de7dd..00000000 --- a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/14.json +++ /dev/null @@ -1,1150 +0,0 @@ -{ - "formatVersion": 1, - "database": { - "version": 14, - "identityHash": "6a7fc5a013080ef96827187ce0637459", - "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": { - "columnNames": [ - "articolo_griglia_id" - ], - "autoGenerate": true - }, - "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": { - "columnNames": [ - "griglia_id" - ], - "autoGenerate": true - }, - "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)", - "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 - } - ], - "primaryKey": { - "columnNames": [ - "ordine_id" - ], - "autoGenerate": true - }, - "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, 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 - } - ], - "primaryKey": { - "columnNames": [ - "articolo_ordine_id" - ], - "autoGenerate": true - }, - "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": { - "columnNames": [ - "id" - ], - "autoGenerate": true - }, - "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": { - "columnNames": [ - "id" - ], - "autoGenerate": true - }, - "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, `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": "remoteSyncDate", - "columnName": "remote_sync_date", - "affinity": "INTEGER", - "notNull": false - } - ], - "primaryKey": { - "columnNames": [ - "_id" - ], - "autoGenerate": true - }, - "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 NOT NULL, `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": true - }, - { - "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": { - "columnNames": [ - "_id" - ], - "autoGenerate": true - }, - "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, '6a7fc5a013080ef96827187ce0637459')" - ] - } -} \ 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 ebe3a2a5..9317a702 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 @@ -39,7 +39,7 @@ import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt; InventarioRoomDTO.class, InventarioRowRoomDTO.class }, - version = 11, + version = 12, exportSchema = true) @TypeConverters({ DateConverter.class, @@ -63,7 +63,8 @@ public abstract class AppDatabase extends RoomDatabase { if (sInstance == null) { var builder = Room.databaseBuilder(applicationContext, AppDatabase.class, "integry_wms") - .addMigrations(MIGRATION_10_11); + .addMigrations(MIGRATION_10_11) + .addMigrations(MIGRATION_11_12); sInstance = builder.build(); } @@ -100,6 +101,14 @@ public abstract class AppDatabase extends RoomDatabase { 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;"); + } + }; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java index e7b43b26..bde8bdae 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/ArticoloOrdineDao.java @@ -9,7 +9,6 @@ import androidx.room.Update; import java.util.List; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; -import it.integry.integrywmsnative.core.data_store.db.wrappers.ArticoloOrdineWrapper; @Dao public interface ArticoloOrdineDao { @@ -33,17 +32,10 @@ public interface ArticoloOrdineDao { @Update void update(ArticoloOrdine articolo); - @Query("SELECT articoli_ordine.*," + - "articoli_griglia.gg_scadenza," + - "articoli_griglia.giacenza," + - "articoli_griglia.qta_prevista_vendita," + - "articoli_griglia.qta_proposta " + + @Query("SELECT *" + "FROM articoli_ordine " + - "INNER JOIN ordini on articoli_ordine.id_ordine = ordini.ordine_id " + - "LEFT OUTER JOIN articoli_griglia " + - "on articoli_ordine.cod_mart = articoli_griglia.cod_mart and ordini.id_griglia = articoli_griglia.id_griglia and articoli_ordine.bar_code = articoli_griglia.bar_code " + "where id_ordine = :ordineId") - List findArticoliByOrdine(int ordineId); + List findArticoliByOrdine(int ordineId); @Query("SELECt * from articoli_ordine where cod_mart = :codMart and id_ordine = :ordineId LIMIT 1") ArticoloOrdine findArticoloByCodMartAndOrdine(int ordineId, String codMart); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/GrigliaDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/GrigliaDao.java index a3c33d80..7449a371 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/GrigliaDao.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/GrigliaDao.java @@ -9,15 +9,14 @@ import androidx.room.Update; import java.util.List; 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 getAll(); - @Query("SELECT griglie.*, 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); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColtDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColtDao.java index 262cb324..ab0daf24 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColtDao.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColtDao.java @@ -9,12 +9,9 @@ import androidx.room.Update; import java.util.Date; import java.util.List; -import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt; -import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia; import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper; -import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper; - + @Dao public interface MtbColtDao { @Query("SELECT * from mtb_colt") diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/OrdineDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/OrdineDao.java index 22ae973d..840daa56 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/OrdineDao.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/OrdineDao.java @@ -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 getAll(); - @Query("SELECT ordini.*, griglie.* from ordini inner join griglie ON id_griglia = griglie.griglia_id where ordini.transmitted = 1") - List getAllTrasnmitted(); + @Query("SELECT ordini.* from ordini where ordini.transmitted = 1") + List 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 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 ordini.cod_alis = :codAlis group by ordini.ordine_id") + List getAllOpenOrdersByGriglia(String codAlis); @Insert Long insert(Ordine ordine); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java index 4602b8e2..a55f4582 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/ArticoloGriglia.java @@ -6,13 +6,6 @@ import androidx.room.ForeignKey; import androidx.room.Index; import androidx.room.PrimaryKey; -import org.json.JSONObject; - -import java.math.BigDecimal; -import java.util.HashMap; - -import it.integry.integrywmsnative.core.utility.UtilityDate; - @Entity( tableName = "articoli_griglia", indices = { @@ -215,38 +208,4 @@ public class ArticoloGriglia { public void setQtaOrd(float qtaOrd) { this.qtaOrd = qtaOrd; } - - public String generateSystemNote() { - HashMap pairs = new HashMap<>(); - pairs.put("qta_proposta", String.valueOf(qtaProposta)); - pairs.put("giacenza", String.valueOf(giacenza)); - - return new JSONObject(pairs).toString(); - } - - public ArticoloOrdine convertToArticoloOrdine(Ordine ordine) { - ArticoloOrdine articolo = new ArticoloOrdine(); - - articolo.setIdOrdine(ordine.getOrdineId()); - - articolo.setBarCode(this.getBarCode()); - articolo.setCodMart(this.getCodMart()); - articolo.setMediaSett(this.getMediaSett()); - articolo.setFlagQtaMultipla(this.getFlagQtaMultipla()); - articolo.setQtaMinOrdinabile(this.getQtaMinOrdinabile()); - articolo.setMerceDaRic(this.getMerceDaRic()); - articolo.setQtaCnf(this.getQtaCnf()); - articolo.setUntMis(this.getUntMis()); - articolo.setDescrizione(this.getDescrizione()); - articolo.setDataIns(UtilityDate.getDateInstance()); - articolo.setGgScadenza(this.getGgScadenza()); - articolo.setGiacenza(BigDecimal.valueOf(this.getGiacenza())); - articolo.setQtaPrevistaVendita(BigDecimal.valueOf(this.getQtaPrevistaVendita())); - articolo.setQtaProposta(BigDecimal.valueOf(this.getQtaProposta())); - articolo.setNewNoPromo(this.isNewNoPromo()); - articolo.setSystemNote(generateSystemNote()); - articolo.setQtaOrd(this.getQtaOrd()); - - return articolo; - } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java index b056d387..7921b5df 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/Griglia.java @@ -2,11 +2,10 @@ package it.integry.integrywmsnative.core.data_store.db.entity; import androidx.room.ColumnInfo; import androidx.room.Entity; -import androidx.room.Ignore; import androidx.room.Index; import androidx.room.PrimaryKey; -@Entity(tableName ="griglie", +@Entity(tableName = "griglie", indices = { @Index(value = "cod_alis", unique = true) } @@ -22,8 +21,6 @@ public class Griglia { private String descrLisa; @ColumnInfo(name = "descr_depo") private String descrDepo; - @Ignore - private int countArticoli = 0; public int getGrigliaId() { @@ -58,11 +55,4 @@ public class Griglia { this.descrDepo = descrDepo; } - public int getCountArticoli() { - return countArticoli; - } - - public void setCountArticoli(int countArticoli) { - this.countArticoli = countArticoli; - } } 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 5f7e35a5..1fa78020 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 @@ -1,5 +1,6 @@ package it.integry.integrywmsnative.core.data_store.db.entity; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.room.ColumnInfo; import androidx.room.Entity; @@ -47,15 +48,16 @@ public class Ordine { @Nullable private String codMdep; - @Ignore - private int countArticoli = 0; - @Ignore private boolean orderNewProducts = false; @ColumnInfo(name = "id_griglia") private int idGriglia; + @ColumnInfo(name = "cod_alis") + @NonNull + private String codAlis; + public int getOrdineId() { return ordineId; } @@ -105,14 +107,6 @@ public class Ordine { this.transmissionDate = transmissionDate; } - public int getCountArticoli() { - return countArticoli; - } - - public void setCountArticoli(int countArticoli) { - this.countArticoli = countArticoli; - } - @Nullable public String getGestione() { return gestione; @@ -157,8 +151,15 @@ public class Ordine { return orderNewProducts; } - public Ordine setOrderNewProducts(boolean orderNewProducts) { + public void setOrderNewProducts(boolean orderNewProducts) { this.orderNewProducts = orderNewProducts; - return this; + } + + public String getCodAlis() { + return codAlis; + } + + public void setCodAlis(String codAlis) { + this.codAlis = codAlis; } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/GrigliaRepository.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/GrigliaRepository.java index 707a1272..a5a190a9 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/GrigliaRepository.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/GrigliaRepository.java @@ -3,16 +3,15 @@ package it.integry.integrywmsnative.core.data_store.db.repository; import java.util.List; import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; -import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper; import it.integry.integrywmsnative.core.expansion.RunnableArgs; public interface GrigliaRepository { void selectAll(RunnableArgs> onSuccess, RunnableArgs onError); - void findByCodAlis(String codAlis , RunnableArgs onSuccess, RunnableArgs onError); + void findByCodAlis(String codAlis, RunnableArgs onSuccess, RunnableArgs onError); - void saveGriglia(Griglia griglia, RunnableArgs onSuccess,RunnableArgs onFail); + void saveGriglia(Griglia griglia, RunnableArgs onSuccess, RunnableArgs onFail); void findGrigliaById(int idGriglia, RunnableArgs onLoad, RunnableArgs onFail); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColtRepository.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColtRepository.java index c5093ab3..abf4d080 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColtRepository.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColtRepository.java @@ -3,12 +3,8 @@ package it.integry.integrywmsnative.core.data_store.db.repository; import java.util.Date; import java.util.List; -import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; -import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt; -import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia; import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper; -import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper; import it.integry.integrywmsnative.core.expansion.RunnableArgs; public interface MtbColtRepository { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/OrdineRepository.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/OrdineRepository.java index e42ae623..a77bb3f3 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/OrdineRepository.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/OrdineRepository.java @@ -2,9 +2,7 @@ package it.integry.integrywmsnative.core.data_store.db.repository; import java.util.List; -import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; 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; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -12,9 +10,9 @@ public interface OrdineRepository { void selectAll(RunnableArgs> onSuccess, RunnableArgs onError); - void selectAllTransmitted(RunnableArgs> onSuccess, RunnableArgs onError); + void selectAllTransmitted(RunnableArgs> onSuccess, RunnableArgs onError); - void selectAllOpenOrders(Griglia griglia, RunnableArgs> onSuccess, RunnableArgs onError); + void selectAllOpenOrders(String codAlis, RunnableArgs> onSuccess, RunnableArgs onError); void insert(Ordine ordine, RunnableArgs onSuccess, RunnableArgs onError); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java index fee12d13..188e3e9a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/ArticoliOrdineDataSource.java @@ -2,8 +2,6 @@ package it.integry.integrywmsnative.core.data_store.db.repository.datasource; import android.os.Handler; -import com.annimon.stream.Stream; - import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; @@ -16,7 +14,6 @@ import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository; -import it.integry.integrywmsnative.core.data_store.db.wrappers.ArticoloOrdineWrapper; import it.integry.integrywmsnative.core.expansion.RunnableArgs; public class ArticoliOrdineDataSource extends BaseDataSource implements ArticoliOrdineRepository { @@ -90,23 +87,7 @@ public class ArticoliOrdineDataSource extends BaseDataSource implements Articoli } public void findArticoliByOrdine(Ordine ordine, RunnableArgs> onSuccess, RunnableArgs onError) { - executorService.execute(() -> { - try { - List list = mArticoloOrdineDao.findArticoliByOrdine(ordine.getOrdineId()); - var tmpList = Stream.of(list).map(x -> { - ArticoloOrdine art = x.getArticoloOrdine(); - art.setGgScadenza(x.getGgScadenza()); - art.setGiacenza(x.getGiacenza()); - art.setQtaProposta(x.getQtaProposta()); - art.setQtaPrevistaVendita(x.getQtaPrevistaVendita()); - return art; - }).toList(); - - handler.post(() -> onSuccess.run(tmpList)); - } catch (Exception e) { - onError.run(e); - } - }); + execute(() -> mArticoloOrdineDao.findArticoliByOrdine(ordine.getOrdineId()), onSuccess, onError); } public void deleteArticolo(ArticoloOrdine articolo, Runnable onSuccess, RunnableArgs onError) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/GrigliaDataSource.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/GrigliaDataSource.java index c6d1b280..71561436 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/GrigliaDataSource.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/GrigliaDataSource.java @@ -10,7 +10,6 @@ import javax.inject.Inject; import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao; import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository; -import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper; import it.integry.integrywmsnative.core.expansion.RunnableArgs; public class GrigliaDataSource extends BaseDataSource implements GrigliaRepository { @@ -29,7 +28,7 @@ public class GrigliaDataSource extends BaseDataSource implements GrigliaReposito execute(mGrigliaDao::getAll, onSuccess, onError); } - public void findByCodAlis(String codAlis, RunnableArgs onSuccess, RunnableArgs onError) { + public void findByCodAlis(String codAlis, RunnableArgs onSuccess, RunnableArgs onError) { execute(() -> mGrigliaDao.findByCodAlis(codAlis), onSuccess, onError); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/OrdineDataSource.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/OrdineDataSource.java index 16418af2..1a1c0055 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/OrdineDataSource.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/datasource/OrdineDataSource.java @@ -8,10 +8,8 @@ import java.util.concurrent.ExecutorService; import javax.inject.Inject; import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao; -import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository; -import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia; import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -31,12 +29,12 @@ public class OrdineDataSource extends BaseDataSource implements OrdineRepository execute(mOrdineDao::getAll, onSuccess, onError); } - public void selectAllTransmitted(RunnableArgs> onSuccess, RunnableArgs onError) { + public void selectAllTransmitted(RunnableArgs> onSuccess, RunnableArgs onError) { execute(mOrdineDao::getAllTrasnmitted, onSuccess, onError); } - public void selectAllOpenOrders(Griglia griglia, RunnableArgs> onSuccess, RunnableArgs onError) { - execute(() -> mOrdineDao.getAllOpenOrdersByGriglia(griglia.getGrigliaId()), onSuccess, onError); + public void selectAllOpenOrders(String codAlis, RunnableArgs> onSuccess, RunnableArgs onError) { + execute(() -> mOrdineDao.getAllOpenOrdersByGriglia(codAlis), onSuccess, onError); } public void insert(Ordine ordine, RunnableArgs onSuccess, RunnableArgs onError) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java index 2859998e..6f78e336 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/view_model/ArticoloDTO.java @@ -1,6 +1,14 @@ package it.integry.integrywmsnative.core.data_store.db.view_model; -import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia; +import org.apache.commons.lang3.StringUtils; +import org.json.JSONObject; + +import java.math.BigDecimal; +import java.util.HashMap; + +import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; +import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; +import it.integry.integrywmsnative.core.utility.UtilityDate; public class ArticoloDTO { @@ -161,24 +169,50 @@ public class ArticoloDTO { return this; } - public ArticoloGriglia toArticoloGriglia() { - ArticoloGriglia result = new ArticoloGriglia(); - result.setBarCode(this.getBarCode()); - result.setDescrizione(this.getDescrizione()); - result.setCodMart(this.getCodMart()); - result.setUntMis(this.getUntMis()); - result.setQtaCnf(this.getQtaCnf()); - result.setMerceDaRic(this.getMerceDaRic()); - result.setMediaSett(this.getMediaSett()); - result.setFlagQtaMultipla(this.getFlagQtaMultipla()); - result.setQtaMinOrdinabile(this.getQtaMinOrdinabile()); - result.setGgScadenza(this.ggScadenza); - result.setNewNoPromo(this.newNoPromo); - result.setQtaOrd(this.getQtaOrd()); - result.setGiacenza(this.giacenza); - result.setQtaPrevistaVendita(this.qtaPrevistaVendita); - result.setQtaProposta(this.qtaProposta); + public ArticoloOrdine convertToArticoloOrdine(Ordine ordine) { + ArticoloOrdine articolo = new ArticoloOrdine(); - return result; + articolo.setIdOrdine(ordine.getOrdineId()); + + articolo.setBarCode(this.getBarCode()); + articolo.setCodMart(this.getCodMart()); + articolo.setMediaSett(this.getMediaSett()); + articolo.setFlagQtaMultipla(this.getFlagQtaMultipla()); + articolo.setQtaMinOrdinabile(this.getQtaMinOrdinabile()); + articolo.setMerceDaRic(this.getMerceDaRic()); + articolo.setQtaCnf(this.getQtaCnf()); + articolo.setUntMis(this.getUntMis()); + articolo.setDescrizione(this.getDescrizione()); + articolo.setDataIns(UtilityDate.getDateInstance()); + articolo.setGgScadenza(this.getGgScadenza()); + articolo.setGiacenza(BigDecimal.valueOf(this.getGiacenza())); + articolo.setQtaPrevistaVendita(BigDecimal.valueOf(this.getQtaPrevistaVendita())); + articolo.setQtaProposta(BigDecimal.valueOf(this.getQtaProposta())); + articolo.setNewNoPromo(this.isNewNoPromo()); + articolo.setSystemNote(generateSystemNote()); + articolo.setQtaOrd(this.getQtaOrd()); + + return articolo; + } + + public String generateSystemNote() { + HashMap pairs = new HashMap<>(); + pairs.put("qta_proposta", String.valueOf(qtaProposta)); + pairs.put("giacenza", String.valueOf(giacenza)); + + return new JSONObject(pairs).toString(); + } + + + public int getSortByBarcodeCondition(String barcode) { + if (codMart.equalsIgnoreCase(barcode)) + return 1; + if (barcode != null) { + if (barcode.equalsIgnoreCase(barcode)) + return 2; + if (StringUtils.leftPad(barcode, 13, "0").equalsIgnoreCase(barcode)) + return 3; + } + return 100; } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/GrigliaWrapper.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/GrigliaWrapper.java deleted file mode 100644 index 9273c89a..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/GrigliaWrapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package it.integry.integrywmsnative.core.data_store.db.wrappers; - -import androidx.room.ColumnInfo; -import androidx.room.Embedded; - -import it.integry.integrywmsnative.core.data_store.db.entity.Griglia; - -public class GrigliaWrapper { - @Embedded - private Griglia griglia; - - @ColumnInfo(name = "countArticoli") - private int countArticoli = 0; - - public Griglia getGriglia() { - return griglia; - } - - public void setGriglia(Griglia griglia) { - this.griglia = griglia; - } - - public int getCountArticoli() { - return countArticoli; - } - - public void setCountArticoli(int countArticoli) { - this.countArticoli = countArticoli; - } -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumer.java index b1b976ea..5b5801aa 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumer.java @@ -1,5 +1,6 @@ package it.integry.integrywmsnative.core.rest.consumers; +import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; @@ -9,6 +10,7 @@ import java.util.List; import javax.inject.Singleton; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.DtbOrdt; import it.integry.integrywmsnative.core.model.MtbTCol; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; @@ -44,17 +46,43 @@ public class MagazzinoRESTConsumer extends _BaseRESTConsumer { } - public void saveTerminalino(SaveDTO saveDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + public void saveOrdine(SaveDTO saveDTO, RunnableArgs onComplete, RunnableArgs onFailed) { MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class); - service.saveTerminalino(saveDTO) + service.saveOrdine(saveDTO) .enqueue(new Callback<>() { @Override - public void onResponse(Call> call, Response> response) { - analyzeAnswer(response, "saveTerminalino", onComplete, onFailed); + public void onResponse(Call>> call, Response>> response) { + if (response.body() != null && response.body().size() > 0) { + analyzeListOfAnswers(response, "saveOrdine", dtoList -> { + if (dtoList.size() > 0) { + onComplete.run(dtoList.get(0)); + } else { + onFailed.run(new Exception("Nessun ordine generato")); + } + }, onFailed); + } else { + onFailed.run(new Exception("Nessun ordine generato")); + } } @Override - public void onFailure(Call> call, Throwable t) { + public void onFailure(Call>> call, Throwable t) { + onFailed.run(new Exception(t)); + } + }); + } + + public void saveTerminalinoWMS(SaveDTO saveDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + MagazzinoRESTConsumerService service = RESTBuilder.getService(MagazzinoRESTConsumerService.class); + service.saveTerminalinoWMS(saveDTO) + .enqueue(new Callback<>() { + @Override + public void onResponse(Call> call, Response> response) { + analyzeAnswer(response, "saveTerminalinoWMS", onComplete, onFailed); + } + + @Override + public void onFailure(Call> call, Throwable t) { onFailed.run(new Exception(t)); } }); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumerService.java index 90440393..39ce7a20 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/MagazzinoRESTConsumerService.java @@ -1,5 +1,10 @@ package it.integry.integrywmsnative.core.rest.consumers; +import com.google.gson.JsonObject; + +import java.util.List; + +import it.integry.integrywmsnative.core.model.DtbOrdt; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO; import retrofit2.Call; @@ -9,6 +14,9 @@ import retrofit2.http.POST; public interface MagazzinoRESTConsumerService { @POST("SM2SaveTerminalinoWMS") - Call> saveTerminalino(@Body SaveDTO saveDTO); + Call> saveTerminalinoWMS(@Body SaveDTO saveDTO); + + @POST("SM2SaveTerminalino") + Call>> saveOrdine(@Body SaveDTO saveDTO); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java index 2f0a67d1..6185d6b4 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PVOrdiniAcquistoRESTConsumer.java @@ -12,12 +12,10 @@ import java.util.List; import javax.inject.Singleton; 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.Ordine; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO; import it.integry.integrywmsnative.core.data_store.db.view_model.GrigliaDTO; import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.model.DtbOrdt; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.utility.UtilityDate; @@ -41,7 +39,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer { public void getArticoliListino(String codAlis, RunnableArgs onSuccess, RunnableArgs onFailed) { - PVOrdiniAcquistoRESTConsumerService ordiniARestService = RESTBuilder.getService(PVOrdiniAcquistoRESTConsumerService.class); + PVOrdiniAcquistoRESTConsumerService ordiniARestService = RESTBuilder.getService(PVOrdiniAcquistoRESTConsumerService.class, 300); ordiniARestService .getArticoliListino(codAlis) .enqueue(new Callback<>() { @@ -87,7 +85,7 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer { }); } - public void saveOrdine(Ordine ordine, List articoli, Griglia griglia, RunnableArgs onSuccess, RunnableArgs onFailed) { + public void saveOrdine(Ordine ordine, List articoli, RunnableArgs onSuccess, RunnableArgs onFailed) { SaveDTO saveDTO = new SaveDTO(); OrdineDTO ordineDTO = new OrdineDTO(); List artRows = new ArrayList<>(); @@ -98,15 +96,15 @@ public class PVOrdiniAcquistoRESTConsumer extends _BaseRESTConsumer { artRows.add(convertArtToDTO(art, i)); } - ordineDTO.setChiaveGriglia(griglia.getCodAlis()); + ordineDTO.setChiaveGriglia(ordine.getCodAlis()); ordineDTO.setDataCons(UtilityDate.getDateInstance()); ordineDTO.setArtRows(artRows); saveDTO.setGestione("O"); saveDTO.setOrdineDTO(ordineDTO); - magazzinoRESTConsumer.saveTerminalino(saveDTO, data -> { - if(data == null) { + magazzinoRESTConsumer.saveOrdine(saveDTO, data -> { + if (data == null) { onFailed.run(new Exception("Nessun ordine generato")); return; } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java index babc2d6d..0a2e3a28 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java @@ -35,11 +35,11 @@ import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.databinding.FragmentMainAccettazioneBinding; +import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO; +import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO; import it.integry.integrywmsnative.gest.accettazione.ui.MainListAccettazioneAdapter; import it.integry.integrywmsnative.gest.accettazione.ui.MainListAccettazioneClienteListModel; import it.integry.integrywmsnative.gest.accettazione.ui.MainListAccettazioneListModel; -import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO; -import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO; import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingActivity; import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; @@ -86,12 +86,11 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if(savedInstanceState != null && savedInstanceState.containsKey("mToolbar")) + if (savedInstanceState != null && savedInstanceState.containsKey("mToolbar")) mToolbar = DataCache.retrieveItem(savedInstanceState.getString("mToolbar")); mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_accettazione, container, false); @@ -134,7 +133,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl private void initRecyclerView() { - this.mViewModel.getOrderList().observe(getViewLifecycleOwner(), x->{ + this.mViewModel.getOrderList().observe(getViewLifecycleOwner(), x -> { this.refreshList(getFilteredList(mTextFilter)); }); @@ -198,7 +197,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl listModel.setGroupTitle(x.getRagSocOrd()); - listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumero().toString(), UtilityDate.formatDate(x.getDataD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); + listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumero(), UtilityDate.formatDate(x.getDataD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); List clienti = Stream.of(dataList) .filter(y -> y.getBarcode().equals(x.getBarcode())) @@ -243,7 +242,7 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl @Override public boolean onQueryTextChange(String newText) { List originalList = this.mViewModel.getOrderList().getValue(); - if(originalList == null || originalList.isEmpty()) return false; + if (originalList == null || originalList.isEmpty()) return false; mTextFilter = newText; List filteredOrders = getFilteredList(newText); @@ -254,9 +253,9 @@ public class MainAccettazioneFragment extends BaseFragment implements ISearchabl private List getFilteredList(String newText) { List filteredOrders = new ArrayList<>(); List originalList = this.mViewModel.getOrderList().getValue(); - if(originalList == null || originalList.isEmpty() || newText == null) return originalList; - for(int i = 0; i < originalList.size(); i++){ - if(originalList.get(i).getRagSocOrd().toLowerCase().contains(newText.toLowerCase())){ + if (originalList == null || originalList.isEmpty() || newText == null) return originalList; + for (int i = 0; i < originalList.size(); i++) { + if (originalList.get(i).getRagSocOrd().toLowerCase().contains(newText.toLowerCase())) { filteredOrders.add(originalList.get(i)); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java index 5e481d43..ae79ad8c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/rest/DocInterniRESTConsumer.java @@ -9,9 +9,9 @@ import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaArticoliDTO; import it.integry.integrywmsnative.gest.contab_doc_interni.dto.SaveDTO; -import it.integry.integrywmsnative.gest.contab_doc_interni.dto.DocInterniSetupDTO; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -42,7 +42,7 @@ public class DocInterniRESTConsumer extends _BaseRESTConsumer { public void fetchProducts(String codDtip, String codMgrp, RunnableArgs onComplete, RunnableArgs onFailed) { DocInterniRESTConsumerService service = RESTBuilder.getService(DocInterniRESTConsumerService.class); - service.retrieveProducts(codDtip,codMgrp,"L").enqueue(new Callback<>() { + service.retrieveProducts(codDtip, codMgrp, "L").enqueue(new Callback<>() { @Override public void onResponse(Call> call, Response> response) { analyzeAnswer(response, "fetchProducts", onComplete, onFailed); @@ -56,7 +56,7 @@ public class DocInterniRESTConsumer extends _BaseRESTConsumer { } - public void saveDoc(SaveDTO saveDTO, RunnableArgs onComplete, RunnableArgs onFailed){ - magazzinoRESTConsumer.saveTerminalino(saveDTO, onComplete, onFailed); + public void saveDoc(SaveDTO saveDTO, RunnableArgs onComplete, RunnableArgs onFailed) { + magazzinoRESTConsumer.saveTerminalinoWMS(saveDTO, onComplete, onFailed); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java index 4bf063de..63798bcc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_accettazione_ord_produzione/ProdOrdineProduzioneElencoFragment.java @@ -310,7 +310,7 @@ public class ProdOrdineProduzioneElencoFragment extends BaseFragment implements listModel.setGroupTitle(x.getRagSocOrd()); - listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumero().toString(), UtilityDate.formatDate(x.getDataD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); + listModel.setDescription(String.format(getString(R.string.ord_acq_testata), x.getNumero(), UtilityDate.formatDate(x.getDataD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); List clienti = Stream.of(dataList) .filter(y -> y.getBarcode().equals(x.getBarcode())) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java index 41fb7787..c3528ef6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditActivity.java @@ -8,6 +8,7 @@ import android.text.SpannableString; import android.view.View; import android.widget.Toast; +import androidx.appcompat.app.ActionBar; import androidx.core.content.ContextCompat; import androidx.databinding.DataBindingUtil; import androidx.recyclerview.widget.LinearLayoutManager; @@ -15,6 +16,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; import com.ravikoradiya.liveadapter.LiveAdapter; import com.ravikoradiya.liveadapter.Type; +import java.util.List; + import javax.inject.Inject; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; @@ -26,6 +29,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.data_cache.DataCache; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; import it.integry.integrywmsnative.core.data_store.db.entity.Ordine; +import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO; import it.integry.integrywmsnative.core.expansion.BaseActivity; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.settings.SettingsManager; @@ -42,20 +46,19 @@ import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdineAcquistoEditViewModel.Listener { private static String DATA_KEY_ORDER = "keyOrdine"; - - private Ordine mOrdine; + private static String DATA_LIST_ARTS = "listArts"; private ActivityPvOrdineAcquistoEditBinding mBinding; - private int barcodeScannerIstanceID; @Inject PVOrdineAcquistoEditViewModel mViewModel; - - public static Intent newInstance(Context context, Ordine ordine) { + public static Intent newInstance(Context context, Ordine ordine, List listArts) { Intent myIntent = new Intent(context, PVOrdineAcquistoEditActivity.class); String keyOrdine = DataCache.addItem(ordine); + String keyListArts = DataCache.addItem(listArts); myIntent.putExtra(DATA_KEY_ORDER, keyOrdine); + myIntent.putExtra(DATA_LIST_ARTS, keyListArts); return myIntent; } @@ -71,20 +74,24 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi mBinding = DataBindingUtil.setContentView(this, R.layout.activity_pv_ordine_acquisto_edit); mBinding.setViewModel(this); - mOrdine = DataCache.retrieveItem(getIntent().getStringExtra(DATA_KEY_ORDER)); + Ordine ordine = DataCache.retrieveItem(getIntent().getStringExtra(DATA_KEY_ORDER)); setSupportActionBar(mBinding.toolbar); mBinding.toolbar.setTitle(R.string.edit_order); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + } - if (mOrdine == null) { + if (ordine == null) { + Toast.makeText(this, "Impossibile modificare ordine esportato", Toast.LENGTH_SHORT).show(); + close(); + return; + } + if (ordine.isTransmitted()) { Toast.makeText(this, "Impossibile modificare ordine esportato", Toast.LENGTH_SHORT).show(); close(); } - if (mOrdine.isTransmitted()) { - Toast.makeText(this, "Impossibile modificare ordine esportato", Toast.LENGTH_SHORT).show(); - close(); - } - String testataOrdString = String.format(this.getString(R.string.ord_acq_testata), String.valueOf(mOrdine.getOrdineId()), UtilityDate.formatDate(mOrdine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); + String testataOrdString = String.format(this.getString(R.string.ord_acq_testata), ordine.getOrdineId(), UtilityDate.formatDate(ordine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); mBinding.orderIdentifier.setText(Html.fromHtml(testataOrdString)); FabMenuCustomAnimations.changeIconOnFocus(mBinding.closeActivityFab, R.drawable.ic_check_white_24dp, R.drawable.ic_close_24dp); @@ -94,9 +101,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi this.mViewModel.setListener(this); - this.mViewModel.getCurrentGriglia().observe(this, griglia -> { - mBinding.codAlis.setText(griglia.getCodAlis()); - }); + mBinding.codAlis.setText(ordine.getCodAlis()); this.mViewModel.getArticoli().observe(this, articoli -> { mBinding.countArtOrd.setText(String.valueOf(articoli.size())); @@ -104,16 +109,16 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi mBinding.closeActivityFab.close(false); mBinding.scanArtSpinner.setVisibility(articoli.size() > 0 ? View.GONE : View.VISIBLE); - if (mOrdine.isOrderNewProducts() && articoli.isEmpty() && isOrderNewProdsForced()) { + if (ordine.isOrderNewProducts() && articoli.isEmpty() && isOrderNewProdsForced()) { this.mViewModel.orderNewProducts(); - mOrdine.setOrderNewProducts(false); + ordine.setOrderNewProducts(false); } }); + List articoliGriglia = DataCache.retrieveItem(getIntent().getStringExtra(DATA_LIST_ARTS)); - this.mViewModel.init(mOrdine); + this.mViewModel.init(ordine, articoliGriglia); } - @Override public boolean onSupportNavigateUp() { onBackPressed(); @@ -148,7 +153,6 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi mBinding.articoliOrdineList.addItemDecoration(itemDecorator); } - private void selectAction(ArticoloOrdine articoloOrdine) { mBinding.closeActivityFab.close(false); BarcodeManager.disable(); @@ -156,7 +160,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi DialogAskActionView.newInstance(articoloOrdine.getDescrizione(), articoloOrdine.getQtaOrd() + " " + articoloOrdine.getUntMis(), () -> { - this.mViewModel.checkArticolo(mOrdine, articoloOrdine.getCodMart(), + this.mViewModel.checkArticolo(articoloOrdine.getCodMart(), artOrd -> { this.onItemDispatched(artOrd); BarcodeManager.enable(); @@ -184,6 +188,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi private final RunnableArgs onScanSuccessful = data -> { mBinding.closeActivityFab.close(false); this.onLoadingStarted(); + BarcodeManager.disable(); this.mViewModel.processBarcodeDTO(data, this::onLoadingEnded); @@ -191,19 +196,16 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi @Override public void onItemDispatched(ArticoloOrdine articoloOrdine) { - + BarcodeManager.disable(); DialogEditArticoloView .newInstance(articoloOrdine, articolo -> { runOnUiThread(() -> { if (articolo != null) { Toast.makeText(this, "Articolo aggiunto all'ordine!", Toast.LENGTH_SHORT).show(); } - - this.mViewModel.saveArticolo(articolo); + this.mViewModel.refreshListArticoli(); }); - }, () -> { - - }).show(this.getSupportFragmentManager(), "tag"); + }, null).show(this.getSupportFragmentManager(), "tag"); } @Override @@ -211,7 +213,6 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi return getResources().getColor(resId); } - public void exportOrdine() { this.mViewModel.exportOrdine(() -> { runOnUiThread(() -> { @@ -221,7 +222,6 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi }); } - public void close() { onBackPressed(); } @@ -236,7 +236,7 @@ public class PVOrdineAcquistoEditActivity extends BaseActivity implements PVOrdi BarcodeManager.disable(); DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre/codice articolo da cercare", codice -> { this.onLoadingStarted(); - this.mViewModel.checkArticolo(mOrdine, codice, + this.mViewModel.checkArticolo(codice, articoloOrdine -> { this.onItemDispatched(articoloOrdine); this.onLoadingEnded(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java index d78ada1f..00891c61 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/PVOrdineAcquistoEditViewModel.java @@ -4,16 +4,16 @@ import androidx.lifecycle.MutableLiveData; import com.annimon.stream.Stream; +import org.apache.commons.lang3.StringUtils; + import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import javax.inject.Inject; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; import it.integry.integrywmsnative.R; -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.Ordine; @@ -21,6 +21,7 @@ import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineR 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.OrdineRepository; +import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener; import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer; @@ -49,7 +50,7 @@ public class PVOrdineAcquistoEditViewModel { private Listener mListener; - private final MutableLiveData mCurrentGriglia = new MutableLiveData<>(); + private List mArticoliGriglia = new ArrayList<>(); private final MutableLiveData> mArticoli = new MutableLiveData<>(); @@ -65,83 +66,52 @@ public class PVOrdineAcquistoEditViewModel { this.pvOrdiniAcquistoRESTConsumer = pvOrdiniAcquistoRESTConsumer; } - public void init(Ordine ordine) { + public void init(Ordine ordine, List articoliGriglia) { this.mCurrentOrdine = ordine; this.sendOnLoadingStarted(); - this.loadGriglia(ordine.getIdGriglia(), griglia -> { - mCurrentGriglia.postValue(griglia); - this.loadArticoli(mCurrentOrdine, articoli -> { - articoli = Stream.of(articoli).map(this::setBgTint).toList(); - this.mArticoli.postValue(articoli); - this.sendOnLoadingEnded(); - }); + mArticoliGriglia.clear(); + mArticoliGriglia.addAll(articoliGriglia); + this.refreshListArticoli(); + } + + public void refreshListArticoli() { + this.loadArticoli(mCurrentOrdine, articoli -> { + articoli = Stream.of(articoli).map(this::completeDataArticoli).toList(); + this.mArticoli.postValue(articoli); + this.sendOnLoadingEnded(); }); } - private ArticoloOrdine setBgTint(ArticoloOrdine art) { - int chk = art.checkQtaProposta(); - switch (chk) { - case -1: - art.setBgTint(this.mListener.getColorFromResource(R.color.red_600)); - break; - case 1: - art.setBgTint(this.mListener.getColorFromResource(R.color.orange_600)); - break; - default: - art.setBgTint(this.mListener.getColorFromResource(R.color.colorPrimary)); - } + private ArticoloOrdine completeDataArticoli(ArticoloOrdine art) { + art.setBgTint(getBgTint(art)); + ArticoloDTO artGrid = Stream.of(mArticoliGriglia).filter(x -> art.getCodMart().equalsIgnoreCase(x.getCodMart())).findFirstOrElse(new ArticoloDTO()); + art.setGgScadenza(artGrid.getGgScadenza()); + art.setGiacenza(BigDecimal.valueOf(artGrid.getGiacenza())); + art.setQtaProposta(BigDecimal.valueOf(artGrid.getQtaProposta())); + art.setQtaPrevistaVendita(BigDecimal.valueOf(artGrid.getQtaPrevistaVendita())); return art; } - public MutableLiveData getCurrentGriglia() { - return mCurrentGriglia; + private int getBgTint(ArticoloOrdine art) { + int chk = art.checkQtaProposta(); + switch (chk) { + case -1: + return this.mListener.getColorFromResource(R.color.red_600); + case 1: + return this.mListener.getColorFromResource(R.color.orange_600); + default: + return this.mListener.getColorFromResource(R.color.colorPrimary); + } } public MutableLiveData> getArticoli() { return mArticoli; } - public void saveArticolo(ArticoloOrdine articolo) { - setBgTint(articolo); - var newList = this.mArticoli.getValue(); - - var alreadySavedItem = Stream.of(newList) - .filter(x -> Objects.equals(x.getCodMart(), articolo.getCodMart())) - .findFirst(); - - if (alreadySavedItem.isPresent()) newList.remove(alreadySavedItem.get()); - - newList.add(articolo); - this.mArticoli.postValue(newList); - } - - public void saveArticoli(List articoli) { - var newList = this.mArticoli.getValue(); - if (newList == null) { - newList = new ArrayList<>(); - } - - for (ArticoloOrdine articolo : articoli) { - setBgTint(articolo); - - var alreadySavedItem = Stream.of(newList) - .filter(x -> Objects.equals(x.getCodMart(), articolo.getCodMart())) - .findFirst(); - - if (alreadySavedItem.isPresent()) newList.remove(alreadySavedItem.get()); - newList.add(articolo); - } - - - this.mArticoli.postValue(newList); - } - - public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { this.checkArticolo( - mCurrentOrdine, barcodeScanDTO.getStringValue(), articoloOrdine -> { this.sendOnItemDispatched(articoloOrdine); @@ -151,7 +121,6 @@ public class PVOrdineAcquistoEditViewModel { ); } - private void loadGriglia(int idGriglia, RunnableArgs onLoad) { try { mGrigliaRepository.findGrigliaById(idGriglia, onLoad, this::sendError); @@ -168,42 +137,47 @@ public class PVOrdineAcquistoEditViewModel { } } - public void checkArticolo(Ordine ordine, String barcode, RunnableArgs onSuccess, RunnableArgs onFail) { + public void checkArticolo(String barcode, RunnableArgs onSuccess, RunnableArgs onFail) { try { - mArticoloGrigliaRepository.findArticoloByScanAndGriglia(barcode, ordine.getIdGriglia(), artGrid -> { - if (artGrid != null) { - mArticoliOrdineRepository.findArticoloByScanAndOrdine(ordine, barcode, (articolo) -> { - if (articolo != null) { - articolo - .setQtaPrevistaVendita(BigDecimal.valueOf(artGrid.getQtaPrevistaVendita())) - .setQtaProposta(BigDecimal.valueOf(artGrid.getQtaProposta())) - .setGiacenza(BigDecimal.valueOf(artGrid.getGiacenza())) - .setMediaSett(artGrid.getMediaSett()); + if (mArticoliGriglia == null || mArticoliGriglia.isEmpty()) { + onFail.run(new Exception("Nessun articolo è presente nella griglia")); + return; + } + ArticoloDTO art = Stream.of(mArticoliGriglia).filter(articolo -> + articolo.getCodMart().equalsIgnoreCase(barcode) || + articolo.getBarcode().equalsIgnoreCase(barcode) || + articolo.getBarcode().equalsIgnoreCase(StringUtils.leftPad(barcode, 13, "0")) + ).sortBy(x -> x.getSortByBarcodeCondition(barcode)).findFirst().orElse(null); - articolo.setQtaMinOrdinabile(artGrid.getQtaMinOrdinabile()); - articolo.setMerceDaRic(artGrid.getMerceDaRic()); - articolo.setNewNoPromo(artGrid.isNewNoPromo()); - articolo.setFlagQtaMultipla(artGrid.getFlagQtaMultipla()); - articolo.setSystemNote(artGrid.generateSystemNote()); + if (art == null) { + onFail.run(new Exception("L' articolo ( " + barcode + " ) non è presente nella griglia")); + return; + } - onSuccess.run(articolo); - } else { - ArticoloOrdine art = artGrid.convertToArticoloOrdine(ordine); - if (isAutoOrderOnScan()) { - art.setQtaOrd(art.getQtaCnf()); - mArticoliOrdineRepository.saveArticoloToOrdine(art, () -> { - saveArticolo(art); - this.sendOnLoadingEnded(); + mArticoliOrdineRepository.findArticoloByScanAndOrdine(mCurrentOrdine, art.codMart, (articolo) -> { - }, this::sendError); - } else { - onSuccess.run(art); - } - } - }, onFail); + if (articolo != null) { + articolo + .setQtaPrevistaVendita(BigDecimal.valueOf(art.getQtaPrevistaVendita())) + .setQtaProposta(BigDecimal.valueOf(art.getQtaProposta())) + .setGiacenza(BigDecimal.valueOf(art.getGiacenza())) + .setMediaSett(art.getMediaSett()); + articolo.setQtaMinOrdinabile(art.getQtaMinOrdinabile()); + articolo.setMerceDaRic(art.getMerceDaRic()); + articolo.setNewNoPromo(art.isNewNoPromo()); + articolo.setFlagQtaMultipla(art.getFlagQtaMultipla()); + articolo.setSystemNote(art.generateSystemNote()); + + onSuccess.run(articolo); } else { - onFail.run(new Exception("L' articolo ( " + barcode + " ) non è presente nella griglia")); + articolo = art.convertToArticoloOrdine(mCurrentOrdine); + if (isAutoOrderOnScan()) { + articolo.setQtaOrd(articolo.getQtaCnf()); + mArticoliOrdineRepository.saveArticoloToOrdine(articolo, this::refreshListArticoli, this::sendError); + } else { + onSuccess.run(articolo); + } } }, onFail); @@ -217,43 +191,38 @@ public class PVOrdineAcquistoEditViewModel { return SettingsManager.iDB().isFlagOrdinaArticoliOnScan(); } - private void getNewArticoli(int idGrigla, RunnableArgs> onSuccess, RunnableArgs onError) { - mArticoloGrigliaRepository.findNewArticoliInGrigla(idGrigla, onSuccess, onError); + private List getNewArticoli() { + return Stream.of(mArticoliGriglia).filter(x -> x.getQtaOrd() > 0f).toList(); } public void orderNewProducts() { this.sendOnLoadingStarted(); - this.getNewArticoli(mCurrentOrdine.getIdGriglia(), articoli -> { - if (articoli != null && !articoli.isEmpty()) { - List articoliToSave = new ArrayList<>(); + List newArts = getNewArticoli(); + if (!newArts.isEmpty()) { + List articoliToSave = new ArrayList<>(); - Stream.of(articoli).forEach(articolo -> { - if ( - Stream.of(mArticoli.getValue()) - .filter(x -> x.getCodMart().equalsIgnoreCase(articolo.getCodMart())) - .findFirst() - .isEmpty() + Stream.of(newArts).forEach(articolo -> { + if ( + Stream.of(mArticoli.getValue()) + .filter(x -> x.getCodMart().equalsIgnoreCase(articolo.getCodMart())) + .findFirst() + .isEmpty() - && Stream.of(articoliToSave) - .filter(x -> x.getCodMart().equalsIgnoreCase(articolo.getCodMart())) - .findFirst() - .isEmpty() - ) { - ArticoloOrdine dto = articolo.convertToArticoloOrdine(mCurrentOrdine); - articoliToSave.add(dto); - } - }); - if (!articoliToSave.isEmpty()) { - mArticoliOrdineRepository.saveArticoliToOrdine(articoliToSave, () -> { - this.saveArticoli(articoliToSave); - this.sendOnLoadingEnded(); + && Stream.of(articoliToSave) + .filter(x -> x.getCodMart().equalsIgnoreCase(articolo.getCodMart())) + .findFirst() + .isEmpty() + ) { + ArticoloOrdine dto = articolo.convertToArticoloOrdine(mCurrentOrdine); + articoliToSave.add(dto); + } + }); + if (!articoliToSave.isEmpty()) { + mArticoliOrdineRepository.saveArticoliToOrdine(articoliToSave, this::refreshListArticoli, this::sendError); - }, this::sendError); - - } else this.sendOnLoadingEnded(); } else this.sendOnLoadingEnded(); - }, this::sendError); + } else this.sendOnLoadingEnded(); } public void deleteArticolo(ArticoloOrdine articoloOrdine) { @@ -265,7 +234,7 @@ public class PVOrdineAcquistoEditViewModel { public void exportOrdine(Runnable onComplete) { this.sendOnLoadingStarted(); - pvOrdiniAcquistoRESTConsumer.saveOrdine(mCurrentOrdine, mArticoli.getValue(), mCurrentGriglia.getValue(), (ordine) -> { + pvOrdiniAcquistoRESTConsumer.saveOrdine(mCurrentOrdine, mArticoli.getValue(), (ordine) -> { mOrdineRepository.updateOrder(ordine, ord -> { this.sendOnLoadingEnded(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloView.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloView.java index fbc9b8bd..9d87e64f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/dialog/DialogEditArticoloView.java @@ -24,6 +24,8 @@ import javax.inject.Inject; import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; +import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; @@ -46,6 +48,7 @@ public class DialogEditArticoloView extends BaseDialogFragment implements Dialog private DialogPvEditArticoloBinding mBindings; private boolean mEnableDataCallback = true; + private int barcodeScannerIstanceID; public static DialogEditArticoloView newInstance(ArticoloOrdine articolo, RunnableArgs onComplete, Runnable onAbort) { return new DialogEditArticoloView(articolo, onComplete, onAbort); @@ -96,6 +99,7 @@ public class DialogEditArticoloView extends BaseDialogFragment implements Dialog @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + initBarcodeReader(); setStyle(DialogFragment.STYLE_NORMAL, R.style.AppTheme_NewMaterial_Dialog_FullscreenDialog); } @@ -108,10 +112,21 @@ public class DialogEditArticoloView extends BaseDialogFragment implements Dialog @Override public void onDismiss(@NonNull DialogInterface dialog) { - this.mOnAbort.run(); + if (this.mOnAbort != null) { + this.mOnAbort.run(); + } super.onDismiss(dialog); } + private void initBarcodeReader() { + barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() + .setOnScanSuccessful((barcodeScanDTO) -> { + }) + .setOnScanFailed(this::onError)); + + BarcodeManager.enable(); + } + private void initBindings() { UtilityObservable.addPropertyChanged(this.currentNumCnf, (value) -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/helper/PVEditOrderHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/helper/PVEditOrderHelper.java deleted file mode 100644 index 32c6abbf..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordine_acquisto_edit/helper/PVEditOrderHelper.java +++ /dev/null @@ -1,57 +0,0 @@ -package it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.helper; - -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; -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.expansion.RunnableArgs; - -public class PVEditOrderHelper { - private final GrigliaRepository mGrigliaRepository; - private final ArticoliOrdineRepository mArticoliOrdineRepository; - private final ArticoloGrigliaRepository mArticoliGrigliaRepository; - - public PVEditOrderHelper(GrigliaRepository grigliaRepository, ArticoliOrdineRepository articoliOrdineRepository, ArticoloGrigliaRepository articoloGrigliaRepository) { - mGrigliaRepository = grigliaRepository; - mArticoliOrdineRepository = articoliOrdineRepository; - mArticoliGrigliaRepository = articoloGrigliaRepository; - } - - public void checkArticolo(Ordine ordine, String barcode, RunnableArgs onSuccess, RunnableArgs onFail) { - try { - mArticoliOrdineRepository.findArticoloByScanAndOrdine(ordine, barcode, (articolo) -> { - if (articolo != null) { - onSuccess.run(articolo); - } else { - mArticoliGrigliaRepository.findArticoloByScanAndGriglia(barcode, ordine.getIdGriglia(), artGrid -> { - if (artGrid != null) { - onSuccess.run(artGrid.convertToArticoloOrdine(ordine)); - } else { - onFail.run(new Exception("L' articolo ( " + barcode + " ) non è presente nella griglia")); - } - }, onFail); - } - }, onFail); - - } catch (Exception e) { - onFail.run(e); - } - } - - - public void saveArticoliToOrdine(List articoli, Runnable onSave, RunnableArgs onFail) { - mArticoliOrdineRepository.saveArticoliToOrdine(articoli, onSave, onFail); - } - - public void removeArticoloFromOrdine(ArticoloOrdine articolo, Runnable onSave, RunnableArgs onError) { - mArticoliOrdineRepository.deleteArticolo(articolo, onSave, onError); - } - - public void getNewArticoli(int idGrigla, RunnableArgs> onSuccess, RunnableArgs onError) { - mArticoliGrigliaRepository.findNewArticoliInGrigla(idGrigla, onSuccess, onError); - } -} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java index fd6eb9be..c77a0082 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaFragment.java @@ -28,6 +28,7 @@ import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineR 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.OrdineRepository; +import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO; import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper; import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.interfaces.IPoppableActivity; @@ -41,7 +42,6 @@ import it.integry.integrywmsnative.gest.pv_ordini_acquisto.ui.OrdineAcquistoPvOp import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.ui.SimpleDividerItemDecoration; import it.integry.integrywmsnative.view.dialogs.DialogAskActionView; -import it.integry.integrywmsnative.view.dialogs.DialogProgressView; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView; public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITitledFragment, IScrollableFragment { @@ -49,8 +49,8 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi private FragmentPvOrdiniAcquistoBinding mBinding; private Griglia mGriglia; private OrdineAcquistoPvOpenListAdapter mAdapter; - private DialogProgressView mCurrentProgress; private final List mRenderedOrderList = new ArrayList<>(); + private final List mListArticoli = new ArrayList<>(); private boolean mRedirectToNewOrder = true; private final List mOnPreDestroyList = new ArrayList<>(); @@ -99,11 +99,11 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi private void init() { BarcodeManager.enable(); - DialogScanGrigliaAcquistoView.newInstance(griglia -> { + DialogScanGrigliaAcquistoView.newInstance((griglia, listArticoli) -> { if (griglia == null) { ((IPoppableActivity) requireActivity()).pop(); } else { - setGriglia(griglia); + setGriglia(griglia, listArticoli); } }).show(requireActivity().getSupportFragmentManager(), "tag"); @@ -114,13 +114,15 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi titleText.setText(context.getText(R.string.pv_elenco_ordiniA_title_fragment).toString()); } - private void setGriglia(Griglia griglia) { + private void setGriglia(Griglia griglia, List listArticoli) { mGriglia = griglia; + mListArticoli.clear(); + mListArticoli.addAll(listArticoli); mBinding.fabNewOrder.setVisibility(View.VISIBLE); mBinding.codAlis.setText(griglia.getCodAlis()); mBinding.descrLis.setText(griglia.getDescrLisa()); mBinding.descrDepo.setText(griglia.getDescrDepo()); - mBinding.countArtLis.setText(String.valueOf(griglia.getCountArticoli())); + mBinding.countArtLis.setText(String.valueOf(listArticoli.size())); fetchOrders(); } @@ -128,9 +130,8 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi private void fetchOrders() { this.onLoadingStarted(); - mOrdineRepository.selectAllOpenOrders(mGriglia, ordini -> { + mOrdineRepository.selectAllOpenOrders(mGriglia.getCodAlis(), ordini -> { this.onLoadingEnded(); - requireActivity().runOnUiThread(() -> { setOrdini(ordini); }); @@ -149,9 +150,6 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi } } - public Griglia getGriglia() { - return mGriglia; - } private void initRecyclerView() { mBinding.ordiniAApertiMainList.setHasFixedSize(true); @@ -165,13 +163,13 @@ public class PVOrdiniAcquistoGrigliaFragment extends BaseFragment implements ITi } private void editOrdine(Ordine ordine) { - requireActivity().startActivity(PVOrdineAcquistoEditActivity.newInstance(requireActivity(), ordine)); + requireActivity().startActivity(PVOrdineAcquistoEditActivity.newInstance(requireActivity(), ordine, mListArticoli)); } private void selectAction(Ordine ordine) { - DialogAskActionView.newInstance(Html.fromHtml(String.format(this.getString(R.string.ord_acq_testata), String.valueOf(ordine.getOrdineId()), UtilityDate.formatDate(ordine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))).toString(), - ordine.getCountArticoli() + " articoli", + DialogAskActionView.newInstance(Html.fromHtml(String.format(this.getString(R.string.ord_acq_testata), ordine.getOrdineId(), UtilityDate.formatDate(ordine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))).toString(), + mListArticoli.size() + " articoli", () -> this.editOrdine(ordine), () -> this.deleteOrdine(ordine)) .show(requireActivity().getSupportFragmentManager(), "tag"); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java index 636547a3..84426639 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/PVOrdiniAcquistoGrigliaViewModel.java @@ -33,6 +33,7 @@ public class PVOrdiniAcquistoGrigliaViewModel { Ordine ordine = new Ordine(); ordine.setDataIns(UtilityDate.getDateInstance()); ordine.setIdGriglia(griglia.getGrigliaId()); + ordine.setCodAlis(griglia.getCodAlis()); ordine.setOrderNewProducts(true); ordineRepository.insert(ordine, id -> { ordine.setOrdineId(id); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java index a4ac0d1e..c2d4fde6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/dialogs/DialogScanGrigliaAcquistoView.java @@ -11,7 +11,6 @@ import androidx.databinding.DataBindingUtil; import com.google.android.material.dialog.MaterialAlertDialogBuilder; -import java.util.ArrayList; import java.util.List; import javax.inject.Inject; @@ -21,13 +20,11 @@ import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; -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.repository.ArticoloGrigliaRepository; -import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository; import it.integry.integrywmsnative.core.data_store.db.view_model.ArticoloDTO; import it.integry.integrywmsnative.core.expansion.BaseDialogFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer; import it.integry.integrywmsnative.databinding.DialogScanCodiceGrigliaBinding; @@ -36,25 +33,20 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { private DialogScanCodiceGrigliaBinding mBinding; private int mBarcodeScannerIstanceID; - private final RunnableArgs mOnDialogDismiss; + private final RunnableArgss> mOnDialogDismiss; @Inject PVOrdiniAcquistoRESTConsumer pvOrdiniAcquistoRESTConsumer; - @Inject - ArticoloGrigliaRepository articoloGrigliaRepository; - - @Inject - GrigliaRepository grigliaRepository; - private Griglia mGriglia; + private List mListArticoli; - public static DialogScanGrigliaAcquistoView newInstance(RunnableArgs onDialogDismiss) { + public static DialogScanGrigliaAcquistoView newInstance(RunnableArgss> onDialogDismiss) { return new DialogScanGrigliaAcquistoView(onDialogDismiss); } - private DialogScanGrigliaAcquistoView(RunnableArgs onDialogDismiss) { + private DialogScanGrigliaAcquistoView(RunnableArgss> onDialogDismiss) { super(); mOnDialogDismiss = onDialogDismiss; } @@ -93,75 +85,38 @@ public class DialogScanGrigliaAcquistoView extends BaseDialogFragment { @Override public void onDismiss(@NonNull DialogInterface dialog) { BarcodeManager.removeCallback(mBarcodeScannerIstanceID); - mOnDialogDismiss.run(mGriglia); + mOnDialogDismiss.run(mGriglia, mListArticoli); super.onDismiss(dialog); } private final RunnableArgs onScanSuccessfull = data -> { BarcodeManager.disable(); - this.onLoadingStarted(); RunnableArgs mOnError = exception -> { this.onError(exception); BarcodeManager.enable(); }; - RunnableArgs onGrigliaAvailable = griglia -> { - this.onLoadingEnded(); - mGriglia = griglia; - dismiss(); - }; - - - grigliaRepository.findByCodAlis(data.getStringValue(), grigliaWrapper -> { - if (grigliaWrapper != null) { - var griglia = grigliaWrapper.getGriglia(); - - griglia.setCountArticoli(grigliaWrapper.getCountArticoli()); - updateGriglia(griglia, onGrigliaAvailable, mOnError); - } else { - downloadAndSaveLisA(data.getStringValue(), onGrigliaAvailable, mOnError); - } - }, mOnError); + fetchArticoli(data.getStringValue(), mOnError); }; - - - - - public void downloadAndSaveLisA(String codAlis, RunnableArgs onSave, RunnableArgs onFailed) { - Griglia griglia = new Griglia(); - griglia.setCodAlis(codAlis); - updateGriglia(griglia, onSave, onFailed); - } - - public void updateGriglia(Griglia griglia, RunnableArgs onSaved, RunnableArgs onFailed) { - pvOrdiniAcquistoRESTConsumer.getArticoliListino(griglia.getCodAlis(), dto -> { - + public void fetchArticoli(String codAlis, RunnableArgs onFailed) { + this.onLoadingStarted(); + pvOrdiniAcquistoRESTConsumer.getArticoliListino(codAlis, dto -> { + this.onLoadingEnded(); if (dto.getGrigliaAcquistiChild().size() <= 0) { - onFailed.run(new Exception("La griglia selezionata (" + griglia.getCodAlis() + ") non esiste o non presenta articoli")); + onFailed.run(new Exception("La griglia selezionata (" + codAlis + ") non esiste o non presenta articoli")); return; } - griglia.setDescrLisa(dto.getDescrLisa()); - griglia.setDescrDepo(dto.getDescrDepo()); - griglia.setCountArticoli(dto.getGrigliaAcquistiChild().size()); - - grigliaRepository.saveGriglia(griglia, id -> { - saveLisAToGriglia(dto.getGrigliaAcquistiChild(), griglia, onSaved, onFailed); - }, onFailed); + mGriglia = new Griglia(); + mGriglia.setCodAlis(codAlis); + mGriglia.setDescrLisa(dto.getDescrLisa()); + mGriglia.setDescrDepo(dto.getDescrDepo()); + mListArticoli = dto.getGrigliaAcquistiChild(); + this.dismiss(); }, onFailed); } - private void saveLisAToGriglia(List articoli, Griglia griglia, RunnableArgs onSave, RunnableArgs onFail) { - List articoliGriglia = new ArrayList<>(); - for (ArticoloDTO articolo : articoli) { - ArticoloGriglia toSave = articolo.toArticoloGriglia(); - toSave.setIdGriglia(griglia.getGrigliaId()); - articoliGriglia.add(toSave); - } - - articoloGrigliaRepository.saveArticoliToGriglia(articoliGriglia, griglia, () -> onSave.run(griglia), onFail); - } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/ui/OrdineAcquistoPvOpenListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/ui/OrdineAcquistoPvOpenListAdapter.java index d0579d82..0b47d50f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/ui/OrdineAcquistoPvOpenListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_ordini_acquisto/ui/OrdineAcquistoPvOpenListAdapter.java @@ -101,7 +101,7 @@ public class OrdineAcquistoPvOpenListAdapter extends SectionedRecyclerViewAdapte final OrdineAcquistoPvOpenListAdapter.SingleItemViewHolder holder = h; - String testataOrdString = String.format(mContext.getString(R.string.ord_acq_testata), String.valueOf(ordine.getOrdineId()), UtilityDate.formatDate(ordine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); + String testataOrdString = String.format(mContext.getString(R.string.ord_acq_testata), ordine.getOrdineId(), UtilityDate.formatDate(ordine.getDataIns(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN)); holder.binding.numArts.setText(Html.fromHtml(String.format(mContext.getString(R.string.ord_acq_num_articoli), String.valueOf(ordineWrapper.getCountArticoli())))); diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 370893a4..b453ceac 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -9,7 +9,7 @@ Caricamento Completato Successo - %s del %s]]> + %d del %s]]> %s del %s]]> %s del %s]]> %s del %s]]> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 997fe930..85b74cb6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,7 +49,7 @@ Search… Login Permissions are required for app to work properly - %s of %s]]> + %d of %s]]> %s of %s]]> %s of %s]]> %s of %s]]>