From 2d16144cbde8e568b2799a11d79ca652c5dc8c1a Mon Sep 17 00:00:00 2001 From: Ale Date: Tue, 28 Mar 2023 22:44:20 -0300 Subject: [PATCH] =?UTF-8?q?Peque=C3=B1os=20cambios=20de=20estilo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/seeds/ImportarProductoSeeder.php | 35 ++++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/database/seeds/ImportarProductoSeeder.php b/database/seeds/ImportarProductoSeeder.php index 2b08d1a..025ffd9 100644 --- a/database/seeds/ImportarProductoSeeder.php +++ b/database/seeds/ImportarProductoSeeder.php @@ -62,23 +62,20 @@ class ImportarProductoSeeder extends Seeder //obtener talles if ($tipo == "PTC") { - $nombreLower = ucfirst(strtolower(str_replace('-', '', $nombre))); + $nombre = $this->limpiarNombre($nombre); // talles en una sola fila, // asume que están como '$n a $m' con $n, $m numeros y $n < $m. - // asume también que los talles van de uno en uno - if (str_contains($nombreLower, 'talles')) { - [$nombreLower, $talles] = explode('talles', $nombreLower); - $nombre = trim($nombreLower); + // asume también que los talles van de uno en uno, ej 8 - 9 - 10 + if (str_contains($nombre, 'talles')) { + [$nombre, $talles] = $this->separarNombre($nombre, true); [$inf, $sup] = explode(' a ', $talles); for ($i=$inf; $i < $sup; $i++) $desc = $desc.$i.'-'; $desc = $desc.$sup; } // talles en varias filas, // asume que mismos productos con distinto talle están en filas consecutivas - if (str_contains($nombreLower, 'talle')) { - [$nombre, $talle] = explode('talle', $nombreLower); - $nombre = trim($nombre); - $talle = trim(str_replace('.', '', $talle)); + if (str_contains($nombre, 'talle')) { + [$nombre, $talle] = $this->separarNombre($nombre, false); $esUltimo = $this->esUltimoTalle($nombre, $precio, $i, $registrosArray); if ($esUltimo) { $desc = $tallesVariasFilas . $talle; @@ -122,7 +119,25 @@ class ImportarProductoSeeder extends Seeder private function generarNombre($registro) { - return trim(str_replace('*', ' ',$registro['Producto'])); + $res = trim(str_replace('*', ' ',$registro['Producto'])); + return $res; + } + + private function limpiarNombre($nombre) + { + $res = trim(ucfirst(strtolower(str_replace('-', '', $nombre)))); + return $res; + } + + private function separarNombre($nombreYtalles, $plural) { + $separador = $plural ? 'talles' : 'talle'; + [$nombre, $talles] = explode($separador, $nombreYtalles); + $nombre = trim($nombre); + if (!$plural) { + $talles = trim(str_replace('.', '', $talles)); + $talles = strtoupper($talles); + } + return [$nombre, $talles]; } private function esUltimoTalle($nombre, $precio, $indice, $registros) {