seedMetaUtil($connection); $this->seedSirh($connection); $this->seedMarques($connection); $this->seedFamVente($connection); $this->seedAdditifs($connection); $this->seedAllergenesAndAllegations($connection); $this->seedServicesConso($connection); $this->seedIncoAndCompo($connection); } private function seedMetaUtil(string $connection): void { $users = [ ['COD_UTIL' => 'RA0706430', 'LIB_UTIL' => 'Responsable Qualité', 'EMAIL' => 'qualite@ldc.fr', 'GROUPE' => 65], ['COD_UTIL' => 'BM6501226', 'LIB_UTIL' => 'Chef de Produit Marketing', 'EMAIL' => 'marketing@ldc.fr', 'GROUPE' => 2], ['COD_UTIL' => 'SB6501847', 'LIB_UTIL' => 'Responsable Commercial', 'EMAIL' => 'commercial@ldc.fr', 'GROUPE' => 1], ['COD_UTIL' => 'ME0101979', 'LIB_UTIL' => 'Administrateur SI', 'EMAIL' => 'admin.si@ldc.fr', 'GROUPE' => 0], ['COD_UTIL' => 'SG6501248', 'LIB_UTIL' => 'Chargé R&D Nutrition', 'EMAIL' => 'rd.nutrition@ldc.fr', 'GROUPE' => 1], ]; foreach ($users as $user) { if (! DB::connection($connection)->table(MetaUtilTable::name())->where('COD_UTIL', $user['COD_UTIL'])->exists()) { MetaUtilFactory::new($connection)->create($user); } } } private function seedSirh(string $connection): void { $employees = [ ['MATRICULE_FIC' => '4300710', 'SITE_FIC' => 'AVIGNO', 'ETAB_FIC' => 'ET29A', 'STATUT_FIC' => 'OUV', 'SERVICE_FIC' => '25'], ['5000920', 'SNVSER', 'ET11G', 'OUV', '13'], ['3900757', 'EPC', 'ET15', 'AMT', '16'], ['109873', 'LDCVOL', 'ET50', 'CAD', '25'], ['4911791', 'SNVVOL', 'ET11E', 'OUV', '11'], ]; foreach ($employees as $emp) { $mat = is_array($emp) && isset($emp['MATRICULE_FIC']) ? $emp['MATRICULE_FIC'] : $emp[0]; if (! DB::connection($connection)->table(RuPersonneSirhTable::name())->where('MATRICULE_FIC', $mat)->exists()) { if (isset($emp['MATRICULE_FIC'])) { RuPersonneSirhFactory::new($connection)->create($emp); } else { RuPersonneSirhFactory::new($connection)->create([ 'MATRICULE_FIC' => $emp[0], 'COD_PERSONNE' => $emp[0], 'SITE_FIC' => $emp[1], 'ETAB_FIC' => $emp[2], 'ETABLISSEMENT' => $emp[2], 'STATUT_FIC' => $emp[3], 'SERVICE_FIC' => $emp[4], ]); } } } } private function seedMarques(string $connection): void { $marques = [ ['COD_MARQ' => 246, 'LIB_MARQ' => 'LE GAULOIS', 'COMMENTAIRE' => 'Marque Le Gaulois (Volailles & Panés)'], ['COD_MARQ' => 466, 'LIB_MARQ' => 'LOUE', 'COMMENTAIRE' => 'Fermiers de Loué Label Rouge'], ['COD_MARQ' => 565, 'LIB_MARQ' => 'MARIE', 'COMMENTAIRE' => 'Plats cuisinés & surgelés Marie'], ['COD_MARQ' => 71, 'LIB_MARQ' => 'ID HALAL', 'COMMENTAIRE' => 'Gamme certifiée Halal'], ['COD_MARQ' => 793, 'LIB_MARQ' => 'POPROSTU', 'COMMENTAIRE' => 'Marque MDD pour la Pologne'], ['COD_MARQ' => 631, 'LIB_MARQ' => 'LA MAISON DE MAURICE', 'COMMENTAIRE' => 'Marque distributeur Export'], ['COD_MARQ' => 179, 'LIB_MARQ' => 'BX FOOD', 'COMMENTAIRE' => 'Marque BX Food'], ['COD_MARQ' => 725, 'LIB_MARQ' => 'ALPEKER', 'COMMENTAIRE' => 'Marque Export Italie'], ['COD_MARQ' => 740, 'LIB_MARQ' => 'AQUILA', 'COMMENTAIRE' => 'Marque Export Hongrie'], ]; foreach ($marques as $marque) { if (! DB::connection($connection)->table(MarqueTable::name())->where('COD_MARQ', $marque['COD_MARQ'])->exists()) { MarqueFactory::new($connection)->create($marque); } } } private function seedFamVente(string $connection): void { $familles = [ ['COD_FAMVTE' => 406, 'LIB_FAMVTE' => 'FOURNITURES EXPEDITION'], ['COD_FAMVTE' => 31, 'LIB_FAMVTE' => 'PRODUITS CUITS (TVA 20%)'], ['COD_FAMVTE' => 94, 'LIB_FAMVTE' => 'DCPE POULET NOIR'], ['COD_FAMVTE' => 306, 'LIB_FAMVTE' => 'OIE LOUE'], ['COD_FAMVTE' => 319, 'LIB_FAMVTE' => 'DCPE CANARD GRAS ELABORE'], ]; foreach ($familles as $fam) { if (! DB::connection($connection)->table(FamVenteTable::name())->where('COD_FAMVTE', $fam['COD_FAMVTE'])->exists()) { FamVenteFactory::new($connection)->create($fam); } } } private function seedAdditifs(string $connection): void { $additifs = [ ['COD_EUROPEEN' => 'E250', 'MOLECULE' => 'Nitrite de sodium', 'FONCTION' => 'Conservateur', 'RISQUE' => 2], ['COD_EUROPEEN' => 'E316', 'MOLECULE' => 'Érythorbate de sodium', 'FONCTION' => 'Antioxydant', 'RISQUE' => 1], ['COD_EUROPEEN' => 'E392', 'MOLECULE' => 'Extrait de romarin', 'FONCTION' => 'Antioxydant', 'RISQUE' => 0], ['COD_EUROPEEN' => 'E469', 'MOLECULE' => 'Carboxyméthylcellulose enzymatique', 'FONCTION' => 'Épaississant', 'RISQUE' => 1], ['COD_EUROPEEN' => 'E470a', 'MOLECULE' => 'Sels d\'acides gras', 'FONCTION' => 'Émulsifiant', 'RISQUE' => 1], ['COD_EUROPEEN' => 'E471', 'MOLECULE' => 'Mono et diglycérides d\'acides gras', 'FONCTION' => 'Émulsifiant', 'RISQUE' => 1], ['COD_EUROPEEN' => 'E472a', 'MOLECULE' => 'Esters acétiques de mono/diglycérides', 'FONCTION' => 'Émulsifiant', 'RISQUE' => 1], ['COD_EUROPEEN' => 'E472b', 'MOLECULE' => 'Esters lactiques de mono/diglycérides', 'FONCTION' => 'Émulsifiant', 'RISQUE' => 1], ]; foreach ($additifs as $additif) { if (! DB::connection($connection)->table(AdditifTable::name())->where('COD_EUROPEEN', $additif['COD_EUROPEEN'])->exists()) { AdditifFactory::new($connection)->create($additif); } } } private function seedAllergenesAndAllegations(string $connection): void { $allergenes = [ ['ID' => 1, 'LIB' => 'Gluten'], ['ID' => 2, 'LIB' => 'Crustacés'], ['ID' => 3, 'LIB' => 'Œufs'], ['ID' => 4, 'LIB' => 'Poissons'], ['ID' => 5, 'LIB' => 'Arachides'], ['ID' => 6, 'LIB' => 'Soja'], ['ID' => 7, 'LIB' => 'Lait'], ['ID' => 8, 'LIB' => 'Fruits à coque'], ['ID' => 9, 'LIB' => 'Céleri'], ['ID' => 10, 'LIB' => 'Moutarde'], ['ID' => 11, 'LIB' => 'Graines de sésame'], ]; foreach ($allergenes as $allergene) { if (! DB::connection($connection)->table(IncoAllergeneTable::name())->where('ID', $allergene['ID'])->exists()) { IncoAllergeneFactory::new($connection)->create($allergene); } } $allegations = [ ['CODE' => 1, 'LIBELLE' => 'Sans conservateur'], ['CODE' => 2, 'LIBELLE' => 'Sans huile de palme'], ['CODE' => 3, 'LIBELLE' => 'Volaille 100% française'], ['CODE' => 4, 'LIBELLE' => 'Élevé en liberté 84 jours'], ['CODE' => 5, 'LIBELLE' => 'Sans arôme artificiel'], ]; foreach ($allegations as $allegation) { if (! DB::connection($connection)->table(IncoAllegationsTable::name())->where('CODE', $allegation['CODE'])->exists()) { IncoAllegationsFactory::new($connection)->create($allegation); } } } private function seedServicesConso(string $connection): void { $services = [ [ 'ID' => 24, 'NOM' => 'Service clients - Groupe Auchan', 'ADRESSE1' => 'BP 682', 'CP' => '59650', 'VILLE' => 'Villeneuve d\'Ascq', 'TELEPHONE' => '03.59.30.59.30', 'MAIL' => 'service.conso@auchan.fr', 'MARQUE' => 210, 'LIB' => 'Service conso Pouce Auchan', 'SITE_INT' => 'www.auchan.fr', ], [ 'ID' => 28, 'NOM' => 'Service consommateurs Carrefour', 'ADRESSE1' => 'CMI - TSA 91431', 'CP' => '91300', 'VILLE' => 'Massy', 'TELEPHONE' => '06.69.39.70.00', 'MAIL' => 'service.conso@carrefour.fr', 'MARQUE' => 448, 'LIB' => 'Service conso Carrefour', 'SITE_INT' => 'www.carrefour.fr', ], [ 'ID' => 30, 'NOM' => 'Service clients Intermarché', 'ADRESSE1' => '24 rue Auguste Chabrières', 'CP' => '75000', 'VILLE' => 'Paris', 'TELEPHONE' => '08.00.00.81.80', 'MAIL' => 'service.conso@intermarche.com', 'MARQUE' => 419, 'LIB' => 'Service conso Intermarché', 'SITE_INT' => 'www.intermarche.com', ], [ 'ID' => 54, 'NOM' => 'Service Consommateurs LDC', 'ADRESSE1' => 'ZI Saint Laurent - BP 88', 'CP' => '72302', 'VILLE' => 'Sablé-sur-Sarthe', 'TELEPHONE' => '02.43.62.70.00', 'MAIL' => 'service.conso@ldc.fr', 'MARQUE' => 246, 'LIB' => 'Service conso Groupe LDC', 'SITE_INT' => 'www.ldc.fr', ], ]; foreach ($services as $service) { if (! DB::connection($connection)->table(ServiceConsoIncoTable::name())->where('ID', $service['ID'])->exists()) { ServiceConsoIncoFactory::new($connection)->create($service); } } } private function seedIncoAndCompo(string $connection): void { // 1. Compositions nutritionnelles if (! DB::connection($connection)->table(IncoCompoTable::name())->where('ID', 96504)->exists()) { IncoCompoFactory::new($connection)->steaksDinde()->create(); } if (! DB::connection($connection)->table(IncoCompoTable::name())->where('ID', 124503)->exists()) { IncoCompoFactory::new($connection)->pouletFermierNoir()->create(); } // 2. Fiches INCO liées if (! DB::connection($connection)->table(IncoTable::name())->where('NO_ART', 47789)->exists()) { IncoFactory::new($connection)->nuggetsPoulet()->withCompo(96504)->create(); } if (! DB::connection($connection)->table(IncoTable::name())->where('NO_ART', 47996)->exists()) { IncoFactory::new($connection)->gesiersEtFoies()->withCompo(124503)->create(); } if (! DB::connection($connection)->table(IncoTable::name())->where('NO_ART', 4)->exists()) { IncoFactory::new($connection)->pouletFermierLoue()->create(); } } }