diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 245da2b4..acf8fdef 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -29,6 +29,10 @@
android:screenOrientation="portrait"
android:theme="@style/Light"
android:windowSoftInputMode="adjustNothing" />
+
getAll();
+
+ @Insert
+ Long insert(SqlMtbColr mtbColr);
+
+ @Update
+ void update(SqlMtbColr mtbColr);
+
+ @Delete
+ void delete(SqlMtbColr mtbColr);
+
+ @Query("SELECT * from mtb_colr where id_collo = :idDocument")
+ List getDocumentRows(int idDocument);
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColtDao.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColtDao.java
new file mode 100644
index 00000000..15da5fc7
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/dao/MtbColtDao.java
@@ -0,0 +1,36 @@
+package it.integry.integrywmsnative.core.data_store.db.dao;
+
+import androidx.room.Dao;
+import androidx.room.Delete;
+import androidx.room.Insert;
+import androidx.room.Query;
+import androidx.room.Update;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
+import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
+import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
+
+@Dao
+public interface MtbColtDao {
+ @Query("SELECT * from mtb_colt")
+ List getAll();
+
+ @Insert
+ Long insert(SqlMtbColt mtbColt);
+
+ @Update
+ void update(SqlMtbColt mtbColt);
+
+ @Delete
+ void delete(SqlMtbColt mtbColt);
+
+ @Query("SELECT mtb_colt.*, count(mtb_colr.id) as countArticoli from mtb_colt left outer join mtb_colr on (mtb_colr.id_collo = mtb_colt.id) where cod_dtip_provv = :codDtip AND cod_mgrp = :codMgrp and cod_dtip is null group by mtb_colt.id")
+ List getLocalDocumentsByCodDtipAndCodMgrp(String codDtip, String codMgrp);
+
+ @Query("SELECT ifnull(MAX(num_collo),0) +1 as num_collo from mtb_colt")
+ Integer getNextNumCollo();
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/SqlMtbColr.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/SqlMtbColr.java
new file mode 100644
index 00000000..73e3666b
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/SqlMtbColr.java
@@ -0,0 +1,438 @@
+package it.integry.integrywmsnative.core.data_store.db.entity;
+
+import androidx.room.ColumnInfo;
+import androidx.room.Entity;
+import androidx.room.ForeignKey;
+import androidx.room.Index;
+import androidx.room.PrimaryKey;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Entity(
+ tableName = "mtb_colr",
+ indices = {
+ @Index(value = {"data_collo", "ser_collo", "num_collo", "gestione","riga"}, unique = true),
+ @Index(value = {"id_collo"})
+ },
+ foreignKeys = {
+ @ForeignKey(
+ entity = SqlMtbColt.class,
+ parentColumns = "id",
+ childColumns = "id_collo",
+ onDelete = ForeignKey.CASCADE
+ )
+ }
+)
+
+public class SqlMtbColr {
+
+ @PrimaryKey(autoGenerate = true)
+ @ColumnInfo(name = "id")
+ private int id;
+
+ @ColumnInfo(name = "id_collo")
+ private int idCollo;
+
+
+ @ColumnInfo(name = "data_collo")
+ private Date dataCollo;
+
+ @ColumnInfo(name = "gestione")
+ private String gestione;
+
+ @ColumnInfo(name = "ser_collo")
+ private String serCollo;
+
+ @ColumnInfo(name = "descrizione")
+ private String descrizione;
+
+ @ColumnInfo(name = "num_collo")
+ private Integer numCollo;
+
+
+ @ColumnInfo(name = "riga")
+ private Integer riga;
+
+ @ColumnInfo(name = "riga_ord")
+ private Integer rigaOrd;
+
+ @ColumnInfo(name = "cod_mart")
+ private String codMart;
+
+ @ColumnInfo(name = "cod_barre")
+ private String codBarre;
+
+ @ColumnInfo(name = "cod_col")
+ private String codCol;
+
+ @ColumnInfo(name = "cod_tagl")
+ private String codTagl;
+
+ @ColumnInfo(name = "partita_mag")
+ private String partitaMag;
+
+ @ColumnInfo(name = "gestione_rif")
+ private String gestioneRif;
+
+ @ColumnInfo(name = "ser_collo_rif")
+ private String serColloRif;
+
+ @ColumnInfo(name = "note")
+ private String note;
+
+ @ColumnInfo(name = "data_ord")
+ private Date dataOrd;
+
+ @ColumnInfo(name = "data_collo_rif")
+ private Date dataColloRif;
+
+ @ColumnInfo(name = "qta_cnf")
+ private Float qtaCnf;
+
+ @ColumnInfo(name = "qta_col")
+ private Float qtaCol;
+
+ @ColumnInfo(name = "num_ord")
+ private Integer numOrd;
+
+ @ColumnInfo(name = "num_etich")
+ private Integer numEtich;
+
+ @ColumnInfo(name = "num_collo_rif")
+ private Integer numColloRif;
+
+ @ColumnInfo(name = "datetime_row")
+ private Date datetimeRow;
+
+ @ColumnInfo(name = "cod_jcom")
+ private String codJcom;
+
+ @ColumnInfo(name = "num_cnf")
+ private Float numCnf;
+
+ @ColumnInfo(name = "causale")
+ private String causale;
+
+ @ColumnInfo(name = "utente")
+ private String utente;
+
+ @ColumnInfo(name = "cod_anag_doc")
+ private String codAnagDoc;
+
+ @ColumnInfo(name = "cod_dtip_doc")
+ private String codDtipDoc;
+
+ @ColumnInfo(name = "data_doc")
+ private Date dataDoc;
+
+ @ColumnInfo(name = "ser_doc")
+ private String serDoc;
+
+ @ColumnInfo(name = "num_doc")
+ private Integer numDoc;
+
+ @ColumnInfo(name = "id_riga_doc")
+ private Integer idRigaDoc;
+
+ @ColumnInfo(name = "unt_mis")
+ private String untMis;
+ @ColumnInfo(name = "data_scad")
+ private Date dataScad;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getIdCollo() {
+ return idCollo;
+ }
+
+ public void setIdCollo(int idCollo) {
+ this.idCollo = idCollo;
+ }
+
+ public Date getDataCollo() {
+ return dataCollo;
+ }
+
+ public void setDataCollo(Date dataCollo) {
+ this.dataCollo = dataCollo;
+ }
+
+ public String getGestione() {
+ return gestione;
+ }
+
+ public void setGestione(String gestione) {
+ this.gestione = gestione;
+ }
+
+ public String getSerCollo() {
+ return serCollo;
+ }
+
+ public void setSerCollo(String serCollo) {
+ this.serCollo = serCollo;
+ }
+
+ public Integer getNumCollo() {
+ return numCollo;
+ }
+
+ public void setNumCollo(Integer numCollo) {
+ this.numCollo = numCollo;
+ }
+
+ public Integer getRiga() {
+ return riga;
+ }
+
+ public void setRiga(Integer riga) {
+ this.riga = riga;
+ }
+
+ public Integer getRigaOrd() {
+ return rigaOrd;
+ }
+
+ public void setRigaOrd(Integer rigaOrd) {
+ this.rigaOrd = rigaOrd;
+ }
+
+ public String getCodMart() {
+ return codMart;
+ }
+
+ public void setCodMart(String codMart) {
+ this.codMart = codMart;
+ }
+
+ public String getCodBarre() {
+ return codBarre;
+ }
+
+ public void setCodBarre(String codBarre) {
+ this.codBarre = codBarre;
+ }
+
+ public String getCodCol() {
+ return codCol;
+ }
+
+ public void setCodCol(String codCol) {
+ this.codCol = codCol;
+ }
+
+ public String getCodTagl() {
+ return codTagl;
+ }
+
+ public void setCodTagl(String codTagl) {
+ this.codTagl = codTagl;
+ }
+
+ public String getPartitaMag() {
+ return partitaMag;
+ }
+
+ public void setPartitaMag(String partitaMag) {
+ this.partitaMag = partitaMag;
+ }
+
+ public String getGestioneRif() {
+ return gestioneRif;
+ }
+
+ public void setGestioneRif(String gestioneRif) {
+ this.gestioneRif = gestioneRif;
+ }
+
+ public String getSerColloRif() {
+ return serColloRif;
+ }
+
+ public void setSerColloRif(String serColloRif) {
+ this.serColloRif = serColloRif;
+ }
+
+ public String getNote() {
+ return note;
+ }
+
+ public void setNote(String note) {
+ this.note = note;
+ }
+
+ public Date getDataOrd() {
+ return dataOrd;
+ }
+
+ public void setDataOrd(Date dataOrd) {
+ this.dataOrd = dataOrd;
+ }
+
+ public Date getDataColloRif() {
+ return dataColloRif;
+ }
+
+ public void setDataColloRif(Date dataColloRif) {
+ this.dataColloRif = dataColloRif;
+ }
+
+ public Float getQtaCnf() {
+ return qtaCnf;
+ }
+
+ public void setQtaCnf(Float qtaCnf) {
+ this.qtaCnf = qtaCnf;
+ }
+
+ public Float getQtaCol() {
+ return qtaCol;
+ }
+
+ public void setQtaCol(Float qtaCol) {
+ this.qtaCol = qtaCol;
+ }
+
+ public Integer getNumOrd() {
+ return numOrd;
+ }
+
+ public void setNumOrd(Integer numOrd) {
+ this.numOrd = numOrd;
+ }
+
+ public Integer getNumEtich() {
+ return numEtich;
+ }
+
+ public void setNumEtich(Integer numEtich) {
+ this.numEtich = numEtich;
+ }
+
+ public Integer getNumColloRif() {
+ return numColloRif;
+ }
+
+ public void setNumColloRif(Integer numColloRif) {
+ this.numColloRif = numColloRif;
+ }
+
+ public Date getDatetimeRow() {
+ return datetimeRow;
+ }
+
+ public void setDatetimeRow(Date datetimeRow) {
+ this.datetimeRow = datetimeRow;
+ }
+
+ public String getCodJcom() {
+ return codJcom;
+ }
+
+ public void setCodJcom(String codJcom) {
+ this.codJcom = codJcom;
+ }
+
+ public Float getNumCnf() {
+ return numCnf;
+ }
+
+ public void setNumCnf(Float numCnf) {
+ this.numCnf = numCnf;
+ }
+
+ public String getCausale() {
+ return causale;
+ }
+
+ public void setCausale(String causale) {
+ this.causale = causale;
+ }
+
+ public String getUtente() {
+ return utente;
+ }
+
+ public void setUtente(String utente) {
+ this.utente = utente;
+ }
+
+ public String getCodAnagDoc() {
+ return codAnagDoc;
+ }
+
+ public void setCodAnagDoc(String codAnagDoc) {
+ this.codAnagDoc = codAnagDoc;
+ }
+
+ public String getCodDtipDoc() {
+ return codDtipDoc;
+ }
+
+ public void setCodDtipDoc(String codDtipDoc) {
+ this.codDtipDoc = codDtipDoc;
+ }
+
+ public Date getDataDoc() {
+ return dataDoc;
+ }
+
+ public void setDataDoc(Date dataDoc) {
+ this.dataDoc = dataDoc;
+ }
+
+ public String getSerDoc() {
+ return serDoc;
+ }
+
+ public void setSerDoc(String serDoc) {
+ this.serDoc = serDoc;
+ }
+
+ public Integer getNumDoc() {
+ return numDoc;
+ }
+
+ public void setNumDoc(Integer numDoc) {
+ this.numDoc = numDoc;
+ }
+
+ public Integer getIdRigaDoc() {
+ return idRigaDoc;
+ }
+
+ public void setIdRigaDoc(Integer idRigaDoc) {
+ this.idRigaDoc = idRigaDoc;
+ }
+
+ public String getUntMis() {
+ return untMis;
+ }
+
+ public void setUntMis(String untMis) {
+ this.untMis = untMis;
+ }
+
+ public String getDescrizione() {
+ return descrizione;
+ }
+
+ public void setDescrizione(String descrizione) {
+ this.descrizione = descrizione;
+ }
+
+ public Date getDataScad() {
+ return dataScad;
+ }
+
+ public void setDataScad(Date dataScad) {
+ this.dataScad = dataScad;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/SqlMtbColt.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/SqlMtbColt.java
new file mode 100644
index 00000000..43ab4491
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/entity/SqlMtbColt.java
@@ -0,0 +1,341 @@
+package it.integry.integrywmsnative.core.data_store.db.entity;
+
+import androidx.room.ColumnInfo;
+import androidx.room.Entity;
+import androidx.room.Ignore;
+import androidx.room.Index;
+import androidx.room.PrimaryKey;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Entity(
+ tableName = "mtb_colt",
+ indices = {
+ @Index(value = {"data_collo", "ser_collo", "num_collo", "gestione"}, unique = true)
+ }
+)
+
+public class SqlMtbColt {
+
+ @PrimaryKey(autoGenerate = true)
+ @ColumnInfo(name = "id")
+ private int id;
+
+ @ColumnInfo(name = "username")
+ private String username;
+
+ @ColumnInfo
+ private String gestione;
+
+ @ColumnInfo(name = "data_collo")
+ private Date dataCollo;
+
+ @ColumnInfo(name = "ser_collo")
+ private String serCollo;
+
+ @ColumnInfo(name = "num_collo")
+ private Integer numCollo;
+
+ @ColumnInfo(name = "rif_ord")
+ private String rifOrd;
+
+ @ColumnInfo(name = "cod_anag")
+ private String codAnag;
+
+ @ColumnInfo(name = "cod_vdes")
+ private String codVdes;
+
+ @ColumnInfo(name = "cod_mdep")
+ private String codMdep;
+
+ @ColumnInfo(name = "cod_vlis")
+ private String codVlis;
+
+ @ColumnInfo(name = "cod_dtip")
+ private String codDtip;
+
+ @ColumnInfo(name = "cod_tcol")
+ private String codTcol;
+
+ @ColumnInfo(name = "ser_doc")
+ private String serDoc;
+
+ @ColumnInfo(name = "annotazioni")
+ private String annotazioni;
+
+ @ColumnInfo(name = "posizione")
+ private String posizione;
+
+ @ColumnInfo(name = "cod_dtip_provv")
+ private String codDtipProvv;
+
+ @ColumnInfo(name = "ser_doc_provv")
+ private String serDocProvv;
+
+ @ColumnInfo(name = "cod_jfas")
+ private String codJfas;
+
+ @ColumnInfo(name = "data_ord")
+ private Date dataOrd;
+
+ @ColumnInfo(name = "data_doc")
+ private Date dataDoc;
+
+ @ColumnInfo(name = "data_doc_provv")
+ private Date dataDocProvv;
+
+ @ColumnInfo(name = "cod_mgrp")
+ private String codMgrp;
+
+ @ColumnInfo(name = "data_vers")
+ private Date dataVers;
+
+ @ColumnInfo(name = "segno")
+ private Integer segno;
+
+ @ColumnInfo(name = "num_ord")
+ private Integer numOrd;
+
+ @ColumnInfo(name = "num_doc")
+ private Integer numDoc;
+
+ @ColumnInfo(name = "num_doc_provv")
+ private Integer numDocProvv;
+
+ @Ignore
+ private List sqlMtbColrs = new ArrayList<>();
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getGestione() {
+ return gestione;
+ }
+
+ public void setGestione(String gestione) {
+ this.gestione = gestione;
+ }
+
+ public Date getDataCollo() {
+ return dataCollo;
+ }
+
+ public void setDataCollo(Date dataCollo) {
+ this.dataCollo = dataCollo;
+ }
+
+ public String getSerCollo() {
+ return serCollo;
+ }
+
+ public void setSerCollo(String serCollo) {
+ this.serCollo = serCollo;
+ }
+
+ public Integer getNumCollo() {
+ return numCollo;
+ }
+
+ public void setNumCollo(Integer numCollo) {
+ this.numCollo = numCollo;
+ }
+
+ public String getRifOrd() {
+ return rifOrd;
+ }
+
+ public void setRifOrd(String rifOrd) {
+ this.rifOrd = rifOrd;
+ }
+
+ public String getCodAnag() {
+ return codAnag;
+ }
+
+ public void setCodAnag(String codAnag) {
+ this.codAnag = codAnag;
+ }
+
+ public String getCodVdes() {
+ return codVdes;
+ }
+
+ public void setCodVdes(String codVdes) {
+ this.codVdes = codVdes;
+ }
+
+ public String getCodMdep() {
+ return codMdep;
+ }
+
+ public void setCodMdep(String codMdep) {
+ this.codMdep = codMdep;
+ }
+
+ public String getCodVlis() {
+ return codVlis;
+ }
+
+ public void setCodVlis(String codVlis) {
+ this.codVlis = codVlis;
+ }
+
+ public String getCodDtip() {
+ return codDtip;
+ }
+
+ public void setCodDtip(String codDtip) {
+ this.codDtip = codDtip;
+ }
+
+ public String getCodTcol() {
+ return codTcol;
+ }
+
+ public void setCodTcol(String codTcol) {
+ this.codTcol = codTcol;
+ }
+
+ public String getSerDoc() {
+ return serDoc;
+ }
+
+ public void setSerDoc(String serDoc) {
+ this.serDoc = serDoc;
+ }
+
+ public String getAnnotazioni() {
+ return annotazioni;
+ }
+
+ public void setAnnotazioni(String annotazioni) {
+ this.annotazioni = annotazioni;
+ }
+
+ public String getPosizione() {
+ return posizione;
+ }
+
+ public void setPosizione(String posizione) {
+ this.posizione = posizione;
+ }
+
+ public String getCodDtipProvv() {
+ return codDtipProvv;
+ }
+
+ public void setCodDtipProvv(String codDtipProvv) {
+ this.codDtipProvv = codDtipProvv;
+ }
+
+ public String getSerDocProvv() {
+ return serDocProvv;
+ }
+
+ public void setSerDocProvv(String serDocProvv) {
+ this.serDocProvv = serDocProvv;
+ }
+
+ public String getCodJfas() {
+ return codJfas;
+ }
+
+ public void setCodJfas(String codJfas) {
+ this.codJfas = codJfas;
+ }
+
+ public Date getDataOrd() {
+ return dataOrd;
+ }
+
+ public void setDataOrd(Date dataOrd) {
+ this.dataOrd = dataOrd;
+ }
+
+ public Date getDataDoc() {
+ return dataDoc;
+ }
+
+ public void setDataDoc(Date dataDoc) {
+ this.dataDoc = dataDoc;
+ }
+
+ public Date getDataDocProvv() {
+ return dataDocProvv;
+ }
+
+ public void setDataDocProvv(Date dataDocProvv) {
+ this.dataDocProvv = dataDocProvv;
+ }
+
+ public Date getDataVers() {
+ return dataVers;
+ }
+
+ public void setDataVers(Date dataVers) {
+ this.dataVers = dataVers;
+ }
+
+ public Integer getSegno() {
+ return segno;
+ }
+
+ public void setSegno(Integer segno) {
+ this.segno = segno;
+ }
+
+ public Integer getNumOrd() {
+ return numOrd;
+ }
+
+ public void setNumOrd(Integer numOrd) {
+ this.numOrd = numOrd;
+ }
+
+ public Integer getNumDoc() {
+ return numDoc;
+ }
+
+ public void setNumDoc(Integer numDoc) {
+ this.numDoc = numDoc;
+ }
+
+ public Integer getNumDocProvv() {
+ return numDocProvv;
+ }
+
+ public void setNumDocProvv(Integer numDocProvv) {
+ this.numDocProvv = numDocProvv;
+ }
+
+ public List getSqlMtbColrs() {
+ return sqlMtbColrs;
+ }
+
+ public void setSqlMtbColrs(List sqlMtbColrs) {
+ this.sqlMtbColrs = sqlMtbColrs;
+ }
+
+ public String getCodMgrp() {
+ return codMgrp;
+ }
+
+ public void setCodMgrp(String codMgrp) {
+ this.codMgrp = codMgrp;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColrRepository.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColrRepository.java
new file mode 100644
index 00000000..30741319
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColrRepository.java
@@ -0,0 +1,21 @@
+package it.integry.integrywmsnative.core.data_store.db.repository;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+
+public interface MtbColrRepository {
+
+ void selectAll(RunnableArgs> onSuccess, RunnableArgs onError);
+
+ void insert(SqlMtbColr mtbColr, RunnableArgs onSuccess, RunnableArgs onError);
+
+ void update(SqlMtbColr mtbColr, RunnableArgs onSuccess, RunnableArgs onError);
+
+ void delete(SqlMtbColr mtbColr, Runnable onSuccess, RunnableArgs onError);
+
+ void getDocumentRows(SqlMtbColt sqlMtbColt, RunnableArgs> onSuccess, RunnableArgs onError);
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColtRepository.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColtRepository.java
new file mode 100644
index 00000000..317d1056
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/MtbColtRepository.java
@@ -0,0 +1,27 @@
+package it.integry.integrywmsnative.core.data_store.db.repository;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
+import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
+import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
+import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+
+public interface MtbColtRepository {
+
+ void selectAll(RunnableArgs> onSuccess, RunnableArgs onError);
+
+ void insert(SqlMtbColt mtbColt, RunnableArgs onSuccess, RunnableArgs onError);
+
+ void update(SqlMtbColt mtbColt, RunnableArgs onSuccess, RunnableArgs onError);
+
+ void delete(SqlMtbColt mtbColt, Runnable onSuccess, RunnableArgs onError);
+
+ void getLocalDocumentsByCodDtipAndCodMgrp(String codDtip, String codMgrp, RunnableArgs> onSuccess, RunnableArgs onError);
+
+ void getNextNumCollo(RunnableArgs onSuccess, RunnableArgs onError);
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/SqlMtbColrDataSource.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/SqlMtbColrDataSource.java
new file mode 100644
index 00000000..3ad66cbe
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/SqlMtbColrDataSource.java
@@ -0,0 +1,77 @@
+package it.integry.integrywmsnative.core.data_store.db.repository.implementations;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import it.integry.integrywmsnative.core.data_store.db.dao.MtbColrDao;
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrRepository;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+
+public class SqlMtbColrDataSource extends Repository implements MtbColrRepository {
+
+ private MtbColrDao mMtbColrDao;
+
+ @Inject
+ public SqlMtbColrDataSource(MtbColrDao mtbColrDao) {
+ this.mMtbColrDao = mtbColrDao;
+ }
+
+ public void selectAll(RunnableArgs> onSuccess, RunnableArgs onError) {
+ Runnable query = () -> {
+ try {
+ onSuccess.run(mMtbColrDao.getAll());
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ };
+ execute(query);
+ }
+
+ public void insert(SqlMtbColr mtbColr, RunnableArgs onSuccess, RunnableArgs onError) {
+ execute(() -> {
+ try {
+ Long id = mMtbColrDao.insert(mtbColr);
+ onSuccess.run(id.intValue());
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ });
+ }
+
+
+ public void update(SqlMtbColr mtbColr, RunnableArgs onSuccess, RunnableArgs onError) {
+ execute(() -> {
+ try {
+ mMtbColrDao.update(mtbColr);
+ onSuccess.run(mtbColr);
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ });
+ }
+
+ public void delete(SqlMtbColr mtbColr, Runnable onSuccess, RunnableArgs onError) {
+ execute(() -> {
+ try {
+ mMtbColrDao.delete(mtbColr);
+ onSuccess.run();
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ });
+ }
+
+ public void getDocumentRows(SqlMtbColt document, RunnableArgs> onSuccess, RunnableArgs onError) {
+ Runnable query = () -> {
+ try {
+ onSuccess.run(mMtbColrDao.getDocumentRows(document.getId()));
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ };
+ execute(query);
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/SqlMtbColtDataSource.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/SqlMtbColtDataSource.java
new file mode 100644
index 00000000..52f95f0f
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/repository/implementations/SqlMtbColtDataSource.java
@@ -0,0 +1,92 @@
+package it.integry.integrywmsnative.core.data_store.db.repository.implementations;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import it.integry.integrywmsnative.core.data_store.db.dao.MtbColtDao;
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
+import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+
+public class SqlMtbColtDataSource extends Repository implements MtbColtRepository {
+
+ private MtbColtDao mMtbColtDao;
+
+ @Inject
+ public SqlMtbColtDataSource(MtbColtDao mtbColtDao) {
+ this.mMtbColtDao = mtbColtDao;
+ }
+
+ public void selectAll(RunnableArgs> onSuccess, RunnableArgs onError) {
+ Runnable query = () -> {
+ try {
+ onSuccess.run(mMtbColtDao.getAll());
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ };
+ execute(query);
+ }
+
+ public void insert(SqlMtbColt mtbColt, RunnableArgs onSuccess, RunnableArgs onError) {
+ execute(() -> {
+ try {
+ Long id = mMtbColtDao.insert(mtbColt);
+ onSuccess.run(id.intValue());
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ });
+ }
+
+
+ public void update(SqlMtbColt mtbColt, RunnableArgs onSuccess, RunnableArgs onError) {
+ execute(() -> {
+ try {
+ mMtbColtDao.update(mtbColt);
+ onSuccess.run(mtbColt);
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ });
+ }
+
+ public void delete(SqlMtbColt mtbColt, Runnable onSuccess, RunnableArgs onError) {
+ execute(() -> {
+ try {
+ mMtbColtDao.delete(mtbColt);
+ onSuccess.run();
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ });
+ }
+
+ @Override
+ public void getLocalDocumentsByCodDtipAndCodMgrp(String codDtip, String codMgrp, RunnableArgs> onSuccess, RunnableArgs onError) {
+ Runnable query = () -> {
+ try {
+ onSuccess.run(mMtbColtDao.getLocalDocumentsByCodDtipAndCodMgrp(codDtip,codMgrp));
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ };
+ execute(query);
+ }
+
+ @Override
+ public void getNextNumCollo(RunnableArgs onSuccess, RunnableArgs onError) {
+ Runnable query = () -> {
+ try {
+ onSuccess.run(mMtbColtDao.getNextNumCollo());
+ } catch (Exception e) {
+ onError.run(e);
+ }
+ };
+ execute(query);
+ }
+
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/DocInternoWrapper.java b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/DocInternoWrapper.java
new file mode 100644
index 00000000..0bdb925d
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/core/data_store/db/wrappers/DocInternoWrapper.java
@@ -0,0 +1,30 @@
+package it.integry.integrywmsnative.core.data_store.db.wrappers;
+
+import androidx.room.ColumnInfo;
+import androidx.room.Embedded;
+
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+
+public class DocInternoWrapper {
+ @Embedded
+ private SqlMtbColt document;
+
+ @ColumnInfo(name = "countArticoli")
+ private int countArticoli = 0;
+
+ public SqlMtbColt getDocument() {
+ return document;
+ }
+
+ public void setDocument(SqlMtbColt document) {
+ this.document = document;
+ }
+
+ public int getCountArticoli() {
+ return countArticoli;
+ }
+
+ public void setCountArticoli(int countArticoli) {
+ this.countArticoli = countArticoli;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/di/BindableString.java b/app/src/main/java/it/integry/integrywmsnative/core/di/BindableString.java
index 27bad837..e427859e 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/di/BindableString.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/di/BindableString.java
@@ -7,6 +7,20 @@ import it.integry.integrywmsnative.core.expansion.RunnableArgs;
public class BindableString extends BaseObservable {
String value;
+ private boolean isHtml = false;
+
+ public BindableString(){};
+ public BindableString(boolean isHtml){
+ this.isHtml = isHtml;
+ };
+ public BindableString(String startingValue ,boolean isHtml){
+ this.isHtml = isHtml;
+ this.set(startingValue);
+ };
+
+ public boolean isHtml() {
+ return isHtml;
+ }
public String get() {
return value != null ? value : "";
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java b/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java
index 5c9814a0..6c9ace57 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/di/Converters.java
@@ -2,6 +2,7 @@ package it.integry.integrywmsnative.core.di;
import android.app.DatePickerDialog;
import android.content.res.ColorStateList;
+import android.text.Html;
import android.text.SpannableString;
import android.util.Log;
import android.view.View;
@@ -126,8 +127,9 @@ public class Converters {
view.addTextChangedListener(watcher);
}
String newValue = bindableString.get();
+ boolean isHtml = bindableString.isHtml();
if (!view.getText().toString().equals(newValue)) {
- view.setText(newValue);
+ view.setText(isHtml ? Html.fromHtml(newValue) : newValue);
}
}
@@ -367,8 +369,9 @@ public class Converters {
view.addTextChangedListener(watcher);
}
String newValue = bindableString.get();
+ boolean isHtml = bindableString.isHtml();
if (!view.getText().toString().equals(newValue)) {
- view.setText(newValue);
+ view.setText(isHtml ? Html.fromHtml(newValue) : newValue);
}
}
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/interfaces/ISearcableFragment.java b/app/src/main/java/it/integry/integrywmsnative/core/interfaces/ISearchableFragment.java
similarity index 61%
rename from app/src/main/java/it/integry/integrywmsnative/core/interfaces/ISearcableFragment.java
rename to app/src/main/java/it/integry/integrywmsnative/core/interfaces/ISearchableFragment.java
index 1e6bd842..ed9f1bd4 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/interfaces/ISearcableFragment.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/interfaces/ISearchableFragment.java
@@ -2,7 +2,7 @@ package it.integry.integrywmsnative.core.interfaces;
import androidx.appcompat.widget.SearchView;
-public interface ISearcableFragment extends SearchView.OnQueryTextListener, IDestroyableFragment {
+public interface ISearchableFragment extends SearchView.OnQueryTextListener, IDestroyableFragment {
void onSearchEnabled();
diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java
index 4ed21b07..56f4a086 100644
--- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java
+++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/PrinterRESTConsumer.java
@@ -57,10 +57,10 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
public void printCollo(Type printerType, MtbColt testataColloToPrint, Runnable onComplete, RunnableArgs onFailed) {
- if (BuildConfig.DEBUG) {
- onComplete.run();
- return;
- }
+// if (BuildConfig.DEBUG) {
+// onComplete.run();
+// return;
+// }
PrinterRESTConsumerService printerService = RESTBuilder.getService(PrinterRESTConsumerService.class);
Call> callable = null;
@@ -88,10 +88,10 @@ public class PrinterRESTConsumer extends _BaseRESTConsumer {
public void printReport(String printerName, String reportName, HashMap params, int quantity, Runnable onComplete, RunnableArgs onFailed) {
- if (BuildConfig.DEBUG) {
- onComplete.run();
- return;
- }
+// if (BuildConfig.DEBUG) {
+// onComplete.run();
+// return;
+// }
JasperDTO jasperDTO = new JasperDTO();
jasperDTO.setReportName(reportName);
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 a2f249c1..d88bd431 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
@@ -28,7 +28,7 @@ import it.integry.integrywmsnative.core.data_cache.DataCache;
import it.integry.integrywmsnative.core.di.BindableBoolean;
import it.integry.integrywmsnative.core.expansion.BaseFragment;
import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
-import it.integry.integrywmsnative.core.interfaces.ISearcableFragment;
+import it.integry.integrywmsnative.core.interfaces.ISearchableFragment;
import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;
@@ -43,7 +43,7 @@ import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePicking
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
-public class MainAccettazioneFragment extends BaseFragment implements ISearcableFragment, ITitledFragment, IScrollableFragment, MainAccettazioneViewModel.Listener {
+public class MainAccettazioneFragment extends BaseFragment implements ISearchableFragment, ITitledFragment, IScrollableFragment, MainAccettazioneViewModel.Listener {
public BindableBoolean fabVisible = new BindableBoolean(false);
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniComponent.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniComponent.java
new file mode 100644
index 00000000..1390140e
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniComponent.java
@@ -0,0 +1,14 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni;
+
+import dagger.Subcomponent;
+
+@Subcomponent()
+public interface DocInterniComponent {
+ @Subcomponent.Factory
+ interface Factory {
+ DocInterniComponent create();
+ }
+
+ void inject(DocInterniFragment docInterniFragment);
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniFragment.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniFragment.java
new file mode 100644
index 00000000..9bd200cb
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniFragment.java
@@ -0,0 +1,177 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni;
+
+
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.appcompat.widget.AppCompatTextView;
+import androidx.databinding.DataBindingUtil;
+import androidx.databinding.ObservableArrayList;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import com.annimon.stream.Stream;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import it.integry.integrywmsnative.MainApplication;
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
+import it.integry.integrywmsnative.core.expansion.BaseFragment;
+import it.integry.integrywmsnative.core.interfaces.IScrollableFragment;
+import it.integry.integrywmsnative.core.interfaces.ITitledFragment;
+import it.integry.integrywmsnative.core.settings.SettingsManager;
+import it.integry.integrywmsnative.databinding.FragmentDocInterniBinding;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectMgrpDtipPairView;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectMgrpDtipPairViewModel;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocAndGruppiArtDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormActivity;
+import it.integry.integrywmsnative.gest.contab_doc_interni.ui.DocInterniListAdapter;
+import it.integry.integrywmsnative.gest.contab_doc_interni.ui.DocInterniListModel;
+import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity;
+import it.integry.integrywmsnative.gest.spedizione.ui.SpedizioneListAdapter;
+import it.integry.integrywmsnative.ui.ElevatedToolbar;
+
+public class DocInterniFragment extends BaseFragment implements ITitledFragment, IScrollableFragment, DocInterniViewModel.Listener {
+
+ @Inject
+ DocInterniViewModel mViewModel;
+
+ private final ObservableArrayList mDocInterniMutableData = new ObservableArrayList<>();
+ private ElevatedToolbar mToolbar;
+ private FragmentDocInterniBinding mBinding;
+ private TipiDocAndGruppiArtDTO mTipiDocAndGruppiArtDTO;
+ private final List mOnPreDestroyList = new ArrayList<>();
+ private boolean dialogInitialized = false;
+
+
+ public DocInterniFragment() {
+ // Required empty public constructor
+ }
+
+ public static DocInterniFragment newInstance() {
+ DocInterniFragment fragment = new DocInterniFragment();
+ Bundle args = new Bundle();
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ public void onCreateActionBar(AppCompatTextView titleText, Context context) {
+ titleText.setText(context.getText(R.string.doc_interni).toString());
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+
+ mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_doc_interni, container, false);
+ MainApplication.appComponent
+ .docInterniComponent()
+ .create()
+ .inject(this);
+
+ mViewModel.setListeners(this);
+ mBinding.setLifecycleOwner(this);
+ mBinding.setView(this);
+ mBinding.setViewModel(mViewModel);
+ this.initRecyclerView();
+
+ return mBinding.getRoot();
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ if (!this.mViewModel.hasDocDetails()){
+ mViewModel.init();
+ }else{
+ this.mViewModel.fetchDocuments();
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ for (Runnable onPreDestroy : mOnPreDestroyList) {
+ onPreDestroy.run();
+ }
+ super.onDestroy();
+ }
+
+ @Override
+ public void onGruppiArtAndTipiDocFetch(TipiDocAndGruppiArtDTO tipiDocAndGruppiArtDTO) {
+ this.mTipiDocAndGruppiArtDTO = tipiDocAndGruppiArtDTO;
+ this.dialogInitialized = true;
+ this.selectCodMgrpAndCodDtip();
+ }
+
+ @Override
+ public void onDocDetailsChanged(DialogSelectMgrpDtipPairViewModel selection) {
+
+ this.mViewModel.setSelectedDocDetails(selection);
+ this.mBinding.mainFab.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public void setScrollToolbar(ElevatedToolbar toolbar) {
+ mToolbar = toolbar;
+ }
+
+ @Override
+ public void addOnPreDestroy(Runnable onPreDestroy) {
+ this.mOnPreDestroyList.add(onPreDestroy);
+ }
+
+ public void selectCodMgrpAndCodDtip() {
+ if (this.dialogInitialized){
+ DialogSelectMgrpDtipPairView.newInstance(
+ mTipiDocAndGruppiArtDTO,
+ this.mViewModel.dtbTipi.getValue(),
+ this.mViewModel.mtbGrup.getValue(),
+ this::onDocDetailsChanged
+ ).show(requireActivity().getSupportFragmentManager(), "tag");
+ }
+ }
+
+ private void initRecyclerView() {
+ this.mViewModel.getDocsList().observe(getViewLifecycleOwner(), this::refreshList);
+ DocInterniListAdapter docInterniListAdapter = new DocInterniListAdapter(this.requireActivity(), this.mDocInterniMutableData);
+ docInterniListAdapter.setEmptyView(this.mBinding.docInterniEmptyView);
+ this.mBinding.docInterniMainList.setAdapter(docInterniListAdapter);
+ this.mBinding.docInterniMainList.setLayoutManager(new LinearLayoutManager(this.requireActivity()));
+
+ docInterniListAdapter.setOnItemClicked(this.mViewModel::editDocument);
+ if (mToolbar != null)
+ mToolbar.setRecyclerView(this.mBinding.docInterniMainList);
+ }
+
+ private void refreshList(List filteredList) {
+ this.mDocInterniMutableData.clear();
+ this.mDocInterniMutableData.addAll(convertDataModelToListModel(mViewModel.getDocsList().getValue()));
+ }
+
+ private List convertDataModelToListModel(List dataList) {
+
+ return Stream.of(dataList)
+ .map(x -> {
+ DocInterniListModel listModel = new DocInterniListModel();
+ listModel.setDocument(x.getDocument());
+ listModel.setProductsCount(x.getCountArticoli());
+ return listModel;
+ })
+ .toList();
+
+ }
+
+ @Override
+ public void onDocumentEditRequest(SqlMtbColt document, GrigliaAcquistiDTO arts) {
+ requireActivity().startActivity(DocInterniEditFormActivity.newInstance(requireActivity(),document,arts));
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniModule.java
new file mode 100644
index 00000000..759b6f01
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniModule.java
@@ -0,0 +1,16 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni;
+
+import dagger.Module;
+import dagger.Provides;
+import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
+import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
+
+@Module(subcomponents = DocInterniComponent.class)
+public class DocInterniModule {
+
+ @Provides
+ DocInterniViewModel docInterniViewModel(DocInterniRESTConsumer docInterniRESTConsumer, MtbColtRepository mtbColtRepository) {
+ return new DocInterniViewModel(docInterniRESTConsumer,mtbColtRepository);
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java
new file mode 100644
index 00000000..b21030e1
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/DocInterniViewModel.java
@@ -0,0 +1,177 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni;
+
+import androidx.lifecycle.MutableLiveData;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
+import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
+import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
+import it.integry.integrywmsnative.core.di.BindableInteger;
+import it.integry.integrywmsnative.core.interfaces.viewmodel_listeners.ILoadingListener;
+import it.integry.integrywmsnative.core.settings.SettingsManager;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectMgrpDtipPairViewModel;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GrigliaAcquistiDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GruppiArticoloDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocAndGruppiArtDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
+
+public class DocInterniViewModel {
+
+ private Listener mListener;
+ private final DocInterniRESTConsumer mDocInterniRESTConsumer;
+ private boolean productsFetched = true;
+ private boolean docsFetched = true;
+ private int nextNumCollo = 0;
+ private GrigliaAcquistiDTO productsList;
+
+
+ public final MutableLiveData dtbTipi = new MutableLiveData<>();
+ public final MutableLiveData mtbGrup = new MutableLiveData<>();
+ private final MutableLiveData> mDocsList = new MutableLiveData<>();
+ public final BindableInteger artsSize = new BindableInteger(0);
+ @Inject
+ MtbColtRepository documentRepository;
+
+ @Inject
+ public DocInterniViewModel(DocInterniRESTConsumer docInterniRESTConsumer, MtbColtRepository documentRepository) {
+ mDocInterniRESTConsumer = docInterniRESTConsumer;
+ this.documentRepository = documentRepository;
+ this.mDocsList.setValue(new ArrayList<>());
+ }
+
+
+ public void init() {
+ this.sendOnLoadingStarted();
+// new Thread(() -> {
+ mDocInterniRESTConsumer.getDocTypesAndGroupArts(returnDto -> {
+ this.sendOnLoadingEnded();
+ this.mListener.onGruppiArtAndTipiDocFetch(returnDto);
+ }, this::sendError);
+// }).start();
+ }
+
+ private void sendOnLoadingStarted() {
+ if (this.mListener != null) mListener.onLoadingStarted();
+ }
+
+ private void sendOnLoadingEnded() {
+ if (this.mListener != null) mListener.onLoadingEnded();
+ }
+
+ private void sendError(Exception ex) {
+ if (this.mListener != null) mListener.onError(ex);
+ }
+
+ public DocInterniViewModel setListeners(Listener listener) {
+ this.mListener = listener;
+ return this;
+ }
+
+ public MutableLiveData> getDocsList() {
+ return mDocsList;
+ }
+
+ public void setSelectedDocDetails(DialogSelectMgrpDtipPairViewModel selection) {
+ if (selection.getSelectedGruppoArt() != null && selection.getSelectedTipoDoc() != null) {
+ if (this.dtbTipi.getValue() == null || this.mtbGrup.getValue() == null || !this.dtbTipi.getValue().equals(selection.getSelectedTipoDoc()) || !this.mtbGrup.getValue().equals(selection.getSelectedGruppoArt())) {
+ this.dtbTipi.setValue(selection.getSelectedTipoDoc());
+ this.mtbGrup.setValue(selection.getSelectedGruppoArt());
+ this.fetchProducts();
+ this.fetchDocuments();
+ }
+ }
+ }
+
+ public void fetchProducts() {
+ this.productsFetched = false;
+ mDocInterniRESTConsumer.fetchProducts(this.dtbTipi.getValue().getCodDtip(), this.mtbGrup.getValue().getCodMgrp(), returnDto -> {
+ this.productsFetched = true;
+ this.productsList = returnDto;
+ this.artsSize.set(returnDto.getGrigliaAcquistiChild().size());
+ if (this.docsFetched) {
+ this.sendOnLoadingEnded();
+ }
+ }, this::sendError);
+ }
+
+ public void fetchDocuments() {
+ this.docsFetched = false;
+ this.sendOnLoadingStarted();
+ documentRepository.getLocalDocumentsByCodDtipAndCodMgrp(this.getCodDtip(), this.getCodMgrp(), list -> {
+ documentRepository.getNextNumCollo(nextNumCollo->{
+ this.mDocsList.postValue(list);
+ this.setNextNumCollo(nextNumCollo);
+ this.docsFetched = true;
+ if (this.productsFetched) {
+ this.sendOnLoadingEnded();
+ }
+ },this::sendError);
+ },this::sendError);
+ }
+
+ private void setNextNumCollo(Integer nextNumCollo) {
+ this.nextNumCollo = nextNumCollo;
+ }
+
+ private String getCodDtip() {
+ if (this.dtbTipi.getValue() == null) {
+ return null;
+ }
+ return this.dtbTipi.getValue().getCodDtip();
+ }
+
+ private String getCodMgrp() {
+ if (this.mtbGrup.getValue() == null) {
+ return null;
+ }
+ return this.mtbGrup.getValue().getCodMgrp();
+ }
+
+ public void editDocument(SqlMtbColt document) {
+ this.mListener.onDocumentEditRequest(document, productsList);
+ }
+
+ public void newDocument() {
+ SqlMtbColt document = new SqlMtbColt();
+ if (this.dtbTipi.getValue() == null) {
+ this.sendError(new Exception("Nessun tipo documento selezionato!"));
+ return;
+ }
+ document.setCodDtipProvv(this.getCodDtip());
+ document.setCodMgrp(this.getCodMgrp());
+ document.setDataCollo(new Date());
+ document.setCodMdep(SettingsManager.i().getUserSession().getDepo().getCodMdep());
+ document.setAnnotazioni("");
+ document.setSegno(-1);
+ document.setSerCollo("/");
+ document.setNumCollo(this.nextNumCollo);
+ document.setGestione("L");
+ documentRepository.insert(document,id->{
+ document.setId(id);
+ this.editDocument(document);
+ }, this::sendError);
+ }
+
+ public boolean hasDocDetails() {
+ return this.dtbTipi.getValue() != null && this.mtbGrup.getValue() != null;
+ }
+
+ public interface Listener extends ILoadingListener {
+
+ void onError(Exception ex);
+
+ void onGruppiArtAndTipiDocFetch(TipiDocAndGruppiArtDTO tipiDocAndGruppiArtDTO);
+
+ void onDocDetailsChanged(DialogSelectMgrpDtipPairViewModel selection);
+
+ void onDocumentEditRequest(SqlMtbColt document, GrigliaAcquistiDTO arts);
+
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairComponent.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairComponent.java
new file mode 100644
index 00000000..1dad1961
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairComponent.java
@@ -0,0 +1,17 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dialog;
+
+import dagger.Subcomponent;
+import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniFragment;
+
+@Subcomponent
+public interface DialogSelectMgrpDtipPairComponent {
+
+ @Subcomponent.Factory
+ interface Factory {
+ DialogSelectMgrpDtipPairComponent create();
+ }
+
+
+ void inject(DialogSelectMgrpDtipPairView dialogSelectMgrpDtipPairView);
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairModule.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairModule.java
new file mode 100644
index 00000000..870b1ab3
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairModule.java
@@ -0,0 +1,17 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dialog;
+
+import javax.inject.Singleton;
+
+import dagger.Module;
+import dagger.Provides;
+
+@Module(subcomponents = DialogSelectMgrpDtipPairComponent.class)
+public class DialogSelectMgrpDtipPairModule {
+
+ @Singleton
+ @Provides
+ DialogSelectMgrpDtipPairViewModel dialogSelectMgrpDtipPairViewModel() {
+ return new DialogSelectMgrpDtipPairViewModel();
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairView.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairView.java
new file mode 100644
index 00000000..95b70691
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairView.java
@@ -0,0 +1,161 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dialog;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.databinding.DataBindingUtil;
+
+import javax.inject.Inject;
+
+import it.integry.integrywmsnative.MainApplication;
+import it.integry.integrywmsnative.R;
+import it.integry.integrywmsnative.core.di.BindableString;
+import it.integry.integrywmsnative.core.expansion.BaseDialogFragment;
+import it.integry.integrywmsnative.core.expansion.RunnableArgs;
+import it.integry.integrywmsnative.databinding.DialogSelectTipoDocAndGroupArtBinding;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GruppiArticoloDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocAndGruppiArtDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO;
+
+public class DialogSelectMgrpDtipPairView extends BaseDialogFragment {
+
+ @Inject
+ DialogSelectMgrpDtipPairViewModel mViewModel;
+ private Context mCurrentContext;
+
+
+ public BindableString codDtip = new BindableString();
+ public BindableString codMgrp = new BindableString();
+ private ArrayAdapter arrayAdapterCodDtips;
+ private ArrayAdapter arrayAdapterCodMgrps;
+ private DialogSelectTipoDocAndGroupArtBinding mBindings;
+
+ private RunnableArgs currentOnFilterDone;
+ private TipiDocAndGruppiArtDTO mTipiDocAndGruppiArtDTO;
+ private TipiDocDTO mSelectedDtip;
+ private GruppiArticoloDTO mSelectedGrp;
+
+
+ public static DialogSelectMgrpDtipPairView newInstance(
+ TipiDocAndGruppiArtDTO tipiDocAndGruppiArtDTO,
+ TipiDocDTO tipiDocDTO,
+ GruppiArticoloDTO gruppiArticoloDTO,
+ RunnableArgs onDismiss
+ ) {
+ return new DialogSelectMgrpDtipPairView(tipiDocAndGruppiArtDTO,tipiDocDTO,gruppiArticoloDTO, onDismiss);
+ }
+
+
+ private DialogSelectMgrpDtipPairView(TipiDocAndGruppiArtDTO tipiDocAndGruppiArtDTO,TipiDocDTO tipiDocDTO, GruppiArticoloDTO gruppiArticoloDTO, RunnableArgs onDismiss) {
+ super();
+ currentOnFilterDone = onDismiss;
+ mTipiDocAndGruppiArtDTO = tipiDocAndGruppiArtDTO;
+ mSelectedDtip = tipiDocDTO;
+ mSelectedGrp = gruppiArticoloDTO;
+ }
+
+ @Override
+ public void onDismiss(@NonNull DialogInterface dialog) {
+ super.onDismiss(dialog);
+ if (currentOnFilterDone != null) currentOnFilterDone.run(mViewModel);
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ this.mCurrentContext = this.requireActivity();
+
+ mBindings = DataBindingUtil.inflate(inflater, R.layout.dialog_select_tipo_doc_and_group_art, container, false);
+ mBindings.setLifecycleOwner(this);
+
+ MainApplication
+ .appComponent
+ .dialogSelectMgrpDtipPairComponent()
+ .create()
+ .inject(this);
+ mViewModel.init(mTipiDocAndGruppiArtDTO);
+ mBindings.setView(this);
+ mBindings.setViewmodel(mViewModel);
+
+ getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
+ getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ initView();
+
+
+ mBindings.positiveBtn.setOnClickListener(view -> {
+ if (this.isInputValid()) {
+ getDialog().dismiss();
+ }
+ });
+
+
+ return mBindings.getRoot();
+ }
+
+ private void initView() {
+ initArrayAdapters();
+ initBindables();
+ if (mSelectedDtip != null){
+ codDtip.set(mSelectedDtip.getLabel());
+ }
+ if (mSelectedGrp != null){
+ codMgrp.set(mSelectedGrp.getLabel());
+ }
+ }
+
+ private boolean isInputValid() {
+ if (this.mViewModel.getSelectedTipoDoc() == null) {
+ mBindings.inputCodDtip.setErrorEnabled(true);
+ mBindings.inputCodDtip.setError("Seleziona un tipo documento");
+ return false;
+ }
+ if (this.mViewModel.getSelectedGruppoArt() == null) {
+ mBindings.inputCodMgrps.setErrorEnabled(true);
+ mBindings.inputCodMgrps.setError("Seleziona un gruppo merceologico");
+ return false;
+ }
+
+ return true;
+ }
+
+ private void initArrayAdapters() {
+
+ arrayAdapterCodDtips = new ArrayAdapter<>(mCurrentContext, R.layout.dialog_select_tipo_doc_and_group_art__single_item);
+ arrayAdapterCodDtips.addAll(mViewModel.getAvailableCodDtips());
+ mBindings.filledExposedDropdownCodDtips.setAdapter(arrayAdapterCodDtips);
+
+
+ arrayAdapterCodMgrps = new ArrayAdapter<>(mCurrentContext, R.layout.dialog_select_tipo_doc_and_group_art__single_item);
+ arrayAdapterCodMgrps.addAll(mViewModel.getAvailableCodMgrps());
+ mBindings.filledExposedDropdownCodMgrps.setAdapter(arrayAdapterCodMgrps);
+ }
+
+ public DialogSelectMgrpDtipPairView setCodDtip(String codDtip) {
+ this.codDtip.set(codDtip);
+ return this;
+ }
+
+ public DialogSelectMgrpDtipPairView setCodMgrp(String codMgrp) {
+ this.codMgrp.set(codMgrp);
+ return this;
+ }
+
+
+ private void initBindables() {
+
+ BindableString.registerListener(codDtip, mViewModel::setCodDtip);
+ BindableString.registerListener(codMgrp, mViewModel::setCodMgrp);
+
+ }
+
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairViewModel.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairViewModel.java
new file mode 100644
index 00000000..c931f301
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dialog/DialogSelectMgrpDtipPairViewModel.java
@@ -0,0 +1,62 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dialog;
+
+import com.annimon.stream.Stream;
+
+import java.util.List;
+
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.GruppiArticoloDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocAndGruppiArtDTO;
+import it.integry.integrywmsnative.gest.contab_doc_interni.dto.TipiDocDTO;
+
+
+public class DialogSelectMgrpDtipPairViewModel {
+
+
+ private TipiDocAndGruppiArtDTO mTipiDocAndGruppiArtDTO;
+
+ private String mTipoDoc;
+ private String mGruppoArt;
+
+ public void init(TipiDocAndGruppiArtDTO initialList) {
+ this.mTipiDocAndGruppiArtDTO = initialList;
+ }
+
+ public String getCodDtip() {
+ return mTipoDoc;
+ }
+
+ public void setCodDtip(String codDtip) {
+ this.mTipoDoc = codDtip;
+ }
+
+ public String getCodMgrp() {
+ return mGruppoArt;
+ }
+
+ public void setCodMgrp(String codMgrp) {
+ this.mGruppoArt = codMgrp;
+ }
+
+ public List getAvailableCodDtips() {
+ return Stream.of(mTipiDocAndGruppiArtDTO.getTipiDoc()).map(TipiDocDTO::getLabel).toList();
+ }
+
+ public List getAvailableCodMgrps() {
+ return Stream.of(mTipiDocAndGruppiArtDTO.getGruppiArt()).map(GruppiArticoloDTO::getLabel).toList();
+ }
+
+ public TipiDocDTO getSelectedTipoDoc(){
+ if (mTipoDoc == null){
+ return null;
+ }
+ return Stream.of(mTipiDocAndGruppiArtDTO.getTipiDoc()).filter(x->x.getLabel().equals(mTipoDoc)).findFirstOrElse(null);
+ }
+
+ public GruppiArticoloDTO getSelectedGruppoArt(){
+ if (mGruppoArt == null){
+ return null;
+ }
+
+ return Stream.of(mTipiDocAndGruppiArtDTO.getGruppiArt()).filter(x->x.getLabel().equals(mGruppoArt)).findFirstOrElse(null);
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/ArtDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/ArtDTO.java
new file mode 100644
index 00000000..3a61eb81
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/ArtDTO.java
@@ -0,0 +1,117 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class ArtDTO {
+
+ private Integer rigaOrd;
+
+ private String codMart;
+
+ private String barcode;
+
+ private String descrizione;
+
+ private Date dataIns;
+
+ private String untMis;
+
+ private BigDecimal qta;
+
+ private BigDecimal qtaCnf;
+
+ private BigDecimal colli;
+
+ private String partitaMag;
+
+ private Date dataScad;
+
+ public Integer getRigaOrd() {
+ return rigaOrd;
+ }
+
+ public void setRigaOrd(Integer rigaOrd) {
+ this.rigaOrd = rigaOrd;
+ }
+
+ public String getCodMart() {
+ return codMart;
+ }
+
+ public void setCodMart(String codMart) {
+ this.codMart = codMart;
+ }
+
+ public String getBarcode() {
+ return barcode;
+ }
+
+ public void setBarcode(String barcode) {
+ this.barcode = barcode;
+ }
+
+ public String getDescrizione() {
+ return descrizione;
+ }
+
+ public void setDescrizione(String descrizione) {
+ this.descrizione = descrizione;
+ }
+
+ public Date getDataIns() {
+ return dataIns;
+ }
+
+ public void setDataIns(Date dataIns) {
+ this.dataIns = dataIns;
+ }
+
+ public String getUntMis() {
+ return untMis;
+ }
+
+ public void setUntMis(String untMis) {
+ this.untMis = untMis;
+ }
+
+ public BigDecimal getQta() {
+ return qta;
+ }
+
+ public void setQta(BigDecimal qta) {
+ this.qta = qta;
+ }
+
+ public BigDecimal getQtaCnf() {
+ return qtaCnf;
+ }
+
+ public void setQtaCnf(BigDecimal qtaCnf) {
+ this.qtaCnf = qtaCnf;
+ }
+
+ public BigDecimal getColli() {
+ return colli;
+ }
+
+ public void setColli(BigDecimal colli) {
+ this.colli = colli;
+ }
+
+ public String getPartitaMag() {
+ return partitaMag;
+ }
+
+ public void setPartitaMag(String partitaMag) {
+ this.partitaMag = partitaMag;
+ }
+
+ public Date getDataScad() {
+ return dataScad;
+ }
+
+ public void setDataScad(Date dataScad) {
+ this.dataScad = dataScad;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/ColloDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/ColloDTO.java
new file mode 100644
index 00000000..7b964890
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/ColloDTO.java
@@ -0,0 +1,127 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class ColloDTO {
+
+ private String codMdep;
+ private String createdDate;
+ private String annotazioni;
+ private String gestione;
+ private String segno;
+ private String idDisp;
+ private String codDtip;
+ private List artRows = new ArrayList<>();
+ private RifOrd rifOrd;
+
+ public String getCodMdep() {
+ return codMdep;
+ }
+
+ public void setCodMdep(String codMdep) {
+ this.codMdep = codMdep;
+ }
+
+ public String getCreatedDate() {
+ return createdDate;
+ }
+
+ public void setCreatedDate(String createdDate) {
+ this.createdDate = createdDate;
+ }
+
+ public String getAnnotazioni() {
+ return annotazioni;
+ }
+
+ public void setAnnotazioni(String annotazioni) {
+ this.annotazioni = annotazioni;
+ }
+
+ public String getGestione() {
+ return gestione;
+ }
+
+ public void setGestione(String gestione) {
+ this.gestione = gestione;
+ }
+
+ public String getSegno() {
+ return segno;
+ }
+
+ public void setSegno(String segno) {
+ this.segno = segno;
+ }
+
+ public String getIdDisp() {
+ return idDisp;
+ }
+
+ public void setIdDisp(String idDisp) {
+ this.idDisp = idDisp;
+ }
+
+ public String getCodDtip() {
+ return codDtip;
+ }
+
+ public void setCodDtip(String codDtip) {
+ this.codDtip = codDtip;
+ }
+
+ public List getArtRows() {
+ return artRows;
+ }
+
+ public void setArtRows(List artRows) {
+ this.artRows = artRows;
+ }
+
+ public void addArtRow(ArtDTO artRow){
+ this.artRows.add(artRow);
+ }
+
+ public RifOrd getRifOrd() {
+ return rifOrd;
+ }
+
+ public void setRifOrd(RifOrd rifOrd) {
+ this.rifOrd = rifOrd;
+ }
+
+ public static class RifOrd {
+
+ private Date dataOrd;
+
+ private Integer numOrd;
+
+ private String chiaveOrd;
+
+ public Date getDataOrd() {
+ return dataOrd;
+ }
+
+ public void setDataOrd(Date dataOrd) {
+ this.dataOrd = dataOrd;
+ }
+
+ public Integer getNumOrd() {
+ return numOrd;
+ }
+
+ public void setNumOrd(Integer numOrd) {
+ this.numOrd = numOrd;
+ }
+
+ public String getChiaveOrd() {
+ return chiaveOrd;
+ }
+
+ public void setChiaveOrd(String chiaveOrd) {
+ this.chiaveOrd = chiaveOrd;
+ }
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DocFromPickingDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DocFromPickingDTO.java
new file mode 100644
index 00000000..4041729a
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/DocFromPickingDTO.java
@@ -0,0 +1,148 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
+
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+public class DocFromPickingDTO {
+ String codAnag, codVdes, tipoLista, noteDoc;
+ Date dataDoc;
+ Integer numDoc;
+ List colli;
+ List pedane;
+
+ public String getCodAnag() {
+ return codAnag;
+ }
+
+ public DocFromPickingDTO setCodAnag(String codAnag) {
+ this.codAnag = codAnag;
+ return this;
+ }
+
+ public String getCodVdes() {
+ return codVdes;
+ }
+
+ public DocFromPickingDTO setCodVdes(String codVdes) {
+ this.codVdes = codVdes;
+ return this;
+ }
+
+ public String getTipoLista() {
+ return tipoLista;
+ }
+
+ public DocFromPickingDTO setTipoLista(String tipoLista) {
+ this.tipoLista = tipoLista;
+ return this;
+ }
+
+ public String getNoteDoc() {
+ return noteDoc;
+ }
+
+ public DocFromPickingDTO setNoteDoc(String noteDoc) {
+ this.noteDoc = noteDoc;
+ return this;
+ }
+
+ public Date getDataDoc() {
+ return dataDoc;
+ }
+
+ public DocFromPickingDTO setDataDoc(Date dataDoc) {
+ this.dataDoc = dataDoc;
+ return this;
+ }
+
+ public Integer getNumDoc() {
+ return numDoc;
+ }
+
+ public DocFromPickingDTO setNumDoc(Integer numDoc) {
+ this.numDoc = numDoc;
+ return this;
+ }
+
+ public List getColli() {
+ return colli;
+ }
+
+ public DocFromPickingDTO setColli(List colli) {
+ this.colli = colli;
+ return this;
+ }
+
+ public List getPedane() {
+ return pedane;
+ }
+
+ public void setPedane(List pedane) {
+ this.pedane = pedane;
+ }
+
+ public static class Pedane {
+ String codTcol;
+ BigDecimal qta;
+
+ public String getCodTcol() {
+ return codTcol;
+ }
+
+ public void setCodTcol(String codTcol) {
+ this.codTcol = codTcol;
+ }
+
+ public BigDecimal getQta() {
+ return qta;
+ }
+
+ public void setQta(BigDecimal qta) {
+ this.qta = qta;
+ }
+ }
+
+ public static class DatiCollo {
+ String gestione, serCollo;
+ Date dataCollo;
+ Integer numCollo;
+
+ public String getGestione() {
+ return gestione;
+ }
+
+ public DatiCollo setGestione(String gestione) {
+ this.gestione = gestione;
+ return this;
+ }
+
+ public String getSerCollo() {
+ return serCollo;
+ }
+
+ public DatiCollo setSerCollo(String serCollo) {
+ this.serCollo = serCollo;
+ return this;
+ }
+
+ public Date getDataCollo() {
+ return dataCollo;
+ }
+
+ public DatiCollo setDataCollo(Date dataCollo) {
+ this.dataCollo = dataCollo;
+ return this;
+ }
+
+ public Integer getNumCollo() {
+ return numCollo;
+ }
+
+ public DatiCollo setNumCollo(Integer numCollo) {
+ this.numCollo = numCollo;
+ return this;
+ }
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiChildDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiChildDTO.java
new file mode 100644
index 00000000..35183d18
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiChildDTO.java
@@ -0,0 +1,97 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
+
+import java.math.BigDecimal;
+
+public class GrigliaAcquistiChildDTO {
+
+ public String codMart;
+ public String descrizione;
+ public String untMis;
+ public BigDecimal qtaCnf;
+ public String barcode;
+ public BigDecimal merceDaRic;
+ public BigDecimal mediaSett;
+ public String flagQtaMultipla;
+ public BigDecimal qtaMinOrdinabile;
+
+ public String getCodMart() {
+ return codMart;
+ }
+
+ public GrigliaAcquistiChildDTO setCodMart(String codMart) {
+ this.codMart = codMart;
+ return this;
+ }
+
+ public String getDescrizione() {
+ return descrizione;
+ }
+
+ public GrigliaAcquistiChildDTO setDescrizione(String descrizione) {
+ this.descrizione = descrizione;
+ return this;
+ }
+
+ public String getUntMis() {
+ return untMis;
+ }
+
+ public GrigliaAcquistiChildDTO setUntMis(String untMis) {
+ this.untMis = untMis;
+ return this;
+ }
+
+ public BigDecimal getQtaCnf() {
+ return qtaCnf;
+ }
+
+ public GrigliaAcquistiChildDTO setQtaCnf(BigDecimal qtaCnf) {
+ this.qtaCnf = qtaCnf;
+ return this;
+ }
+
+ public String getBarcode() {
+ return barcode;
+ }
+
+ public GrigliaAcquistiChildDTO setBarcode(String barcode) {
+ this.barcode = barcode;
+ return this;
+ }
+
+ public BigDecimal getMerceDaRic() {
+ return merceDaRic;
+ }
+
+ public GrigliaAcquistiChildDTO setMerceDaRic(BigDecimal merceDaRic) {
+ this.merceDaRic = merceDaRic;
+ return this;
+ }
+
+ public BigDecimal getMediaSett() {
+ return mediaSett;
+ }
+
+ public GrigliaAcquistiChildDTO setMediaSett(BigDecimal mediaSett) {
+ this.mediaSett = mediaSett;
+ return this;
+ }
+
+ public String getFlagQtaMultipla() {
+ return flagQtaMultipla;
+ }
+
+ public GrigliaAcquistiChildDTO setFlagQtaMultipla(String flagQtaMultipla) {
+ this.flagQtaMultipla = flagQtaMultipla;
+ return this;
+ }
+
+ public BigDecimal getQtaMinOrdinabile() {
+ return qtaMinOrdinabile;
+ }
+
+ public GrigliaAcquistiChildDTO setQtaMinOrdinabile(BigDecimal qtaMinOrdinabile) {
+ this.qtaMinOrdinabile = qtaMinOrdinabile;
+ return this;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiDTO.java
new file mode 100644
index 00000000..dc5da0a3
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GrigliaAcquistiDTO.java
@@ -0,0 +1,36 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
+
+import java.util.List;
+
+public class GrigliaAcquistiDTO {
+
+ private String descrLisa;
+
+ private String descrDepo;
+
+ private List grigliaAcquistiChild;
+
+ public String getDescrLisa() {
+ return descrLisa;
+ }
+
+ public void setDescrLisa(String descrLisa) {
+ this.descrLisa = descrLisa;
+ }
+
+ public String getDescrDepo() {
+ return descrDepo;
+ }
+
+ public void setDescrDepo(String descrDepo) {
+ this.descrDepo = descrDepo;
+ }
+
+ public List getGrigliaAcquistiChild() {
+ return grigliaAcquistiChild;
+ }
+
+ public void setGrigliaAcquistiChild(List grigliaAcquistiChild) {
+ this.grigliaAcquistiChild = grigliaAcquistiChild;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GruppiArticoloDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GruppiArticoloDTO.java
new file mode 100644
index 00000000..8cc28f35
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/GruppiArticoloDTO.java
@@ -0,0 +1,27 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
+
+public class GruppiArticoloDTO {
+
+ private String codMgrp;
+ private String descrizione;
+
+ public String getCodMgrp() {
+ return codMgrp;
+ }
+
+ public void setCodMgrp(String codMgrp) {
+ this.codMgrp = codMgrp;
+ }
+
+ public String getDescrizione() {
+ return descrizione;
+ }
+
+ public void setDescrizione(String descrizione) {
+ this.descrizione = descrizione;
+ }
+
+ public String getLabel() {
+ return this.codMgrp+" - "+this.descrizione;
+ }
+}
diff --git a/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/InventarioDTO.java b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/InventarioDTO.java
new file mode 100644
index 00000000..5ca20c3c
--- /dev/null
+++ b/app/src/main/java/it/integry/integrywmsnative/gest/contab_doc_interni/dto/InventarioDTO.java
@@ -0,0 +1,31 @@
+package it.integry.integrywmsnative.gest.contab_doc_interni.dto;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by GiuseppeS on 28/06/2017.
+ */
+public class InventarioDTO {
+
+ private List