added hourly and money budgets to activity, project and customer (#843)

This commit is contained in:
Kevin Papst
2019-06-11 13:18:57 +02:00
committed by GitHub
parent 833968a87d
commit 5702d7afa8
118 changed files with 1743 additions and 1077 deletions

View File

@@ -49,14 +49,24 @@ class ProjectRepository extends AbstractRepository
public function getProjectStatistics(Project $project): ProjectStatistic
{
$stats = new ProjectStatistic();
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('COUNT(t.id) as recordAmount')
$qb
->addSelect('COUNT(t.id) as recordAmount')
->addSelect('SUM(t.duration) as recordDuration')
->addSelect('SUM(t.rate) as recordRate')
->from(Timesheet::class, 't')
->andWhere('t.project = :project')
;
$resultTimesheets = $qb->getQuery()->execute(['project' => $project], Query::HYDRATE_ARRAY);
$timesheetResult = $qb->getQuery()->execute(['project' => $project], Query::HYDRATE_ARRAY);
if (isset($timesheetResult[0])) {
$stats->setRecordAmount($timesheetResult[0]['recordAmount']);
$stats->setRecordDuration($timesheetResult[0]['recordDuration']);
$stats->setRecordRate($timesheetResult[0]['recordRate']);
}
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('COUNT(a.id) as activityAmount')
@@ -65,16 +75,6 @@ class ProjectRepository extends AbstractRepository
;
$resultActivities = $qb->getQuery()->execute(['project' => $project], Query::HYDRATE_ARRAY);
$stats = new ProjectStatistic();
$stats->setCount(1);
if (isset($resultTimesheets[0])) {
$resultTimesheets = $resultTimesheets[0];
$stats->setRecordAmount($resultTimesheets['recordAmount']);
$stats->setRecordDuration($resultTimesheets['recordDuration']);
}
if (isset($resultActivities[0])) {
$resultActivities = $resultActivities[0];