Compare commits

...

3 commits

5 changed files with 18 additions and 56 deletions

View file

@ -16,34 +16,6 @@ class GrupoDeCompra extends Model
protected $table = 'grupos_de_compra';
protected $hidden = ['password'];
/**
* @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;
}
$planilla[GrupoDeCompra::obtenerFilaDeBonoTransporte()][$i - 1] = $gdc->calcularCantidadBDT();
}
array_splice($planilla, 0, 0, array($barrios));
return $planilla;
}
public function toggleDevoluciones()
{
$this->devoluciones_habilitadas = !$this->devoluciones_habilitadas;
@ -234,33 +206,6 @@ class GrupoDeCompra extends Model
return array($records, $i, $cantidad);
}
public static function exportarProductosConNotasEnCSV()
{
$gdcs = GrupoDeCompra::all();
foreach ($gdcs as $i => $gdc) {
$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) {
foreach ($pedidos as $pedido) {
$producto = $pedido->productos()->find($id);
if ($producto != null && $producto->requiere_notas) {
$planilla[$i + 1][0] = $gdc->nombre;
$planilla[$i + 1][1] = $producto->nombre;
$planilla[$i + 1][2] = $producto->pivot->cantidad;
$planilla[$i + 1][3] = $producto->pivot->notas;
}
}
}
}
// Guardar en un archivo .csv
try {
$writer = Writer::createFromPath(resource_path('csv/exports/pedidos-notas.csv'), 'w');
$writer->insertAll($planilla);
} catch (CannotInsertRecord $e) {
var_export($e->getRecords());
}
}
static public function totalesParaTransportePorBarrio() {
return DB::table('grupos_de_compra')
->leftJoin('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id')

View file

@ -23,6 +23,12 @@ class ComprasController
return response()->download($file);
}
public function descargarTransporte() {
GrupoDeCompra::planillaTransporte();
$file = resource_path('csv/exports/transporte-por-barrio.csv');
return response()->download($file);
}
public function show()
{
return view('auth/compras_login');

View file

@ -107,7 +107,7 @@ class Producto extends Model
}
try {
$writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
$writer = Writer::createFromPath(resource_path('csv/exports/pedidos-por-barrio.csv'), 'w');
$writer->insertOne($headers);
$writer->insertAll($planilla);
} catch (CannotInsertRecord $e) {

View file

@ -21,6 +21,16 @@
</a>
</p>
</div>
<div class="field">
<p class="control">
<a href="/compras/pedidos/transporte" class="button">
<span class="icon is-small">
<i class="fa fa-truck"></i>
</span>
<span>Descargar planilla de transporte</span>
</a>
</p>
</div>
</div>
</div>
</template>

View file

@ -82,4 +82,5 @@ Route::middleware(['compras'])->group( function() {
Route::get('/compras/pedidos', 'ComprasController@indexPedidos')->name('compras.pedidos');
Route::get('/compras/pedidos/descargar', 'ComprasController@descargarPedidos')->name('compras.pedidos.descargar');
Route::get('/compras/pedidos/notas', 'ComprasController@descargarNotas')->name('compras.pedidos.descargar');
Route::get('/compras/pedidos/transporte', 'ComprasController@descargarTransporte')->name('compras.pedidos.descargar');
});