MINI MINI MANI MO
<?php
namespace App\Http\Controllers;
use App\Commission;
use App\Models\asistenciaVotos;
use App\Models\EventoVotos;
use App\Models\Validacion;
use App\Models\temasVotos;
use App\Models\mensajesVotos;
use Barryvdh\DomPDF\Facade as PDF;
use Carbon\Carbon;
use Dflydev\DotAccessData\Data;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use PhpParser\Node\Stmt\DeclareDeclare;
class AsistenciasController extends Controller
{
private $request;
public function __construct(Request $request) {
$this->request=$request;
$this->middleware('auth');
}
public function index()
{
if (auth()->user()->DatosUsers->tipo_usuario == 1) {
$date = Carbon::now();
$date = $date->format('Y-m-d');
$evento = EventoVotos::where('estatus', 1)->get();
$eventoActivo = EventoVotos::where('estatus', 1)->get();
// $asistencias = asistenciaVotos::where('status',1)->where('randomEvento',$evento[0]->random)->get();
$asistencias = DB::select('SELECT a.mensaje, d.nombre, d.ap_pat, d.ap_mat, a.tiempoVotacion, a.id, d.g_parlamentario as partido
FROM asistencia_votos AS a, datos_users AS d
WHERE d.`id`=a.`id_diputado` AND a.status=1 AND a.randomEvento ="' . $evento[0]->random . '" order by d.ap_pat, d.ap_mat ASC');
$validacion = Arr::pluck(Validacion::all(), "validacion", "id");
$tot = 0;
if (count($evento) == 1) {
if (count($asistencias) == 0) {
return view("asistenciasVotos.create", compact('evento', 'validacion'));
} else {
foreach ($asistencias as $asistencia) {
if ($asistencia->mensaje == 'ASISTENCIA') {
$tot = $tot + 1;
}
}
return view("asistenciasVotos.verAsistencias", compact('asistencias', 'eventoActivo', 'date', 'tot'));
}
} else {
return redirect()->route("sesionVotos.index", compact('tot'));
}
}else{
return redirect('cerrar');
}
}
public function store(Request $request)
{
$UsuarioRegistro = auth()->user();
// dd($UsuarioRegistro);
$datos = $request->except('_token', '_method');
date_default_timezone_set('America/Mexico_City');
$timestam = date('Y-m-d H:i:s');
$FechaStr = date("m-d-Y H:i:s"); // Fecha Actual y m d
$FechaHoy = $FechaStr;
$FechaStr = str_replace("-", " ", $FechaStr);
$FechaStr = str_replace(":", " ", $FechaStr);
$FechaOrigen = explode(" ", $FechaStr);
$Dia = $FechaOrigen[1];
$Mes = $FechaOrigen[0];
$Ano = $FechaOrigen[2];
$Horas = $FechaOrigen[3];
$Minutos = $FechaOrigen[4];
$Segundos = $FechaOrigen[5];
// Sumo los minutos
$Minutos = ((int)$Minutos) + ((int)$datos['tiempo']);
// Asigno la fecha modificada a una nueva variable
$FechaNueva = date("Y-m-d H:i:s",mktime($Horas,$Minutos,$Segundos,$Mes,$Dia,$Ano));
$date = Carbon::now();
$date = $date->format('Y-m-d');
$tot = 0;
if ($datos['validacion'] == 1) {
$eventoActivo = EventoVotos::where('estatus', 1)->get();
$votoActivo = temasVotos::where('status',1)->get();
if (count($votoActivo)){
foreach ($votoActivo as $votoAct) {
$temas = temasVotos::find($votoAct->id);
$tema["status"] = 0;
// $tema["usuario_termina"] = $UsuarioRegistro;
$temas->update($tema);
}
}
$mensajeVotoa = mensajesVotos::where('status',1)->get();
if (count($mensajeVotoa)){
foreach ($mensajeVotoa as $mensajeV) {
$votos = mensajesVotos::find($mensajeV->id);
$voto["status"] = 0;
// $voto["usuario_termina"] = $UsuarioRegistro;
$votos->update($voto);
}
}
$asistenciass = asistenciaVotos::where('randomEvento', $eventoActivo[0]->random)->get();
foreach ($asistenciass as $asist) {
$asiste["status"] = 1;
$asiste["mensaje"] = 'PENDIENTE';
$asiste["tiempoVotacionInicio"] = $timestam;
$asiste["tiempoVotacion"] = $FechaNueva;
// $asiste["usuario_inicia"] = $UsuarioRegistro;
$asist->update($asiste);
}
// dd('asist');
return redirect()->route("verAsistencias");
//return redirect()->route("asistenciasVotos.verAsistencias", compact('asistencias', 'eventoActivo', 'date','tot'));
}
}
public function asistencia(Request $request)
{
$UsuarioRegistro = auth()->user()->id;
// dd($UsuarioRegistro);
$asistencia = asistenciaVotos::find($request->id);
$asiste["mensaje"] = 'ASISTENCIA';
$asiste["usuario_registra"] = $UsuarioRegistro;
$asistencia->update($asiste);
}
public function inasistencia(Request $request)
{
// $UsuarioRegistro = auth()->user()->DatosUsers->id;
$asistencia = asistenciaVotos::find($request->id);
$asiste["mensaje"] = 'PENDIENTE';
// $asiste["usuario_registra"] = $UsuarioRegistro;
$asistencia->update($asiste);
}
public function terminarAsistencia(Request $request)
{
// $UsuarioRegistro = auth()->user()->DatosUsers->id;
$eventoActivo = EventoVotos::where('estatus',1)->get();
$asistencias = asistenciaVotos::where('randomEvento',$eventoActivo[0]->random)->where('status',1)->get();
foreach ($asistencias as $asistencia) {
$asiste["status"] = 2;
// $asiste["usuario_termina"] = $UsuarioRegistro;
$asistencia->update($asiste);
}
dd('termine');
}
public function reiniciarAsistencia(Request $request)
{
// $UsuarioRegistro = auth()->user()->DatosUsers->id;
$eventoActivo = EventoVotos::where('estatus',1)->get();
$asistencias = asistenciaVotos::where('randomEvento',$eventoActivo[0]->random)->get();
foreach ($asistencias as $asistencia) {
$asiste["status"] = 1;
$asiste["mensaje"] = 'PENDIENTE';
// $asiste["usuario_reinicia"] = $UsuarioRegistro;
$asistencia->update($asiste);
}
}
public function imprimirAsist(){
$randomEvento = EventoVotos::where('estatus',1)->get();
// $asistencias = asistenciaVotos::where('randomEvento',$randomEvento[0]->random)->get();
$asistencias = DB::select('SELECT a.mensaje, d.nombre, d.ap_pat, d.ap_mat, d.g_parlamentario as partido, a.created_at as created_at
FROM asistencia_votos AS a, datos_users AS d
WHERE d.`id`=a.`id_diputado` AND a.randomEvento ="'.$randomEvento[0]->random .'" order by d.ap_pat, d.ap_mat ASC');
$asistenciasAS = asistenciaVotos::where('randomEvento',$randomEvento[0]->random)->where('mensaje','ASISTENCIA')->get();
$asistenciasPE = asistenciaVotos::where('randomEvento',$randomEvento[0]->random)->where('mensaje','PENDIENTE')->get();
$pdf = PDF::loadView('asistenciasVotos.imprimeAsistencias', compact('randomEvento','asistencias','asistenciasAS','asistenciasPE'));
return $pdf->stream('pdf_file.pdf');
}
public function verAsistencias(){
$tot = 0;
$eventoActivo = EventoVotos::where('estatus', 1)->get();
$asistencias = DB::select('SELECT a.mensaje, d.nombre, d.ap_pat, d.ap_mat, a.tiempoVotacion, a.id, d.g_parlamentario as partido FROM asistencia_votos AS a, datos_users AS d WHERE d.`id`=a.`id_diputado` AND a.status=1 AND a.randomEvento ="'.$eventoActivo[0]->random .'" order by d.ap_pat, d.ap_mat ASC');
foreach ($asistencias as $asistencia){
if($asistencia->mensaje == 'ASISTENCIA'){
$tot = $tot +1;
}
}
return view("asistenciasVotos.verAsistencias", compact('asistencias', 'eventoActivo','tot'));
}
}
OHA YOOOO