Implementata scansione barcode su Elenco ordini uscita
This commit is contained in:
parent
6dbc0c5894
commit
8fba80c764
@ -0,0 +1,12 @@
|
|||||||
|
package it.integry.integrywmsnative.core.exception;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityResources;
|
||||||
|
|
||||||
|
public class NoOrderFoundException extends Exception {
|
||||||
|
|
||||||
|
public NoOrderFoundException() {
|
||||||
|
super(UtilityResources.getString(R.string.no_orders_found_message));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -24,10 +24,13 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
import it.integry.integrywmsnative.MainApplication;
|
import it.integry.integrywmsnative.MainApplication;
|
||||||
import it.integry.integrywmsnative.R;
|
import it.integry.integrywmsnative.R;
|
||||||
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
import it.integry.integrywmsnative.core.di.BindableBoolean;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IFilterableFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
|
import it.integry.integrywmsnative.core.interfaces.ILifecycleFragment;
|
||||||
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
|
||||||
@ -115,6 +118,7 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
mBindings.setViewmodel(mViewModel);
|
mBindings.setViewmodel(mViewModel);
|
||||||
|
|
||||||
this.initRecyclerView();
|
this.initRecyclerView();
|
||||||
|
this.initBarcodeReader();
|
||||||
|
|
||||||
return mBindings.getRoot();
|
return mBindings.getRoot();
|
||||||
}
|
}
|
||||||
@ -170,6 +174,24 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
mToolbar.setRecyclerView(this.mBindings.venditaMainList);
|
mToolbar.setRecyclerView(this.mBindings.venditaMainList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initBarcodeReader() {
|
||||||
|
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
|
.setOnScanSuccessfull(onScanSuccessful)
|
||||||
|
.setOnScanFailed(ex -> UtilityExceptions.defaultException(getActivity(), ex, false)));
|
||||||
|
|
||||||
|
BarcodeManager.enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessful = data -> {
|
||||||
|
BarcodeManager.disable();
|
||||||
|
this.openProgress();
|
||||||
|
|
||||||
|
this.mViewModel.processBarcodeDTO(data, () -> {
|
||||||
|
BarcodeManager.enable();
|
||||||
|
this.closeProgress();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
private void refreshList(List<OrdiniUscitaElencoDTO> orderList) {
|
private void refreshList(List<OrdiniUscitaElencoDTO> orderList) {
|
||||||
this.mOrdiniInevasiMutableData.clear();
|
this.mOrdiniInevasiMutableData.clear();
|
||||||
this.mOrdiniInevasiMutableData.addAll(convertDataModelToListModel(orderList));
|
this.mOrdiniInevasiMutableData.addAll(convertDataModelToListModel(orderList));
|
||||||
@ -235,7 +257,6 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
|
|
||||||
|
|
||||||
public void dispatchOrders() {
|
public void dispatchOrders() {
|
||||||
|
|
||||||
List<OrdiniUscitaElencoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData)
|
List<OrdiniUscitaElencoDTO> selectedOrders = Stream.of(this.mOrdiniInevasiMutableData)
|
||||||
.filter(x -> x.getSelectedObservable().get())
|
.filter(x -> x.getSelectedObservable().get())
|
||||||
.map(OrdiniUscitaElencoListModel::getOriginalModel)
|
.map(OrdiniUscitaElencoListModel::getOriginalModel)
|
||||||
@ -282,6 +303,12 @@ public class OrdiniUscitaElencoFragment extends Fragment implements ITitledFragm
|
|||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders) {
|
||||||
|
// FBToast.infoToast(getActivity(), "Trovati: " + filteredOrders.size() + " ordini", Toast.LENGTH_LONG);
|
||||||
|
refreshList(filteredOrders);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
public void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
||||||
List<String> codMarts = Stream.of(sitArts)
|
List<String> codMarts = Stream.of(sitArts)
|
||||||
|
|||||||
@ -1,15 +1,26 @@
|
|||||||
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest.OrdiniUscitaElencoRESTConsumer;
|
||||||
|
|
||||||
@Module(subcomponents = OrdiniUscitaElencoComponent.class)
|
@Module(subcomponents = OrdiniUscitaElencoComponent.class)
|
||||||
public class OrdiniUscitaElencoModule {
|
public class OrdiniUscitaElencoModule {
|
||||||
|
|
||||||
|
@Singleton
|
||||||
@Provides
|
@Provides
|
||||||
OrdiniUscitaElencoViewModel providesProdOrdineLavorazioneElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer) {
|
OrdiniUscitaElencoRESTConsumer providesOrdiniUscitaElencoRESTConsumer() {
|
||||||
return new OrdiniUscitaElencoViewModel(ordiniRESTConsumer);
|
return new OrdiniUscitaElencoRESTConsumer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
OrdiniUscitaElencoViewModel providesProdOrdineLavorazioneElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||||
|
return new OrdiniUscitaElencoViewModel(ordiniRESTConsumer, colliMagazzinoRESTConsumer, barcodeRESTConsumer, ordiniUscitaElencoRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,25 +4,42 @@ import androidx.lifecycle.MutableLiveData;
|
|||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
|
import it.integry.integrywmsnative.core.exception.InvalidLUGestioneException;
|
||||||
import it.integry.integrywmsnative.core.exception.InvalidLUMultiCodMdepException;
|
import it.integry.integrywmsnative.core.exception.InvalidLUMultiCodMdepException;
|
||||||
import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException;
|
import it.integry.integrywmsnative.core.exception.InvalidLUMultiGestioneException;
|
||||||
|
import it.integry.integrywmsnative.core.exception.NoLUFoundException;
|
||||||
|
import it.integry.integrywmsnative.core.exception.NoOrderFoundException;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
|
import it.integry.integrywmsnative.core.model.OrdineInevasoDTO;
|
||||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||||
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
import it.integry.integrywmsnative.core.rest.model.SitArtOrdDTO;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityBarcode;
|
||||||
|
import it.integry.integrywmsnative.core.utility.UtilityString;
|
||||||
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest.OrdiniUscitaElencoRESTConsumer;
|
||||||
|
|
||||||
public class OrdiniUscitaElencoViewModel {
|
public class OrdiniUscitaElencoViewModel {
|
||||||
|
|
||||||
private final MutableLiveData<List<OrdiniUscitaElencoDTO>> mOrderList = new MutableLiveData<>();
|
private final MutableLiveData<List<OrdiniUscitaElencoDTO>> mOrderList = new MutableLiveData<>();
|
||||||
|
|
||||||
private final OrdiniRESTConsumer mOrdiniRESTConsumer;
|
private final OrdiniRESTConsumer mOrdiniRESTConsumer;
|
||||||
|
private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer;
|
||||||
|
private final BarcodeRESTConsumer mBarcodeRESTConsumer;
|
||||||
|
private final OrdiniUscitaElencoRESTConsumer mOrdiniUscitaElencoRESTConsumer;
|
||||||
|
|
||||||
private Listener mListener;
|
private Listener mListener;
|
||||||
private String mCurrentCodMdep;
|
private String mCurrentCodMdep;
|
||||||
private GestioneEnum mCurrentGestioneOrd;
|
private GestioneEnum mCurrentGestioneOrd;
|
||||||
@ -30,8 +47,11 @@ public class OrdiniUscitaElencoViewModel {
|
|||||||
private int mCurrentSegnoCol;
|
private int mCurrentSegnoCol;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public OrdiniUscitaElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer) {
|
public OrdiniUscitaElencoViewModel(OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, OrdiniUscitaElencoRESTConsumer ordiniUscitaElencoRESTConsumer) {
|
||||||
this.mOrdiniRESTConsumer = ordiniRESTConsumer;
|
this.mOrdiniRESTConsumer = ordiniRESTConsumer;
|
||||||
|
this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer;
|
||||||
|
this.mBarcodeRESTConsumer = barcodeRESTConsumer;
|
||||||
|
this.mOrdiniUscitaElencoRESTConsumer = ordiniUscitaElencoRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -121,6 +141,118 @@ public class OrdiniUscitaElencoViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) {
|
||||||
|
|
||||||
|
RunnableArgs<List<OrdiniUscitaElencoDTO>> onBarcodeScanComplete = orderList -> {
|
||||||
|
onComplete.run();
|
||||||
|
this.sendOnOrderFiltered(orderList);
|
||||||
|
};
|
||||||
|
|
||||||
|
if(UtilityBarcode.isBarcodeOrdineV(barcodeScanDTO)) {
|
||||||
|
this.executeEtichettaOrdineV(barcodeScanDTO.getStringValue(), onBarcodeScanComplete);
|
||||||
|
} else if(UtilityBarcode.isEtichettaAnonima(barcodeScanDTO)) {
|
||||||
|
this.executeEtichettaLU(barcodeScanDTO.getStringValue(), onBarcodeScanComplete);
|
||||||
|
} else if(UtilityBarcode.isEtichetta128(barcodeScanDTO)){
|
||||||
|
this.executeEtichettaEan128(barcodeScanDTO, onBarcodeScanComplete);
|
||||||
|
} else {
|
||||||
|
onComplete.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaOrdineV(String barcode, RunnableArgs<List<OrdiniUscitaElencoDTO>> onComplete) {
|
||||||
|
String gestione = "";
|
||||||
|
|
||||||
|
char c = barcode.charAt(0);
|
||||||
|
if (c == '1')
|
||||||
|
gestione = "A";
|
||||||
|
else if (c == '2')
|
||||||
|
gestione = "L";
|
||||||
|
else if (c == '3')
|
||||||
|
gestione = "V";
|
||||||
|
|
||||||
|
int numOrd = Integer.parseInt(UtilityString.mid(barcode, 10));
|
||||||
|
|
||||||
|
Date date = null;
|
||||||
|
try {
|
||||||
|
date = new SimpleDateFormat("ddMMyyyy")
|
||||||
|
.parse(UtilityString.mid(barcode, 2, 8));
|
||||||
|
} catch (ParseException ex) {
|
||||||
|
this.sendError(ex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
final String finalGestione = gestione;
|
||||||
|
final Date finalDate = date;
|
||||||
|
|
||||||
|
List<OrdiniUscitaElencoDTO> filteredOrders = Stream.of(mOrderList.getValue())
|
||||||
|
.filter(x -> x.getNumOrd() == numOrd && x.getGestione().equalsIgnoreCase(finalGestione) && x.getDataOrdD().equals(finalDate)).toList();
|
||||||
|
|
||||||
|
onComplete.run(filteredOrders);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaLU(String SSCC, RunnableArgs<List<OrdiniUscitaElencoDTO>> onComplete) {
|
||||||
|
this.mColliMagazzinoRESTConsumer.getBySSCC(SSCC, true, false, mtbColt -> {
|
||||||
|
|
||||||
|
if(mtbColt != null && mtbColt.getMtbColr() != null && mtbColt.getMtbColr().size() > 0) {
|
||||||
|
|
||||||
|
if(mtbColt.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColt.getGestioneEnum() == GestioneEnum.LAVORAZIONE) {
|
||||||
|
//GET BY COMMESSA COLLO
|
||||||
|
this.mOrdiniUscitaElencoRESTConsumer.getOrdiniFromCommessaCollo(mCurrentCodMdep, mtbColt, orderList -> {
|
||||||
|
|
||||||
|
if(orderList != null && orderList.size() > 0) {
|
||||||
|
List<Integer> numOrds = Stream.of(orderList)
|
||||||
|
.map(DtbOrdt::getNumOrd)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
List<OrdiniUscitaElencoDTO> filteredOrders = Stream.of(mOrderList.getValue())
|
||||||
|
.filter(x -> numOrds.contains(x.getNumOrd())).toList();
|
||||||
|
|
||||||
|
onComplete.run(filteredOrders);
|
||||||
|
} else {
|
||||||
|
this.sendError(new NoOrderFoundException());
|
||||||
|
}
|
||||||
|
|
||||||
|
}, this::sendError);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.sendError(new InvalidLUGestioneException(GestioneEnum.VENDITA));
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.sendError(new NoLUFoundException());
|
||||||
|
}
|
||||||
|
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, RunnableArgs<List<OrdiniUscitaElencoDTO>> onComplete) {
|
||||||
|
this.mBarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
|
||||||
|
String barcodeProd = null;
|
||||||
|
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) barcodeProd = ean128Model.Sscc;
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Gtin)) barcodeProd = ean128Model.Gtin;
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Content)) barcodeProd = ean128Model.Content;
|
||||||
|
|
||||||
|
|
||||||
|
if(!UtilityString.isNullOrEmpty(barcodeProd)) {
|
||||||
|
|
||||||
|
if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)){
|
||||||
|
this.executeEtichettaLU(ean128Model.Sscc, onComplete);
|
||||||
|
} else {
|
||||||
|
this.sendError(new NoLUFoundException());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
||||||
|
this.sendError(new NoLUFoundException());
|
||||||
|
}
|
||||||
|
}, this::sendError);
|
||||||
|
}
|
||||||
|
|
||||||
public MutableLiveData<List<OrdiniUscitaElencoDTO>> getOrderList() {
|
public MutableLiveData<List<OrdiniUscitaElencoDTO>> getOrderList() {
|
||||||
return mOrderList;
|
return mOrderList;
|
||||||
}
|
}
|
||||||
@ -142,6 +274,10 @@ public class OrdiniUscitaElencoViewModel {
|
|||||||
if (this.mListener != null) mListener.onError(ex);
|
if (this.mListener != null) mListener.onError(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendOnOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders) {
|
||||||
|
if (this.mListener != null) mListener.onOrderFiltered(filteredOrders);
|
||||||
|
}
|
||||||
|
|
||||||
private void sendOnOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
private void sendOnOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts) {
|
||||||
if (this.mListener != null) mListener.onOrdersDispatched(orders, sitArts, alreadyRegisteredMtbColts);
|
if (this.mListener != null) mListener.onOrdersDispatched(orders, sitArts, alreadyRegisteredMtbColts);
|
||||||
}
|
}
|
||||||
@ -153,6 +289,8 @@ public class OrdiniUscitaElencoViewModel {
|
|||||||
|
|
||||||
void onError(Exception ex);
|
void onError(Exception ex);
|
||||||
|
|
||||||
|
void onOrderFiltered(List<OrdiniUscitaElencoDTO> filteredOrders);
|
||||||
|
|
||||||
void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts);
|
void onOrdersDispatched(List<OrdineUscitaInevasoDTO> orders, List<SitArtOrdDTO> sitArts, List<MtbColt> alreadyRegisteredMtbColts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
|
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||||
|
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||||
|
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||||
|
import it.integry.integrywmsnative.core.rest.consumers._BaseRESTConsumer;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.Callback;
|
||||||
|
import retrofit2.Response;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
public class OrdiniUscitaElencoRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
|
public void getOrdiniFromCommessaCollo(String codMdep, MtbColt testataCollo, RunnableArgs<List<DtbOrdt>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
OrdiniUscitaElencoRESTConsumerService service = RESTBuilder.getService(OrdiniUscitaElencoRESTConsumerService.class);
|
||||||
|
service.getOrdiniInCommessaCollo(
|
||||||
|
testataCollo.getDataColloS(),
|
||||||
|
testataCollo.getNumCollo(),
|
||||||
|
testataCollo.getSerCollo(),
|
||||||
|
testataCollo.getGestione(),
|
||||||
|
GestioneEnum.VENDITA.getText(),
|
||||||
|
codMdep)
|
||||||
|
.enqueue(new Callback<ServiceRESTResponse<List<DtbOrdt>>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ServiceRESTResponse<List<DtbOrdt>>> call, Response<ServiceRESTResponse<List<DtbOrdt>>> response) {
|
||||||
|
analyzeAnswer(response, "getOrdiniFromCommessaCollo", (m) -> {
|
||||||
|
onComplete.run(response.body().getEntity());
|
||||||
|
}, onFailed);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ServiceRESTResponse<List<DtbOrdt>>> call, Throwable t) {
|
||||||
|
onFailed.run(new Exception(t));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package it.integry.integrywmsnative.gest.ordini_uscita_elenco.rest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import it.integry.integrywmsnative.core.model.DtbOrdt;
|
||||||
|
import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse;
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.http.GET;
|
||||||
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
|
public interface OrdiniUscitaElencoRESTConsumerService {
|
||||||
|
|
||||||
|
@GET("getOrdiniInCommCollo")
|
||||||
|
Call<ServiceRESTResponse<List<DtbOrdt>>> getOrdiniInCommessaCollo(@Query("dataCollo") String dataCollo, @Query("numCollo") Integer numCollo, @Query("serCollo") String serCollo, @Query("gestioneCollo") String gestioneCollo, @Query("gestioneOrdine") String gestioneOrdine, @Query("codMdep") String codMdep);
|
||||||
|
|
||||||
|
}
|
||||||
@ -225,6 +225,8 @@ public class SpedizioneActivity extends BaseActivity implements SpedizioneViewMo
|
|||||||
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
.setOnScanSuccessfull(onScanSuccessful)
|
.setOnScanSuccessfull(onScanSuccessful)
|
||||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
.setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false)));
|
||||||
|
|
||||||
|
BarcodeManager.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
|
|||||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
||||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
|
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
|
||||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
|
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
|
||||||
|
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisognoLineeProdFragment;
|
||||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
||||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
|
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
|
||||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
|
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
|
||||||
@ -87,6 +88,13 @@ public class MenuConfigurationGRAMM extends BaseMenuConfiguration {
|
|||||||
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_libero)
|
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_picking_libero)
|
||||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
|
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
|
||||||
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
|
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
|
||||||
|
|
||||||
|
.addItem(new MenuItem()
|
||||||
|
.setID(it.integry.integrywmsnative.R.id.nav_prod_posizionamento_da_ord)
|
||||||
|
.setTitleText(it.integry.integrywmsnative.R.string.versamento_merce_fragment_title)
|
||||||
|
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_versamento_merce)
|
||||||
|
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf)
|
||||||
|
.setFragmentFactory(ProdFabbisognoLineeProdFragment::newInstance))
|
||||||
).addGroup(
|
).addGroup(
|
||||||
new MenuGroup()
|
new MenuGroup()
|
||||||
.setGroupText(it.integry.integrywmsnative.R.string.internal_handling)
|
.setGroupText(it.integry.integrywmsnative.R.string.internal_handling)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user