From 4d29e2ab41f79eda3efd8ca7b5613e84dc62c4bd Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 18 Mar 2025 17:50:48 +0100 Subject: [PATCH 1/2] In accettazione bolla sitemato ordinamento righe e aggiunto controllo anomalie --- .../AccettazioneBollaPickingActivity.java | 12 +++++ .../AccettazioneBollaPickingViewModel.java | 45 ++++++++++++++----- .../AccettazioneBollaPickingListAdapter.java | 24 +--------- ...BottomSheetFragmentLUContentViewModel.java | 12 ----- app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 50 insertions(+), 45 deletions(-) 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 4d222ef8..3f899f04 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; @@ -690,4 +691,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 3de5f89c..2e388663 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(); @@ -801,21 +800,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()) { @@ -1038,6 +1058,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 { @@ -1075,6 +1098,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 From 12b1b897136de7562c90f14c91575ca78993e0c5 Mon Sep 17 00:00:00 2001 From: MarcoE Date: Tue, 18 Mar 2025 17:54:15 +0100 Subject: [PATCH 2/2] -> v1.45.03 (485) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e5563154..29328a32 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 484 - def appVersionName = '1.45.02' + def appVersionCode = 485 + def appVersionName = '1.45.03' signingConfigs { release {