Fix su unt_mis in picking libero

This commit is contained in:
Giuseppe Scorrano 2019-11-26 11:15:13 +01:00
parent 9e3160a6e0
commit cce7507823
6 changed files with 49 additions and 103 deletions

View File

@ -72,7 +72,7 @@ public class ClassRouter {
return (T)clazz.newInstance(); return (T)clazz.newInstance();
} catch (InstantiationException | MethodPathNotRegisteredException | IllegalAccessException ex) { } catch (InstantiationException | MethodPathNotRegisteredException | IllegalAccessException ex) {
UtilityExceptions.defaultException(context, ex, true); UtilityExceptions.defaultException(null, ex, true);
} }
return null; return null;

View File

@ -3,6 +3,8 @@ package it.integry.integrywmsnative.core.rest.consumers;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import androidx.databinding.ObservableArrayList;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
@ -50,15 +52,18 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer{
public static void saveCollo(MtbColt mtbColtToSave, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed){ public static void saveCollo(MtbColt mtbColtToSave, RunnableArgs<MtbColt> onComplete, RunnableArgs<Exception> onFailed){
MtbColt mtbColtToSaveClone = (MtbColt) mtbColtToSave.clone();
mtbColtToSaveClone.setMtbColr(new ObservableArrayList<>());
for (int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) { for (int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) {
mtbColtToSave.getMtbColr().get(i) mtbColtToSaveClone.getMtbColr().add(
((MtbColr) mtbColtToSave.getMtbColr().get(i).clone())
.setMtbAart(null) .setMtbAart(null)
.setRifPartitaMag(null); .setRifPartitaMag(null));
} }
EntityRESTConsumer.processEntity(mtbColtToSave, new ISimpleOperationCallback<MtbColt>() { EntityRESTConsumer.processEntity(mtbColtToSaveClone, new ISimpleOperationCallback<MtbColt>() {
@Override @Override
public void onSuccess(MtbColt value) { public void onSuccess(MtbColt value) {
if(onComplete != null) onComplete.run(value); if(onComplete != null) onComplete.run(value);

View File

@ -10,29 +10,31 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.appcompat.app.ActionBar;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import it.integry.integrywmsnative.BuildConfig;
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.interfaces.IPoppableActivity; import it.integry.integrywmsnative.core.interfaces.IPoppableActivity;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment; import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding; import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel; import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
/** /**
* A simple {@link Fragment} subclass. * A simple {@link Fragment} subclass.
*/ */
public class PickingLiberoFragment extends Fragment implements ITitledFragment { public class PickingLiberoFragment extends Fragment implements ITitledFragment, IScrollableFragment {
private FragmentPickingLiberoBinding mBindings; private FragmentPickingLiberoBinding mBindings;
private PickingLiberoHelper mHelper;
private PickingLiberoViewModel mViewModel; private PickingLiberoViewModel mViewModel;
private AppCompatTextView mAppCompatActionBar;
private Runnable mOnPreDestroy;
private ElevatedToolbar mToolbar;
private AppCompatTextView mToolbarTitleText;
private int barcodeScannerIstanceID = -1; private int barcodeScannerIstanceID = -1;
@ -49,8 +51,8 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
@Override @Override
public void onCreateActionBar(AppCompatTextView titleText, Context context) { public void onCreateActionBar(AppCompatTextView titleText, Context context) {
mAppCompatActionBar = titleText; mToolbarTitleText = titleText;
titleText.setText(context.getText(R.string.free_picking_title_fragment).toString()); mToolbarTitleText.setText(context.getText(R.string.free_picking_title_fragment).toString());
} }
@Override @Override
@ -66,10 +68,9 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
// Inflate the layout for this fragment // Inflate the layout for this fragment
mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_picking_libero, container, false); mBindings = DataBindingUtil.inflate(inflater, R.layout.fragment_picking_libero, container, false);
mHelper = new PickingLiberoHelper(getActivity());
mViewModel = new PickingLiberoViewModel(); mViewModel = new PickingLiberoViewModel();
mViewModel.init(getActivity(), mBindings, mHelper, mAppCompatActionBar, () -> { mViewModel.init(getActivity(), mBindings, mToolbarTitleText, () -> {
((IPoppableActivity) getActivity()).pop(); ((IPoppableActivity) getActivity()).pop();
}); });
@ -80,7 +81,7 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
.setOnScanFailed(ex -> UtilityExceptions.defaultException(getActivity(), ex, false))); .setOnScanFailed(ex -> UtilityExceptions.defaultException(getActivity(), ex, false)));
mBindings.elevatedToolbar.setNestedScrollView(mBindings.scrollView); mToolbar.setRecyclerView(mBindings.pickingLiberoMainList);
return mBindings.getRoot(); return mBindings.getRoot();
} }
@ -89,7 +90,17 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment {
public void onDestroyView() { public void onDestroyView() {
mViewModel.closeLU(); mViewModel.closeLU();
BarcodeManager.removeCallback(barcodeScannerIstanceID); BarcodeManager.removeCallback(barcodeScannerIstanceID);
if(mOnPreDestroy != null) mOnPreDestroy.run();
super.onDestroyView(); super.onDestroyView();
} }
@Override
public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar;
}
@Override
public void setOnPreDestroy(Runnable onPreDestroy) {
mOnPreDestroy = onPreDestroy;
}
} }

View File

@ -1,13 +0,0 @@
package it.integry.integrywmsnative.gest.picking_libero.core;
import android.content.Context;
public class PickingLiberoHelper {
private final Context mContext;
public PickingLiberoHelper(Context context) {
mContext = context;
}
}

View File

@ -2,7 +2,6 @@ package it.integry.integrywmsnative.gest.picking_libero.viewmodel;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog;
import android.text.SpannableString; import android.text.SpannableString;
import android.view.View; import android.view.View;
@ -50,8 +49,8 @@ import it.integry.integrywmsnative.core.utility.UtilityNumber;
import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityProgress;
import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding; import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding;
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoHelper;
import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter; import it.integry.integrywmsnative.gest.picking_libero.core.PickingLiberoListAdapter;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.DialogConsts; import it.integry.integrywmsnative.view.dialogs.DialogConsts;
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper;
@ -73,17 +72,15 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
private Activity mContext; private Activity mContext;
private FragmentPickingLiberoBinding mBinding; private FragmentPickingLiberoBinding mBinding;
private PickingLiberoHelper mHelper;
private AppCompatTextView mAppBarTitle; private AppCompatTextView mToolbarTitleText;
private PickingLiberoListAdapter mAdapter; private PickingLiberoListAdapter mAdapter;
public void init(Activity context, FragmentPickingLiberoBinding binding, PickingLiberoHelper helper, AppCompatTextView titleText, Runnable onComplete) { public void init(Activity context, FragmentPickingLiberoBinding binding, AppCompatTextView toolbarTitleText, Runnable onComplete) {
mContext = context; mContext = context;
mBinding = binding; mBinding = binding;
mHelper = helper; mToolbarTitleText = toolbarTitleText;
mAppBarTitle = titleText;
initObservable(); initObservable();
@ -108,14 +105,14 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
if(mtbColt.get() != null) { if(mtbColt.get() != null) {
initAdapter(); initAdapter();
if(mAppBarTitle != null) mAppBarTitle.setText(String.format(mContext.getText(R.string.lu_number_text).toString(), mtbColt.get().getNumCollo())); if(mToolbarTitleText != null) mToolbarTitleText.setText(String.format(mContext.getText(R.string.lu_number_text).toString(), mtbColt.get().getNumCollo()));
initObservableMtbColr(); initObservableMtbColr();
} }
else { else {
destroyAdapter(); destroyAdapter();
mAppBarTitle.setText(mContext.getText(R.string.free_picking).toString()); mToolbarTitleText.setText(mContext.getText(R.string.free_picking).toString());
} }
thereIsAnOpenedUL.set(mtbColt.get() != null); thereIsAnOpenedUL.set(mtbColt.get() != null);
@ -555,6 +552,8 @@ public class PickingLiberoViewModel implements IRecyclerItemClicked<MtbColr> {
private void saveLU(MtbColt mtbColtToSave) { private void saveLU(MtbColt mtbColtToSave) {
mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); mtbColtToSave.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
for(int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) { for(int i = 0; i < mtbColtToSave.getMtbColr().size(); i++) {
mtbColtToSave.getMtbColr().get(i).setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); mtbColtToSave.getMtbColr().get(i).setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE);
} }

View File

@ -20,56 +20,6 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/full_white">
<it.integry.integrywmsnative.ui.ElevatedToolbar
android:id="@+id/elevated_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:gravity="center_horizontal"
app:popupTheme="@style/AppTheme.PopupOverlay">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="Picking Libero"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
android:layout_gravity="center" />
</androidx.appcompat.widget.Toolbar>
</it.integry.integrywmsnative.ui.ElevatedToolbar>
<androidx.core.widget.NestedScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="8dp"
android:focusableInTouchMode="true"
tools:context=".gest.contenuto_bancale.ContenutoBancaleActivity">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/picking_libero_main_list" android:id="@+id/picking_libero_main_list"
@ -82,12 +32,6 @@
</androidx.recyclerview.widget.RecyclerView> </androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout