Skip to content

Instantly share code, notes, and snippets.

@jerearaujo03
Created October 5, 2016 15:53
Show Gist options
  • Save jerearaujo03/e8e06074b2a25317ea8e90523e96e5ef to your computer and use it in GitHub Desktop.
Save jerearaujo03/e8e06074b2a25317ea8e90523e96e5ef to your computer and use it in GitHub Desktop.
public function imprimirEstadoDeCuenta($id, $parametros_string = null)
{
//------FILTROS
if ($parametros_string)
{
$parametros_array = explode(',', $parametros_string);
$parametros = new \stdClass;
if (isset($parametros_array[0]) && $parametros_array[0]!='')
{
$day = filter_var(substr($parametros_array[0],0,2), FILTER_SANITIZE_NUMBER_INT);
$month = filter_var(substr($parametros_array[0],2,2), FILTER_SANITIZE_NUMBER_INT);
$year = filter_var(substr($parametros_array[0],4,4), FILTER_SANITIZE_NUMBER_INT);
$fecha_desde = $day.'/'.$month.'/'.$year;
if(strlen($fecha_desde) == 10)
$parametros->fecha_desde = $fecha_desde;
else
$parametros->fecha_desde = null;
}
else
{
$parametros->fecha_desde = null;
}
if (isset($parametros_array[1]) && $parametros_array[1]!='')
{
$day = filter_var(substr($parametros_array[1],0,2), FILTER_SANITIZE_NUMBER_INT);
$month = filter_var(substr($parametros_array[1],2,2), FILTER_SANITIZE_NUMBER_INT);
$year = filter_var(substr($parametros_array[1],4,4), FILTER_SANITIZE_NUMBER_INT);
$fecha_hasta = $day.'/'.$month.'/'.$year;
if(strlen($fecha_hasta) == 10)
$parametros->fecha_hasta = $fecha_hasta;
else
$parametros->fecha_hasta = null;
}
else
{
$parametros->fecha_hasta = null;
}
}
else
{
$parametros = null;
}
//------FIN FILTROS
$estudiante = Estudiante::findOrFail($id);
$conceptos = PagoConcepto::all();
$pagos = EstudiantePago::where('estudiante_id', '=', $id)->orderBy('fecha');
$saldo_anterior = 0;
if (isset($parametros->fecha_desde) && $parametros->fecha_desde != null)
{
$pagos = $pagos->where('fecha', '>=', date("Y-m-d", strtotime(str_replace('/', '-', $parametros->fecha_desde))));
$pagos_anteriores = EstudiantePago::where('estudiante_id', '=', $id)->where('fecha', '<', date("Y-m-d", strtotime(str_replace('/', '-', $parametros->fecha_desde))))->get();
foreach ($pagos_anteriores as $pago_anterior)
{
if($pago_anterior->operacion == 0)
$saldo_anterior -= $pago_anterior->monto;
elseif($pago_anterior->operacion == 1)
$saldo_anterior += $pago_anterior->monto;
}
}
if (isset($parametros->fecha_hasta) && $parametros->fecha_hasta != null)
{
$pagos = $pagos->where('fecha', '<=', date("Y-m-d", strtotime(str_replace('/', '-', $parametros->fecha_hasta))));
}
$pagos = $pagos->get();
$html = view('pdf.estado-de-cuenta')->withEstudiante($estudiante)->withConceptos($conceptos)->withPagos($pagos)->withSaldoAnterior($saldo_anterior)->withParametros($parametros);
$fecha_hora = Carbon\Carbon::now()->format('d/m/Y - H:i:s ');
return PDF::loadHTML($html)->setOption('page-size','A4')->setOption('encoding', 'UTF-8')->setOption('footer-font-size', 9)->setOption('footer-right', 'Página [page] de [topage]')->setOption('footer-left', $fecha_hora)->setOption('margin-bottom', '18.5')->setOption('footer-spacing', '10')->inline($estudiante->nombre_completo());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment