Aggiunta icona round Integry.

Aggiunta possibilità di scansionare un barcode posizione (MonoUL) in Spedizione.
This commit is contained in:
Giuseppe Scorrano 2019-02-05 19:34:02 +01:00
parent 7cda674f4c
commit 80625d5bc1
3 changed files with 77 additions and 5 deletions

View File

@ -24,6 +24,7 @@ import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer;
import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.PosizioneRESTonsumer;
import it.integry.integrywmsnative.core.REST.consumers.PrinterRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
@ -34,11 +35,13 @@ import it.integry.integrywmsnative.core.model.FiltroOrdineDTO;
import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.report.ReportManager;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityPosizione;
import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaGroupedInevasoDTO;
@ -334,10 +337,18 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
if(UtilityBarcode.isEtichettaAnonima(data)){
//Cerco gli articoli presenti nell'ul dell'etichetta anonima
this.executeEtichettaLU(data.getStringValue(), progressDialog);
} else if(UtilityBarcode.isEtichetta128(data)) {
} else if(UtilityBarcode.isEtichetta128(data)) {
//Cerco tramite etichetta ean 128 (che può indicarmi un articolo o una UL)
this.executeEtichettaEan128(data, progressDialog);
} else if(UtilityBarcode.isEtichettaPosizione(data)) {
//Cerco l'UL presente all'interno della posizione
this.executeEtichettaPosizione(data.getStringValue(), progressDialog);
} else {
this.loadArticolo(data.getStringValue(), null, progressDialog);
}
@ -377,6 +388,65 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
UtilityExceptions.defaultException(mActivity, ex, progressDialog);
BarcodeManager.enable();
});
}
private void executeEtichettaPosizione(String posizione, ProgressDialog progressDialog) {
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(posizione);
if(foundPosizione != null) {
if(foundPosizione.isFlagMonoCollo()) {
PosizioneRESTonsumer.getBancaliInPosizione(foundPosizione, mtbColtList -> {
if(mtbColtList == null || mtbColtList.size() == 0 || mtbColtList.size() > 1) {
progressDialog.dismiss();
//Nessuna UL trovata oppure più UL nella stessa posizione
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("Nessuna UL trovata"), null, BarcodeManager::enable).show();
} else {
ColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), true, false, mtbColt -> {
if (mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
searchArtFromUL(mtbColt, progressDialog);
} else {
progressDialog.dismiss();
showNoArtFoundDialog();
}
BarcodeManager.enable();
}, ex -> {
UtilityExceptions.defaultException(mActivity, ex, progressDialog);
BarcodeManager.enable();
});
}
}, ex -> {
UtilityExceptions.defaultException(mActivity, ex, progressDialog);
BarcodeManager.enable();
});
} else {
progressDialog.dismiss();
//La posizione non è Mono-UL
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("La posizione scelta non è Mono-UL"), null, BarcodeManager::enable).show();
}
} else {
progressDialog.dismiss();
//Nessuna posizione trovata con questo barcode
DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString("Nessuna posizione trovata con il barcode scansionato"), null, BarcodeManager::enable).show();
}
}
@ -418,7 +488,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO
} else {
if (barcodeProd.startsWith("0") || barcodeProd.startsWith("9")) {
barcodeProd = barcodeProd.substring(1, barcodeProd.length());
barcodeProd = barcodeProd.substring(1);
}
this.loadArticolo(barcodeProd, PickingObjectDTO.PickData.fromEan128(ean128Model), progressDialog);

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -30,9 +30,10 @@
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:src="@drawable/integry_round_icon"
android:adjustViewBounds="true"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:layout_gravity="center"/>
<androidx.appcompat.widget.AppCompatTextView
@ -40,6 +41,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:layout_marginStart="8dp"
android:letterSpacing="-0.05"
style="@style/AppTheme.NewMaterial.Text.ToolbarTitle"
android:layout_gravity="center"/>