From b7382888b63310f354b33ab7fd0365f9ee20acab Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 27 Jan 2020 10:11:11 +0100 Subject: [PATCH] =?UTF-8?q?Sistemata=20query=20che=20controlla=20se=20una?= =?UTF-8?q?=20UL=20di=20Vendita=20pu=C3=B2=20essere=20eliminata=20o=20no.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumers/ColliMagazzinoRESTConsumer.java | 47 +++++++++++++++---- .../rest/consumers/SystemRESTConsumer.java | 2 +- .../VenditaOrdineInevasoViewModel.java | 5 +- 3 files changed, 40 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java index 15ed9978..b951468d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/ColliMagazzinoRESTConsumer.java @@ -606,23 +606,50 @@ public class ColliMagazzinoRESTConsumer extends _BaseRESTConsumer { } - public static void doesColloContainsAnyRow(MtbColt mtbColt, RunnableArgs onComplete, RunnableArgs onFailed) { + public static void canLUBeDeleted(MtbColt mtbColt, RunnableArgs onComplete, RunnableArgs onFailed) { HashMap params = new HashMap<>(); - params.put("gestione", mtbColt.getGestione()); - params.put("ser_collo", mtbColt.getSerCollo()); - params.put("num_collo", mtbColt.getNumCollo()); - params.put("data_collo", mtbColt.getDataColloD()); + params.put("mtb_colt.gestione", mtbColt.getGestione()); + params.put("mtb_colt.ser_collo", mtbColt.getSerCollo()); + params.put("mtb_colt.num_collo", mtbColt.getNumCollo()); + params.put("mtb_colt.data_collo", mtbColt.getDataColloD()); String whereCond = UtilityQuery.concatFieldsInWhereCond(params); - String query = "SELECT COUNT(*) as value FROM mtb_colr " + - "WHERE " + whereCond; - Type typeOfObjectsList = new TypeToken>>() { + String query = "SELECT mtb_colt.* " + + "FROM mtb_colt " + + "LEFT OUTER JOIN " + + " (SELECT gestione, " + + " data_collo, " + + " num_collo, " + + " ser_collo, " + + " cod_mart, " + + " cod_col, " + + " cod_tagl, " + + " partita_mag, " + + " SUM(qta_col) sum_qta_col " + + " FROM mtb_colr " + + " GROUP BY gestione, " + + " data_collo, " + + " num_collo, " + + " ser_collo, " + + " cod_mart, " + + " cod_col, " + + " cod_tagl, " + + " partita_mag) sum_mtb_colr ON mtb_colt.gestione = sum_mtb_colr.gestione " + + "AND mtb_colt.num_collo = sum_mtb_colr.num_collo " + + "AND mtb_colt.data_collo = sum_mtb_colr.data_collo " + + "AND mtb_colt.ser_collo = sum_mtb_colr.ser_collo " + + "AND sum_mtb_colr.sum_qta_col > 0 " + + "WHERE sum_mtb_colr.num_collo IS NULL " + + " AND " + whereCond; + + + Type typeOfObjectsList = new TypeToken>() { }.getType(); - SystemRESTConsumer.>>processSql(query, typeOfObjectsList, data -> { - onComplete.run(data.get(0).getValue() > 0); + SystemRESTConsumer.>processSql(query, typeOfObjectsList, data -> { + onComplete.run(data != null && data.size() > 0); }, onFailed); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumer.java index ac17f208..1a812651 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/SystemRESTConsumer.java @@ -115,7 +115,7 @@ public class SystemRESTConsumer extends _BaseRESTConsumer { public void onFailure(Call>> call, final Throwable t) { Log.e("CodMdepsAvailable", t.toString()); callback.onFailed(new Exception(t)); - UtilityLogger.errorMe(new Exception(t)); +// UtilityLogger.errorMe(new Exception(t)); } }); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java index 8491eee7..deaf1269 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/viewmodel/VenditaOrdineInevasoViewModel.java @@ -13,7 +13,6 @@ import com.tfb.fbtoast.FBToast; import org.jetbrains.annotations.NotNull; import java.math.BigDecimal; -import java.math.MathContext; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; @@ -866,9 +865,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO final MtbColt currentMtbColt = mArticoliInColloBottomSheetViewModel.mtbColt.get(); - ColliMagazzinoRESTConsumer.doesColloContainsAnyRow(currentMtbColt, containRows -> { + ColliMagazzinoRESTConsumer.canLUBeDeleted(currentMtbColt, canBeDeleted -> { - if(containRows) { + if(!canBeDeleted) { Runnable saveAction = () -> { ColliMagazzinoRESTConsumer.updateDataFine( mActivity,