From 7c49af085d586f8ff5ef82e07d3e60b04dec133b Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 11:21:08 +0200 Subject: [PATCH 1/2] aggiunte condizioni per l'autocompletamento delle tipo pedana in rientro merce --- .idea/deploymentTargetDropDown.xml | 17 ------ .../ProdRientroMerceOrderDetailFragment.java | 53 +++++++++++++++---- 2 files changed, 43 insertions(+), 27 deletions(-) delete mode 100644 .idea/deploymentTargetDropDown.xml diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 1538039a..00000000 --- a/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java index e53c57dd..8e656c68 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_rientro_merce/order_detail/ProdRientroMerceOrderDetailFragment.java @@ -18,6 +18,7 @@ import androidx.lifecycle.MutableLiveData; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.LinearLayoutManager; +import com.annimon.stream.ComparatorCompat; import com.annimon.stream.Stream; import com.google.gson.reflect.TypeToken; import com.harrysoft.androidbluetoothserial.BluetoothManager; @@ -43,6 +44,7 @@ import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.utility.UtilityDB; +import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.FragmentProdRientroMerceOrderDetailBinding; import it.integry.integrywmsnative.gest.prod_versamento_materiale.dto.OrdineLavorazioneDTO; import it.integry.integrywmsnative.gest.settings.MainSettingsFragment; @@ -76,6 +78,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements private BluetoothManager bluetoothManager; private BluetoothSerialDevice mConnectedBluetoothDevice; + private String mLatestCodTcol; public ObservableField sumLUNumber = new ObservableField<>(BigDecimal.ZERO); @@ -182,6 +185,7 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements @Override public void onDetach() { + mLatestCodTcol = null; if (mConnectedBluetoothDevice != null) bluetoothManager.close(); @@ -207,13 +211,28 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements AtomicBigDecimal sumColli = new AtomicBigDecimal(BigDecimal.ZERO); AtomicBigDecimal sumNet = new AtomicBigDecimal(BigDecimal.ZERO); AtomicBigDecimal sumGross = new AtomicBigDecimal(BigDecimal.ZERO); + AtomicBigDecimal sumQtaCol = new AtomicBigDecimal(BigDecimal.ZERO); Stream.of(mtbColts) .forEach(x -> Stream.of(x.getMtbColr()).forEach(y -> { sumColli.getAndAdd(y.getNumCnf()); sumNet.getAndAdd(y.getPesoNettoKg()); sumGross.getAndAdd(y.getPesoLordoKg()); + sumQtaCol.getAndAdd(y.getQtaCol()); })); + + ComparatorCompat c = ComparatorCompat + .chain( + new ComparatorCompat((x, y) -> x.getDataVersD().compareTo(y.getDataVersD())) + ) + .reversed(); + MtbColt lastUl = Stream.of(mtbColts).sorted(c).findFirstOrElse(null); + if (lastUl != null && !UtilityString.isNullOrEmpty(lastUl.getCodTcol())) { + mLatestCodTcol = lastUl.getCodTcol(); + } + + currentOrder.getValue().setQtaTrasferite(sumQtaCol.get()); + this.progress.set(currentOrder.getValue().getProgress()); sumColliNumber.set(sumColli.get()); sumGrossKG.set(sumGross.get()); progress.set(currentOrder.getValue().getProgress()); @@ -237,7 +256,12 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements public void addULButtonClick() { this.onLoadingStarted(); - String codProd = this.currentOrder.getValue().getCodProd(); + OrdineLavorazioneDTO currentOrder = this.currentOrder.getValue(); + if (currentOrder == null) { + this.onError(new Exception("Nessun ordine rilevato!")); + return; + } + String codProd = currentOrder.getCodProd(); mArticoloRESTConsumer.getByCodMart(codProd, mtbAart -> { String sql = "SELECT TOP 1 * " + @@ -246,9 +270,9 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements " * " + " FROM dtb_ord_steps " + " WHERE cod_jfas IS NOT NULL " + - " AND gestione = " + UtilityDB.valueToString(this.currentOrder.getValue().getGestione()) + - " AND num_ord = " + UtilityDB.valueToString(this.currentOrder.getValue().getNumOrd()) + - " AND data_ord = " + UtilityDB.valueToString(this.currentOrder.getValue().getDataOrdD()) + + " AND gestione = " + UtilityDB.valueToString(currentOrder.getGestione()) + + " AND num_ord = " + UtilityDB.valueToString(currentOrder.getNumOrd()) + + " AND data_ord = " + UtilityDB.valueToString(currentOrder.getDataOrdD()) + " ) tmp " + "WHERE data_iniz IS NOT NULL " + " AND (data_fine IS NULL OR last_step = id_step) " + @@ -259,15 +283,24 @@ public class ProdRientroMerceOrderDetailFragment extends BaseFragment implements this.onLoadingEnded(); + String codTcol = currentOrder.getCodTcolUl(); + if (UtilityString.isNullOrEmpty(codTcol)) { + if (!UtilityString.isNullOrEmpty(mLatestCodTcol)) { + codTcol = mLatestCodTcol; + } else { + codTcol = mtbAart.getCodTcolUl(); + } + } + DialogInputLUProdDTO dialogInputLUProdDTO = new DialogInputLUProdDTO() .setMtbAart(mtbAart) - .setNumCnf(this.currentOrder.getValue().getColliPedana()) + .setNumCnf(currentOrder.getColliPedana()) .setQtaCnf(mtbAart.getQtaCnf()) - .setQtaTot(this.currentOrder.getValue().getColliPedana().multiply(mtbAart.getQtaCnf())) - .setPartitaMag(this.currentOrder.getValue().getPartitaMag()) - .setDataScad(this.currentOrder.getValue().getDataScadD()) - .setCodJfasParent(this.currentOrder.getValue().getCodJfas()) - .setCodTcol(this.currentOrder.getValue().getCodTcolUl()) + .setQtaTot(currentOrder.getColliPedana().multiply(mtbAart.getQtaCnf())) + .setPartitaMag(currentOrder.getPartitaMag()) + .setDataScad(currentOrder.getDataScadD()) + .setCodJfasParent(currentOrder.getCodJfas()) + .setCodTcol(codTcol) .setSuggestedCodJfas(dtbOrdStep != null && dtbOrdStep.size() > 0 ? dtbOrdStep.get(0).getCodJfas() : null); From 87acc5a4e384669c8edb84f71e6264c1aa3a0438 Mon Sep 17 00:00:00 2001 From: ValerioC Date: Fri, 22 Jul 2022 11:21:54 +0200 Subject: [PATCH 2/2] -> v1.28.6 (300) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dafaf331..8ba7fa05 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 299 - def appVersionName = '1.28.5' + def appVersionCode = 300 + def appVersionName = '1.28.6' signingConfigs { release {