GrupoRepository::getResumenPorFecha()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19
Code Lines 14

Duplication

Lines 19
Ratio 100 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 19
loc 19
ccs 0
cts 16
cp 0
rs 9.4285
cc 1
eloc 14
nc 1
nop 1
crap 2
1
<?php
2
/*
3
  GESTCONV - Aplicación web para la gestión de la convivencia en centros educativos
4
5
  Copyright (C) 2015: Luis Ramón López López
6
7
  This program is free software: you can redistribute it and/or modify
8
  it under the terms of the GNU Affero General Public License as published by
9
  the Free Software Foundation, either version 3 of the License, or
10
  (at your option) any later version.
11
12
  This program is distributed in the hope that it will be useful,
13
  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
  GNU Affero General Public License for more details.
16
17
  You should have received a copy of the GNU Affero General Public License
18
  along with this program.  If not, see [http://www.gnu.org/licenses/].
19
*/
20
21
namespace AppBundle\Entity;
22
23
use AppBundle\Utils\RepositoryUtils;
24
use Doctrine\ORM\EntityRepository;
25
26
/**
27
 * GrupoRepository
28
 *
29
 * Clase repositorio para añadir métodos adicionales
30
 */
31
class GrupoRepository extends EntityRepository
32
{
33 View Code Duplication
    public function getResumenPorFecha($fechas)
34
    {
35
        $data = $this->getEntityManager()
36
            ->getRepository('AppBundle:Grupo')
37
            ->createQueryBuilder('g');
38
39
        $data = RepositoryUtils::resumenConvivencia($data, $fechas)
40
            ->innerJoin('AppBundle:Alumno', 'a', 'WITH', 'a.grupo = g')
41
            ->leftJoin('AppBundle:Parte', 'p', 'WITH', 'p.alumno = a')
42
            ->leftJoin('AppBundle:Sancion', 's', 'WITH', 'p.sancion = s');
43
44
        $data = $data
45
            ->addOrderBy('g.descripcion')
46
            ->groupBy('g.id')
47
            ->getQuery()
48
            ->getResult();
49
50
        return $data;
51
    }
52
}
53