Package no.ugland.utransprod.model

Source Code of no.ugland.utransprod.model.TransportCostBasis

package no.ugland.utransprod.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import no.ugland.utransprod.util.Periode;
import no.ugland.utransprod.util.Util;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

public class TransportCostBasis extends BaseObject {
    private static final long serialVersionUID = 1L;

    private Integer transportCostBasisId;

    private Supplier supplier;

    private Set<OrderCost> orderCosts;

    private String periode;

    private String invoiceNr;

    public TransportCostBasis() {

    }

    public TransportCostBasis(final Periode aPeriod) {
        periode = aPeriod.getFormattetYearFromWeekToWeek();
    }

    public final Integer getTransportCostBasisId() {
        return transportCostBasisId;
    }

    public final void setTransportCostBasisId(
            final Integer aTransportCostBasisId) {
        this.transportCostBasisId = aTransportCostBasisId;
    }

    public final Supplier getSupplier() {
        return supplier;
    }

    public final void setSupplier(final Supplier aSupplier) {
        this.supplier = aSupplier;
    }

    public final void addOrderCost(final OrderCost orderCost) {
        if (orderCosts == null) {
            orderCosts = new HashSet<OrderCost>();
        }
        orderCost.setTransportCostBasis(this);
        orderCosts.add(orderCost);
    }

    public final Set<OrderCost> getOrderCosts() {
        return orderCosts;
    }

    public final List<OrderCost> getOrderCostsSorted() {
        List<OrderCost> orderCostList = null;
        if (orderCosts != null) {
            orderCostList = new ArrayList<OrderCost>(orderCosts);
            Collections.sort(orderCostList, new OrderCostTransportComparator());
        }
        return orderCostList;
    }

    public final void setOrderCosts(final Set<OrderCost> someOrderCosts) {
        this.orderCosts = someOrderCosts;
    }

    public final String getPeriode() {
        return periode;
    }

    public final void setPeriode(final String aPeriode) {
        this.periode = aPeriode;
    }

    @Override
    public final String toString() {
        return new ToStringBuilder(this, ToStringStyle.SIMPLE_STYLE).append(
                "supplier", supplier).append("periode", periode).toString();
    }

    @Override
    public final boolean equals(final Object other) {
        if (!(other instanceof TransportCostBasis)){
            return false;
        }
        TransportCostBasis castOther = (TransportCostBasis) other;
        return new EqualsBuilder().append(transportCostBasisId,
                castOther.transportCostBasisId).append(supplier,
                castOther.supplier).append(periode, castOther.periode)
                .isEquals();
    }

    @Override
    public final int hashCode() {
        return new HashCodeBuilder().append(transportCostBasisId).append(
                supplier).append(periode).toHashCode();
    }

    public final String getInvoiceNr() {
        return invoiceNr;
    }

    public final void setInvoiceNr(final String aInvoiceNr) {
        this.invoiceNr = aInvoiceNr;
    }

    public final BigDecimal getTotalCost() {
        BigDecimal totalCost = BigDecimal.valueOf(0);
        if (orderCosts != null) {
            for (OrderCost cost : orderCosts) {
                totalCost = totalCost.add(Util.convertNullToBigDecimal(cost
                        .getCostAmount()));
            }
        }
        return totalCost;
    }

    public final Integer getTotalCount() {
        if (orderCosts != null) {
            return orderCosts.size();
        }
        return 0;
    }
}
TOP

Related Classes of no.ugland.utransprod.model.TransportCostBasis

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.