From 15d3b1858a5dd31eedb5d559ed0842abfdb8a463 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 20 Jul 2021 18:30:57 +0200 Subject: [PATCH] Migliorie a Rientro Merce --- .../integrywmsnative/core/di/Converters.java | 22 + .../integrywmsnative/core/model/MtbColt.java | 12 + .../ProdRientroMerceOrderDetailFragment.java | 33 + .../ProdRientroMerceOrderDetailViewModel.java | 6 +- .../ProdRientroMerceOrderListFragment.java | 2 +- .../input_lu_prod/DialogInputLUProdView.java | 4 + .../DialogInputLUProdViewModel.java | 8 +- app/src/main/res/drawable/ic_pallet_96px.png | Bin 0 -> 1981 bytes .../main/res/drawable/ic_weight_kg_96px.png | Bin 0 -> 2174 bytes .../layout-land-hdpi/dialog_input_lu_prod.xml | 568 +++++++++--------- .../main/res/layout/dialog_input_lu_prod.xml | 2 +- ...agment_prod_rientro_merce_order_detail.xml | 525 +++++++++++----- ...erce_order_detail__mtb_colt_item_model.xml | 102 +++- 13 files changed, 803 insertions(+), 481 deletions(-) create mode 100644 app/src/main/res/drawable/ic_pallet_96px.png create mode 100644 app/src/main/res/drawable/ic_weight_kg_96px.png diff --git a/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java b/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java index 35154d16..089702ba 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java @@ -150,6 +150,28 @@ public class Converters { } } + @BindingAdapter("binding") + public static void bindEditText(AutoCompleteTextView view, final ObservableField observableString) { + Pair, TextWatcherAdapter> pair = (Pair) view.getTag(R.id.bound_observable); + if (pair == null || pair.first != observableString) { + if (pair != null) { + view.removeTextChangedListener(pair.second); + } + TextWatcherAdapter watcher = new TextWatcherAdapter() { + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + observableString.set(s.toString()); + } + }; + view.setTag(R.id.bound_observable, new Pair<>(observableString, watcher)); + view.addTextChangedListener(watcher); + } + String newValue = observableString.get(); + if (!view.getText().toString().equals(newValue)) { + view.setText(newValue, false); + } + } + @BindingAdapter("binding") public static void bindTextInputEditText(TextInputEditText view, final BindableString bindableString) { Pair pair = (Pair) view.getTag(R.id.bound_observable); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java index c5d04b8d..84ec9cb1 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/MtbColt.java @@ -385,6 +385,18 @@ public class MtbColt extends EntityBase { return dataVers; } + public Date getDataVersD() { + return UtilityDate.recognizeDateWithExceptionHandler(getDataVers()); + } + + public String getTimeVers() { + Date dataColloD = getDataVersD(); + + if(dataColloD != null){ + return UtilityDate.formatDate(dataColloD, UtilityDate.COMMONS_DATE_FORMATS.TIME); + } else return null; + } + public MtbColt setDataVers(String dataVers) { this.dataVers = dataVers; diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java index 2d89aaf2..916af520 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java @@ -9,12 +9,15 @@ import android.view.ViewGroup; import androidx.core.content.ContextCompat; import androidx.databinding.DataBindingUtil; import androidx.databinding.ObservableArrayList; +import androidx.databinding.ObservableField; import androidx.fragment.app.Fragment; import androidx.lifecycle.MutableLiveData; import androidx.recyclerview.widget.LinearLayoutManager; +import com.annimon.stream.Stream; import com.google.gson.reflect.TypeToken; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -22,6 +25,7 @@ import javax.inject.Inject; import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.expansion.AtomicBigDecimal; import it.integry.integrywmsnative.core.expansion.BaseFragment; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.DtbOrdSteps; @@ -60,6 +64,12 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements private RunnableArgs onMtbColtClicked; + + public ObservableField sumLUNumber = new ObservableField<>(BigDecimal.ZERO); + public ObservableField sumColliNumber = new ObservableField<>(BigDecimal.ZERO); + public ObservableField sumNetKG = new ObservableField<>(BigDecimal.ZERO); + public ObservableField sumGrossKG = new ObservableField<>(BigDecimal.ZERO); + public ProdRientroMerceOrderDetailFragment() { // Required empty public constructor } @@ -124,6 +134,29 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements } private void refreshList(List mtbColts) { + if(mtbColts != null) { + sumLUNumber.set(new BigDecimal(mtbColts.size())); + + AtomicBigDecimal sumColli = new AtomicBigDecimal(BigDecimal.ZERO); + AtomicBigDecimal sumNet = new AtomicBigDecimal(BigDecimal.ZERO); + AtomicBigDecimal sumGross = new AtomicBigDecimal(BigDecimal.ZERO); + + Stream.of(mtbColts) + .forEach(x -> Stream.of(x.getMtbColr()).forEach(y -> { + sumColli.getAndAdd(y.getNumCnf()); + sumNet.getAndAdd(y.getPesoNettoKg()); + sumGross.getAndAdd(y.getPesoLordoKg()); + })); + sumColliNumber.set(sumColli.get()); + sumGrossKG.set(sumGross.get()); + sumNetKG.set(sumNet.get()); + } else { + sumLUNumber.set(BigDecimal.ZERO); + sumColliNumber.set(BigDecimal.ZERO); + sumGrossKG.set(BigDecimal.ZERO); + sumNetKG.set(BigDecimal.ZERO); + } + mAdapter.updateDataset(mtbColts); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java index a7873262..bbadeb59 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailViewModel.java @@ -46,7 +46,9 @@ public class ProdRientroMerceOrderDetailViewModel { this.mProdRientroMerceOrderDetailRESTConsumer.getMtbColtsOfOrder(currentOrder, mtbColts -> { for (MtbColt mtbColt : mtbColts) { - mtbColt.getMtbColr().get(0).setDescrizione(currentOrder.getDescrizioneProd()); + mtbColt.getMtbColr().get(0) + .setDescrizione(currentOrder.getDescrizioneProd()) + .setUntMis(currentOrder.getUntOrd()); } this.mtbColtsOfOrder.postValue(mtbColts); @@ -66,7 +68,7 @@ public class ProdRientroMerceOrderDetailViewModel { .setQtaCnf(pickedQuantityDTO.getPesoCollo()) .setQtaCol(pickedQuantityDTO.getPesoNetto()) .setCodJcom(currentOrder.getCodJcom()) - .setCodJfas(pickedQuantityDTO.getJtbFasi().getCodJfas()) + .setCodJfas(pickedQuantityDTO.getJtbFasi() != null ? pickedQuantityDTO.getJtbFasi().getCodJfas() : null) .setCodMart(currentOrder.getCodProd()) .setCodTcol(pickedQuantityDTO.getMtbTCol().getCodTcol()) .setDataCollo(new Date()) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java index 24ea5663..1c81cd5b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_list/ProdRientroMerceOrderListFragment.java @@ -106,7 +106,7 @@ public class ProdRientroMerceOrderListFragment extends Fragment { ComparatorCompat comparator = ComparatorCompat .comparing(OrdineLavorazioneDTO::getCodJfas) - .thenComparing(ComparatorCompat.comparing(ordineLavorazioneDTO -> ordineLavorazioneDTO.getDataInizProd() != null ? ordineLavorazioneDTO.getDataInizProd() : "zzzzzzzz")) + .thenComparing(ComparatorCompat.comparing(ordineLavorazioneDTO -> ordineLavorazioneDTO.getDataOrd() != null ? ordineLavorazioneDTO.getDataOrd() : "zzzzzzzz")).reversed() .thenComparing(ComparatorCompat.comparing(OrdineLavorazioneDTO::getNumOrd)); if(dataList == null) return new ArrayList<>(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java index 34475764..9b6c620b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdView.java @@ -9,6 +9,7 @@ import android.text.SpannableString; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.WindowManager; import android.widget.AdapterView; import androidx.annotation.NonNull; @@ -104,6 +105,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NORMAL, R.style.AppTheme_NewMaterial_Dialog_FullscreenDialog); + } @@ -131,6 +133,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); getDialog().setCanceledOnTouchOutside(false); + getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); return mBindings.getRoot(); } @@ -333,6 +336,7 @@ public class DialogInputLUProdView extends BaseDialogFragment implements DialogI this.mViewModel.getLineeProd().observe(getViewLifecycleOwner(), lineeProd -> { this.enabledLineeProd.set(lineeProd != null && lineeProd.size() > 0); + this.mViewModel.setLineeProdRequired(lineeProd != null && lineeProd.size() > 0); lineeProdArrayAdapter = new DialogInputLULineeProdAdapter(getActivity(), R.layout.array_adapter_single_item, lineeProd); mBindings.filledExposedDropdownCodJfas.setAdapter(lineeProdArrayAdapter); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java index beb11faf..92c6a88a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_lu_prod/DialogInputLUProdViewModel.java @@ -46,6 +46,7 @@ public class DialogInputLUProdViewModel { private MtbTCol internalTipoPed; private JtbFasi internalLineaProd; + private boolean isLineeProdRequired; private Listener mListener; @@ -218,6 +219,11 @@ public class DialogInputLUProdViewModel { return UtilityBigDecimal.multiply(this.internalNumCnf, this.internalPesoCollo.add(internalTaraCol)).add(taraPed); } + public DialogInputLUProdViewModel setLineeProdRequired(boolean lineeProdRequired) { + isLineeProdRequired = lineeProdRequired; + return this; + } + public boolean validate() { if (this.internalNumCnf == null || UtilityBigDecimal.equalsOrLowerThan(this.internalNumCnf, BigDecimal.ZERO)) { this.mListener.onError(new InvalidNumCnfQuantityException()); @@ -225,7 +231,7 @@ public class DialogInputLUProdViewModel { } else if (this.internalPesoLordo == null || UtilityBigDecimal.equalsOrLowerThan(this.internalPesoLordo, BigDecimal.ZERO)) { this.mListener.onError(new InvalidGrossWeightQuantityException()); return false; - } else if(this.internalLineaProd == null) { + } else if(this.internalLineaProd == null && isLineeProdRequired) { this.mListener.onError(new InvalidProductionLineException()); return false; } diff --git a/app/src/main/res/drawable/ic_pallet_96px.png b/app/src/main/res/drawable/ic_pallet_96px.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8f8c9b1b7d5fc89b35c301b170faad5bd4aea7 GIT binary patch literal 1981 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 A-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml b/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml index 776865bc..c02e5843 100644 --- a/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml +++ b/app/src/main/res/layout-land-hdpi/dialog_input_lu_prod.xml @@ -4,7 +4,8 @@ xmlns:tools="http://schemas.android.com/tools"> - + + @@ -37,8 +38,8 @@ + android:background="@color/full_white" + android:orientation="vertical"> + android:scaleType="fitCenter" + android:src="@drawable/ic_erase_96" + android:tint="@android:color/white" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content"> + android:orientation="vertical"> - + android:ellipsize="end" + android:text="@{viewmodel.mtbAart.codMart}" + android:textColor="@color/colorPrimary" + tools:text="COD MART (Partita mag)" /> - - + android:layout_marginTop="4dp" + android:singleLine="false" + android:text="@{viewmodel.mtbAart.descrizioneEstesa}" + tools:text="RAD 25 D H/L 200 - 10 EL B BIANCO" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/app/src/main/res/layout/dialog_input_lu_prod.xml b/app/src/main/res/layout/dialog_input_lu_prod.xml index 05f57e04..a3cdb519 100644 --- a/app/src/main/res/layout/dialog_input_lu_prod.xml +++ b/app/src/main/res/layout/dialog_input_lu_prod.xml @@ -165,8 +165,8 @@ android:layout_height="wrap_content" android:hint="@string/pcks_x_ped" android:enabled="@{view.enabledNumCnf}" - android:imeOptions="actionDone" android:inputType="number" + android:nextFocusForward="@id/input_peso_lordo_text" app:binding="@{view.currentNumCnf}" /> diff --git a/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml b/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml index a943162b..9e59b93a 100644 --- a/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml +++ b/app/src/main/res/layout/fragment_prod_rientro_merce_order_detail.xml @@ -9,6 +9,7 @@ + @@ -183,221 +184,421 @@ - - - + + android:orientation="horizontal" + android:layout_alignParentStart="true" + android:layout_toStartOf="@id/totale_bancali_layout" + android:visibility="@{view.currentOrder.codAnag != null ? View.VISIBLE : View.GONE}"> + + - + android:layout_gravity="center_vertical" + android:orientation="vertical"> + android:text="Provenienza" + android:textAllCaps="true" + android:textAppearance="@style/AppTheme.NewMaterial.Text.ExtraSmall" + android:textStyle="bold" /> + + + + + + + + + + + + + + + + + android:text="Totale bancali" + android:textAllCaps="true" + android:textAppearance="@style/AppTheme.NewMaterial.Text.ExtraSmall" + android:textStyle="bold" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:text="Cliente" + android:textAllCaps="true" + android:textAppearance="@style/AppTheme.NewMaterial.Text.ExtraSmall" + android:textStyle="bold" /> + tools:text="GRUNDHOFER GBMH" /> + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_alignParentEnd="true" + android:layout_toEndOf="@id/cliente_layout" + android:gravity="end" + android:orientation="horizontal"> + android:layout_gravity="center_vertical" + android:gravity="end" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - - - - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + android:paddingBottom="12dp"> + android:orientation="horizontal" + app:layout_constraintTop_toTopOf="parent"> - + + + android:paddingBottom="2dp" + android:text="@{mtbColt.mtbColr.get(0).numCnf.intValue() + ` col`}" + android:textStyle="bold" + tools:text="45 col" /> - + - + android:orientation="horizontal"> + + + + + + @@ -100,14 +136,14 @@ android:layout_height="wrap_content"> + android:visibility="@{UtilityString.isNullOrEmpty(mtbColt.codJfas) ? View.INVISIBLE : View.VISIBLE}" + tools:text="Linea: L3" />