From 2db0027fff3ea2245945a7a47d793d612843554b Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 14 Mar 2025 18:19:09 +0100 Subject: [PATCH 1/2] Correzioni Verifica Giacenze --- .idea/AndroidProjectSystem.xml | 6 +++ .../18.json | 13 ++++-- .../core/context/MainContext.java | 10 ++--- .../core/data_store/db/AppDatabase.java | 1 + .../db/entity/VerificaGiacenzeRowEntity.java | 14 +++++++ .../mapper/VerificaGiacenzeRowMapper.java | 2 + .../rest/consumers/SystemRESTConsumer.java | 22 ---------- .../consumers/SystemRESTConsumerService.java | 4 -- .../rest/model/pv/VerificaGiacenzeRowDTO.java | 9 +++++ .../system/RegisterDeviceRequestDTO.java | 15 ------- .../VerificaGiacenzeFragment.java | 7 ++++ .../VerificaGiacenzeViewModel.java | 40 +++++++++++++++++++ 12 files changed, 94 insertions(+), 49 deletions(-) create mode 100644 .idea/AndroidProjectSystem.xml delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/rest/model/system/RegisterDeviceRequestDTO.java diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 00000000..4a53bee8 --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/18.json b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/18.json index cab85d70..f62dface 100644 --- a/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/18.json +++ b/app/schemas/it.integry.integrywmsnative.core.data_store.db.AppDatabase/18.json @@ -2,7 +2,7 @@ "formatVersion": 1, "database": { "version": 18, - "identityHash": "68c96a8a7f0f544255553297d0206576", + "identityHash": "720c67adcc3f947a0c0ce04d4d04fbe9", "entities": [ { "tableName": "articoli_griglia", @@ -1208,7 +1208,7 @@ }, { "tableName": "verifica_giacenze_rows", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`parent_id` INTEGER, `created_at` INTEGER DEFAULT CURRENT_TIMESTAMP, `cod_mart` TEXT, `partita_mag` TEXT, `descrizione` TEXT, `qta` REAL NOT NULL DEFAULT 0, `num_cnf` REAL NOT NULL DEFAULT 0, `qta_cnf` REAL NOT NULL DEFAULT 0, `scan_cod_barre` TEXT, `_id` INTEGER PRIMARY KEY AUTOINCREMENT, `remote_sync_date` INTEGER, FOREIGN KEY(`parent_id`) REFERENCES `verifica_giacenze`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`parent_id` INTEGER, `created_at` INTEGER DEFAULT CURRENT_TIMESTAMP, `cod_mart` TEXT, `partita_mag` TEXT, `descrizione` TEXT, `qta_in_giacenza` REAL NOT NULL DEFAULT 0, `qta` REAL NOT NULL DEFAULT 0, `num_cnf` REAL NOT NULL DEFAULT 0, `qta_cnf` REAL NOT NULL DEFAULT 0, `scan_cod_barre` TEXT, `_id` INTEGER PRIMARY KEY AUTOINCREMENT, `remote_sync_date` INTEGER, FOREIGN KEY(`parent_id`) REFERENCES `verifica_giacenze`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "parentId", @@ -1241,6 +1241,13 @@ "affinity": "TEXT", "notNull": false }, + { + "fieldPath": "qtaInGiacenza", + "columnName": "qta_in_giacenza", + "affinity": "REAL", + "notNull": true, + "defaultValue": "0" + }, { "fieldPath": "qta", "columnName": "qta", @@ -1325,7 +1332,7 @@ "views": [], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", - "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '68c96a8a7f0f544255553297d0206576')" + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '720c67adcc3f947a0c0ce04d4d04fbe9')" ] } } \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java b/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java index 36812bd0..42d3fe1b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/context/MainContext.java @@ -49,14 +49,14 @@ public class MainContext { //this.initAuthSession(() -> { - this.initDeviceId(() -> { +// this.initDeviceId(() -> { this.initDBData(() -> { this.initMenu(() -> { if (mListener != null) mListener.onContextInitialized(); }); }); - }); +// }); //}); @@ -96,9 +96,9 @@ public class MainContext { SettingsManager.i().getUserSession().setDeviceId(fid.getResult()); SettingsManager.update(); - systemRESTConsumer.registerDevice(onComplete, ex -> { - if (mListener != null) mListener.onError(new SpannedString(ex.getMessage())); - }); +// systemRESTConsumer.registerDevice(onComplete, ex -> { +// if (mListener != null) mListener.onError(new SpannedString(ex.getMessage())); +// }); }); } 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 a01de563..f95d568b 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 @@ -206,6 +206,7 @@ public abstract class AppDatabase extends RoomDatabase { "cod_mart TEXT, " + "partita_mag TEXT, " + "descrizione TEXT, " + + "qta_in_giacenza REAL NOT NULL DEFAULT 0, " + "qta REAL NOT NULL DEFAULT 0, " + "num_cnf REAL NOT NULL DEFAULT 0, " + "qta_cnf REAL NOT NULL DEFAULT 0, " + diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/VerificaGiacenzeRowEntity.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/VerificaGiacenzeRowEntity.java index 0ed5d576..4267420b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/VerificaGiacenzeRowEntity.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/VerificaGiacenzeRowEntity.java @@ -33,6 +33,7 @@ public class VerificaGiacenzeRowEntity extends BaseSyncDTO implements EntityMode public static final String COD_MART = "cod_mart"; public static final String PARTITA_MAG = "partita_mag"; public static final String DESCRIZIONE = "descrizione"; + public static final String QTA_IN_GIACENZA = "qta_in_giacenza"; public static final String QTA = "qta"; public static final String NUM_CNF = "num_cnf"; public static final String QTA_CNF = "qta_cnf"; @@ -54,6 +55,10 @@ public class VerificaGiacenzeRowEntity extends BaseSyncDTO implements EntityMode @ColumnInfo(name = Columns.DESCRIZIONE) private String descrizione; + @NonNull + @ColumnInfo(name = Columns.QTA_IN_GIACENZA, defaultValue = "0") + private BigDecimal qtaInGiacenza; + @NonNull @ColumnInfo(name = Columns.QTA, defaultValue = "0") private BigDecimal qta; @@ -110,6 +115,15 @@ public class VerificaGiacenzeRowEntity extends BaseSyncDTO implements EntityMode this.descrizione = descrizione; } + @NonNull + public BigDecimal getQtaInGiacenza() { + return qtaInGiacenza; + } + + public void setQtaInGiacenza(@NonNull BigDecimal qtaInGiacenza) { + this.qtaInGiacenza = qtaInGiacenza; + } + @NonNull public BigDecimal getQta() { return qta; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/mapper/VerificaGiacenzeRowMapper.java b/app/src/main/java/it/integry/integrywmsnative/core/mapper/VerificaGiacenzeRowMapper.java index 5540fc17..dccfad7d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/mapper/VerificaGiacenzeRowMapper.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/mapper/VerificaGiacenzeRowMapper.java @@ -15,6 +15,7 @@ public class VerificaGiacenzeRowMapper extends BaseMapper onFailed) { - RegisterDeviceRequestDTO registerDeviceRequestDTO = new RegisterDeviceRequestDTO() - .setApp("WMS"); - - SystemRESTConsumerService systemRESTConsumerService = restBuilder.getService(SystemRESTConsumerService.class); - systemRESTConsumerService.registerDevice(registerDeviceRequestDTO) - .enqueue(new ManagedErrorCallback<>() { - @Override - public void onResponse(Call> call, Response> response) { - analyzeAnswer(response, "device/register", Void -> onSuccess.run(), onFailed); - } - - @Override - public void onFailure(Call> call, @NonNull final Exception e) { - onFailed.run(e); - } - }); - - } - public T processSqlSynchronized(String nativeSql, final Type clazz) throws Exception { NativeSqlRequestDTO nativeSqlDTO = new NativeSqlRequestDTO() .setNativeSql(nativeSql); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumerService.java index 97e88112..bafaed7a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumerService.java @@ -7,7 +7,6 @@ import it.integry.integrywmsnative.core.rest.model.MailRequestDTO; import it.integry.integrywmsnative.core.rest.model.NativeSqlRequestDTO; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.rest.model.system.LatestAppVersionInfoDTO; -import it.integry.integrywmsnative.core.rest.model.system.RegisterDeviceRequestDTO; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.GET; @@ -19,9 +18,6 @@ public interface SystemRESTConsumerService { @GET("wms/currentVersion") Call retrieveUpdatesInfo(@Query("suffix") String suffix); - @POST("device/register") - Call> registerDevice(@Body RegisterDeviceRequestDTO registerDeviceRequestDTO); - @POST("processSql") Call> processSql(@Body NativeSqlRequestDTO nativeSqlDTO); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/VerificaGiacenzeRowDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/VerificaGiacenzeRowDTO.java index 3a045797..be97510a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/VerificaGiacenzeRowDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/pv/VerificaGiacenzeRowDTO.java @@ -8,6 +8,7 @@ public class VerificaGiacenzeRowDTO extends BaseRestDTO { private String codMart; private String partitaMag; + private BigDecimal qtaInGiacenza; private BigDecimal qta; private BigDecimal qtaCnf; private BigDecimal numCnf; @@ -31,6 +32,14 @@ public class VerificaGiacenzeRowDTO extends BaseRestDTO { return this; } + public BigDecimal getQtaInGiacenza() { + return qtaInGiacenza; + } + + public void setQtaInGiacenza(BigDecimal qtaInGiacenza) { + this.qtaInGiacenza = qtaInGiacenza; + } + public BigDecimal getQta() { return qta; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/system/RegisterDeviceRequestDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/model/system/RegisterDeviceRequestDTO.java deleted file mode 100644 index c7b75a62..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/model/system/RegisterDeviceRequestDTO.java +++ /dev/null @@ -1,15 +0,0 @@ -package it.integry.integrywmsnative.core.rest.model.system; - -public class RegisterDeviceRequestDTO { - - private String app; - - public String getApp() { - return app; - } - - public RegisterDeviceRequestDTO setApp(String app) { - this.app = app; - return this; - } -} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java index 0a1562ec..5b2c6f19 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeFragment.java @@ -141,6 +141,13 @@ public class VerificaGiacenzeFragment extends BaseFragment implements ITitledFra this.initRecyclerView(); this.initBarcodeReader(); + + + this.onLoadingStarted(); + executorService.execute(() -> { + mViewModel.randomizeElements(2000); + this.onLoadingEnded(); + }); }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java index 11d6b7f7..7433c52b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/pv_verifica_giacenze/VerificaGiacenzeViewModel.java @@ -114,6 +114,40 @@ public class VerificaGiacenzeViewModel { currentLoadedAnagrafiche.forEach(x -> x.setFlagTracciabilita("N")); } + public void randomizeElements(int elementsCount) { + + for(int i = 0; i < elementsCount; i++) { + var randomIndex = (int) (Math.random() * currentLoadedAnagrafiche.size()); + var randomAnagrafica = currentLoadedAnagrafiche.get(randomIndex); + + var foundGiacenza = currentLoadedGiacenza.parallelStream() + .filter(x -> x.getCodMart().equalsIgnoreCase(randomAnagrafica.getCodMart())) + .findFirst() + .orElse(null); + var qtaGiacenza = foundGiacenza != null ? foundGiacenza.getQtaInv() : BigDecimal.ZERO; + + var rowToInsert = new VerificaGiacenzeRowEntity(); + rowToInsert.setParentId(currentVerifica.getValue().getId()); + rowToInsert.setCodMart(randomAnagrafica.getCodMart()); + rowToInsert.setDescrizione(randomAnagrafica.getDescrizione()); + rowToInsert.setScanCodBarre(randomAnagrafica.getBarCode()); + rowToInsert.setNumConf(BigDecimal.valueOf((int) (Math.random() * 100))); + rowToInsert.setQtaConf(randomAnagrafica.getQtaCnf()); + rowToInsert.setQta(UtilityBigDecimal.multiply(rowToInsert.getNumConf(), randomAnagrafica.getQtaCnf())); + rowToInsert.setQtaInGiacenza(qtaGiacenza); + + + insertRow(rowToInsert); + + try { + Thread.sleep(50); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + + } + public void createNew(String codMdep) { var verificaGiacenzeEntity = new VerificaGiacenzeEntity(); verificaGiacenzeEntity.setCodMdep(codMdep); @@ -134,6 +168,11 @@ public class VerificaGiacenzeViewModel { public void save() throws Exception { + if(currentVerificaRows.getValue().isEmpty()) { + delete(); + return; + } + currentVerifica.getValue().setVerificaGiacenzeRowList(currentVerificaRows.getValue()); SaveNewVerificaRequestDTO saveRequest = new SaveNewVerificaRequestDTO() @@ -223,6 +262,7 @@ public class VerificaGiacenzeViewModel { rowToSave.setNumConf(pickedQuantity.getNumCnf()); rowToSave.setQtaConf(pickedQuantity.getQtaCnf()); rowToSave.setQta(pickedQuantity.getQtaTot()); + rowToSave.setQtaInGiacenza(qtaGiacenza); if (isNewRow) { insertRow(rowToSave); From 64295d565adc2e167e484df4e88b985d70f5248d Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 14 Mar 2025 18:19:57 +0100 Subject: [PATCH 2/2] -> v1.45.00 (482) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d88b3855..555788d7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 481 - def appVersionName = '1.44.12' + def appVersionCode = 482 + def appVersionName = '1.45.00' signingConfigs { release {