MINI MINI MANI MO
<?php
namespace App\Http\Controllers;
use App\Exports\consentradoExport;
use App\Exports\PermisosExport;
use App\Models\DepartamentosCentralizada;
use App\Models\Direccion;
use App\Models\Registro;
use App\Models\RegistroAtencion;
use App\Models\S_UsersCentralizada;
use App\Models\TipoAtencions;
use App\Models\UsuariosCentralizada;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Facades\Excel;
use PhpParser\Node\Stmt\DeclareDeclare;
class ReportesController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
private $request;
public function __construct(Request $request) {
$this->request=$request;
$this->middleware('auth');
}
public function index()
{
return view('reportes.show');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$UsRFC = auth()->user()->id;
$busqueda = $request->except('_token');
$fInic = explode("-", $busqueda['ini']);
$fIni = $fInic[2].'-'.$fInic[1].'-'.$fInic[0];
$fFinn = explode("-", $busqueda['fin']);
$fFin = $fFinn[2].'-'.$fFinn[1].'-'.$fFinn[0];
$registro = [];
$registro = Registro::where('user_registro', $UsRFC)->whereBetween('created_at',[$fIni, $fFin])->get();
$cancelados = count(Registro::where('activo', 0)->where('user_registro', $UsRFC)->whereBetween('created_at',[$fIni, $fFin])->get());
$concluidos = count(Registro::where('activo', 1)->where('status', 0)->where('user_registro', $UsRFC)->whereBetween('created_at',[$fIni, $fFin])->get());
$pendientes = count(Registro::where('activo', 1)->where('status', 1)->where('user_registro', $UsRFC)->whereBetween('created_at',[$fIni, $fFin])->get());
$direcciones = Direccion::where('id_Dependencia', 4)->where('Estado',1)->get();
$turnoDir = [];
foreach ($direcciones as $dir){
$pendientesDireccion = DB::select("SELECT DISTINCT adminplem_saf.s_usuario.Nombre, COUNT(adminplem_archivoDigital.registro_atencions.id) AS turnos,
adminplem_saf.s_usuario.id_Direccion as direccion, adminplem_saf.s_users.rango as rango
FROM adminplem_archivoDigital.registro_atencions, adminplem_archivoDigital.registro, adminplem_saf.s_usuario, adminplem_saf.s_users
WHERE adminplem_saf.s_usuario.N_Usuario = adminplem_archivoDigital.registro_atencions.user_rfc AND adminplem_archivoDigital.registro_atencions.registro_id = adminplem_archivoDigital.registro.id
AND adminplem_saf.s_users.username = adminplem_saf.s_usuario.N_Usuario AND adminplem_saf.s_users.username = adminplem_archivoDigital.registro_atencions.user_rfc
AND adminplem_saf.s_usuario.id_Direccion = ".$dir->id_Direccion." AND adminplem_archivoDigital.registro_atencions.statusAtencion = 0 AND adminplem_archivoDigital.registro.created_at BETWEEN '".$fIni."'
AND '".$fFin."' AND adminplem_archivoDigital.registro.user_registro = ".$UsRFC."
GROUP BY adminplem_archivoDigital.registro_atencions.user_rfc, adminplem_saf.s_usuario.Nombre, adminplem_saf.s_users.rango
ORDER BY adminplem_saf.s_users.rango asc");
$turnoDir[] = $pendientesDireccion;
}
$i = 0;
foreach ($turnoDir as $item){
foreach ($item as $dirs) {
if ($dirs->rango == '2' || $dirs->rango == '1') {
$i = $i + $dirs->turnos;
}
}
}
return view('reportes.ver', compact('registro', 'cancelados','pendientes','concluidos','fFin','fIni', 'direcciones', 'turnoDir','i'));
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function verReporteEXCEL(Request $request){
$UsRFC = auth()->user()->id;
$registro = Registro::where('user_registro', $UsRFC)->whereBetween('created_at',[$request['ini'], $request['fin']])->get();
$cancelados = Registro::where('activo', 0)->where('user_registro', $UsRFC)->whereBetween('created_at',[$request['ini'], $request['fin']])->get();
$concluidos = Registro::where('activo', 1)->where('status', 0)->where('user_registro', $UsRFC)->whereBetween('created_at',[$request['ini'], $request['fin']])->get();
$pendientes = Registro::where('activo', 1)->where('status', 1)->where('user_registro', $UsRFC)->whereBetween('created_at',[$request['ini'], $request['fin']])->get();
$UIPPEUs= UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 39)->where('id_Departamento', 110)->where('Estado', 1)->get();
foreach ($UIPPEUs as $item) {
$sUs = S_UsersCentralizada::where('username',$item->N_Usuario)->where('rango', 2)->first();
if ($sUs){
$UIPPE = $sUs->username;
}
}
$normatividadUs = UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 40)->where('id_Departamento', 114)->where('Estado', 1)->get();
foreach ($normatividadUs as $item2) {
$sUs = S_UsersCentralizada::where('username',$item2->N_Usuario)->where('rango', 2)->first();
if ($sUs){
$normatividad = $sUs->username;
}
}
$generoUs = UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 41)->where('id_Departamento', 118)->where('Estado', 1)->get();
foreach ($generoUs as $item3) {
$sUs = S_UsersCentralizada::where('username',$item3->N_Usuario)->where('rango', 3)->first();
if ($sUs){
$genero = $sUs->username;
}
}
$personalUs = UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 42)->where('id_Departamento', 119)->where('Estado', 1)->get();
foreach ($personalUs as $item4) {
$sUs = S_UsersCentralizada::where('username',$item4->N_Usuario)->where('rango', 2)->first();
if ($sUs){
$personal = $sUs->username;
}
}
$recursosMus = UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 43)->where('id_Departamento', 128)->where('Estado', 1)->get();
foreach ($recursosMus as $item5) {
$sUs = S_UsersCentralizada::where('username',$item5->N_Usuario)->where('rango', 2)->first();
if ($sUs){
$recursosM = $sUs->username;
}
}
$finanzasUs = UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 44)->where('id_Departamento', 135)->where('Estado', 1)->get();
foreach ($finanzasUs as $item6) {
$sUs = S_UsersCentralizada::where('username',$item6->N_Usuario)->where('rango', 2)->first();
if ($sUs){
$finanzas = $sUs->username;
}
}
$infoUs = UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 45)->where('id_Departamento', 139)->where('Estado', 1)->get();
foreach ($infoUs as $item7) {
$sUs = S_UsersCentralizada::where('username',$item7->N_Usuario)->where('rango', 2)->first();
if ($sUs){
$info = $sUs->username;
}
}
$particularUs = UsuariosCentralizada::where('id_Dependencia', 4)->where('id_Direccion', 37)->where('id_Departamento', 108)->where('Estado', 1)->get();
foreach ($particularUs as $item8) {
$sUs = S_UsersCentralizada::where('username',$item8->N_Usuario)->where('rango', 2)->first();
if ($sUs){
$particular = $sUs->username;
}
}
return Excel::download(new PermisosExport($registro,$cancelados,$pendientes,$concluidos, $UIPPE,$normatividad,$genero, $personal, $recursosM, $finanzas, $info, $particular), "reporte.xlsx");
}
public function reporteGnal(){
return view('reportes.showGnal');
}
public function getReporte(Request $request){
$UsRFC = auth()->user()->id;
$busqueda = $request->except('_token');
$fInic = explode("-", $busqueda['ini']);
$fIni = $fInic[2].'-'.$fInic[1].'-'.$fInic[0];
$fFinn = explode("-", $busqueda['fin']);
$fFin = $fFinn[2].'-'.$fFinn[1].'-'.$fFinn[0];
$registros = [];
$registros = Registro::where('user_registro', $UsRFC)->whereBetween('created_at',[$fIni, $fFin])->get();
return view('reportes.verReporte', compact('registros', 'fFin','fIni'));
}
public function verConsentrado(Request $request){
$UsRFC = auth()->user()->id;
$registros = Registro::where('user_registro', $UsRFC)->whereBetween('created_at',[$request['ini'], $request['fin']])->get();
return Excel::download(new consentradoExport($registros), "reporte.xlsx");
}
}
OHA YOOOO