public UserProjectStatus(AssignmentAggregateReportElement aggregate, Number totalBookedHours) { super(aggregate.getProjectAssignment(), aggregate.getHours()); this.totalBookedHours = totalBookedHours; }
/** * Check if aggregate list is empty * @param aggregates * @return */ public static boolean isEmptyAggregateList(Collection<AssignmentAggregateReportElement> aggregates) { float hours = 0f; if (aggregates != null) { for (AssignmentAggregateReportElement assignmentAggregateReportElement : aggregates) { if (assignmentAggregateReportElement.getHours() != null) { hours += assignmentAggregateReportElement.getHours().floatValue(); } } } return hours == 0f; } }
@Override public int compareTo(AssignmentAggregateReportElement pagO) { return this.getProjectAssignment().compareTo(pagO.getProjectAssignment()); }
/** * 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); }
/** * @see java.lang.Object#equals(Object) */ public boolean equals(Object object) { if (!(object instanceof FlatReportElement)) { return false; } FlatReportElement rhs = (FlatReportElement) object; return new EqualsBuilder() .append(this.assignmentId, rhs.getAssignmentId()) .append(this.dayDate, rhs.getDayDate()) .append(this.entryDate, rhs.getEntryDate()) .append(this.totalHours, rhs.getTotalHours()) .append(this.totalTurnOver, rhs.getTotalTurnOver()) .append(this.displayOrder, rhs.getDisplayOrder()) .isEquals(); }
@Test public void testGetProgressPercentageAllotted() { 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(96, ele.getProgressPercentage().get(), 0f); }
public static AssignmentAggregateReportElement createProjectAssignmentAggregate(int baseId, int customerId, int userId) { AssignmentAggregateReportElement pag = new AssignmentAggregateReportElement(); pag.setHours(baseId); pag.setProjectAssignment(ProjectAssignmentObjectMother.createProjectAssignment(baseId, customerId, userId)); return pag; } }
@Before public void setUp() { a1 = new AssignmentAggregateReportElement(); a2 = new AssignmentAggregateReportElement(); a1.setProjectAssignment(ProjectAssignmentObjectMother.createProjectAssignment(1)); a2.setProjectAssignment(ProjectAssignmentObjectMother.createProjectAssignment(2)); }
/** * 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; }
@Override protected List<FlatReportElement> getReportElements(List<User> users, List<Project> projects, List<Date> lockedDates, DateRange reportRange, boolean showZeroBookings) { List<Integer> userIds = DomainUtil.getIdsFromDomainObjects(users); List<Integer> projectIds = DomainUtil.getIdsFromDomainObjects(projects); List<FlatReportElement> elements = getElements(userIds, projectIds, reportRange); for (FlatReportElement element : elements) { Date date = element.getDayDate(); element.setLockableDate(new LockableDate(date, lockedDates.contains(date))); } if (showZeroBookings) { List<FlatReportElement> reportElementsForAssignmentsWithoutBookings = getReportElementsForAssignmentsWithoutBookings(reportRange, userIds, projectIds); reportElementsForAssignmentsWithoutBookings.addAll(elements); return reportElementsForAssignmentsWithoutBookings; } else { return elements; } }
@Test public void shouldReportEmptyList() { AssignmentAggregateReportElement element = new AssignmentAggregateReportElement(); element.setHours(0); List<AssignmentAggregateReportElement> aggs = Lists.newArrayList(element); assertTrue(ReportUtil.isEmptyAggregateList(aggs)); } }
private List<AssignmentAggregateReportElement> findAssignmentsWithoutBookings(List<User> users, List<Project> projects, DateRange reportRange, boolean showZeroBookings) { List<AssignmentAggregateReportElement> elements = Lists.newArrayList(); if (showZeroBookings) { List<Integer> userIds = DomainUtil.getIdsFromDomainObjects(users); List<Integer> projectIds = DomainUtil.getIdsFromDomainObjects(projects); List<ProjectAssignment> filterAssignmentsWithoutBookings = getAssignmentsWithoutBookings(reportRange, userIds, projectIds); for (ProjectAssignment filterAssignmentsWithoutBooking : filterAssignmentsWithoutBookings) { elements.add(new AssignmentAggregateReportElement(filterAssignmentsWithoutBooking)); } } return elements; }
private List<FlatReportElement> getReportElementsForAssignmentsWithoutBookings(DateRange reportRange, List<Integer> userIds, List<Integer> projectIds) { List<ProjectAssignment> assignments = getAssignmentsWithoutBookings(reportRange, userIds, projectIds); List<FlatReportElement> elements = Lists.newArrayList(); for (ProjectAssignment assignment : assignments) { elements.add(FlatReportElementBuilder.buildFlatReportElement(assignment)); } return elements; }
public static AssignmentAggregateReportElement createProjectAssignmentAggregate() { return createProjectAssignmentAggregate(1, 1, 1); }
private List<ProjectStructuredReportElement> evictNonPmReportElements(UserSelectedCriteria userSelectedCriteria, List<RE> allReportElements) { List<Integer> projectIds = fetchAllowedProjectIds(userSelectedCriteria); List<ProjectStructuredReportElement> allowedElements = Lists.newArrayList(); for (ProjectStructuredReportElement reportElement : allReportElements) { if (projectIds.contains(reportElement.getProjectId())) { allowedElements.add(reportElement); } } return allowedElements; }
/** * 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); }
/** * Compare on prj * @param o1 * @param o2 * @return */ private int compareOnProject(AssignmentAggregateReportElement o1, AssignmentAggregateReportElement o2) { return o1.getProjectAssignment().getProject().getFullName().compareToIgnoreCase( o2.getProjectAssignment().getProject().getFullName()); }
public void setProjectDeletability(Project project) { List<Integer> ids = DomainUtil.getIdsFromDomainObjects(project.getProjectAssignments()); double bookedHours = 0; if (!ids.isEmpty()) { List<AssignmentAggregateReportElement> aggregates = aggregateReportService.getHoursPerAssignment(ids); for (AssignmentAggregateReportElement aggregate : aggregates) { bookedHours += aggregate.getHours().doubleValue(); } } project.setBookedHours(bookedHours); }
private FlatReportElement createFlatReportElement() { ProjectAssignment assignment = ProjectAssignmentObjectMother.createProjectAssignment(1); return FlatReportElementBuilder.buildFlatReportElement(assignment); }
private List<AssignmentAggregateReportElement> createAssignmentAggregateReportElements() { List<AssignmentAggregateReportElement> pags = new ArrayList<>(); pags.add(AssignmentAggregateReportElementMother.createProjectAssignmentAggregate(1, 1, 1)); pags.add(AssignmentAggregateReportElementMother.createProjectAssignmentAggregate(2, 2, 2)); pags.add(AssignmentAggregateReportElementMother.createProjectAssignmentAggregate(3, 3, 3)); return pags; }