From 3c5907a184bdf33be4452581f47f20dd05cbb8c1 Mon Sep 17 00:00:00 2001 From: Giuseppe Scorrano Date: Fri, 30 Nov 2018 09:51:33 +0100 Subject: [PATCH] Gestiti ean128 articolo in Vendita --- .idea/caches/build_file_checksums.ser | Bin 724 -> 729 bytes .../gest/vendita/dto/PickingObjectDTO.java | 46 ++++++++++++ .../VenditaOrdineInevasoActivity.java | 3 + .../VenditaOrdineInevasoViewModel.java | 67 +++++++++++++++++- 4 files changed, 113 insertions(+), 3 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index e2531d5d5667ed2a31e96eaec2308becfc174e89..dfbf1dafffaf4bbfe062804cd69603aa56c55103 100644 GIT binary patch delta 101 zcmV-r0Gj{Q1=$6Vm;__5G?$T_Pm?79Ba!_U7A;^aMX)@R1x>b6iJhb#rBKaAi}IodJ3fZ#!~yzWj{NqXa`UnPi{^ HlP3bLt 0) { + //if(!UtilityString.isNullOrEmpty(ean128Model.Sscc)) { + pickData.setNumCnf(new BigDecimal(ean128Model.Count)); + //} else { + // dto.setQtaTot(new BigDecimal(ean128Model.Count)); + //} + } + + if (ean128Model.NetWeightKg != null && ean128Model.NetWeightKg > 0) { + pickData.setQtaTot(new BigDecimal(ean128Model.NetWeightKg)); + } + + if(pickData.getQtaTot() != null && pickData.getQtaTot().floatValue() > 0 && pickData.getNumCnf() != null && pickData.getNumCnf().floatValue() > 0) { + pickData.setQtaCnf(pickData.getQtaTot().divide(pickData.getNumCnf())); + } + + } + + return pickData; + } } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/VenditaOrdineInevasoActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/VenditaOrdineInevasoActivity.java index fd5c813d..0bda6a5f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/VenditaOrdineInevasoActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita_ordine_inevaso/VenditaOrdineInevasoActivity.java @@ -71,6 +71,9 @@ public class VenditaOrdineInevasoActivity extends AppCompatActivity { mArticoliInColloBottomSheetViewModel.collapse(); } else if(mVenditaOrdineInevasoViewModel.thereIsAnOpenedUL()) { mArticoliInColloBottomSheetViewModel.closeCurrentUL(); + + BarcodeManager.removeCallback(barcodeScannerIstanceID); + super.onBackPressed(); } else { BarcodeManager.removeCallback(barcodeScannerIstanceID); super.onBackPressed(); 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 411c0a3c..d2d1a4ea 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 @@ -16,6 +16,7 @@ import java.util.Objects; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.CommonConst; +import it.integry.integrywmsnative.core.REST.consumers.ArticoloRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.BarcodeRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; @@ -25,6 +26,7 @@ import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.FiltroOrdineDTO; +import it.integry.integrywmsnative.core.model.MtbAart; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.core.model.MtbColt; import it.integry.integrywmsnative.core.model.secondary.GestioneEnum; @@ -364,7 +366,7 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO barcodeProd = barcodeProd.substring(1, barcodeProd.length()); } -// this.loadArticolo(barcodeProd, ean128Model, progressDialog); + this.loadArticolo(barcodeProd, PickingObjectDTO.PickData.fromEan128(ean128Model), progressDialog); } @@ -380,8 +382,45 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO }); } + private void loadArticolo(String barcodeProd, PickingObjectDTO.PickData pickData, ProgressDialog progressDialog) { + if(barcodeProd.length() == 14) { + barcodeProd = UtilityBarcode.convertITF14toEAN13(barcodeProd); + } + + + ArticoloRESTConsumer.getByBarcodeProd(barcodeProd, mtbAartList -> { + + if(mtbAartList != null && mtbAartList.size() > 0) { + +// if(!thereIsAnOpenedUL()){ +// +// this.createNewUL(null, null, progressDialog, false, () -> { +// BarcodeManager.enable(); +// this.searchArtInList(mtbAartList.get(0), ean128Model); +// }); +// +// } else { + this.searchArtFromAnag(mtbAartList.get(0), pickData); + + BarcodeManager.enable(); + progressDialog.dismiss(); +// } +// + } else { + BarcodeManager.enable(); + progressDialog.dismiss(); + + DialogSimpleMessageHelper.makeWarningDialog(mActivity, + new SpannableString(mActivity.getResources().getText(R.string.no_result_from_barcode)), + null, null) + .show(); + } + + }, ex -> { + BarcodeManager.enable(); + UtilityExceptions.defaultException(mActivity, ex, progressDialog); + }); - private void executeEtichettaEan128Art(BarcodeScanDTO barcodeScanDTO, ProgressDialog progressDialog) { } @@ -472,8 +511,30 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO } - private void searchArtFromAnag() { + private void searchArtFromAnag(MtbAart mtbAart, PickingObjectDTO.PickData pickData) { + final List pickingList = mPickingList; + + List matchPickingObject = Stream.of(pickingList) + .filter(x -> x.getNumCollo() == null && + (mtbAart.getCodMart().equalsIgnoreCase(x.getCodMart()))) + .toList(); + + + if(SettingsManager.iDB().isEnableCheckPartitaMagCheckPickingV()) { + List matchWithPartitaMag = Stream.of(matchPickingObject) + .filter(x -> x.getCodMart().equalsIgnoreCase(mtbAart.getCodMart()) && + Objects.equals(x.getPartitaMag(), pickData.getBatchLot())).toList(); + + matchPickingObject = matchWithPartitaMag; + + } + + if(matchPickingObject.size() == 1){ + matchPickingObject.get(0).setTempPickData(pickData); + } + + this.loadMatchedRows(matchPickingObject); }