Projects Report


[#if projectsreport.dateIntervalStart??] [#if projectsreport.dateIntervalEnd??] Date: ${projectsreport.dateIntervalStart?date} - ${projectsreport.dateIntervalEnd?date} [#else] Date: After ${projectsreport.dateIntervalStart?date} [/#if] [#else] [#if projectsreport.dateIntervalEnd??] Date: Before ${projectsreport.dateIntervalEnd?date} [#else] Date: All dates [/#if] [/#if]

[#assign allProjects=projectsreport.filterWithActivity(projectsreport.projects)]

Date

Description

Time

Amount

Distance

Total

[#list projectsreport.groupClients(allProjects)?sort as client] [#assign clientProjects=projectsreport.filterByClient(allProjects, client)]

${client.name}

${projectsreport.calculateElapsedTimeAsHour(clientProjects)}

${projectsreport.calculateExpensesAmount(clientProjects)}

${projectsreport.calculateTripsDistance(clientProjects)}

${projectsreport.calculateTotal(clientProjects)}

[#list clientProjects?sort as project]

${project.name}

${projectsreport.calculateElapsedTimeAsHour(project)}

${projectsreport.calculateExpensesAmount(project)}

${projectsreport.calculateTripsDistance(project)}

${projectsreport.calculateTotal(project)}

[#if projectsreport.getTasks(project)?size != 0]

Tasks

[#list projectsreport.getTasks(project)?sort as task]

${task.startDate?date}

${task.name}

${projectsreport.calculateElapsedTimeAsHour(task)}

${projectsreport.calculateTaskTotal(task)}

[#list projectsreport.getTimeEntries(task)?sort_by("date") as timeEntry]

${timeEntry.date?date}

${timeEntry.description}

${timeEntry.elapsedTimeAsHour}

[/#list]
[/#list]
[/#if]
[#if projectsreport.getExpenses(project)?size != 0]

Expenses

[#list projectsreport.getExpenses(project)?sort_by("date") as expense]

${expense.date?date}

${expense.description}

${expense.amount}

${expense.total}

[/#list]
[/#if]
[#if projectsreport.getTrips(project)?size != 0]

Trips

[#list projectsreport.getTrips(project)?sort_by("startTime") as trip]

${trip.startTime?date}

${trip.description}

${trip.distance}

${trip.total}

[/#list]
[/#if]
[#if projectsreport.getProducts(project)?size != 0]

Products

[#list projectsreport.getProducts(project)?sort_by("name") as product]

${product.name}

${product.total}

[/#list]
[/#if]
[/#list]
[/#list]

${projectsreport.calculateElapsedTimeAsHour(allProjects)}

${projectsreport.calculateExpensesAmount(allProjects)}

${projectsreport.calculateTripsDistance(allProjects)}

${projectsreport.calculateTotal(allProjects)}