Merge branch 'develop' into master-beta

# Conflicts:
#	app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneActivity.java
#	app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneModule.java
#	app/src/main/java/it/integry/integrywmsnative/gest/spedizione/SpedizioneViewModel.java
This commit is contained in:
2025-03-18 12:21:56 +01:00
4 changed files with 720 additions and 927 deletions

View File

@@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services'
android { android {
def appVersionCode = 483 def appVersionCode = 484
def appVersionName = '1.45.01' def appVersionName = '1.45.02'
signingConfigs { signingConfigs {
release { release {

View File

@@ -14,7 +14,6 @@ import android.widget.Toast;
import androidx.appcompat.widget.PopupMenu; import androidx.appcompat.widget.PopupMenu;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableArrayList; import androidx.databinding.ObservableArrayList;
import androidx.lifecycle.MutableLiveData;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
@@ -26,8 +25,6 @@ import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicReference;
import javax.inject.Inject; import javax.inject.Inject;
@@ -107,16 +104,17 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
private final ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList<>(); private final ObservableArrayList<SpedizioneListModel> mSpedizioneMutableData = new ObservableArrayList<>();
public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false); public BindableBoolean addExtraItemsEnabled = new BindableBoolean(false);
public BindableBoolean noItemsToPick = new BindableBoolean(false); public BindableBoolean noItemsToPick = new BindableBoolean(false);
public MutableLiveData<Boolean> noLUPresent = new MutableLiveData<>(true); public BindableBoolean noLUPresent = new BindableBoolean(true);
public BindableBoolean bottomSheetEnabled = new BindableBoolean(false); public BindableBoolean bottomSheetEnabled = new BindableBoolean(false);
private boolean mEnableFakeGiacenza; private boolean mEnableFakeGiacenza;
private boolean mFlagShowCodForn; private boolean mFlagShowCodForn;
private boolean mDivideByGrpMerc; private boolean mDivideByGrpMerc;
private boolean mEnableQuantityReset; private boolean mEnableQuantityReset;
private int mBarcodeScannerInstanceID = -1; private int barcodeScannerIstanceID = -1;
private ArrayList<SitArtOrdDTO> mSitArtOrd; private ArrayList<SitArtOrdDTO> mSitArtOrd;
private ArrayList<OrdineUscitaInevasoDTO> mTestateOrdini; private ArrayList<OrdineUscitaInevasoDTO> mTestateOrdini;
@@ -245,38 +243,31 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
@Override @Override
public void onBackPressed() { public void onBackPressed() {
if (this.mBindings.bottomSheetLuContent.isExpanded()) { if (this.mBindings.bottomSheetLuContent.isExpanded()) {
this.mBindings.bottomSheetLuContent.collapse(); this.mBindings.bottomSheetLuContent.collapse();
} else if (!noLUPresent.getValue()) { } else if (!noLUPresent.get()) {
this.mShouldCloseActivity = true; this.mShouldCloseActivity = true;
BarcodeManager.removeCallback(mBarcodeScannerInstanceID); BarcodeManager.removeCallback(barcodeScannerIstanceID);
executorService.execute(() -> { this.mViewmodel.requestCloseLU(true);
try {
this.mViewmodel.requestCloseLU(true);
} catch (Exception e) {
onError(e);
}
});
} else { } else {
BarcodeManager.removeCallback(mBarcodeScannerInstanceID); BarcodeManager.removeCallback(barcodeScannerIstanceID);
handler.post(() -> { super.onBackPressed();
super.onBackPressed();
});
} }
} }
private void initVars() { private void initVars() {
this.noLUPresent.observeForever(newValue -> { this.noLUPresent.addOnPropertyChangedCallback(() -> {
this.bottomSheetEnabled.set(!newValue); this.bottomSheetEnabled.set(!this.noLUPresent.get());
}); });
} }
private void initBarcodeReader() { private void initBarcodeReader() {
mBarcodeScannerInstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
.setOnScanSuccessful(onScanSuccessful) .setOnScanSuccessful(onScanSuccessful)
.setOnScanFailed(this::onError)); .setOnScanFailed(this::onError));
BarcodeManager.enable(mBarcodeScannerInstanceID); BarcodeManager.enable();
} }
@@ -333,19 +324,13 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this)); this.mBindings.spedizionePickingList.setLayoutManager(new LinearLayoutManager(this));
RunnableArgssss<PickingObjectDTO, MtbColt, MtbColr, Boolean> onItemClicked = (clickedItem, refMtbColt, refMtbColr, executeImmediately) -> { RunnableArgssss<PickingObjectDTO, MtbColt, MtbColr, Boolean> onItemClicked = (clickedItem, refMtbColt, refMtbColr, executeImmediately) -> {
executorService.execute(() -> { if (!noLUPresent.get() &&
if (!noLUPresent.getValue() && ((SettingsManager.iDB().isFlagSpedizioneEnableManualPick() &&
((SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) ||
clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale()) || clickedItem.getTempPickData() != null)) {
clickedItem.getTempPickData() != null)) { this.mViewmodel.dispatchOrdineRow(clickedItem, refMtbColt, refMtbColr,
try { SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale(), executeImmediately);
this.mViewmodel.dispatchOrdineRow(clickedItem, refMtbColt, refMtbColr, }
SettingsManager.iDB().isFlagSpedizioneEnableManualPick() && clickedItem.getSitArtOrdDTO().isFlagEnablePickManuale(), executeImmediately);
} catch (Exception e) {
onError(e);
}
}
});
}; };
spedizioneListAdapter.setOnItemClicked(onItemClicked); spedizioneListAdapter.setOnItemClicked(onItemClicked);
@@ -728,15 +713,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> { private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
this.onLoadingStarted(); this.onLoadingStarted();
executorService.execute(() -> { this.mViewmodel.processBarcodeDTO(data, () -> {
try { this.onLoadingEnded();
this.mViewmodel.processBarcodeDTO(data);
} catch (Exception e) {
onError(e);
}
}); });
this.onLoadingEnded();
}; };
public void addExtraItem() { public void addExtraItem() {
@@ -744,27 +723,11 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
DialogScanArtView DialogScanArtView
.newInstance(!mEnableFakeGiacenza, (status, mtbAart, ean128Model, mtbColr) -> { .newInstance(!mEnableFakeGiacenza, (status, mtbAart, ean128Model, mtbColr) -> {
if (status == DialogConsts.Results.YES) { if (status == DialogConsts.Results.YES) {
this.mViewmodel.dispatchExtraItem(mtbAart, ean128Model, mtbColr);
executorService.execute(() -> {
try {
this.mViewmodel.dispatchExtraItem(mtbAart, ean128Model, mtbColr);
} catch (Exception e) {
onError(e);
}
});
} }
}, pickMagazzinoAutomaticoPosizione -> { }, pickMagazzinoAutomaticoPosizione -> {
this.onLoadingStarted(); this.onLoadingStarted();
this.mViewmodel.executeEmptyMagazzinoAutomaticoRequest(pickMagazzinoAutomaticoPosizione, this::onLoadingEnded);
executorService.execute(() -> {
try {
this.mViewmodel.executeEmptyMagazzinoAutomaticoRequest(pickMagazzinoAutomaticoPosizione);
} catch (Exception e) {
onError(e);
}
this.onLoadingEnded();
});
}) })
.show(getSupportFragmentManager(), "tag"); .show(getSupportFragmentManager(), "tag");
}); });
@@ -772,13 +735,13 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
public void startManualSearch() { public void startManualSearch() {
handler.post(() -> { handler.post(() -> {
BarcodeManager.disable(mBarcodeScannerInstanceID); BarcodeManager.disable();
DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre", codice -> { DialogSimpleInputHelper.makeInputDialog(this, "Inserisci il codice a barre", codice -> {
this.onScanSuccessful.run(new BarcodeScanDTO().setStringValue(codice).setType(BarcodeType.CODE128)); this.onScanSuccessful.run(new BarcodeScanDTO().setStringValue(codice).setType(BarcodeType.CODE128));
BarcodeManager.enable(mBarcodeScannerInstanceID); BarcodeManager.enable();
}, () -> BarcodeManager.enable(mBarcodeScannerInstanceID)).show(); }, BarcodeManager::enable).show();
}); });
} }
@@ -794,13 +757,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
this.onLoadingStarted(); this.onLoadingStarted();
executorService.execute(() -> { this.mViewmodel.createNewLU(null, null, () -> {
try { this.onLoadingEnded();
this.mViewmodel.createNewLU(null, null);
this.onLoadingEnded();
} catch (Exception e) {
onError(e);
}
}); });
} }
@@ -835,23 +793,15 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
public void closeOrder() { public void closeOrder() {
this.fabPopupMenu.dismiss(); this.fabPopupMenu.dismiss();
this.onLoadingStarted();
executorService.execute(() -> { this.mViewmodel.closeOrder();
try {
this.mViewmodel.closeOrder();
this.onLoadingEnded();
} catch (Exception e) {
onError(e);
}
});
} }
@Override @Override
public void onLUOpened(MtbColt mtbColt) { public void onLUOpened(MtbColt mtbColt) {
handler.post(() -> { handler.post(() -> {
this.addExtraItemsEnabled.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione()); this.addExtraItemsEnabled.set(SettingsManager.iDB().isFlagCanAddExtraItemSpedizione());
noLUPresent.postValue(false); noLUPresent.set(false);
Snackbar.make(mBindings.getRoot(), R.string.data_saved, Snackbar.LENGTH_SHORT) Snackbar.make(mBindings.getRoot(), R.string.data_saved, Snackbar.LENGTH_SHORT)
.setBackgroundTint(getResources().getColor(R.color.green_500)) .setBackgroundTint(getResources().getColor(R.color.green_500))
@@ -865,7 +815,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
public void onLUClosed() { public void onLUClosed() {
handler.post(() -> { handler.post(() -> {
this.addExtraItemsEnabled.set(false); this.addExtraItemsEnabled.set(false);
noLUPresent.postValue(true); noLUPresent.set(true);
this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null); this.mBottomSheetFragmentLUContentViewModel.setMtbColt(null);
if (this.mShouldCloseActivity) super.onBackPressed(); if (this.mShouldCloseActivity) super.onBackPressed();
@@ -875,7 +825,9 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
@Override @Override
public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) { public void onLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss<String, BigDecimal, BigDecimal> onComplete) {
handler.post(() -> { handler.post(() -> {
DialogInputPesoLUView.newInstance(codTcol, netWeightKG, grossWeightKG, onComplete) DialogInputPesoLUView.newInstance(null, new BigDecimal(50), new BigDecimal(55), (newCodTcol, newNetWeight, newGrossWeight) -> {
onComplete.run(newCodTcol, netWeightKG, grossWeightKG);
})
.show(getSupportFragmentManager(), "tag"); .show(getSupportFragmentManager(), "tag");
}); });
} }
@@ -946,9 +898,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
@Override @Override
public void onError(Exception ex, boolean useSnackbar) { public void onError(Exception ex, boolean useSnackbar) {
handler.post(() -> { handler.post(() -> {
this.onLoadingEnded(); this.onLoadingEnded();
if (ex instanceof InvalidPesoKGException) { if (ex instanceof InvalidPesoKGException) {
@@ -960,8 +910,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
UtilityExceptions.defaultException(this, ex); UtilityExceptions.defaultException(this, ex);
} }
BarcodeManager.enable(mBarcodeScannerInstanceID); BarcodeManager.enable();
}); });
} }
@@ -984,8 +933,7 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
LocalDate dataScad, LocalDate dataScad,
boolean canOverflowOrderQuantity, boolean canOverflowOrderQuantity,
boolean canPartitaMagBeChanged, boolean canPartitaMagBeChanged,
RunnableArgs<PickedQuantityDTO> onComplete, RunnableArgss<PickedQuantityDTO, Boolean> onComplete) {
Runnable onAbort) {
if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) { if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) {
dataScad = UtilityDate.getNow(); dataScad = UtilityDate.getNow();
@@ -1014,29 +962,25 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
.setCanPartitaMagBeChanged(canPartitaMagBeChanged) .setCanPartitaMagBeChanged(canPartitaMagBeChanged)
.setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null) .setStatoPartitaMag(pickingObjectDTO != null ? pickingObjectDTO.getStatoArticoloDTO() : null)
.setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus()) .setNotifyProductLotStatus(SettingsManager.iDB().isNotifyLotStatus())
.setMtbPartitaMagList(mViewmodel.getmPartitaMagList()) .setMtbPartitaMagList(mViewmodel.getmPartitaMagList());
.setEnableSSCCRead(SettingsManager.iDB().isFlagSpedizioneEnableFastPicking());
if (!mDialogInputQuantityV2View.isVisible()) if (!mDialogInputQuantityV2View.isVisible())
mDialogInputQuantityV2View mDialogInputQuantityV2View
.setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO) .setDialogInputQuantityV2DTO(dialogInputQuantityV2DTO)
.setOnComplete(resultDTO -> { .setOnComplete((resultDTO, shouldCloseLU) -> {
if (resultDTO == null || resultDTO.isAborted()) {
onAbort.run();
return;
}
PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO() PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO()
.setNumCnf(resultDTO.getNumCnf()) .setNumCnf(resultDTO.getNumCnf())
.setQtaCnf(resultDTO.getQtaCnf()) .setQtaCnf(resultDTO.getQtaCnf())
.setQtaTot(resultDTO.getQtaTot()) .setQtaTot(resultDTO.getQtaTot())
.setPartitaMag(resultDTO.getPartitaMag()) .setPartitaMag(resultDTO.getPartitaMag())
.setDataScad(resultDTO.getDataScad()) .setDataScad(resultDTO.getDataScad());
.setShouldCloseLu(resultDTO.isShouldCloseLu())
.setNextUlBarcode(resultDTO.getNextUlBarcode()); this.onLoadingStarted();
onComplete.run(pickedQuantityDTO); onComplete.run(pickedQuantityDTO, shouldCloseLU);
})
.setOnAbort(() -> {
this.mViewmodel.resetMatchedRows();
}) })
.setOnAbort(onAbort)
.show(getSupportFragmentManager(), "tag"); .show(getSupportFragmentManager(), "tag");
else Toast.makeText(this, "Dialog già a video", Toast.LENGTH_LONG).show(); else Toast.makeText(this, "Dialog già a video", Toast.LENGTH_LONG).show();
} }
@@ -1062,113 +1006,66 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
}).show(getSupportFragmentManager(), "tag"); }).show(getSupportFragmentManager(), "tag");
} }
public boolean askShouldPrintPackingList() { public void askShouldPrintPackingList(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs<PrintOrderCloseDTO> onComplete) {
AtomicReference<Boolean> resultPrintPackingList = new AtomicReference<>(); DialogSimpleMessageView.makeInfoDialog(
CountDownLatch countDownLatch = new CountDownLatch(1); getResources().getString(R.string.action_close_order),
new SpannableString(getResources().getString(R.string.message_print_packing_list_on_close_order)),
handler.post(() -> { null,
DialogSimpleMessageView.makeInfoDialog( () -> {
getResources().getString(R.string.action_close_order), printOrderCloseDTO.setFlagPrintPackingList(true);
new SpannableString(getResources().getString(R.string.message_print_packing_list_on_close_order)), if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
null, this.askShouldPrintSSCC(printOrderCloseDTO, onComplete);
() -> { } else {
resultPrintPackingList.set(true); onComplete.run(printOrderCloseDTO);
countDownLatch.countDown();
},
() -> {
resultPrintPackingList.set(false);
countDownLatch.countDown();
} }
) },
.show(getSupportFragmentManager(), "tag"); () -> {
}); printOrderCloseDTO.setFlagPrintPackingList(false);
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
this.askShouldPrintSSCC(printOrderCloseDTO, onComplete);
try { } else {
countDownLatch.await(); onComplete.run(printOrderCloseDTO);
} catch (InterruptedException e) { }
this.onError(e); }
} )
.show(getSupportFragmentManager(), "tag");
return resultPrintPackingList.get();
//
// boolean printPackingList = resultPrintPackingList.get();
// printOrderCloseDTO.setFlagPrintPackingList(printPackingList);
//
// if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
// var shouldPrintSSCCResult = this.askShouldPrintSSCC(printOrderCloseDTO);
//
// printOrderCloseDTO.setFlagPrintSSCC(shouldPrintSSCCResult.isFlagPrintSSCC());
// printOrderCloseDTO.setFlagSkipPrintedSSCC(shouldPrintSSCCResult.isFlagSkipPrintedSSCC());
// }
//
// return printOrderCloseDTO;
} }
public DialogPrintOrderSSCCListView.Result askShouldPrintSSCC(PrintOrderCloseDTO printOrderCloseDTO) { public void askShouldPrintSSCC(PrintOrderCloseDTO printOrderCloseDTO, RunnableArgs<PrintOrderCloseDTO> onComplete) {
AtomicReference<DialogPrintOrderSSCCListView.Result> result = new AtomicReference<>(); DialogPrintOrderSSCCListView.newInstance(printOrderCloseDTO, onComplete).show(this.getSupportFragmentManager(), "dialogPrintOrderSSCCListView");
CountDownLatch countDownLatch = new CountDownLatch(1);
handler.post(() -> {
DialogPrintOrderSSCCListView.newInstance(printOrderCloseDTO, data -> {
result.set(data);
countDownLatch.countDown();
})
.show(this.getSupportFragmentManager(), "dialogPrintOrderSSCCListView");
});
try {
countDownLatch.await();
} catch (InterruptedException e) {
this.onError(e);
}
return result.get();
} }
@Override @Override
public void onBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots, RunnableArgs<MtbPartitaMag> onComplete) { public void onBatchLotSelectionRequest(List<MtbPartitaMag> availableBatchLots, RunnableArgs<MtbPartitaMag> onComplete) {
handler.post(() -> { DialogChooseBatchLotView.newInstance(availableBatchLots, onComplete)
DialogChooseBatchLotView.newInstance(availableBatchLots, onComplete) .show(getSupportFragmentManager(), "tag");
.show(getSupportFragmentManager(), "tag");
});
} }
@Override @Override
public PrintOrderCloseDTO onCloseOrderPrintRequest() { public void onCloseOrderPrintRequest(RunnableArgs<PrintOrderCloseDTO> onComplete) {
PrintOrderCloseDTO printOrderCloseDTO = new PrintOrderCloseDTO(); PrintOrderCloseDTO printOrderCloseDTO = new PrintOrderCloseDTO();
if (SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) { if (SettingsManager.iDB().isFlagPrintPackingListOnOrderClose()) {
var result = this.askShouldPrintPackingList(); this.askShouldPrintPackingList(printOrderCloseDTO, onComplete);
printOrderCloseDTO.setFlagPrintPackingList(result); } else if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
this.askShouldPrintSSCC(printOrderCloseDTO, onComplete);
} }
if (SettingsManager.iDB().isFlagPrintEtichetteOnOrderClose()) {
var shouldPrintSSCC = this.askShouldPrintSSCC(printOrderCloseDTO);
printOrderCloseDTO.setFlagPrintSSCC(shouldPrintSSCC.isFlagPrintSSCC());
printOrderCloseDTO.setFlagSkipPrintedSSCC(shouldPrintSSCC.isFlagSkipPrintedSSCC());
}
return printOrderCloseDTO;
} }
@Override @Override
public void onCreateDocsRequest() { public void onCreateDocsRequest() {
handler.post(() -> { DialogYesNoView.newInstance("Chiusura ordine", "Vuoi creare i documenti per gli ordini selezionati?", result -> {
DialogYesNoView.newInstance("Chiusura ordine", "Vuoi creare i documenti per gli ordini selezionati?", result -> {
switch (result) { switch (result) {
case YES: case YES:
this.mViewmodel.createDocs(); this.mViewmodel.createDocs();
break; break;
case NO: case NO:
this.onOrderClosed(); this.onOrderClosed();
break; break;
} }
}).show(this.getSupportFragmentManager(), "tag"); }).show(this.getSupportFragmentManager(), "tag");
});
} }
@Override @Override
@@ -1178,8 +1075,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
} }
@Override @Override
public void onChooseArtsRequest(List<MtbAart> artsList, RunnableArgs<List<MtbAart>> onComplete, Runnable onAbort) { public void onChooseArtsRequest(List<MtbAart> artsList, RunnableArgs<List<MtbAart>> onComplete) {
DialogChooseArtsFromMtbAartListView.newInstance(artsList, onComplete, onAbort) DialogChooseArtsFromMtbAartListView.newInstance(artsList, onComplete, this::onLoadingEnded)
.show(getSupportFragmentManager(), "tag"); .show(getSupportFragmentManager(), "tag");
} }
@@ -1208,37 +1105,17 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
@Override @Override
public void onBottomSheetLUClose() { public void onBottomSheetLUClose() {
executorService.execute(() -> { this.mViewmodel.requestCloseLU(true);
try {
this.mViewmodel.requestCloseLU(true);
} catch (Exception e) {
onError(e);
}
});
} }
@Override @Override
public void onMtbColrEdit(MtbColr mtbColr) { public void onMtbColrEdit(MtbColr mtbColr) {
executorService.execute(() -> { this.mViewmodel.dispatchRowEdit(mtbColr);
this.onLoadingStarted();
try {
this.mViewmodel.dispatchRowEdit(mtbColr);
} catch (Exception e) {
onError(e);
}
this.onLoadingEnded();
});
} }
@Override @Override
public void onMtbColrDelete(MtbColr mtbColr) { public void onMtbColrDelete(MtbColr mtbColr) {
executorService.execute(() -> { this.mViewmodel.requestDeleteRow(mtbColr);
try {
this.mViewmodel.requestDeleteRow(mtbColr);
} catch (Exception e) {
onError(e);
}
});
} }

