From 24a0e17fd5056bf86724a01401e6e3a528eaad99 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 1 Aug 2019 09:08:29 +0200 Subject: [PATCH] Prima implementazione Resi Cliente --- .idea/caches/build_file_checksums.ser | Bin 964 -> 964 bytes app/build.gradle | 12 +- app/src/main/AndroidManifest.xml | 15 +- .../core/REST/RESTBuilder.java | 13 +- .../REST/deserializer/DateDeserializer.java | 24 + .../configs/MenuConfiguration.java | 37 +- .../integrywmsnative/core/model/DtbDocr.java | 739 ++++++++++++++++++ .../dto/CheckableConsegnaClienteDTO.java | 48 -- .../UltimeConsegneClienteRESTConsumer.java | 44 ++ .../UltimeConsegneClienteViewModel.java | 51 +- .../UltimeConsegneMainListAdapter.java | 24 +- .../UltimeConsegneClientePickingActivity.java | 194 +++++ ...timeConsegneClientePickingListAdapter.java | 117 +++ .../rest/model/ConsegnaClienteDTO.java | 32 + .../VenditaOrdineInevasoViewModel.java | 12 +- .../activity_accettazione_ordine_inevaso.xml | 4 +- .../res/layout/activity_contenuto_bancale.xml | 4 +- ...tivity_ultime_consegne_cliente_picking.xml | 99 +++ .../activity_vendita_ordine_inevaso.xml | 7 +- app/src/main/res/layout/app_bar_main.xml | 113 +-- .../res/layout/fragment_main_accettazione.xml | 1 + .../fragment_main_rettifica_giacenze.xml | 1 + .../fragment_main_ultime_consegne_cliente.xml | 51 +- ...n_ultime_consegne_cliente__list_header.xml | 65 +- ...ime_consegne_cliente__list_single_item.xml | 12 +- .../main/res/layout/fragment_main_vendita.xml | 1 + .../res/layout/lista_bancali_list_model.xml | 3 +- .../ultime_consegne_main_list__item.xml | 89 +++ ...ultime_consegne_main_list__item_header.xml | 25 + app/src/main/res/values-it/strings.xml | 5 + app/src/main/res/values/colors.xml | 2 + app/src/main/res/values/strings.xml | 5 + app/src/main/res/values/styles.xml | 19 +- 33 files changed, 1648 insertions(+), 220 deletions(-) create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/REST/deserializer/DateDeserializer.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/dto/CheckableConsegnaClienteDTO.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/UltimeConsegneClientePickingActivity.java create mode 100644 app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/core/UltimeConsegneClientePickingListAdapter.java create mode 100644 app/src/main/res/layout/activity_ultime_consegne_cliente_picking.xml create mode 100644 app/src/main/res/layout/ultime_consegne_main_list__item.xml create mode 100644 app/src/main/res/layout/ultime_consegne_main_list__item_header.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 7842948d9b3f4c9234e717f9f46fc0b9425db641..c8aba17ab61eeae540886425df62b52739eae32a 100644 GIT binary patch delta 36 ucmV+<0Nek>2gC=EnFD~-7j0ucc-oe-S> delta 36 ucmV+<0Nek>2gC=EnFD_#r?H#|0uT}{xl%(r>ovZpKsM + android:theme="@style/AppTheme" + android:usesCleartextTraffic="true"> + - - + - + - \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java index 210bd5f2..2a24b26b 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/RESTBuilder.java @@ -1,7 +1,12 @@ package it.integry.integrywmsnative.core.REST; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.sql.Date; import java.util.concurrent.TimeUnit; +import it.integry.integrywmsnative.core.REST.deserializer.DateDeserializer; import it.integry.integrywmsnative.core.settings.SettingsManager; import okhttp3.OkHttpClient; import retrofit2.Retrofit; @@ -47,10 +52,16 @@ public class RESTBuilder { String endpoint = "http://" + host + ":" + port + "/" + (addEmsApi ? "ems-api/" : ""); + Gson gson = new GsonBuilder() + .registerTypeAdapter(Date.class, new DateDeserializer()) + .create(); + + + Retrofit retrofit = new Retrofit.Builder() + .addConverterFactory(GsonConverterFactory.create(gson)) .baseUrl(endpoint) .client(client) - .addConverterFactory(GsonConverterFactory.create()) .build(); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/REST/deserializer/DateDeserializer.java b/app/src/main/java/it/integry/integrywmsnative/core/REST/deserializer/DateDeserializer.java new file mode 100644 index 00000000..8906bd8a --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/REST/deserializer/DateDeserializer.java @@ -0,0 +1,24 @@ +package it.integry.integrywmsnative.core.REST.deserializer; + +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; + +import java.lang.reflect.Type; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; + +import it.integry.integrywmsnative.core.utility.UtilityDate; + +public class DateDeserializer implements JsonDeserializer { + + @Override + public Date deserialize(JsonElement element, Type arg1, JsonDeserializationContext arg2) throws JsonParseException { + String date = element.getAsString(); + + return UtilityDate.recognizeDateWithExceptionHandler(date); + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java index ecc4e5ea..1711f29f 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/class_router/configs/MenuConfiguration.java @@ -11,28 +11,21 @@ public class MenuConfiguration extends BaseMenuConfiguration { this .addGroup( new MenuGroup() - .setGroupText(R.string.general) + .setGroupText(R.string.purchase) .addItem(new MenuItem() .setID(R.id.nav_accettazione) .setTitleText(R.string.accettazione_title_fragment) .setTitleIcon(R.drawable.ic_dashboard_accettazione)) + ).addGroup( + new MenuGroup() + .setGroupText(R.string.checkout) .addItem(new MenuItem() .setID(R.id.nav_spedizione) .setTitleText(R.string.vendita_title_fragment) .setTitleIcon(R.drawable.ic_dashboard_spedizione)) - .addItem(new MenuItem() - .setID(R.id.nav_rettifica_giacenze) - .setTitleText(R.string.rettifica_giacenze_fragment_title) - .setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze)) - - .addItem(new MenuItem() - .setID(R.id.nav_versamento_merce) - .setTitleText(R.string.versamento_merce_fragment_title) - .setTitleIcon(R.drawable.ic_dashboard_versamento_merce)) - .addItem(new MenuItem() .setID(R.id.nav_free_picking) .setTitleText(R.string.free_picking) @@ -42,10 +35,8 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setID(R.id.nav_resi_cliente) .setTitleText(R.string.fragment_ultime_consegne_cliente_title) .setTitleIcon(R.drawable.ic_latest_delivery)) - ) - .addGroup( - new MenuGroup() - .setGroupText(R.string.production) + ).addGroup(new MenuGroup() + .setGroupText(R.string.manufacture) .addItem(new MenuItem() .setID(R.id.nav_prod_ordine_produzione) @@ -66,6 +57,22 @@ public class MenuConfiguration extends BaseMenuConfiguration { .setID(R.id.nav_prod_recupero_materiale) .setTitleText(R.string.prod_recupero_materiale_title_fragment) .setTitleIcon(R.drawable.ic_dashboard_prod_recupero_materiale)) + ) + .addGroup( + new MenuGroup() + .setGroupText(R.string.internal_handling) + + .addItem(new MenuItem() + .setID(R.id.nav_versamento_merce) + .setTitleText(R.string.versamento_merce_fragment_title) + .setTitleIcon(R.drawable.ic_dashboard_versamento_merce)) + + .addItem(new MenuItem() + .setID(R.id.nav_rettifica_giacenze) + .setTitleText(R.string.rettifica_giacenze_fragment_title) + .setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze)) + + ); } diff --git a/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java b/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java new file mode 100644 index 00000000..57a14c49 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/model/DtbDocr.java @@ -0,0 +1,739 @@ +package it.integry.integrywmsnative.core.model; + +import java.math.BigDecimal; +import java.util.Date; + +import it.integry.integrywmsnative.core.utility.UtilityDate; + +public class DtbDocr { + + private String codAnag; + + private String codDtip; + + private String dataDoc; + + private Integer idRiga; + + private Integer numDoc; + + private String serDoc; + + private String codAliq; + + private String codAnagComp; + + private String codArtFor; + + private String codCol; + + private String codDtipComp; + + private String codJcom; + + private String codMart; + + private String codMdep; + + private String codPromo; + + private String codTagl; + + private BigDecimal costoUnt; + + private String dataDocComp; + + private String dataOrd; + + private String descrizione; + + private String descrizioneEstesa; + + private String flagEvasoForzato; + + private BigDecimal importoRiga; + + private BigDecimal numCnf; + + private Integer numDocComp; + + private Integer numOrd; + + private String partitaMag; + + private BigDecimal percGest; + + private BigDecimal percIspe; + + private BigDecimal percOneri; + + private BigDecimal percPromo; + + private BigDecimal percProv; + + private BigDecimal percProv2; + + private BigDecimal pesoLordo; + + private String posizione; + + private BigDecimal qtaCnf; + + private BigDecimal qtaDoc; + + private BigDecimal qtaDoc2; + + private BigDecimal qtaDoc3; + + private BigDecimal rapConv; + + private Integer rigaOrd; + + private BigDecimal sconto5; + + private BigDecimal sconto6; + + private BigDecimal sconto7; + + private BigDecimal sconto8; + + private String serDocComp; + + private String untDoc; + + private String untDoc2; + + private String untDoc3; + + private BigDecimal valGest; + + private BigDecimal valIspe; + + private BigDecimal valOneri; + + private BigDecimal valPromo; + + private BigDecimal valProv; + + private BigDecimal valProv2; + + private BigDecimal valUnt; + + private BigDecimal valUntIva; + + private String codMtip; + + private String matricola; + + private String dataInizComp; + + private String dataFineComp; + + private String codKit; + + private String codAlis; + + private String dataInsRow; + + private String note; + + private int rigaKit; + + public String getCodAnag() { + return codAnag; + } + + public DtbDocr setCodAnag(String codAnag) { + this.codAnag = codAnag; + return this; + } + + public String getCodDtip() { + return codDtip; + } + + public DtbDocr setCodDtip(String codDtip) { + this.codDtip = codDtip; + return this; + } + + public String getDataDocS() { + return dataDoc; + } + + public Date getDataDocD() { + return UtilityDate.recognizeDateWithExceptionHandler(getDataDocS()); + } + + public DtbDocr setDataDoc(String dataDoc) { + this.dataDoc = dataDoc; + return this; + } + + public Integer getIdRiga() { + return idRiga; + } + + public DtbDocr setIdRiga(Integer idRiga) { + this.idRiga = idRiga; + return this; + } + + public Integer getNumDoc() { + return numDoc; + } + + public DtbDocr setNumDoc(Integer numDoc) { + this.numDoc = numDoc; + return this; + } + + public String getSerDoc() { + return serDoc; + } + + public DtbDocr setSerDoc(String serDoc) { + this.serDoc = serDoc; + return this; + } + + public String getCodAliq() { + return codAliq; + } + + public DtbDocr setCodAliq(String codAliq) { + this.codAliq = codAliq; + return this; + } + + public String getCodAnagComp() { + return codAnagComp; + } + + public DtbDocr setCodAnagComp(String codAnagComp) { + this.codAnagComp = codAnagComp; + return this; + } + + public String getCodArtFor() { + return codArtFor; + } + + public DtbDocr setCodArtFor(String codArtFor) { + this.codArtFor = codArtFor; + return this; + } + + public String getCodCol() { + return codCol; + } + + public DtbDocr setCodCol(String codCol) { + this.codCol = codCol; + return this; + } + + public String getCodDtipComp() { + return codDtipComp; + } + + public DtbDocr setCodDtipComp(String codDtipComp) { + this.codDtipComp = codDtipComp; + return this; + } + + public String getCodJcom() { + return codJcom; + } + + public DtbDocr setCodJcom(String codJcom) { + this.codJcom = codJcom; + return this; + } + + public String getCodMart() { + return codMart; + } + + public DtbDocr setCodMart(String codMart) { + this.codMart = codMart; + return this; + } + + public String getCodMdep() { + return codMdep; + } + + public DtbDocr setCodMdep(String codMdep) { + this.codMdep = codMdep; + return this; + } + + public String getCodPromo() { + return codPromo; + } + + public DtbDocr setCodPromo(String codPromo) { + this.codPromo = codPromo; + return this; + } + + public String getCodTagl() { + return codTagl; + } + + public DtbDocr setCodTagl(String codTagl) { + this.codTagl = codTagl; + return this; + } + + public BigDecimal getCostoUnt() { + return costoUnt; + } + + public DtbDocr setCostoUnt(BigDecimal costoUnt) { + this.costoUnt = costoUnt; + return this; + } + + public String getDataDocComp() { + return dataDocComp; + } + + public DtbDocr setDataDocComp(String dataDocComp) { + this.dataDocComp = dataDocComp; + return this; + } + + public String getDataOrd() { + return dataOrd; + } + + public DtbDocr setDataOrd(String dataOrd) { + this.dataOrd = dataOrd; + return this; + } + + public String getDescrizione() { + return descrizione; + } + + public DtbDocr setDescrizione(String descrizione) { + this.descrizione = descrizione; + return this; + } + + public String getDescrizioneEstesa() { + return descrizioneEstesa; + } + + public DtbDocr setDescrizioneEstesa(String descrizioneEstesa) { + this.descrizioneEstesa = descrizioneEstesa; + return this; + } + + public String getFlagEvasoForzato() { + return flagEvasoForzato; + } + + public DtbDocr setFlagEvasoForzato(String flagEvasoForzato) { + this.flagEvasoForzato = flagEvasoForzato; + return this; + } + + public BigDecimal getImportoRiga() { + return importoRiga; + } + + public DtbDocr setImportoRiga(BigDecimal importoRiga) { + this.importoRiga = importoRiga; + return this; + } + + public BigDecimal getNumCnf() { + return numCnf; + } + + public DtbDocr setNumCnf(BigDecimal numCnf) { + this.numCnf = numCnf; + return this; + } + + public Integer getNumDocComp() { + return numDocComp; + } + + public DtbDocr setNumDocComp(Integer numDocComp) { + this.numDocComp = numDocComp; + return this; + } + + public Integer getNumOrd() { + return numOrd; + } + + public DtbDocr setNumOrd(Integer numOrd) { + this.numOrd = numOrd; + return this; + } + + public String getPartitaMag() { + return partitaMag; + } + + public DtbDocr setPartitaMag(String partitaMag) { + this.partitaMag = partitaMag; + return this; + } + + public BigDecimal getPercGest() { + return percGest; + } + + public DtbDocr setPercGest(BigDecimal percGest) { + this.percGest = percGest; + return this; + } + + public BigDecimal getPercIspe() { + return percIspe; + } + + public DtbDocr setPercIspe(BigDecimal percIspe) { + this.percIspe = percIspe; + return this; + } + + public BigDecimal getPercOneri() { + return percOneri; + } + + public DtbDocr setPercOneri(BigDecimal percOneri) { + this.percOneri = percOneri; + return this; + } + + public BigDecimal getPercPromo() { + return percPromo; + } + + public DtbDocr setPercPromo(BigDecimal percPromo) { + this.percPromo = percPromo; + return this; + } + + public BigDecimal getPercProv() { + return percProv; + } + + public DtbDocr setPercProv(BigDecimal percProv) { + this.percProv = percProv; + return this; + } + + public BigDecimal getPercProv2() { + return percProv2; + } + + public DtbDocr setPercProv2(BigDecimal percProv2) { + this.percProv2 = percProv2; + return this; + } + + public BigDecimal getPesoLordo() { + return pesoLordo; + } + + public DtbDocr setPesoLordo(BigDecimal pesoLordo) { + this.pesoLordo = pesoLordo; + return this; + } + + public String getPosizione() { + return posizione; + } + + public DtbDocr setPosizione(String posizione) { + this.posizione = posizione; + return this; + } + + public BigDecimal getQtaCnf() { + return qtaCnf; + } + + public DtbDocr setQtaCnf(BigDecimal qtaCnf) { + this.qtaCnf = qtaCnf; + return this; + } + + public BigDecimal getQtaDoc() { + return qtaDoc; + } + + public DtbDocr setQtaDoc(BigDecimal qtaDoc) { + this.qtaDoc = qtaDoc; + return this; + } + + public BigDecimal getQtaDoc2() { + return qtaDoc2; + } + + public DtbDocr setQtaDoc2(BigDecimal qtaDoc2) { + this.qtaDoc2 = qtaDoc2; + return this; + } + + public BigDecimal getQtaDoc3() { + return qtaDoc3; + } + + public DtbDocr setQtaDoc3(BigDecimal qtaDoc3) { + this.qtaDoc3 = qtaDoc3; + return this; + } + + public BigDecimal getRapConv() { + return rapConv; + } + + public DtbDocr setRapConv(BigDecimal rapConv) { + this.rapConv = rapConv; + return this; + } + + public Integer getRigaOrd() { + return rigaOrd; + } + + public DtbDocr setRigaOrd(Integer rigaOrd) { + this.rigaOrd = rigaOrd; + return this; + } + + public BigDecimal getSconto5() { + return sconto5; + } + + public DtbDocr setSconto5(BigDecimal sconto5) { + this.sconto5 = sconto5; + return this; + } + + public BigDecimal getSconto6() { + return sconto6; + } + + public DtbDocr setSconto6(BigDecimal sconto6) { + this.sconto6 = sconto6; + return this; + } + + public BigDecimal getSconto7() { + return sconto7; + } + + public DtbDocr setSconto7(BigDecimal sconto7) { + this.sconto7 = sconto7; + return this; + } + + public BigDecimal getSconto8() { + return sconto8; + } + + public DtbDocr setSconto8(BigDecimal sconto8) { + this.sconto8 = sconto8; + return this; + } + + public String getSerDocComp() { + return serDocComp; + } + + public DtbDocr setSerDocComp(String serDocComp) { + this.serDocComp = serDocComp; + return this; + } + + public String getUntDoc() { + return untDoc; + } + + public DtbDocr setUntDoc(String untDoc) { + this.untDoc = untDoc; + return this; + } + + public String getUntDoc2() { + return untDoc2; + } + + public DtbDocr setUntDoc2(String untDoc2) { + this.untDoc2 = untDoc2; + return this; + } + + public String getUntDoc3() { + return untDoc3; + } + + public DtbDocr setUntDoc3(String untDoc3) { + this.untDoc3 = untDoc3; + return this; + } + + public BigDecimal getValGest() { + return valGest; + } + + public DtbDocr setValGest(BigDecimal valGest) { + this.valGest = valGest; + return this; + } + + public BigDecimal getValIspe() { + return valIspe; + } + + public DtbDocr setValIspe(BigDecimal valIspe) { + this.valIspe = valIspe; + return this; + } + + public BigDecimal getValOneri() { + return valOneri; + } + + public DtbDocr setValOneri(BigDecimal valOneri) { + this.valOneri = valOneri; + return this; + } + + public BigDecimal getValPromo() { + return valPromo; + } + + public DtbDocr setValPromo(BigDecimal valPromo) { + this.valPromo = valPromo; + return this; + } + + public BigDecimal getValProv() { + return valProv; + } + + public DtbDocr setValProv(BigDecimal valProv) { + this.valProv = valProv; + return this; + } + + public BigDecimal getValProv2() { + return valProv2; + } + + public DtbDocr setValProv2(BigDecimal valProv2) { + this.valProv2 = valProv2; + return this; + } + + public BigDecimal getValUnt() { + return valUnt; + } + + public DtbDocr setValUnt(BigDecimal valUnt) { + this.valUnt = valUnt; + return this; + } + + public BigDecimal getValUntIva() { + return valUntIva; + } + + public DtbDocr setValUntIva(BigDecimal valUntIva) { + this.valUntIva = valUntIva; + return this; + } + + public String getCodMtip() { + return codMtip; + } + + public DtbDocr setCodMtip(String codMtip) { + this.codMtip = codMtip; + return this; + } + + public String getMatricola() { + return matricola; + } + + public DtbDocr setMatricola(String matricola) { + this.matricola = matricola; + return this; + } + + public String getDataInizComp() { + return dataInizComp; + } + + public DtbDocr setDataInizComp(String dataInizComp) { + this.dataInizComp = dataInizComp; + return this; + } + + public String getDataFineComp() { + return dataFineComp; + } + + public DtbDocr setDataFineComp(String dataFineComp) { + this.dataFineComp = dataFineComp; + return this; + } + + public String getCodKit() { + return codKit; + } + + public DtbDocr setCodKit(String codKit) { + this.codKit = codKit; + return this; + } + + public String getCodAlis() { + return codAlis; + } + + public DtbDocr setCodAlis(String codAlis) { + this.codAlis = codAlis; + return this; + } + + public String getDataInsRow() { + return dataInsRow; + } + + public DtbDocr setDataInsRow(String dataInsRow) { + this.dataInsRow = dataInsRow; + return this; + } + + public String getNote() { + return note; + } + + public DtbDocr setNote(String note) { + this.note = note; + return this; + } + + public int getRigaKit() { + return rigaKit; + } + + public DtbDocr setRigaKit(int rigaKit) { + this.rigaKit = rigaKit; + return this; + } +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/dto/CheckableConsegnaClienteDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/dto/CheckableConsegnaClienteDTO.java deleted file mode 100644 index c85fff50..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/dto/CheckableConsegnaClienteDTO.java +++ /dev/null @@ -1,48 +0,0 @@ -package it.integry.integrywmsnative.gest.ultime_consegne_cliente.dto; - -import androidx.databinding.Observable; - -import it.integry.integrywmsnative.core.di.BindableBoolean; -import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO; - -public class CheckableConsegnaClienteDTO { - - private ConsegnaClienteDTO mItem; - private BindableBoolean checked = new BindableBoolean(false); - - public CheckableConsegnaClienteDTO(ConsegnaClienteDTO item) { - this.mItem = item; - } - - public ConsegnaClienteDTO getItem() { - return mItem; - } - - public CheckableConsegnaClienteDTO setItem(ConsegnaClienteDTO item) { - this.mItem = item; - return this; - } - - public BindableBoolean getChecked() { - return checked; - } - - public boolean isChecked() { - return checked.get(); - } - - public CheckableConsegnaClienteDTO setChecked(BindableBoolean checked) { - this.checked = checked; - return this; - } - - public CheckableConsegnaClienteDTO setCheckedValue(boolean value) { - this.checked.set(value); - return this; - } - - public void toggleCheck() { - this.checked.set(!this.checked.get()); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/rest/UltimeConsegneClienteRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/rest/UltimeConsegneClienteRESTConsumer.java index 0f80c12a..79640073 100644 --- a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/rest/UltimeConsegneClienteRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente/rest/UltimeConsegneClienteRESTConsumer.java @@ -9,7 +9,9 @@ import java.util.List; import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback; import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer; import it.integry.integrywmsnative.core.expansion.RunnableArgs; +import it.integry.integrywmsnative.core.model.DtbDocr; import it.integry.integrywmsnative.core.utility.UtilityDB; +import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO; @@ -48,4 +50,46 @@ public class UltimeConsegneClienteRESTConsumer { } + + public static void loadDocRowFromConsegna(List consegne, RunnableArgs> onComplete, RunnableArgs onFailed) { + StringBuilder sbWhereCond = new StringBuilder(); + + for(int i = 0; i < consegne.size(); i++) { + sbWhereCond.append(String.format("(data_doc = '%s' AND num_doc = %d AND ser_doc = '%s' AND cod_anag = '%s' AND cod_dtip = '%s')", + UtilityDate.formatDate(consegne.get(i).getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.YMD_SLASH), + consegne.get(i).getNumDoc(), + consegne.get(i).getSerDoc(), + consegne.get(i).getCodAnag(), + consegne.get(i).getCodDtip())); + + if(i < consegne.size()-1) sbWhereCond.append(" OR "); + } + + String sql = "SELECT dtb_docr.* " + + "FROM dtb_docr " + + "INNER JOIN mtb_aart ON dtb_docr.cod_mart = mtb_aart.cod_mart " + + "LEFT OUTER JOIN ctb_cont ON mtb_aart.cod_ccon_ricavi = ctb_cont.cod_ccon " + + "LEFT OUTER JOIN ctb_grup ON ctb_cont.cod_cgrp = ctb_grup.cod_cgrp " + + "WHERE " + + " (ctb_grup.sezione <> 1 OR ctb_grup.sezione IS NULL) AND " + + " ( " + + sbWhereCond.toString() + + " ) " + + "ORDER BY cod_mart"; + + + Type typeOfObjectsList = new TypeToken>() {}.getType(); + SystemRESTConsumer.processSql(sql, typeOfObjectsList, new ISimpleOperationCallback>() { + @Override + public void onSuccess(ArrayList value) { + if(onComplete != null) onComplete.run(value); + } + + @Override + public void onFailed(Exception ex) { + if(onFailed != null) onFailed.run(ex); + } + }); + } + } 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 39b48f86..9cfc4e24 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 @@ -2,11 +2,11 @@ package it.integry.integrywmsnative.gest.ultime_consegne_cliente.viewmodel; import android.app.ProgressDialog; import android.content.Context; -import android.widget.Toast; -import androidx.databinding.ObservableArrayList; import androidx.recyclerview.widget.LinearLayoutManager; +import com.annimon.stream.Stream; + import java.util.ArrayList; import java.util.List; @@ -15,6 +15,7 @@ import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityProgress; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteBinding; import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer; +import it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking.UltimeConsegneClientePickingActivity; import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO; public class UltimeConsegneClienteViewModel { @@ -22,11 +23,18 @@ public class UltimeConsegneClienteViewModel { private Context mContext; private FragmentMainUltimeConsegneClienteBinding mBinding; + private List mItems; + public UltimeConsegneClienteViewModel(Context context, FragmentMainUltimeConsegneClienteBinding binding) { this.mContext = context; this.mBinding = binding; this.initList(); + + this.mBinding.mainFab.hide(); + this.mBinding.mainFab.setOnClickListener(v -> { + dispatchConsegne(); + }); } @@ -39,6 +47,7 @@ public class UltimeConsegneClienteViewModel { null, null, consegne -> { + this.mItems = consegne; this.initDataAdapter(consegne); progressDialog.dismiss(); @@ -49,19 +58,45 @@ 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.getDataDocS()), Toast.LENGTH_SHORT).show(); - }); + adapter.setOnSelectionChanged(this::onSingleSelectionChanged); mBinding.recyclerView.setHasFixedSize(true); - mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(mContext)); - mBinding.recyclerView.setAdapter(adapter); - mBinding.fastscroll.setRecyclerView(mBinding.recyclerView); } + private void onSingleSelectionChanged(ConsegnaClienteDTO dto) { + List selectedOrders = getSelectedItems(); + + if(dto.isSelected()) { + Stream.of(selectedOrders) + .filter(x -> !x.getRagSoc().equalsIgnoreCase(dto.getRagSoc())) + .forEach(x -> x.setSelected(false)); + } + + if(selectedOrders != null && selectedOrders.size() > 0) { + mBinding.mainFab.show(); + } + else { + mBinding.mainFab.hide(); + } + } + + private List getSelectedItems() { + return Stream.of(this.mItems) + .filter(ConsegnaClienteDTO::isSelected) + .toList(); + } + + + private void dispatchConsegne() { + List selectedConsegne = getSelectedItems(); + + UltimeConsegneClientePickingActivity.startActivity(mContext, selectedConsegne); + } + + } 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 044befce..5aa3e53a 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 @@ -16,17 +16,16 @@ import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; import java.util.ArrayList; import java.util.Calendar; -import java.util.Date; import java.util.List; import java.util.TimeZone; import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.expansion.RunnableArgs; import it.integry.integrywmsnative.core.utility.UtilityDate; import it.integry.integrywmsnative.core.utility.UtilityExceptions; import it.integry.integrywmsnative.core.utility.UtilityString; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListHeaderBinding; import it.integry.integrywmsnative.databinding.FragmentMainUltimeConsegneClienteListSingleItemBinding; -import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dto.CheckableConsegnaClienteDTO; import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO; import it.integry.integrywmsnative.ui.fastscroll.SectionTitleProvider; @@ -36,7 +35,7 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< private List mDataset; private ArrayList mSectionTitleItems; - private OnItemClickListener onItemClickListener; + private RunnableArgs mOnSelectionChanged; private TextDrawable.IShapeBuilder smallIconBuilder; private TextDrawable.IShapeBuilder mediumIconBuilder; @@ -48,11 +47,6 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< } - public interface OnItemClickListener { - void onItemClicked(ConsegnaClienteDTO consegna); - } - - static class SubheaderHolder extends RecyclerView.ViewHolder { FragmentMainUltimeConsegneClienteListHeaderBinding mBinding; @@ -150,6 +144,8 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) { final ConsegnaClienteDTO consegna = this.mDataset.get(position); + holder.mBinding.setConsegna(consegna); + holder.mBinding.descriptionMain.setText(UtilityString.isNullOrEmpty(consegna.getIndirizzo()) ? "" : consegna.getIndirizzo()); if(consegna.getDataInizTraspD() != null) { @@ -188,9 +184,13 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< UtilityExceptions.defaultException(mContext, ex); } - holder.mBinding.getRoot().setOnClickListener(l -> { - if(onItemClickListener != null) onItemClickListener.onItemClicked(consegna); + + holder.mBinding.getRoot().setOnClickListener(v -> { + consegna.setSelected(!consegna.isSelected()); + + if(this.mOnSelectionChanged != null) mOnSelectionChanged.run(consegna); }); + } @Override @@ -214,8 +214,8 @@ public class UltimeConsegneMainListAdapter extends SectionedRecyclerViewAdapter< } - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - this.onItemClickListener = onItemClickListener; + public void setOnSelectionChanged(RunnableArgs mSelectionChanged) { + this.mOnSelectionChanged = mSelectionChanged; } } diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/UltimeConsegneClientePickingActivity.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/UltimeConsegneClientePickingActivity.java new file mode 100644 index 00000000..6efac956 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/UltimeConsegneClientePickingActivity.java @@ -0,0 +1,194 @@ +package it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ObservableArrayList; +import androidx.databinding.ObservableField; +import androidx.recyclerview.widget.LinearLayoutManager; + +import android.app.ProgressDialog; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; + +import com.tfb.fbtoast.FBToast; + +import java.util.List; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.REST.consumers.ColliMagazzinoRESTConsumer; +import it.integry.integrywmsnative.core.barcode_reader.BarcodeCallbackDTO; +import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager; +import it.integry.integrywmsnative.core.data_cache.DataCache; +import it.integry.integrywmsnative.core.model.CommonModelConsts; +import it.integry.integrywmsnative.core.model.DtbDocr; +import it.integry.integrywmsnative.core.model.MtbColr; +import it.integry.integrywmsnative.core.model.MtbColt; +import it.integry.integrywmsnative.core.utility.UtilityExceptions; +import it.integry.integrywmsnative.core.utility.UtilityProgress; +import it.integry.integrywmsnative.databinding.ActivityUltimeConsegneClientePickingBinding; +import it.integry.integrywmsnative.gest.ultime_consegne_cliente.rest.UltimeConsegneClienteRESTConsumer; +import it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking.core.UltimeConsegneClientePickingListAdapter; +import it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO; +import it.integry.plugins.barcode_base_library.model.BarcodeScanDTO; + +public class UltimeConsegneClientePickingActivity extends AppCompatActivity { + + private List consegneToPick; + private List mDtbDocrList; + + private ActivityUltimeConsegneClientePickingBinding mBinding; + + public ObservableField currentMtbColt; + + private int barcodeScannerIstanceID = -1; + + public static void startActivity(Context context, List consegnaClienteDTOList) { + String consegneCacheKey = DataCache.addItem(consegnaClienteDTOList); + + Intent intent = new Intent(context, UltimeConsegneClientePickingActivity.class); + intent.putExtra("key", consegneCacheKey); + context.startActivity(intent); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + mBinding = DataBindingUtil.setContentView(this, R.layout.activity_ultime_consegne_cliente_picking); + mBinding.setViewmodel(this); + + consegneToPick = DataCache.retrieveItem(getIntent().getStringExtra("key")); + + this.initView(); + + this.initDatiPicking(); + + + } + + @Override + public boolean onSupportNavigateUp() { + onBackPressed(); + return true; + } + + @Override + public void onBackPressed() { +// if(mArticoliInColloBottomSheetViewModel.isExpanded()){ +// mArticoliInColloBottomSheetViewModel.collapse(); +// } else if(mVenditaOrdineInevasoViewModel.thereIsAnOpenedUL()) { +// mArticoliInColloBottomSheetViewModel.closeCurrentUL(() -> { +// BarcodeManager.removeCallback(barcodeScannerIstanceID); +// super.onBackPressed(); +// }); +// +// } else { + BarcodeManager.removeCallback(barcodeScannerIstanceID); + super.onBackPressed(); +// } + } + + private void initView() { + barcodeScannerIstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO() + .setOnScanSuccessfull(this::onScanSuccessful) + .setOnScanFailed(ex -> UtilityExceptions.defaultException(this, ex, false))); + + + setSupportActionBar(this.mBinding.toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + this.mBinding.elevatedToolbar.setRecyclerView(this.mBinding.mainList); + + ProgressDialog progressDialog = UtilityProgress.createDefaultProgressDialog(this); + UltimeConsegneClienteRESTConsumer.loadDocRowFromConsegna(consegneToPick, dtbDocrToPick -> { + progressDialog.dismiss(); + this.initList(dtbDocrToPick); + }, ex -> { + UtilityExceptions.defaultException(this, ex, progressDialog); + }); + } + + private void initList(List dtbDocrList) { + this.mDtbDocrList = dtbDocrList; + + UltimeConsegneClientePickingListAdapter adapter = new UltimeConsegneClientePickingListAdapter(this, dtbDocrList); + + this.mBinding.mainList.setLayoutManager(new LinearLayoutManager(this)); + this.mBinding.mainList.setAdapter(adapter); + } + + private void initDatiPicking() { + + } + + + + + private void onScanSuccessful(BarcodeScanDTO data) { + + } + + public void createNewUL() { + this.createNewUL(null, null, null, false, true, null); + } + + public void createNewUL(Integer customNumCollo, String customSerCollo, ProgressDialog progress, boolean disablePrint, boolean closeProgress, Runnable onComplete) { + this.mBinding.mainFab.close(true); + + if (progress == null){ + progress = UtilityProgress.createDefaultProgressDialog(this); + } + + MtbColt mtbColt = new MtbColt(); + mtbColt.initDefaultFields(); +// mtbColt .setGestione(defaultGestioneOfUL) +// .setSegno(-1) +// .setRifOrd(defaultRifOrdOfUL) +// .setNumOrd(defaultNumOrdOfUL) +// .setDataOrdD(defaultDataOrdOfUL) +// .setCodAnag(defaultCodAnagOfUL) +// .setCodMdep(defaultCodMdepOfUL) +// .setOperation(CommonModelConsts.OPERATION.INSERT_OR_UPDATE); +// +// if(defaultGestioneOfUL == GestioneEnum.LAVORAZIONE) { +// mtbColt.setPosizione(defaultCodJFasOfUL); +// } +// +// if(customNumCollo != null) { +// mtbColt.setNumCollo(customNumCollo); +// } +// +// if(!UtilityString.isNullOrEmpty(customSerCollo)) { +// mtbColt.setSerCollo(customSerCollo); +// } +// +// mtbColt.generaFiltroOrdineFromDTO(defaultFiltroOrdine); +// +// ProgressDialog finalProgress = progress; +// ColliMagazzinoRESTConsumer.saveCollo(mtbColt, value -> { +// +// mtbColt +// .setNumCollo(value.getNumCollo()) +// .setDataCollo(value.getDataColloS()); +// mtbColtSessionID = ColliDataRecover.startNewSession(mtbColt); +// +// value +// .setDisablePrint(disablePrint) +// .setMtbColr(new ObservableArrayList<>()); +// +// setULToCurrentContext(value); +// +// if(closeProgress) finalProgress.dismiss(); +// +// FBToast.successToast(this, getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT); +// +// if(onComplete != null) onComplete.run(); +// +// }, ex -> { +// UtilityExceptions.defaultException(mActivity, ex, finalProgress); +// }); + + } + +} diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/core/UltimeConsegneClientePickingListAdapter.java b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/core/UltimeConsegneClientePickingListAdapter.java new file mode 100644 index 00000000..4c74c88f --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/gest/ultime_consegne_cliente_picking/core/UltimeConsegneClientePickingListAdapter.java @@ -0,0 +1,117 @@ +package it.integry.integrywmsnative.gest.ultime_consegne_cliente_picking.core; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.ViewGroup; + +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + +import com.annimon.stream.Stream; +import com.google.android.gms.common.internal.service.Common; +import com.zhukic.sectionedrecyclerview.SectionedRecyclerViewAdapter; + +import java.util.List; + +import it.integry.integrywmsnative.R; +import it.integry.integrywmsnative.core.CommonConst; +import it.integry.integrywmsnative.core.model.DtbDocr; +import it.integry.integrywmsnative.core.utility.UtilityDate; +import it.integry.integrywmsnative.core.utility.UtilityNumber; +import it.integry.integrywmsnative.core.utility.UtilityString; +import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemBinding; +import it.integry.integrywmsnative.databinding.UltimeConsegneMainListItemHeaderBinding; + +public class UltimeConsegneClientePickingListAdapter extends SectionedRecyclerViewAdapter { + + + private Context mContext; + + private List mDataset; + private LayoutInflater mInflater; + + + static class SubheaderHolder extends RecyclerView.ViewHolder { + + UltimeConsegneMainListItemHeaderBinding mBinding; + + SubheaderHolder(UltimeConsegneMainListItemHeaderBinding binding) { + super(binding.getRoot()); + this.mBinding = binding; + } + + } + + static class SingleItemViewHolder extends RecyclerView.ViewHolder { + + UltimeConsegneMainListItemBinding mBinding; + + SingleItemViewHolder(UltimeConsegneMainListItemBinding binding) { + super(binding.getRoot()); + this.mBinding = binding; + } + } + + + public UltimeConsegneClientePickingListAdapter(Context context, List data) { + this.mContext = context; + this.mInflater = LayoutInflater.from(context); + this.mDataset = Stream.of(data) + .sortBy(x -> x.getNumDoc() + " " + x.getDataDocS() + " " + x.getCodDtip() + " " + x.getSerDoc() + " " + x.getCodAnag()) + .toList(); + } + + @Override + public SingleItemViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) { + UltimeConsegneMainListItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.ultime_consegne_main_list__item, parent, false); + return new SingleItemViewHolder(binding); + } + + @Override + public SubheaderHolder onCreateSubheaderViewHolder(ViewGroup parent, int viewType) { + UltimeConsegneMainListItemHeaderBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.ultime_consegne_main_list__item_header, parent, false); + return new SubheaderHolder(binding); + } + + @Override + public void onBindItemViewHolder(final SingleItemViewHolder holder, final int position) { + final DtbDocr dtbDocr = this.mDataset.get(position); + + holder.mBinding.badge1.setText(dtbDocr.getCodMart()); + holder.mBinding.qtaEvasa.setText(String.valueOf(0)); + holder.mBinding.qtaTot.setText(UtilityNumber.decimalToString(dtbDocr.getQtaDoc())); + holder.mBinding.descrizione.setText(UtilityString.isNullOrEmpty(dtbDocr.getDescrizioneEstesa()) ? dtbDocr.getDescrizioneEstesa() : dtbDocr.getDescrizione()); + + } + + @Override + public void onBindSubheaderViewHolder(SubheaderHolder subheaderHolder, int nextItemPosition) { + DtbDocr nextDtbDocr = this.mDataset.get(nextItemPosition); + subheaderHolder.mBinding.descrizione.setText(nextDtbDocr.getCodDtip() + " - N° " + nextDtbDocr.getNumDoc() + " del " + UtilityDate.formatDate(nextDtbDocr.getDataDocD(), UtilityDate.COMMONS_DATE_FORMATS.DM_HUMAN)); + } + + @Override + public boolean onPlaceSubheaderBetweenItems(int position) { + + DtbDocr compare1 = this.mDataset.get(position); + DtbDocr compare2 = this.mDataset.get(position + 1); + + if( !compare1.getDataDocS().equalsIgnoreCase(compare2.getDataDocS()) || + !compare1.getSerDoc().equalsIgnoreCase(compare2.getSerDoc()) || + !compare1.getNumDoc().equals(compare2.getNumDoc()) || + !compare1.getCodAnag().equalsIgnoreCase(compare2.getCodAnag()) || + !compare1.getCodDtip().equalsIgnoreCase(compare2.getCodDtip())) { + return true; + } + + return false; + } + + @Override + public int getItemSize() { + return this.mDataset.size(); + } + + + +} 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 c6331a23..66457a4e 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 @@ -4,6 +4,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import it.integry.integrywmsnative.core.di.BindableBoolean; import it.integry.integrywmsnative.core.exception.DateNotRecognizedException; import it.integry.integrywmsnative.core.exception.TimeNotRecognizedException; import it.integry.integrywmsnative.core.utility.UtilityDate; @@ -23,8 +24,17 @@ public class ConsegnaClienteDTO { private String compilatoDa; private String rifOrd; private String dataOrd; + private Integer numOrd; private String dataInizTrasp; + + public BindableBoolean selected; + + public ConsegnaClienteDTO() { + this.selected = new BindableBoolean(false); + } + + public String getCodAnag() { return codAnag; } @@ -142,6 +152,15 @@ public class ConsegnaClienteDTO { return this; } + public Integer getNumOrd() { + return numOrd; + } + + public ConsegnaClienteDTO setNumOrd(Integer numOrd) { + this.numOrd = numOrd; + return this; + } + public String getDataInizTraspS() { return dataInizTrasp; } @@ -154,4 +173,17 @@ public class ConsegnaClienteDTO { this.dataInizTrasp = dataInizTrasp; return this; } + + public BindableBoolean getSelected() { + return this.selected; + } + + public boolean isSelected() { + return this.selected.get(); + } + + public ConsegnaClienteDTO setSelected(boolean selected) { + this.selected.set(selected); + return this; + } } 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 343337dc..3de66558 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 @@ -854,19 +854,9 @@ public class VenditaOrdineInevasoViewModel implements IOnColloClosedCallback, IO if(closeProgress) finalProgress.dismiss(); - FBToast.successToast(mActivity,mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT); - - -// new StatusBarAlert.Builder(mActivity) -// .autoHide(true) -// .withDuration(2500) -// .showProgress(false) -// .withText(R.string.data_saved) -// .withAlertColor(R.color.mainGreen) -// .build(); + FBToast.successToast(mActivity, mActivity.getResources().getString(R.string.data_saved) ,FBToast.LENGTH_SHORT); if(onComplete != null) onComplete.run(); - } @Override diff --git a/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml b/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml index db6918f8..72371844 100644 --- a/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml +++ b/app/src/main/res/layout/activity_accettazione_ordine_inevaso.xml @@ -181,8 +181,8 @@ fab:menu_animationDelayPerItem="50" fab:menu_backgroundColor="@color/white_bg_alpha" fab:menu_buttonSpacing="0dp" - fab:menu_colorNormal="@color/colorPrimary" - fab:menu_colorPressed="@color/colorPrimaryDark" + fab:menu_colorNormal="@color/colorSecondary" + fab:menu_colorPressed="@color/colorSecondaryDark" fab:menu_fab_size="normal" fab:menu_labels_colorNormal="@color/white" fab:menu_labels_colorPressed="@color/white_pressed" diff --git a/app/src/main/res/layout/activity_contenuto_bancale.xml b/app/src/main/res/layout/activity_contenuto_bancale.xml index 1ff6db11..0bd81acb 100644 --- a/app/src/main/res/layout/activity_contenuto_bancale.xml +++ b/app/src/main/res/layout/activity_contenuto_bancale.xml @@ -197,8 +197,8 @@ fab:menu_animationDelayPerItem="50" fab:menu_backgroundColor="@color/white_bg_alpha" fab:menu_buttonSpacing="0dp" - fab:menu_colorNormal="@color/colorPrimary" - fab:menu_colorPressed="@color/colorPrimaryDark" + fab:menu_colorNormal="@color/colorSecondary" + fab:menu_colorPressed="@color/colorSecondaryDark" fab:menu_fab_size="normal" fab:menu_labels_colorNormal="@color/white" fab:menu_labels_colorPressed="@color/white_pressed" diff --git a/app/src/main/res/layout/activity_ultime_consegne_cliente_picking.xml b/app/src/main/res/layout/activity_ultime_consegne_cliente_picking.xml new file mode 100644 index 00000000..09cacaec --- /dev/null +++ b/app/src/main/res/layout/activity_ultime_consegne_cliente_picking.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml b/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml index 54fc744d..d3400632 100644 --- a/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml +++ b/app/src/main/res/layout/activity_vendita_ordine_inevaso.xml @@ -21,8 +21,7 @@ + android:layout_height="match_parent"> - + + + + + + + android:text="@string/app_name" + android:visibility="gone" + android:layout_centerVertical="true" + android:gravity="left" + style="@style/AppTheme.NewMaterial.Text.ToolbarTitle"/> - + + - - - - - - - + diff --git a/app/src/main/res/layout/fragment_main_accettazione.xml b/app/src/main/res/layout/fragment_main_accettazione.xml index 5a851576..615296d2 100644 --- a/app/src/main/res/layout/fragment_main_accettazione.xml +++ b/app/src/main/res/layout/fragment_main_accettazione.xml @@ -88,6 +88,7 @@ android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" android:tint="@android:color/white" + style="@style/Widget.MaterialComponents.FloatingActionButton" app:srcCompat="@drawable/ic_check_black_24dp" /> diff --git a/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml b/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml index a4f1b772..87c1191c 100644 --- a/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml +++ b/app/src/main/res/layout/fragment_main_rettifica_giacenze.xml @@ -277,6 +277,7 @@ android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:tint="@android:color/white" + style="@style/Widget.MaterialComponents.FloatingActionButton" app:srcCompat="@drawable/ic_check_black_24dp" android:onClick="@{() -> viewmodel.closeLU(true, true)}" android:visibility="@{viewmodel.isFabVisible.get() ? View.VISIBLE : View.GONE}" diff --git a/app/src/main/res/layout/fragment_main_ultime_consegne_cliente.xml b/app/src/main/res/layout/fragment_main_ultime_consegne_cliente.xml index 68c337f8..bfada5c2 100644 --- a/app/src/main/res/layout/fragment_main_ultime_consegne_cliente.xml +++ b/app/src/main/res/layout/fragment_main_ultime_consegne_cliente.xml @@ -10,28 +10,47 @@ - - + android:layout_height="match_parent"> - + + + + + + + + + + - - - + android:layout_height="wrap_content" + android:layout_gravity="bottom|end" + android:layout_margin="@dimen/fab_margin" + android:tint="@android:color/white" + style="@style/Widget.MaterialComponents.FloatingActionButton" + app:srcCompat="@drawable/ic_check_black_24dp" /> + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_header.xml b/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_header.xml index b0fcd552..d77f0a29 100644 --- a/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_header.xml +++ b/app/src/main/res/layout/fragment_main_ultime_consegne_cliente__list_header.xml @@ -18,38 +18,51 @@ - - + android:layout_marginStart="6dp" + android:layout_marginEnd="6dp" + android:layout_marginTop="12dp" + android:layout_marginBottom="8dp" + app:cardElevation="2dp" + app:cardCornerRadius="4dp"> - + android:paddingStart="8dp" + android:paddingEnd="8dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:background="@color/colorAccent"> - - - - - - - - - + - + + + + + + + + + + + + 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 5ce391c2..1d003715 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 @@ -4,8 +4,8 @@ + name="consegna" + type="it.integry.integrywmsnative.gest.vendita.rest.model.ConsegnaClienteDTO" /> + android:orientation="horizontal" + android:background="@drawable/bg_checked_layout" + app:backgroundTintResID="@{consegna.selected.get() ? R.color.bg_checked_layout : android.R.color.transparent}" > \ No newline at end of file diff --git a/app/src/main/res/layout/lista_bancali_list_model.xml b/app/src/main/res/layout/lista_bancali_list_model.xml index 5e30a8d6..17f9fabe 100644 --- a/app/src/main/res/layout/lista_bancali_list_model.xml +++ b/app/src/main/res/layout/lista_bancali_list_model.xml @@ -1,5 +1,5 @@ - + @@ -27,6 +27,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/ultime_consegne_main_list__item_header.xml b/app/src/main/res/layout/ultime_consegne_main_list__item_header.xml new file mode 100644 index 00000000..efda0d5e --- /dev/null +++ b/app/src/main/res/layout/ultime_consegne_main_list__item_header.xml @@ -0,0 +1,25 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index dab7bf70..345ac748 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -145,6 +145,7 @@ Lista UL Contenuto UL Spedizione merce + Ultime consegne %d - %s]]> @@ -228,7 +229,11 @@ Seleziona tutto Generale + Acquisti + Vendita + Lavorazione Produzione + Movimentazione interna Accettazione da produzione Picking per lavorazione Versamento materiale diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index e166eb5b..258995a6 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,6 +2,8 @@ #1A73E8 #0049b4 + #4db6ac + #459B90 #387ef5 #3f3f51b5 #757575 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7c6689b8..935f0718 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -146,6 +146,7 @@ LU List LU Content Shipping goods + Latest deliveries %d - %s]]> @@ -232,7 +233,11 @@ Select all General + Purchase + Check out + Manufacture Production + Internal handling Production picking Manufacture picking Deposit raw material diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 6bc83c19..bd5dfdd5 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -28,6 +28,14 @@ @color/gray_600 14sp + + @@ -135,7 +143,16 @@ + +