diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java index 9f74bc41..a7c7e308 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoFragment.java @@ -16,6 +16,9 @@ import androidx.databinding.DataBindingUtil; import com.tfb.fbtoast.FBToast; +import java.math.BigDecimal; +import java.util.Date; + import javax.inject.Inject; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; @@ -25,9 +28,11 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.expansion.RunnableArgss; 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.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.VtbDest; import it.integry.integrywmsnative.core.settings.SettingsManager; @@ -37,9 +42,13 @@ import it.integry.integrywmsnative.core.utility.UtilityToast; import it.integry.integrywmsnative.databinding.FragmentPickingLiberoBinding; import it.integry.integrywmsnative.gest.picking_libero.viewmodel.PickingLiberoViewModel; import it.integry.integrywmsnative.gest.spedizione_new.exceptions.InvalidPesoKGException; +import it.integry.integrywmsnative.gest.spedizione_new.model.PickedQuantityDTO; +import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO; import it.integry.integrywmsnative.ui.ElevatedToolbar; import it.integry.integrywmsnative.view.dialogs.DialogConsts; import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskCliente; +import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2; +import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2DTO; /** * A simple {@link Fragment} subclass. @@ -243,4 +252,53 @@ public class PickingLiberoFragment extends Fragment implements ITitledFragment, } }).show(); } + + @Override + public void onItemDispatched( + PickingObjectDTO pickingObjectDTO, + MtbAart mtbAart, + BigDecimal initialNumCnf, + BigDecimal initialQtaCnf, + BigDecimal initialQtaTot, + BigDecimal totalQtaToBeTaken, + BigDecimal totalNumCnfToBeTaken, + BigDecimal qtaCnfToBeTaken, + String partitaMag, + Date dataScad, + boolean canOverflowOrderQuantity, + RunnableArgss onComplete) { + + DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() + .setMtbAart(mtbAart) + .setInitialNumCnf(initialNumCnf) + .setInitialQtaCnf(initialQtaCnf) + .setInitialQtaTot(initialQtaTot) + .setTotalQtaToBeTaken(totalQtaToBeTaken) + .setTotalNumCnfToBeTaken(totalNumCnfToBeTaken) + .setQtaCnfToBeTaken(qtaCnfToBeTaken) + .setPartitaMag(partitaMag) + .setDataScad(dataScad) + .setCanOverflowOrderQuantity(canOverflowOrderQuantity); + + DialogInputQuantityV2 + .newInstance(dialogInputQuantityV2DTO, (resultDTO, shouldCloseLU) -> { + PickedQuantityDTO pickedQuantityDTO = new PickedQuantityDTO() + .setNumCnf(resultDTO.getNumCnf()) + .setQtaCnf(resultDTO.getQtaCnf()) + .setQtaTot(resultDTO.getQtaTot()) + .setPartitaMag(resultDTO.getPartitaMag()) + .setDataScad(resultDTO.getDataScad()); + + this.openProgress(); + onComplete.run(pickedQuantityDTO, shouldCloseLU); + }, () -> { + this.closeProgress(); + }) + .show(getActivity().getSupportFragmentManager(), "tag"); + } + + @Override + public void onRowSaved() { + FBToast.successToast(getActivity(), getResources().getString(R.string.data_saved), FBToast.LENGTH_SHORT); + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModelNEW.java b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModelNEW.java index e129f3b6..67788b7b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModelNEW.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/picking_libero/PickingLiberoViewModelNEW.java @@ -1,21 +1,23 @@ package it.integry.integrywmsnative.gest.picking_libero; import android.app.Dialog; -import android.text.SpannableString; import androidx.databinding.ObservableArrayList; +import java.math.BigDecimal; +import java.util.Date; + import javax.inject.Inject; import it.integry.barcode_base_android_library.model.BarcodeScanDTO; -import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; -import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.exception.NoLUFoundException; import it.integry.integrywmsnative.core.exception.NoResultFromBarcodeException; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.expansion.RunnableArgss; import it.integry.integrywmsnative.core.model.CommonModelConsts; 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.VtbDest; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; @@ -26,10 +28,14 @@ import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; import it.integry.integrywmsnative.core.rest.model.Ean128Model; import it.integry.integrywmsnative.core.rest.model.Ean13PesoModel; import it.integry.integrywmsnative.core.utility.UtilityBarcode; +import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; +import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.core.utility.UtilityString; -import it.integry.integrywmsnative.view.dialogs.DialogCommon; -import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageHelper; +import it.integry.integrywmsnative.gest.spedizione_new.model.PickDataDTO; +import it.integry.integrywmsnative.gest.spedizione_new.model.PickedQuantityDTO; +import it.integry.integrywmsnative.gest.spedizione_new.model.PickingObjectDTO; public class PickingLiberoViewModelNEW { @@ -66,6 +72,16 @@ public class PickingLiberoViewModelNEW { public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete){ + if(this.mCurrentMtbColt == null) { + this.createNewLU(null, null, () -> { + executeEtichettaBehaviour(barcodeScanDTO, onComplete); + }); + } else { + executeEtichettaBehaviour(barcodeScanDTO, onComplete); + } + } + + private void executeEtichettaBehaviour(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { if(UtilityBarcode.isEtichettaAnonima(barcodeScanDTO)){ //Cerco gli articoli presenti nell'ul dell'etichetta anonima this.executeEtichettaLU(barcodeScanDTO.getStringValue(), onComplete); @@ -99,7 +115,7 @@ public class PickingLiberoViewModelNEW { if(mtbColtScanned == null) { this.sendError(new NoLUFoundException()); } else if((mtbColtScanned.getGestioneEnum() == GestioneEnum.ACQUISTO || mtbColtScanned.getGestioneEnum() == GestioneEnum.LAVORAZIONE) && mtbColtScanned.getSegno() > 0) { -// pickMerceULtoUL(mtbColtScanned, mtbColt.get(), onComplete); + pickMerceULtoUL(mtbColtScanned, onComplete); } else { this.sendError(new NoLUFoundException()); } @@ -201,13 +217,140 @@ public class PickingLiberoViewModelNEW { } private void dispatchArt(MtbAart mtbAart, Ean128Model ean128Model){ + PickingObjectDTO pickingObjectDTO = new PickingObjectDTO() + .setMtbAart(mtbAart) + .setTempPickData(PickDataDTO.fromEan128(ean128Model)); + + BigDecimal numCnfDaPrelevare = null; + BigDecimal qtaColDaPrelevare = null; + BigDecimal qtaCnfDaPrelevare = null; + + BigDecimal initialNumCnf = null; + BigDecimal initialQtaCnf = null; + BigDecimal initialQtaTot = null; + + String partitaMag = null; + Date dataScad = null; + + if (pickingObjectDTO.getTempPickData() != null && pickingObjectDTO.getTempPickData().getManualPickDTO() != null) { + //Oppure le info del barcode scansionato + PickDataDTO.ManualPickDTO manualPickDTO = pickingObjectDTO.getTempPickData().getManualPickDTO(); + + qtaColDaPrelevare = manualPickDTO.getQtaTot(); + numCnfDaPrelevare = manualPickDTO.getNumCnf(); + + if (mtbAart.isFlagQtaCnfFissaBoolean()) { + qtaCnfDaPrelevare = mtbAart.getQtaCnf(); + } else if (qtaColDaPrelevare != null && numCnfDaPrelevare != null) { + qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare); + } + + + if (qtaColDaPrelevare != null && numCnfDaPrelevare == null) { + numCnfDaPrelevare = UtilityBigDecimal.divideToInteger(qtaColDaPrelevare, mtbAart.getQtaCnf()); + qtaCnfDaPrelevare = UtilityBigDecimal.divide(qtaColDaPrelevare, numCnfDaPrelevare); + } else if (numCnfDaPrelevare != null && qtaColDaPrelevare == null) { + qtaCnfDaPrelevare = mtbAart.getQtaCnf(); + qtaColDaPrelevare = UtilityBigDecimal.multiply(numCnfDaPrelevare, qtaCnfDaPrelevare); + } + + if (manualPickDTO.getMtbPartitaMag() != null) { + partitaMag = manualPickDTO.getMtbPartitaMag().getPartitaMag(); + dataScad = manualPickDTO.getMtbPartitaMag().getDataScadD(); + } + } else { + initialNumCnf = BigDecimal.ONE; + initialQtaCnf = mtbAart.getQtaCnf(); + initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf); + } + + if(numCnfDaPrelevare == null && qtaColDaPrelevare == null && initialNumCnf == null && initialQtaTot == null) { + initialNumCnf = BigDecimal.ONE; + initialQtaCnf = mtbAart.getQtaCnf(); + initialQtaTot = UtilityBigDecimal.multiply(initialNumCnf, initialQtaCnf); + } + + + this.sendOnItemDispatched( + pickingObjectDTO, + pickingObjectDTO.getMtbAart(), + initialNumCnf, + initialQtaCnf, + initialQtaTot, + qtaColDaPrelevare, + numCnfDaPrelevare, + qtaCnfDaPrelevare, + partitaMag, + dataScad, + false, + (pickedQuantityDTO, shouldCloseLU) -> { + this.saveNewRow(pickingObjectDTO, + pickedQuantityDTO.getNumCnf(), + pickedQuantityDTO.getQtaCnf(), + pickedQuantityDTO.getQtaTot(), + pickedQuantityDTO.getPartitaMag(), + pickedQuantityDTO.getDataScad(), + shouldCloseLU); + }); + } + + + + + + + private void pickMerceULtoUL(MtbColt sourceMtbColt, Runnable onComplete) { } - private void pickMerceULtoUL(MtbColt sourceMtbColt, MtbColt destMtbColt) { + + public void saveNewRow(PickingObjectDTO pickingObjectDTO, BigDecimal numCnf, BigDecimal qtaCnf, BigDecimal qtaTot, String partitaMag, Date dataScad, boolean shouldCloseLU) { + this.sendOnLoadingStarted(); + + final MtbColr mtbColr = new MtbColr() + .setCodMart(pickingObjectDTO.getMtbAart().getCodMart()) + .setPartitaMag(partitaMag) + .setDataScadPartita(dataScad) + .setQtaCol(qtaTot) + .setQtaCnf(qtaCnf) + .setNumCnf(numCnf) + .setDescrizione(pickingObjectDTO.getMtbAart().getDescrizioneEstesa()) + .setDatetimeRow(UtilityDate.getDateInstance()); + + mtbColr.setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); + + MtbColt cloneMtbColt = (MtbColt) mCurrentMtbColt.clone(); + cloneMtbColt.setOperation(CommonModelConsts.OPERATION.UPDATE); + + cloneMtbColt.setMtbColr(new ObservableArrayList()); + cloneMtbColt.getMtbColr().add((MtbColr) mtbColr.clone()); + + if(UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO) && UtilityBigDecimal.equalsTo(qtaTot, BigDecimal.ZERO)) { + this.sendOnLoadingEnded(); + return; + } + + mColliMagazzinoRESTConsumer.saveCollo(cloneMtbColt, value -> { + mtbColr + .setDataCollo(value.getDataColloS()) + .setNumCollo(value.getNumCollo()) + .setGestione(value.getGestione()) + .setSerCollo(value.getSerCollo()) + .setRiga(value.getMtbColr().get(0).getRiga()) + .setUntMis(pickingObjectDTO.getMtbAart().getUntMis()) + .setMtbAart(pickingObjectDTO.getMtbAart()); + + mCurrentMtbColt.getMtbColr().add(mtbColr); + + this.sendOnRowSaved(); + this.sendOnLoadingEnded(); + + if (shouldCloseLU) closeLU(); + }, this::sendError); } + public void closeLU() { } @@ -235,6 +378,36 @@ public class PickingLiberoViewModelNEW { if(this.mListener != null) mListener.onLUClienteRequired(onComplete, onAbort); } + private void sendOnItemDispatched(PickingObjectDTO pickingObjectDTO, + MtbAart mtbAart, + BigDecimal initialNumCnf, + BigDecimal initialQtaCnf, + BigDecimal initialQtaTot, + BigDecimal totalQtaToBeTaken, + BigDecimal totalNumCnfToBeTaken, + BigDecimal qtaCnfToBeTaken, + String partitaMag, + Date dataScad, + boolean canOverflowOrderQuantity, + RunnableArgss onComplete) { + if (this.mListener != null) mListener.onItemDispatched(pickingObjectDTO, + mtbAart, + initialNumCnf, + initialQtaCnf, + initialQtaTot, + totalQtaToBeTaken, + totalNumCnfToBeTaken, + qtaCnfToBeTaken, + partitaMag, + dataScad, + canOverflowOrderQuantity, + onComplete); + } + + private void sendOnRowSaved() { + if (this.mListener != null) mListener.onRowSaved(); + } + public PickingLiberoViewModelNEW setListener(Listener listener) { this.mListener = listener; return this; @@ -262,21 +435,15 @@ public class PickingLiberoViewModelNEW { void onFilterRemoved(); void onMtbColrDeleteRequest(RunnableArgs onComplete); - +*/ void onItemDispatched(PickingObjectDTO pickingObjectDTO, MtbAart mtbAart, BigDecimal initialNumCnf, BigDecimal initialQtaCnf, BigDecimal initialQtaTot, - BigDecimal totalQtaOrd, - BigDecimal totalNumCnfOrd, - BigDecimal qtaCnfOrd, BigDecimal totalQtaToBeTaken, BigDecimal totalNumCnfToBeTaken, BigDecimal qtaCnfToBeTaken, - BigDecimal totalQtaAvailable, - BigDecimal totalNumCnfAvailable, - BigDecimal qtaCnfAvailable, String partitaMag, Date dataScad, boolean canOverflowOrderQuantity, @@ -284,7 +451,7 @@ public class PickingLiberoViewModelNEW { void onRowSaved(); - */ + } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/dto/HistoryVersamentoProdULDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/dto/HistoryVersamentoProdULDTO.java index b8d1bd7b..a7d44981 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/dto/HistoryVersamentoProdULDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/dto/HistoryVersamentoProdULDTO.java @@ -6,6 +6,7 @@ import java.util.Date; import java.util.List; import it.integry.integrywmsnative.core.model.MtbAart; +import it.integry.integrywmsnative.core.utility.UtilityBigDecimal; public class HistoryVersamentoProdULDTO { @@ -36,6 +37,7 @@ public class HistoryVersamentoProdULDTO { private MtbAart mtbAart; public BigDecimal getQtaCnf() { + if(UtilityBigDecimal.equalsTo(numCnf, BigDecimal.ZERO)) return BigDecimal.ONE; return qtaCol.divide(numCnf, 3, RoundingMode.HALF_EVEN); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneModule.java index b36587c1..340d1bfa 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneModule.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneModule.java @@ -6,6 +6,7 @@ import dagger.Module; import dagger.Provides; import it.integry.integrywmsnative.MainApplicationModule; import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService; +import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer; @@ -22,8 +23,8 @@ public class SpedizioneModule { @Provides @Singleton - SpedizioneViewModel providesSpedizioneViewModel(ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer) { - return new SpedizioneViewModel(colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer); + SpedizioneViewModel providesSpedizioneViewModel(ColliDataRecoverService colliDataRecoverService, OrdiniRESTConsumer ordiniRESTConsumer, ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, PrinterRESTConsumer printerRESTConsumer, BarcodeRESTConsumer barcodeRESTConsumer) { + return new SpedizioneViewModel(barcodeRESTConsumer, colliDataRecoverService, ordiniRESTConsumer, colliMagazzinoRESTConsumer, printerRESTConsumer); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java index b2f8d9d6..c504b17a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneViewModel.java @@ -92,16 +92,19 @@ public class SpedizioneViewModel { private MtbColt mCurrentMtbColt = null; private Integer mMtbColtSessionID; + private final BarcodeRESTConsumer mBarcodeRESTConsumer; private final ColliDataRecoverService mColliDataRecoverService; private final OrdiniRESTConsumer mOrdiniRestConsumerService; private final ColliMagazzinoRESTConsumer mColliMagazzinoRESTConsumer; private final PrinterRESTConsumer mPrinterRESTConsumer; @Inject - public SpedizioneViewModel(ColliDataRecoverService colliDataRecoverService, - OrdiniRESTConsumer ordiniRESTConsumer, - ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, - PrinterRESTConsumer printerRESTConsumer) { + public SpedizioneViewModel( BarcodeRESTConsumer barcodeRESTConsumer, + ColliDataRecoverService colliDataRecoverService, + OrdiniRESTConsumer ordiniRESTConsumer, + ColliMagazzinoRESTConsumer colliMagazzinoRESTConsumer, + PrinterRESTConsumer printerRESTConsumer) { + this.mBarcodeRESTConsumer = barcodeRESTConsumer; this.mColliDataRecoverService = colliDataRecoverService; this.mOrdiniRestConsumerService = ordiniRESTConsumer; this.mColliMagazzinoRESTConsumer = colliMagazzinoRESTConsumer; @@ -289,8 +292,7 @@ public class SpedizioneViewModel { } private void sendLUPesoRequired(String codTcol, BigDecimal netWeightKG, BigDecimal grossWeightKG, RunnableArgsss onComplete) { - if (this.mListeners != null) - mListeners.onLUPesoRequired(codTcol, netWeightKG, grossWeightKG, onComplete); + if (this.mListeners != null) mListeners.onLUPesoRequired(codTcol, netWeightKG, grossWeightKG, onComplete); } private void sendLUPrintRequest(RunnableArgs onComplete) { @@ -493,7 +495,7 @@ public class SpedizioneViewModel { private void executeEtichettaEan128(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { - BarcodeRESTConsumer.decodeEan128Static(barcodeScanDTO, ean128Model -> { + mBarcodeRESTConsumer.decodeEan128(barcodeScanDTO, ean128Model -> { String barcodeProd = null; @@ -808,8 +810,6 @@ public class SpedizioneViewModel { .setMtbAart(mtbAart) .setTempPickData(PickDataDTO.fromEan128(ean128Model)); - - BigDecimal numCnfDaPrelevare = null; BigDecimal qtaColDaPrelevare = null; BigDecimal qtaCnfDaPrelevare = null; diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java index 4a45340c..784898d7 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2ViewModel.java @@ -38,6 +38,7 @@ public class DialogInputQuantityV2ViewModel { public BigDecimal qtaCnfAvailable; public Boolean shouldAskDataScad; + public Boolean shouldShowDataScad; private BigDecimal initialNumCnf; private BigDecimal initialQtaCnf; @@ -77,6 +78,7 @@ public class DialogInputQuantityV2ViewModel { } this.shouldAskDataScad = mtbAart.get().isFlagQtaCnfFissaBoolean() && mtbAart.get().getGgScadPartita() != null && mtbAart.get().getGgScadPartita() > 0; + this.shouldShowDataScad = this.internalDataScad != null; this.blockedNumCnf.set(false); this.blockedQtaCnf.set(false); diff --git a/app/src/main/res/layout/dialog_input_quantity_v2.xml b/app/src/main/res/layout/dialog_input_quantity_v2.xml index 31eb2acf..4a3d2c1d 100644 --- a/app/src/main/res/layout/dialog_input_quantity_v2.xml +++ b/app/src/main/res/layout/dialog_input_quantity_v2.xml @@ -380,7 +380,7 @@ style="@style/TextInputLayout.OutlinePrimary" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="@{viewmodel.shouldAskDataScad ? 1f : 2f}" + android:layout_weight="@{viewmodel.shouldAskDataScad || viewmodel.shouldShowDataScad ? 1f : 2f}" android:paddingEnd="4dp" tools:layout_weight="1"> @@ -400,7 +400,7 @@ style="@style/TextInputLayout.OutlinePrimary" android:layout_width="0dp" android:layout_height="wrap_content" - android:visibility="@{viewmodel.shouldAskDataScad ? View.VISIBLE : View.GONE}" + android:visibility="@{viewmodel.shouldAskDataScad || viewmodel.shouldShowDataScad ? View.VISIBLE : View.GONE}" android:layout_weight="1">