Vario
This commit is contained in:
parent
98b6a32126
commit
eaeef05e64
@ -51,6 +51,8 @@ import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviForn
|
|||||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreModule;
|
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreModule;
|
||||||
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceComponent;
|
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceComponent;
|
||||||
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceModule;
|
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceModule;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsComponent;
|
||||||
|
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsModule;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent;
|
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent;
|
||||||
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule;
|
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule;
|
||||||
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdComponent;
|
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdComponent;
|
||||||
@ -94,7 +96,8 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
|||||||
DialogRowInfoProdFabbisognoLineeProdModule.class,
|
DialogRowInfoProdFabbisognoLineeProdModule.class,
|
||||||
ProdOrdineProduzioneElencoModule.class,
|
ProdOrdineProduzioneElencoModule.class,
|
||||||
ProdRecuperoMaterialeModule.class,
|
ProdRecuperoMaterialeModule.class,
|
||||||
ProdVersamentoMaterialeModule.class
|
ProdVersamentoMaterialeModule.class,
|
||||||
|
DialogChooseArtsFromListaArtsModule.class
|
||||||
})
|
})
|
||||||
public interface MainApplicationComponent {
|
public interface MainApplicationComponent {
|
||||||
|
|
||||||
@ -128,6 +131,7 @@ public interface MainApplicationComponent {
|
|||||||
ProdOrdineProduzioneElencoComponent.Factory prodOrdineProduzioneElencoComponent();
|
ProdOrdineProduzioneElencoComponent.Factory prodOrdineProduzioneElencoComponent();
|
||||||
ProdRecuperoMaterialeComponent.Factory prodRecuperoMaterialeComponent();
|
ProdRecuperoMaterialeComponent.Factory prodRecuperoMaterialeComponent();
|
||||||
ProdVersamentoMaterialeComponent.Factory prodVersamentoMaterialeComponent();
|
ProdVersamentoMaterialeComponent.Factory prodVersamentoMaterialeComponent();
|
||||||
|
DialogChooseArtsFromListaArtsComponent.Factory dialogChooseArtsFromListaArtsComponent();
|
||||||
|
|
||||||
|
|
||||||
void inject(MainApplication mainApplication);
|
void inject(MainApplication mainApplication);
|
||||||
|
|||||||
@ -87,8 +87,8 @@ public class MainApplicationModule {
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
DepositoRESTConsumer provideDepositoRESTConsumer() {
|
DepositoRESTConsumer provideDepositoRESTConsumer(EntityRESTConsumer entityRESTConsumer) {
|
||||||
return new DepositoRESTConsumer();
|
return new DepositoRESTConsumer(entityRESTConsumer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|||||||
@ -18,7 +18,8 @@ import retrofit2.Response;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class ArticoloRESTConsumer extends _BaseRESTConsumer {
|
public class ArticoloRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
public static void getByBarcodeProdStatic(String barcodeProd, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
|
public void getByBarcodeProd(String barcodeProd, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class);
|
ArticoloRESTConsumerService articoloRESTConsumerService = RESTBuilder.getService(ArticoloRESTConsumerService.class);
|
||||||
articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback<ServiceRESTResponse<MtbAart>>() {
|
articoloRESTConsumerService.getByBarcodeProd(barcodeProd).enqueue(new Callback<ServiceRESTResponse<MtbAart>>() {
|
||||||
@Override
|
@Override
|
||||||
@ -35,10 +36,6 @@ public class ArticoloRESTConsumer extends _BaseRESTConsumer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getByBarcodeProd(String barcodeProd, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
getByBarcodeProdStatic(barcodeProd, onComplete, onFailed);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void getByCodMarts(List<String> codMartToFind, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getByCodMarts(List<String> codMartToFind, RunnableArgs<List<MtbAart>> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
getByCodMartsStatic(codMartToFind, onComplete, onFailed);
|
getByCodMartsStatic(codMartToFind, onComplete, onFailed);
|
||||||
|
|||||||
@ -16,7 +16,7 @@ import retrofit2.Response;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class BarcodeRESTConsumer extends _BaseRESTConsumer {
|
public class BarcodeRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
public static void decodeEan128Static(BarcodeScanDTO barcodeObj, RunnableArgs<Ean128Model> onComplete, RunnableArgs<Exception> onFailed) {
|
public void decodeEan128(BarcodeScanDTO barcodeObj, RunnableArgs<Ean128Model> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
IBarcodeCustomization barcodeCustomization = ClassRouter.getInstance(ClassRouter.PATH.BARCODE_CUSTOMIZATION);
|
IBarcodeCustomization barcodeCustomization = ClassRouter.getInstance(ClassRouter.PATH.BARCODE_CUSTOMIZATION);
|
||||||
|
|
||||||
@ -42,8 +42,4 @@ public class BarcodeRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void decodeEan128(BarcodeScanDTO barcodeObj, RunnableArgs<Ean128Model> onComplete, RunnableArgs<Exception> onFailed) {
|
|
||||||
BarcodeRESTConsumer.decodeEan128Static(barcodeObj, onComplete, onFailed);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,19 +57,6 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
this.mEntityRESTConsumer = entityRESTConsumer;
|
this.mEntityRESTConsumer = entityRESTConsumer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void saveColloStatic(MtbColt mtbColtToSave, final ISimpleOperationCallback<MtbColt> callback) {
|
|
||||||
|
|
||||||
for (int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) {
|
|
||||||
mtbColtToSave.getMtbColr().get(i)
|
|
||||||
.setMtbAart(null)
|
|
||||||
.setMtbPartitaMag(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
EntityRESTConsumer.processEntity(mtbColtToSave, callback, MtbColt.class);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void saveCollo(MtbColt mtbColtToSave, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
public void saveCollo(MtbColt mtbColtToSave, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
|
MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
|
||||||
mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
|
||||||
|
|||||||
@ -11,6 +11,12 @@ import it.integry.integrywmsnative.core.model.MtbDepo;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class DepositoRESTConsumer extends _BaseRESTConsumer {
|
public class DepositoRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
|
private final EntityRESTConsumer entityRESTConsumer;
|
||||||
|
|
||||||
|
public DepositoRESTConsumer(EntityRESTConsumer entityRESTConsumer) {
|
||||||
|
this.entityRESTConsumer = entityRESTConsumer;
|
||||||
|
}
|
||||||
|
|
||||||
public void getDepoByCodMdep(String codMdep, RunnableArgs<MtbDepo> onComplete, RunnableArgs<Exception> onFailed) {
|
public void getDepoByCodMdep(String codMdep, RunnableArgs<MtbDepo> onComplete, RunnableArgs<Exception> onFailed) {
|
||||||
|
|
||||||
MtbDepo mtbDepo = new MtbDepo();
|
MtbDepo mtbDepo = new MtbDepo();
|
||||||
@ -18,7 +24,7 @@ public class DepositoRESTConsumer extends _BaseRESTConsumer {
|
|||||||
mtbDepo.setOperation(CommonModelConsts.OPERATION.SELECT);
|
mtbDepo.setOperation(CommonModelConsts.OPERATION.SELECT);
|
||||||
mtbDepo.setOnlyPkMaster(false);
|
mtbDepo.setOnlyPkMaster(false);
|
||||||
|
|
||||||
EntityRESTConsumer.selectEntity(mtbDepo, new ISimpleOperationCallback<>() {
|
this.entityRESTConsumer.selectEntity(mtbDepo, new ISimpleOperationCallback<>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(List<MtbDepo> value) {
|
public void onSuccess(List<MtbDepo> value) {
|
||||||
if (value != null && value.size() > 0) {
|
if (value != null && value.size() > 0) {
|
||||||
|
|||||||
@ -22,24 +22,8 @@ import retrofit2.Response;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class EntityRESTConsumer extends _BaseRESTConsumer {
|
public class EntityRESTConsumer extends _BaseRESTConsumer {
|
||||||
|
|
||||||
public static <T extends EntityBase> void processEntity(T entityToSave, RunnableArgs<T> onComplete, RunnableArgs<Exception> onFailed, Class<T> type) {
|
|
||||||
|
|
||||||
processEntity(entityToSave, new ISimpleOperationCallback<T>() {
|
public <T extends EntityBase> void processEntity(T entityToSave, final ISimpleOperationCallback<T> callback, Class<T> type) {
|
||||||
@Override
|
|
||||||
public void onSuccess(T value) {
|
|
||||||
if(onComplete != null) onComplete.run(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailed(Exception ex) {
|
|
||||||
if(onFailed != null) onFailed.run(ex);
|
|
||||||
}
|
|
||||||
}, type);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static <T extends EntityBase> void processEntity(T entityToSave, final ISimpleOperationCallback<T> callback, Class<T> type) {
|
|
||||||
|
|
||||||
RunnableArgs<Exception> tmpFailed = ex -> {
|
RunnableArgs<Exception> tmpFailed = ex -> {
|
||||||
if (callback != null) callback.onFailed(ex);
|
if (callback != null) callback.onFailed(ex);
|
||||||
@ -48,7 +32,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer {
|
|||||||
EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class);
|
EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class);
|
||||||
service
|
service
|
||||||
.processEntity(entityToSave)
|
.processEntity(entityToSave)
|
||||||
.enqueue(new Callback<ServiceRESTResponse<JsonObject>>() {
|
.enqueue(new Callback<>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<ServiceRESTResponse<JsonObject>> call, Response<ServiceRESTResponse<JsonObject>> response) {
|
public void onResponse(Call<ServiceRESTResponse<JsonObject>> call, Response<ServiceRESTResponse<JsonObject>> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
@ -82,7 +66,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends EntityBase> void processEntityList(List<T> entitiesToSave, final ISimpleOperationCallback<List<T>> callback, boolean singleTransaction, Class<T> type) {
|
public <T extends EntityBase> void processEntityList(List<T> entitiesToSave, final ISimpleOperationCallback<List<T>> callback, boolean singleTransaction, Class<T> type) {
|
||||||
|
|
||||||
RunnableArgs<Exception> tmpFailed = ex -> {
|
RunnableArgs<Exception> tmpFailed = ex -> {
|
||||||
// UtilityExceptions.defaultException(null, ex);
|
// UtilityExceptions.defaultException(null, ex);
|
||||||
@ -91,7 +75,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer {
|
|||||||
|
|
||||||
EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class);
|
EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class);
|
||||||
Call<List<ServiceRESTResponse<JsonObject>>> request = service.processEntityList(singleTransaction, entitiesToSave);
|
Call<List<ServiceRESTResponse<JsonObject>>> request = service.processEntityList(singleTransaction, entitiesToSave);
|
||||||
request.enqueue(new Callback<List<ServiceRESTResponse<JsonObject>>>() {
|
request.enqueue(new Callback<>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<List<ServiceRESTResponse<JsonObject>>> call, Response<List<ServiceRESTResponse<JsonObject>>> response) {
|
public void onResponse(Call<List<ServiceRESTResponse<JsonObject>>> call, Response<List<ServiceRESTResponse<JsonObject>>> response) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
@ -136,7 +120,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static <T extends EntityBase> void selectEntity(T entityToSave, final ISimpleOperationCallback<List<T>> callback, Class type) {
|
public <T extends EntityBase> void selectEntity(T entityToSave, final ISimpleOperationCallback<List<T>> callback, Class type) {
|
||||||
|
|
||||||
EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class);
|
EntityRESTConsumerService service = RESTBuilder.getService(EntityRESTConsumerService.class);
|
||||||
Call<ServiceRESTResponse<JsonObject>> request = service.processEntity(entityToSave);
|
Call<ServiceRESTResponse<JsonObject>> request = service.processEntity(entityToSave);
|
||||||
|
|||||||
@ -290,10 +290,12 @@ public class PickingLiberoFragment extends BaseFragment implements ITitledFragme
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onArtSelectionRequest(List<MtbColr> mtbColrsToPick, RunnableArgs<List<MtbColr>> onComplete, Runnable onAbort) {
|
public void onArtSelectionRequest(List<MtbColr> mtbColrsToPick, RunnableArgs<List<MtbColr>> onComplete, Runnable onAbort) {
|
||||||
DialogChooseArtsFromListaArts.make(getActivity(), mtbColrsToPick, onComplete, () -> {
|
DialogChooseArtsFromListaArts
|
||||||
onAbort.run();
|
.newInstance(mtbColrsToPick, onComplete, () -> {
|
||||||
BarcodeManager.enable();
|
onAbort.run();
|
||||||
});
|
BarcodeManager.enable();
|
||||||
|
})
|
||||||
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -275,7 +275,7 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl
|
|||||||
public void onMtbColtScanned(MtbColt scannedMtbColt) {
|
public void onMtbColtScanned(MtbColt scannedMtbColt) {
|
||||||
|
|
||||||
DialogChooseArtsFromListaArts
|
DialogChooseArtsFromListaArts
|
||||||
.make(getActivity(), scannedMtbColt.getMtbColr(), items -> {
|
.newInstance(scannedMtbColt.getMtbColr(), items -> {
|
||||||
|
|
||||||
List<MtbAart> mtbAarts = Stream.of(items)
|
List<MtbAart> mtbAarts = Stream.of(items)
|
||||||
.map(MtbColr::getMtbAart)
|
.map(MtbColr::getMtbAart)
|
||||||
@ -283,7 +283,7 @@ public class UltimiArriviFornitoreFragment extends BaseFragment implements ITitl
|
|||||||
|
|
||||||
filterItems(mtbAarts);
|
filterItems(mtbAarts);
|
||||||
|
|
||||||
}, null);
|
}, null)
|
||||||
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -168,8 +168,10 @@ public class VersamentoMerceFragment extends BaseFragment implements ITitledFrag
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onArtsChooseRequired(List<MtbColr> mtbColrList, RunnableArgs<List<MtbColr>> onComplete, Runnable onAbort) {
|
public void onArtsChooseRequired(List<MtbColr> mtbColrList, RunnableArgs<List<MtbColr>> onComplete, Runnable onAbort) {
|
||||||
this.getActivity().runOnUiThread(() -> {
|
this.requireActivity().runOnUiThread(() -> {
|
||||||
DialogChooseArtsFromListaArts.make(getActivity(), mtbColrList, onComplete, onAbort);
|
DialogChooseArtsFromListaArts
|
||||||
|
.newInstance(mtbColrList, onComplete, onAbort)
|
||||||
|
.show(requireActivity().getSupportFragmentManager(), "tag");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ public class DialogBasketLU {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initViewPager() {
|
private void initViewPager() {
|
||||||
List<Map.Entry<Integer, Class>> views = new ArrayList<>();
|
List<Map.Entry<Integer, Class<?>>> views = new ArrayList<>();
|
||||||
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class));
|
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page1, DialogBasketLU_Page1_ViewModel.class));
|
||||||
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class));
|
views.add(new AbstractMap.SimpleEntry<>(R.layout.dialog_basket_lu__page2, DialogBasketLU_Page2_ViewModel.class));
|
||||||
|
|
||||||
|
|||||||
@ -17,21 +17,19 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import it.integry.integrywmsnative.BR;
|
|
||||||
import it.integry.integrywmsnative.ui.DeactivatableViewPager;
|
import it.integry.integrywmsnative.ui.DeactivatableViewPager;
|
||||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel.IDialogAskClienteViewModel;
|
|
||||||
import it.integry.integrywmsnative.view.dialogs.basket_lu.interfaces.IDialogBasketLUViewModel;
|
import it.integry.integrywmsnative.view.dialogs.basket_lu.interfaces.IDialogBasketLUViewModel;
|
||||||
|
|
||||||
public class DialogBasketLU_ViewPagerAdapter extends PagerAdapter implements ViewPager.OnPageChangeListener {
|
public class DialogBasketLU_ViewPagerAdapter extends PagerAdapter implements ViewPager.OnPageChangeListener {
|
||||||
|
|
||||||
private Context mContext;
|
private final Context mContext;
|
||||||
|
|
||||||
private List<Map.Entry<Integer, Class>> mDatasetLayout;
|
private final List<Map.Entry<Integer, Class<?>>> mDatasetLayout;
|
||||||
private List<Map.Entry<ViewDataBinding, IDialogBasketLUViewModel>> mDatasetViews;
|
private final List<Map.Entry<ViewDataBinding, IDialogBasketLUViewModel>> mDatasetViews;
|
||||||
|
|
||||||
private DeactivatableViewPager viewPager;
|
private DeactivatableViewPager viewPager;
|
||||||
|
|
||||||
public DialogBasketLU_ViewPagerAdapter(Context context, List<Map.Entry<Integer, Class>> datasetLayouts) {
|
public DialogBasketLU_ViewPagerAdapter(Context context, List<Map.Entry<Integer, Class<?>>> datasetLayouts) {
|
||||||
this.mContext = context;
|
this.mContext = context;
|
||||||
this.mDatasetLayout = datasetLayouts;
|
this.mDatasetLayout = datasetLayouts;
|
||||||
this.mDatasetViews = new ArrayList<>();
|
this.mDatasetViews = new ArrayList<>();
|
||||||
@ -47,7 +45,7 @@ public class DialogBasketLU_ViewPagerAdapter extends PagerAdapter implements Vie
|
|||||||
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
|
||||||
ViewDataBinding mBinding = DataBindingUtil.inflate(inflater, viewId, null, false);
|
ViewDataBinding mBinding = DataBindingUtil.inflate(inflater, viewId, null, false);
|
||||||
|
|
||||||
Class viewModelClass = mDatasetLayout.get(position).getValue();
|
Class<?> viewModelClass = mDatasetLayout.get(position).getValue();
|
||||||
IDialogBasketLUViewModel viewModel = null;
|
IDialogBasketLUViewModel viewModel = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -2,27 +2,33 @@ package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts;
|
|||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.widget.SearchView;
|
import androidx.appcompat.widget.SearchView;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
import it.integry.barcode_base_android_library.model.BarcodeScanDTO;
|
||||||
|
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.BarcodeCallbackDTO;
|
||||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||||
|
import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
|
||||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||||
import it.integry.integrywmsnative.core.model.MtbAart;
|
import it.integry.integrywmsnative.core.model.MtbAart;
|
||||||
import it.integry.integrywmsnative.core.model.MtbColr;
|
import it.integry.integrywmsnative.core.model.MtbColr;
|
||||||
@ -37,28 +43,33 @@ import it.integry.integrywmsnative.core.utility.UtilityString;
|
|||||||
import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding;
|
import it.integry.integrywmsnative.databinding.DialogChooseArtsFromListaArtsLayoutBinding;
|
||||||
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
import it.integry.integrywmsnative.view.dialogs.DialogCommon;
|
||||||
|
|
||||||
public class DialogChooseArtsFromListaArts {
|
public class DialogChooseArtsFromListaArts extends BaseDialogFragment {
|
||||||
|
|
||||||
private Context currentContext;
|
@Inject
|
||||||
private Dialog mDialog;
|
BarcodeRESTConsumer barcodeRESTConsumer;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
ArticoloRESTConsumer articoloRESTConsumer;
|
||||||
|
|
||||||
|
private Context context;
|
||||||
|
|
||||||
private DialogChooseArtsFromListaArtsLayoutBinding mBindings;
|
private DialogChooseArtsFromListaArtsLayoutBinding mBindings;
|
||||||
private DialogChooseArtsFromListaArtsAdapter currentAdapter;
|
private DialogChooseArtsFromListaArtsAdapter currentAdapter;
|
||||||
|
|
||||||
private RunnableArgs<List<MtbColr>> mOnItemsChoosed;
|
private final RunnableArgs<List<MtbColr>> mOnItemsChoosed;
|
||||||
private Runnable mOnAbort;
|
private final Runnable mOnAbort;
|
||||||
|
|
||||||
private List<DialogChooseArtsFromListaArtsItemModel> mDataset;
|
private final List<DialogChooseArtsFromListaArtsItemModel> mDataset;
|
||||||
|
|
||||||
public static void make(@NotNull final FragmentActivity activity, List<MtbColr> listaMtbColr, RunnableArgs<List<MtbColr>> onItemsChoosed, Runnable onAbort) {
|
private int mBarcodeScannerIstanceID;
|
||||||
activity.runOnUiThread(() -> {
|
|
||||||
new DialogChooseArtsFromListaArts(activity, listaMtbColr, onItemsChoosed, onAbort).mDialog.show();
|
public static DialogChooseArtsFromListaArts newInstance(List<MtbColr> listaMtbColr, RunnableArgs<List<MtbColr>> onItemsChoosed, Runnable onAbort) {
|
||||||
});
|
return new DialogChooseArtsFromListaArts(listaMtbColr, onItemsChoosed, onAbort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private DialogChooseArtsFromListaArts(List<MtbColr> listaMtbColr, RunnableArgs<List<MtbColr>> onItemsChoosed, Runnable onAbort) {
|
||||||
|
super();
|
||||||
|
|
||||||
private DialogChooseArtsFromListaArts(Context context, List<MtbColr> listaMtbColr, RunnableArgs<List<MtbColr>> onItemsChoosed, Runnable onAbort) {
|
|
||||||
currentContext = context;
|
|
||||||
mOnItemsChoosed = onItemsChoosed;
|
mOnItemsChoosed = onItemsChoosed;
|
||||||
mOnAbort = onAbort;
|
mOnAbort = onAbort;
|
||||||
|
|
||||||
@ -73,50 +84,54 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
mDataset.add(new DialogChooseArtsFromListaArtsItemModel().setMtbColr(mtbColr));
|
mDataset.add(new DialogChooseArtsFromListaArtsItemModel().setMtbColr(mtbColr));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
super.onCreateView(inflater, container, savedInstanceState);
|
||||||
|
|
||||||
|
this.context = getActivity();
|
||||||
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_arts_from_lista_arts_layout, null, false);
|
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_arts_from_lista_arts_layout, null, false);
|
||||||
|
mBindings.setLifecycleOwner(getViewLifecycleOwner());
|
||||||
|
|
||||||
mBindings.emptyView.setVisibility(listaMtbColr != null && listaMtbColr.size() > 0 ? View.GONE : View.VISIBLE);
|
MainApplication.appComponent
|
||||||
|
.dialogChooseArtsFromListaArtsComponent()
|
||||||
|
.create()
|
||||||
|
.inject(this);
|
||||||
|
|
||||||
|
UtilityDialog.setTo90PercentWidth(context, this);
|
||||||
|
|
||||||
mDialog = new Dialog(context);
|
mBindings.emptyView.setVisibility(mDataset != null && mDataset.size() > 0 ? View.GONE : View.VISIBLE);
|
||||||
mDialog.setContentView(mBindings.getRoot());
|
|
||||||
mDialog.setCanceledOnTouchOutside(false);
|
|
||||||
mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
|
||||||
|
|
||||||
mDialog.setOnCancelListener(dialog -> {
|
|
||||||
if (this.mOnAbort != null) this.mOnAbort.run();
|
|
||||||
});
|
|
||||||
|
|
||||||
UtilityDialog.setTo90PercentWidth(context, mDialog);
|
|
||||||
|
|
||||||
|
|
||||||
initRecyclerView();
|
initRecyclerView();
|
||||||
|
|
||||||
initFilter();
|
initFilter();
|
||||||
|
|
||||||
setupBarcode();
|
setupBarcode();
|
||||||
|
|
||||||
mBindings.positiveButton.setOnClickListener(v -> {
|
mBindings.positiveButton.setOnClickListener(v -> {
|
||||||
mDialog.dismiss();
|
dismiss();
|
||||||
onPositiveClick();
|
onPositiveClick();
|
||||||
});
|
});
|
||||||
|
|
||||||
mBindings.negativeButton.setOnClickListener(v -> {
|
mBindings.negativeButton.setOnClickListener(v -> {
|
||||||
mDialog.dismiss();
|
dismiss();
|
||||||
onNegativeClick();
|
onNegativeClick();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
getDialog().setCanceledOnTouchOutside(false);
|
||||||
|
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||||
|
|
||||||
|
return mBindings.getRoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
mBindings.listaArts.setNestedScrollingEnabled(false);
|
mBindings.listaArts.setNestedScrollingEnabled(false);
|
||||||
|
|
||||||
mBindings.listaArts.setHasFixedSize(true);
|
mBindings.listaArts.setHasFixedSize(true);
|
||||||
|
mBindings.listaArts.setLayoutManager(new LinearLayoutManager(context));
|
||||||
|
|
||||||
mBindings.listaArts.setLayoutManager(new LinearLayoutManager(currentContext));
|
currentAdapter = new DialogChooseArtsFromListaArtsAdapter(context, mDataset);
|
||||||
|
|
||||||
currentAdapter = new DialogChooseArtsFromListaArtsAdapter(currentContext, mDataset);
|
|
||||||
mBindings.listaArts.setAdapter(currentAdapter);
|
mBindings.listaArts.setAdapter(currentAdapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,9 +193,9 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
String diacod = x.getMtbColr().getMtbAart().getDiacod().toLowerCase();
|
String diacod = x.getMtbColr().getMtbAart().getDiacod().toLowerCase();
|
||||||
|
|
||||||
return ((codMart.startsWith(finalNewText) ||
|
return ((codMart.startsWith(finalNewText) ||
|
||||||
codMart.endsWith(finalNewText) ||
|
codMart.endsWith(finalNewText) ||
|
||||||
codMart.contains(finalNewText) ||
|
codMart.contains(finalNewText) ||
|
||||||
codMart.equalsIgnoreCase(finalNewText)) ||
|
codMart.equalsIgnoreCase(finalNewText)) ||
|
||||||
(descrizioneArt.startsWith(finalNewText) ||
|
(descrizioneArt.startsWith(finalNewText) ||
|
||||||
descrizioneArt.endsWith(finalNewText) ||
|
descrizioneArt.endsWith(finalNewText) ||
|
||||||
descrizioneArt.contains(finalNewText) ||
|
descrizioneArt.contains(finalNewText) ||
|
||||||
@ -206,21 +221,28 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
private void setupBarcode() {
|
private void setupBarcode() {
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
|
|
||||||
int barcodeIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
mBarcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||||
.setOnScanSuccessfull(onScanSuccessfull)
|
.setOnScanSuccessfull(onScanSuccessfull)
|
||||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(currentContext, ex, false)));
|
.setOnScanFailed(ex -> UtilityExceptions.defaultException(context, ex, false)));
|
||||||
|
|
||||||
mDialog.setOnDismissListener(dialog -> {
|
|
||||||
BarcodeManager.removeCallback(barcodeIstanceID);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDismiss(@NonNull DialogInterface dialog) {
|
||||||
|
BarcodeManager.removeCallback(mBarcodeScannerIstanceID);
|
||||||
|
this.mOnAbort.run();
|
||||||
|
super.onDismiss(dialog);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private final RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
|
private final RunnableArgs<BarcodeScanDTO> onScanSuccessfull = data -> {
|
||||||
BarcodeManager.disable();
|
BarcodeManager.disable();
|
||||||
|
|
||||||
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(currentContext);
|
Dialog progressDialog = UtilityProgress.createDefaultProgressDialog(context);
|
||||||
|
|
||||||
if (UtilityBarcode.isEan13(data)) {
|
if (UtilityBarcode.isEan13(data)) {
|
||||||
this.loadArticolo(data.getStringValue(), null, progressDialog);
|
this.loadArticolo(data.getStringValue(), null, progressDialog);
|
||||||
@ -236,7 +258,7 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
|
|
||||||
|
|
||||||
private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Dialog progressDialog) {
|
private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Dialog progressDialog) {
|
||||||
BarcodeRESTConsumer.decodeEan128Static(barcodeScanDTO, ean128Model -> {
|
this.barcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> {
|
||||||
|
|
||||||
String barcodeProd = null;
|
String barcodeProd = null;
|
||||||
|
|
||||||
@ -251,7 +273,7 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
if (!UtilityString.isNullOrEmpty(ean128Model.Gtin) || !UtilityString.isNullOrEmpty(ean128Model.Content)) {
|
if (!UtilityString.isNullOrEmpty(ean128Model.Gtin) || !UtilityString.isNullOrEmpty(ean128Model.Content)) {
|
||||||
this.loadArticolo(barcodeProd, ean128Model, progressDialog);
|
this.loadArticolo(barcodeProd, ean128Model, progressDialog);
|
||||||
} else {
|
} else {
|
||||||
DialogCommon.showNoArtFoundDialog(currentContext, () -> {
|
DialogCommon.showNoArtFoundDialog(context, () -> {
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
progressDialog.dismiss();
|
progressDialog.dismiss();
|
||||||
});
|
});
|
||||||
@ -261,14 +283,14 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
//EAN 128 non completo o comunque mancano i riferimenti al prodotto
|
||||||
DialogCommon.showNoArtFoundDialog(currentContext, () -> {
|
DialogCommon.showNoArtFoundDialog(context, () -> {
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
progressDialog.dismiss();
|
progressDialog.dismiss();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}, ex -> {
|
}, ex -> {
|
||||||
UtilityExceptions.defaultException(currentContext, ex, progressDialog);
|
UtilityExceptions.defaultException(context, ex, progressDialog);
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -280,7 +302,7 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String finalBarcodeProd = barcodeProd;
|
String finalBarcodeProd = barcodeProd;
|
||||||
ArticoloRESTConsumer.getByBarcodeProdStatic(barcodeProd, mtbAartList -> {
|
this.articoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> {
|
||||||
|
|
||||||
if (mtbAartList != null && mtbAartList.size() > 0) {
|
if (mtbAartList != null && mtbAartList.size() > 0) {
|
||||||
this.mBindings.mainSearch.setQuery(finalBarcodeProd, false);
|
this.mBindings.mainSearch.setQuery(finalBarcodeProd, false);
|
||||||
@ -292,7 +314,7 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
DialogCommon.showNoArtFoundDialog(currentContext, () -> {
|
DialogCommon.showNoArtFoundDialog(context, () -> {
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
progressDialog.dismiss();
|
progressDialog.dismiss();
|
||||||
});
|
});
|
||||||
@ -300,7 +322,7 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
|
|
||||||
}, ex -> {
|
}, ex -> {
|
||||||
BarcodeManager.enable();
|
BarcodeManager.enable();
|
||||||
UtilityExceptions.defaultException(currentContext, ex, progressDialog);
|
UtilityExceptions.defaultException(context, ex, progressDialog);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,7 +336,7 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
if (foundRowsList.size() == 0) {
|
if (foundRowsList.size() == 0) {
|
||||||
DialogCommon.showNoArtFoundDialog(currentContext, null);
|
DialogCommon.showNoArtFoundDialog(context, null);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
for (int i = 0; i < mDataset.size(); i++) {
|
for (int i = 0; i < mDataset.size(); i++) {
|
||||||
@ -339,7 +361,7 @@ public class DialogChooseArtsFromListaArts {
|
|||||||
|
|
||||||
|
|
||||||
private void onNegativeClick() {
|
private void onNegativeClick() {
|
||||||
if (this.mOnAbort != null) mOnAbort.run();
|
this.dismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts;
|
||||||
|
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
public interface DialogChooseArtsFromListaArtsComponent {
|
||||||
|
|
||||||
|
@Subcomponent.Factory
|
||||||
|
interface Factory {
|
||||||
|
DialogChooseArtsFromListaArtsComponent create();
|
||||||
|
}
|
||||||
|
|
||||||
|
void inject(DialogChooseArtsFromListaArts dialogChooseArtsFromListaArts);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
|
||||||
|
@Module(subcomponents = DialogChooseArtsFromListaArtsComponent.class)
|
||||||
|
public class DialogChooseArtsFromListaArtsModule {
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user