View File

@@ -1,5 +1,7 @@
package it.integry.integrywmsnative.gest.spedizione; package it.integry.integrywmsnative.gest.spedizione;
import android.os.Handler;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import dagger.Module; import dagger.Module;
@@ -41,7 +43,8 @@ public class SpedizioneModule {
MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer, MagazzinoAutomaticoRESTConsumer magazzinoAutomaticoRESTConsumer,
ImballiRESTConsumer imballiRESTConsumer, ImballiRESTConsumer imballiRESTConsumer,
MagazzinoRESTConsumer magazzinoRESTConsumer, MagazzinoRESTConsumer magazzinoRESTConsumer,
ExecutorService executorService) { ExecutorService executorService,
Handler handler) {
return new SpedizioneViewModel(articoloRESTConsumer, return new SpedizioneViewModel(articoloRESTConsumer,
barcodeRESTConsumer, barcodeRESTConsumer,
colliDataRecoverService, colliDataRecoverService,
@@ -55,7 +58,8 @@ public class SpedizioneModule {
magazzinoAutomaticoRESTConsumer, magazzinoAutomaticoRESTConsumer,
imballiRESTConsumer, imballiRESTConsumer,
magazzinoRESTConsumer, magazzinoRESTConsumer,
executorService); executorService,
handler);
} }
} }