package info.bukova.isspst.services.requirement;

import info.bukova.isspst.data.Requirement;
import info.bukova.isspst.data.RequirementItem;

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

/**
 * @author Pepa Rokos
 * @author Franta Přibyl
 * 
 * Základní rozhraní požadavků na služby a materiál.
 *
 */
public interface RequirementService extends RequirementBaseService<Requirement>
{
	public void loadGroups(Requirement req);
	
	public void loadItems(Requirement req);

	public BigDecimal calcTotalFromItem(RequirementItem item);

	public RequirementItem calcTotalInItem(RequirementItem item);

	public RequirementItem calcItemValuesFromItemTotal(RequirementItem item);

	public BigDecimal calcSumTotalFromItems(List<RequirementItem> items);
	
	public BigDecimal getInvoicedAmount(Requirement req);
}
