diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/InventarioRoomDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/InventarioRoomDTO.java index cb8c25bc..74011456 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/InventarioRoomDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/InventarioRoomDTO.java @@ -97,7 +97,7 @@ public class InventarioRoomDTO extends BaseSyncDTO implements EntityModelInterfa private String zona; @ColumnInfo(name = Columns.IS_NEW) - private Boolean isNew; + private Boolean isNew = Boolean.TRUE; @Ignore private List inventarioRowList; diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/respository_new/InventarioRepository.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/respository_new/InventarioRepository.java index 416b99b3..98973c42 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/respository_new/InventarioRepository.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/respository_new/InventarioRepository.java @@ -69,7 +69,8 @@ public class InventarioRepository extends _BaseRepository Objects.equals(remoteItem.getIdInventario(), localItem.getIdInventario()), (remoteItem, localItem) -> { - remoteItem.setNew(true); + remoteItem.setRemoteSyncDate(localItem.getRemoteSyncDate()); + remoteItem.setNew(false); }, onComplete, onError); } catch (Exception e) { 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 acb161e5..d3e73335 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 @@ -75,6 +75,7 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn getMenuInflater().inflate(R.menu.picking_inventario_menu, menu); return true; } + @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -91,18 +92,19 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn mViewModel.setListener(this); mBindings.setViewmodel(mViewModel); + mViewModel.init( + DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO)), + DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO_ARTS))); + initToolbar(); initBarcodeReader(); } + @Override protected void onStart() { super.onStart(); - mViewModel.init( - DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO)), - DataCache.retrieveItem(getIntent().getStringExtra(KEY_INVENTARIO_ARTS))); - initRecyclerView(); } @@ -189,7 +191,8 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn public void requestExportConfirm() { DialogYesNoView.newInstance("Esporta", "Vuoi confermare e chiudere l'inventario?", result -> { - mViewModel.exportAll(this::onBackPressed); + if (result == DialogConsts.Results.YES) + mViewModel.exportAll(this::onBackPressed); }) .show(getSupportFragmentManager(), "tag"); } 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 be6685cd..d4caad28 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 @@ -111,6 +111,11 @@ public class PickingInventarioViewModel extends ViewModel { public void exportAll(Runnable onComplete) { + if(this.currentInventarioRows.getValue().isEmpty()) { + this.sendError(new Exception("Impossibile esportare un inventario senza righe")); + return; + } + this.sendOnLoadingStarted(); currentInventario.getValue().setInventarioRowList(this.currentInventarioRows.getValue());