public function RecordatorioPagoEmail() { $mes_actual = date('m'); $alumnos = Mensualidad::with('plan', 'alumno', 'pago_mensualidad')->join('users', 'users.id', '=', 'mensualidad.user_id')->join('planes', 'planes.id', '=', 'mensualidad.plan_id')->leftJoin('pago_mensualidad', 'mensualidad.id', '=', 'pago_mensualidad.mensualidad_id')->where('users.cuenta_activa', '1')->where('users.pago_email', '1')->where('planes.tipo_plan', 'LIKE', '%Mensual%')->whereRaw($mes_actual . " > (SELECT MONTH(A.fecha_pago) FROM pago_mensualidad as A where A.mensualidad_id = mensualidad.id\n\t\t\t\t\t\tORDER BY fecha_pago DESC LIMIT 1)")->groupBy('mensualidad.id')->get(); foreach ($alumnos as $alumno) { $pago = $alumno->dia_pago - date('d'); if ($pago == 0) { $user_id = $alumno->user_id; $user = User::find($user_id); $plan = Mensualidad::where('user_id', $user_id)->first()->plan()->first(); $mensualidad = Mensualidad::where('user_id', $user_id)->first(); $valor = $plan->valor; $tipo_plan = $plan->tipo_plan; $nombre_plan = $plan->nombre; $email = $user->email; $full_name = $user->fullname; $email = $user->email; $data = array('full_name' => $full_name, 'valor' => $valor, 'nombre_plan' => $nombre_plan, 'tipo_plan' => $tipo_plan); \Mail::send('emails.recordatorio-pago', $data, function ($message) use($email) { $message->from('*****@*****.**', 'BoxMagic'); $message->to($email)->subject('Notificación de Mensualidad'); }); \DB::table('email_enviados')->insert(['user_id' => $alumno['user_id'], 'mensualidad_id' => $alumno->mensualidad_id, 'dia_pago' => $mensualidad->dia_pago, 'created_at' => date('Y-m-d H:i')]); } } return "Emails enviados con exito"; }
/** * * @return Response */ public function ListaAnualActual() { $mes_actual = date('m'); $semestre_actual = date('m') + 11; $data = Mensualidad::with('plan', 'alumno', 'pago_mensualidad')->whereHas('alumno', function ($query) { $query->where('users.cuenta_activa', '=', '1'); })->whereHas('plan', function ($query) { $query->where('planes.tipo_plan', 'LIKE', '%Anual%'); })->whereRaw($semestre_actual . " > (SELECT MONTH(A.fecha_pago) FROM pago_mensualidad as A where A.mensualidad_id = mensualidad.id\n ORDER BY fecha_pago DESC LIMIT 1)"); $filter = DataFilter::source($data); $filter->attributes(array('class' => 'form-inline')); $filter->add('alumno.name', 'Buscar por Nombre', 'text'); $filter->add('alumno.last_name', 'Buscar por Apellido', 'text'); $filter->add('plan.nombre', 'Buscar por Plan', 'text'); $filter->submit('Buscar'); $filter->reset('Limpiar'); $filter->build(); $grid = DataSet::source($filter); $grid->paginate(10); $grid->build(); return view('mensualidad/lista_ano_pago_actual', compact('filter', 'grid', 'mes_actual')); }