[ESSEGRANDE] Miglioramenti alla sync degli inventari

This commit is contained in:
Giuseppe Scorrano 2023-03-14 11:32:11 +01:00
parent 4317e083a6
commit 10f888b5d5
4 changed files with 16 additions and 7 deletions

View File

@ -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<InventarioRowRoomDTO> inventarioRowList;

View File

@ -69,7 +69,8 @@ public class InventarioRepository extends _BaseRepository<MtbInvent, InventarioR
resolveFetch(remoteData, internalLiveData.getValue(),
(remoteItem, localItem) -> Objects.equals(remoteItem.getIdInventario(), localItem.getIdInventario()),
(remoteItem, localItem) -> {
remoteItem.setNew(true);
remoteItem.setRemoteSyncDate(localItem.getRemoteSyncDate());
remoteItem.setNew(false);
}, onComplete, onError);
} catch (Exception e) {

View File

@ -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,6 +191,7 @@ public class PickingInventarioActivity extends BaseActivity implements PickingIn
public void requestExportConfirm() {
DialogYesNoView.newInstance("Esporta", "Vuoi confermare e chiudere l'inventario?", result -> {
if (result == DialogConsts.Results.YES)
mViewModel.exportAll(this::onBackPressed);
})
.show(getSupportFragmentManager(), "tag");

View File

@ -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());