diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java index 68b9b03a..2c9701f5 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingActivity.java @@ -5,6 +5,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Bundle; +import android.text.Html; import android.text.SpannableString; import android.view.Gravity; @@ -695,4 +696,15 @@ public class AccettazioneBollaPickingActivity extends BaseActivity implements Ac } } } + + @Override + public void onConfirmAnomalie(int anomalie, RunnableArgs onConfirm) { + DialogSimpleMessageView.makeWarningDialog(new SpannableString(Html.fromHtml(String.format(getString(R.string.confirm_anomalie), anomalie))), + null, () -> { + onConfirm.run(true); + }, () -> { + onConfirm.run(false); + }) + .show(getSupportFragmentManager(), "tag"); + } } \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java index 76e2ee06..53cf8132 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/AccettazioneBollaPickingViewModel.java @@ -643,7 +643,6 @@ public class AccettazioneBollaPickingViewModel { .setQtaCnf(qtaCnf) .setNumCnf(numCnf) .setPartitaMag(partitaMag) -// .setCodJcom(pickingObjectDTO.getSitBollaAccettazione().getCodJcom()) .setDataDoc(sitBolla != null ? sitBolla.getDataDoc() : firstAvailableBolla.getDataDoc()) .setNumDoc(sitBolla != null ? sitBolla.getNumDoc() : firstAvailableBolla.getNumDoc()) .setCodDtip(sitBolla != null ? sitBolla.getCodDtip() : firstAvailableBolla.getCodDtip()) @@ -662,7 +661,7 @@ public class AccettazioneBollaPickingViewModel { .setMtbAart(pickingObjectDTO.getMtbAart()); pickingObjectDTO.getWithdrawMtbColrs().add(insertedMtbColr); - mCurrentMtbColt.getMtbColr().add(insertedMtbColr); + mCurrentMtbColt.getMtbColr().add(0, insertedMtbColr); //Chiamato removeListFilter perché cosi mi cancella tutti i dati di pick temporanei resetMatchedRows(); @@ -803,21 +802,42 @@ public class AccettazioneBollaPickingViewModel { } else { CloseUDCRequestDTO closeUDCRequestDTO = new CloseUDCRequestDTO() .setMtbColt(mCurrentMtbColt); - mColliCaricoRESTConsumer.closeUDC(closeUDCRequestDTO, closeUDCResponse -> { - Runnable onVersamentoCompleted = () -> { - managePrintCollo(this::postCloseOperations); + ObservableArrayList mtbColr = mCurrentMtbColt.getMtbColr(); + List pickingList = getPickingList().getValue(); - this.sendLUClosed(); - this.sendOnLoadingEnded(); - }; + int listCount = pickingList != null ? pickingList.size() : 0; + int anomalie = listCount > 0 ? listCount - mtbColr.size() : 0; - manageVersamentoAutomatico(onVersamentoCompleted); - }, this::sendError); + if (anomalie == 0){ + closeUdc(closeUDCRequestDTO); + } else { + onConfirmAnomalie(anomalie, canBeClose -> { + if (canBeClose) { + closeUdc(closeUDCRequestDTO); + } else { + this.sendOnLoadingEnded(); + } + }); + } } }, this::sendError); } + private void closeUdc(CloseUDCRequestDTO closeUDCRequestDTO){ + mColliCaricoRESTConsumer.closeUDC(closeUDCRequestDTO, closeUDCResponse -> { + + Runnable onVersamentoCompleted = () -> { + managePrintCollo(this::postCloseOperations); + + this.sendLUClosed(); + this.sendOnLoadingEnded(); + }; + + manageVersamentoAutomatico(onVersamentoCompleted); + }, this::sendError); + } + private void manageVersamentoAutomatico(Runnable onComplete) { if (!SettingsManager.iDB().isFlagAccettazioneBollaAskVersamentoAutomatico()) { @@ -1040,6 +1060,9 @@ public class AccettazioneBollaPickingViewModel { return this; } + private void onConfirmAnomalie(int anomalie, RunnableArgs onConfirm){ + if (this.mListener != null) mListener.onConfirmAnomalie(anomalie, onConfirm); + } public interface Listener extends ILoadingListener, ILUPrintListener, ILUBaseOperationsListener { @@ -1077,6 +1100,8 @@ public class AccettazioneBollaPickingViewModel { void onUnknownBarcodeScanned(String barcode, RunnableArgs done, Runnable abort); + void onConfirmAnomalie(int anomalie, RunnableArgs onConfirm); + } } \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java index 594cc38b..bf8f8a83 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_bolla_picking/ui/AccettazioneBollaPickingListAdapter.java @@ -2,12 +2,10 @@ package it.integry.integrywmsnative.gest.accettazione_bolla_picking.ui; import android.content.Context; import android.graphics.Color; -import android.os.Build; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.res.ResourcesCompat; import androidx.databinding.ObservableArrayList; @@ -17,7 +15,6 @@ import androidx.recyclerview.widget.RecyclerView; import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import it.integry.integrywmsnative.R; @@ -65,29 +62,10 @@ public class AccettazioneBollaPickingListAdapter extends SectionedRecyclerViewAd this.mShowSecondaryUntMis = showSecondaryUntMis; mutableDataSet.addOnListChangedCallback(new OnListGeneralChangedCallback() { - @RequiresApi(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE) @Override public void onChanged(ObservableList sender) { - List listaOrdinata = new ArrayList<>(); - if (!sender.isEmpty()) { - listaOrdinata = new ArrayList<>(sender); - - Collections.sort(listaOrdinata, (a, b) -> { - - boolean condA = a.getQtaEvasa().floatValue() > 0; - boolean condB = b.getQtaEvasa().floatValue() > 0; - - if (condA && !condB) { - return -1; - } else if (!condA && condB) { - return 1; - } - return 0; - }); - } - mDataset.clear(); - mDataset.addAll(listaOrdinata); + mDataset.addAll(sender); notifyDataSetChanged(); notifyDataChanged(); } 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 61a8f461..03a1608f 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 @@ -12,13 +12,10 @@ import it.integry.integrywmsnative.core.model.observable.ObservableMtbTcol; 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(); @@ -42,11 +39,6 @@ public class BottomSheetFragmentLUContentViewModel { return this; } - public BottomSheetFragmentLUContentViewModel setMtbColrListener(MtbColrListener mtbColrListener) { - this.mMtbColrListener = mtbColrListener; - return this; - } - public void refreshPesi() { MtbColt collo = this.mtbColt.get(); if (collo == null) return; @@ -77,8 +69,4 @@ public class BottomSheetFragmentLUContentViewModel { void onBottomSheetLUClose(); } - - public interface MtbColrListener { - - } } diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index a233b902..ffc77c6a 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -217,6 +217,7 @@ Impostazioni Check box This is a regular preference + %d anomalie. Continuare?]]> Stai per eliminare una UL. Confermi? Stai per eliminare una riga. Confermi? diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2a4c2343..75144049 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -216,6 +216,7 @@ Settings Check box This is a regular preference + %d anomalies were found. To continue?]]> Are you sure you want to delete this UL? Please confirm Are you sure to delete? Please confirm