Completed
Push — Recipes ( 9c2236...1ddc90 )
by Laurent
04:54
created

LoadArticleData::rnd_fl()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * LoadArticleData Données de l'application GLSR.
4
 *
5
 * PHP Version 7
6
 *
7
 * @author    Quétier Laurent <[email protected]>
8
 * @copyright 2018 Dev-Int GLSR
9
 * @license   http://opensource.org/licenses/gpl-license.php GNU Public License
10
 *
11
 * @version GIT: $Id$
12
 *
13
 * @see https://github.com/Dev-Int/glsr
14
 */
15
16
namespace App\DataFixtures;
17
18
use Doctrine\Bundle\FixturesBundle\Fixture;
19
use Doctrine\Common\Persistence\ObjectManager;
20
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
21
use App\Entity\Settings\Article;
22
use App\Entity\Settings\Diverse\Material;
23
use App\DataFixtures\LoadDiverseData;
24
use App\DataFixtures\LoadSupplierData;
25
26
/**
27
 * Load Article Data.
28
 *
29
 * @category DataFixtures
30
 */
31
class LoadArticleData extends Fixture implements DependentFixtureInterface
32
{
33
    /**
34
     * Load data fixtures with the passed EntityManager.
35
     *
36
     * @param ObjectManager $manager
37
     */
38
    public function load(ObjectManager $manager)
39
    {
40
        $datas = $this->getDatas();
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $datas is correct as $this->getDatas() targeting App\DataFixtures\LoadArticleData::getDatas() seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
41
        foreach ($datas as $key => $data) {
0 ignored issues
show
Bug introduced by
The expression $datas of type void is not traversable.
Loading history...
42
            $article = new Article();
43
            $article->setName($data['name'])
44
                ->setSupplier($data['supplier'])
45
                ->setFamilyLog($data['familyLog'])
46
                ->addZoneStorage($data['zoneStorage'])
47
                ->setUnitStorage($data['unitStorage'])
48
                ->setUnitWorking($data['unitWorking'])
49
                ->setPrice($data['price'])
50
                ->setPackaging($data['packaging'])
51
                ->setTva($data['tva'])
52
                ->setMinStock($data['minStock']);
53
54
            $manager->persist($article);
55
            $order = $key + 1;
56
            $this->addReference('article'.$order, $article);
57
58
            $material = new Material();
59
            $material->setName($data['name'])
60
                ->setUnitWorking($data['unitWorking'])
61
                ->addArticle($this->getReference('article'.$order))
62
                ->setActive(1);
63
64
            $manager->persist($material);
65
            $this->addReference('material'.$order, $material);
66
        }
67
68
        $manager->flush();
69
    }
70
71
    public function getDependencies()
72
    {
73
        return [
74
            LoadDiverseData::class,
75
            LoadSupplierData::class,
76
        ];
77
    }
78
79
    /**
80
     * Return float random.
81
     *
82
     * @param integer $min
83
     * @param integer $max
84
     */
85
     protected function rnd_fl(int $min = 0, int $max = null): float
86
    {
87
        return (float)rand($min, $max) / (float)getrandmax();
88
    }
89
90
    /**
91
     * Get the fixture's datas
92
     *
93
     * @return void
94
     */
95
    protected function getDatas()
96
    {
97
        /**
98
         * Supplier references
99
         */
100
        $davigel = $this->getReference('supplier1');
101
        $davifrais = $this->getReference('supplier2');
102
        $davisec = $this->getReference('supplier3');
103
        $loireBoissons = $this->getReference('supplier4');
104
105
        /**
106
         * Categories references
107
         */
108
        $frais = $this->getReference('family-log4');
109
        $sec = $this->getReference('family-log5');
110
        $viandeSurgele = $this->getReference('family-log9');
111
        $fruitLegumesFrais = $this->getReference('family-log10');
112
        $vins = $this->getReference('family-log16');
113
114
        /**
115
         * Storage area references
116
         */
117
        $zoneSurgele = $this->getReference('zoneStorage1');
118
        $zoneFrais = $this->getReference('zoneStorage2');
119
        $zoneSec = $this->getReference('zoneStorage3');
120
        $zoneBoisson = $this->getReference('zoneStorage4');
121
122
        /**
123
         * Units references
124
         */
125
        $bouteille = $this->getReference('unit2');
126
        $kilogramme = $this->getReference('unit5');
127
        $piece = $this->getReference('unit7');
128
129
        /**
130
         * VAT references
131
         */
132
        $tvaReduit = $this->getReference('tva1');
133
134
        /**
135
         * Articles datas
136
         */
137
        $datas = [
138
            ['name' => 'Salade', 'supplier' => $davifrais,
139
            'familyLog' => $fruitLegumesFrais, 'zoneStorage' => $zoneFrais,
140
            'unitStorage' => $piece, 'unitWorking' => $kilogramme, 'price' => 2.99,
141
            'packaging' => 12.0, 'tva' => $tvaReduit, 'minStock' => 2.0, ],
142
            ['name' => 'Bavette 150gr', 'supplier' => $davigel,
143
            'familyLog' => $viandeSurgele, 'zoneStorage' => $zoneSurgele,
144
            'unitStorage' => $piece, 'unitWorking' => $piece, 'price' => 2.99,
145
            'packaging' => 28, 'tva' => $tvaReduit, 'minStock' => 2.0, ],
146
            ['name' => 'Baguettine', 'supplier' => $davigel,
147
            'familyLog' => $viandeSurgele, 'zoneStorage' => $zoneSurgele,
148
            'unitStorage' => $piece, 'unitWorking' => $piece, 'price' => 15.2,
149
            'packaging' => 90.0, 'tva' => $tvaReduit, 'minStock' => 20.0, ],
150
            ['name' => 'Steack haché 20%MG 120g', 'supplier' => $davigel,
151
            'familyLog' => $viandeSurgele, 'zoneStorage' => $zoneSurgele,
152
            'unitStorage' => $piece, 'unitWorking' => $piece, 'price' => 1.22,
153
            'packaging' => 50.0, 'tva' => $tvaReduit, 'minStock' => 12.0, ],
154
            ['name' => 'Ananas poche 2.3 KG', 'supplier' => $davisec,
155
            'familyLog' => $sec, 'zoneStorage' => $zoneSec,
156
            'unitStorage' => $piece, 'unitWorking' => $kilogramme, 'price' => 4.05,
157
            'packaging' => 4, 'tva' => $tvaReduit, 'minStock' => 3.0, ],
158
            ['name' => 'Appareil Champigons 2 KG', 'supplier' => $davifrais,
159
            'familyLog' => $frais, 'zoneStorage' => $zoneFrais,
160
            'unitStorage' => $piece, 'unitWorking' => $kilogramme, 'price' => 6.39,
161
            'packaging' => 4.0, 'tva' => $tvaReduit, 'minStock' => 2.0, ],
162
            ['name' => 'Bacon tranche Barq 88G', 'supplier' => $davifrais,
163
            'familyLog' => $frais, 'zoneStorage' => $zoneFrais,
164
            'unitStorage' => $piece, 'unitWorking' => $kilogramme, 'price' => 0.75,
165
            'packaging' => 6.0, 'tva' => $tvaReduit, 'minStock' => 2, ],
166
            ['name' => 'Beurre doux 8Gx125', 'supplier' => $davifrais,
167
            'familyLog' => $frais, 'zoneStorage' => $zoneFrais,
168
            'unitStorage' => $kilogramme, 'unitWorking' => $piece, 'price' => 6.83,
169
            'packaging' => 1.0, 'tva' => $tvaReduit, 'minStock' => 0.5, ],
170
            ['name' => 'Boule pour oeuf neige', 'supplier' => $davifrais,
171
            'familyLog' => $frais, 'zoneStorage' => $zoneFrais,
172
            'unitStorage' => $piece, 'unitWorking' => $piece, 'price' => 1.75,
173
            'packaging' => 6.0, 'tva' => $tvaReduit, 'minStock' => 2.0, ],
174
            ['name' => 'Champignons émincé 500G', 'supplier' => $davifrais,
175
            'familyLog' => $fruitLegumesFrais, 'zoneStorage' => $zoneFrais,
176
            'unitStorage' => $kilogramme, 'unitWorking' => $kilogramme,
177
            'price' => 3.17, 'packaging' => 3.5, 'tva' => $tvaReduit,
178
            'minStock' => 1.0, ],
179
            ['name' => 'Chorizo prétr. 500G', 'supplier' => $davifrais,
180
            'familyLog' => $fruitLegumesFrais, 'zoneStorage' => $zoneFrais,
181
            'unitStorage' => $kilogramme, 'unitWorking' => $kilogramme,
182
            'price' => 5.11, 'packaging' => 6, 'tva' => $tvaReduit, 'minStock' => 1.0, ],
183
            ['name' => 'V.RG Bourgueil 75cl', 'supplier' => $loireBoissons,
184
            'familyLog' => $vins, 'zoneStorage' => $zoneBoisson,
185
            'unitStorage' => $bouteille, 'unitWorking' => $bouteille,
186
            'price' => 5.11, 'packaging' => 6.0, 'tva' => $tvaReduit, 'minStock' => 3.0, ],
187
        ];
188
189
        return $datas;
190
    }
191
}
192