/** * Derive the totals */ public void deriveTotals() { float hours = 0; float avail = 0; if (aggregates != null) { for (AssignmentAggregateReportElement aggregate : aggregates) { if (aggregate.getHours() == null) { continue; } hours += aggregate.getHours().floatValue(); avail += aggregate.getAvailableHours().or(0f); } } totalHoursBooked = hours; totalHoursAvailable = avail; }
/** * Test method for {@link net.rrm.ehour.persistence.persistence.report.reports.element.AssignmentAggregateReportElement#getAvailableHours()}. */ @Test public void testGetAvailableHoursFixed() { ProjectAssignment assignment = new ProjectAssignment(); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FIXED)); assignment.setAllottedHours(100f); AssignmentAggregateReportElement ele = new AssignmentAggregateReportElement(); ele.setHours(96f); ele.setProjectAssignment(assignment); assertEquals(4, ele.getAvailableHours().get(), 0f); }
/** * Test method for {@link net.rrm.ehour.persistence.persistence.report.reports.element.AssignmentAggregateReportElement#getAvailableHours()}. */ @Test public void testGetAvailableHoursFlex() { ProjectAssignment assignment = new ProjectAssignment(); assignment.setAssignmentType(new ProjectAssignmentType(EhourConstants.ASSIGNMENT_TIME_ALLOTTED_FLEX)); assignment.setAllottedHours(100f); assignment.setAllowedOverrun(40f); AssignmentAggregateReportElement ele = new AssignmentAggregateReportElement(); ele.setHours(113f); ele.setProjectAssignment(assignment); assertEquals(27, ele.getAvailableHours().get(), 0f); }