GrupoRepository   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 86.36 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 1
c 2
b 0
f 0
lcom 0
cbo 3
dl 19
loc 22
ccs 0
cts 16
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A getResumenPorFecha() 19 19 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

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