From 0704326c8e12fa046b80203907f66be797459120 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Tue, 3 Mar 2020 10:21:18 +0100 Subject: [PATCH] Modifiche UI dialogInputQuantity V2 --- .../spedizione_new/SpedizioneActivity.java | 13 +- .../spedizione_new/SpedizioneViewModel.java | 19 +- .../DialogInputQuantityV2.java | 47 ++-- .../DialogInputQuantityV2DTO.java | 23 ++ .../DialogInputQuantityV2ViewModel.java | 14 ++ .../res/layout/dialog_input_quantity_v2.xml | 221 +++++++++++++++++- app/src/main/res/values-it/strings.xml | 3 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/styles.xml | 8 +- 9 files changed, 311 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java index a41a66e7..c9843b9f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/spedizione_new/SpedizioneActivity.java @@ -12,6 +12,7 @@ import android.os.Bundle; import com.annimon.stream.Stream; import com.tfb.fbtoast.FBToast; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -287,10 +288,14 @@ public class SpedizioneActivity extends AppCompatActivity implements SpedizioneV } @Override - public void onItemDispatched(MtbAart mtbAart) { - DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO(); - dialogInputQuantityV2DTO.setMtbAart(mtbAart); + public void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd) { + DialogInputQuantityV2DTO dialogInputQuantityV2DTO = new DialogInputQuantityV2DTO() + .setMtbAart(mtbAart) + .setTotalQtaOrd(totalQtaOrd) + .setTotalNumCnfOrd(totalNumCnfOrd); - DialogInputQuantityV2.make(this, dialogInputQuantityV2DTO).show(); + DialogInputQuantityV2 + .newInstance(dialogInputQuantityV2DTO) + .show(getSupportFragmentManager(), "tag"); } } 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 d0cb2d79..1722c573 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 @@ -205,8 +205,8 @@ public class SpedizioneViewModel { for (Listeners listener : mListeners) listener.onFilterChanged(newValue); } - private void sendOnItemDispatched(MtbAart mtbAart) { - for (Listeners listener : mListeners) listener.onItemDispatched(mtbAart); + private void sendOnItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd) { + for (Listeners listener : mListeners) listener.onItemDispatched(mtbAart, totalQtaOrd, totalNumCnfOrd); } public void processBarcodeDTO(BarcodeScanDTO barcodeScanDTO, Runnable onComplete) { @@ -573,6 +573,9 @@ public class SpedizioneViewModel { public void dispatchOrdineRow(final PickingObjectDTO pickingObjectDTO) { + BigDecimal totalQtaOrd = pickingObjectDTO.getQtaOrd(); + BigDecimal totalNumCnfOrd = pickingObjectDTO.getNumCnfOrd(); + AtomicBigDecimal numCnfWithdrawRows = new AtomicBigDecimal(); AtomicBigDecimal qtaColWithdrawRows = new AtomicBigDecimal(); @@ -583,14 +586,14 @@ public class SpedizioneViewModel { }); - BigDecimal numCnfDaEvadere = pickingObjectDTO.getNumCnfCollo().subtract(numCnfWithdrawRows.getBigDecimalValue()); - BigDecimal qtaColDaEvadere = pickingObjectDTO.getQtaCollo().subtract(qtaColWithdrawRows.getBigDecimalValue()); + BigDecimal numCnfDaPrelevare = pickingObjectDTO.getNumCnfCollo().subtract(numCnfWithdrawRows.getBigDecimalValue()); + BigDecimal qtaColDaPrelevare = pickingObjectDTO.getQtaCollo().subtract(qtaColWithdrawRows.getBigDecimalValue()); - if(UtilityBigDecimal.lowerThan(numCnfDaEvadere, BigDecimal.ZERO)) numCnfDaEvadere = BigDecimal.ZERO; - if(UtilityBigDecimal.lowerThan(qtaColDaEvadere, BigDecimal.ZERO)) qtaColDaEvadere = BigDecimal.ZERO; + if(UtilityBigDecimal.lowerThan(numCnfDaPrelevare, BigDecimal.ZERO)) numCnfDaPrelevare = BigDecimal.ZERO; + if(UtilityBigDecimal.lowerThan(qtaColDaPrelevare, BigDecimal.ZERO)) qtaColDaPrelevare = BigDecimal.ZERO; - this.sendOnItemDispatched(pickingObjectDTO.getMtbAart()); + this.sendOnItemDispatched(pickingObjectDTO.getMtbAart(), totalQtaOrd, totalNumCnfOrd); } @@ -652,7 +655,7 @@ public class SpedizioneViewModel { void onError(Exception ex); - void onItemDispatched(MtbAart mtbAart); + void onItemDispatched(MtbAart mtbAart, BigDecimal totalQtaOrd, BigDecimal totalNumCnfOrd); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2.java index 3b25c95d..51f8e8bd 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2.java @@ -2,49 +2,58 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2; import android.app.Dialog; import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; +import android.os.Bundle; import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.databinding.DataBindingUtil; +import androidx.fragment.app.DialogFragment; import org.jetbrains.annotations.NotNull; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.databinding.DialogInputQuantityV2Binding; -public class DialogInputQuantityV2 { +public class DialogInputQuantityV2 extends DialogFragment { private Dialog mDialog; private Context mContext; private DialogInputQuantityV2ViewModel mViewModel; - private DialogInputQuantityV2DTO mDialogInputQuantityV2DTO; + private DialogInputQuantityV2DTO mDialogInputQuantityV2DTO; - public static Dialog make(@NotNull Context context, @NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO) { - return new DialogInputQuantityV2(context, dialogInputQuantityV2DTO) - .mDialog; + public static DialogInputQuantityV2 newInstance(@NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO) { + return new DialogInputQuantityV2(dialogInputQuantityV2DTO); } - private DialogInputQuantityV2(@NotNull Context context, @NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO) { - this.mContext = context; + private DialogInputQuantityV2(@NotNull DialogInputQuantityV2DTO dialogInputQuantityV2DTO) { this.mDialogInputQuantityV2DTO = dialogInputQuantityV2DTO; + } - LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); - DialogInputQuantityV2Binding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_quantity_v2, null, false); + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setStyle(DialogFragment.STYLE_NORMAL, R.style.AppTheme_NewMaterial_Dialog_FullscreenDialog); + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + DialogInputQuantityV2Binding bindings = DataBindingUtil.inflate(inflater, R.layout.dialog_input_quantity_v2, container, false); + + bindings.toolbar.setTitle("Inserimento articolo"); this.mViewModel = new DialogInputQuantityV2ViewModel(); - this.mViewModel.setMtbAart(dialogInputQuantityV2DTO.getMtbAart()); - + this.mViewModel.setMtbAart(mDialogInputQuantityV2DTO.getMtbAart()); + this.mViewModel.setTotalNumCnfOrd(mDialogInputQuantityV2DTO.getTotalNumCnfOrd()); + this.mViewModel.setTotalQtaOrd(mDialogInputQuantityV2DTO.getTotalQtaOrd()); bindings.setViewmodel(this.mViewModel); - mDialog = new Dialog(context); - mDialog.setContentView(bindings.getRoot()); - - mDialog.setCanceledOnTouchOutside(false); - mDialog.setCancelable(false); - mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + return bindings.getRoot(); } } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java index 43d3a330..ca4b80e5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity_v2/DialogInputQuantityV2DTO.java @@ -1,11 +1,16 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2; +import java.math.BigDecimal; + import it.integry.integrywmsnative.core.model.MtbAart; public class DialogInputQuantityV2DTO { private MtbAart mtbAart; + private BigDecimal totalQtaOrd; + private BigDecimal totalNumCnfOrd; + public MtbAart getMtbAart() { return mtbAart; } @@ -14,4 +19,22 @@ public class DialogInputQuantityV2DTO { this.mtbAart = mtbAart; return this; } + + public BigDecimal getTotalQtaOrd() { + return totalQtaOrd; + } + + public DialogInputQuantityV2DTO setTotalQtaOrd(BigDecimal totalQtaOrd) { + this.totalQtaOrd = totalQtaOrd; + return this; + } + + public BigDecimal getTotalNumCnfOrd() { + return totalNumCnfOrd; + } + + public DialogInputQuantityV2DTO setTotalNumCnfOrd(BigDecimal totalNumCnfOrd) { + this.totalNumCnfOrd = totalNumCnfOrd; + return this; + } } 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 ef67b3cf..7bf2a91c 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 @@ -2,12 +2,17 @@ package it.integry.integrywmsnative.view.dialogs.input_quantity_v2; import androidx.databinding.ObservableField; +import java.math.BigDecimal; + import it.integry.integrywmsnative.core.model.MtbAart; public class DialogInputQuantityV2ViewModel { public ObservableField mtbAart = new ObservableField<>(); + public BigDecimal totalQtaOrd; + public BigDecimal totalNumCnfOrd; + public DialogInputQuantityV2ViewModel() { @@ -17,4 +22,13 @@ public class DialogInputQuantityV2ViewModel { this.mtbAart.set(mtbAart); } + public DialogInputQuantityV2ViewModel setTotalQtaOrd(BigDecimal totalQtaOrd) { + this.totalQtaOrd = totalQtaOrd; + return this; + } + + public DialogInputQuantityV2ViewModel setTotalNumCnfOrd(BigDecimal totalNumCnfOrd) { + this.totalNumCnfOrd = totalNumCnfOrd; + return this; + } } 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 338f616f..411a3589 100644 --- a/app/src/main/res/layout/dialog_input_quantity_v2.xml +++ b/app/src/main/res/layout/dialog_input_quantity_v2.xml @@ -3,6 +3,8 @@ + + - + android:layout_height="match_parent"> + + + + + + + + + android:orientation="vertical" + app:layout_constraintTop_toBottomOf="@+id/toolbar" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + android:layout_margin="8dp"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 6c7408b9..b8483a9c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -128,6 +128,9 @@ Peso lordo (KG) Tipo pedana + Totale ordinato + Totale disponibile + Da prelevare Ord Da ev Disp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e6d5e446..4eddb493 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -125,6 +125,9 @@ Gross weight (KG) LU type + Total ordered + Total available + To be taken Ord To disp Avbl diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 8b8de75f..ba8d42f1 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -21,7 +21,6 @@ @font/google_sans_regular + + +