package it.integry.integrywmsnative.view.dialogs.input_quantity_v2;

import java.math.BigDecimal;
import java.util.Date;

import it.integry.integrywmsnative.core.model.MtbAart;
import it.integry.integrywmsnative.core.utility.UtilityBigDecimal;

public class DialogInputQuantityV2DTO {

    private MtbAart mtbAart;

    private BigDecimal initialNumCnf;
    private BigDecimal initialQtaCnf;
    private BigDecimal initialQtaTot;

    private BigDecimal totalQtaOrd;
    private BigDecimal totalNumCnfOrd;
    private BigDecimal qtaCnfOrd;

    private BigDecimal totalQtaToBeTaken;
    private BigDecimal totalNumCnfToBeTaken;
    private BigDecimal qtaCnfToBeTaken;

    private BigDecimal totalQtaAvailable;
    private BigDecimal totalNumCnfAvailable;
    private BigDecimal qtaCnfAvailable;

    private boolean canPartitaMagBeChanged = true;
    private boolean canLUBeClosed;

    private String partitaMag;
    private Date dataScad;

    private boolean canOverflowOrderQuantity;

    public MtbAart getMtbAart() {
        return mtbAart;
    }

    public DialogInputQuantityV2DTO setMtbAart(MtbAart mtbAart) {
        this.mtbAart = mtbAart;
        return this;
    }

    public BigDecimal getInitialNumCnf() {
        return UtilityBigDecimal.round(initialNumCnf);
    }

    public DialogInputQuantityV2DTO setInitialNumCnf(BigDecimal initialNumCnf) {
        this.initialNumCnf = initialNumCnf;
        return this;
    }

    public BigDecimal getInitialQtaCnf() {
        return UtilityBigDecimal.round(initialQtaCnf);
    }

    public DialogInputQuantityV2DTO setInitialQtaCnf(BigDecimal initialQtaCnf) {
        this.initialQtaCnf = initialQtaCnf;
        return this;
    }

    public BigDecimal getInitialQtaTot() {
        return UtilityBigDecimal.round(initialQtaTot);
    }

    public DialogInputQuantityV2DTO setInitialQtaTot(BigDecimal initialQtaTot) {
        this.initialQtaTot = initialQtaTot;
        return this;
    }

    public BigDecimal getTotalQtaOrd() {
        return UtilityBigDecimal.round(totalQtaOrd);
    }

    public DialogInputQuantityV2DTO setTotalQtaOrd(BigDecimal totalQtaOrd) {
        this.totalQtaOrd = totalQtaOrd;
        return this;
    }

    public BigDecimal getTotalNumCnfOrd() {
        return UtilityBigDecimal.round(totalNumCnfOrd);
    }

    public DialogInputQuantityV2DTO setTotalNumCnfOrd(BigDecimal totalNumCnfOrd) {
        this.totalNumCnfOrd = totalNumCnfOrd;
        return this;
    }

    public BigDecimal getQtaCnfOrd() {
        return UtilityBigDecimal.round(qtaCnfOrd);
    }

    public DialogInputQuantityV2DTO setQtaCnfOrd(BigDecimal qtaCnfOrd) {
        this.qtaCnfOrd = qtaCnfOrd;
        return this;
    }

    public BigDecimal getTotalQtaToBeTaken() {
        return UtilityBigDecimal.round(totalQtaToBeTaken);
    }

    public DialogInputQuantityV2DTO setTotalQtaToBeTaken(BigDecimal totalQtaToBeTaken) {
        this.totalQtaToBeTaken = totalQtaToBeTaken;
        return this;
    }

    public BigDecimal getTotalNumCnfToBeTaken() {
        return UtilityBigDecimal.round(totalNumCnfToBeTaken);
    }

    public DialogInputQuantityV2DTO setTotalNumCnfToBeTaken(BigDecimal totalNumCnfToBeTaken) {
        this.totalNumCnfToBeTaken = totalNumCnfToBeTaken;
        return this;
    }

    public BigDecimal getQtaCnfToBeTaken() {
        return UtilityBigDecimal.round(qtaCnfToBeTaken);
    }

    public DialogInputQuantityV2DTO setQtaCnfToBeTaken(BigDecimal qtaCnfToBeTaken) {
        this.qtaCnfToBeTaken = qtaCnfToBeTaken;
        return this;
    }

    public BigDecimal getTotalQtaAvailable() {
        return UtilityBigDecimal.round(totalQtaAvailable);
    }

    public DialogInputQuantityV2DTO setTotalQtaAvailable(BigDecimal totalQtaAvailable) {
        this.totalQtaAvailable = totalQtaAvailable;
        return this;
    }

    public BigDecimal getTotalNumCnfAvailable() {
        return UtilityBigDecimal.round(totalNumCnfAvailable);
    }

    public DialogInputQuantityV2DTO setTotalNumCnfAvailable(BigDecimal totalNumCnfAvailable) {
        this.totalNumCnfAvailable = totalNumCnfAvailable;
        return this;
    }

    public BigDecimal getQtaCnfAvailable() {
        return UtilityBigDecimal.round(qtaCnfAvailable);
    }

    public DialogInputQuantityV2DTO setQtaCnfAvailable(BigDecimal qtaCnfAvailable) {
        this.qtaCnfAvailable = qtaCnfAvailable;
        return this;
    }

    public boolean isCanPartitaMagBeChanged() {
        return canPartitaMagBeChanged;
    }

    public DialogInputQuantityV2DTO setCanPartitaMagBeChanged(boolean canPartitaMagBeChanged) {
        this.canPartitaMagBeChanged = canPartitaMagBeChanged;
        return this;
    }

    public boolean isCanLUBeClosed() {
        return canLUBeClosed;
    }

    public DialogInputQuantityV2DTO setCanLUBeClosed(boolean canLUBeClosed) {
        this.canLUBeClosed = canLUBeClosed;
        return this;
    }

    public String getPartitaMag() {
        return partitaMag;
    }

    public DialogInputQuantityV2DTO setPartitaMag(String partitaMag) {
        this.partitaMag = partitaMag;
        return this;
    }

    public Date getDataScad() {
        return dataScad;
    }

    public DialogInputQuantityV2DTO setDataScad(Date dataScad) {
        this.dataScad = dataScad;
        return this;
    }

    public boolean isCanOverflowOrderQuantity() {
        return canOverflowOrderQuantity;
    }

    public DialogInputQuantityV2DTO setCanOverflowOrderQuantity(boolean canOverflowOrderQuantity) {
        this.canOverflowOrderQuantity = canOverflowOrderQuantity;
        return this;
    }
}
