diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 564d9d2a..98263fcf 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/build.gradle b/app/build.gradle index 1d9df3a1..81f368eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ apply plugin: 'com.google.gms.google-services' android { - def appVersionCode = 72 - def appVersionName = '1.6.11' + def appVersionCode = 73 + def appVersionName = '1.6.12' signingConfigs { release { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/DateNotRecognizedException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/DateNotRecognizedException.java new file mode 100644 index 00000000..976f8cf7 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/DateNotRecognizedException.java @@ -0,0 +1,9 @@ +package it.integry.integrywmsnative.core.exception; + +public class DateNotRecognizedException extends Exception { + + public DateNotRecognizedException(String dateString) { + super("Data non riconosciuta (" + dateString + ")"); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/exception/TimeNotRecognizedException.java b/app/src/main/java/it/integry/integrywmsnative/core/exception/TimeNotRecognizedException.java new file mode 100644 index 00000000..36969402 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/exception/TimeNotRecognizedException.java @@ -0,0 +1,9 @@ +package it.integry.integrywmsnative.core.exception; + +public class TimeNotRecognizedException extends Exception { + + public TimeNotRecognizedException(String dateString) { + super("Time non riconosciuto (" + dateString + ")"); + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/FiltroOrdineDTO.java b/app/src/main/java/it/integry/integrywmsnative/core/model/FiltroOrdineDTO.java index 51324c14..059eeb96 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/model/FiltroOrdineDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/FiltroOrdineDTO.java @@ -83,14 +83,17 @@ public class FiltroOrdineDTO { FiltroOrdineDTO that = (FiltroOrdineDTO) o; if (getNumOrd() != that.getNumOrd()) return false; - if (!getGestioneOrd().equals(that.getGestioneOrd())) return false; - return dataOrd.equals(that.dataOrd); + if (getGestioneOrd() != null ? !getGestioneOrd().equals(that.getGestioneOrd()) : that.getGestioneOrd() != null) + return false; + if (dataOrd != null ? !dataOrd.equals(that.dataOrd) : that.dataOrd != null) return false; + return dataCons != null ? dataCons.equals(that.dataCons) : that.dataCons == null; } @Override public int hashCode() { - int result = getGestioneOrd().hashCode(); - result = 31 * result + dataOrd.hashCode(); + int result = getGestioneOrd() != null ? getGestioneOrd().hashCode() : 0; + result = 31 * result + (dataOrd != null ? dataOrd.hashCode() : 0); + result = 31 * result + (dataCons != null ? dataCons.hashCode() : 0); result = 31 * result + getNumOrd(); return result; } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityDate.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityDate.java index 2494a6b0..73fc5a39 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityDate.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityDate.java @@ -1,8 +1,12 @@ package it.integry.integrywmsnative.core.utility; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import it.integry.integrywmsnative.core.exception.DateNotRecognizedException; +import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException; + /** * Created by GiuseppeS on 07/03/2018. */ @@ -21,7 +25,16 @@ public class UtilityDate { public static final String DMY_HUMAN_LONG = "dd MMMM yyyy"; } - public static Date recognizeDate(String dateString) throws Exception{ + public static Date recognizeDateWithExceptionHandler(String dateString) { + try{ + return UtilityDate.recognizeDate(dateString); + } catch (ParseException | DateNotRecognizedException | TimeNotRecognizedException pex){ + UtilityLogger.errorMe(pex); + return null; + } + } + + public static Date recognizeDate(String dateString) throws ParseException, DateNotRecognizedException, TimeNotRecognizedException { if (dateString == null) { return null; @@ -36,7 +49,7 @@ public class UtilityDate { if(onlyDateSubstring.contains("/")) dateSeparator = '/'; else if(onlyDateSubstring.contains("-")) dateSeparator = '-'; else if(onlyDateSubstring.contains(".")) dateSeparator = '.'; - else throw new Exception("Data non riconosciuta (" + dateString + ")"); + else throw new DateNotRecognizedException(dateString); String dateFormatString = (dateString.charAt(2) == dateSeparator) ? "dd" + dateSeparator + "MM" + dateSeparator + "yyyy" @@ -50,7 +63,7 @@ public class UtilityDate { String onlyTimeSubstring = dateString.substring(10, 14); if(onlyTimeSubstring.contains("-")) timeSeparator = '-'; else if(onlyTimeSubstring.contains(":")) timeSeparator = ':'; - else throw new Exception("Time non riconosciuto (" + dateString + ")"); + else throw new TimeNotRecognizedException(dateString); String timeFormatString = "HH" + timeSeparator + "mm" + timeSeparator + "ss"; 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 259f7e42..7cadd3bb 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 @@ -185,96 +185,6 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag } }; -// private void groupOrdiniAndMakeRecycler(List ordini){ -// -// for(OrdineAccettazioneInevasoDTO ordine : ordini){ -// if(UtilityString.isNullOrEmpty(ordine.getCodJcom()) || ordine.getCodJcom().equalsIgnoreCase(CommonConst.Config.COMMESSA_MAG)){ -// ordine.setCodJcom(CommonConst.Config.COMMESSA_MAG); -// ordine.setDescrizioneCom("MAGAZZINO"); -// } -// } -// -// groupedOrdiniInevasi = new ArrayList<>(); -// -// //Splitto gli ordini per codAnagClie -// List groupedOrdini = Stream.of(ordini) -// .map(x -> { -// OrdineAccettazioneGroupedInevasoDTO groupedOrdine = new OrdineAccettazioneGroupedInevasoDTO(); -// -// groupedOrdine.codAnagForn = x.getCodAnagOrd(); -// groupedOrdine.nomeFornitore = x.getRagSocOrd(); -// groupedOrdine.ordini = new ArrayList<>(); -// -// return groupedOrdine; -// }) -// .distinctBy(x -> x.codAnagForn + "_" + x.nomeFornitore) -// .sortBy(x -> x.nomeFornitore) -// .toList(); -// -// -// Stream.of(groupedOrdini).forEach(groupedOrdine -> { -// -// -// //Splitto gli ordini di ogni fornitore per data e numero -// List tmpOrd = Stream.of(ordini) -// .filter(x -> x.getCodAnagOrd().equals(groupedOrdine.codAnagForn)) -// -// .sortBy(x -> x.getDataConsD() != null ? x.getDataConsD() : new Date(2000, 01, 01)) -// .map(x -> { -// -// OrdineAccettazioneGroupedInevasoDTO.Ordine rigaOrdine = new OrdineAccettazioneGroupedInevasoDTO.Ordine(); -// -// rigaOrdine.data = x.getData(); -// rigaOrdine.numero = x.getNumero(); -// rigaOrdine.gestione = x.getGestione(); -// rigaOrdine.codAnagOrd = x.getCodAnagOrd(); -// rigaOrdine.ragSocOrd = x.getRagSocOrd(); -// rigaOrdine.pesoTotale = x.getPesoTotale(); -// rigaOrdine.barcode = x.getBarcode(); -// rigaOrdine.termCons = x.getTermCons(); -// rigaOrdine.dataCons = x.getDataConsS(); -// rigaOrdine.rifOrd = x.getRifOrd(); -// rigaOrdine.clienti = new ArrayList<>(); -// -// return rigaOrdine; -// }) -// .distinctBy(x -> x.barcode) -// .toList(); -// -// -// Stream.of(tmpOrd) -// .forEach(rigaOrdine -> { -// -// Stream.of(ordini) -// .filter(x -> -// x.getCodAnagOrd().equals(rigaOrdine.codAnagOrd) && -// x.getNumero() == rigaOrdine.numero && -// x.getData().equals(rigaOrdine.data)) -// .forEach(x -> { -// OrdineAccettazioneGroupedInevasoDTO.Cliente cliente = new OrdineAccettazioneGroupedInevasoDTO.Cliente(); -// -// cliente.codJcom = x.getCodJcom(); -// cliente.ragSocCom = x.getRagSocCom(); -// cliente.descrCom = x.getDescrizioneCom(); -// cliente.dataCons = x.getDataConsS(); -// cliente.numCnf = x.getNumCnf(); -// cliente.rifOrd = x.getRifOrd(); -// -// rigaOrdine.clienti.add(cliente); -// }); -// -// -// groupedOrdine.ordini.add(rigaOrdine); -// -// }); -// -// groupedOrdiniInevasi.add(groupedOrdine); -// }); -// -// mAdapter = new MainListAccettazioneAdapter(getActivity(), groupedOrdiniInevasi, onGroupSelectionChanged); -// mBinding.accettazioneMainList.setAdapter(mAdapter); -// } - private void onAccettazioneMainFabClick() { List selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList); @@ -332,23 +242,6 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag } -// private RunnableArgs onGroupSelectionChanged = dto -> { -// List selectedOrders = mHelper.getSelectedOrders(mOriginalOrderList); -// -// if(selectedOrders != null && selectedOrders.size() > 1){ -// for (OrdineAccettazioneGroupedInevasoDTO selectedOrder : selectedOrders) { -// if(!dto.codAnagForn.equalsIgnoreCase(selectedOrder.codAnagForn)) { -// Stream.of(selectedOrder.ordini).forEach(x -> x.setCheckbox(false)); -// } -// } -// } -// -// if(selectedOrders.size() > 0) mBinding.accettazioneMainFab.show(); -// else mBinding.accettazioneMainFab.hide(); -// }; - - - @Override public void onSearchEnabled() { diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java index f5725430..0e91a02a 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione/core/AccettazioneHelper.java @@ -50,7 +50,7 @@ public class AccettazioneHelper { callback.onLoadSuccess(response.body().getDto()); } else { Log.e("Accettazione", response.body().getErrorMessage()); - callback.onLoadFail(new Exception(response.message())); + callback.onLoadFail(new Exception(response.body().getErrorMessage())); } } else { Log.e("Accettazione", response.message()); @@ -97,7 +97,7 @@ public class AccettazioneHelper { onComplete.run(dto); } else { Log.e("Accettazione", response.body().getErrorMessage()); - onFailed.run(new Exception(response.message())); + onFailed.run(new Exception(response.body().getErrorMessage())); } } else { Log.e("Accettazione", response.message()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOrdineAccettazioneInevasoViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOrdineAccettazioneInevasoViewModel.java index a60ea995..a83bc2cc 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOrdineAccettazioneInevasoViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/accettazione_ordine_inevaso/viewmodel/AccettazioneOrdineAccettazioneInevasoViewModel.java @@ -236,9 +236,19 @@ public class AccettazioneOrdineAccettazioneInevasoViewModel implements IOnColloC ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mActivity); BarcodeManager.disable(); - - if(UtilityBarcode.isEtichettaAnonima(data) && !thereIsAnOpenedUL()){ - this.executeEtichettaAnonima(data, progressDialog); + if(UtilityBarcode.isEtichettaAnonima(data)){ + if(!thereIsAnOpenedUL()) this.executeEtichettaAnonima(data, progressDialog); + else { + DialogSimpleMessageHelper.makeErrorDialog( + mActivity, + new SpannableString(mActivity.getString(R.string.lu_scan_not_granted_here)), + null, + () -> { + BarcodeManager.enable(); + progressDialog.dismiss(); + }) + .show(); + } } else if(UtilityBarcode.isEtichetta128(data)) { this.executeEtichettaEan128(data, progressDialog); } else if(UtilityBarcode.isEanPeso(data)){ diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java index 8e562d31..ea7e8b5f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_lavorazione/core/ProdOrdineLavorazioneHelper.java @@ -120,7 +120,7 @@ public class ProdOrdineLavorazioneHelper { } else { Log.e("Ord Lavorazione", response.body().getErrorMessage()); UtilityFirebase.stopPerformanceTrace(perfTrace, true); - onFailed.run(new Exception(response.message())); + onFailed.run(new Exception(response.body().getErrorMessage())); } } else { Log.e("Ord Lavorazione", response.message()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneHelper.java index d3b63ed0..071417db 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_ord_produzione/core/OrdineProduzioneHelper.java @@ -43,7 +43,7 @@ public class OrdineProduzioneHelper { onComplete.run(response.body().getDto()); } else { Log.e("Accettazione", response.body().getErrorMessage()); - onFailed.run(new Exception(response.message())); + onFailed.run(new Exception(response.body().getErrorMessage())); } } else { Log.e("Accettazione", response.message()); @@ -91,7 +91,7 @@ public class OrdineProduzioneHelper { onComplete.run(dto); } else { Log.e("Produzione", response.body().getErrorMessage()); - onFailed.run(new Exception(response.message())); + onFailed.run(new Exception(response.body().getErrorMessage())); } } else { Log.e("Produzione", response.message()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/core/HistoryULsListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/core/HistoryULsListAdapter.java index c0f8360a..e67f4c05 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/core/HistoryULsListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/prod_recupero_materiale/core/HistoryULsListAdapter.java @@ -105,7 +105,7 @@ public class HistoryULsListAdapter extends SectionedRecyclerViewAdapter dataset) { UltimeConsegneMainListAdapter adapter = new UltimeConsegneMainListAdapter(mContext, dataset); adapter.setOnItemClickListener(consegna -> { - Toast.makeText(mContext, String.format("Selezionato doc n° %d del %s", consegna.getNumDoc(), consegna.getDataDoc()), Toast.LENGTH_SHORT).show(); + Toast.makeText(mContext, String.format("Selezionato doc n° %d del %s", consegna.getNumDoc(), consegna.getDataDocS()), Toast.LENGTH_SHORT).show(); }); mBinding.recyclerView.setHasFixedSize(true); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/viewmodel/UltimeConsegneMainListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/viewmodel/UltimeConsegneMainListAdapter.java index 3abcb32e..044befce 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/viewmodel/UltimeConsegneMainListAdapter.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/viewmodel/UltimeConsegneMainListAdapter.java @@ -112,7 +112,7 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< .width(40) .height(40) .fontSize(24) - .useFont(ResourcesCompat.getFont(mContext, R.font.product_sans_regular)) + .useFont(ResourcesCompat.getFont(mContext, R.font.google_sans_regular)) .endConfig(); mediumIconBuilder = TextDrawable.builder() @@ -120,7 +120,7 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< .width(40) .height(40) .fontSize(20) - .useFont(ResourcesCompat.getFont(mContext, R.font.product_sans_regular)) + .useFont(ResourcesCompat.getFont(mContext, R.font.google_sans_regular)) .endConfig(); largeIconBuilder = TextDrawable.builder() @@ -128,7 +128,7 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< .width(40) .height(40) .fontSize(16) - .useFont(ResourcesCompat.getFont(mContext, R.font.product_sans_regular)) + .useFont(ResourcesCompat.getFont(mContext, R.font.google_sans_regular)) .endConfig(); } @@ -150,7 +150,11 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) { final ConsegnaClienteDTO consegna = this.mDataset.get(position); - holder.mBinding.descriptionMain.setText(UtilityString.isNullOrEmpty(consegna.getRifOrd()) ? "" : consegna.getRifOrd()); + holder.mBinding.descriptionMain.setText(UtilityString.isNullOrEmpty(consegna.getIndirizzo()) ? "" : consegna.getIndirizzo()); + + if(consegna.getDataInizTraspD() != null) { + holder.mBinding.subDescriptionMain.setText(String.format(mContext.getText(R.string.shipped_on).toString(), UtilityDate.formatDate(consegna.getDataInizTraspD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN))); + } String numDoc = "" + consegna.getNumDoc(); @@ -163,18 +167,16 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< } try { - Date dataDoc = UtilityDate.recognizeDate(consegna.getDataDoc()); - Calendar calendarNow = Calendar.getInstance(TimeZone.getDefault()); Calendar calendarDataDoc = Calendar.getInstance(TimeZone.getDefault()); - calendarDataDoc.setTime(dataDoc); + calendarDataDoc.setTime(consegna.getDataDocD()); String dataDocString = ""; if(calendarDataDoc.get(Calendar.YEAR) == calendarNow.get(Calendar.YEAR)) { - dataDocString = UtilityDate.formatDate(dataDoc, UtilityDate.COMMONS_DATE_FORMATS.DM_HUMAN); + dataDocString = UtilityDate.formatDate(consegna.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.DM_HUMAN); } else { - dataDocString = UtilityDate.formatDate(dataDoc, UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN); + dataDocString = UtilityDate.formatDate(consegna.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.DMY_HUMAN); } holder.mBinding.date.setText(dataDocString); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java index 7e2f0e7e..aa4b68fb 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/core/VenditaHelper.java @@ -110,7 +110,7 @@ public class VenditaHelper { } else { Log.e("Vendita", response.body().getErrorMessage()); UtilityFirebase.stopPerformanceTrace(perfTrace, true); - callback.onLoadFail(new Exception(response.message())); + callback.onLoadFail(new Exception(response.body().getErrorMessage())); } } else { Log.e("Vendita", response.message()); diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/model/ConsegnaClienteDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/model/ConsegnaClienteDTO.java index b09a29f3..c6331a23 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/model/ConsegnaClienteDTO.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/vendita/rest/model/ConsegnaClienteDTO.java @@ -1,5 +1,14 @@ package it.integry.integrywmsnative.gest.vendita.rest.model; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import it.integry.integrywmsnative.core.exception.DateNotRecognizedException; +import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException; +import it.integry.integrywmsnative.core.utility.UtilityDate; +import it.integry.integrywmsnative.core.utility.UtilityLogger; + public class ConsegnaClienteDTO { private String codAnag; @@ -8,10 +17,13 @@ public class ConsegnaClienteDTO { private String dataDoc; private String serDoc; private int numDoc; + private String destinatario; + private String indirizzo; private String ragSoc; private String compilatoDa; private String rifOrd; - private String dataord; + private String dataOrd; + private String dataInizTrasp; public String getCodAnag() { return codAnag; @@ -40,10 +52,14 @@ public class ConsegnaClienteDTO { return this; } - public String getDataDoc() { + public String getDataDocS() { return dataDoc; } + public Date getDataDocD() { + return UtilityDate.recognizeDateWithExceptionHandler(getDataDocS()); + } + public ConsegnaClienteDTO setDataDoc(String dataDoc) { this.dataDoc = dataDoc; return this; @@ -67,6 +83,24 @@ public class ConsegnaClienteDTO { return this; } + public String getDestinatario() { + return destinatario; + } + + public ConsegnaClienteDTO setDestinatario(String destinatario) { + this.destinatario = destinatario; + return this; + } + + public String getIndirizzo() { + return indirizzo; + } + + public ConsegnaClienteDTO setIndirizzo(String indirizzo) { + this.indirizzo = indirizzo; + return this; + } + public String getRagSoc() { return ragSoc; } @@ -94,12 +128,30 @@ public class ConsegnaClienteDTO { return this; } - public String getDataord() { - return dataord; + public String getDataOrdS() { + return dataOrd; } - public ConsegnaClienteDTO setDataord(String dataord) { - this.dataord = dataord; + public Date getDataOrdD() { + return UtilityDate.recognizeDateWithExceptionHandler(getDataOrdS()); + } + + + public ConsegnaClienteDTO setDataOrd(String dataOrd) { + this.dataOrd = dataOrd; + return this; + } + + public String getDataInizTraspS() { + return dataInizTrasp; + } + + public Date getDataInizTraspD() { + return UtilityDate.recognizeDateWithExceptionHandler(getDataInizTraspS()); + } + + public ConsegnaClienteDTO setDataInizTrasp(String dataInizTrasp) { + this.dataInizTrasp = dataInizTrasp; return this; } } diff --git a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java index 7ad91b65..f077da15 100644 --- a/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java +++ b/app/src/main/java/it/integry/integrywmsnative/view/dialogs/scan_or_create_lu/DialogScanOrCreateLU.java @@ -34,7 +34,7 @@ import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; public class DialogScanOrCreateLU { - private Context currentContext; + private Context mContext; private Dialog mDialog; @@ -46,6 +46,7 @@ public class DialogScanOrCreateLU { private boolean mShouldCheckResiduo = false; + private boolean mShouldCheckIfExistDoc = true; public static Dialog make(final Context context, RunnableArgs onDialogDismiss) { @@ -65,7 +66,7 @@ public class DialogScanOrCreateLU { currentMtbColt = null; mShouldCheckResiduo = checkResiduo; - currentContext = context; + mContext = context; LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); @@ -88,12 +89,12 @@ public class DialogScanOrCreateLU { mOnDialogDismiss = onDialogDismiss; mBinding.createNewLuButton.setOnClickListener(v -> { - final ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(currentContext); + final ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); ColliMagazzinoRESTConsumer.createColloLavorazione(+1, createdMtbColt -> { sendMtbColt(createdMtbColt, progressDialog); }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(mContext, ex, progressDialog); }); }); } @@ -118,7 +119,7 @@ public class DialogScanOrCreateLU { private RunnableArgs onScanSuccessfull = data -> { BarcodeManager.disable(); - final ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(currentContext); + final ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(mContext); if(UtilityBarcode.isEtichettaPosizione(data)){ this.executeEtichettaPosizione(data, progressDialog); @@ -150,7 +151,7 @@ public class DialogScanOrCreateLU { ColliMagazzinoRESTConsumer.getByTestata(mtbColtList.get(0), mShouldCheckResiduo, false, mtbColt -> { sendMtbColt(mtbColt, progressDialog); }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); }); @@ -163,7 +164,7 @@ public class DialogScanOrCreateLU { } }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); }); @@ -180,21 +181,31 @@ public class DialogScanOrCreateLU { createdMtbColt.setDisablePrint(true); sendMtbColt(createdMtbColt, progressDialog); }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); }); } else { - BarcodeManager.enable(); + if(mtbColt.getCodDtip() != null && mShouldCheckIfExistDoc) { + DialogSimpleMessageHelper.makeWarningDialog(mContext, + new SpannableString(mContext.getResources().getText(R.string.lu_already_attache_to_doc)), + null, () -> { + BarcodeManager.enable(); + progressDialog.dismiss(); + }) + .show(); + } else { + BarcodeManager.enable(); - mtbColt.setDisablePrint(true); - sendMtbColt(mtbColt, progressDialog); + mtbColt.setDisablePrint(true); + sendMtbColt(mtbColt, progressDialog); + } } }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); }); } @@ -209,8 +220,19 @@ public class DialogScanOrCreateLU { if(mtbColt != null) { - BarcodeManager.enable(); - sendMtbColt(mtbColt, progressDialog); + if(mtbColt.getCodDtip() != null && mShouldCheckIfExistDoc) { + DialogSimpleMessageHelper.makeWarningDialog(mContext, + new SpannableString(mContext.getResources().getText(R.string.lu_already_attache_to_doc)), + null, () -> { + BarcodeManager.enable(); + progressDialog.dismiss(); + }) + .show(); + } else { + BarcodeManager.enable(); + sendMtbColt(mtbColt, progressDialog); + } + } else { BarcodeManager.enable(); @@ -219,7 +241,7 @@ public class DialogScanOrCreateLU { } }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); }); @@ -234,21 +256,21 @@ public class DialogScanOrCreateLU { }, ex -> { - UtilityExceptions.defaultException(currentContext, ex, progressDialog); + UtilityExceptions.defaultException(mContext, ex, progressDialog); BarcodeManager.enable(); }); } private void showTooMuchULFound() { - DialogSimpleMessageHelper.makeWarningDialog(currentContext, - new SpannableString(currentContext.getResources().getText(R.string.too_much_lu_found_message)), + DialogSimpleMessageHelper.makeWarningDialog(mContext, + new SpannableString(mContext.getResources().getText(R.string.too_much_lu_found_message)), null, null).show(); } private void showNoULFound() { - DialogSimpleMessageHelper.makeWarningDialog(currentContext, - new SpannableString(currentContext.getResources().getText(R.string.no_lu_found_message)), + DialogSimpleMessageHelper.makeWarningDialog(mContext, + new SpannableString(mContext.getResources().getText(R.string.no_lu_found_message)), null, null).show(); } diff --git a/app/src/main/res/font/google_sans_bold.ttf b/app/src/main/res/font/google_sans_bold.ttf new file mode 100644 index 00000000..80497666 Binary files /dev/null and b/app/src/main/res/font/google_sans_bold.ttf differ diff --git a/app/src/main/res/font/google_sans_bold_italic.ttf b/app/src/main/res/font/google_sans_bold_italic.ttf new file mode 100644 index 00000000..e940d022 Binary files /dev/null and b/app/src/main/res/font/google_sans_bold_italic.ttf differ diff --git a/app/src/main/res/font/google_sans_italic.ttf b/app/src/main/res/font/google_sans_italic.ttf new file mode 100644 index 00000000..bfb1a2cd Binary files /dev/null and b/app/src/main/res/font/google_sans_italic.ttf differ diff --git a/app/src/main/res/font/google_sans_medium.ttf b/app/src/main/res/font/google_sans_medium.ttf new file mode 100644 index 00000000..1543660d Binary files /dev/null and b/app/src/main/res/font/google_sans_medium.ttf differ diff --git a/app/src/main/res/font/google_sans_medium_italic.ttf b/app/src/main/res/font/google_sans_medium_italic.ttf new file mode 100644 index 00000000..7c1667bb Binary files /dev/null and b/app/src/main/res/font/google_sans_medium_italic.ttf differ diff --git a/app/src/main/res/font/google_sans_regular.ttf b/app/src/main/res/font/google_sans_regular.ttf new file mode 100644 index 00000000..ab605f9e Binary files /dev/null and b/app/src/main/res/font/google_sans_regular.ttf differ diff --git a/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_single_item.xml b/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_single_item.xml index e1c74dda..5ce391c2 100644 --- a/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_single_item.xml +++ b/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_single_item.xml @@ -32,13 +32,16 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp"> - + + diff --git a/app/src/main/res/layout/prod_recupero_materiale_list_item.xml b/app/src/main/res/layout/prod_recupero_materiale_list_item.xml index 46a04089..aa35556a 100644 --- a/app/src/main/res/layout/prod_recupero_materiale_list_item.xml +++ b/app/src/main/res/layout/prod_recupero_materiale_list_item.xml @@ -6,47 +6,59 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white" - android:paddingTop="4dp" - android:paddingBottom="4dp"> + android:paddingTop="8dp" + android:paddingBottom="8dp"> - + android:layout_marginEnd="16dp"> + + + + + - + android:layout_height="wrap_content"> - + - + + + + + + + + + + + + - - - - - - - - - diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index d9e61950..dab7bf70 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -26,6 +26,7 @@ Annulla Resetta Evasi + UL Questi permessi sono necessari al funzionamento dell\'app Picking non disponibile @@ -51,6 +52,8 @@ Conferma Note Aggiuntive Inserisci eventuali note aggiuntive della tua UL + Non è possibile scansionare il barcode di una UL adesso + L\'UL selezionata è già agganciata ad un documento per cui non può essere utilizzata Magazzino @@ -235,4 +238,7 @@ Prima di procedere seleziona un destinatario Cliente non valido Destinatario non valido + + Spedito il %s + Consegnato il %s \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 074d59a2..7c6689b8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -49,6 +49,7 @@ Confirm Additional notes Enter any additional notes in your logistics unit + LU @@ -204,6 +205,8 @@ Can\'t load current order type Can\'t load orders of different deposits The production line will not be saved because you are selecting orders for different productions + Logistics Unit\'s barcode is not accepted at this moment + Selected LU is already attached to a document hence can\'t be opened Recovering data Wait a moment @@ -241,5 +244,7 @@ Invalid customer Invalid recipient + Shipped %s + Delivered on %s diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 1c9b62d5..6bc83c19 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,7 +8,7 @@ @color/colorPrimaryDark @color/colorAccent - @font/product_sans_regular + @font/google_sans_regular @@ -18,10 +18,10 @@