'Foin', 'code' => 'FOIN'], ['label' => 'Paille', 'code' => 'PAILLE'], ['label' => 'Granule', 'code' => 'GRANULE'], ['label' => 'Autres', 'code' => 'AUTRES'], ]; foreach ($merchandiseTypes as $type) { $merchandiseType = new MerchandiseType() ->setLabel($type['label']) ->setCode($type['code']) ; $manager->persist($merchandiseType); } $pelletTypes = [ ['label' => 'JB croissance', 'code' => 'K750'], ['label' => 'Genisse herbe', 'code' => 'K500'], ['label' => 'Bovistart melasse ferme', 'code' => 'K130'], ['label' => 'Bovin mise en forme', 'code' => 'K400'], ]; foreach ($pelletTypes as $type) { $pelletType = new PelletType() ->setLabel($type['label']) ->setCode($type['code']) ; $manager->persist($pelletType); } $buildings = [ ['label' => 'Bâtiment 1', 'code' => 'B1'], ['label' => 'Bâtiment 2', 'code' => 'B2'], ['label' => 'Bâtiment 3', 'code' => 'B3'], ]; foreach ($buildings as $buildingData) { $building = new Building() ->setLabel($buildingData['label']) ->setCode($buildingData['code']) ; $manager->persist($building); } $receptionTypes = [ ['label' => 'Marchandises', 'code' => 'MARCHANDISES'], ['label' => 'Bovins', 'code' => 'BOVINS'], ]; foreach ($receptionTypes as $type) { $receptionType = new ReceptionType() ->setLabel($type['label']) ->setCode($type['code']) ; $manager->persist($receptionType); } $bovineTypes = [ ['label' => 'Limousine', 'code' => '34'], ['label' => 'Charolaise', 'code' => '38'], ['label' => 'Parthenaise', 'code' => '71'], ]; foreach ($bovineTypes as $type) { $bovineType = new BovineType() ->setLabel($type['label']) ->setCode($type['code']) ; $manager->persist($bovineType); } $shipmentTypes = [ ['label' => 'Bovin de boucherie', 'code' => 'BDB'], ['label' => "Bovin d'équarrissage", 'code' => 'BE'], ]; foreach ($shipmentTypes as $type) { $shipmentType = new ShipmentType() ->setLabel($type['label']) ->setCode($type['code']) ; $manager->persist($shipmentType); } $suppliers = [ [ 'name' => 'LIOT', 'email' => 'lpc.contacts@lpc-liot.fr', 'phone' => '05.49.20.09.10', 'addresses' => [ [ 'label' => 'LIOT CHATELLERAULT', 'street' => "14 Allée d'Argenson", 'street2' => 'ZI Nord', 'postalCode' => '86100', 'city' => 'CHATELLERAULT', 'countryCode' => 'FR', ], ], ], [ 'name' => 'ARNAULT EURL', 'email' => 'eurl.arnault86@orange.fr', 'phone' => '05.49.02.65.27', 'addresses' => [ [ 'label' => 'ARNAULT EURL', 'street' => 'Moulin du Guéret', 'street2' => 'B.P 30425', 'postalCode' => '86100', 'city' => 'Antran', 'countryCode' => 'FR', ], ], ], [ 'name' => 'EARL DES GONNIERES', 'email' => null, 'phone' => '06.80.14.18.82', 'addresses' => [ [ 'label' => 'EARL DES GONNIERES', 'street' => "27 Route d'Ingrandes", 'street2' => 'Les Gonnières', 'postalCode' => '86220', 'city' => 'OYRE', 'countryCode' => 'FR', ], ], ], [ 'name' => 'EARL LESIGNY BABY', 'email' => null, 'phone' => '05.49.86.17.95', 'addresses' => [ [ 'label' => 'EARL LESIGNY BABY', 'street' => '2 Lieu Dit Les Bouquins', 'street2' => null, 'postalCode' => '86270', 'city' => 'LESIGNY', 'countryCode' => 'FR', ], ], ], [ 'name' => 'FEDER', 'email' => 'contact@uco-feder.fr', 'phone' => '03.85.24.25.50', 'addresses' => [ [ 'label' => 'FEDER', 'street' => 'Molaise', 'street2' => null, 'postalCode' => '71120', 'city' => 'CHAROLLES', 'countryCode' => 'FR', ], ], ], [ 'name' => "GAEC DE L'ESPOIR", 'email' => 'contact@uco-feder.fr', 'phone' => '05.49.86.57.24', 'addresses' => [ [ 'label' => "GAEC DE L'ESPOIR", 'street' => 'La Moujonnerie', 'street2' => null, 'postalCode' => '86450', 'city' => 'PLEUMARTIN', 'countryCode' => 'FR', ], ], ], [ 'name' => 'GRAVELEAU', 'email' => 'contact@graveleau-sarl.fr', 'phone' => '05.49.23.51.66', 'addresses' => [ [ 'label' => 'GRAVELEAU', 'street' => '3, Le Jeu', 'street2' => null, 'postalCode' => '86220', 'city' => 'INGRANDES', 'countryCode' => 'FR', ], ], ], [ 'name' => 'LORTHOLARY', 'email' => 'contact86@lortholarybetail.com', 'phone' => '05.49.52.77.10', 'addresses' => [ [ 'label' => 'LORTHOLARY', 'street' => 'Ferme de Geniec', 'street2' => null, 'postalCode' => '86550', 'city' => 'MIGNALOUX BEAUVOIR', 'countryCode' => 'FR', ], ], ], [ 'name' => 'NATERA', 'email' => 'contact86@lortholarybetail.com', 'phone' => '05.65.67.89.46', 'addresses' => [ [ 'label' => 'NATERA', 'street' => 'Bd des Balquières', 'street2' => 'BP 3220', 'postalCode' => '12032', 'city' => 'RODEZ CEDEX 9', 'countryCode' => 'FR', ], ], ], [ 'name' => 'SCEA des Bariollières', 'email' => 'elisregnier@gmail.com', 'phone' => '06.09.37.65.61', 'addresses' => [ [ 'label' => 'SCEA des Bariollières', 'street' => '2 rue des Barriollières', 'street2' => null, 'postalCode' => '86220', 'city' => 'INGRANDES', 'countryCode' => 'FR', ], ], ], [ 'name' => 'SCEA SENE', 'email' => null, 'phone' => null, 'addresses' => [ [ 'label' => 'SCEA SENE', 'street' => '3 Route de la Roche Posay', 'street2' => 'Les Girouettes', 'postalCode' => '86100', 'city' => 'CHATELLERAULT', 'countryCode' => 'FR', ], ], ], [ 'name' => 'TERRENA', 'email' => null, 'phone' => '02.51.67.17.98', 'addresses' => [ [ 'label' => 'TERRENA', 'street' => 'La Blanchardière', 'street2' => null, 'postalCode' => '44522', 'city' => 'MESANGER', 'countryCode' => 'FR', ], ], ], [ 'name' => 'TRICHERIE COOPERATIVE', 'email' => 'contact@cooptricherie.fr', 'phone' => '05.49.19.44.33', 'addresses' => [ [ 'label' => 'TRICHERIE COOPERATIVE', 'street' => 'B.P n°2', 'street2' => null, 'postalCode' => '86490', 'city' => 'BEAUMONT', 'countryCode' => 'FR', ], ], ], [ 'name' => 'TURPAULT Muriel', 'email' => null, 'phone' => null, 'addresses' => [ [ 'label' => 'TURPAULT Muriel', 'street' => '23Bis Rue Marcel Pagnol', 'street2' => null, 'postalCode' => '86100', 'city' => 'TARGE', 'countryCode' => 'FR', ], ], ], ]; foreach ($suppliers as $supplierData) { $supplier = new Supplier() ->setName($supplierData['name']) ->setEmail($supplierData['email']) ->setPhone($supplierData['phone']) ; foreach ($supplierData['addresses'] as $addressData) { $addressKey = sprintf('%s|%s', $addressData['label'], $addressData['postalCode']); if (!isset($addressIndex[$addressKey])) { $addressIndex[$addressKey] = new Address() ->setLabel($addressData['label']) ->setStreet($addressData['street']) ->setStreet2($addressData['street2']) ->setPostalCode($addressData['postalCode']) ->setCity($addressData['city']) ->setCountryCode($addressData['countryCode']) ; $manager->persist($addressIndex[$addressKey]); } $address = $addressIndex[$addressKey]; $supplier->getAddresses()->add($address); } $manager->persist($supplier); } $customers = [ [ 'name' => 'ARNAULT EURL', 'phone' => '05.49.02.65.27', 'email' => 'eurl.arnault86@orange.fr', 'addresses' => [ [ 'label' => 'ARNAULT EURL', 'street' => 'Moulin du Guéret', 'street2' => 'B.P 30425', 'postalCode' => '86100', 'city' => 'Antran', 'countryCode' => 'FR', ], ], ], [ 'name' => 'COVILIM', 'phone' => '05.55.30.03.10', 'email' => 'sandra.robineaux@covilim.com', 'addresses' => [ [ 'label' => 'COVILIM', 'street' => 'Rue de Nexon', 'street2' => null, 'postalCode' => '87000', 'city' => 'LIMOGES', 'countryCode' => 'FR', ], ], ], [ 'name' => 'Les producteurs de la marche (LPM)', 'phone' => '05.55.63.04.53', 'email' => 'f.legalliard@lpmcoop.fr', 'addresses' => [ [ 'label' => 'Les producteurs de la marche (LPM)', 'street' => 'Malonze', 'street2' => null, 'postalCode' => '23300', 'city' => 'LA SOUTERRAINE', 'countryCode' => 'FR', ], ], ], [ 'name' => 'LORTHOLARY BETAIL', 'phone' => '05.49.52.77.10', 'email' => 'contact86@lortholarybetail.com', 'addresses' => [ [ 'label' => 'LORTHOLARY BETAIL', 'street' => 'FERME DE GENIEC', 'street2' => null, 'postalCode' => '86550', 'city' => 'MIGNALOUX BEAUVOIR', 'countryCode' => 'FR', ], ], ], [ 'name' => 'TERRENA', 'phone' => '02.40.98.90.00', 'email' => 'scouillaud@terrena.fr', 'addresses' => [ [ 'label' => 'TERRENA', 'street' => 'LA NOELLE', 'street2' => 'BP 20199', 'postalCode' => '44155', 'city' => 'ANCENIS CEDEX', 'countryCode' => 'FR', ], ], ], ]; foreach ($customers as $customerData) { $customer = new Customer() ->setName($customerData['name']) ->setPhone($customerData['phone']) ->setEmail($customerData['email']) ; foreach ($customerData['addresses'] as $addressData) { $addressKey = sprintf('%s|%s', $addressData['label'], $addressData['postalCode']); if (!isset($addressIndex[$addressKey])) { $addressIndex[$addressKey] = new Address() ->setLabel($addressData['label']) ->setStreet($addressData['street']) ->setStreet2($addressData['street2']) ->setPostalCode($addressData['postalCode']) ->setCity($addressData['city']) ->setCountryCode($addressData['countryCode']) ; $manager->persist($addressIndex[$addressKey]); } $customer->getAddresses()->add($addressIndex[$addressKey]); } $manager->persist($customer); } $manager->flush(); } }