Compare commits
3 commits
635cecedb7
...
fab7695e6c
Author | SHA1 | Date | |
---|---|---|---|
fab7695e6c | |||
2486826dba | |||
1b82700db3 |
5 changed files with 18 additions and 56 deletions
|
@ -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')
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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');
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue