package de.avatic.lcc.dto.report;

import com.fasterxml.jackson.annotation.JsonProperty;
import de.avatic.lcc.dto.generic.ContainerType;
import de.avatic.lcc.dto.generic.NodeDTO;
import de.avatic.lcc.model.db.utils.DimensionUnit;
import de.avatic.lcc.model.db.utils.WeightUnit;

import java.util.List;

public class ReportDestinationDTO {

    private Integer id;

    private NodeDTO destination;
    private List<ReportSectionDTO> sections;

    /* general */

    @JsonProperty("transport_time")
    private Double transportTime;


    @JsonProperty("annual_quantity")
    private Integer annualQuantity;


    /* container */

    private Integer layer;

    @JsonProperty("unit_count")
    private Number unitCount;

    private Number utilization;

    @JsonProperty("container_type")
    private ContainerType type;

    @JsonProperty("weight_exceeded")
    private Boolean weightExceeded;

    @JsonProperty("container_rate")
    private Number rate;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public NodeDTO getDestination() {
        return destination;
    }

    public void setDestination(NodeDTO destination) {
        this.destination = destination;
    }

    public List<ReportSectionDTO> getSections() {
        return sections;
    }

    public void setSections(List<ReportSectionDTO> sections) {
        this.sections = sections;
    }

    public Integer getAnnualQuantity() {
        return annualQuantity;
    }

    public void setAnnualQuantity(Integer annualQuantity) {
        this.annualQuantity = annualQuantity;
    }

    public Integer getLayer() {
        return layer;
    }

    public void setLayer(Integer layer) {
        this.layer = layer;
    }

    public Number getUnitCount() {
        return unitCount;
    }

    public void setUnitCount(Number unitCount) {
        this.unitCount = unitCount;
    }

    public Number getUtilization() {
        return utilization;
    }

    public void setUtilization(Number utilization) {
        this.utilization = utilization;
    }

    public ContainerType getType() {
        return type;
    }

    public void setType(ContainerType type) {
        this.type = type;
    }

    public Boolean getWeightExceeded() {
        return weightExceeded;
    }

    public void setWeightExceeded(Boolean weightExceeded) {
        this.weightExceeded = weightExceeded;
    }

    public Number getRate() {
        return rate;
    }

    public void setRate(Number rate) {
        this.rate = rate;
    }

    public Double getTransportTime() {
        return transportTime;
    }

    public void setTransportTime(Double transportTime) {
        this.transportTime = transportTime;
    }
}
