Compare commits

...

2 Commits

Author SHA1 Message Date
Alejandro Tasistro 30eb822201 Limpieza de tablas previa a cargar + bono barrial 2024-12-22 10:28:05 -03:00
Alejandro Tasistro 76f2af2ef9 Cambio mensaje 2024-12-22 09:43:57 -03:00
3 changed files with 39 additions and 6 deletions

View File

@ -2,6 +2,7 @@
namespace App\Helpers;
use App\Producto;
use App\Proveedor;
use App\CanastaLog;
use DatabaseSeeder;
@ -28,6 +29,8 @@ class CanastaHelper
}
public static function cargarCanasta($archivo) {
self::limpiarTablas();
$csv = Reader::createFromPath(resource_path($archivo), 'r');
$csv->setDelimiter("|");
$iHeader = self::obtenerIndiceDeHeader($csv);
@ -82,6 +85,8 @@ class CanastaHelper
DB::table('productos')->insert($chunk);
}
self::agregarBonoBarrial();
self::log($archivo, self::CANASTA_CARGADA);
}
@ -122,4 +127,25 @@ class CanastaHelper
]);
$log->save();
}
private static function limpiarTablas()
{
DB::delete('delete from producto_subpedido');
DB::delete('delete from productos');
DB::delete('delete from subpedidos');
}
private static function agregarBonoBarrial()
{
$categoria = Producto::all()->pluck('categoria')->unique()->flatten()->first(function ($c) { return Str::contains($c, 'BONO'); });
DB::table('productos')->insert([
'fila' => 420,
'nombre' => "Bono barrial",
'precio' => 20,
'categoria' => $categoria,
'bono' => 1,
'proveedor_id' => null,
'requiere_notas'=> false,
]);
}
}

View File

@ -20,14 +20,21 @@
La planilla de la canasta tiene que tener el siguiente formato para que la aplicación la lea correctamente:
<ul>
<li> Los precios deben usar punto y no coma decimal </li>
<li> Después del último producto, en la primera celda, debe estar la palabra "TOTAL", para indicar el final de la lista </li>
<li> Después del último producto, en la primera columna, debe estar la palabra "TOTAL" para indicar el final de la lista </li>
<li> El nombre de la columna de precios debe ser "Precio" </li>
<li> Las columnas deben separarse con '|' </li>
<li> No puede haber "enters" en ningún campo de la planilla </li>
<li> Las celdas deben separarse con '|' </li>
<li> No puede haber "enters" en ninguna celda </li>
<li> Todos los bonos deben tener tipo 'B' para evitar que paguen transporte </li>
<li> El bono de transporte debe tener tipo 'T' </li>
</ul>
<a class="has-text-info" href="/compras/canasta/ejemplo">Planilla de ejemplo.</a>
<article class="message is-danger mt-2">
<div class="message-body">
<div class="content">
Cuidado! Cargar una nueva canasta elimina todos los pedidos de la aplicación.
</div>
</div>
</article>
</div>
</div>
</article>

View File

@ -13,10 +13,10 @@
<i class="fas fa-cloud-upload-alt"></i>
</span>
<span class="file-label">Subir canasta</span>
</span>
</span>
<span class="file-name" v-if="archivo">
{{ archivo.nombre }}
</span>
{{ archivo.nombre }}
</span>
</label>
</div>
</div>