Compare commits
No commits in common. "e334234c9fc23a7f236fdbb5441410fe756c0aa5" and "bb29e34b1be2a2fa6bb4595ca018ca1f530182f0" have entirely different histories.
e334234c9f
...
bb29e34b1b
6 changed files with 55 additions and 33 deletions
|
@ -93,11 +93,7 @@ class GrupoDeCompra extends Model
|
||||||
}
|
}
|
||||||
|
|
||||||
public function calcularCantidadBDT() {
|
public function calcularCantidadBDT() {
|
||||||
$total = 0;
|
return ceil($this->totalPedidosSinBonos() / 500);
|
||||||
foreach ($this->pedidosAprobados() as $pedido) {
|
|
||||||
$total += $pedido->totalParaTransporte();
|
|
||||||
}
|
|
||||||
return ceil($total / 500);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function totalBonosBarriales() {
|
public function totalBonosBarriales() {
|
||||||
|
|
|
@ -5,7 +5,6 @@ namespace App;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use App\Filtros\FiltroDeProducto;
|
use App\Filtros\FiltroDeProducto;
|
||||||
use Illuminate\Support\Str;
|
|
||||||
|
|
||||||
class Producto extends Model
|
class Producto extends Model
|
||||||
{
|
{
|
||||||
|
@ -23,10 +22,6 @@ class Producto extends Model
|
||||||
return $this->belongsTo('App\Proveedor');
|
return $this->belongsTo('App\Proveedor');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function pagaTransporte() {
|
|
||||||
return !($this->bono || Str::contains($this->categoria, 'SUBSIDIADO'));
|
|
||||||
}
|
|
||||||
|
|
||||||
//Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
|
//Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
|
||||||
public function scopeFiltrar($query, FiltroDeProducto $filtros)
|
public function scopeFiltrar($query, FiltroDeProducto $filtros)
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,20 +46,10 @@ class Subpedido extends Model
|
||||||
return $this->productosSinBonos()->sum('total');
|
return $this->productosSinBonos()->sum('total');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function totalParaTransporte() {
|
|
||||||
$total = 0;
|
|
||||||
foreach ($this->productos()->get() as $producto) {
|
|
||||||
if ($producto->pagaTransporte()) {
|
|
||||||
$total += $producto->precio * $producto->pivot->cantidad;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ceil($total);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Cantidad de bonos de transporte
|
//Cantidad de bonos de transporte
|
||||||
public function cantidadBDT()
|
public function cantidadBDT()
|
||||||
{
|
{
|
||||||
return ceil($this->totalParaTransporte() / 500);
|
return ceil($this->totalSinBonos() / 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Subtotal de dinero de bonos de transporte
|
//Subtotal de dinero de bonos de transporte
|
||||||
|
|
|
@ -12,6 +12,7 @@ class DatabaseSeeder extends Seeder
|
||||||
*/
|
*/
|
||||||
public function run()
|
public function run()
|
||||||
{
|
{
|
||||||
$this->call(CanastaSeeder::class);
|
$this->call(GrupoDeCompraSeeder::class);
|
||||||
|
$this->call(ImportarProductoSeeder::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ use Illuminate\Database\Seeder;
|
||||||
use League\Csv\Reader;
|
use League\Csv\Reader;
|
||||||
use App\Proveedor;
|
use App\Proveedor;
|
||||||
|
|
||||||
class CanastaSeeder extends Seeder
|
class ImportarProductoSeeder extends Seeder
|
||||||
{
|
{
|
||||||
const FILA_HEADER = "Tipo";
|
const FILA_HEADER = "Tipo";
|
||||||
const ULTIMA_FILA = "TOTAL";
|
const ULTIMA_FILA = "TOTAL";
|
40
database/seeds/ProductoSeeder.php
Normal file
40
database/seeds/ProductoSeeder.php
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use League\Csv\Reader;
|
||||||
|
use App\Proveedor;
|
||||||
|
|
||||||
|
class ProductoSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$csv = Reader::createFromPath(resource_path('csv/productos.csv'), 'r');
|
||||||
|
$csv->setDelimiter("|");
|
||||||
|
$csv->setEnclosure("'");
|
||||||
|
$csv->setHeaderOffset(0);
|
||||||
|
$registros = $csv->getRecords();
|
||||||
|
$toInsert = [];
|
||||||
|
|
||||||
|
foreach($registros as $registro){
|
||||||
|
$toInsert[] = [
|
||||||
|
'categoria' => $registro['categoria'],
|
||||||
|
'nombre' => $registro['producto'],
|
||||||
|
'precio' => $registro['precio'],
|
||||||
|
'proveedor_id' => isset($registro['proveedor']) ? Proveedor::firstOrCreate([
|
||||||
|
'nombre' => $registro['proveedor']
|
||||||
|
])->id : null,
|
||||||
|
'bono' => $registro['categoria'] == 'BONOS Y FINANCIAMIENTO SORORO'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (array_chunk($toInsert,DatabaseSeeder::CHUNK_SIZE) as $chunk)
|
||||||
|
{
|
||||||
|
DB::table('productos')->insert($chunk);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue