Completed
Push — master ( 630db2...59081b )
by Laurent
03:27
created

SupplierRepository::getSuppliers()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 10
rs 9.4285
cc 1
eloc 6
nc 1
nop 0
1
<?php
2
3
/**
4
 * Entité Supplier.
5
 *
6
 * PHP Version 5
7
 *
8
 * @author     Quétier Laurent <[email protected]>
9
 * @copyright  2014 Dev-Int GLSR
10
 * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
11
 *
12
 * @version    since 1.0.0
13
 *
14
 * @link       https://github.com/Dev-Int/glsr
15
 */
16
namespace AppBundle\Entity;
17
18
use Doctrine\ORM\EntityRepository;
19
20
/**
21
 * SupplierRepository Entité Supplier.
22
 *
23
 * @category   Entity
24
 */
25
class SupplierRepository extends EntityRepository
26
{
27
    /**
28
     * Affiche les fournisseurs actifs.
29
     *
30
     * @return \Doctrine\ORM\QueryBuilder Requête DQL
31
     */
32
    public function getAllItems()
33
    {
34
        $query = $this->createQueryBuilder('s')
35
            ->join('s.familyLog', 'fl')
36
            ->addSelect('fl')
37
        ;
38
        
39
        return $query;
40
    }
41
42
43
    /**
44
     * Affiche les fournisseurs actifs.
45
     *
46
     * @return \Doctrine\ORM\QueryBuilder Requête DQL
47
     */
48
    public function getItems()
49
    {
50
        $query = $this->createQueryBuilder('s')
51
            ->join('s.familyLog', 'fl')
52
            ->addSelect('fl')
53
            ->where('s.active = 1')
54
        ;
55
        
56
        return $query;
57
    }
58
59
    /**
60
     * Renvoie les fournisseurs actifs correspondant à la famille logistique
61
     * de l'article en paramètre.
62
     *
63
     * @param AppBundle\Entity\Supplier $supplier Fournisseur sélectionné
64
     *
65
     * @return \Doctrine\ORM\QueryBuilder Requête DQL
66
     */
67
    public function getSupplierForReassign($supplier)
68
    {
69
        $query = $this->createQueryBuilder('s');
70
        $query
71
            ->select('s')
72
            ->where($query->expr()->neq('s.name', ':idname'))
73
            ->andWhere('s.familyLog = :flname')
74
            ->andWhere('s.active = true')
75
            ->setParameters(
76
                array(
77
                    'idname' => $supplier->getName(),
78
                    'flname' => $supplier->getFamilyLog(),
79
                )
80
            )
81
            ->orderBy('s.name', 'ASC');
82
83
        return $query;
84
    }
85
}
86