Compare commits
No commits in common. "fab7695e6c2fbf8bdbeba824df87e1b4d1540af2" and "635cecedb7a5a2bf8726d332126ef6c524775044" have entirely different histories.
fab7695e6c
...
635cecedb7
5 changed files with 56 additions and 18 deletions
|
@ -16,6 +16,34 @@ class GrupoDeCompra extends Model
|
||||||
protected $table = 'grupos_de_compra';
|
protected $table = 'grupos_de_compra';
|
||||||
protected $hidden = ['password'];
|
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()
|
public function toggleDevoluciones()
|
||||||
{
|
{
|
||||||
$this->devoluciones_habilitadas = !$this->devoluciones_habilitadas;
|
$this->devoluciones_habilitadas = !$this->devoluciones_habilitadas;
|
||||||
|
@ -206,6 +234,33 @@ class GrupoDeCompra extends Model
|
||||||
return array($records, $i, $cantidad);
|
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() {
|
static public function totalesParaTransportePorBarrio() {
|
||||||
return DB::table('grupos_de_compra')
|
return DB::table('grupos_de_compra')
|
||||||
->leftJoin('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id')
|
->leftJoin('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id')
|
||||||
|
|
|
@ -23,12 +23,6 @@ class ComprasController
|
||||||
return response()->download($file);
|
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()
|
public function show()
|
||||||
{
|
{
|
||||||
return view('auth/compras_login');
|
return view('auth/compras_login');
|
||||||
|
|
|
@ -107,7 +107,7 @@ class Producto extends Model
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$writer = Writer::createFromPath(resource_path('csv/exports/pedidos-por-barrio.csv'), 'w');
|
$writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w');
|
||||||
$writer->insertOne($headers);
|
$writer->insertOne($headers);
|
||||||
$writer->insertAll($planilla);
|
$writer->insertAll($planilla);
|
||||||
} catch (CannotInsertRecord $e) {
|
} catch (CannotInsertRecord $e) {
|
||||||
|
|
|
@ -21,16 +21,6 @@
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -82,5 +82,4 @@ Route::middleware(['compras'])->group( function() {
|
||||||
Route::get('/compras/pedidos', 'ComprasController@indexPedidos')->name('compras.pedidos');
|
Route::get('/compras/pedidos', 'ComprasController@indexPedidos')->name('compras.pedidos');
|
||||||
Route::get('/compras/pedidos/descargar', 'ComprasController@descargarPedidos')->name('compras.pedidos.descargar');
|
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/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