subDays(config('cafel.mises_en_places_retain', 370)); $this->syncWithCafelApi( CafelMepPoultry::class, 'cafel.ldc.mepvolailles', [ 'dateDebut' => $dateDebut->format('Y-m-d'), 'dateFin' => now()->format('Y-m-d') ], function (array $row) { // * Explode inuav if (\array_key_exists('inuav_codes', $row)) { $row['inuav_codes'] = explode(',', $row['inuav_codes']); } // * Validate row data CafelMepPoultry::validateDataRow($row); /** @var array Unique Key columns */ $uniqueColumnsKey = []; foreach (CafelMepPoultry::UNIQUE_COLUMN_KEYS as $uField) { $uniqueColumnsKey[$uField] = $row[$uField]; } forward_static_call_array( [CafelPoultryMiseEnPlace::class, 'updateOrCreate'], [$uniqueColumnsKey, $row] ); } ); $this->mailInvalidRows(CafelMepPoultry::UNIQUE_COLUMN_KEYS, CafelMepPoultry::class); // * DeleteOld MEPs // * Garder une interstice de X jours entre la suppression et ce qu'on récupère de CAFEL CafelPoultryMiseEnPlace::whereDate('transfert_date', '<', $dateDebut->subDays( config('cafel.mises_en_places_retain', 370) ))->delete(); } }