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 0a4d37f9..ef9ad593 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 @@ -1,5 +1,6 @@ package it.integry.integrywmsnative.gest.accettazione_picking; +import androidx.annotation.NonNull; import androidx.databinding.ObservableArrayList; import androidx.lifecycle.MutableLiveData; @@ -50,6 +51,7 @@ import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO; import it.integry.integrywmsnative.gest.accettazione.dto.SitArtOrdDTO; +import it.integry.integrywmsnative.gest.accettazione_picking.dto.HistoryMtbAartDTO; import it.integry.integrywmsnative.gest.accettazione_picking.dto.PickingObjectDTO; import it.integry.integrywmsnative.gest.accettazione_picking.rest.AccettazionePickingRESTConsumer; import it.integry.integrywmsnative.gest.spedizione.exceptions.InvalidPesoKGException; @@ -69,12 +71,14 @@ public class AccettazionePickingViewModel { private List mOrders; private List mSitArts; - private MutableLiveData> mPickingList = new MutableLiveData<>(); + private final MutableLiveData> mPickingList = new MutableLiveData<>(); private MtbColt mCurrentMtbColt = null; private GestioneEnum defaultGestioneOfUL = null; private String mDefaultCodMdep = null; + private final List mHistoryUsedAarts = new ArrayList<>(); + @Inject public AccettazionePickingViewModel(ArticoloRESTConsumer articoloRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer, @@ -421,7 +425,7 @@ public class AccettazionePickingViewModel { public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO) { - if(this.mCurrentMtbColt == null) return; + if (this.mCurrentMtbColt == null) return; BigDecimal totalQtaOrd = pickingObjectDTO.getSitArtOrdDTO().getQtaOrd(); BigDecimal totalNumCnfOrd = pickingObjectDTO.getSitArtOrdDTO().getNumCnfOrd(); @@ -510,12 +514,12 @@ public class AccettazionePickingViewModel { initialQtaTot = totalQtaOrd; } - if(UtilityBigDecimal.greaterThan(initialNumCnf, pickingObjectDTO.getMtbAart().getColliPedana())) { + if (UtilityBigDecimal.greaterThan(pickingObjectDTO.getMtbAart().getColliPedana(), BigDecimal.ZERO) && UtilityBigDecimal.greaterThan(initialNumCnf, pickingObjectDTO.getMtbAart().getColliPedana())) { initialNumCnf = pickingObjectDTO.getMtbAart().getColliPedana(); initialQtaTot = initialNumCnf.multiply(initialQtaCnf); } - if(dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) { + if (dataScad == null && pickingObjectDTO.getMtbAart().getGgScadPartita() != null && pickingObjectDTO.getMtbAart().getGgScadPartita() > 0) { dataScad = UtilityDate.getDateInstance(); Calendar c = new GregorianCalendar(); c.setTime(dataScad); @@ -523,6 +527,15 @@ public class AccettazionePickingViewModel { dataScad = c.getTime(); } + if(partitaMag == null && dataScad == null) { + HistoryMtbAartDTO historyMtbAartDTO = this.getHistoryItemIfExists(pickingObjectDTO.getMtbAart().getCodMart()); + + if(historyMtbAartDTO != null) { + partitaMag = historyMtbAartDTO.getPartitaMag(); + dataScad = historyMtbAartDTO.getDataScad(); + } + } + this.sendOnItemDispatched( pickingObjectDTO, pickingObjectDTO.getMtbAart(), @@ -573,6 +586,8 @@ public class AccettazionePickingViewModel { .setRigaOrd(pickingObjectDTO.getSitArtOrdDTO().getRigaOrd()); + this.addHistoryItem(mtbColr); + mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone(); @@ -668,6 +683,8 @@ public class AccettazionePickingViewModel { mtbColt.getMtbColr().add(mtbColr); + this.addHistoryItem(mtbColr); + this.mColliMagazzinoRESTConsumer.saveCollo(mtbColt, (value) -> { mtbColr.setNumCnf(numCnf) @@ -678,7 +695,7 @@ public class AccettazionePickingViewModel { .filter(x -> Stream.of(x.getWithdrawMtbColrs()).anyMatch(y -> y == mtbColrToUpdate)) .findSingle(); - if(pickingObjectDTO.isPresent()) { + if (pickingObjectDTO.isPresent()) { pickingObjectDTO.get().getWithdrawMtbColrs().remove(mtbColrToUpdate); pickingObjectDTO.get().getWithdrawMtbColrs().add(mtbColr); } @@ -813,6 +830,30 @@ public class AccettazionePickingViewModel { this.sendFilterRemoved(); } + private void addHistoryItem(@NonNull MtbColr mtbColr) { + Optional optional = Stream.of(this.mHistoryUsedAarts) + .filter(x -> x.getCodMart().equalsIgnoreCase(mtbColr.getCodMart())) + .findFirst(); + + if (optional.isPresent()) { + optional.get() + .setPartitaMag(mtbColr.getPartitaMag()) + .setDataScad(mtbColr.getDataScadPartitaD()); + } else { + this.mHistoryUsedAarts.add(new HistoryMtbAartDTO() + .setCodMart(mtbColr.getCodMart()) + .setPartitaMag(mtbColr.getPartitaMag()) + .setDataScad(mtbColr.getDataScadPartitaD())); + } + } + + private HistoryMtbAartDTO getHistoryItemIfExists(@NonNull String codMart) { + Optional optional = Stream.of(this.mHistoryUsedAarts) + .filter(x -> x.getCodMart().equalsIgnoreCase(codMart)) + .findFirst(); + + return optional.isPresent() ? optional.get() : null; + } private void sendOnLoadingStarted() { if (this.mListener != null) mListener.onLoadingStarted(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/dto/HistoryMtbAartDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/dto/HistoryMtbAartDTO.java new file mode 100644 index 00000000..3c1dc894 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_picking/dto/HistoryMtbAartDTO.java @@ -0,0 +1,37 @@ +package it.integry.integrywmsnative.gest.accettazione_picking.dto; + +import java.util.Date; + +public class HistoryMtbAartDTO { + + private String codMart; + private String partitaMag; + private Date dataScad; + + public String getCodMart() { + return codMart; + } + + public HistoryMtbAartDTO setCodMart(String codMart) { + this.codMart = codMart; + return this; + } + + public String getPartitaMag() { + return partitaMag; + } + + public HistoryMtbAartDTO setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public Date getDataScad() { + return dataScad; + } + + public HistoryMtbAartDTO setDataScad(Date dataScad) { + this.dataScad = dataScad; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java index df44b4fd..3b0ddef0 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/rettifica_giacenze/RettificaGiacenzeViewModel.java @@ -353,7 +353,7 @@ public class RettificaGiacenzeViewModel { this.sendOnRowSaved(); this.sendOnLoadingEnded(); - if (shouldCloseLU) closeLU(false, null); + if (shouldCloseLU) closeLU(true, null); }, this::sendError); } else { mtbColr @@ -383,7 +383,7 @@ public class RettificaGiacenzeViewModel { this.sendOnRowSaved(); this.sendOnLoadingEnded(); - if (shouldCloseLU) closeLU(false, null); + if (shouldCloseLU) closeLU(true, null); }, this::sendError); } } @@ -427,7 +427,7 @@ public class RettificaGiacenzeViewModel { }, this::sendError); }; - if (!UtilityString.isNullOrEmpty(mDefaultCausale) && saveCausale) { + if (!UtilityString.isNullOrEmpty(mDefaultCausale)) { this.saveCausaleRettificaGiacenze(saveAction); } else { saveAction.run(); diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/ArticoliInColloBottomSheetHelper.java b/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/ArticoliInColloBottomSheetHelper.java deleted file mode 100644 index 76ccd233..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/ArticoliInColloBottomSheetHelper.java +++ /dev/null @@ -1,124 +0,0 @@ -package it.integry.integrywmsnative.view.bottomsheet; - -import androidx.annotation.NonNull; -import com.google.android.material.appbar.AppBarLayout; -import com.google.android.material.bottomsheet.BottomSheetBehavior; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; - -import android.view.View; -import android.widget.RelativeLayout; - -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding; - - -public class ArticoliInColloBottomSheetHelper extends BottomSheetBehavior.BottomSheetCallback { - - private AppCompatActivity mActivity; - private FragmentArticoliInColloBottomSheetBinding mBinding; - - private BottomSheetBehavior mBottomSheetBehavior; - - - public ArticoliInColloBottomSheetHelper(AppCompatActivity context, FragmentArticoliInColloBottomSheetBinding binding){ - mActivity = context; - mBinding = binding; - - mBottomSheetBehavior = BottomSheetBehavior.from(mBinding.getRoot()); - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); - mBottomSheetBehavior.setBottomSheetCallback(this); - - mBinding.appbarBottomSheet.setVisibility(View.INVISIBLE); - - mBinding.toolbarBottomSheet.setNavigationIcon(R.drawable.ic_close_24dp); - mBinding.toolbarBottomSheet.setNavigationOnClickListener(view -> { - if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_EXPANDED) { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); - } - }); - - mBinding.tapActionLayout.setOnClickListener(v -> { - if(mBottomSheetBehavior.getState()==BottomSheetBehavior.STATE_COLLAPSED) { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); - } - }); - - - mBinding.articoliInColloCloseCollo.setText(mActivity.getText(R.string.action_close_ul)); - updateRigheNumber(0); - - mBinding.articoliInColloSheetButton.setOnClickListener(view -> { - if (mBottomSheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); - } else { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); - } - }); - - } - - public void initCollo(MtbColt mtbColt){ - - mBinding.articoliInColloTitle.setText(String.format(mActivity.getText(R.string.articoli_in_collo_sheet_title).toString(), mtbColt.getNumCollo())); - mBinding.articoliInColloDetailsDate.setText(mtbColt.getDataColloHumanLong()); - - - mBinding.articoliInColloDetailsPosizione.setText(mtbColt.getPosizione() != null ? mtbColt.getPosizione() : "N/A"); - } - - public void updateRigheNumber(int newRigheNumber){ - mBinding.articoliInColloSheetButton.setText(newRigheNumber + " " + mActivity.getResources().getQuantityString(R.plurals.articles, newRigheNumber)); - } - - - @Override - public void onStateChanged(@NonNull View bottomSheet, int newState) { - switch (newState) { - case BottomSheetBehavior.STATE_HIDDEN: -// mRootView.scrollTo(0, 0); - break; - case BottomSheetBehavior.STATE_EXPANDED: - mBinding.appbarBottomSheet.setClickable(true); - mBinding.appbarBottomSheet.setFocusable(true); - mBinding.tapActionLayout.setClickable(false); - mBinding.tapActionLayout.setFocusable(false); - break; - case BottomSheetBehavior.STATE_COLLAPSED: - mBinding.appbarBottomSheet.setVisibility(View.INVISIBLE); - mBinding.appbarBottomSheet.setClickable(false); - mBinding.appbarBottomSheet.setFocusable(false); - mBinding.tapActionLayout.setClickable(true); - mBinding.tapActionLayout.setFocusable(true); - break; - case BottomSheetBehavior.STATE_DRAGGING: - mBinding.appbarBottomSheet.setVisibility(View.VISIBLE); -// mRootView.scrollTo(0, 0); - break; - case BottomSheetBehavior.STATE_SETTLING: - mBinding.appbarBottomSheet.setVisibility(View.VISIBLE); -// mRootView.scrollTo(0, 0); - break; - } - } - - public boolean isExpanded() { - return mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED; - } - - public void expand() { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); - } - - public void collapse() { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); - } - - @Override - public void onSlide(@NonNull View bottomSheet, float slideOffset) { - mBinding.appbarBottomSheet.setAlpha(slideOffset); - mBinding.tapActionLayout.setAlpha(1-slideOffset); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/interfaces/IOnColloClosedCallback.java b/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/interfaces/IOnColloClosedCallback.java deleted file mode 100644 index 88dcaf96..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/interfaces/IOnColloClosedCallback.java +++ /dev/null @@ -1,7 +0,0 @@ -package it.integry.integrywmsnative.view.bottomsheet.interfaces; - -public interface IOnColloClosedCallback { - - void onColloClosed(Runnable onComplete, boolean shouldPrint); - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/interfaces/IOnSimpleListChangedCallback.java b/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/interfaces/IOnSimpleListChangedCallback.java deleted file mode 100644 index 86e499cb..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/interfaces/IOnSimpleListChangedCallback.java +++ /dev/null @@ -1,7 +0,0 @@ -package it.integry.integrywmsnative.view.bottomsheet.interfaces; - -public interface IOnSimpleListChangedCallback { - - void onChange(); - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/view/ArticoliInColloBottomSheetMtbColrAdapter.java b/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/view/ArticoliInColloBottomSheetMtbColrAdapter.java deleted file mode 100644 index 60a6e535..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/view/ArticoliInColloBottomSheetMtbColrAdapter.java +++ /dev/null @@ -1,94 +0,0 @@ -package it.integry.integrywmsnative.view.bottomsheet.view; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; - -import androidx.databinding.DataBindingUtil; -import androidx.databinding.ObservableField; -import androidx.databinding.ObservableList; - -import java.lang.ref.WeakReference; - -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.expansion.WeakReferenceOnListChangedCallback; -import it.integry.integrywmsnative.core.model.MtbColr; -import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.settings.SettingsManager; -import it.integry.integrywmsnative.core.utility.UtilityNumber; -import it.integry.integrywmsnative.core.utility.UtilityResources; -import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetMtbcolrItemBinding; - -public class ArticoliInColloBottomSheetMtbColrAdapter extends BaseAdapter { - - - private final WeakReferenceOnListChangedCallback onListChangedCallback; - private Context mContext; - private ObservableField mtbColt; - - - public ArticoliInColloBottomSheetMtbColrAdapter(Context context, ObservableField mtbColt) { - super(); - this.mContext = context; - this.mtbColt = mtbColt; - this.onListChangedCallback = new WeakReferenceOnListChangedCallback(this); - - this.mtbColt.get().getMtbColr().addOnListChangedCallback(onListChangedCallback); - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - - LayoutInflater inflater = LayoutInflater.from(parent.getContext()); - - FragmentArticoliInColloBottomSheetMtbcolrItemBinding binding = DataBindingUtil.inflate(inflater, R.layout.fragment_articoli_in_collo_bottom_sheet__mtbcolr_item, parent, false); - - final MtbColr mtbColr = mtbColt.get().getMtbColr().get(position); - binding.setMtbColr(mtbColr); - - //Setting qty with unt_mis - if(!SettingsManager.iDB().isFlagForceAllToColli() && (mtbColr.getMtbAart() == null || mtbColr.getMtbAart().isFlagQtaCnfFissaBoolean())){ - String text = UtilityNumber.decimalToString(mtbColr.getQtaCol()); - - - if(mtbColr.getMtbAart() != null) { - text += !UtilityString.isNullOrEmpty(mtbColr.getMtbAart().getUntMis()) ? "\n" + mtbColr.getMtbAart().getUntMis() : ""; - } - - binding.qtaTextview.setText(text); - } else { - binding.qtaTextview.setText(UtilityNumber.decimalToString(mtbColr.getNumCnf()) + "\n" + UtilityResources.getString(R.string.unt_mis_col)); - } - - - binding.executePendingBindings(); - - if(position % 2 == 1) binding.getRoot().setBackgroundColor(mContext.getResources().getColor(R.color.letturaFacilitataBG)); - - return binding.getRoot(); - } - - @Override - public long getItemId(int position) { - return position; - } - - @Override - public Object getItem(int position) { - return position; - } - - @Override - public int getCount() { - if(mtbColt.get() != null && mtbColt.get().getMtbColr() != null) { - - return mtbColt.get().getMtbColr().size(); - } else return 0; - } - - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/viewmodel/ArticoliInColloBottomSheetViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/viewmodel/ArticoliInColloBottomSheetViewModel.java deleted file mode 100644 index 01fa2f5f..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/viewmodel/ArticoliInColloBottomSheetViewModel.java +++ /dev/null @@ -1,247 +0,0 @@ -package it.integry.integrywmsnative.view.bottomsheet.viewmodel; - -import android.app.Dialog; -import android.content.Context; - -import androidx.databinding.Observable; -import androidx.databinding.ObservableArrayList; -import androidx.databinding.ObservableField; -import androidx.annotation.NonNull; -import com.google.android.material.bottomsheet.BottomSheetBehavior; - -import androidx.appcompat.app.AppCompatActivity; -import android.text.SpannableString; -import android.view.View; - -import java.math.BigDecimal; - -import it.integry.integrywmsnative.R; -import it.integry.integrywmsnative.core.model.CommonModelConsts; -import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; -import it.integry.integrywmsnative.core.expansion.RunnableArgs; -import it.integry.integrywmsnative.core.expansion.RunnableArgss; -import it.integry.integrywmsnative.core.model.MtbColr; -import it.integry.integrywmsnative.core.model.MtbColt; -import it.integry.integrywmsnative.core.utility.UtilityExceptions; -import it.integry.integrywmsnative.core.utility.UtilityNumber; -import it.integry.integrywmsnative.core.utility.UtilityProgress; -import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.databinding.FragmentArticoliInColloBottomSheetBinding; -import it.integry.integrywmsnative.view.bottomsheet.ArticoliInColloBottomSheetHelper; -import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnColloClosedCallback; -import it.integry.integrywmsnative.view.bottomsheet.view.ArticoliInColloBottomSheetMtbColrAdapter; -import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; -import it.integry.integrywmsnative.view.dialogs.input_quantity.DialogInputQuantity; - -public class ArticoliInColloBottomSheetViewModel { - - public ObservableField mtbColt = new ObservableField<>(); - - private Context mContext; - private ArticoliInColloBottomSheetHelper mArticoliInColloBottomSheetHelper; - - private IOnColloClosedCallback onCloseColloCallback; - - - private FragmentArticoliInColloBottomSheetBinding mBindings; - - private BottomSheetBehavior mBottomSheetBehavior; - - private RunnableArgs mOnItemDeletedCallback; - private RunnableArgss mOnItemEditedCallback; - - - public ArticoliInColloBottomSheetViewModel(AppCompatActivity context, final FragmentArticoliInColloBottomSheetBinding bindings){ - mContext = context; - mBindings = bindings; - mArticoliInColloBottomSheetHelper = new ArticoliInColloBottomSheetHelper(context, mBindings); - - mBindings.setViewModel(this); - - mtbColt.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() { - @Override - public void onPropertyChanged(Observable sender, int propertyId) { - - if(mtbColt.get() != null) { - - mBindings.linearListview.setAdapter(new ArticoliInColloBottomSheetMtbColrAdapter(mContext, mtbColt)); - - mBindings.linearListview.setOnItemClickListener((parent, view, position, id) -> { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); - - onItemClicked.run(position); - }); - - mArticoliInColloBottomSheetHelper.updateRigheNumber(mtbColt.get().getMtbColr().size()); - mArticoliInColloBottomSheetHelper.initCollo(mtbColt.get()); - - mtbColt.get().getMtbColr().addOnListChangedCallback(new SimpleListChangedCallback(() -> { - mArticoliInColloBottomSheetHelper.updateRigheNumber(mtbColt.get().getMtbColr().size()); - })); - } - } - }); - - initBottomSheetActions(); - } - - public void setOnItemEditedCallback(RunnableArgss onItemEditedCallback) { - this.mOnItemEditedCallback = onItemEditedCallback; - } - - public void setOnItemDeletedCallback(RunnableArgs onItemDeletedCallback) { - this.mOnItemDeletedCallback = onItemDeletedCallback; - } - - private void initBottomSheetActions() { - mBindings.bg.setOnClickListener(v -> mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED)); - - mBottomSheetBehavior = BottomSheetBehavior.from(mBindings.bottomSheetActions); - - mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { - @Override - public void onStateChanged(@NonNull View bottomSheet, int newState) { - if (newState == BottomSheetBehavior.STATE_COLLAPSED) - mBindings.bg.setVisibility(View.GONE); - } - - @Override - public void onSlide(@NonNull View bottomSheet, float slideOffset) { - mBindings.bg.setVisibility(View.VISIBLE); - mBindings.bg.setAlpha(slideOffset); - } - }); - } - - public void setOnCloseColloCallbackListener(final IOnColloClosedCallback onCloseColloCallback){ - this.onCloseColloCallback = onCloseColloCallback; - } - - - public void closeCurrentUL(){ - closeCurrentUL(null); - } - - public void closeCurrentUL(Runnable onComplete){ - if(onCloseColloCallback != null) onCloseColloCallback.onColloClosed(onComplete, true); - } - - public boolean isExpanded() { - return mArticoliInColloBottomSheetHelper.isExpanded(); - } - - public void expand() { - mArticoliInColloBottomSheetHelper.expand(); - } - - public void collapse() { - mArticoliInColloBottomSheetHelper.collapse(); - } - - - private RunnableArgs onItemClicked = (position) -> { - - MtbColr clickedItem = mtbColt.get().getMtbColr().get(position); - - mBindings.bottomSheetActionsTitle.setText(clickedItem.getDescrizione()); - mBindings.bottomSheetActionsSubtitle.setText(clickedItem.getCodMart()); - - - //Setting qty with unt_mis - if(clickedItem.getMtbAart() != null) { - if (clickedItem.getMtbAart().isFlagQtaCnfFissaBoolean()) { - mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol()) + (!UtilityString.isNullOrEmpty(clickedItem.getMtbAart().getUntMis()) ? ("" + clickedItem.getMtbAart().getUntMis()) : "")); - } else { - mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getNumCnf()) + " " + mContext.getString(R.string.unt_mis_col)); - } - } else { - mBindings.bottomSheetActionsQuantity.setText(UtilityNumber.decimalToString(clickedItem.getQtaCol())); - } - - mBindings.bottomSheetActionsEditBtn.setOnClickListener(v -> onItemEdit(position)); - - mBindings.bottomSheetActionsDeleteBtn.setOnClickListener(v -> onItemDelete(position)); - }; - - private void onItemEdit(int position) { - - MtbColr itemToEdit = mtbColt.get().getMtbColr().get(position); - MtbColr cloneItemToEdit = (MtbColr) itemToEdit.clone(); - - MtbColr originalItem = (MtbColr) itemToEdit.clone(); - - - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); - - DialogInputQuantity.DTO dto = new DialogInputQuantity.DTO() - .setBatchLot(itemToEdit.getPartitaMag()) - .setQtaDaEvadere(null) - .setQtaOrd(null) - .setMtbAart(itemToEdit.getMtbAart()) - .setCanPartitaMagBeChanged(false) - .setQtaTot(itemToEdit.getQtaCol()) - .setMaxQta(itemToEdit.getQtaCol()); - - DialogInputQuantity.makeBase(mContext, dto, false, quantityDTO -> { - - final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext); - - - cloneItemToEdit.setQtaCol(quantityDTO.qtaTot.getBigDecimal()); - cloneItemToEdit.setNumCnf(quantityDTO.numCnf.getBigDecimal()); - - ColliMagazzinoRESTConsumer.updateRigaStatic(cloneItemToEdit, () ->{ - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); - - itemToEdit.setQtaCol(quantityDTO.qtaTot.getBigDecimal()); - itemToEdit.setNumCnf(quantityDTO.numCnf.getBigDecimal()); - - progress.dismiss(); - mtbColt.get().getMtbColr().set(position, itemToEdit); - - if(mOnItemEditedCallback != null) mOnItemEditedCallback.run(originalItem, itemToEdit); - }, - ex -> UtilityExceptions.defaultException(mContext, ex, progress)); - - }, null).show(); - } - - private void onItemDelete(int position) { - - - String text = mContext.getResources().getString(R.string.alert_delete_mtb_colr); - DialogSimpleMessageHelper.makeWarningDialog(mContext, new SpannableString(text), null, () -> { - final Dialog progress = UtilityProgress.createDefaultProgressDialog(mContext); - - MtbColt mtbColtClone = (MtbColt) mtbColt.get().clone(); - mtbColtClone.setMtbColr(new ObservableArrayList<>()); - mtbColtClone.setOperation(CommonModelConsts.OPERATION.NO_OP); - - MtbColr itemToDelete = (MtbColr) mtbColt.get().getMtbColr().get(position).clone(); - itemToDelete.setQtaCol(itemToDelete.getQtaCol().multiply(new BigDecimal(-1))); - itemToDelete.setNumCnf(itemToDelete.getNumCnf().multiply(new BigDecimal(-1))); - itemToDelete.setRiga(null); - itemToDelete.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); - - mtbColtClone.getMtbColr().add(itemToDelete); - - ColliMagazzinoRESTConsumer.saveColloStatic(mtbColtClone, (newMtbColt) -> { - mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); - - MtbColr deletedItem = mtbColt.get().getMtbColr().get(position); - mtbColt.get().getMtbColr().remove(deletedItem); - - progress.dismiss(); - - if(this.mOnItemDeletedCallback != null) this.mOnItemDeletedCallback.run(deletedItem); - }, ex -> UtilityExceptions.defaultException(mContext, ex, progress)); - }, null).show(); - - - - } - - - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/viewmodel/SimpleListChangedCallback.java b/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/viewmodel/SimpleListChangedCallback.java deleted file mode 100644 index 6d741f86..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/view/bottomsheet/viewmodel/SimpleListChangedCallback.java +++ /dev/null @@ -1,40 +0,0 @@ -package it.integry.integrywmsnative.view.bottomsheet.viewmodel; - -import androidx.databinding.ObservableList; - -import it.integry.integrywmsnative.view.bottomsheet.interfaces.IOnSimpleListChangedCallback; - -public class SimpleListChangedCallback extends ObservableList.OnListChangedCallback { - - private IOnSimpleListChangedCallback mOnSimpleListChangedCallback; - - public SimpleListChangedCallback(IOnSimpleListChangedCallback onSimpleListChangedCallback) { - mOnSimpleListChangedCallback = onSimpleListChangedCallback; - } - - @Override - public void onChanged(ObservableList sender) { - mOnSimpleListChangedCallback.onChange(); - } - - @Override - public void onItemRangeChanged(ObservableList sender, int positionStart, int itemCount) { - mOnSimpleListChangedCallback.onChange(); - } - - @Override - public void onItemRangeInserted(ObservableList sender, int positionStart, int itemCount) { - mOnSimpleListChangedCallback.onChange(); - } - - @Override - public void onItemRangeMoved(ObservableList sender, int fromPosition, int toPosition, int itemCount) { - mOnSimpleListChangedCallback.onChange(); - } - - @Override - public void onItemRangeRemoved(ObservableList sender, int positionStart, int itemCount) { - mOnSimpleListChangedCallback.onChange(); - mOnSimpleListChangedCallback.onChange(); - } -} diff --git a/app/src/main/res/layout/fragment_articoli_in_collo_bottom_sheet.xml b/app/src/main/res/layout/fragment_articoli_in_collo_bottom_sheet.xml deleted file mode 100644 index f3e0206b..00000000 --- a/app/src/main/res/layout/fragment_articoli_in_collo_bottom_sheet.xml +++ /dev/null @@ -1,540 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_articoli_in_collo_bottom_sheet__mtbcolr_item.xml b/app/src/main/res/layout/fragment_articoli_in_collo_bottom_sheet__mtbcolr_item.xml deleted file mode 100644 index 5db8f34f..00000000 --- a/app/src/main/res/layout/fragment_articoli_in_collo_bottom_sheet__mtbcolr_item.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml b/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml index d5b7f775..3ab50b4e 100644 --- a/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml +++ b/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml @@ -317,7 +317,7 @@ android:layout_alignParentBottom="true" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" - android:onClick="@{() -> viewmodel.closeLU(false)}" + android:onClick="@{() -> viewmodel.closeLU(true)}" android:tint="@android:color/white" app:visibility="@{view.thereIsAnOpenedUL}" app:srcCompat="@drawable/ic_check_black_24dp" />