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 bab4b01c..54ab7855 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 @@ -57,6 +57,7 @@ public class MtbColt extends EntityBase { private String codJcom; private List mtbCols; + private MtbTCol mtbTCol; private Boolean disablePrint; private String ragSocCliente; @@ -83,7 +84,6 @@ public class MtbColt extends EntityBase { } - private ObservableArrayList mtbColr = new ObservableArrayList<>(); public ObservableArrayList getMtbColr() { @@ -95,12 +95,12 @@ public class MtbColt extends EntityBase { return this; } - public MtbColt(){ + public MtbColt() { type = "mtb_colt"; setDataCollo(UtilityDate.getDateInstance()); setSerCollo("/"); - if(SettingsManager.i().isUserLoggedIn()) { + if (SettingsManager.i().isUserLoggedIn()) { setPreparatoDa(SettingsManager.i().getUser().getFullname()); } } @@ -137,11 +137,11 @@ public class MtbColt extends EntityBase { Date dataColloD = null; try { dataColloD = getDataColloD(); - } catch (Exception ex){ + } catch (Exception ex) { UtilityLogger.errorMe(ex); } - if(dataColloD != null){ + if (dataColloD != null) { return UtilityDate.formatDate(dataColloD, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN_LONG); } else return null; } @@ -392,7 +392,7 @@ public class MtbColt extends EntityBase { public String getTimeVers() { Date dataColloD = getDataVersD(); - if(dataColloD != null){ + if (dataColloD != null) { return UtilityDate.formatDate(dataColloD, UtilityDate.COMMONS_DATE_FORMATS.TIME); } else return null; } @@ -526,6 +526,15 @@ public class MtbColt extends EntityBase { return this; } + public MtbTCol getMtbTCol() { + return mtbTCol; + } + + public MtbColt setMtbTCol(MtbTCol mtbTCol) { + this.mtbTCol = mtbTCol; + return this; + } + public void generaFiltroOrdineFromDTO(List filtroOrdineDtos) { String xmlPrefix = "{\"whereCond\": \""; @@ -533,9 +542,9 @@ public class MtbColt extends EntityBase { StringBuilder whereCond = new StringBuilder(); - if(filtroOrdineDtos != null && filtroOrdineDtos.size() > 0) { + if (filtroOrdineDtos != null && filtroOrdineDtos.size() > 0) { - for(int i = 0; i < filtroOrdineDtos.size(); i++){ + for (int i = 0; i < filtroOrdineDtos.size(); i++) { FiltroOrdineDTO x = filtroOrdineDtos.get(i); try { @@ -545,13 +554,13 @@ public class MtbColt extends EntityBase { UtilityDB.valueToString(UtilityDate.formatDate(x.getDataOrdD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)), UtilityDB.valueToString(x.getNumOrd()))); - if(!UtilityString.isNullOrEmpty(x.getDataConsS())) { + if (!UtilityString.isNullOrEmpty(x.getDataConsS())) { whereCond.append(String.format(" AND dr.dc = %s", UtilityDB.valueToString(UtilityDate.formatDate(x.getDataConsD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH)))); } whereCond.append(")"); - if(i < filtroOrdineDtos.size()-1) { + if (i < filtroOrdineDtos.size() - 1) { whereCond.append(" OR "); } } catch (Exception e) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java index 851d4979..d4bc5649 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/AccettazionePickingViewModel.java @@ -378,6 +378,7 @@ public class AccettazionePickingViewModel { if (tCol != null) { mtbColt.setCodTcol(tCol.getCodTcol()); + mtbColt.setMtbTCol(tCol); } if (customNumCollo != null) { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java index 1b762068..d52ac0a8 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_resi/PickingResiViewModel.java @@ -169,6 +169,8 @@ public class PickingResiViewModel { } if (tCol != null) { this.mCurrentMtbColt.setCodTcol(tCol.getCodTcol()); + this.mCurrentMtbColt.setMtbTCol(tCol); + } this.mColliMagazzinoRESTConsumer.updateDataFine(mCurrentMtbColt, () -> { diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java index fa959fbc..54514c3e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentView.java @@ -79,7 +79,7 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie public void onPropertyChanged(Observable sender, int propertyId) { var mtbColt = mViewModel.getObservableMtbColt().get(); - if(mtbColt != null) { + if (mtbColt != null) { initAdapter(); onMtbColrItemChanged(); @@ -101,6 +101,7 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie List mtbColrs = mViewModel.getObservableMtbColt().get().getMtbColr(); mBinding.textviewArtCounter.setText(String.valueOf(mtbColrs.size())); mBinding.textviewArtDescription.setText(mContext.getResources().getQuantityString(R.plurals.articles, mtbColrs.size())); + mViewModel.calcPesi(); } public BottomSheetFragmentLUContentView setListener(Listener listener) { @@ -131,12 +132,12 @@ public class BottomSheetFragmentLUContentView extends BottomSheetFragmentBaseVie @Override public void onMtbColrEdit(MtbColr mtbColr) { - if(mListener != null) this.mListener.onMtbColrEdit(mtbColr); + if (mListener != null) this.mListener.onMtbColrEdit(mtbColr); } @Override public void onMtbColrDelete(MtbColr mtbColr) { - if(mListener != null) this.mListener.onMtbColrDelete(mtbColr); + if (mListener != null) this.mListener.onMtbColrDelete(mtbColr); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentViewModel.java index 9a99aa4c..9996722b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/bottom_sheet__lu_content/BottomSheetFragmentLUContentViewModel.java @@ -2,16 +2,24 @@ package it.integry.integrywmsnative.view.bottom_sheet__lu_content; import androidx.databinding.ObservableField; +import java.math.BigDecimal; +import java.math.RoundingMode; + +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.MtbTCol; public class BottomSheetFragmentLUContentViewModel { public ObservableField mtbColt = new ObservableField<>(); + public ObservableField pesoKg = new ObservableField<>(); + public ObservableField pesoNettoKg = new ObservableField<>(); private Listener mListener; private MtbColrListener mMtbColrListener; public void closeCurrentLU() { - if(this.mListener != null) this.mListener.onBottomSheetLUClose(); + if (this.mListener != null) this.mListener.onBottomSheetLUClose(); } public BottomSheetFragmentLUContentViewModel setMtbColt(MtbColt mtbColt) { @@ -33,6 +41,26 @@ public class BottomSheetFragmentLUContentViewModel { return this; } + public void calcPesi() { + MtbColt collo = this.mtbColt.get(); + if (collo != null) { + MtbTCol tipoPedana = collo.getMtbTCol(); + BigDecimal taraPedana = tipoPedana != null ? tipoPedana.getTaraKg() : BigDecimal.ZERO; + BigDecimal pesoNetto = BigDecimal.ZERO; + for (MtbColr mtbColr : collo.getMtbColr()) { + MtbAart articolo = mtbColr.getMtbAart(); + if (articolo != null) { + BigDecimal pesoRiga = articolo.isFlagQtaCnfFissaBoolean() ? mtbColr.getNumCnf().multiply(articolo.getPesoKg()) : mtbColr.getQtaCol(); + BigDecimal pesoTara = articolo.getTaraKg().multiply(mtbColr.getNumCnf()); + pesoRiga = pesoRiga.add(pesoTara); + pesoNetto = pesoNetto.add(pesoRiga); + } + } + this.pesoNettoKg.set(pesoNetto.setScale(2, RoundingMode.CEILING).toString()); + this.pesoKg.set(pesoNetto.add(taraPedana).setScale(2, RoundingMode.CEILING).toString()); + } + } + public interface Listener { void onBottomSheetLUClose(); } diff --git a/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml b/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml index 18452107..3b26ec5e 100644 --- a/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml +++ b/app/src/main/res/layout/bottom_sheet_fragment__lu_content.xml @@ -7,6 +7,11 @@ + + + + + @@ -262,7 +267,8 @@ + android:layout_height="wrap_content" + android:visibility="@{UtilityString.isNullOrEmpty(viewModel.mtbColt.posizione) ? View.GONE : View.VISIBLE}"> + android:layout_height="wrap_content" + android:visibility="@{UtilityString.isNullOrEmpty(viewModel.mtbColt.ragSocCliente) ? View.GONE : View.VISIBLE}" + + > + android:layout_height="wrap_content" + android:visibility="@{UtilityString.isNullOrEmpty(viewModel.pesoNettoKg) ? View.GONE : View.VISIBLE}"> + android:layout_height="wrap_content" + android:visibility="@{UtilityString.isNullOrEmpty(viewModel.pesoKg)? View.GONE : View.VISIBLE}">