From 0e81cc3371250eb6bf411f593b6134fa7392243d Mon Sep 17 00:00:00 2001 From: Giuseppe Scorrano Date: Wed, 24 Oct 2018 13:15:52 +0200 Subject: [PATCH] Migliorata gestione stampanti. Varie implementazioni e bugfix in accettazione. --- .../integrywmsnative/core/CommonConst.java | 4 + .../consumers/ColliMagazzinoRESTConsumer.java | 20 +++ .../REST/consumers/PrinterRESTConsumer.java | 39 +++++ .../consumers/PrinterRESTConsumerService.java | 6 + .../REST/consumers/SystemRESTConsumer.java | 5 +- .../core/model/CommonModelConsts.java | 1 + .../core/utility/UtilityLogger.java | 9 ++ .../MainAccettazioneFragment.java | 7 +- .../dto/OrdineAccettazioneDTO.java | 24 ++- .../AccettazioneOrdineInevasoActivity.java | 2 + .../core/AccettazioneOrdineInevasoHelper.java | 48 +++--- .../MainListOrdineAccettazioneAdapter.java | 6 +- .../AccettazioneOnOrdineInevasoViewModel.java | 141 ++++++++++++------ .../views/NoteAggiuntiveNuovaULDialog.java | 18 +-- .../input_quantity/DialogInputQuantity.java | 14 +- 15 files changed, 237 insertions(+), 107 deletions(-) diff --git a/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java b/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java index 18cea1a9..4f9ada5c 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/CommonConst.java @@ -14,6 +14,10 @@ public class CommonConst { } + public static class Config { + public static String COMMESSA_MAG = "MAG"; + } + public static class Mail { 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 84614701..67fc5f9a 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 @@ -1,5 +1,7 @@ package it.integry.integrywmsnative.core.REST.consumers; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.CommonModelConsts; import it.integry.integrywmsnative.core.model.MtbColt; public class ColliMagazzinoRESTConsumer { @@ -11,4 +13,22 @@ public class ColliMagazzinoRESTConsumer { } + public static void deleteCollo(MtbColt mtbColtToDelete, Runnable onComplete, RunnableArgs onFailed){ + + mtbColtToDelete.setOperation(CommonModelConsts.OPERATION.DELETE); + + saveCollo(mtbColtToDelete, new ISimpleOperationCallback() { + @Override + public void onSuccess(MtbColt value) { + if(onComplete != null) onComplete.run(); + } + + @Override + public void onFailed(Exception ex) { + if(onFailed != null) onFailed.run(ex); + } + }); + + } + } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumer.java index bf819314..3ab579b6 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumer.java @@ -16,6 +16,11 @@ import retrofit2.Response; public class PrinterRESTConsumer extends _BaseRESTConsumer { + public enum Type { + PRIMARY, + SECONDARY + } + public static void getAvailablePrinters(final ISimpleOperationCallback> callback) { PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); @@ -32,6 +37,40 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer { }); } + + public static void getAvailablePrinters(String codMdep, final ISimpleOperationCallback> callback) { + + PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); + printerService.getAvailablePrinters(codMdep).enqueue(new Callback>>() { + @Override + public void onResponse(Call>> call, Response>> response) { + analyzeAnswer(response, "GetAvailablePrinters", callback); + } + + @Override + public void onFailure(Call>> call, Throwable t) { + + } + }); + } + + + public static void getAvailablePrinters(String codMdep, Type printerType, final ISimpleOperationCallback> callback) { + + PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); + printerService.getAvailablePrinters(codMdep, printerType.toString()).enqueue(new Callback>>() { + @Override + public void onResponse(Call>> call, Response>> response) { + analyzeAnswer(response, "GetAvailablePrinters", callback); + } + + @Override + public void onFailure(Call>> call, Throwable t) { + + } + }); + } + public static void printCollo(String printerName, MtbColt testataColloToPrint, int quantity, String reportName, final ISimpleOperationCallback callback) { PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumerService.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumerService.java index 377c4d05..f0a853ab 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumerService.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/consumers/PrinterRESTConsumerService.java @@ -14,6 +14,12 @@ public interface PrinterRESTConsumerService { @POST("getAvailablePrinters") Call>> getAvailablePrinters(); + @POST("getAvailablePrinters") + Call>> getAvailablePrinters(@Query("codMdep") String codMdep); + + @POST("getAvailablePrinters") + Call>> getAvailablePrinters(@Query("codMdep") String codMdep, @Query("printerType") String printerType); + @POST("pkgPrintLabel") Call> printCollo( 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 1883354d..65a8aee9 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 @@ -16,6 +16,7 @@ import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse; import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.settings.SettingsManager; import it.integry.integrywmsnative.core.utility.UtilityResources; +import it.integry.integrywmsnative.core.utility.UtilityString; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -67,12 +68,14 @@ public class SystemRESTConsumer extends _BaseRESTConsumer { public static void sendErrorLogMail(String message) { + String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : " [" + SettingsManager.i().userSession.profileDB + "]"; + MailDTO mailDTO = new MailDTO() .setFrom("sender@integry.it") .setFromName("WMS Android") .setTo(TextUtils.join(";", CommonConst.Mail.forErrors)) - .setSubject("Bug notification") + .setSubject("Bug notification" + currentAzienda) .setMsgText(message) .setHtml(true); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/CommonModelConsts.java b/app/src/main/java/it/integry/integrywmsnative/core/model/CommonModelConsts.java index b6bba06d..4d66c266 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/CommonModelConsts.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/CommonModelConsts.java @@ -9,6 +9,7 @@ public class CommonModelConsts { public static String SELECT = "SELECT"; public static String SELECT_OBJECT = "SELECT_OBJECT"; public static String SUBSTITUTE = "SUBSTITUTE"; + public static String DELETE = "DELETE"; public static String NO_OP = "NO_OP"; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java index ca9f5d3f..d1cff92f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityLogger.java @@ -3,9 +3,12 @@ package it.integry.integrywmsnative.core.utility; import java.io.PrintStream; import java.io.PrintWriter; import java.io.StringWriter; +import java.text.SimpleDateFormat; +import java.util.Date; import it.integry.integrywmsnative.R; import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer; +import it.integry.integrywmsnative.core.settings.SettingsManager; import okhttp3.internal.Util; public class UtilityLogger { @@ -25,6 +28,12 @@ public class UtilityLogger { ex.printStackTrace(new PrintWriter(sw)); message = message.replace("#stacktrace#", sw.toString()); + String currentAzienda = UtilityString.isNullOrEmpty(SettingsManager.i().userSession.profileDB) ? "" : SettingsManager.i().userSession.profileDB; + message = message.replace("#azienda_nome#", currentAzienda); + + SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss"); + message = message.replace("#current_date#", sdf.format(new Date())); + SystemRESTConsumer.sendErrorLogMail(message); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java index 32765c97..2e551072 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/MainAccettazioneFragment.java @@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger; import butterknife.ButterKnife; import butterknife.OnClick; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.REST.CommonRESTException; import it.integry.integrywmsnative.core.coollection.Coollection; import it.integry.integrywmsnative.core.interfaces.ICheckBoxCallback; @@ -133,8 +134,8 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb String prevCodAnag = ""; for(OrdineAccettazioneInevasoDTO ordine : ordini){ - if(UtilityString.isNullOrEmpty(ordine.codJcom) || ordine.codJcom.equalsIgnoreCase("MAG")){ - ordine.codJcom = "MAG"; + if(UtilityString.isNullOrEmpty(ordine.codJcom) || ordine.codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){ + ordine.codJcom = CommonConst.Config.COMMESSA_MAG; ordine.descrizioneCom = "MAGAZZINO"; } } @@ -250,7 +251,7 @@ public class MainAccettazioneFragment extends Fragment implements ICheckBoxCallb AtomicInteger artsCounter = new AtomicInteger(); Stream.of(ordini).forEach(x -> { - artsCounter.addAndGet((int) Stream.of(x.ordini).filter(y -> y.qtaDaEvadere > 0).count()); + artsCounter.addAndGet((int) Stream.of(x.ordini).filter(y -> y.getQtaDaEvadere() > 0).count()); }); List ordersKeys = new ArrayList<>(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneDTO.java index 6d7300e6..151e2131 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/dto/OrdineAccettazioneDTO.java @@ -32,10 +32,10 @@ public class OrdineAccettazioneDTO implements Parcelable { public static class Riga implements Parcelable { - public Float qtaOrd; - public Float qtaRiservate; - public Float qtaEvasa; - public Float qtaDaEvadere; + public Float qtaOrd; //QTA ORDINATA (tutta la qta ordiata) + public Float qtaRiservate; //QTA COLLI (tutta la qta giĆ  accantonata nei colli + public Float qtaEvasa; //QTA EVASA ORDINE (qta con documento) + //public Float qtaDaEvadere; //qta_ord - qta_evasa - qta_colli public int rigaOrd; public String codJcom; public String ragSocCom; @@ -54,25 +54,21 @@ public class OrdineAccettazioneDTO implements Parcelable { public String dataCons; - //public Float getQtaDaEvadere() { - // return this.qtaOrd - this.qtaRiservate; - //} + public Float getQtaDaEvadere() { + return this.getQtaOrd() - this.getQtaEvasa() - this.getQtaRiservate(); + } public Float getQtaOrd() { - return qtaOrd; + return qtaOrd != null ? qtaOrd : 0; } public Float getQtaRiservate() { - return qtaRiservate; + return qtaRiservate != null ? qtaRiservate : 0; } public Float getQtaEvasa() { - return qtaEvasa; - } - - public Float getQtaDaEvadere() { - return qtaDaEvadere; + return qtaEvasa != null ? qtaEvasa : 0; } public int getRigaOrd() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/AccettazioneOrdineInevasoActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/AccettazioneOrdineInevasoActivity.java index 57e35a22..a883763e 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/AccettazioneOrdineInevasoActivity.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/AccettazioneOrdineInevasoActivity.java @@ -52,6 +52,8 @@ public class AccettazioneOrdineInevasoActivity extends AppCompatActivity { public void onBackPressed() { if(mArticoliInColloBottomSheetViewModel.isExpanded()){ mArticoliInColloBottomSheetViewModel.collapse(); + } else if(mAccettazioneOrdineInevasoViewModel.thereIsAnOpenedUL()) { + mArticoliInColloBottomSheetViewModel.closeCurrentUL(); } else super.onBackPressed(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/AccettazioneOrdineInevasoHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/AccettazioneOrdineInevasoHelper.java index fd8e3221..8e48b2da 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/AccettazioneOrdineInevasoHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/AccettazioneOrdineInevasoHelper.java @@ -14,6 +14,7 @@ import java.util.Comparator; import java.util.List; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.CommonConst; import it.integry.integrywmsnative.core.coollection.Coollection; import it.integry.integrywmsnative.core.model.MtbColr; import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO; @@ -66,6 +67,9 @@ public class AccettazioneOrdineInevasoHelper { if(!codArtForns.contains(mDataset.get(i).codArtFor)){ codArtForns.add(mDataset.get(i).codArtFor); } + + if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = CommonConst.Config.COMMESSA_MAG; + if(mDataset.get(i).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) mDataset.get(i).descrizioneCommessa = null; } Collections.sort(codArtForns, (str1, str2) -> { @@ -77,11 +81,11 @@ public class AccettazioneOrdineInevasoHelper { List> groupedRighe = new ArrayList<>(); for (String codArtForn : codArtForns) { - List tmpList = Coollection.from(mDataset) - .where("codArtFor", Coollection.eqIgnoreCase(codArtForn)).all(); + + List tmpList = Stream.of(mDataset).filter(x -> x.getCodArtFor() != null && x.getCodArtFor().equalsIgnoreCase(codArtForn)).toList(); for(int i = 0; i < tmpList.size(); i++){ - if(tmpList.get(i).qtaRiservate >= tmpList.get(i).qtaOrd){ + if(tmpList.get(i).getQtaDaEvadere() <= 0){ tmpList.remove(i); i--; } @@ -103,21 +107,19 @@ public class AccettazioneOrdineInevasoHelper { if(!descrArtForns.contains(mDataset.get(i).descrizioneEstesa)){ descrArtForns.add(mDataset.get(i).descrizioneEstesa); } + + if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = CommonConst.Config.COMMESSA_MAG; + if(mDataset.get(i).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) mDataset.get(i).descrizioneCommessa = null; } - Collections.sort(descrArtForns, new Comparator() { - public int compare(String str1, String str2) { - return str1.compareToIgnoreCase(str2); - } - }); + Collections.sort(descrArtForns, (str1, str2) -> str1.compareToIgnoreCase(str2)); List> groupedRighe = new ArrayList<>(); for (String descrArtForn : descrArtForns) { - List tmpList = Coollection.from(mDataset) - .where("descrizioneEstesa", Coollection.eqIgnoreCase(descrArtForn)).all(); + List tmpList = Stream.of(mDataset).filter(x -> x.getDescrizioneEstesa() != null && x.getDescrizioneEstesa().equalsIgnoreCase(descrArtForn)).toList(); for(int i = 0; i < tmpList.size(); i++){ - if(tmpList.get(i).qtaRiservate >= tmpList.get(i).qtaOrd){ + if(tmpList.get(i).getQtaDaEvadere() <= 0){ tmpList.remove(i); i--; } @@ -145,8 +147,8 @@ public class AccettazioneOrdineInevasoHelper { for(int i = 0; i < mDataset.size(); i++){ boolean alreadyExists = false; - if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = "N/A"; - if(mDataset.get(i).descrizioneCommessa == null) mDataset.get(i).descrizioneCommessa = mContext.getText(R.string.stock).toString().toUpperCase(); + if(mDataset.get(i).codJcom == null) mDataset.get(i).codJcom = CommonConst.Config.COMMESSA_MAG; + if(mDataset.get(i).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) mDataset.get(i).descrizioneCommessa = mContext.getText(R.string.stock).toString().toUpperCase(); for(int k = 0; k < commessaList.size(); k++){ @@ -164,8 +166,8 @@ public class AccettazioneOrdineInevasoHelper { } Collections.sort(commessaList, (dto1, dto2) -> { - if(dto1.ragSocCom == null || dto2.codJcom.equalsIgnoreCase("MAG")) return -1; - if(dto2.ragSocCom == null || dto1.codJcom.equalsIgnoreCase("MAG")) return 1; + if(dto1.ragSocCom == null || dto2.codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) return -1; + if(dto2.ragSocCom == null || dto1.codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)) return 1; return dto1.ragSocCom.compareToIgnoreCase(dto2.ragSocCom); }); @@ -174,11 +176,10 @@ public class AccettazioneOrdineInevasoHelper { for (RaggruppaPerCommessaUtilDTO dto : commessaList) { - List tmpList = Coollection.from(mDataset) - .where("codJcom", Coollection.eqIgnoreCase(dto.codJcom)).all(); + List tmpList = Stream.of(mDataset).filter(x -> x.getCodJcom().equalsIgnoreCase(dto.codJcom)).toList(); for(int i = 0; i < tmpList.size(); i++){ - if(tmpList.get(i).qtaRiservate >= tmpList.get(i).qtaOrd){ + if(tmpList.get(i).getQtaDaEvadere() <= 0){ tmpList.remove(i); i--; } @@ -216,15 +217,14 @@ public class AccettazioneOrdineInevasoHelper { final OrdineAccettazioneDTO.Riga rowItem = groupedRighe.get(i).get(k); final AccettazioneOrdineInevasoListViewModel.SubItem rowModel = new AccettazioneOrdineInevasoListViewModel.SubItem(); - rowModel.badge1 = rowItem.codJcom != null ? rowItem.codJcom : "MAG"; + rowModel.badge1 = rowItem.codJcom != null ? rowItem.codJcom : CommonConst.Config.COMMESSA_MAG; rowModel.badge2 = String.valueOf(rowItem.numOrd); // rowModel.descrizione = rowItem.ragSocCom; rowModel.descrizione = rowItem.descrizioneCommessa; rowModel.qtaRiservata = decimalFormat.format(getRigaQuantityEvasa(rowItem, mtbColrs)); -// rowModel.qtaRiservata = decimalFormat.format(rowItem.qtaRiservate); - rowModel.qtaOrdinata = decimalFormat.format(rowItem.qtaOrd); + rowModel.qtaOrdinata = decimalFormat.format(rowItem.getQtaOrd()); rowModel.originalModel = rowItem; @@ -244,7 +244,7 @@ public class AccettazioneOrdineInevasoHelper { for(int i = 0; i < groupedRighe.size(); i++){ AccettazioneOrdineInevasoListViewModel itemModel = new AccettazioneOrdineInevasoListViewModel(); - if(groupedRighe.get(i).get(0).codJcom.equalsIgnoreCase("N/A")){ + if(groupedRighe.get(i).get(0).codJcom.equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){ itemModel.descrizioneGroup = mContext.getString(R.string.warehouse).toUpperCase(); } else { itemModel.descrizioneGroup = groupedRighe.get(i).get(0).codJcom; @@ -267,7 +267,7 @@ public class AccettazioneOrdineInevasoHelper { rowModel.qtaRiservata = decimalFormat.format(getRigaQuantityEvasa(rowItem, mtbColrs)); // rowModel.qtaRiservata = decimalFormat.format(rowItem.qtaRiservate); - rowModel.qtaOrdinata = decimalFormat.format(rowItem.qtaDaEvadere); + rowModel.qtaOrdinata = decimalFormat.format(rowItem.getQtaOrd()); rowModel.originalModel = rowItem; @@ -282,7 +282,7 @@ public class AccettazioneOrdineInevasoHelper { private float getRigaQuantityEvasa(OrdineAccettazioneDTO.Riga item, List mtbColrs){ - float currentQtaEvasa = item.qtaRiservate; + float currentQtaEvasa = item.getQtaRiservate() + item.getQtaEvasa(); if(mtbColrs != null) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/MainListOrdineAccettazioneAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/MainListOrdineAccettazioneAdapter.java index d8b3f7de..ec72e32b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/MainListOrdineAccettazioneAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/core/MainListOrdineAccettazioneAdapter.java @@ -16,6 +16,8 @@ import java.util.ArrayList; import java.util.List; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.CommonConst; +import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.dto.AccettazioneOrdineInevasoListViewModel; /** @@ -151,10 +153,10 @@ public class MainListOrdineAccettazioneAdapter extends RecyclerView.Adapter
() { - @Override - public void onSuccess(Object value) { - - mArticoliInColloBottomSheetViewModel.mtbColt.set(null); - - isFabVisible.set(true); - - progress.dismiss(); - } - - @Override - public void onFailed(Exception ex) { - progress.dismiss(); - String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); - - if(errorMessage == null) errorMessage = ex.getMessage(); - DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show(); - } - }); + if(thereIsAnyRowInUL()) { + printCollo(); + } else { + deleteCollo(); + } } } + private void printCollo() { + final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting), + mActivity.getText(R.string.loading) + " ...", true); + + progress.show(); + + PrinterRESTConsumer.getAvailablePrinters(SettingsManager.i().userSession.depo.getCodMdep(), new ISimpleOperationCallback>() { + @Override + public void onSuccess(List value) { + + if(value.size() > 0) { + PrinterRESTConsumer.printCollo( + value.get(0), + mArticoliInColloBottomSheetViewModel.mtbColt.get(), + 1, "EtichettaBancale", new ISimpleOperationCallback() { + @Override + public void onSuccess(Object value) { + + mArticoliInColloBottomSheetViewModel.mtbColt.set(null); + + isFabVisible.set(true); + + progress.dismiss(); + } + + @Override + public void onFailed(Exception ex) { + progress.dismiss(); + String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); + + if (errorMessage == null) errorMessage = ex.getMessage(); + DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show(); + } + }); + + + } else { + progress.dismiss(); + String errorMessage = "Nessuna stampante configurata"; + DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show(); + } + } + + @Override + public void onFailed(Exception ex) { + progress.dismiss(); + String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); + + if(errorMessage == null) errorMessage = ex.getMessage(); + DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show(); + + UtilityLogger.errorMe(ex); + } + }); + + + + } + + + private void deleteCollo() { + final ProgressDialog progress = ProgressDialog.show(mActivity, mActivity.getText(R.string.waiting), + mActivity.getText(R.string.loading) + " ...", true); + + progress.show(); + + ColliMagazzinoRESTConsumer.deleteCollo(mArticoliInColloBottomSheetViewModel.mtbColt.get(), () -> { + mArticoliInColloBottomSheetViewModel.mtbColt.set(null); + + isFabVisible.set(true); + + progress.dismiss(); + }, ex -> { + progress.dismiss(); + String errorMessage = CommonRESTException.tryRecognizeThenGetMessage(ex); + + if(errorMessage == null) errorMessage = ex.getMessage(); + DialogSimpleMessageHelper.makeErrorDialog(mActivity, new SpannableString(errorMessage), null, null).show(); + + UtilityLogger.errorMe(ex); + }); + } + + + public boolean thereIsAnOpenedUL() { + return mArticoliInColloBottomSheetViewModel.mtbColt.get() != null; + } + public boolean thereIsAnyRowInUL() { + return mArticoliInColloBottomSheetViewModel.mtbColt.get() != null && + mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr() != null && + mArticoliInColloBottomSheetViewModel.mtbColt.get().getMtbColr().size() > 0; + } + @Override public void onOrdineRowDispatch(final OrdineAccettazioneDTO.Riga item) { if(mArticoliInColloBottomSheetViewModel.mtbColt.get() != null){ @@ -318,13 +382,6 @@ public class AccettazioneOnOrdineInevasoViewModel implements IOnColloClosedCallb x.getRigaOrd() == item.rigaOrd ).toList(); -// List filteredMtbColrs = Coollection.from(currentMtbColrs) -// .where("codMart", Coollection.eqIgnoreCase(item.mtbAart.codMart)) -// .and("numOrd", Coollection.eq(item.numOrd)) -// .and("codJcom", Coollection.eq(item.codJcom)) -// .and("rigaOrd", Coollection.eq(item.rigaOrd)) -// .all(); - float qtaEvasaInMtbColr = 0; for (MtbColr mtbColr : filteredMtbColrs) { qtaEvasaInMtbColr += mtbColr.getQtaCol().floatValue(); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/views/NoteAggiuntiveNuovaULDialog.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/views/NoteAggiuntiveNuovaULDialog.java index d5ce4550..e5fa8788 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/views/NoteAggiuntiveNuovaULDialog.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/views/NoteAggiuntiveNuovaULDialog.java @@ -1,8 +1,6 @@ package it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.views; -import android.app.ActionBar; import android.content.Context; -import android.content.DialogInterface; import android.support.design.widget.TextInputEditText; import android.support.v7.app.AlertDialog; import android.view.ViewGroup; @@ -48,20 +46,12 @@ public class NoteAggiuntiveNuovaULDialog { .setTitle(mContext.getText(R.string.action_create_ul)) .setMessage(R.string.dialog_message_additional_notes) + .setCancelable(false) + .setView(relativeLayout) - .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - callback.onSuccess(mTextInputEditText.getText().toString()); - } - }) - .setNegativeButton(R.string.abort, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - callback.onAbort(); - } - }) + .setPositiveButton(R.string.confirm, (dialog1, which) -> callback.onSuccess(mTextInputEditText.getText().toString())) + .setNegativeButton(R.string.abort, (dialogInterface, i) -> callback.onAbort()) .create(); dialog.show(); } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java index daf9073b..5c8e393b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/input_quantity/DialogInputQuantity.java @@ -8,6 +8,7 @@ import android.databinding.DataBindingUtil; import android.databinding.Observable; import android.databinding.ViewDataBinding; import android.graphics.Color; +import android.os.Handler; import android.os.SystemClock; import android.support.design.widget.TextInputLayout; import android.support.v4.content.ContextCompat; @@ -69,12 +70,13 @@ public class DialogInputQuantity { alert.setOnShowListener(dialogInterface -> { - txlInputNumDiCnf.getEditText().requestFocus(); - //txlInputNumDiCnf.getEditText().dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN , 0, 0, 0)); - //txlInputNumDiCnf.getEditText().dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP , 0, 0, 0)); + final Handler handler = new Handler(); + handler.postDelayed(() -> { + txlInputNumDiCnf.getEditText().requestFocus(); - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - imm.showSoftInput(txlInputNumDiCnf.getEditText(), InputMethodManager.SHOW_IMPLICIT); + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.showSoftInput(txlInputNumDiCnf.getEditText(), InputMethodManager.SHOW_IMPLICIT); + }, 100); Button positiveButton = alert.getButton(AlertDialog.BUTTON_POSITIVE); @@ -88,8 +90,6 @@ public class DialogInputQuantity { }); }); - - return alert; }