package it.integry.integrywmsnative.core.data_store.db.view_model;

import org.json.JSONObject;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

public class ArticoloOrdinabileDTO {


    private String codAlis;
    private String codMart;
    private String descrizione;
    private String untMis;
    private float qtaCnf;
    private float merceDaRic;
    private float mediaSett;
    private String flagQtaMultipla;
    private String flagTracciabilita;
    private String flagQtaCnfFissa;
    private boolean newNoPromo;
    private float qtaMinOrdinabile;
    private int ggScadenza;
    private BigDecimal giacenza;
    private BigDecimal qtaPrevistaVendita;
    private BigDecimal qtaProposta;
    private float qtaOrd;

    private float ctMaxOrd;

    private List<String> barcode;

    private String selectedBarcode;

    public String getCodAlis() {
        return codAlis;
    }

    public ArticoloOrdinabileDTO setCodAlis(String codAlis) {
        this.codAlis = codAlis;
        return this;
    }

    public String getCodMart() {
        return codMart;
    }

    public ArticoloOrdinabileDTO setCodMart(String codMart) {
        this.codMart = codMart;
        return this;
    }

    public String getDescrizione() {
        return descrizione;
    }

    public ArticoloOrdinabileDTO setDescrizione(String descrizione) {
        this.descrizione = descrizione;
        return this;
    }

    public String getUntMis() {
        return untMis;
    }

    public ArticoloOrdinabileDTO setUntMis(String untMis) {
        this.untMis = untMis;
        return this;
    }

    public float getQtaCnf() {
        return qtaCnf;
    }

    public ArticoloOrdinabileDTO setQtaCnf(float qtaCnf) {
        this.qtaCnf = qtaCnf;
        return this;
    }

    public float getMerceDaRic() {
        return merceDaRic;
    }

    public ArticoloOrdinabileDTO setMerceDaRic(float merceDaRic) {
        this.merceDaRic = merceDaRic;
        return this;
    }

    public float getMediaSett() {
        return mediaSett;
    }

    public ArticoloOrdinabileDTO setMediaSett(float mediaSett) {
        this.mediaSett = mediaSett;
        return this;
    }

    public String getFlagQtaMultipla() {
        return flagQtaMultipla;
    }

    public ArticoloOrdinabileDTO setFlagQtaMultipla(String flagQtaMultipla) {
        this.flagQtaMultipla = flagQtaMultipla;
        return this;
    }

    public String getFlagTracciabilita() {
        return flagTracciabilita;
    }

    public ArticoloOrdinabileDTO setFlagTracciabilita(String flagTracciabilita) {
        this.flagTracciabilita = flagTracciabilita;
        return this;
    }

    public String getFlagQtaCnfFissa() {
        return flagQtaCnfFissa;
    }

    public ArticoloOrdinabileDTO setFlagQtaCnfFissa(String flagQtaCnfFissa) {
        this.flagQtaCnfFissa = flagQtaCnfFissa;
        return this;
    }

    public boolean isNewNoPromo() {
        return newNoPromo;
    }

    public ArticoloOrdinabileDTO setNewNoPromo(boolean newNoPromo) {
        this.newNoPromo = newNoPromo;
        return this;
    }

    public float getQtaMinOrdinabile() {
        return qtaMinOrdinabile;
    }

    public ArticoloOrdinabileDTO setQtaMinOrdinabile(float qtaMinOrdinabile) {
        this.qtaMinOrdinabile = qtaMinOrdinabile;
        return this;
    }

    public int getGgScadenza() {
        return ggScadenza;
    }

    public ArticoloOrdinabileDTO setGgScadenza(int ggScadenza) {
        this.ggScadenza = ggScadenza;
        return this;
    }

    public BigDecimal getGiacenza() {
        return giacenza;
    }

    public ArticoloOrdinabileDTO setGiacenza(BigDecimal giacenza) {
        this.giacenza = giacenza;
        return this;
    }

    public BigDecimal getQtaPrevistaVendita() {
        return qtaPrevistaVendita;
    }

    public ArticoloOrdinabileDTO setQtaPrevistaVendita(BigDecimal qtaPrevistaVendita) {
        this.qtaPrevistaVendita = qtaPrevistaVendita;
        return this;
    }

    public BigDecimal getQtaProposta() {
        return qtaProposta;
    }

    public ArticoloOrdinabileDTO setQtaProposta(BigDecimal qtaProposta) {
        this.qtaProposta = qtaProposta;
        return this;
    }

    public float getQtaOrd() {
        return qtaOrd;
    }

    public ArticoloOrdinabileDTO setQtaOrd(float qtaOrd) {
        this.qtaOrd = qtaOrd;
        return this;
    }

    public float getCtMaxOrd() {
        return ctMaxOrd;
    }

    public ArticoloOrdinabileDTO setCtMaxOrd(float ctMaxOrd) {
        this.ctMaxOrd = ctMaxOrd;
        return this;
    }

    public List<String> getBarcode() {
        return barcode;
    }

    public ArticoloOrdinabileDTO setBarcode(List<String> barcode) {
        this.barcode = barcode;
        return this;
    }

    public String generateSystemNote() {
        HashMap<String, String> pairs = new HashMap<>();
        pairs.put("qta_proposta", String.valueOf(qtaProposta));
        pairs.put("giacenza", String.valueOf(giacenza));

        return new JSONObject(pairs).toString();
    }

    public String getSelectedBarcode() {
        return selectedBarcode;
    }

    public ArticoloOrdinabileDTO setSelectedBarcode(String selectedBarcode) {
        this.selectedBarcode = selectedBarcode;
        return this;
    }
}
    