Compare commits
No commits in common. "88e3532418e2cff18ffd85360d250fcfd0015e19" and "917e3e1df3fbc8d8435b809308647eea2e528589" have entirely different histories.
88e3532418
...
917e3e1df3
8 changed files with 17 additions and 83 deletions
|
|
@ -17,34 +17,7 @@ class GrupoDeCompra extends Model
|
||||||
protected $table = 'grupos_de_compra';
|
protected $table = 'grupos_de_compra';
|
||||||
protected $hidden = ['password'];
|
protected $hidden = ['password'];
|
||||||
|
|
||||||
/**
|
public function toggleDevoluciones()
|
||||||
* @param $gdcs
|
|
||||||
* @param array $planilla
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public static function getPlanilla($gdcs, array $planilla): array
|
|
||||||
{
|
|
||||||
$barrios = [""];
|
|
||||||
foreach ($gdcs as $i => $gdc) {
|
|
||||||
$barrios[] = $gdc->nombre;
|
|
||||||
$productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id', $gdc->id)->get()->keyBy('producto_id');
|
|
||||||
$pedidos = $gdc->pedidosAprobados();
|
|
||||||
foreach ($productos_en_pedido as $id => $producto_pedido) {
|
|
||||||
$total = 0;
|
|
||||||
// Poner cantidad de cada producto para cada núcleo
|
|
||||||
foreach ($pedidos as $pedido) {
|
|
||||||
list($_, $_, $cantidad) = $gdc->agregarCantidad($pedido, $id, [], 0, 0);
|
|
||||||
$total = $total + $cantidad;
|
|
||||||
}
|
|
||||||
$fila = Producto::productosIdFila()[$id];
|
|
||||||
$planilla[$fila][$i+1] = $total;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
array_splice($planilla, 0, 0, array($barrios));
|
|
||||||
return $planilla;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function toggleDevoluciones()
|
|
||||||
{
|
{
|
||||||
$this->devoluciones_habilitadas = !$this->devoluciones_habilitadas;
|
$this->devoluciones_habilitadas = !$this->devoluciones_habilitadas;
|
||||||
$this->save();
|
$this->save();
|
||||||
|
|
@ -112,7 +85,7 @@ class GrupoDeCompra extends Model
|
||||||
throw new Exception('No hay bono de transporte');
|
throw new Exception('No hay bono de transporte');
|
||||||
}
|
}
|
||||||
|
|
||||||
private function totalPedidosSinBonos() {
|
private function totalPedidosSinBonos() {
|
||||||
$total = 0;
|
$total = 0;
|
||||||
foreach ($this->pedidosAprobados() as $pedido) {
|
foreach ($this->pedidosAprobados() as $pedido) {
|
||||||
$total += ceil($pedido->totalSinBonos());
|
$total += ceil($pedido->totalSinBonos());
|
||||||
|
|
@ -193,7 +166,9 @@ class GrupoDeCompra extends Model
|
||||||
$i = 1;
|
$i = 1;
|
||||||
// Poner cantidad de cada producto para cada núcleo
|
// Poner cantidad de cada producto para cada núcleo
|
||||||
foreach ($pedidos as $pedido) {
|
foreach ($pedidos as $pedido) {
|
||||||
list($records, $i, $_) = $this->agregarCantidad($pedido, $id, $records, $fila, $i);
|
$producto = $pedido->productos()->find($id);
|
||||||
|
$records[$fila][$i] = $producto == NULL ? 0 : $producto["pivot"]["cantidad"];
|
||||||
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Insertar lista de núcleos en la primera fila
|
// Insertar lista de núcleos en la primera fila
|
||||||
|
|
@ -214,21 +189,16 @@ class GrupoDeCompra extends Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function agregarCantidad($pedido, $id, array $records, $fila, int $i): array
|
|
||||||
{
|
|
||||||
$producto = $pedido->productos()->find($id);
|
|
||||||
$cantidad = $producto == NULL ? 0 : $producto->pivot->cantidad;
|
|
||||||
$records[$fila][$i] = $cantidad;
|
|
||||||
$i++;
|
|
||||||
return array($records, $i, $cantidad);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function exportarTodosLosPedidosEnCSV(){
|
public static function exportarTodosLosPedidosEnCSV(){
|
||||||
$gdcs = GrupoDeCompra::all();
|
$gdcs = GrupoDeCompra::all();
|
||||||
$planilla = GrupoDeCompra::obtenerTemplateDeFilasVacias($gdcs->count());
|
$planilla = GrupoDeCompra::obtenerTemplateDeFilasVacias($gdcs->count());
|
||||||
$planilla = self::getPlanilla($gdcs, $planilla);
|
$barrios = [""];
|
||||||
|
foreach ($gdcs as $gdc) {
|
||||||
|
$barrios[] = $gdc->nombre;
|
||||||
|
}
|
||||||
|
array_splice($planilla, 0, 0, array($barrios));
|
||||||
|
|
||||||
// Guardar en un archivo .csv
|
// Guardar en un archivo .csv
|
||||||
try {
|
try {
|
||||||
$writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
|
$writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
|
||||||
$writer->insertAll($planilla);
|
$writer->insertAll($planilla);
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,7 @@ use App\GrupoDeCompra;
|
||||||
|
|
||||||
class ComprasController
|
class ComprasController
|
||||||
{
|
{
|
||||||
public function indexPedidos() {
|
public function pedidos() {
|
||||||
return view('compras_pedidos');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function descargarPedidos() {
|
|
||||||
GrupoDeCompra::exportarTodosLosPedidosEnCSV();
|
GrupoDeCompra::exportarTodosLosPedidosEnCSV();
|
||||||
$file = resource_path('csv/exports/total-pedidos.csv');
|
$file = resource_path('csv/exports/total-pedidos.csv');
|
||||||
return response()->download($file);
|
return response()->download($file);
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,6 @@ class Producto extends Model
|
||||||
return Producto::pluck('id', 'fila',)->all();
|
return Producto::pluck('id', 'fila',)->all();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function productosIDFila() {
|
|
||||||
return Producto::pluck('fila', 'id',)->all();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function productosIDNombre() {
|
public static function productosIDNombre() {
|
||||||
return Producto::pluck('nombre', 'id',)->all();
|
return Producto::pluck('nombre', 'id',)->all();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@
|
||||||
<td v-if="$root.devoluciones" class="has-text-right" ><abbr :title="pedido.devoluciones_notas">-{{ pedido.devoluciones_total }}</abbr></td>
|
<td v-if="$root.devoluciones" class="has-text-right" ><abbr :title="pedido.devoluciones_notas">-{{ pedido.devoluciones_total }}</abbr></td>
|
||||||
<td class="has-text-right" >{{ $root.devoluciones ? pedido.total_menos_devoluciones : pedido.total }}</td>
|
<td class="has-text-right" >{{ $root.devoluciones ? pedido.total_menos_devoluciones : pedido.total }}</td>
|
||||||
<td>
|
<td>
|
||||||
<admin-switch-aprobacion
|
<pedidos-admin-switch-aprobacion
|
||||||
:pedido="pedido">
|
:pedido="pedido">
|
||||||
</admin-switch-aprobacion>
|
</pedidos-admin-switch-aprobacion>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,10 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<admin-fila-pedido
|
<pedidos-admin-fila-pedido
|
||||||
v-for="pedido in this.pedidos"
|
v-for="pedido in this.pedidos"
|
||||||
:pedido="pedido" :key="pedido.id">
|
:pedido="pedido" :key="pedido.id">
|
||||||
</admin-fila-pedido>
|
</pedidos-admin-fila-pedido>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<table class="table is-striped is-bordered">
|
<table class="table is-striped is-bordered">
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="container is-fluid has-text-centered">
|
|
||||||
<div class="block">
|
|
||||||
<div class="field">
|
|
||||||
<p class="control">
|
|
||||||
<a href="/compras/pedidos/descargar" class="button">
|
|
||||||
<span class="icon is-small">
|
|
||||||
<i class="fas fa-download"></i>
|
|
||||||
</span>
|
|
||||||
<span>Descargar planilla de totales</span>
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
@extends('layouts.app')
|
|
||||||
|
|
||||||
@section('content')
|
|
||||||
<compras-body></compras-body>
|
|
||||||
@endsection
|
|
||||||
|
|
@ -79,6 +79,5 @@ Route::middleware('auth')->group( function() {
|
||||||
Route::get('/compras', 'ComprasController@show')->name('compras_login.show');
|
Route::get('/compras', 'ComprasController@show')->name('compras_login.show');
|
||||||
|
|
||||||
Route::middleware(['compras'])->group( function() {
|
Route::middleware(['compras'])->group( function() {
|
||||||
Route::get('/compras/pedidos', 'ComprasController@indexPedidos')->name('compras.pedidos');
|
Route::get('/compras/pedidos', 'ComprasController@pedidos')->name('compras.pedidos');
|
||||||
Route::get('/compras/pedidos/descargar', 'ComprasController@descargarPedidos')->name('compras.pedidos.descargar');
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue