MINI MINI MANI MO
<?php
namespace App\Http\Controllers;
use App\Models\ComisionUsuario;
//use App\Models\Commission;
use App\Models\DatosUsers;
use App\Models\EventoVotos;
use App\Models\mensajesVotos;
use App\Models\asistenciaVotos;
use App\Models\temasVotos;
use Barryvdh\DomPDF\Facade as PDF;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class VotosController 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) {
// $UsuarioRegistro = auth()->user()->DatosUsers->id;
$hora = date('H:i:s');
$dia = date('Y-m-d');
$eventoActual = EventoVotos::where('estatus', 1)->get();
$tema = temasVotos::where('status',1)->first();
$votacion = DB::select('SELECT a.mensaje as mensaje, d.nombre as nombre, d.ap_pat as ap_pat, d.ap_mat as ap_mat, a.id as id, d.g_parlamentario as partido
FROM mensajes_votos AS a, datos_users AS d
WHERE d.`id`=a.`id_diputado` AND a.status=1
order by d.ap_pat, d.ap_mat ASC');
if (count($votacion) == 0) {
return view("votaciones.create");
} else {
return view("votaciones.verVotos", compact('votacion', 'eventoActual', 'dia', 'hora','tema'));
}
}else{
return redirect('cerrar');
}
}
public function store(Request $request)
{
// $UsuarioRegistro = auth()->user()->DatosUsers->id;
$datos = $request->except('_token','_method');
date_default_timezone_set('America/Mexico_City');
$timestam = date('Y-m-d H:i:s');
$dia = date('Y-m-d');
$eventoActual = EventoVotos::where('estatus',1)->get();
$asistencias = asistenciaVotos::where('status',1)->where('randomEvento',$eventoActual[0]->random)->get();
$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['tiempoVotacion']);
// Asigno la fecha modificada a una nueva variable
$FechaNueva = date("Y-m-d H:i:s",mktime($Horas,$Minutos,$Segundos,$Mes,$Dia,$Ano));
foreach ($asistencias as $asistencis){
foreach ($asistencis as $asistencia) {
$asis = asistenciaVotos::find($asistencia->id);
$asiste["status"] = 2;
// $asiste["usuario_termina"] = $UsuarioRegistro;
$asis->update($asiste);
}
}
$votos["votacion"] = $datos['votacion'];
$votos["status"] = 1;
$votos["fechaVotacion"] = $dia;
$votos["randomEvento"] = $eventoActual[0]->random;
$votos["tiempoVotacion"] = $FechaNueva;
$votos["tiempoVotacionInicio"] = $timestam;
// $votos["usuario_inicia"] = $UsuarioRegistro;
$asistenciaVotos = temasVotos::create($votos);
if($eventoActual[0]->tipoEvento != 'jo7uWqChe'){
$idComision = Commission::where('random',$eventoActual[0]->tipoEvento)->get();
$listadoDiputados = ComisionUsuario::where('id_commission',$idComision[0]->id)->get();
}else{
$listadoDiputados = DatosUsers::where('status',1)->where('tipo_usuario',2)->orderBy('ap_pat', 'ASC')->get();
}
$caracteres = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; //posibles caracteres a usar
$numerodeletras = 9; //numero de letras para generar el texto
$RandomVotacion = ""; //variable para almacenar la cadena generada
for ($i = 0; $i < $numerodeletras; $i++) {
$RandomVotacion .= substr($caracteres, rand(0, strlen($caracteres)), 1);
}
foreach ($listadoDiputados as $id_diputado) {
// dd($id_diputado);
$mensajes['mensaje']= 'SIN REGISTRO';
$mensajes['timestamp']= $timestam;
$mensajes['status']= 1;
$mensajes['tipo']= 1;
$mensajes['id_votacion']= $asistenciaVotos->id;
$mensajes['id_diputado']= $id_diputado->id;
$mensajes['votacion']= $RandomVotacion;
$mensajes['randomEvento']= $eventoActual[0]->random;
// $mensajes['usuario_inicia']= $UsuarioRegistro;
$votos = mensajesVotos::create($mensajes);
}
return redirect()->route("votos.index");
}
public function imprimirvotos(){
$randomEvento = EventoVotos::where('estatus',1)->get();
// $comision = Commission::where('random',$randomEvento[0]->tipoEvento)->get();
$temas = temasVotos::where('randomEvento',$randomEvento[0]->random)->where('status',1)->get();
$sinregistro = mensajesVotos::where('status',1)->where('mensaje','SIN REGISTRO')->get();
$abstencion = mensajesVotos::where('status',1)->where('mensaje','ABSTENCION')->get();
$contra = mensajesVotos::where('status',1)->where('mensaje','CONTRA')->get();
$favor = mensajesVotos::where('status',1)->where('mensaje','FAVOR')->get();
$votacion = mensajesVotos::where('status',1)->get();
$votacion = DB::select('SELECT v.mensaje, d.nombre, d.ap_pat, d.ap_mat, d.g_parlamentario AS partido
FROM mensajes_votos AS v, datos_users AS d
WHERE d.`id`=v.`id_diputado` AND v.status=1 ORDER BY d.ap_pat, d.ap_mat ASC');
$sinregistro = count($sinregistro);
$abstencion = count($abstencion);
$contra = count($contra);
$favor = count($favor);
$date =Carbon::parse($randomEvento[0]->fechaEvento)->format('Y-m-d');
$pdf = PDF::loadView('votaciones.imprimirTotalVotos', compact('date','votacion','sinregistro','abstencion','contra','favor','randomEvento','temas'));
return $pdf->stream('pdf_file.pdf');
// dd('si');
}
public function consenso(Request $request)
{
$UsuarioRegistro = auth()->user()->id;
$votos = mensajesVotos::find($request->id);
$voto["mensaje"] = 'FAVOR';
$voto["usuario_registra"] = $UsuarioRegistro;
$votos->update($voto);
}
public function disenso(Request $request)
{
$UsuarioRegistro = auth()->user()->id;
$votos = mensajesVotos::find($request->id);
$voto["mensaje"] = 'CONTRA';
$voto["usuario_registra"] = $UsuarioRegistro;
$votos->update($voto);
}
public function abstencion(Request $request)
{
$UsuarioRegistro = auth()->user()->id;
$votos = mensajesVotos::find($request->id);
$voto["mensaje"] = 'ABSTENCION';
$voto["usuario_registra"] = $UsuarioRegistro;
$votos->update($voto);
}
public function sinRegistro(Request $request)
{
$UsuarioRegistro = auth()->user()->id;
$votos = mensajesVotos::find($request->id);
$voto["mensaje"] = 'SIN REGISTRO';
$voto["usuario_registra"] = $UsuarioRegistro;
$votos->update($voto);
}
public function terminarVotacion(Request $request)
{
$UsuarioRegistro = auth()->user()->id;
$votacion = mensajesVotos::where('status',1)->get();
foreach ($votacion as $votos){
$voto["status"] = 0;
$voto["usuario_termina"] = $UsuarioRegistro;
$votos->update($voto);
}
$temaVotacion = temasVotos::where('status',1)->get();
foreach ($temaVotacion as $temas){
$tema["status"] = 0;
$tema["usuario_termina"] = $UsuarioRegistro;
$temas->update($tema);
}
}
public function update(Request $request, $id)
{
$datos = $request->except('_token', '_method');
$vot = temasVotos::find($id);
$vot->update($datos);
return redirect('registros');
}
}
OHA YOOOO