package module.mission.domain; import java.math.BigDecimal; import module.finance.util.Money; import module.organization.domain.Person; public class FullPersonelExpenseItem extends FullPersonelExpenseItem_Base { public FullPersonelExpenseItem() { super(); } @Override public Money getValue() { final DailyPersonelExpenseCategory dailyPersonelExpenseCategory = getDailyPersonelExpenseCategory(); final double expenseFactor = getWeightedExpenseFactor(); return dailyPersonelExpenseCategory.getValue().multiplyAndRound(new BigDecimal(expenseFactor)); } public static int calculateNumberOfFullPersonelExpenseDays(final Mission mission, final Person person) { int result = 0; for (final MissionItem missionItem : mission.getMissionItemsSet()) { if (missionItem instanceof FullPersonelExpenseItem && missionItem.getPeopleSet().contains(person)) { final FullPersonelExpenseItem fullPersonelExpenseItem = (FullPersonelExpenseItem) missionItem; result += fullPersonelExpenseItem.calculateNumberOfDays(); } } return result; } @Override protected MissionItem createNewVersionInstance(final MissionVersion missionVersion) { return new FullPersonelExpenseItem(); } }