Fix su logica di richiesta lotto in Spedizione nel caso di più lotti presenti in una UL

This commit is contained in:
Giuseppe Scorrano 2024-02-21 10:05:28 +01:00
parent 3fddb6bcf7
commit 4a79b6c1bf
5 changed files with 52 additions and 76 deletions

View File

@ -25,7 +25,7 @@ public class UtilityBarcode {
int currentYear = calendar.get(Calendar.YEAR); int currentYear = calendar.get(Calendar.YEAR);
String fullYear = "20" + UtilityBarcode.getAnnoColloFromULAnonima(barcode); String fullYear = "20" + UtilityBarcode.getAnnoColloFromULAnonima(barcode);
return fullYear.equalsIgnoreCase("" + currentYear); return fullYear.equalsIgnoreCase(String.valueOf(currentYear));
} }
public static boolean isEtichetta128(BarcodeScanDTO barcodeScanDTO) { public static boolean isEtichetta128(BarcodeScanDTO barcodeScanDTO) {

View File

@ -838,16 +838,16 @@ public class SpedizioneViewModel {
.toList(); .toList();
//Controllo se una delle partite combacia con quella che voglio evadere //Controllo se una delle partite combacia con quella che voglio evadere
if (refMtbColr != null && refMtbColr.getMtbPartitaMag() != null) { // if (refMtbColr != null && refMtbColr.getMtbPartitaMag() != null) {
MtbPartitaMag refMtbPartitaMag = refMtbColr.getMtbPartitaMag(); // MtbPartitaMag refMtbPartitaMag = refMtbColr.getMtbPartitaMag();
//
Optional<MtbPartitaMag> matchPartitaMag = Stream.of(availableBatchLots).filter(availableBatchLot -> refMtbPartitaMag.getPartitaMag().equalsIgnoreCase(availableBatchLot.getPartitaMag())).findFirst(); // Optional<MtbPartitaMag> matchPartitaMag = Stream.of(availableBatchLots).filter(availableBatchLot -> refMtbPartitaMag.getPartitaMag().equalsIgnoreCase(availableBatchLot.getPartitaMag())).findFirst();
//
if (matchPartitaMag.isPresent()) { // if (matchPartitaMag.isPresent()) {
availableBatchLots.clear(); // availableBatchLots.clear();
availableBatchLots.add(refMtbPartitaMag); // availableBatchLots.add(refMtbPartitaMag);
} // }
} // }
if (availableBatchLots.size() > 1) { if (availableBatchLots.size() > 1) {
this.sendOnLoadingStarted(); this.sendOnLoadingStarted();

View File

@ -17,7 +17,7 @@ public class DialogAskLineaProdViewModel {
MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(data.getStringValue()); MtbDepoPosizione foundPosizione = UtilityPosizione.getFromCache(data.getStringValue());
if (!foundPosizione.isFlagLineaProduzione()) { if (foundPosizione == null || !foundPosizione.isFlagLineaProduzione()) {
this.sendError(new InvalidLineaProdBarcodeException(data.getStringValue())); this.sendError(new InvalidLineaProdBarcodeException(data.getStringValue()));
onComplete.run(); onComplete.run();
return; return;

View File

@ -1,20 +1,18 @@
package it.integry.integrywmsnative.view.dialogs.choose_batch_lot; package it.integry.integrywmsnative.view.dialogs.choose_batch_lot;
import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
@ -52,30 +50,37 @@ public class DialogChooseBatchLotView extends BaseDialogFragment {
this.mOnItemSelected = onItemSelected; this.mOnItemSelected = onItemSelected;
} }
@Nullable @NonNull
@Override @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
this.mContext = getActivity(); this.mContext = requireContext();
mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_choose_batch_lot, container, false); mBindings = DialogChooseBatchLotBinding.inflate(LayoutInflater.from(this.mContext), null, false);
mBindings.setLifecycleOwner(this);
MainApplication.appComponent MainApplication.appComponent
.dialogChooseBatchLotComponent() .dialogChooseBatchLotComponent()
.create() .create()
.inject(this); .inject(this);
mBindings.setView(this);
mBindings.setViewmodel(this.mViewModel); mBindings.setViewmodel(this.mViewModel);
getDialog().setCanceledOnTouchOutside(false); setCancelable(false);
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
return mBindings.getRoot(); var alertDialog = new MaterialAlertDialogBuilder(this.mContext)
.setView(mBindings.getRoot())
.setCancelable(isCancelable())
.create();
alertDialog.setCanceledOnTouchOutside(isCancelable());
alertDialog.setOnShowListener(this);
alertDialog.setOnDismissListener(this);
return alertDialog;
} }
@Override @Override
public void onStart() { public void onShow(DialogInterface dialogInterface) {
super.onStart(); super.onShow(dialogInterface);
this.initRecyclerView(); this.initRecyclerView();
} }

View File

@ -5,21 +5,10 @@
<data> <data>
<import type="it.integry.integrywmsnative.core.utility.UtilityString" />
<import type="it.integry.integrywmsnative.core.utility.UtilityNumber" />
<import type="it.integry.integrywmsnative.core.utility.UtilityBigDecimal" />
<import type="android.view.View" />
<variable <variable
name="viewmodel" name="viewmodel"
type="it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotViewModel" /> type="it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotViewModel" />
<variable
name="view"
type="it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotView" />
</data> </data>
@ -28,55 +17,37 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:orientation="vertical" android:orientation="vertical"
app:cardCornerRadius="12dp" app:cardCornerRadius="16dp"
app:cardElevation="0dp"> app:cardElevation="0dp">
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
android:paddingHorizontal="16dp"
<RelativeLayout android:paddingVertical="16dp">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/light_blue_300"
android:gravity="center_horizontal">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content" style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
android:layout_height="wrap_content" android:layout_width="36dp"
android:layout_margin="24dp" android:layout_height="36dp"
android:src="@drawable/ic_error_white_24dp" /> android:src="@drawable/ic_error_white_24dp"
app:tint="?colorPrimary" />
</RelativeLayout> <androidx.appcompat.widget.AppCompatTextView
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="24dp"
android:paddingTop="24dp"
android:paddingRight="24dp"
android:paddingBottom="24dp">
<TextView
android:id="@+id/title_text" android:id="@+id/title_text"
style="@style/TextViewMaterial.Dialog.HeadlineText" style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:text="@string/select_batch_lot" /> android:text="@string/select_batch_lot" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/main_list" android:id="@+id/main_list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp"/> android:layout_marginTop="16dp" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>