From c31e1ae79aa0eb57d28446a075b5bf976b0852d2 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Wed, 15 Mar 2023 17:36:40 +0100 Subject: [PATCH 1/4] =?UTF-8?q?Aggiunto=20flag=20per=20gestire=20la=20poss?= =?UTF-8?q?ibilit=C3=A0=20di=20aggiungere=20articoli=20non=20riconosciuti?= =?UTF-8?q?=20all'interno=20di=20un=20inventario?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/settings/DBSettingsModel.java | 10 ++++ .../core/settings/SettingsManager.java | 7 ++- .../picking/PickingInventarioActivity.java | 4 +- .../picking/PickingInventarioViewModel.java | 50 +++++++++++++------ build.gradle | 2 +- 5 files changed, 54 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java index 1723b162..8b8a7001 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/DBSettingsModel.java @@ -54,6 +54,7 @@ public class DBSettingsModel { private boolean groupShippingByCommodityGroup = true; private boolean showCodFornSpedizione = true; private boolean flagCanCreateInventario = true; + private boolean flagCanAddUnknownItemsInventario = true; public boolean isFlagSpedizioneEnableFakeGiacenza() { return flagSpedizioneEnableFakeGiacenza; @@ -406,4 +407,13 @@ public class DBSettingsModel { this.flagCanCreateInventario = flagCanCreateInventario; return this; } + + public boolean isFlagCanAddUnknownItemsInventario() { + return flagCanAddUnknownItemsInventario; + } + + public DBSettingsModel setFlagCanAddUnknownItemsInventario(boolean flagCanAddUnknownItemsInventario) { + this.flagCanAddUnknownItemsInventario = flagCanAddUnknownItemsInventario; + return this; + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java index cfed6231..5a71fd62 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/settings/SettingsManager.java @@ -353,6 +353,10 @@ public class SettingsManager { .setGestName("PICKING") .setSection("INVENTARIO") .setKeySection("FLAG_CAN_CREATE_INVENTARIO")); + stbGestSetupList.add(new StbGestSetup() + .setGestName("PICKING") + .setSection("INVENTARIO") + .setKeySection("FLAG_CAN_ADD_UNKNOWN_ITEMS")); String codMdep = SettingsManager.i().getUserSession().getDepo().getCodMdep(); mGestSetupRESTConsumer.getValues(codMdep, stbGestSetupList, list -> { @@ -385,7 +389,8 @@ public class SettingsManager { dbSettingsModelIstance.setNotifyLotStatus(getValueFromList(list, "SPEDIZIONE", "FLAG_NOTIFICA_STATO_PARTITA", Boolean.class)); dbSettingsModelIstance.setShowCodFornSpedizione(getValueFromList(list, "SPEDIZIONE", "FLAG_SHOW_COD_FORN", Boolean.class, Boolean.TRUE)); dbSettingsModelIstance.setGroupShippingByCommodityGroup(getValueFromList(list, "SPEDIZIONE", "FLAG_GROUP_BY_GRP_MERC", Boolean.class, Boolean.FALSE)); - dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "SPEDIZIONE", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE)); + dbSettingsModelIstance.setFlagCanCreateInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_CREATE_INVENTARIO", Boolean.class, Boolean.TRUE)); + dbSettingsModelIstance.setFlagCanAddUnknownItemsInventario(getValueFromList(list, "INVENTARIO", "FLAG_CAN_ADD_UNKNOWN_ITEMS", Boolean.class, Boolean.TRUE)); String notePerdita = getValueFromList(list, "DOC_INTERNI", "NOTE_PERDITA", String.class); if (notePerdita != null) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java index 95a97e31..b0a3540f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioActivity.java @@ -32,6 +32,7 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.rest.model.inventario.InventarioArtDTO; +import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.databinding.ActivityPickingInventarioBinding; import it.integry.integrywmsnative.databinding.ActivityPickingInventarioListItemBinding; @@ -96,7 +97,8 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn mViewModel.init( DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO)), - DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO_ARTS))); + DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO_ARTS)), + SettingsManager.iDB().isFlagCanAddUnknownItemsInventario()); initToolbar(); initBarcodeReader(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java index d4caad28..4d6552b2 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java @@ -36,6 +36,8 @@ public class PickingInventarioViewModel extends ViewModel { private final InventarioRepository inventarioRepository; private final InventarioRowRepository inventarioRowRepository; + private boolean canAddUnknownItems; + public MutableLiveData currentInventario = new MutableLiveData<>(); public LiveData> currentInventarioRows = new MutableLiveData<>(); @@ -49,7 +51,9 @@ public class PickingInventarioViewModel extends ViewModel { this.inventarioRowRepository = inventarioRowRepository; } - public void init(InventarioRoomDTO inventarioRoomDTO, List inventarioArts) { + public void init(InventarioRoomDTO inventarioRoomDTO, List inventarioArts, boolean canAddUnknownItems) { + this.canAddUnknownItems = canAddUnknownItems; + this.sendOnLoadingStarted(); this.currentInventario.postValue(inventarioRoomDTO); @@ -89,19 +93,27 @@ public class PickingInventarioViewModel extends ViewModel { var barcodeList = new ArrayList(); barcodeList.add(itemToUpdate.getScanCodBarre()); - var matchedArt = availableInventarioArts.stream() + var matchedArtOpt = availableInventarioArts.stream() .filter(x -> itemToUpdate.getCodMart() != null && x.getCodMart().contains(itemToUpdate.getCodMart())) - .findFirst() - .orElse(new InventarioArtDTO() - .setBarcode(barcodeList) - .setFlagQtaCnfFissa(true) - .setPlu(false) - .setUntMis(itemToUpdate.getUntMis()) - .setQtaCnf(itemToUpdate.getQtaConf())); + .findFirst(); - var articolo = matchedArt.toMtbAart(); - articolo.setFlagTracciabilita("N"); - dispatchRowEdit(articolo, itemToUpdate); + MtbAart articolo = null; + + if (canAddUnknownItems) { + var matchedArt = matchedArtOpt.orElse(new InventarioArtDTO() + .setBarcode(barcodeList) + .setFlagQtaCnfFissa(true) + .setPlu(false) + .setUntMis(itemToUpdate.getUntMis()) + .setQtaCnf(itemToUpdate.getQtaConf())); + + articolo = matchedArt.toMtbAart() + .setFlagTracciabilita("N"); + } + if (articolo != null) { + dispatchRowEdit(articolo, itemToUpdate); + } else + this.sendError(new NoResultFromBarcodeException(itemToUpdate.getScanCodBarre())); } public void deleteRow(InventarioRowRoomDTO itemToDelete) { @@ -111,7 +123,7 @@ public class PickingInventarioViewModel extends ViewModel { public void exportAll(Runnable onComplete) { - if(this.currentInventarioRows.getValue().isEmpty()) { + if (this.currentInventarioRows.getValue().isEmpty()) { this.sendError(new Exception("Impossibile esportare un inventario senza righe")); return; } @@ -139,16 +151,22 @@ public class PickingInventarioViewModel extends ViewModel { var barcodeList = new ArrayList(); barcodeList.add(barcodeProd); - var matchedArt = availableInventarioArts.stream() + var matchedArtOpt = availableInventarioArts.stream() .filter(x -> x.getBarcode().contains(barcodeProd)) - .findFirst() - .orElse(new InventarioArtDTO() + .findFirst(); + + InventarioArtDTO matchedArt = null; + + if (canAddUnknownItems) { + matchedArt = matchedArtOpt.orElse(new InventarioArtDTO() .setBarcode(barcodeList) .setFlagQtaCnfFissa(true) .setPlu(false) .setUntMis("PZ") .setQtaCnf(BigDecimal.ONE)); + } + if (matchedArt != null) { this.dispatchRowInsert(barcodeProd, matchedArt, ean128Model); onComplete.run(); diff --git a/build.gradle b/build.gradle index a15287fb..5424d897 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { ext { kotlin_version = '1.8.0' - agp_version = '8.1.0-alpha08' + agp_version = '8.1.0-alpha09' } repositories { From 0735312c98d460972c586ce57995382e06c7d069 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Wed, 15 Mar 2023 17:40:38 +0100 Subject: [PATCH 2/4] -> v1.32.11 (351) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6eb20766..14855f37 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 350 - def appVersionName = '1.32.10' + def appVersionCode = 351 + def appVersionName = '1.32.11' signingConfigs { release { From 7da729205c7ce68a7d72188498479abd3076ae2f Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 16 Mar 2023 12:22:45 +0100 Subject: [PATCH 3/4] Fix su loadArticolo in picking per inventario --- .../picking/PickingInventarioViewModel.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java index 4d6552b2..3bf83309 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/inventario/picking/PickingInventarioViewModel.java @@ -93,24 +93,24 @@ public class PickingInventarioViewModel extends ViewModel { var barcodeList = new ArrayList(); barcodeList.add(itemToUpdate.getScanCodBarre()); - var matchedArtOpt = availableInventarioArts.stream() + var matchedArt = availableInventarioArts.stream() .filter(x -> itemToUpdate.getCodMart() != null && x.getCodMart().contains(itemToUpdate.getCodMart())) - .findFirst(); + .findFirst() + .orElse(null); - MtbAart articolo = null; + MtbAart articolo; - if (canAddUnknownItems) { - var matchedArt = matchedArtOpt.orElse(new InventarioArtDTO() + if (canAddUnknownItems && matchedArt == null) { + matchedArt = new InventarioArtDTO() .setBarcode(barcodeList) .setFlagQtaCnfFissa(true) .setPlu(false) .setUntMis(itemToUpdate.getUntMis()) - .setQtaCnf(itemToUpdate.getQtaConf())); - + .setQtaCnf(itemToUpdate.getQtaConf()); + } + if (matchedArt != null) { articolo = matchedArt.toMtbAart() .setFlagTracciabilita("N"); - } - if (articolo != null) { dispatchRowEdit(articolo, itemToUpdate); } else this.sendError(new NoResultFromBarcodeException(itemToUpdate.getScanCodBarre())); @@ -151,19 +151,19 @@ public class PickingInventarioViewModel extends ViewModel { var barcodeList = new ArrayList(); barcodeList.add(barcodeProd); - var matchedArtOpt = availableInventarioArts.stream() + var matchedArt = availableInventarioArts.stream() .filter(x -> x.getBarcode().contains(barcodeProd)) - .findFirst(); + .findFirst() + .orElse(null); - InventarioArtDTO matchedArt = null; - if (canAddUnknownItems) { - matchedArt = matchedArtOpt.orElse(new InventarioArtDTO() + if (canAddUnknownItems && matchedArt == null) { + matchedArt = new InventarioArtDTO() .setBarcode(barcodeList) .setFlagQtaCnfFissa(true) .setPlu(false) .setUntMis("PZ") - .setQtaCnf(BigDecimal.ONE)); + .setQtaCnf(BigDecimal.ONE); } From 12919613ab1bd86e691dad21c376fa82a809a5ba Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 16 Mar 2023 12:23:16 +0100 Subject: [PATCH 4/4] -> v1.32.12 (352) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 14855f37..d8f82a43 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 351 - def appVersionName = '1.32.11' + def appVersionCode = 352 + def appVersionName = '1.32.12' signingConfigs { release {