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<SqlMtbColr> 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<SqlMtbColr> getSqlMtbColrs() {
        return sqlMtbColrs;
    }

    public void setSqlMtbColrs(List<SqlMtbColr> sqlMtbColrs) {
        this.sqlMtbColrs = sqlMtbColrs;
    }

    public String getCodMgrp() {
        return codMgrp;
    }

    public void setCodMgrp(String codMgrp) {
        this.codMgrp = codMgrp;
    }
}
