2021-12-30 13:12:14 -03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App;
|
|
|
|
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
2022-09-06 21:38:01 -03:00
|
|
|
use Mpdf\Mpdf;
|
2022-09-19 02:18:39 -03:00
|
|
|
use League\Csv\CannotInsertRecord;
|
|
|
|
use League\Csv\Writer;
|
|
|
|
use App\Producto;
|
|
|
|
use DB;
|
2021-12-30 13:12:14 -03:00
|
|
|
|
|
|
|
class GrupoDeCompra extends Model
|
|
|
|
{
|
|
|
|
public $timestamps = false;
|
2022-09-19 02:18:39 -03:00
|
|
|
protected $fillable = [ "nombre","region","telefono","correo","referente_finanzas","cantidad_de_nucleos","fila"];
|
2021-12-30 13:12:14 -03:00
|
|
|
protected $table = 'grupos_de_compra';
|
2022-01-07 18:02:48 -03:00
|
|
|
protected $hidden = ['password'];
|
2022-02-22 10:45:16 -03:00
|
|
|
|
|
|
|
public function subpedidos() {
|
|
|
|
return $this->hasMany('App\Subpedido');
|
|
|
|
}
|
2022-09-06 21:38:01 -03:00
|
|
|
|
|
|
|
public function exportarPlanillasAPdf() {
|
|
|
|
$subpedidos = $this->subpedidos;
|
|
|
|
//generar pdf
|
|
|
|
$mpdf = new Mpdf();;
|
|
|
|
foreach ($subpedidos as $subpedido) {
|
|
|
|
$tabla = $subpedido->generarHTML();
|
|
|
|
// agregar la tabla al pdf en una nueva página
|
|
|
|
$mpdf->WriteHTML($tabla);
|
|
|
|
$mpdf->AddPage();
|
|
|
|
}
|
|
|
|
// imprimir el pdf
|
|
|
|
$mpdf->Output();
|
|
|
|
}
|
|
|
|
|
2022-09-19 02:18:39 -03:00
|
|
|
public function exportarPedidoEnCSV(){
|
|
|
|
$productos = Producto::pluck('id','fila')->all();
|
|
|
|
$ultima_fila = end(array_keys($productos));
|
|
|
|
$productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id',$this->id)->get()->keyBy('producto_id');
|
|
|
|
|
|
|
|
$records = [];
|
|
|
|
for ($i=1; $i <= $ultima_fila; $i++) {
|
|
|
|
if ($productos[$i]) {
|
|
|
|
if ($productos_en_pedido[$productos[$i]]){
|
|
|
|
$producto_en_pedido = $productos_en_pedido[$productos[$i]];
|
|
|
|
$records[] = [$producto_en_pedido->producto_nombre,$producto_en_pedido->cantidad_pedida];
|
|
|
|
} else {
|
|
|
|
$records[] = ['producto no pedido',0];
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$records[] = ['',''];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
$writer = Writer::createFromPath(resource_path('csv/exports/'.$this->nombre.'.csv'), 'w');
|
|
|
|
$writer->insertAll($records);
|
|
|
|
} catch (CannotInsertRecord $e) {
|
|
|
|
var_export($e->getRecords());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function exportarTodosLosPedidosEnCSV(){
|
|
|
|
$gdcs=GrupoDeCompra::all();
|
|
|
|
foreach ($gdcs as $gdc){ $gdc->exportarPedidoEnCSV(); }
|
|
|
|
}
|
|
|
|
|
2021-12-30 13:12:14 -03:00
|
|
|
}
|