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/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/ultime_consegne_cliente/viewmodel/UltimeConsegneClienteViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/viewmodel/UltimeConsegneClienteViewModel.java index b5b542dd..39b48f86 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/viewmodel/UltimeConsegneClienteViewModel.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/viewmodel/UltimeConsegneClienteViewModel.java @@ -50,7 +50,7 @@ public class UltimeConsegneClienteViewModel { private void initDataAdapter(ArrayList 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/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/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"> - + + 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..9837c1b2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -241,5 +241,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 @@