<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Carbon\Carbon;
use Auth;
use Crypt;

class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function index()
    {

        //SELECT TECNICOS
        $trabajadores = DB::table('personas')
            ->join('trabajadors', 'trabajadors.id_persona', '=', 'personas.id')
            ->select(
                'personas.nombre_uno',
                'personas.apellido_uno',
                'trabajadors.id'
            )
            ->where('trabajadors.estado', '=', '1')
            ->orderBy('trabajadors.id', 'desc')
            ->get();

        $datos_trabajador = DB::table('trabajadors')
            ->where('trabajadors.id_login', '=', Auth::user()->id)
            ->get();

        if (count($datos_trabajador) != 0) {
            $id_trabajador = $datos_trabajador[0]->id;
        } else {
            $id_trabajador = 0;
        }

        $databases = $this->nombre_database();

        /** SECCION INSTALACION - RETIRO */
        $count_pendienteCoordinador = 0;
        $count_porasignarCoordinador = 0;
        $count_cursoCoordinador = 0;
        $count_porreasignarCoordinador = 0;
        $count_porrevisarCoordinador = 0;
        $count_pendientes = 0;
        $count_curso = 0;
        $count_rechazado = 0;
        /** SECCION SERVICIO */
        $cont_pendienteCoordinador = 0;
        $cont_porasignarCoordinador = 0;
        $cont_encursoCoordinador = 0;
        $cont_porreasignarCoordinador = 0;
        $cont_porrevisarCoordinador = 0;
        $cont_instalarRepuestos = 0;

        //SECCION PROVEEDOR
        $cont_asignadoProveedor = 0;
        $cont_asignadoservicioProveedor = 0;
        $cont_respuestoservicioProveedor = 0;
        $proveedor = Auth::user()->nombre_proveedor;

        //SECCION PROVEEDOR
        $cont_asignadoProveedor = 0;
        $cont_repuestosProveedor = 0;
        $cont_asignadoservicioProveedor = 0;
        $cont_respuestoservicioProveedor = 0;
        $proveedor = Auth::user()->nombre_proveedor;

        if ($proveedor != "") {
            $retiros_asignados_proveedor = DB::connection(strtolower($proveedor))->table('retiros')
                ->join('tracker', 'tracker.id', '=', 'retiros.tracker_id')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('retiros.id')
                ->where('clientes.id', '!=', 4);
            $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('instalacions.id')
                ->where('clientes.id', '!=', 4)
                //->union($retiros_asignados_proveedor)
                ->count();

            $cont_asignadoProveedor = $instalacion_asignados_proveedor;

            $instalacion_repuestos_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('clientes.razon_social as cliente', 'clientes.id as clientes_id')
                //->where('checklist_instalacions.motivo', '!=', '')
                ->where('instalacions.dFecha_instalacion', '=', 'repuestos')
                ->count();

            $cont_repuestosProveedor = $instalacion_repuestos_proveedor;

            $servicio_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->count();

            $cont_asignadoservicioProveedor = $servicio_proveedor;

            $serviciorepuestos_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->where('asignacion_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
                ->where('asignacion_solicitudes.estado_externo', '=', 'Solicitar Repuestos')
                ->where('api_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
                ->count();

            $cont_respuestoservicioProveedor = $serviciorepuestos_proveedor;
        }
        foreach ($databases as $los_datos) {
            /** SECCCION INSTALACION - RETIRO */
            //SELECT MODALS 
            $datos_clientes[] = DB::connection(strtolower($los_datos->Database))->select('SELECT clientes.razon_social as cliente, clientes.id FROM clientes WHERE clientes.id != 4');
            $datos_clientes_porasignar[] = DB::connection(strtolower($los_datos->Database))->select('SELECT instalacions.sCliente FROM instalacions UNION SELECT retiros.sCliente FROM retiros');

            //ESTADO PENDIENTE PARA COORDINADOR
            $retiros_pendientes_coordinador = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', null);
            $instalacion_pendientes_coordinador = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', null)
                ->orderBy('fecha_visita', 'desc')
                ->union($retiros_pendientes_coordinador)
                ->count();

            $count_pendienteCoordinador += $instalacion_pendientes_coordinador;

            //ESTADO POR ASIGNAR PARA COORDINADOR 
            $retiros_porasignar_coordinador = DB::connection(strtolower($los_datos->Database))->table('retiros')
                ->select('retiros.id')
                ->where('retiros.estado_retiro_Cord', '=', 'Por Asignar');
            $instalacion_porasignar_coordinador = DB::connection(strtolower($los_datos->Database))->table('instalacions')
                ->select('instalacions.id')
                ->where('instalacions.sEstado_instalacion', 'like', '%Por Asignar%')
                ->union($retiros_porasignar_coordinador)
                ->count();

            $count_porasignarCoordinador += $instalacion_porasignar_coordinador;

            //ESTADO EN CURSO PARA COORDIANDOR
            $retiros_curso_coordiandor =  DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', 'activo');
            $instalacion_curso_coordiandor =  DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                ->orderBy('fecha_visita', 'desc')
                ->union($retiros_curso_coordiandor)
                ->count();

            $count_cursoCoordinador += $instalacion_curso_coordiandor;

            //ESTADO POR REASIGNAR COORDINADOR PARA COORDIANDOR
            $retiros_porreasignar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'reasignar');
            $instalacion_porreasignar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'reasignar')
                ->where('instalacions.sEstado_instalacion', '=', 'reasignar')
                ->union($retiros_porreasignar_coordiandor)
                ->count();

            $count_porreasignarCoordinador += $instalacion_porreasignar_coordiandor;

            //ESTADO POR REASIGNAR COORDINADOR PARA COORDIANDOR
            $retiros_porrevisar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'revisar');
            $instalacion_porrevisar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'revisar')
                ->where('instalacions.sEstado_instalacion', '=', 'revisar')
                ->union($retiros_porrevisar_coordiandor)
                ->count();

            $count_porrevisarCoordinador += $instalacion_porrevisar_coordiandor;

            //ESTADO PENDIENTE PARA TECNICO 
            $retiros_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada');
            $servicios_pendientes = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->select('asignacion_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador)
                //TRANSITO
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador)
                //EN ESPERA
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN ESPERA')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ESPERANDO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->orderBy('fecha_visita', 'desc')
                ->union($retiros_pendientes)
                ->union($servicios_pendientes)
                ->count();

            $count_pendientes += $instalacion_pendientes;

            //ESTADO EN CURSO PARA TECNICO
            $retiros_curso = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select(
                    'asignacion_retiros.id'
                )
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', 'activo');
            $servicios_curso = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->join('check_formulario_solicitudes', 'check_formulario_solicitudes.id', '=', 'asignacion_solicitudes.check_formulario_solicitudes_id')
                ->join('tracker', 'tracker.id', '=', 'api_solicitudes.tracker_idtracker')
                ->select('asignacion_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('api_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_curso = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select(
                    'asignacion_instalacions.id'
                )
                ->where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                ->orderBy('fecha_visita', 'desc')
                ->union($servicios_curso)
                ->union($retiros_curso)
                ->count();

            $count_curso += $instalacion_curso;

            //ESTADO EN RECHAZADOS PARA TECNICO
            $retiros_rechazado = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select(
                    'asignacion_retiros.id'
                )
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'rechazado');
            $servicios_rechazados = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->select('asignacion_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->where('api_solicitudes.estado_externo', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_rechazado = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select(
                    'asignacion_instalacions.id'
                )
                ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'rechazado')
                //->orderBy('fecha_visita', 'desc')
                ->union($servicios_rechazados)
                ->union($retiros_rechazado)
                ->count();

            $count_rechazado += $instalacion_rechazado;

            /** FIN SECCION INSTALACION/RETIRO */
            /** SECCION SERVICIO */
            $datos_clientes_servicios[] = DB::connection(strtolower($los_datos->Database))->select('SELECT clientes.razon_social as cliente, clientes.id FROM clientes WHERE clientes.id != 4');
            $datos_clientes_porasignar_servicios[] = DB::connection(strtolower($los_datos->Database))->select('SELECT DISTINCT api_solicitudes.sCliente FROM api_solicitudes');
            //SUMA PENDIENTE PARA COORINADOR
            $suma_pendientes_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->count();
            $cont_pendienteCoordinador += $suma_pendientes_coordinador_servicio;
            //SUMA POR ASIGNAR COORDINADOR
            $suma_porasignar_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'POR ASIGNAR')
                ->where('api_solicitudes.estado_externo', '=', 'POR ASIGNAR')
                ->orwhere('api_solicitudes.estado_interno', '=', NULL)
                ->where('api_solicitudes.estado_externo', '=', 'Sin asignar')
                ->count();
            $cont_porasignarCoordinador += $suma_porasignar_coordinador_servicio;
            //SUMA EN CURSO COORDINADOR
            $suma_encursos_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                //TRANSITO
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'EN TRANSITO')
                //EN ESPERA
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN ESPERA')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ESPERANDO')
                //INICIADO
                ->orwhere('api_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('api_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'INICIADO')
                ->count();
            $cont_encursoCoordinador += $suma_encursos_coordinador_servicio;

            $suma_porreasignars_coordiandor_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'REASIGNAR')
                ->count();
            $cont_porreasignarCoordinador += $suma_porreasignars_coordiandor_servicio;

            $suma_porrevisar_coordiandor_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'REVISAR')
                ->orwhere('api_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->count();
            $cont_porrevisarCoordinador += $suma_porrevisar_coordiandor_servicio;

            $suma_InstalarRespuestos = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_externo','=','Instalar repuesto')
                ->where('api_solicitudes.estado_interno','=','Solicitar Repuestos')
                ->orwhere('api_solicitudes.estado_externo','=','Instalar repuesto')
                ->where('api_solicitudes.estado_interno','=',NULL)
                //->where('api_solicitudes.estado_interno','!','FINALIZADO')
                ->count();

            $cont_instalarRepuestos += $suma_InstalarRespuestos;
        }
        /** SECCION INSTALACION - RETIRO */
        $suma_pendientes_coordinador = $count_pendienteCoordinador;
        $suma_porasignar_coordinador = $count_porasignarCoordinador;
        $suma_encursos_coordiandor = $count_cursoCoordinador;
        $suma_porreasignars_coordiandor = $count_porreasignarCoordinador;
        $suma_porrevisar_coordiandor = $count_porrevisarCoordinador;
        //TECNICO
        $suma_pendientes = $count_pendientes;
        $suma_encursos = $count_curso;
        $suma_rechazado = $count_rechazado;
        /** SECCION SERVICIO */
        $suma_pendientes_coordinador_servicio = $cont_pendienteCoordinador;
        $suma_porasignar_coordinador_servicio = $cont_porasignarCoordinador;
        $suma_encursos_coordiandor_servicio = $cont_encursoCoordinador;
        $suma_porreasignar_coordiandor_servicio = $cont_porreasignarCoordinador;
        $suma_porrevisar_coordiandor_servicio = $cont_porrevisarCoordinador;
        $suma_estado_intalar_respuestos = $cont_instalarRepuestos;

            
        $proveedores= [
            ['Kyocera', 'KYOCERA'],
            ['COMTECGLOBAL', 'COMTECGLOBAL'],
            
        ];

        return view('home', compact('proveedores','suma_estado_intalar_respuestos', 'cont_repuestosProveedor', 'cont_respuestoservicioProveedor', 'cont_asignadoservicioProveedor', 'cont_asignadoProveedor', 'datos_clientes_porasignar_servicios', 'suma_porreasignar_coordiandor_servicio', 'suma_encursos_coordiandor_servicio', 'suma_encursos_coordiandor_servicio', 'suma_porasignar_coordinador_servicio', 'suma_pendientes_coordinador_servicio', 'suma_porreasignars_coordiandor', 'trabajadores', 'datos_clientes_porasignar', 'datos_clientes', 'suma_pendientes', 'suma_encursos', 'suma_rechazado', 'suma_pendientes_coordinador', 'suma_porasignar_coordinador', 'suma_encursos_coordiandor', 'suma_porrevisar_coordiandor_servicio', 'suma_porrevisar_coordiandor'));
    }
    public function actualizar()
    {
        //SELECT TECNICOS
        $trabajadores = DB::table('personas')
            ->join('trabajadors', 'trabajadors.id_persona', '=', 'personas.id')
            ->select(
                'personas.nombre_uno',
                'personas.apellido_uno',
                'trabajadors.id'
            )
            ->where('trabajadors.estado', '=', '1')
            ->orderBy('trabajadors.id', 'desc')
            ->get();

        $datos_trabajador = DB::table('trabajadors')
            ->where('trabajadors.id_login', '=', Auth::user()->id)
            ->get();

        if (count($datos_trabajador) != 0) {
            $id_trabajador = $datos_trabajador[0]->id;
        } else {
            $id_trabajador = 0;
        }

        $databases = $this->nombre_database();

        /** SECCION INSTALACION - RETIRO */
        $count_pendienteCoordinador = 0;
        $count_porasignarCoordinador = 0;
        $count_cursoCoordinador = 0;
        $count_porreasignarCoordinador = 0;
        $count_porrevisarCoordinador = 0;
        $count_pendientes = 0;
        $count_curso = 0;
        $count_rechazado = 0;
        /** SECCION SERVICIO */
        $cont_pendienteCoordinador = 0;
        $cont_porasignarCoordinador = 0;
        $cont_encursoCoordinador = 0;
        $cont_porreasignarCoordinador = 0;
        $cont_porrevisarCoordinador = 0;

        //SECCION PROVEEDOR
        $cont_asignadoProveedor = 0;
        $cont_repuestosProveedor = 0;
        $cont_asignadoservicioProveedor = 0;
        $cont_respuestoservicioProveedor = 0;
        $proveedor = Auth::user()->nombre_proveedor;

        if ($proveedor != "") {
            $retiros_asignados_proveedor = DB::connection(strtolower($proveedor))->table('retiros')
                ->join('tracker', 'tracker.id', '=', 'retiros.tracker_id')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('retiros.id')
                ->where('clientes.id', '!=', 4);
            $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('instalacions.id')
                ->where('clientes.id', '!=', 4)
                //->union($retiros_asignados_proveedor)
                ->count();

            $cont_asignadoProveedor = $instalacion_asignados_proveedor;

            $instalacion_repuestos_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('clientes.razon_social as cliente', 'clientes.id as clientes_id')
                //->where('checklist_instalacions.motivo', '!=', '')
                ->where('instalacions.dFecha_instalacion', '=', 'repuestos')
                ->count();

            $cont_repuestosProveedor = $instalacion_repuestos_proveedor;

            $servicio_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->count();

            $cont_asignadoservicioProveedor = $servicio_proveedor;

            $serviciorepuestos_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->where('asignacion_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
                ->where('asignacion_solicitudes.estado_externo', '=', 'Solicitar Repuestos')
                ->where('api_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
                ->count();

            $cont_respuestoservicioProveedor = $serviciorepuestos_proveedor;
        }
        foreach ($databases as $los_datos) {
            /** SECCCION INSTALACION - RETIRO */
            //SELECT MODALS 
            $datos_clientes[] = DB::connection(strtolower($los_datos->Database))->select('SELECT clientes.razon_social as cliente, clientes.id FROM clientes WHERE clientes.id != 4');
            $datos_clientes_porasignar[] = DB::connection(strtolower($los_datos->Database))->select('SELECT instalacions.sCliente FROM instalacions UNION SELECT retiros.sCliente FROM retiros');

            //ESTADO PENDIENTE PARA COORDINADOR
            $retiros_pendientes_coordinador = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', null);
            $instalacion_pendientes_coordinador = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', null)
                ->orderBy('fecha_visita', 'desc')
                ->union($retiros_pendientes_coordinador)
                ->count();

            $count_pendienteCoordinador += $instalacion_pendientes_coordinador;

            //ESTADO POR ASIGNAR PARA COORDINADOR 
            $retiros_porasignar_coordinador = DB::connection(strtolower($los_datos->Database))->table('retiros')
                ->select('retiros.id')
                ->where('retiros.estado_retiro_Cord', '=', 'Por Asignar');
            $instalacion_porasignar_coordinador = DB::connection(strtolower($los_datos->Database))->table('instalacions')
                ->select('instalacions.id')
                ->where('instalacions.sEstado_instalacion', 'like', '%Por Asignar%')
                ->union($retiros_porasignar_coordinador)
                ->count();

            $count_porasignarCoordinador += $instalacion_porasignar_coordinador;

            //ESTADO EN CURSO PARA COORDIANDOR
            $retiros_curso_coordiandor =  DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', 'activo');
            $instalacion_curso_coordiandor =  DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                ->orderBy('fecha_visita', 'desc')
                ->union($retiros_curso_coordiandor)
                ->count();

            $count_cursoCoordinador += $instalacion_curso_coordiandor;

            //ESTADO POR REASIGNAR COORDINADOR PARA COORDIANDOR
            $retiros_porrevisar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'revisar');
            $instalacion_porrevisar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'revisar')
                ->where('instalacions.sEstado_instalacion', '=', 'revisar')
                ->union($retiros_porrevisar_coordiandor)
                ->count();

            $count_porrevisarCoordinador += $instalacion_porrevisar_coordiandor;

            //ESTADO POR REVISAR COORDINADOR PARA COORDIANDOR
            $retiros_porreasignar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.estado_asignacion', '=', 'reasignar');
            $instalacion_porreasignar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->where('asignacion_instalacions.estado_asignacion', '=', 'reasignar')
                ->where('instalacions.sEstado_instalacion', '=', 'reasignar')
                ->union($retiros_porreasignar_coordiandor)
                ->count();

            $count_porreasignarCoordinador += $instalacion_porreasignar_coordiandor;

            //ESTADO PENDIENTE PARA TECNICO 
            $retiros_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select('asignacion_retiros.id')
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada');
            $servicios_pendientes = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->select('asignacion_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador)
                //TRANSITO
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador)
                //EN ESPERA
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN ESPERA')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ESPERANDO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select('asignacion_instalacions.id')
                ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->orderBy('fecha_visita', 'desc')
                ->union($retiros_pendientes)
                ->union($servicios_pendientes)
                ->count();

            $count_pendientes += $instalacion_pendientes;

            //ESTADO EN CURSO PARA TECNICO
            $retiros_curso = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select(
                    'asignacion_retiros.id'
                )
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', 'activo');
            $servicios_curso = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->join('check_formulario_solicitudes', 'check_formulario_solicitudes.id', '=', 'asignacion_solicitudes.check_formulario_solicitudes_id')
                ->join('tracker', 'tracker.id', '=', 'api_solicitudes.tracker_idtracker')
                ->select('asignacion_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('api_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_curso = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select(
                    'asignacion_instalacions.id'
                )
                ->where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                ->orderBy('fecha_visita', 'desc')
                ->union($servicios_curso)
                ->union($retiros_curso)
                ->count();

            $count_curso += $instalacion_curso;

            //ESTADO EN RECHAZADOS PARA TECNICO
            $retiros_rechazado = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select(
                    'asignacion_retiros.id'
                )
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'rechazado');
            $servicios_rechazados = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->select('asignacion_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->where('api_solicitudes.estado_externo', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_rechazado = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select(
                    'asignacion_instalacions.id'
                )
                ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'rechazado')
                //->orderBy('fecha_visita', 'desc')
                ->union($servicios_rechazados)
                ->union($retiros_rechazado)
                ->count();

            $count_rechazado += $instalacion_rechazado;

            /** FIN SECCION INSTALACION/RETIRO */
            /** SECCION SERVICIO */
            $datos_clientes_servicios[] = DB::connection(strtolower($los_datos->Database))->select('SELECT clientes.razon_social as cliente, clientes.id FROM clientes WHERE clientes.id != 4');
            $datos_clientes_porasignar_servicios[] = DB::connection(strtolower($los_datos->Database))->select('SELECT DISTINCT api_solicitudes.sCliente FROM api_solicitudes');
            //SUMA PENDIENTE PARA COORINADOR
            $suma_pendientes_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->count();
            $cont_pendienteCoordinador += $suma_pendientes_coordinador_servicio;
            //SUMA POR ASIGNAR COORDINADOR
            $suma_porasignar_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'POR ASIGNAR')
                ->where('api_solicitudes.estado_externo', '=', 'POR ASIGNAR')
                ->orwhere('api_solicitudes.estado_interno', '=', NULL)
                ->where('api_solicitudes.estado_externo', '=', 'Sin asignar')
                ->count();
            $cont_porasignarCoordinador += $suma_porasignar_coordinador_servicio;
            //SUMA EN CURSO COORDINADOR
            $suma_encursos_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                //TRANSITO
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'EN TRANSITO')
                //EN ESPERA
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN ESPERA')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ESPERANDO')
                //INICIADO
                ->orwhere('api_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('api_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'INICIADO')
                ->count();
            $cont_encursoCoordinador += $suma_encursos_coordinador_servicio;

            $suma_porreasignars_coordiandor_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'REASIGNAR')
                ->count();
            $cont_porreasignarCoordinador += $suma_porreasignars_coordiandor_servicio;

            $suma_porrevisar_coordiandor_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'REVISAR')
                ->orwhere('api_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->count();
            $cont_porrevisarCoordinador += $suma_porrevisar_coordiandor_servicio;
        }
        /** SECCION INSTALACION - RETIRO */
        $suma_pendientes_coordinador = $count_pendienteCoordinador;
        $suma_porasignar_coordinador = $count_porasignarCoordinador;
        $suma_encursos_coordiandor = $count_cursoCoordinador;
        $suma_porreasignars_coordiandor = $count_porreasignarCoordinador;
        $suma_porrevisar_coordiandor = $count_porrevisarCoordinador;
        //TECNICO
        $suma_pendientes = $count_pendientes;
        $suma_encursos = $count_curso;
        $suma_rechazado = $count_rechazado;
        /** SECCION SERVICIO */
        $suma_pendientes_coordinador_servicio = $cont_pendienteCoordinador;
        $suma_porasignar_coordinador_servicio = $cont_porasignarCoordinador;
        $suma_encursos_coordiandor_servicio = $cont_encursoCoordinador;
        $suma_porreasignar_coordiandor_servicio = $cont_porreasignarCoordinador;
        $suma_porrevisar_coordiandor_servicio = $cont_porrevisarCoordinador;

        //PROVEEDOR
        $data['cont_repuestosProveedor'] = $cont_repuestosProveedor;
        $data['cont_respuestoservicioProveedor'] = $cont_respuestoservicioProveedor;
        $data['cont_asignadoservicioProveedor'] = $cont_asignadoservicioProveedor;
        $data['cont_asignadoProveedor'] = $cont_asignadoProveedor;
        //TECNICO
        $data['suma_pendientes_tecnico'] = $suma_pendientes;
        $data['suma_encursos_tecnico'] = $suma_encursos;
        $data['suma_rechazado_tecnico'] = $suma_rechazado;
        //COORDINADOR
        $data['suma_porreasignars_coordiandor'] = $suma_porreasignars_coordiandor;
        $data['suma_pendientes_coordinador'] = $suma_pendientes_coordinador;
        $data['suma_porasignar_coordinador'] = $suma_porasignar_coordinador;
        $data['suma_encursos_coordiandor'] = $suma_encursos_coordiandor;
        $data['suma_porrevisar_coordiandor'] = $suma_porrevisar_coordiandor;
        $data['suma_pendientes_coordinador_servicio'] = $suma_pendientes_coordinador_servicio;
        $data['suma_porasignar_coordinador_servicio'] = $suma_porasignar_coordinador_servicio;
        $data['suma_encursos_coordiandor_servicio'] = $suma_encursos_coordiandor_servicio;
        $data['suma_porreasignar_coordiandor_servicio'] = $suma_porreasignar_coordiandor_servicio;
        $data['suma_porrevisar_coordiandor_servicio'] = $suma_porrevisar_coordiandor_servicio;

        return $data;
    }
    public function index_ins_ret()
    { {
            //SELECT TECNICOS
            $trabajadores = DB::table('personas')
                ->join('trabajadors', 'trabajadors.id_persona', '=', 'personas.id')
                ->select(
                    'personas.nombre_uno',
                    'personas.apellido_uno',
                    'trabajadors.id'
                )
                ->where('trabajadors.estado', '=', '1')
                ->orderBy('trabajadors.id', 'desc')
                ->get();

            $datos_trabajador = DB::table('trabajadors')
                ->where('trabajadors.id_login', '=', Auth::user()->id)
                ->get();

            if (count($datos_trabajador) != 0) {
                $id_trabajador = $datos_trabajador[0]->id;
            } else {
                $id_trabajador = 0;
            }

            $databases = $this->nombre_database();

            /** SECCION INSTALACION - RETIRO */
            $count_pendienteCoordinador = 0;
            $count_porasignarCoordinador = 0;
            $count_cursoCoordinador = 0;
            $count_porreasignarCoordinador = 0;
            $count_pendientes = 0;
            $count_curso = 0;
            $count_rechazado = 0;
            foreach ($databases as $los_datos) {
                //SELECT MODALS 
                $datos_clientes[] = DB::connection(strtolower($los_datos->Database))->select('SELECT  clientes.razon_social as cliente, clientes.id FROM clientes WHERE clientes.id != 4');
                $datos_clientes_porasignar[] = DB::connection(strtolower($los_datos->Database))->select('SELECT instalacions.sCliente FROM instalacions UNION SELECT retiros.sCliente FROM retiros');

                //ESTADO PENDIENTE PARA COORDINADOR
                $retiros_pendientes_coordinador = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                    ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                    ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                    ->select(
                        'asignacion_retiros.id'
                    )
                    ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                    ->where('checklist_retiros.estado_inicio', '=', null);
                $instalacion_pendientes_coordinador = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                    ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                    ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                    ->select(
                        'asignacion_instalacions.id'
                    )
                    ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                    ->where('checklist_instalacions.estado_inicio', '=', null)
                    ->orderBy('fecha_visita', 'desc')
                    ->union($retiros_pendientes_coordinador)
                    ->count();

                $count_pendienteCoordinador += $instalacion_pendientes_coordinador;

                //ESTADO POR ASIGNAR PARA COORDINADOR 
                $retiros_porasignar_coordinador = DB::connection(strtolower($los_datos->Database))->table('retiros')
                    ->select('retiros.id')
                    ->where('retiros.estado_retiro_Cord', '=', 'Por Asignar');
                $instalacion_porasignar_coordinador = DB::connection(strtolower($los_datos->Database))->table('instalacions')
                    ->select('instalacions.id')
                    ->where('instalacions.sEstado_instalacion', 'like', '%Por Asignar%')
                    ->union($retiros_porasignar_coordinador)
                    ->count();

                $count_porasignarCoordinador += $instalacion_porasignar_coordinador;

                //ESTADO EN CURSO PARA COORDIANDOR
                $retiros_curso_coordiandor =  DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                    ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                    ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                    ->select('asignacion_retiros.id')
                    ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                    ->where('checklist_retiros.estado_inicio', '=', 'activo');
                $instalacion_curso_coordiandor =  DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                    ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                    ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                    ->select('asignacion_instalacions.id')
                    ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                    ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                    ->orderBy('fecha_visita', 'desc')
                    ->union($retiros_curso_coordiandor)
                    ->count();

                $count_cursoCoordinador += $instalacion_curso_coordiandor;

                //ESTADO POR REASIGNAR COORDINADOR PARA COORDIANDOR
                $retiros_porreasignar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                    ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                    ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                    ->select('asignacion_retiros.id')
                    ->where('asignacion_retiros.estado_asignacion', '=', 'reasignar');
                $instalacion_porreasignar_coordiandor = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                    ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                    ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                    ->select('asignacion_instalacions.id')
                    ->where('asignacion_instalacions.estado_asignacion', '=', 'reasignar')
                    ->where('instalacions.sEstado_instalacion', '=', 'reasignar')
                    ->union($retiros_porreasignar_coordiandor)
                    ->count();

                $count_porreasignarCoordinador += $instalacion_porreasignar_coordiandor;

                //ESTADO PENDIENTE PARA TECNICO 
                $retiros_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                    ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                    ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                    ->select('asignacion_retiros.id')
                    ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                    ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada');
                $instalacion_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                    ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                    ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                    ->select('asignacion_instalacions.id')
                    ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                    ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                    ->orderBy('fecha_visita', 'desc')
                    ->union($retiros_pendientes)
                    ->count();

                $count_pendientes += $instalacion_pendientes;

                //ESTADO EN CURSO PARA TECNICO
                $retiros_curso = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                    ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                    ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                    ->select(
                        'asignacion_retiros.id'
                    )
                    ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                    ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                    ->where('checklist_retiros.estado_inicio', '=', 'activo');
                $instalacion_curso = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                    ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                    ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                    ->select(
                        'asignacion_instalacions.id'
                    )
                    ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                    ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                    ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                    ->orderBy('fecha_visita', 'desc')
                    ->union($retiros_curso)
                    ->count();

                $count_curso += $instalacion_curso;

                //ESTADO EN RECHAZADOS PARA TECNICO
                $retiros_rechazado = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                    ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                    ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                    ->select(
                        'asignacion_retiros.id'
                    )
                    ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                    ->where('asignacion_retiros.estado_asignacion', '=', 'rechazado');
                $servicios_rechazados = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                    ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                    ->select('asignacion_solicitudes.id')
                    ->where('api_solicitudes.estado_interno', '=', 'RECHAZADO')
                    ->where('api_solicitudes.estado_externo', '=', 'RECHAZADO')
                    ->where('asignacion_solicitudes.estado_interno', '=', 'RECHAZADO')
                    ->where('asignacion_solicitudes.estado_externo', '=', 'RECHAZADO')
                    ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
                $instalacion_rechazado = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                    ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                    ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                    ->select(
                        'asignacion_instalacions.id'
                    )
                    ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                    ->where('asignacion_instalacions.estado_asignacion', '=', 'rechazado')
                    ->orderBy('fecha_visita', 'desc')
                    ->union($servicios_rechazados)
                    ->union($retiros_rechazado)
                    ->count();

                $count_rechazado += $instalacion_rechazado;
            }
            $suma_pendientes_coordinador = $count_pendienteCoordinador;
            $suma_porasignar_coordinador = $count_porasignarCoordinador;
            $suma_encursos_coordiandor = $count_cursoCoordinador;
            $suma_porreasignars_coordiandor = $count_porreasignarCoordinador;
            //TECNICO
            $suma_pendientes = $count_pendientes;
            $suma_encursos = $count_curso;
            $suma_rechazado = $count_rechazado;

            return view('home_instalacionretiro', compact('suma_porreasignars_coordiandor', 'trabajadores', 'datos_clientes_porasignar', 'datos_clientes', 'suma_pendientes', 'suma_encursos', 'suma_rechazado', 'suma_pendientes_coordinador', 'suma_porasignar_coordinador', 'suma_encursos_coordiandor'));
        }
    }
    public function establecer_proveedor(Request $request)
    {
        $nombre_proveedores = DB::table('config_usuarios')
            ->select('id', 'nombre_proveedor', 'name_bd')
            ->where('estado', '=', 1)
            ->get();

        $nombre_DB = DB::connection()->getDatabaseName();
        return "ok";
    }

    /** FUNCION PARA REVISAR ATENCIONES PENDIENTES TECNICOS  */
    public function revisar_pendiente_tecnico()
    {
        $datos_trabajador = DB::table('trabajadors')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select('trabajadors.id', 'personas.nombre_uno', 'personas.apellido_uno')
            ->where('trabajadors.id_login', '=', Auth::user()->id)
            ->get();

        $id_trabajador = $datos_trabajador[0]->id;

        $databases = $this->nombre_database();
        foreach ($databases as $los_datos) {
            $retiros_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select(
                    'checklist_retiros.csSerie as serie',
                    'retiros.nFolio as sc',
                    'checklist_retiros.csComuna as comuna',
                    'checklist_retiros.csRegion as region',
                    'checklist_retiros.Cscliente as cliente',
                    'asignacion_retiros.tipo',
                    'asignacion_retiros.id',
                    DB::raw("NULL as estado_externo"),
                    'retiros.proveedor_retiro as proveedor',
                    DB::raw("NULL as sDescripcion"),
                )
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada');
            $servicio_pendientes = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->join('check_formulario_solicitudes', 'check_formulario_solicitudes.id', '=', 'asignacion_solicitudes.check_formulario_solicitudes_id')
                ->join('tracker', 'tracker.id', '=', 'api_solicitudes.tracker_idtracker')
                ->select(
                    'check_formulario_solicitudes.sSerie as serie',
                    'check_formulario_solicitudes.sSC as sc',
                    'check_formulario_solicitudes.sComuna as comuna',
                    'check_formulario_solicitudes.sRegion as region',
                    'check_formulario_solicitudes.sCliente as cliente',
                    'tracker.tipo_tracker as tipo',
                    'asignacion_solicitudes.id',
                    'asignacion_solicitudes.estado_externo',
                    'api_solicitudes.proveedor_servicio as proveedor',
                    'api_solicitudes.sDescripcion as sDescripcion'

                )
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador)
                //TRANSITO
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador)
                //EN ESPERA
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN ESPERA')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ESPERANDO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador)
                //INICIADO
                ->orwhere('api_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('api_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_pendientes[] = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select(
                    'checklist_instalacions.CsSerie as serie',
                    'checklist_instalacions.CsSc as sc',
                    'checklist_instalacions.Cscomuna as comuna',
                    'checklist_instalacions.Csregion as region',
                    'checklist_instalacions.Cscliente as cliente',
                    'asignacion_instalacions.tipo',
                    'asignacion_instalacions.id',
                    DB::raw("NULL as estado_externo"),
                    'instalacions.proveedor_instalacion as proveedor',
                    DB::raw("NULL as sDescripcion"),
                )
                ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->union($servicio_pendientes)
                ->union($retiros_pendientes)
                ->get();
        }
        $table = "";
        for ($i = 0; $i < count($instalacion_pendientes); $i++) {
            foreach ($instalacion_pendientes[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . $datos_trabajador[0]->nombre_uno . "" . $datos_trabajador[0]->apellido_uno . "</td>";
                $table .= "<td>" . $d1->tipo . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->region . "</td>";
                $table .= "<td>" . $d1->comuna . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
               
                if ($d1->tipo == "retiro") {
                    $table .= "<td>NO REGISTRA </td>";
                } else {
                    if ($d1->sc == "") {
                        $table .= "<td>NO REGISTRA </td>";
                    } else {
                        $table .= "<td>" . $d1->sc . "</td>";
                    }
                }
                $table .= "<td>" . $d1->sDescripcion . "</td>";
                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                    <form action="' . route('go.ChecklistRetiros') . '" method="GET">
                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                        <input type="hidden" value="' . $d1->id . '" name="id">
                        <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                    </form>
                </td>';
                } else if ($d1->tipo == "instalacion") {
                    $table .=
                        '<td>
                    <form action="' . route('go.completando_check') . '" method="GET">
                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                        <input type="hidden" value="' . $d1->id . '" name="id">
                        <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                    </form>
                </td>';
                } else if ($d1->tipo == "servicios") {
                    if ($d1->estado_externo == "ASIGNADO") {
                        $table .=
                            '<td>
                    <form action="' . route('iniciando.checklist.servicios_en_transito') . '" method="GET">
                        <input type="hidden" name="proveedor" value="' . $d1->proveedor . '">
                        <input type="hidden" name="idAsig" value="' . Crypt::encryptString($d1->id) . '">
                        <button class="btn"><span class="material-icons-round">local_shipping</span></button>
                    </form>
                    </td>';
                    } else if ($d1->estado_externo == "EN TRANSITO") {
                        $table .=
                            '<td><form action="' . route('iniciando.checklist.servicios_en_espera') . '" method="GET">
                        <input type="hidden" name="proveedor" value="' . $d1->proveedor . '">
                        <input type="hidden" name="idAsig" value="' . Crypt::encryptString($d1->id) . '">
                        <button class="btn"><span class="material-icons-round">factory</span></button>
                    </form>
                    </td>';
                    } else if ($d1->estado_externo == "ESPERANDO" || $d1->estado_externo == "INICIADO") {
                        $table .=
                            '<td><form action="' . route('go.iniciarchecservicio') . '" method="GET">
                        <input type="hidden" name="proveedor" value="' . $d1->proveedor . '">
                        <input type="hidden" name="idAsig" value="' . Crypt::encryptString($d1->id) . '">
                        <button class="btn"><span class="material-icons-round">play_arrow</span></button>
                    </form>
                    </td>';
                    }
                }
                $table .= "</tr>";
            }
        }

        return $table;
    }
    /** FUNCION PARA REVISAR ATENCIONES EN CURSO TECNICO */
    public function revisar_encurso_tecnico()
    {
        $datos_trabajador = DB::table('trabajadors')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select('trabajadors.id', 'personas.nombre_uno', 'personas.apellido_uno')
            ->where('trabajadors.id_login', '=', Auth::user()->id)
            ->get();

        $id_trabajador = $datos_trabajador[0]->id;

        $databases = $this->nombre_database();

        //ESTADO ENCURSO TECNICO
        foreach ($databases as $los_datos) {
            $retiros_encurso = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select(
                    'checklist_retiros.csSerie as serie',
                    'retiros.nFolio as sc',
                    'checklist_retiros.csComuna as comuna',
                    'checklist_retiros.csRegion as region',
                    'checklist_retiros.Cscliente as cliente',
                    'asignacion_retiros.tipo',
                    'asignacion_retiros.id',
                    'retiros.proveedor_retiro as proveedor',
                    DB::raw("NULL as sDescripcion"),

                )
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', 'activo');
            $servicio_encurso = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->join('check_formulario_solicitudes', 'check_formulario_solicitudes.id', '=', 'asignacion_solicitudes.check_formulario_solicitudes_id')
                ->join('tracker', 'tracker.id', '=', 'api_solicitudes.tracker_idtracker')
                ->select(
                    'check_formulario_solicitudes.sSerie as serie',
                    'check_formulario_solicitudes.sSC as sc',
                    'check_formulario_solicitudes.sComuna as comuna',
                    'check_formulario_solicitudes.sRegion as region',
                    'check_formulario_solicitudes.sCliente as cliente',
                    'tracker.tipo_tracker as tipo',
                    'asignacion_solicitudes.id',
                    'api_solicitudes.proveedor_servicio as proveedor',
                    'api_solicitudes.sDescripcion as sDescripcion'

                )
                //TRANSITO
                ->where('api_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('api_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_encurso[]  = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select(
                    'checklist_instalacions.CsSerie as serie',
                    'checklist_instalacions.CsSc as sc',
                    'checklist_instalacions.Cscomuna as comuna',
                    'checklist_instalacions.Csregion as region',
                    'checklist_instalacions.Cscliente as cliente',
                    'asignacion_instalacions.tipo',
                    'asignacion_instalacions.id',
                    'instalacions.proveedor_instalacion as proveedor',
                    DB::raw("NULL as sDescripcion"),

                )
                ->where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                ->union($servicio_encurso)
                ->union($retiros_encurso)
                ->get();
        }
        $table = "";
        for ($i = 0; $i < count($instalacion_encurso); $i++) {
            foreach ($instalacion_encurso[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . $datos_trabajador[0]->nombre_uno . "" . $datos_trabajador[0]->apellido_uno . "</td>";
                $table .= "<td>" . $d1->tipo . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                if ($d1->tipo == "retiro") {
                    $table .= "<td>NO REGISTRA </td>";
                } else {
                    if ($d1->sc == "") {
                        $table .= "<td>NO REGISTRA </td>";
                    } else {
                        $table .= "<td>" . $d1->sc . "</td>";
                    }
                }
                $table .= "<td>" . $d1->sDescripcion . "</td>";

                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <form action="' . route('go.ChecklistRetiros') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                } else if ($d1->tipo == "instalacion") {
                    $table .=
                        '<td>
                        <form action="' . route('go.completando_check') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                } else if ($d1->tipo == "servicios") {
                    $table .=
                        '<td>
                        <form action="' . route('go.iniciarchecservicio') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . Crypt::encryptString($d1->id) . '" name="idAsig">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                }
                $table .= "</tr>";
            }
        }

        return $table;
    }
    /** FUNCION PARA REVISAR ATENCIONES RECHAZADAS TECNICO */
    public function revisar_rechazados_tecnico()
    {
        $datos_trabajador = DB::table('trabajadors')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select('trabajadors.id', 'personas.nombre_uno', 'personas.apellido_uno')
            ->where('trabajadors.id_login', '=', Auth::user()->id)
            ->get();

        $id_trabajador = $datos_trabajador[0]->id;

        $databases = $this->nombre_database();
        foreach ($databases as $los_datos) {

            //ESTADO PENDIENTE PARA TECNICO 
            $retiros_rechazados = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->select(
                    'checklist_retiros.csSerie as serie',
                    'retiros.nFolio as sc',
                    'checklist_retiros.csComuna as comuna',
                    'checklist_retiros.csRegion as region',
                    'checklist_retiros.Cscliente as cliente',
                    'asignacion_retiros.tipo',
                    'asignacion_retiros.id',
                    'retiros.proveedor_retiro as proveedor',
                    DB::raw("NULL as sDescripcion")

                )
                ->where('asignacion_retiros.trabajadors_idtecnico', '=', $id_trabajador)
                ->where('asignacion_retiros.estado_asignacion', '=', 'rechazado');
            $servicio_rechazados = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->join('check_formulario_solicitudes', 'check_formulario_solicitudes.id', '=', 'asignacion_solicitudes.check_formulario_solicitudes_id')
                ->join('tracker', 'tracker.id', '=', 'api_solicitudes.tracker_idtracker')
                ->select(
                    'check_formulario_solicitudes.sSerie as serie',
                    'check_formulario_solicitudes.sSC as sc',
                    'check_formulario_solicitudes.sComuna as comuna',
                    'check_formulario_solicitudes.sRegion as region',
                    'check_formulario_solicitudes.sCliente as cliente',
                    'tracker.tipo_tracker as tipo',
                    'asignacion_solicitudes.id',
                    'api_solicitudes.proveedor_servicio as proveedor',
                    'api_solicitudes.sDescripcion as sDescripcion'

                )
                ->where('api_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->where('api_solicitudes.estado_externo', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'RECHAZADO')
                ->where('asignacion_solicitudes.trabajadors_id', '=', $id_trabajador);
            $instalacion_rechazados[] = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->select(
                    'checklist_instalacions.CsSerie as serie',
                    'checklist_instalacions.CsSc as sc',
                    'checklist_instalacions.Cscomuna as comuna',
                    'checklist_instalacions.Csregion as region',
                    'checklist_instalacions.Cscliente as cliente',
                    'asignacion_instalacions.tipo',
                    'asignacion_instalacions.id',
                    'instalacions.proveedor_instalacion as proveedor',
                    DB::raw("NULL as sDescripcion")

                )
                ->Where('asignacion_instalacions.trabajadors_id', '=', $id_trabajador)
                ->where('asignacion_instalacions.estado_asignacion', '=', 'rechazado')
                ->union($retiros_rechazados)
                ->union($servicio_rechazados)
                ->get();
        }

        $table = "";
        for ($i = 0; $i < count($instalacion_rechazados); $i++) {
            foreach ($instalacion_rechazados[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . $datos_trabajador[0]->nombre_uno . "" . $datos_trabajador[0]->apellido_uno . "</td>";
                $table .= "<td>" . $d1->tipo . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->region . "</td>";
                $table .= "<td>" . $d1->comuna . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                if ($d1->tipo == "retiro") {
                    $table .= "<td>NO REGISTRA </td>";
                } else {
                    if ($d1->sc == "") {
                        $table .= "<td>NO REGISTRA </td>";
                    } else {
                        $table .= "<td>" . $d1->sc . "</td>";
                    }
                }
                $table .= "<td>" . $d1->sDescripcion . "</td>";

                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <form action="' . route('go.ChecklistRetiros') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                } else if ($d1->tipo == "instalacion") {
                    $table .=
                        '<td>
                        <form action="' . route('go.completando_check') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <form action="' . route('go.iniciarchecservicio') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . Crypt::encryptString($d1->id) . '" name="idAsig">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                }
                $table .= "</tr>";
            }
        }

        return $table;
    }
    /** FUNCION PARA REVISAR ATENCIONES POR ASIGNAR COORDINADOR  */
    public function revisar_porasignar()
    {
        $retiros_comtecglobal_pendientes = DB::connection('comtecglobal')->table('retiros')
            ->join('tracker', 'tracker.id', '=', 'retiros.tracker_id')
            ->select(
                'retiros.proveedor_retiro as proveedor',
                'tracker.tipo_tracker as tipo',
                'retiros.sCliente as cliente',
                'retiros.sRegion',
                'retiros.sComuna',
                'retiros.sSerie',
                'retiros.id'
            )
            ->where('retiros.estado_retiro_Cord', '=', 'Por Asignar');
        $instalacion_comtecglobal_pendientes = DB::connection('comtecglobal')->table('instalacions')
            ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
            ->select(
                'instalacions.proveedor_instalacion as proveedor',
                'tracker.tipo_tracker as tipo',
                'instalacions.sCliente as cliente',
                'instalacions.sRegion',
                'instalacions.sComuna',
                'instalacions.sSerie',
                'instalacions.id'
            )
            ->where('instalacions.sEstado_instalacion', 'like', '%Por Asignar%')
            ->union($retiros_comtecglobal_pendientes)
            ->get();
        $retiros_kyocera_pendientes = DB::connection('kyocera')->table('retiros')
            ->join('tracker', 'tracker.id', '=', 'retiros.tracker_id')
            ->select(
                'retiros.proveedor_retiro as proveedor',
                'tracker.tipo_tracker as tipo',
                'retiros.sCliente as cliente',
                'retiros.sRegion',
                'retiros.sComuna',
                'retiros.sSerie',
                'retiros.id'
            )
            ->where('retiros.estado_retiro_Cord', '=', 'Por Asignar');
        $instalacion_kyocera_pendientes = DB::connection('kyocera')->table('instalacions')
            ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
            ->select(
                'instalacions.proveedor_instalacion as proveedor',
                'tracker.tipo_tracker as tipo',
                'instalacions.sCliente as cliente',
                'instalacions.sRegion',
                'instalacions.sComuna',
                'instalacions.sSerie',
                'instalacions.id'
            )
            ->where('instalacions.sEstado_instalacion', 'like', '%Por Asignar%')
            ->union($retiros_kyocera_pendientes)
            ->get();

        $retiros_upgrade_pendientes = DB::connection('upgrade')->table('retiros')
            ->join('tracker', 'tracker.id', '=', 'retiros.tracker_id')
            ->select(
                'retiros.proveedor_retiro as proveedor',
                'tracker.tipo_tracker as tipo',
                'retiros.sCliente as cliente',
                'retiros.sRegion',
                'retiros.sComuna',
                'retiros.sSerie',
                'retiros.id'
            )
            ->where('retiros.estado_retiro_Cord', '=', 'Por Asignar');
        $instalacion_upgrade_pendientes = DB::connection('upgrade')->table('instalacions')
            ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
            ->select(
                'instalacions.proveedor_instalacion as proveedor',
                'tracker.tipo_tracker as tipo',
                'instalacions.sCliente as cliente',
                'instalacions.sRegion',
                'instalacions.sComuna',
                'instalacions.sSerie',
                'instalacions.id'
            )
            ->where('instalacions.sEstado_instalacion', 'like', '%Por Asignar%')
            ->union($retiros_upgrade_pendientes)
            ->get();

        $table = "";
        foreach ($instalacion_comtecglobal_pendientes as $d1) {
            $table .= "<tr>";
            $table .= "<td>"  . $d1->proveedor . "</td>";
            $table .= "<td>"  . $d1->tipo . "</td>";
            $table .= "<td>"  . $d1->cliente . "</td>";
            $table .= "<td>"  . $d1->sRegion . "</td>";
            $table .= "<td>"  . $d1->sComuna . "</td>";
            $table .= "<td>"  . $d1->sSerie . "</td>";
            if ($d1->tipo == "retiro") {
                $table .=
                    '<td> 
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn">Asignar</button>
                        </form> 
                    </td>';
            } else {
                $table .=
                    '<td> 
                    <form action="' . route('go.asignar_check_home') . '" method="GET">
                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                        <input type="hidden" value="' . $d1->id . '" name="id">
                        <button type="submit" class="btn">Asignar</button>
                    </form> 
                </td>';
            }
            $table .= "</tr>";
        }
        foreach ($instalacion_kyocera_pendientes as $d1) {
            $table .= "<tr>";
            $table .= "<td>" . $d1->proveedor . "</td>";
            $table .= "<td>"  . $d1->tipo . "</td>";
            $table .= "<td>"  . $d1->cliente . "</td>";
            $table .= "<td>"  . $d1->sRegion . "</td>";
            $table .= "<td>"  . $d1->sComuna . "</td>";
            $table .= "<td>"  . $d1->sSerie . "</td>";
            if ($d1->tipo == "retiro") {
                $table .=
                    '<td> 
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn">Asignar</button>
                        </form> 
                    </td>';
            } else {
                $table .=
                    '<td> 
                    <form action="' . route('go.asignar_check_home') . '" method="GET">
                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                        <input type="hidden" value="' . $d1->id . '" name="id">
                        <button type="submit" class="btn">Asignar</button>
                    </form> 
                </td>';
            }
            $table .= "</tr>";
        }
        foreach ($instalacion_upgrade_pendientes as $d1) {
            $table .= "<tr>";
            $table .= "<td>" . $d1->proveedor . "</td>";
            $table .= "<td>"  . $d1->tipo . "</td>";
            $table .= "<td>"  . $d1->cliente . "</td>";
            $table .= "<td>"  . $d1->sRegion . "</td>";
            $table .= "<td>"  . $d1->sComuna . "</td>";
            $table .= "<td>"  . $d1->sSerie . "</td>";
            if ($d1->tipo == "retiro") {
                $table .=
                    '<td> 
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn">Asignar</button>
                        </form> 
                    </td>';
            } else {
                $table .=
                    '<td> 
                    <form action="' . route('go.asignar_check_home') . '" method="GET">
                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                        <input type="hidden" value="' . $d1->id . '" name="id">
                        <button type="submit" class="btn">Asignar</button>
                    </form> 
                </td>';
            }
            $table .= "</tr>";
        }
        return $table;
    }

    public function revisar_pendientes_coordinador()
    {
        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {
            //ESTADO PENDIENTE PARA TECNICO 
            $retiros_pendientes = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
                ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
                ->select(
                    'checklist_retiros.csSerie as serie',
                    'checklist_retiros.csComuna as comuna',
                    'checklist_retiros.csRegion as region',
                    'checklist_retiros.Cscliente as cliente',
                    'asignacion_retiros.tipo',
                    'asignacion_retiros.id',
                    'retiros.proveedor_retiro as proveedor',
                    'retiros.id as id_historial',
                    'retiros.fecha_retiroCord as fecha',
                    'personas.nombre_uno',
                    'personas.apellido_uno'
                )
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', null)->groupBy('checklist_retiros.CsSerie');
            $instalacion_pendientes[] = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
                ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
                ->select(
                    'checklist_instalacions.CsSerie as serie',
                    'checklist_instalacions.Cscomuna as comuna',
                    'checklist_instalacions.Csregion as region',
                    'checklist_instalacions.Cscliente as cliente',
                    'asignacion_instalacions.tipo',
                    'asignacion_instalacions.id',
                    'instalacions.proveedor_instalacion as proveedor',
                    'instalacions.id as id_historial',
                    'instalacions.fecha_instalacion_coordinadora as fecha',
                    'personas.nombre_uno',
                    'personas.apellido_uno'
                )
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', null)->groupBy('checklist_instalacions.CsSerie')

                ->union($retiros_pendientes)
                ->get();
        }
        $table = "";
        $num_r = "";
        $num_i = "";
        for ($i = 0; $i < count($instalacion_pendientes); $i++) {
            foreach ($instalacion_pendientes[$i] as $d1) {
                if ($d1->proveedor == "comtecglobal" || $d1->proveedor == "COMTECGLOBAL") {
                    $num_i = 1;
                }
                if ($d1->proveedor == "kyocera") {
                    $num_r = 1;
                    $num_i = 2;
                }
                if ($d1->proveedor == "upgrade") {
                    $num_i = 3;
                }
                if ($d1->fecha != "") {
                    $fecha = Carbon::createFromDate($d1->fecha)->format('d-m-Y');
                } else {
                    $fecha = "NO REGISTRA";
                }
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $fecha . "</td>";
                $table .= "<td>" . $d1->tipo . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->region . "</td>";
                $table .= "<td>" . $d1->comuna . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";
          
                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_retirocordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_retiro(' . $d1->id_historial . ',' . $num_r . ');" class="btn ver_historial_instalacion_home">
                                        <span class="material-icons">history</span>                                    
                                    </a>
                                </div>
                            </div>
                        </div
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.finalizamanual_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">   
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                check_circle_outline
                                            </span>
                                        </button>
                                    </form>
                                    <form action="' . route('go.ver_check_cordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_instalacion(' . $d1->id_historial . ',' . $num_i . ');" class="btn ver_historial_instalacion_home">
                                        <span class="material-icons">history</span>                                    
                                    </a>
                                </div>
                            </div>
                        </div
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function revisar_encurso_coordinador()
    {
        $databases = $this->nombre_database();

        //ESTADO ENCURSO 
        foreach ($databases as $los_datos) {
            $retiros_encurso = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
                ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
                ->select(
                    'checklist_retiros.csSerie as serie',
                    'checklist_retiros.fecha_inicio as fecha',
                    'checklist_retiros.csComuna as comuna',
                    'checklist_retiros.csRegion as region',
                    'checklist_retiros.Cscliente as cliente',
                    'asignacion_retiros.tipo',
                    'asignacion_retiros.id',
                    'retiros.proveedor_retiro as proveedor',
                    'retiros.id as id_historial',
                    'personas.nombre_uno',
                    'personas.apellido_uno',
                    'asignacion_retiros.fecha_asignado',
                )
                ->where('asignacion_retiros.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_retiros.estado_inicio', '=', 'activo');
            $instalacion_encurso[]  = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
                ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
                ->select(
                    'checklist_instalacions.CsSerie as serie',
                    'checklist_instalacions.fecha_inicio as fecha',
                    'checklist_instalacions.Cscomuna as comuna',
                    'checklist_instalacions.Csregion as region',
                    'checklist_instalacions.Cscliente as cliente',
                    'asignacion_instalacions.tipo',
                    'asignacion_instalacions.id',
                    'instalacions.proveedor_instalacion as proveedor',
                    'instalacions.id as id_historial',
                    'personas.nombre_uno',
                    'personas.apellido_uno',
                    'asignacion_instalacions.fecha_asignado',
                )
                ->where('asignacion_instalacions.estado_asignacion', '=', 'tarea_asignada')
                ->where('checklist_instalacions.estado_inicio', '=', 'activo')
                ->union($retiros_encurso)
                ->get();
        }
        $table = "";
        $num_r = "";
        $num_i = "";
        for ($i = 0; $i < count($instalacion_encurso); $i++) {
            foreach ($instalacion_encurso[$i]  as $d1) {
                if ($d1->proveedor == "comtecglobal") {
                    $num_i = 1;
                }
                if ($d1->proveedor == "kyocera") {
                    $num_r = 1;
                    $num_i = 2;
                }
                if ($d1->proveedor == "upgrade") {
                    $num_i = 3;
                }
                $fecha = Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s');
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $fecha . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";
                
                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_retirocordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_retiro(' . $d1->id_historial . ',' . $num_r . ');" class="btn ver_historial_instalacion_home">
                                        <span class="material-icons">history</span>                                    
                                    </a>
                                </div>
                            </div>
                        </div
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.finalizamanual_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">   
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                check_circle_outline
                                            </span>
                                        </button>
                                    </form>
                                    <form action="' . route('go.ver_check_cordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_instalacion(' . $d1->id_historial . ',' . $num_i . ');" class="btn ver_historial_instalacion_home">
                                    <span class="material-icons">history</span>                                    
                                </a>
                                </div>
                            </div>
                        </div
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function revisar_porreasignar_coordinador()
    {
        $datos_trabajador = DB::table('trabajadors')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select('trabajadors.id', 'personas.nombre_uno', 'personas.apellido_uno')
            ->where('trabajadors.id_login', '=', Auth::user()->id)
            ->get();

        $id_trabajador = $datos_trabajador[0]->id;

        //ESTADO PORREASIGNAR PARA COORDINADOR 
        $retiros_comtecglobal_encurso = DB::connection('comtecglobal')->table('asignacion_retiros')
            ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
            ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_retiros.csSerie as serie',
                'checklist_retiros.csComuna as comuna',
                'checklist_retiros.csRegion as region',
                'checklist_retiros.Cscliente as cliente',
                'asignacion_retiros.tipo',
                'asignacion_retiros.id',
                'retiros.proveedor_retiro as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_retiros.fecha_asignado',
            )
            ->where('asignacion_retiros.estado_asignacion', '=', 'reasignar');
        $instalacion_comtecglobal_encurso  = DB::connection('comtecglobal')->table('asignacion_instalacions')
            ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
            ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_instalacions.CsSerie as serie',
                'checklist_instalacions.Cscomuna as comuna',
                'checklist_instalacions.Csregion as region',
                'checklist_instalacions.Cscliente as cliente',
                'asignacion_instalacions.tipo',
                'asignacion_instalacions.id',
                'instalacions.proveedor_instalacion as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_instalacions.fecha_asignado',
            )
            ->where('asignacion_instalacions.estado_asignacion', '=', 'reasignar')
            ->where('instalacions.sEstado_instalacion', '=', 'reasignar')
            ->union($retiros_comtecglobal_encurso)
            ->get();
        $retiros_kyocera_encurso  = DB::connection('kyocera')->table('asignacion_retiros')
            ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
            ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_retiros.csSerie as serie',
                'checklist_retiros.csComuna as comuna',
                'checklist_retiros.csRegion as region',
                'checklist_retiros.Cscliente as cliente',
                'asignacion_retiros.tipo',
                'asignacion_retiros.id',
                'retiros.proveedor_retiro as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_retiros.fecha_asignado',
            )
            ->where('asignacion_retiros.estado_asignacion', '=', 'reasignar');
        $instalacion_kyocera_encurso  = DB::connection('kyocera')->table('asignacion_instalacions')
            ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
            ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_instalacions.CsSerie as serie',
                'checklist_instalacions.Cscomuna as comuna',
                'checklist_instalacions.Csregion as region',
                'checklist_instalacions.Cscliente as cliente',
                'asignacion_instalacions.tipo',
                'asignacion_instalacions.id',
                'instalacions.proveedor_instalacion as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_instalacions.fecha_asignado',
            )
            ->where('asignacion_instalacions.estado_asignacion', '=', 'reasignar')
            ->where('instalacions.sEstado_instalacion', '=', 'reasignar')
            ->union($retiros_kyocera_encurso)
            ->get();

        $retiros_upgrade_encurso  = DB::connection('upgrade')->table('asignacion_retiros')
            ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
            ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_retiros.csSerie as serie',
                'checklist_retiros.csComuna as comuna',
                'checklist_retiros.csRegion as region',
                'checklist_retiros.Cscliente as cliente',
                'asignacion_retiros.tipo',
                'asignacion_retiros.id',
                'retiros.proveedor_retiro as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_retiros.fecha_asignado',
            )
            ->where('asignacion_retiros.estado_asignacion', '=', 'reasignar');
        $instalacion_upgrade_encurso  = DB::connection('upgrade')->table('asignacion_instalacions')
            ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
            ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_instalacions.CsSerie as serie',
                'checklist_instalacions.Cscomuna as comuna',
                'checklist_instalacions.Csregion as region',
                'checklist_instalacions.Cscliente as cliente',
                'asignacion_instalacions.tipo',
                'asignacion_instalacions.id',
                'instalacions.proveedor_instalacion as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_instalacions.fecha_asignado',
            )
            ->where('asignacion_instalacions.estado_asignacion', '=', 'reasignar')
            ->where('instalacions.sEstado_instalacion', '=', 'reasignar')
            ->union($retiros_upgrade_encurso)
            ->get();

        $table = "";
        foreach ($instalacion_comtecglobal_encurso  as $d1) {
            $fecha = Carbon::createFromDate($d1->fecha_asignado)->format('d-m-y');
            $table .= "<tr>";
            $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $d1->cliente  . "</td>";
            $table .= "<td>" . $d1->serie . "</td>";
            if ($d1->tipo == "retiro") {
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
            } else {
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
            }
            $table .= "</tr>";
        }
        foreach ($instalacion_kyocera_encurso  as $d1) {
            $fecha = Carbon::createFromDate($d1->fecha_asignado)->format('d-m-y');
            $table .= "<tr>";
            $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $d1->cliente . "</td>";
            $table .= "<td>" . $d1->serie . "</td>";
            $table .= "<td>" . $d1->proveedor . "</td>";
            
            if ($d1->tipo == "retiro") {
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
            } else {
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
            }
            $table .= "</tr>";
        }
        foreach ($instalacion_upgrade_encurso  as $d1) {
            $fecha = Carbon::createFromDate($d1->fecha_asignado)->format('d-m-y');
            $table .= "<tr>";
            $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $d1->cliente . "</td>";
            $table .= "<td>" . $d1->serie . "</td>";
            if ($d1->tipo == "retiro") {
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
            } else {
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
            }
            $table .= "</tr>";
        }
        return $table;
    }
    public function revisar_porrevisar_coordinador()
    {

        $databases = $this->nombre_database();

        //ESTADO ENCURSO 
        foreach ($databases as $los_datos) {
            $retiros_encurso = DB::connection(strtolower($los_datos->Database))->table('asignacion_retiros')
                ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
                ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
                ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
                ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
                ->select(
                    'checklist_retiros.csSerie as serie',
                    'checklist_retiros.fecha_inicio as fecha',
                    'checklist_retiros.csComuna as comuna',
                    'checklist_retiros.csRegion as region',
                    'checklist_retiros.Cscliente as cliente',
                    'asignacion_retiros.tipo',
                    'asignacion_retiros.id',
                    'retiros.proveedor_retiro as proveedor',
                    'retiros.id as id_historial',
                    'personas.nombre_uno',
                    'personas.apellido_uno',
                    'asignacion_retiros.fecha_asignado',
                )
                ->where('asignacion_retiros.estado_asignacion', '=', 'revisar');
            // ->where('checklist_retiros.estado_inicio', '=', 'revisar');
            $instalacion_encurso[]  = DB::connection(strtolower($los_datos->Database))->table('asignacion_instalacions')
                ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
                ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
                ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
                ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
                ->select(
                    'checklist_instalacions.CsSerie as serie',
                    'checklist_instalacions.fecha_inicio as fecha',
                    'checklist_instalacions.Cscomuna as comuna',
                    'checklist_instalacions.Csregion as region',
                    'checklist_instalacions.Cscliente as cliente',
                    'asignacion_instalacions.tipo',
                    'asignacion_instalacions.id',
                    'instalacions.proveedor_instalacion as proveedor',
                    'instalacions.id as id_historial',
                    'personas.nombre_uno',
                    'personas.apellido_uno',
                    'asignacion_instalacions.fecha_asignado',
                )
                ->where('asignacion_instalacions.estado_asignacion', '=', 'revisar')
                ->where('instalacions.sEstado_instalacion', '=', 'revisar')
                ->union($retiros_encurso)
                ->get();
        }
        $table = "";
        $num_r = "";
        $num_i = "";
        for ($i = 0; $i < count($instalacion_encurso); $i++) {
            foreach ($instalacion_encurso[$i]  as $d1) {
                if ($d1->proveedor == "comtecglobal") {
                    $num_i = 1;
                }
                if ($d1->proveedor == "kyocera") {
                    $num_r = 1;
                    $num_i = 2;
                }
                if ($d1->proveedor == "upgrade") {
                    $num_i = 3;
                }
                $fecha = Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s');
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $fecha . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                
                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_retirocordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_retiro(' . $d1->id_historial . ',' . $num_r . ');" class="btn ver_historial_instalacion_home">
                                        <span class="material-icons">history</span>                                    
                                    </a>
                                </div>
                            </div>
                        </div
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_cordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_instalacion(' . $d1->id_historial . ',' . $num_i . ');" class="btn ver_historial_instalacion_home">
                                    <span class="material-icons">history</span>                                    
                                </a>
                                </div>
                            </div>
                        </div
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function seguimiento(request $request)
    {
        $serie = $request->serie;

        $retiros_comtecglobal_seguimiento = DB::connection('comtecglobal')->table('asignacion_retiros')
            ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
            ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_retiros.csSerie as serie',
                'checklist_retiros.csComuna as comuna',
                'checklist_retiros.csRegion as region',
                'checklist_retiros.Cscliente as cliente',
                'asignacion_retiros.tipo',
                'asignacion_retiros.id',
                'retiros.proveedor_retiro as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_retiros.fecha_asignado',
                'retiros.sEstado as estado',
                'checklist_retiros.estado_inicio'
            )
            ->where('checklist_retiros.csSerie', '=', $serie);
        $instalacion_comtecglobal_seguimiento  = DB::connection('comtecglobal')->table('asignacion_instalacions')
            ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
            ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_instalacions.CsSerie as serie',
                'checklist_instalacions.Cscomuna as comuna',
                'checklist_instalacions.Csregion as region',
                'checklist_instalacions.Cscliente as cliente',
                'asignacion_instalacions.tipo',
                'asignacion_instalacions.id',
                'instalacions.proveedor_instalacion as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_instalacions.fecha_asignado',
                'instalacions.sEstado_instalacion as estado',
                'checklist_instalacions.estado_inicio'
            )
            ->where('checklist_instalacions.CsSerie', '=', $serie)
            ->orwhere('checklist_instalacions.CsSerie_es', '=', $serie)
            ->union($retiros_comtecglobal_seguimiento)
            ->orderBy('id', 'desc')
            ->get();
        $retiros_kyocera_seguimiento  = DB::connection('kyocera')->table('asignacion_retiros')
            ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
            ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_retiros.csSerie as serie',
                'checklist_retiros.csComuna as comuna',
                'checklist_retiros.csRegion as region',
                'checklist_retiros.Cscliente as cliente',
                'asignacion_retiros.tipo',
                'asignacion_retiros.id',
                'retiros.proveedor_retiro as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_retiros.fecha_asignado',
                'retiros.sEstado as estado',
                'checklist_retiros.estado_inicio'
            )
            ->where('checklist_retiros.csSerie', '=', $serie);
        $instalacion_kyocera_seguimiento  = DB::connection('kyocera')->table('asignacion_instalacions')
            ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
            ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_instalacions.CsSerie as serie',
                'checklist_instalacions.Cscomuna as comuna',
                'checklist_instalacions.Csregion as region',
                'checklist_instalacions.Cscliente as cliente',
                'asignacion_instalacions.tipo',
                'asignacion_instalacions.id',
                'instalacions.proveedor_instalacion as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_instalacions.fecha_asignado',
                'instalacions.sEstado_instalacion as estado',
                'checklist_instalacions.estado_inicio'
            )
            ->where('checklist_instalacions.CsSerie', '=', $serie)
            ->orwhere('checklist_instalacions.CsSerie_es', '=', $serie)
            ->union($retiros_kyocera_seguimiento)
            ->orderBy('id', 'desc')
            ->take(1)
            ->get();

        $retiros_upgrade_seguimiento  = DB::connection('upgrade')->table('asignacion_retiros')
            ->join('checklist_retiros', 'checklist_retiros.asignacion_retiros_id', '=', 'asignacion_retiros.id')
            ->join('retiros', 'retiros.id', '=', 'asignacion_retiros.retiros_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_retiros.trabajadors_idtecnico')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_retiros.csSerie as serie',
                'checklist_retiros.csComuna as comuna',
                'checklist_retiros.csRegion as region',
                'checklist_retiros.Cscliente as cliente',
                'asignacion_retiros.tipo',
                'asignacion_retiros.id',
                'retiros.proveedor_retiro as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_retiros.fecha_asignado',
                'retiros.sEstado as estado',
                'checklist_retiros.estado_inicio'
            )
            ->where('checklist_retiros.csSerie', '=', $serie);
        $instalacion_upgrade_seguimiento  = DB::connection('upgrade')->table('asignacion_instalacions')
            ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
            ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'checklist_instalacions.CsSerie as serie',
                'checklist_instalacions.Cscomuna as comuna',
                'checklist_instalacions.Csregion as region',
                'checklist_instalacions.Cscliente as cliente',
                'asignacion_instalacions.tipo',
                'asignacion_instalacions.id',
                'instalacions.proveedor_instalacion as proveedor',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_instalacions.fecha_asignado',
                'instalacions.sEstado_instalacion as estado',
                'checklist_instalacions.estado_inicio'
            )
            ->where('checklist_instalacions.CsSerie', '=', $serie)
            ->orwhere('checklist_instalacions.CsSerie_es', '=', $serie)
            ->union($retiros_upgrade_seguimiento)
            ->take(1)
            ->orderBy('id', 'desc')
            ->get();

        $table = "";
        foreach ($instalacion_comtecglobal_seguimiento as $d1) {
            $estado = $d1->estado;
            $estado_inicio = $d1->estado_inicio;
            $table .= "<tr>";
            $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
            $table .= "<td>" . $d1->fecha_asignado . "</td>";
            $table .= "<td>" . $d1->cliente . "</td>";
            $table .= "<td>" . $d1->region . "</td>";
            $table .= "<td>" . $d1->comuna . "</td>";
            $table .= "<td>" . $d1->serie . "</td>";
            $table .= "<td>" . $d1->tipo . "</td>";
            $table .= "</tr>";
        }
        foreach ($instalacion_kyocera_seguimiento  as $d1) {
            $estado = $d1->estado;
            $estado_inicio = $d1->estado_inicio;
            $table .= "<tr>";
            $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
            $table .= "<td>" . $d1->fecha_asignado . "</td>";
            $table .= "<td>" . $d1->cliente . "</td>";
            $table .= "<td>" . $d1->region . "</td>";
            $table .= "<td>" . $d1->comuna . "</td>";
            $table .= "<td>" . $d1->serie . "</td>";
            $table .= "<td>" . $d1->tipo . "</td>";
            $table .= "</tr>";
        }
        foreach ($instalacion_upgrade_seguimiento  as $d1) {
            $estado = $d1->estado;
            $estado_inicio = $d1->estado_inicio;
            $table .= "<tr>";
            $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
            $table .= "<td>" . $d1->fecha_asignado . "</td>";
            $table .= "<td>" . $d1->cliente . "</td>";
            $table .= "<td>" . $d1->region . "</td>";
            $table .= "<td>" . $d1->comuna . "</td>";
            $table .= "<td>" . $d1->serie . "</td>";
            $table .= "<td>" . $d1->tipo . "</td>";
            $table .= "</tr>";
        }

        $array_[] = array(
            "table" => $table,
            "estado" => $estado,
            "estado_inicio" => $estado_inicio
        );
        return $array_;
    }
    public function filtro_pendiente(request $request)
    {
        //$tables = DB::select('SHOW DATABASES');
        //return ($tables);
        $cliente = $request->cliente;
        $tipo = $request->tipo_a;
        $tecnico = $request->tecnico;
        $proveedor_ap = $request->proveedor_ap;

        $where  = 'asignacion_instalacions.estado_asignacion = ' . '"' . 'tarea_asignada' . '"';
         $where = $where . ' and instalacions.sEstado_instalacion = ' . '"' . 'asignado' . '"';

        $where_r  = 'asignacion_retiros.estado_asignacion = ' . '"' . 'tarea_asignada' . '"';
         $where_r = $where_r . ' and retiros.estado_retiro_Cord = ' . '"' . 'asignado' . '"';

        if ($cliente != "" || $cliente != null) {
            $where = $where . ' and clientes.id = ' . $cliente;
            $where_r = $where_r . ' and clientes.id = ' . $cliente;
        }
        if ($tipo != "" || $tipo != null) {
            $where = $where . ' and asignacion_instalacions.tipo = ' . '"' . $tipo . '"';
            $where_r = $where_r . ' and asignacion_retiros.tipo = ' . '"' . $tipo . '"';
        }
        if ($tecnico != "" || $tecnico != null) {
            $where = $where . ' and  asignacion_instalacions.trabajadors_id = ' . $tecnico;
            $where_r = $where_r . ' and  asignacion_retiros.trabajadors_idtecnico = ' . $tecnico;
        }
        if ($proveedor_ap != "" || $proveedor_ap != null) {
            $where = $where . ' and  instalacions.proveedor_instalacion = ' .'"' . $proveedor_ap . '"';
            $where_r = $where_r . ' and  retiros.proveedor_retiro = ' .'"' . $proveedor_ap . '"';
        }
        
        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {
            $datos_asignacion[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT  
                checklist_retiros.csSerie as serie,
                checklist_retiros.csComuna as comuna,
                checklist_retiros.csRegion as region,
                checklist_retiros.Cscliente as cliente,
                asignacion_retiros.tipo,
                asignacion_retiros.id,
                retiros.proveedor_retiro as proveedor,
                retiros.id as id_historial,
                personas.nombre_uno,
                personas.apellido_uno,
                retiros.fecha_retiroCord as fecha

            FROM  
                asignacion_retiros
            INNER JOIN  
                checklist_retiros on checklist_retiros.asignacion_retiros_id = asignacion_retiros.id 
            INNER JOIN  
                retiros on retiros.id = asignacion_retiros.retiros_id 
            INNER JOIN 
                trabajadors on trabajadors.id = asignacion_retiros.trabajadors_idtecnico
            INNER JOIN 
                personas on personas.id = trabajadors.id_persona
            LEFT JOIN 
                tracker on tracker.id = retiros.tracker_id
            LEFT JOIN 
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN 
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where_r  .
                    ' union ' .
                    'SELECT
                checklist_instalacions.CsSerie as serie,
                checklist_instalacions.Cscomuna as comuna,
                checklist_instalacions.Csregion as region,
                checklist_instalacions.Cscliente as cliente,
                asignacion_instalacions.tipo,
                asignacion_instalacions.id,
                instalacions.proveedor_instalacion as proveedor,
                instalacions.id as id_historial,
                personas.nombre_uno,
                personas.apellido_uno,
                instalacions.fecha_instalacion_coordinadora as fecha

            FROM
                asignacion_instalacions
            INNER JOIN
                checklist_instalacions on checklist_instalacions.asignacion_instalacion_retiro_id = asignacion_instalacions.id 
            INNER JOIN
                instalacions on instalacions.id = asignacion_instalacions.lista_instalacion_id
            INNER JOIN   
                trabajadors on trabajadors.id = asignacion_instalacions.trabajadors_id
            INNER JOIN
                personas on personas.id = trabajadors.id_persona 
            LEFT JOIN
                tracker on tracker.id = instalacions.tracker_idtracker
            LEFT JOIN
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where
            );
        }

        $table = "";
        $num_r = "";
        $num_i = "";
        for ($i = 0; $i < count($datos_asignacion); $i++) {
            foreach ($datos_asignacion[$i] as $d1) {
                if ($d1->proveedor == "comtecglobal") {
                    $num_i = 1;
                }
                if ($d1->proveedor == "kyocera") {
                    $num_r = 1;
                    $num_i = 2;
                }
                if ($d1->proveedor == "upgrade") {
                    $num_i = 3;
                }
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $d1->fecha . "</td>";
                $table .= "<td>" . $d1->tipo . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->region . "</td>";
                $table .= "<td>" . $d1->comuna . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_retirocordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_retiro(' . $d1->id_historial . ',' . $num_r . ');" class="btn ver_historial_instalacion_home">
                                        <span class="material-icons">history</span>                                    
                                    </a>
                                </div>
                            </div>
                        </div
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.finalizamanual_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">   
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                check_circle_outline
                                            </span>
                                        </button>
                                    </form>
                                    <form action="' . route('go.ver_check_cordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                    <a role="button" title="Historial" onclick="historial_instalacion(' . $d1->id_historial . ',' . $num_i . ');" class="btn ver_historial_instalacion_home">
                                        <span class="material-icons">history</span>                                    
                                    </a>
                                </div>
                            </div>
                        </div
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    private function nombre_database()
    {
        $tables = DB::select('SHOW DATABASES WHERE `Database` NOT LIKE ' . '"' . '%max%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%aya%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%schema%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%php%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%prueba%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%admin%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%fusion%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%sql%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%probando%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%soporte%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%sys%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%13octubre%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%nueva%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%rendicion%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%test%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%web%' . '"' . ' AND `Database` NOT LIKE ' . '"' . '%ofimundo%' . '"');
        return $tables;
    }
    //FILTRO POR ASIGNAR COORDINADOR
    public function filtro_porasignar(request $request)
    {
        $databases = $this->nombre_database();
        $cliente = $request->cliente;
        $tipo = $request->tipo_a;
        $proveedor_ap_asig = $request->proveedor_ap_asig;

        $where  = 'instalacions.sEstado_instalacion like ' . '"%' . 'Por asignar' . '%"';
        $where_r  = 'retiros.estado_retiro_Cord = ' . '"' . 'Por asignar' . '"';

        if ($cliente != "" || $cliente != null) {
            $where = $where . ' and instalacions.sCliente = ' . '"' . $cliente . '"';
            $where_r = $where_r . ' and retiros.sCliente = ' . '"' . $cliente . '"';
        }
        if ($tipo != "" || $tipo != null) {
            $where = $where . ' and tracker.tipo_tracker = ' . '"' . $tipo . '"';
            $where_r = $where_r . ' and tracker.tipo_tracker = ' . '"' . $tipo . '"';
        }
        if ($proveedor_ap_asig != "" || $proveedor_ap_asig != null) {
            $where = $where . ' and instalacions.proveedor_instalacion = ' . '"' . $proveedor_ap_asig . '"';
            $where_r = $where_r . ' and retiros.proveedor_retiro = ' . '"' . $proveedor_ap_asig . '"';
        }
        foreach ($databases as $los_datos) {
            $datos_asignacion[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT  
                retiros.proveedor_retiro as proveedor,
                tracker.tipo_tracker as tipo,
                retiros.sCliente as cliente,
                retiros.sRegion,
                retiros.sComuna,
                retiros.sSerie,
                retiros.id
                FROM  
                    retiros
                INNER JOIN  
                    tracker on tracker.id = retiros.tracker_id 
                WHERE ' . $where_r  .
                    ' union ' .
                    'SELECT
                instalacions.proveedor_instalacion as proveedor,
                tracker.tipo_tracker as tipo,
                instalacions.sCliente as cliente,
                instalacions.sRegion,
                instalacions.sComuna,
                instalacions.sSerie,
                instalacions.id
                FROM
                    instalacions
                INNER JOIN
                    tracker on tracker.id = instalacions.tracker_idtracker 
                WHERE ' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($datos_asignacion); $i++) {
            foreach ($datos_asignacion[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . $d1->proveedor . "</td>";
                $table .= "<td>" . $d1->tipo . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->sRegion . "</td>";
                $table .= "<td>" . $d1->sComuna . "</td>";
                $table .= "<td>" . $d1->sSerie . "</td>";
                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td> 
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn">Asignar</button>
                        </form> 
                    </td>';
                } else {
                    $table .=
                        '<td> 
                    <form action="' . route('go.asignar_check_home') . '" method="GET">
                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                        <input type="hidden" value="' . $d1->id . '" name="id">
                        <button type="submit" class="btn">Asignar</button>
                    </form> 
                </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_encurso(request $request)
    {
        $databases = $this->nombre_database();
        $cliente = $request->cliente;
        $tipo = $request->tipo_a;
        $tecnico = $request->tecnico;
        $proveedor_encurso = $request->proveedor_encurso;

        $where  = 'asignacion_instalacions.estado_asignacion = ' . '"' . 'Tarea_asignada' . '" and checklist_instalacions.estado_inicio = ' . '"' . 'activo' . '" ';
        $where_r  = 'asignacion_retiros.estado_asignacion = ' . '"' . 'Tarea_asignada' . '" and checklist_retiros.estado_inicio = ' . '"' . 'activo' . '" ';

        if ($cliente != "" || $cliente != null) {
            $where = $where . ' and clientes.id = ' . $cliente;
            $where_r = $where_r . ' and clientes.id = ' . $cliente;
        }
        if ($tipo != "" || $tipo != null) {
            $where = $where . ' and asignacion_instalacions.tipo = ' . '"' . $tipo . '"';
            $where_r = $where_r . ' and asignacion_retiros.tipo = ' . '"' . $tipo . '"';
        }
        if ($tecnico != "" || $tecnico != null) {
            $where = $where . ' and  asignacion_instalacions.trabajadors_id = ' . $tecnico;
            $where_r = $where_r . ' and  asignacion_retiros.trabajadors_idtecnico = ' . $tecnico;
        }
        if ($proveedor_encurso != "" || $proveedor_encurso != null) {
            $where = $where . ' and  instalacions.proveedor_instalacion  = ' . '"' . $proveedor_encurso . '"';
            $where_r = $where_r . ' and  retiros.proveedor_retiro = ' . '"' . $proveedor_encurso . '"';
        }


        foreach ($databases as $los_datos) {
            $datos_asignacion[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT  
                checklist_retiros.csSerie as serie,
                checklist_retiros.fecha_inicio as fecha,
                checklist_retiros.csComuna as comuna,
                checklist_retiros.csRegion as region,
                checklist_retiros.Cscliente as cliente,
                asignacion_retiros.tipo,
                asignacion_retiros.id,
                retiros.proveedor_retiro as proveedor,
                personas.nombre_uno,
                personas.apellido_uno,
                asignacion_retiros.fecha_asignado
            FROM  
                asignacion_retiros
            INNER JOIN  
                checklist_retiros on checklist_retiros.asignacion_retiros_id = asignacion_retiros.id 
            INNER JOIN  
                retiros on retiros.id = asignacion_retiros.retiros_id 
            INNER JOIN 
                trabajadors on trabajadors.id = asignacion_retiros.trabajadors_idtecnico
            INNER JOIN 
                personas on personas.id = trabajadors.id_persona
            LEFT JOIN 
                tracker on tracker.id = retiros.tracker_id
            LEFT JOIN 
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN 
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where_r  .
                    ' union ' .
                    'SELECT
                checklist_instalacions.CsSerie as serie,
                checklist_instalacions.fecha_inicio as fecha,
                checklist_instalacions.Cscomuna as comuna,
                checklist_instalacions.Csregion as region,
                checklist_instalacions.Cscliente as cliente,
                asignacion_instalacions.tipo,
                asignacion_instalacions.id,
                instalacions.proveedor_instalacion as proveedor,
                personas.nombre_uno,
                personas.apellido_uno,
                asignacion_instalacions.fecha_asignado
            FROM
                asignacion_instalacions
            INNER JOIN
                checklist_instalacions on checklist_instalacions.asignacion_instalacion_retiro_id = asignacion_instalacions.id 
            INNER JOIN
                instalacions on instalacions.id = asignacion_instalacions.lista_instalacion_id
            INNER JOIN   
                trabajadors on trabajadors.id = asignacion_instalacions.trabajadors_id
            INNER JOIN
                personas on personas.id = trabajadors.id_persona 
            LEFT JOIN
                tracker on tracker.id = instalacions.tracker_idtracker
            LEFT JOIN
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($datos_asignacion); $i++) {
            foreach ($datos_asignacion[$i] as $d1) {
                $fecha = Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s');
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $fecha . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_retirocordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                </div>
                            </div>
                        </div
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.finalizamanual_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">   
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                check_circle_outline
                                            </span>
                                        </button>
                                    </form>
                                    <form action="' . route('go.ver_check_cordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                </div>
                            </div>
                        </div
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_porrevisar(request $request)
    {
        $cliente = $request->cliente;
        $tipo = $request->tipo_a;
        $tecnico = $request->tecnico;
        $proveedor_por_rev = $request->proveedor_por_rev;

        
        $databases = $this->nombre_database();

        $where  = 'asignacion_instalacions.estado_asignacion = ' . '"' . 'revisar' . '" and instalacions.sEstado_instalacion = ' . '"' . 'revisar' . '" ';
        $where_r  = 'asignacion_retiros.estado_asignacion = ' . '"' . 'revisar' . '"';

        if ($cliente != "" || $cliente != null) {
            $where = $where . ' and clientes.id = ' . $cliente;
            $where_r = $where_r . ' and clientes.id = ' . $cliente;
        }
        if ($tipo != "" || $tipo != null) {
            $where = $where . ' and asignacion_instalacions.tipo = ' . '"' . $tipo . '"';
            $where_r = $where_r . ' and asignacion_retiros.tipo = ' . '"' . $tipo . '"';
        }
        if ($tecnico != "" || $tecnico != null) {
            $where = $where . ' and  asignacion_instalacions.trabajadors_id = ' . $tecnico;
            $where_r = $where_r . ' and  asignacion_retiros.trabajadors_idtecnico = ' . $tecnico;
        }

        if ($proveedor_por_rev != "" || $proveedor_por_rev != null) {
            $where = $where . ' and  instalacions.proveedor_instalacion = ' . '"' . $proveedor_por_rev . '"';
            $where_r = $where_r . ' and  retiros.proveedor_retiro = ' . '"' . $proveedor_por_rev . '"';
        }
        foreach ($databases as $los_datos) {
            $datos_asignacion[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT  
                checklist_retiros.csSerie as serie,
                checklist_retiros.fecha_inicio as fecha,
                checklist_retiros.csComuna as comuna,
                checklist_retiros.csRegion as region,
                checklist_retiros.Cscliente as cliente,
                asignacion_retiros.tipo,
                asignacion_retiros.id,
                retiros.proveedor_retiro as proveedor,
                personas.nombre_uno,
                personas.apellido_uno,
                asignacion_retiros.fecha_asignado
            FROM  
                asignacion_retiros
            INNER JOIN  
                checklist_retiros on checklist_retiros.asignacion_retiros_id = asignacion_retiros.id 
            INNER JOIN  
                retiros on retiros.id = asignacion_retiros.retiros_id 
            INNER JOIN 
                trabajadors on trabajadors.id = asignacion_retiros.trabajadors_idtecnico
            INNER JOIN 
                personas on personas.id = trabajadors.id_persona
            LEFT JOIN 
                tracker on tracker.id = retiros.tracker_id
            LEFT JOIN 
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN 
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where_r  .
                    ' union ' .
                    'SELECT
                checklist_instalacions.CsSerie as serie,
                checklist_instalacions.fecha_inicio as fecha,
                checklist_instalacions.Cscomuna as comuna,
                checklist_instalacions.Csregion as region,
                checklist_instalacions.Cscliente as cliente,
                asignacion_instalacions.tipo,
                asignacion_instalacions.id,
                instalacions.proveedor_instalacion as proveedor,
                personas.nombre_uno,
                personas.apellido_uno,
                asignacion_instalacions.fecha_asignado
            FROM
                asignacion_instalacions
            INNER JOIN
                checklist_instalacions on checklist_instalacions.asignacion_instalacion_retiro_id = asignacion_instalacions.id 
            INNER JOIN
                instalacions on instalacions.id = asignacion_instalacions.lista_instalacion_id
            INNER JOIN   
                trabajadors on trabajadors.id = asignacion_instalacions.trabajadors_id
            INNER JOIN
                personas on personas.id = trabajadors.id_persona 
            LEFT JOIN
                tracker on tracker.id = instalacions.tracker_idtracker
            LEFT JOIN
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($datos_asignacion); $i++) {
            foreach ($datos_asignacion[$i] as $d1) {
                $fecha = Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s');
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $fecha . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                                $table .= "<td>" . $d1->proveedor . "</td>";

                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_retirocordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                </div>
                            </div>
                        </div
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_cordinadora2') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button class="btn">
                                            <span class="material-icons-round">
                                                visibility
                                            </span>
                                        </button>
                                    </form>
                                </div>
                            </div>
                        </div
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_porreasignar(request $request)
    {
        $databases = $this->nombre_database();
        $cliente = $request->cliente;
        $tipo = strtolower($request->tipo_a);
        $tecnico = $request->tecnico;
        $proveedor_p_reasignar = $request->proveedor_p_reasignar;

        
        $where  = 'asignacion_instalacions.estado_asignacion = ' . '"' . 'reasignar' . '" and instalacions.sEstado_instalacion = ' . '"' . 'reasignar' . '" ';
        $where_r  = 'asignacion_retiros.estado_asignacion = ' . '"' . 'reasignar' . '"';

        if ($cliente != "" || $cliente != null) {
            $where = $where . ' and clientes.id = ' . $cliente;
            $where_r = $where_r . ' and clientes.id = ' . $cliente;
        }
        if ($tipo != "" || $tipo != null) {
            $where = $where . ' and asignacion_instalacions.tipo = ' . '"' . $tipo . '"';
            $where_r = $where_r . ' and asignacion_retiros.tipo = ' . '"' . $tipo . '"';
        }
        if ($tecnico != "" || $tecnico != null) {
            $where = $where . ' and  asignacion_instalacions.trabajadors_id = ' . $tecnico;
            $where_r = $where_r . ' and  asignacion_retiros.trabajadors_idtecnico = ' . $tecnico;
        }
        if ($proveedor_p_reasignar != "" || $proveedor_p_reasignar != null) {
            $where = $where . ' and  instalacions.proveedor_instalacion = '. '"' . $proveedor_p_reasignar . '"';
            $where_r = $where_r . ' and  retiros.proveedor_retiro = ' . '"' . $proveedor_p_reasignar . '"';
        }

        foreach ($databases as $los_datos) {
            $datos_asignacion[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT  
                checklist_retiros.csSerie as serie,
                checklist_retiros.csComuna as comuna,
                checklist_retiros.csRegion as region,
                checklist_retiros.Cscliente as cliente,
                asignacion_retiros.tipo,
                asignacion_retiros.id,
                retiros.proveedor_retiro as proveedor,
                personas.nombre_uno,
                personas.apellido_uno,
                asignacion_retiros.fecha_asignado
            FROM  
                asignacion_retiros
            INNER JOIN  
                checklist_retiros on checklist_retiros.asignacion_retiros_id = asignacion_retiros.id 
            INNER JOIN  
                retiros on retiros.id = asignacion_retiros.retiros_id 
            INNER JOIN 
                trabajadors on trabajadors.id = asignacion_retiros.trabajadors_idtecnico
            INNER JOIN 
                personas on personas.id = trabajadors.id_persona
            LEFT JOIN 
                tracker on tracker.id = retiros.tracker_id
            LEFT JOIN 
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN 
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where_r  .
                    ' union ' .
                    'SELECT
                checklist_instalacions.CsSerie as serie,
                checklist_instalacions.Cscomuna as comuna,
                checklist_instalacions.Csregion as region,
                checklist_instalacions.Cscliente as cliente,
                asignacion_instalacions.tipo,
                asignacion_instalacions.id,
                instalacions.proveedor_instalacion as proveedor,
                personas.nombre_uno,
                personas.apellido_uno,
                asignacion_instalacions.fecha_asignado
            FROM
                asignacion_instalacions
            INNER JOIN
                checklist_instalacions on checklist_instalacions.asignacion_instalacion_retiro_id = asignacion_instalacions.id 
            INNER JOIN
                instalacions on instalacions.id = asignacion_instalacions.lista_instalacion_id
            INNER JOIN   
                trabajadors on trabajadors.id = asignacion_instalacions.trabajadors_id
            INNER JOIN
                personas on personas.id = trabajadors.id_persona 
            LEFT JOIN
                tracker on tracker.id = instalacions.tracker_idtracker
            LEFT JOIN
                proyectos on proyectos.id = tracker.proyecto_id
            LEFT JOIN
                clientes on clientes.id = proyectos.clientes_id
            WHERE ' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($datos_asignacion); $i++) {
            foreach ($datos_asignacion[$i] as $d1) {
                $fecha = Carbon::createFromDate($d1->fecha_asignado)->format('d-m-y');
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $fecha . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";
                if ($d1->tipo == "retiro") {
                    $table .=
                        '<td>
                        <form action="' . route('go.asignar_check_retiro_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                } else {
                    $table .=
                        '<td>
                        <form action="' . route('go.asignar_check_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Editar.png") . '" alt="" style="margin: 2px 0px" /></button>
                        </form>
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function index_servicio()
    {
        //SELECT TRABAJADORES
        $trabajadores = DB::table('personas')
            ->join('trabajadors', 'trabajadors.id_persona', '=', 'personas.id')
            ->select('personas.nombre_uno', 'personas.apellido_uno', 'trabajadors.id')
            ->where('trabajadors.estado', '=', '1')
            ->orderBy('trabajadors.id', 'desc')
            ->get();

        $databases = $this->nombre_database();

        /** COORDINADOR */
        $cont_pendienteCoordinador = 0;
        $cont_porasignarCoordinador = 0;
        $cont_encursoCoordinador = 0;
        $cont_porreasignarCoordinador = 0;
        foreach ($databases as $los_datos) {
            $datos_clientes[] = DB::connection(strtolower($los_datos->Database))->select('SELECT clientes.razon_social as cliente, clientes.id FROM clientes WHERE clientes.id != 4');
            $datos_clientes_porasignar[] = DB::connection(strtolower($los_datos->Database))->select('SELECT DISTINCT api_solicitudes.sCliente FROM api_solicitudes');
            //SUMA PENDIENTE PARA COORINADOR
            $suma_pendientes_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ASIGNADO')
                ->count();
            $cont_pendienteCoordinador += $suma_pendientes_coordinador_servicio;
            //SUMA POR ASIGNAR COORDINADOR
            $suma_porasignar_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'POR ASIGNAR')
                ->where('api_solicitudes.estado_externo', '=', 'POR ASIGNAR')
                ->orwhere('api_solicitudes.estado_interno', '=', NULL)
                ->where('api_solicitudes.estado_externo', '=', 'Sin asignar')
                ->count();
            $cont_porasignarCoordinador += $suma_porasignar_coordinador_servicio;
            //SUMA EN CURSO COORDINADOR
            $suma_encursos_coordinador_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                //TRANSITO
                ->where('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN TRANSITO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'EN TRANSITO')
                //EN ESPERA
                ->orwhere('api_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('api_solicitudes.estado_externo', '=', 'EN ESPERA')
                ->where('asignacion_solicitudes.estado_interno', '=', 'tarea_asignada')
                ->where('asignacion_solicitudes.estado_externo', '=', 'ESPERANDO')
                //INICIADO
                ->orwhere('api_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('api_solicitudes.estado_externo', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_interno', '=', 'INICIADO')
                ->where('asignacion_solicitudes.estado_externo', '=', 'INICIADO')
                ->count();
            $cont_encursoCoordinador += $suma_encursos_coordinador_servicio;

            $suma_porreasignars_coordiandor_servicio = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->where('api_solicitudes.estado_interno', '=', 'REASIGNAR')
                ->count();
            $cont_porreasignarCoordinador += $suma_porreasignars_coordiandor_servicio;
        }
        $suma_pendientes_coordinador = $cont_pendienteCoordinador;
        $suma_porasignar_coordinador = $cont_porasignarCoordinador;
        $suma_encursos_coordiandor = $cont_encursoCoordinador;
        $contador_porreasignar_coordinador = $cont_porreasignarCoordinador;
        /** FIN COORDINADOR */
        return view('home_servicio', compact('suma_pendientes_coordinador', 'suma_porasignar_coordinador', 'suma_encursos_coordiandor', 'contador_porreasignar_coordinador', 'trabajadores', 'datos_clientes', 'datos_clientes_porasignar'));
    }
    public function revisar_pendientes_coordinador_servicio()
    {
        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {

            $pendientes_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.fecha_asignado as fecha,
                    api_solicitudes.id as id_soli,
                    api_solicitudes.proveedor_servicio as proveedor,
                    asignacion_solicitudes.id,
                    personas.nombre_uno,
                    personas.apellido_uno,
                    api_solicitudes.sDescripcion

                    
                FROM 
                    api_solicitudes
                INNER JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                INNER JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                INNER JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_interno = "tarea_asignada" and api_solicitudes.estado_externo = "ASIGNADO"
                and 
                    asignacion_solicitudes.estado_interno = "tarea_asignada" and asignacion_solicitudes.estado_externo = "ASIGNADO"'
            );
        }
        $table = "";
        for ($i = 0; $i < count($pendientes_coordinador); $i++) {
            foreach ($pendientes_coordinador[$i] as $d1) {
                if ($d1->fecha != "") {
                    $fecha = Carbon::createFromDate($d1->fecha)->format('d-m-Y');
                } else {
                    $fecha = "NO REGISTRA";
                }
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                $table .= "<td>" . $fecha  . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->region  . "</td>";
                $table .= "<td>" . $d1->comuna  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->sDescripcion . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";
                
                $table .=

                    '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_solicitud_cordinadora_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button type="submit" class="btn"><img src="' . asset("Botones/Botones/revisar_m.png") . '" alt="" style="margin: 2px 0px" /></button>
                                    </form>
                                    <form action="' . route('go.finalizamanualservicios_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Finalizar_manual.png") . '" alt="" style="margin: 2px 0px" /></button>
                                    </form>
                                    <a role="button" title="Historial" onclick="hola(' . $d1->id_soli . ')" class="btn ver_historial_servicio_home">
                                        <img src="' . asset("Botones/Botones/Historial.png") . '" alt="" style="margin: 2px 0px" />
                                    </a>
                                </div>
                            </div>
                        </div>
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function revisar_porasignar_servicio()
    {

        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {
            $porasignar_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id,
                    api_solicitudes.sDescripcion
                FROM 
                    api_solicitudes
                WHERE
                    api_solicitudes.estado_interno = "POR ASIGNAR"
                    and api_solicitudes.estado_externo = "POR ASIGNAR"
                    or api_solicitudes.estado_externo = "Sin Asignar"
                ORDER BY cliente'
            );
        }
        $table = "";
        for ($i = 0; $i < count($porasignar_coordinador); $i++) {
            foreach ($porasignar_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->proveedor) . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->region  . "</td>";
                $table .= "<td>" . strtoupper($d1->comuna)  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->sDescripcion . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_servicios_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn btn-prim px sm-4" id="btnview">Asignar</button>
                        </form>
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function revisar_encurso_coordinador_servicio()
    {
        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {
            $pendientes_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id_soli,
                    asignacion_solicitudes.id as id,
                    asignacion_solicitudes.fecha_inicio as fecha,
                    personas.nombre_uno,
                    personas.apellido_uno,
                    api_solicitudes.sDescripcion
                FROM 
                    api_solicitudes
                INNER JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                INNER JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                INNER JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_interno = "tarea_asignada"
                    and api_solicitudes.estado_externo = "EN TRANSITO"
                    and asignacion_solicitudes.estado_interno = "tarea_asignada"
                    and asignacion_solicitudes.estado_externo = "EN TRANSITO"
                    or api_solicitudes.estado_interno = "tarea_asignada"
                    and api_solicitudes.estado_externo = "EN ESPERA"
                    and asignacion_solicitudes.estado_interno = "tarea_asignada"
                    and asignacion_solicitudes.estado_externo = "ESPERANDO"
                    or api_solicitudes.estado_interno = "INICIADO"
                    and api_solicitudes.estado_externo = "INICIADO"
                    and asignacion_solicitudes.estado_interno = "INICIADO"
                    and asignacion_solicitudes.estado_externo = "INICIADO"'
            );
        }
        $table = "";
        for ($i = 0; $i < count($pendientes_coordinador); $i++) {
            foreach ($pendientes_coordinador[$i] as $d1) {
                if ($d1->fecha != "") {
                    $fecha = Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s');
                } else {
                    $fecha = "NO REGISTRA";
                }
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                $table .= "<td>" . $fecha  . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->sDescripcion . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";
                
                $table .=
                    '<td>
                        <div class="dropdown dropleft">
                            <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                                <span class="material-icons">more_vert</span>
                            </button>
                            <div class="dropdown-menu mostrar shadow">
                                <div class="d-flex justify-content-around">
                                    <form action="' . route('go.ver_check_solicitud_cordinadora_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button type="submit" class="btn"><img src="' . asset("Botones/Botones/revisar_m.png") . '" alt="" style="margin: 2px 0px" /></button>
                                    </form>
                                    <form action="' . route('go.finalizamanualservicios_home') . '" method="GET">
                                        <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                        <input type="hidden" value="' . $d1->id . '" name="id">
                                        <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Finalizar_manual.png") . '" alt="" style="margin: 2px 0px" /></button>
                                    </form>
                                    <a role="button" title="Historial" onclick="hola(' . $d1->id_soli . ')" class="btn ver_historial_servicio_home">
                                        <img src="' . asset("Botones/Botones/Historial.png") . '" alt="" style="margin: 2px 0px" />
                                    </a>
                                </div>
                            </div>
                        </div>
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function revisar_porreasignar_coordinador_servicio()
    {

        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {
            $pendientes_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id,
                    asignacion_solicitudes.fecha_inicio as fecha,
                    personas.nombre_uno,
                    personas.apellido_uno
                FROM 
                    api_solicitudes
                INNER JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                INNER JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                INNER JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_interno = "REASIGNAR" and asignacion_solicitudes.estado_interno = "REASIGNAR"'
            );
        }
        $table = "";
        for ($i = 0; $i < count($pendientes_coordinador); $i++) {
            foreach ($pendientes_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                $table .= "<td>" . $d1->fecha  . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_servicios_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn btn-prim px sm-4" id="btnview">Asignar</button>
                        </form>
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function revisar_porrevisar_coordinador_servicio()
    {

        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {
            $pendientes_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.estado_interno,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id,
                    asignacion_solicitudes.fecha_inicio as fecha,
                    asignacion_solicitudes.id as id_asig,
                    personas.nombre_uno,
                    personas.apellido_uno
                FROM 
                    api_solicitudes
                INNER JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                INNER JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                INNER JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_interno = "REVISAR"
                AND  
                    asignacion_solicitudes.estado_interno = "REVISAR"
                OR
                    api_solicitudes.estado_interno = "RECHAZADO"'
            );
        }
        $table = "";
        for ($i = 0; $i < count($pendientes_coordinador); $i++) {
            foreach ($pendientes_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                $table .= "<td>" . Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s')  . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->estado_interno . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                
                
                $table .=
                    '<td>
                        <form action="' . route('go.ver_check_solicitud_cordinadora_home') . '" method="GET" target="_blank">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id_asig . '" name="id">
                            <button type="submit" class="btn btn-prim px sm-4" id="btnview">Revisar</button>
                        </form>
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_pendiente_servicio(request $request)
    {
      
        $databases = $this->nombre_database();
      $proveedor_ap_serv=   $request->proveedor_ap_serv ;
        $where = "";
        if ($request->cliente != "") {
            $where .= ' and api_solicitudes.sCliente = ' . '"' . $request->cliente . '"';
        }
        if ($request->tecnico != "") {
            $where .= ' and asignacion_solicitudes.trabajadors_id = ' . $request->tecnico;
        }
        if ($proveedor_ap_serv!= "") {
            $where .= ' and api_solicitudes.proveedor_servicio = '  . '"' . $proveedor_ap_serv . '"';
        }
        foreach ($databases as $los_datos) {
            $pendientes_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id_soli,
                    asignacion_solicitudes.id as id,
                    personas.nombre_uno,
                    personas.apellido_uno,
                    api_solicitudes.sDescripcion
                FROM 
                    api_solicitudes
                INNER JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                INNER JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                INNER JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_interno = "tarea_asignada" and api_solicitudes.estado_externo = "ASIGNADO"
                    and asignacion_solicitudes.estado_interno = "tarea_asignada" and asignacion_solicitudes.estado_externo = "ASIGNADO"' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($pendientes_coordinador); $i++) {
            foreach ($pendientes_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->region  . "</td>";
                $table .= "<td>" . $d1->comuna  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->sDescripcion . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                $table .=
                    '<td>
                    <div class="dropdown dropleft">
                        <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                            <span class="material-icons">more_vert</span>
                        </button>
                        <div class="dropdown-menu mostrar shadow">
                            <div class="d-flex justify-content-around">
                                <form action="' . route('go.ver_check_solicitud_cordinadora_home') . '" method="GET">
                                    <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                    <input type="hidden" value="' . $d1->id . '" name="id">
                                    <button type="submit" class="btn"><img src="' . asset("Botones/Botones/revisar_m.png") . '" alt="" style="margin: 2px 0px" /></button>
                                </form>
                                <form action="' . route('go.finalizamanualservicios_home') . '" method="GET">
                                    <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                    <input type="hidden" value="' . $d1->id . '" name="id">
                                    <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Finalizar_manual.png") . '" alt="" style="margin: 2px 0px" /></button>
                                </form>
                                <a role="button" title="Historial" onclick="hola(' . $d1->id_soli . ')" class="btn ver_historial_servicio_home">
                                        <img src="' . asset("Botones/Botones/Historial.png") . '" alt="" style="margin: 2px 0px" />
                                    </a>
                            </div>
                        </div>
                    </div
                </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_porasignar_servicio(request $request)
    {
        $databases = $this->nombre_database();

        $where = "";
        if ($request->cliente != "") {
            $where .= ' and api_solicitudes.sCliente = ' . '"' . $request->cliente . '" ';
        }
        if ($request->proveedor_por_as_ser != "") {
            $where .= ' and  api_solicitudes.proveedor_servicio  = ' . '"' . $request->proveedor_por_as_ser . '" ';
        }
        foreach ($databases as $los_datos) {
            $porasignar_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                api_solicitudes.sCliente as cliente,
                api_solicitudes.sRegion as region,
                api_solicitudes.sComuna as comuna,
                api_solicitudes.sSc as serie,
                api_solicitudes.proveedor_servicio as proveedor,
                api_solicitudes.id,
                api_solicitudes.sDescripcion
            FROM 
                api_solicitudes
            WHERE
                api_solicitudes.estado_interno = "POR ASIGNAR"
                and api_solicitudes.estado_externo = "POR ASIGNAR"' . $where . '
                or api_solicitudes.estado_externo = "Sin Asignar"' . $where . '
            ORDER BY cliente'
            );
        }
        $table = "";
        for ($i = 0; $i < count($porasignar_coordinador); $i++) {
            foreach ($porasignar_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->proveedor) . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->region  . "</td>";
                $table .= "<td>" . strtoupper($d1->comuna)  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->sDescripcion . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_servicios_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn btn-prim px sm-4" id="btnview">Asignar</button>
                        </form>
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_encurso_servicio(request $request)
    {
        $databases = $this->nombre_database();
        //return $request;
        $where = "";
        if ($request->cliente != "") {
            $where .= ' and api_solicitudes.sCliente = ' . '"' . $request->cliente . '" ';
        }

        if ($request->tecnico != "") {
            $where .= ' and asignacion_solicitudes.trabajadors_id = ' . $request->tecnico;
        }
        if ($request->proveedor_en_curso_serv != "") {
            $where .= ' and api_solicitudes.proveedor_servicio = '  . '"' . $request->proveedor_en_curso_serv . '" ';
        }

        


        foreach ($databases as $los_datos) {
            $encurso_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id_soli,
                    asignacion_solicitudes.id as id,
                    asignacion_solicitudes.fecha_inicio as fecha,
                    personas.nombre_uno,
                    personas.apellido_uno,
                    api_solicitudes.sDescripcion

                FROM 
                    api_solicitudes
                INNER JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                INNER JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                INNER JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_interno = "tarea_asignada"
                    and api_solicitudes.estado_externo = "EN TRANSITO"
                    and asignacion_solicitudes.estado_interno = "tarea_asignada"
                    and asignacion_solicitudes.estado_externo = "EN TRANSITO"' . $where . '
                    or api_solicitudes.estado_interno = "tarea_asignada"
                    and api_solicitudes.estado_externo = "EN ESPERA"
                    and asignacion_solicitudes.estado_interno = "tarea_asignada"
                    and asignacion_solicitudes.estado_externo = "ESPERANDO"' . $where . '
                    or api_solicitudes.estado_interno = "INICIADO"
                    and api_solicitudes.estado_externo = "INICIADO"
                    and asignacion_solicitudes.estado_interno = "INICIADO"
                    and asignacion_solicitudes.estado_externo = "INICIADO"' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($encurso_coordinador); $i++) {
            foreach ($encurso_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                if ($d1->fecha == "") {
                    $table .= "<td>NO REGISTRA</td>";
                } else {
                    $table .= "<td>" . Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s')  . "</td>";
                }
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->sDescripcion . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                
                $table .=
                    '<td>
                    <div class="dropdown dropleft">
                    <button type="button" class="btn-dropdown" data-toggle="dropdown" aria-expanded="false">
                        <span class="material-icons">more_vert</span>
                    </button>
                    <div class="dropdown-menu mostrar shadow">
                        <div class="d-flex justify-content-around">
                            <form action="' . route('go.ver_check_solicitud_cordinadora_home') . '" method="GET">
                                <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                <input type="hidden" value="' . $d1->id . '" name="id">
                                <button type="submit" class="btn"><img src="' . asset("Botones/Botones/revisar_m.png") . '" alt="" style="margin: 2px 0px" /></button>
                            </form>
                            <form action="' . route('go.finalizamanualservicios_home') . '" method="GET">
                                <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                <input type="hidden" value="' . $d1->id . '" name="id">
                                <button type="submit" class="btn"><img src="' . asset("Botones/Botones/Finalizar_manual.png") . '" alt="" style="margin: 2px 0px" /></button>
                            </form>
                            <a role="button" title="Historial" onclick="hola(' . $d1->id_soli . ')" class="btn ver_historial_servicio_home">
                                <img src="' . asset("Botones/Botones/Historial.png") . '" alt="" style="margin: 2px 0px" />
                            </a>
                        </div>
                    </div>
                </div 
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_porreasignar_servicio(request $request)
    {
        $databases = $this->nombre_database();

        $where = "";
        if ($request->cliente != "") {
            $where .= ' and api_solicitudes.sCliente = ' . '"' . $request->cliente . '" ';
        }
        if ($request->tecnico != "") {
            $where .= ' and asignacion_solicitudes.trabajadors_id = ' . $request->tecnico;
        }
        if ($request->proveedor_p_reasignar_ser != "") {
            $where .= ' and api_solicitudes.proveedor_servicio  = ' . '"' . $request->proveedor_p_reasignar_ser . '" ';
        }
        foreach ($databases as $los_datos) {
            $porreasignar_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id,
                    asignacion_solicitudes.fecha_inicio as fecha,
                    personas.nombre_uno,
                    personas.apellido_uno
                FROM 
                    api_solicitudes
                INNER JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                INNER JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                INNER JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_interno = "REASIGNAR" and asignacion_solicitudes.estado_interno = "REASIGNAR"' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($porreasignar_coordinador); $i++) {
            foreach ($porreasignar_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                $table .= "<td>" . $d1->fecha  . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td>" . $d1->proveedor . "</td>";

                
                $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_servicios_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn btn-prim px sm-4" id="btnview">Asignar</button>
                        </form>
                    </td>';
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function filtro_repuesto_servicio(request $request)
    {
        $databases = $this->nombre_database();

        $where = "";
        if ($request->cliente != "") {
            $where .= ' and api_solicitudes.sCliente = ' . '"' . $request->cliente . '" ';
        }
        if ($request->tecnico != "") {
            $where .= ' and asignacion_solicitudes.trabajadors_id = ' . $request->tecnico;
        }
        if ($request->proveedor_instalacion_respuestos != "") {
            $where .= ' and api_solicitudes.proveedor_servicio  = ' . '"' . $request->proveedor_instalacion_respuestos . '" ';
        }
        foreach ($databases as $los_datos) {
            $repuesto_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.estado_interno,
                    api_solicitudes.estado_externo,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id,
                    asignacion_solicitudes.fecha_inicio as fecha,
                    asignacion_solicitudes.id as id_asig,
                    personas.nombre_uno,
                    personas.apellido_uno,
                    api_solicitudes.sDescripcion

                FROM 
                    api_solicitudes
                LEFT JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                LEFT JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                LEFT JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_externo = "Instalar repuesto"' . $where
            );
        }
        $table = "";
        for ($i = 0; $i < count($repuesto_coordinador); $i++) {
            foreach ($repuesto_coordinador[$i] as $d1) {
                $table .= "<tr>";
                $table .= "<td>" . strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                $table .= "<td>" . Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s')  . "</td>";
                $table .= "<td>" . $d1->cliente  . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                // $table .= "<td>" . $d1->proveedor . "</td>";

                $table .= "<td>" . $d1->estado_externo . "</td>";
                $table .= "<td>" . $d1->sDescripcion . "</td>";
;                $table .= "<td>" . $d1->proveedor . "</td>";

                if($d1->estado_interno == ""){
                    $table .=
                    '<td>
                        <form action="' . route('go.asignar_check_servicios_home') . '" method="GET">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id . '" name="id">
                            <button type="submit" class="btn btn-prim px sm-4" id="btnview">Asignar</button>
                        </form>
                    </td>';
                }elseif($d1->estado_interno == "Solicitar Repuestos"){
                    $table .=
                    '<td>
                        <form action="' . route('go.ver_check_solicitud_cordinadora_home') . '" method="GET" target="_blank">
                            <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                            <input type="hidden" value="' . $d1->id_asig . '" name="id">
                            <button type="submit" class="btn btn-prim px sm-4" id="btnview">Revisar</button>
                        </form>
                    </td>';
                }
                $table .= "</tr>";
            }
        }
        return $table;
    }
    public function seguimiento_servicio(request $request)
    {
        $databases = $this->nombre_database();

        $serie = $request->serie;

        foreach ($databases as $los_datos) {
            $seguimiento_servicio[] = DB::connection(strtolower($los_datos->Database))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_solicitudes.trabajadors_id')
                ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
                ->select(
                    'api_solicitudes.sCliente as cliente',
                    'api_solicitudes.sRegion as region',
                    'api_solicitudes.sComuna as comuna',
                    'api_solicitudes.sSc as serie',
                    'api_solicitudes.proveedor_servicio as proveedor',
                    'asignacion_solicitudes.estado_interno as estado',
                    'asignacion_solicitudes.estado_externo as estado_externo',
                    'asignacion_solicitudes.id as id',
                    'api_solicitudes.fecha_asignado',
                    'personas.nombre_uno',
                    'personas.apellido_uno'
                )
                ->where('api_solicitudes.sSc', '=', $serie)
                ->get();
        }
        $table = "";
        for ($i = 0; $i < count($seguimiento_servicio); $i++) {
            foreach ($seguimiento_servicio[$i] as $d1) {
                $fecha = Carbon::createFromDate($d1->fecha_asignado)->format('d-m-Y');
                $estado = $d1->estado;
                $estado_externo = $d1->estado_externo;
                $table .= "<tr>";
                $table .= "<td>" . $d1->nombre_uno . " " . $d1->apellido_uno . "</td>";
                $table .= "<td>" . $fecha . "</td>";
                $table .= "<td>" . $d1->cliente . "</td>";
                $table .= "<td>" . $d1->region . "</td>";
                $table .= "<td>" . $d1->comuna . "</td>";
                $table .= "<td>" . $d1->serie . "</td>";
                $table .= "<td> SERVICIO </td>";
                $table .= "</tr>";
            }
        }

        $array_[] = array(
            "table" => $table,
            "estado" => $estado,
            'estado_externo' => $estado_externo
        );
        return $array_;
    }

    public function index_proveedor($seccion)
    {
        try {
            $seccion = Crypt::decryptString($seccion);
        } catch (DecryptException $e) {
            return "No Puede Realizar Esta Accion";
        }
        $proveedor = Auth::user()->nombre_proveedor;

        $trabajadores = DB::connection(strtolower($proveedor))->table('personas')
            ->join('trabajadors', 'trabajadors.id_persona', '=', 'personas.id')
            ->select('personas.nombre_uno', 'personas.apellido_uno', 'trabajadors.id')
            ->where('trabajadors.estado', '=', '1')
            ->orderBy('personas.nombre_uno', 'ASC')
            ->get();

        $estado = DB::connection(strtolower($proveedor))->table('asignacion_solicitudes')
            ->select('asignacion_solicitudes.estado_externo as estado');
        //$estado_r = DB::connection(strtolower($proveedor))->table('asignacion_retiros')
        // ->select('asignacion_retiros.estado_asignacion as estado');
        $estado_i = DB::connection(strtolower($proveedor))->table('asignacion_instalacions')
            ->select('asignacion_instalacions.estado_asignacion as estado')
            ->union($estado)
            //->union($estado_r)
            ->distinct()
            ->get();

        $tables = "";

        if ($seccion == "asignados_ir") {

            $titulo = "Atenciones asignadas instalacion";

            $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('clientes.id', 'clientes.razon_social')
                ->where('clientes.id', '!=', 4)
                ->distinct('razon_social')
                ->get();

            foreach ($instalacion_asignados_proveedor as $datos) {
                $tables .= '<tr onclick="revisarCliente(' . $datos->id . ')">';
                $tables .= '<td>' . strtoupper($datos->razon_social) . '</td>';

                //CONSULTA DE CONTADOR
                $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                    ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                    ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                    ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                    ->select('instalacions.id as cliente')
                    ->where('clientes.id', '=', $datos->id)
                    ->count();

                $cont_clientes = $instalacion_asignados_proveedor;

                $tables .= '<td>' . $cont_clientes . '</td>';
                $tables .= '<td> <span class="material-icons">playlist_add_check_circle</span> </td>';
                $tables .= '</tr>';
            }
        } else if ($seccion == "repuestos_ir") {

            $titulo = "Atenciones pendientes repuestos instalacion";

            $instalacion_repuestos_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                ->select('clientes.razon_social as cliente', 'clientes.id as clientes_id')
                ->where('clientes.id', '=', '000')
                ->get();

            foreach ($instalacion_repuestos_proveedor as $datos) {
                $tables .= '<tr>';
                $tables .= '<td>' . strtoupper($datos->cliente) . '</td>';

                //CONSULTA DE CONTADOR

                $cont_repuestos_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
                    ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
                    ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
                    ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
                    ->select('instalacions.id as cliente')
                    ->where('clientes.id', '=', $datos->clientes_id)
                    //->where('checklist_instalacions.motivo', '!=', '')
                    ->count();

                $cont_clientes = $cont_repuestos_proveedor;

                $tables .= '<td>' . $cont_clientes . '</td>';
                $tables .= '<td onclick="revisarCliente(' . $datos->clientes_id . ')"> REVISAR </td>';
                $tables .= '</tr>';
            }
        } else if ($seccion == "asignados_servicio") {
            $titulo = "Atenciones asignadas servicio";

            $servicio_asignados_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->select('api_solicitudes.sCliente as cliente')
                ->orderby('cliente', 'asc')
                ->distinct('cliente')
                ->get();

            foreach ($servicio_asignados_proveedor as $datos) {
                //CONSULTA DE CONTADOR
                $cont_asignados_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                    ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                    ->select('api_solicitudes.id')
                    ->where('api_solicitudes.sCliente', '=', $datos->cliente)
                    ->get();

                $cont_clientes = count($cont_asignados_proveedor);
                $tables .= '<tr onclick="revisarCliente(' . $cont_asignados_proveedor[0]->id . ')">';
                $tables .= '<td>' . strtoupper($datos->cliente) . '</td>';
                $tables .= '<td>' . $cont_clientes . '</td>';
                $tables .= '<td> <span class="material-icons">playlist_add_check_circle</span> </td>';
                $tables .= '</tr>';
            }
        } else if ($seccion == "repuestos_servicio") {
            $titulo = "Atenciones pendientes de repuestos servicio";

            $servicio_repuestos_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                ->select('api_solicitudes.sCliente as cliente')
                ->where('asignacion_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
                ->where('asignacion_solicitudes.estado_externo', '=', 'Solicitar Repuestos')
                ->where('api_solicitudes.estado_interno', '=', "Solicitar Repuestos")
                ->orderby('cliente', 'asc')
                ->distinct('cliente')
                ->get();

            foreach ($servicio_repuestos_proveedor as $datos) {
                //CONSULTA DE CONTADOR
                $cont_repuestos_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
                    ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
                    ->where('api_solicitudes.sCliente', '=', $datos->cliente)
                    ->where('asignacion_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
                    ->where('asignacion_solicitudes.estado_externo', '=', 'Solicitar Repuestos')
                    ->where('api_solicitudes.estado_interno', '=', "Solicitar Repuestos")
                    ->select('api_solicitudes.id')
                    ->groupBy('id')
                    ->get();

                $cont_clientes = count($cont_repuestos_proveedor);

                $tables .= '<tr onclick="revisarCliente(' . $cont_repuestos_proveedor[0]->id . ')">';
                $tables .= '<td>' . strtoupper($datos->cliente) . '</td>';
                $tables .= '<td>' . $cont_clientes . '</td>';
                $tables .= '<td> <span class="material-icons">playlist_add_check_circle</span> </td>';
                $tables .= '</tr>';
            }
        }
        return view('home_proveedor', compact('seccion', 'titulo', 'tables', 'trabajadores', 'estado_i'));
    }
    public function revisarClienteProveedor(request $request)
    {
        $id = $request->id;
        $proveedor = Auth::user()->nombre_proveedor;

        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
            ->join('asignacion_instalacions', 'asignacion_instalacions.lista_instalacion_id', '=', 'instalacions.id')
            ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
            ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
            ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
            ->select(
                'clientes.razon_social as cliente',
                'asignacion_instalacions.fecha_asignado',
                'instalacions.sSc as sc',
                'instalacions.sSerie as serie',
                'asignacion_instalacions.estado_asignacion',
                'instalacions.id'
            )
            ->where('clientes.id', '=', $id)
            ->groupBy('serie')
            ->orderBy('fecha_asignado', 'desc')
            ->get();

        $table = "";

        foreach ($instalacion_asignados_proveedor as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha_asignado)->format('d-m-Y H:s');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= '<td>
                            <a role="button" class="btn-icon btn-icon-dd" title="Historial" onclick="historial_ins(' . $datos->id . ')">
                            <span class="material-icons">history</span>
                            </a>
                    </td>';
            $table .= "</tr>";
        }

        return $table;
    }
    public function revisarrepuestosClienteProveedor(request $request)
    {
        $id = $request->id;
        $proveedor = Auth::user()->nombre_proveedor;

        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
            ->join('asignacion_instalacions', 'asignacion_instalacions.lista_instalacion_id', '=', 'instalacions.id')
            ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
            ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
            ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
            ->select(
                'clientes.razon_social as cliente',
                'asignacion_instalacions.fecha_asignado',
                'instalacions.sSc as sc',
                'instalacions.sSerie as serie',
                'asignacion_instalacions.estado_asignacion'
            )
            ->where('clientes.id', '=', 0000)
            ->where('asignacion_instalacions.estado_asignacion', '=', 'repuestos')
            ->grupBy('serie')
            ->get();

        $table = "";

        foreach ($instalacion_asignados_proveedor as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha_asignado)->format('d-m-Y H:s');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= "<td>PDF</td>";
            $table .= "</tr>";
        }

        return $table;
    }
    public function revisarClienteProveedorServicio(request $request)
    {
        $id = $request->id;
        $proveedor = Auth::user()->nombre_proveedor;

        $cliente = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->where('api_solicitudes.id', '=', $id)
            ->select('api_solicitudes.sCliente as cliente')
            ->get();

        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
            ->select(
                'api_solicitudes.sCliente as cliente',
                'api_solicitudes.fecha_asignado as fecha',
                'api_solicitudes.sSC as sc',
                'api_solicitudes.sSerie as serie',
                'api_solicitudes.id',
                'api_solicitudes.estado_interno',
                'api_solicitudes.estado_externo as estado_asignacion'
            )
            ->where('api_solicitudes.sCliente', '=', $cliente[0]->cliente)
            ->groupBy('sc')
            ->orderBy('fecha_asignado', 'desc')
            ->get();

        $table = "";

        foreach ($instalacion_asignados_proveedor as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha)->format('d-m-Y');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= '<td>  
                        <a role="button" class="btn-icon btn-icon-dd ver_historial" title="Historial" onclick="historial(' . $datos->id . ')" data-estado="' . $datos->estado_interno . '">
                            <span class="material-icons">history</span>
                        </a>
                        </td>';
            $table .= "</tr>";
        }

        return $table;
    }
    public function revisarClienteProveedorServicioRepuestos(request $request)
    {
        $id = $request->id;
        $proveedor = Auth::user()->nombre_proveedor;

        $cliente = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->where('api_solicitudes.id', '=', $id)
            ->select('api_solicitudes.sCliente as cliente')
            ->get();

        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
            ->select(
                'api_solicitudes.sCliente as cliente',
                'asignacion_solicitudes.fecha',
                'api_solicitudes.sSC as sc',
                'api_solicitudes.sSerie as serie',
                'asignacion_solicitudes.estado_externo as estado_asignacion',
                'api_solicitudes.id',
                'api_solicitudes.estado_interno'
            )
            ->where('api_solicitudes.sCliente', '=', $cliente[0]->cliente)
            ->where('asignacion_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
            ->where('asignacion_solicitudes.estado_externo', '=', 'Solicitar Repuestos')
            ->where('api_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
            ->groupBy('sc')
            ->orderBy('fecha', 'desc')
            ->get();

        $table = "";

        foreach ($instalacion_asignados_proveedor as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha)->format('d-m-Y');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= '<td>  
                <a role="button" class="btn-icon btn-icon-dd ver_historial" title="Historial" onclick="historial(' . $datos->id . ')" data-estado="' . $datos->estado_interno . '">
                    <span class="material-icons">history</span>
                </a>
            </td>';
            $table .= "</tr>";
        }

        return $table;
    }
    public function filtro_repuestoServicio(request $request)
    {
        $cliente_proveedor = $request->cliente;
        $tecnico = $request->tecnico;
        $fecha1 = $request->fecha1;
        $fecha2 = $request->fecha2;
        $estado = $request->estado;
        $proveedor = Auth::user()->nombre_proveedor;

        $cliente = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->where('api_solicitudes.id', '=', $cliente_proveedor)
            ->select('api_solicitudes.sCliente as cliente')
            ->get();

        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
            ->select(
                'api_solicitudes.sCliente as cliente',
                'asignacion_solicitudes.fecha',
                'api_solicitudes.sSC as sc',
                'api_solicitudes.sSerie as serie',
                'asignacion_solicitudes.estado_externo as estado_asignacion',
                'api_solicitudes.id',
                'asignacion_solicitudes.estado_interno'
            )
            ->where('api_solicitudes.sCliente', '=', $cliente[0]->cliente)
            ->where('asignacion_solicitudes.estado_interno', '=', 'Solicitar Repuestos')
            ->where('asignacion_solicitudes.estado_externo', '=', 'Solicitar Repuestos');

        if ($tecnico != "") {
            $instalacion_asignados_proveedor->where('asignacion_solicitudes.trabajadors_id', '=', $tecnico);
        }
        if ($estado != "") {
            $instalacion_asignados_proveedor->where('asignacion_solicitudes.estado_externo', '=', $estado);
        }
        if ($fecha1 != "") {
            $instalacion_asignados_proveedor->where('asignacion_solicitudes.fecha', 'like', '%' . $fecha1 . '%');
        }
        if ($fecha2 != "") {
            $instalacion_asignados_proveedor->where('asignacion_solicitudes.fecha_fin', 'like', '%' . $fecha2 . '%');
        }
        $instalacion_asignados_proveedor->groupBy('sc');
        $instalacion_asignados_proveedor->orderBy('fecha', 'desc');
        $acumulador = $instalacion_asignados_proveedor->get();
        $table = "";

        foreach ($acumulador as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha)->format('d-m-Y');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= '<td>  
                        <a role="button" class="btn-icon btn-icon-dd ver_historial" title="Historial" onclick="historial(' . $datos->id . ')" data-estado="' . $datos->estado_interno . '">
                            <span class="material-icons">history</span>
                        </a>
                        </td>';
            $table .= "</tr>";
        }

        return $table;
    }
    public function filtro_asignadoServicio(request $request)
    {
        $cliente_proveedor = $request->cliente;
        $tecnico = $request->tecnico;
        $fecha1 = $request->fecha1;
        $fecha2 = $request->fecha2;
        $estado = $request->estado;
        $proveedor = Auth::user()->nombre_proveedor;

        $cliente = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->where('api_solicitudes.id', '=', $cliente_proveedor)
            ->select('api_solicitudes.sCliente as cliente')
            ->get();

        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('api_solicitudes')
            ->join('asignacion_solicitudes', 'asignacion_solicitudes.api_solicitudes_id', '=', 'api_solicitudes.id')
            ->select(
                'api_solicitudes.sCliente as cliente',
                'asignacion_solicitudes.fecha',
                'api_solicitudes.sSC as sc',
                'api_solicitudes.sSerie as serie',
                'asignacion_solicitudes.estado_externo as estado_asignacion',
                'api_solicitudes.id',
                'api_solicitudes.estado_interno'
            )
            ->where('api_solicitudes.sCliente', '=', $cliente[0]->cliente);

        if ($estado != "") {
            $instalacion_asignados_proveedor->where('asignacion_solicitudes.estado_externo', '=', $estado);
        }
        if ($fecha1 != "") {
            $instalacion_asignados_proveedor->where('asignacion_solicitudes.fecha', 'like', '%' . $fecha1 . '%');
        }
        if ($fecha2 != "") {
            $instalacion_asignados_proveedor->where('asignacion_solicitudes.fecha_fin', 'like', '%' . $fecha2 . '%');
        }
        $instalacion_asignados_proveedor->groupBy('sc');
        $instalacion_asignados_proveedor->orderBy('fecha', 'desc');
        $acumulador = $instalacion_asignados_proveedor->get();

        $table = "";
        foreach ($acumulador as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha)->format('d-m-Y');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= '<td>  
            <a role="button" class="btn-icon btn-icon-dd ver_historial" title="Historial" onclick="historial(' . $datos->id . ')" data-estado="' . $datos->estado_interno . '">
                <span class="material-icons">history</span>
            </a>
            </td>';
            $table .= "</tr>";
        }

        return $table;
    }
    public function filtro_asignadoins_ret(request $request)
    {
        $cliente_proveedor = $request->cliente;
        $tecnico = $request->tecnico;
        $fecha1 = $request->fecha1;
        $fecha2 = $request->fecha2;
        $estado = $request->estado;
        $proveedor = Auth::user()->nombre_proveedor;

        $retiros_asignados_proveedor = DB::connection(strtolower($proveedor))->table('retiros')
            ->join('asignacion_retiros', 'asignacion_retiros.retiros_id', '=', 'retiros.id')
            ->join('tracker', 'tracker.id', '=', 'retiros.tracker_id')
            ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
            ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
            ->select(
                'clientes.razon_social as cliente',
                'asignacion_retiros.fecha_asignado',
                DB::raw("NULL as sc"),
                'retiros.sSerie as serie',
                'asignacion_retiros.estado_asignacion',
                'retiros.id'
            )
            ->where('clientes.id', '=', $cliente_proveedor);
        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('instalacions')
            ->join('asignacion_instalacions', 'asignacion_instalacions.lista_instalacion_id', '=', 'instalacions.id')
            ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
            ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
            ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
            ->select(
                'clientes.razon_social as cliente',
                'asignacion_instalacions.fecha_asignado',
                'instalacions.sSc as sc',
                'instalacions.sSerie as serie',
                'asignacion_instalacions.estado_asignacion',
                'instalacions.id'
            )
            ->where('clientes.id', '=', $cliente_proveedor);
        if ($tecnico != "") {
            $retiros_asignados_proveedor->where('asignacion_retiros.trabajadors_idtecnico', '=', $tecnico);
            $instalacion_asignados_proveedor->where('asignacion_instalacions.trabajadors_id', '=', $tecnico);
        }
        if ($estado != "") {
            $retiros_asignados_proveedor->where('asignacion_retiros.estado_asignacion', '=', $estado);
            $instalacion_asignados_proveedor->where('asignacion_instalacions.estado_asignacion', '=', $estado);
        }
        if ($fecha1 != "") {
            $retiros_asignados_proveedor->where('asignacion_retiros.fecha_asignado', 'like', '%' . $fecha1 . '%');
            $instalacion_asignados_proveedor->where('asignacion_instalacions.fecha_asignado', 'like', '%' . $fecha1 . '%');
        }
        if ($fecha2 != "") {
            $retiros_asignados_proveedor->where('asignacion_retiros.fecha_termino', 'like', '%' . $fecha2) . '%';
            $instalacion_asignados_proveedor->where('asignacion_instalacions.fecha_termino', '=', '%' . $fecha2 . '%');
        }
        $instalacion_asignados_proveedor->union($retiros_asignados_proveedor);
        $instalacion_asignados_proveedor->orderBy('fecha_asignado', 'desc');
        $acumulador = $instalacion_asignados_proveedor->get();

        $table = "";

        foreach ($acumulador as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha_asignado)->format('d-m-Y H:s');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= '<td>
                            <a role="button" class="btn-icon btn-icon-dd" title="Historial" onclick="historial_ins(' . $datos->id . ')">
                            <span class="material-icons">history</span>
                            </a>
                    </td>';
            $table .= "</tr>";
        }

        return $table;
    }
    public function filtro_repuestoins_ret(request $request)
    {
        $cliente_proveedor = $request->cliente;
        $tecnico = $request->tecnico;
        $fecha1 = $request->fecha1;
        $fecha2 = $request->fecha2;
        $estado = $request->estado;
        $proveedor = Auth::user()->nombre_proveedor;

        $instalacion_asignados_proveedor = DB::connection(strtolower($proveedor))->table('asignacion_instalacions')
            ->join('checklist_instalacions', 'checklist_instalacions.asignacion_instalacion_retiro_id', '=', 'asignacion_instalacions.id')
            ->join('instalacions', 'instalacions.id', '=', 'asignacion_instalacions.lista_instalacion_id')
            ->join('tracker', 'tracker.id', '=', 'instalacions.tracker_idtracker')
            ->join('proyectos', 'proyectos.id', '=', 'tracker.proyecto_id')
            ->join('clientes', 'clientes.id', '=', 'proyectos.clientes_id')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->select(
                'clientes.razon_social as cliente',
                'personas.nombre_uno',
                'personas.apellido_uno',
                'asignacion_instalacions.fecha_asignado',
                'checklist_instalacions.CsSC as sc',
                'checklist_instalacions.CsSerie as serie',
                'asignacion_instalacions.estado_asignacion'
            )
            ->where('clientes.id', '=', $cliente_proveedor)
            ->where('checklist_instalacions.motivo', '=', '');
        if ($tecnico != "") {
            $instalacion_asignados_proveedor->where('asignacion_instalacions.trabajadors_id', '=', $tecnico);
        }
        if ($estado != "") {
            $instalacion_asignados_proveedor->where('asignacion_instalacions.estado_asignacion', '=', $estado);
        }
        if ($fecha1 != "") {
            $instalacion_asignados_proveedor->where('asignacion_instalacions.fecha_asignado', 'like', '%' . $fecha1 . '%');
        }
        if ($fecha2 != "") {
            $instalacion_asignados_proveedor->where('asignacion_instalacions.fecha_termino', 'like', '%' . $fecha2 . '%');
        }
        $acumulador = $instalacion_asignados_proveedor->get();

        $table = "";

        foreach ($acumulador as $datos) {
            $fecha = Carbon::createFromDate($datos->fecha_asignado)->format('d-m-Y H:s');
            $table .= "<tr>";
            $table .= "<td>" . strtoupper($datos->cliente) . "</td>";
            $table .= "<td>" . $fecha . "</td>";
            $table .= "<td>" . $datos->sc . "</td>";
            $table .= "<td>" . strtoupper($datos->serie) . "</td>";
            $table .= "<td>" . strtoupper($datos->nombre_uno) . " " . strtoupper($datos->apellido_uno) . "</td>";
            $table .= "<td>" . strtoupper($datos->estado_asignacion) . "</td>";
            $table .= "<td>PDF</td>";
            $table .= "</tr>";
        }

        return $table;
    }
    public function solicitudes_asociados_proveedors(Request $r)
    {
        $proveedor = Auth::user()->nombre_proveedor;

        $idSolicitudServicio = $r->id_solicitud;

        $datos_asignacion =  DB::connection(strtolower($proveedor))->table('asignacion_solicitudes')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_solicitudes.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->where('asignacion_solicitudes.api_solicitudes_id', '=', $idSolicitudServicio)
            ->select('asignacion_solicitudes.id', 'personas.nombre_uno', 'personas.apellido_uno', 'asignacion_solicitudes.estado_interno', 'asignacion_solicitudes.fecha')
            ->orderBy('asignacion_solicitudes.id', 'desc')
            ->get();

        $tbody = "";
        $i = 1;
        $totoal = count($datos_asignacion);
        $totoal = $totoal + 1;
        if (count($datos_asignacion) > 0) {
            foreach ($datos_asignacion as $row) {

                $j = $i++;

                $tbody .= "<tr>";
                $tbody .= "<td>" . $idSolicitudServicio . "</td>";
                $tbody .= "<td>" . ($totoal - $j) . "</td>";
                $tbody .= "<td> " . $row->nombre_uno . " " . $row->apellido_uno . "</td>";
                if ($row->estado_interno == "PENDIENTE" || $row->estado_interno == "PENDIENTE") {
                    $tbody .= '<td class="PENDIENTE">' . $row->estado_interno . "</td>";
                } else if ($row->estado_interno == "CANCELADO" || $row->estado_interno == "CANCELADO") {
                    $tbody .= '<td class="CANCELADO">' . $row->estado_interno . "</td>";
                } else if ($row->estado_interno == "REASIGNAR" || $row->estado_interno == "REASIGNAR") {
                    $tbody .= '<td class="CANCELADO">' . "REASIGNAR" . "</td>";
                } else if ($row->estado_interno == "FINALIZADO" || $row->estado_interno == "FINALIZADO") {
                    $tbody .= '<td class="FINALIZADO">' . $row->estado_interno . "</td>";
                } else if ($row->estado_interno == "ASIGNADO" || $row->estado_interno == "ASIGNADO") {
                    $tbody .= '<td class="ASIGNADO">' . $row->estado_interno . "</td>";
                } else if ($row->estado_interno == "REVISAR" || $row->estado_interno == "revisar") {
                    $tbody .= '<td class="revisado">' . "REVISAR" . "</td>";
                } else if ($row->estado_interno == "RECHAZADO" || $row->estado_interno == "RECHAZADO") {
                    $tbody .= '<td class="RECHAZADO">' . $row->estado_interno . "</td>";
                } else if ($row->estado_interno == "tarea_asignada" || $row->estado_interno == "Tarea_asignada") {
                    $tbody .= '<td class="PENDIENTE">' . "Tarea Asignada" . "</td>";
                } else {
                    $tbody .= '<td class="PENDIENTE">' . $row->estado_interno . "</td>";
                }

                //boton editar
                $tbody .= "<td>";
                $tbody .= '<a href="#" role="button" title="Editar">';
                $tbody .= "</a>";

                //boton historial para la coordinadora

                // <a class="btn-icon btn-icon-dd" href="{{route('generar.pdfProveedorServicios',Crypt::encryptString($los_datos->idAsignacion ?? ''))}}"><span class="material-icons-round">picture_as_pdf</span></a>

                // if ($row->estado_interno != "REVISAR" && $row->estado_interno != "revisar" && $row->estado_interno != "FINALIZADO" && $row->estado_interno && "FINALIZADO") {
                //boton finalizar
                $tbody .= "<a target='_blank' href='" . route('generar.pdfProveedorServicios', Crypt::encryptString($row->id)) . "' role='button' title='Finalizar Manual'>";
                $tbody .= "<span class='material-icons-round'>picture_as_pdf</span>";
                $tbody .= "</a>";
                // }

                $tbody .= "</td>";
                $tbody .= "</tr>";
            }
        } else {
            $tbody .= "<tr>";
            $tbody .= "<td>Sin Datos</td>";
            $tbody .= "</tr>";
        }

        return $tbody;
    }
    public function check_asociados_proveedors(Request $request)
    {
        $id_instalacion = $request->id_instalacion;
        $proveedor = Auth::user()->nombre_proveedor;

        $datos_asignacion = DB::connection(strtolower($proveedor))->table('asignacion_instalacions')
            ->join('trabajadors', 'trabajadors.id', '=', 'asignacion_instalacions.trabajadors_id')
            ->join('personas', 'personas.id', '=', 'trabajadors.id_persona')
            ->where('asignacion_instalacions.lista_instalacion_id', '=', $id_instalacion)
            ->select('asignacion_instalacions.id', 'personas.nombre_uno', 'personas.apellido_uno', 'asignacion_instalacions.estado_asignacion', 'asignacion_instalacions.fecha_instalacion')
            ->orderBy('asignacion_instalacions.id', 'desc')
            ->get();
        $i = 1;
        $totoal = count($datos_asignacion);
        $totoal = $totoal + 1;
        $tbody = "";

        if (count($datos_asignacion) > 0) {
            foreach ($datos_asignacion as $row) {
                $j = $i++;
                $tbody .= "<tr>";
                $tbody .= "<td>" . $id_instalacion . "</td>";
                $tbody .= "<td>" . ($totoal - $j) . "</td>";
                $tbody .= "<td> " . $row->nombre_uno . " " . $row->apellido_uno . "</td>";
                if ($row->estado_asignacion == "pendiente" || $row->estado_asignacion == "Pendiente") {
                    $tbody .= '<td class="pendiente">' . $row->estado_asignacion . "</td>";
                } else if ($row->estado_asignacion == "cancelado" || $row->estado_asignacion == "Cancelado") {
                    $tbody .= '<td class="cancelado">' . $row->estado_asignacion . "</td>";
                } else if ($row->estado_asignacion == "reasignar" || $row->estado_asignacion == "Reasignar") {
                    $tbody .= '<td class="cancelado">' . "Reasignar" . "</td>";
                } else if ($row->estado_asignacion == "finalizado" || $row->estado_asignacion == "Finalizado") {
                    $tbody .= '<td class="finalizado">' . $row->estado_asignacion . "</td>";
                } else if ($row->estado_asignacion == "asignado" || $row->estado_asignacion == "Asignado") {
                    $tbody .= '<td class="asignado">' . $row->estado_asignacion . "</td>";
                } else if ($row->estado_asignacion == "revisar" || $row->estado_asignacion == "revisar") {
                    $tbody .= '<td class="revisado">' . "Revisar" . "</td>";
                } else if ($row->estado_asignacion == "rechazado" || $row->estado_asignacion == "Rechazado") {
                    $tbody .= '<td class="rechazado">' . $row->estado_asignacion . "</td>";
                } else if ($row->estado_asignacion == "tarea_asignada" || $row->estado_asignacion == "Tarea_asignada") {
                    $tbody .= '<td class="pendiente">' . "Tarea Asignada" . "</td>";
                }
                //boton editar
                $tbody .= "<td>";
                //boton finalizar
                $tbody .= "<a target='_blank' href='" . route('generar.pdfCordinadoraInstalacion', Crypt::encryptString($row->id)) . "' role='button' title='Ver PDF'>";
                $tbody .= "<span class='material-icons-round'>picture_as_pdf</span>";
                $tbody .= "</a>";
                $tbody .= "</td>";
                $tbody .= "</tr>";
            }
        } else {
            $tbody .= "<tr>";
            $tbody .= "<td>Sin Datos</td>";
            $tbody .= "</tr>";
        }
        return $tbody;
    }
    public function estado_intalar_repuestos()
    {

        $databases = $this->nombre_database();

        foreach ($databases as $los_datos) {
            $pendientes_coordinador[] = DB::connection(strtolower($los_datos->Database))->select(
                'SELECT
                    api_solicitudes.sCliente as cliente,
                    api_solicitudes.sRegion as region,
                    api_solicitudes.sComuna as comuna,
                    api_solicitudes.sSc as serie,
                    api_solicitudes.estado_interno,
                    api_solicitudes.estado_externo,
                    api_solicitudes.proveedor_servicio as proveedor,
                    api_solicitudes.id as id,
                    asignacion_solicitudes.fecha_inicio as fecha,
                    asignacion_solicitudes.id as id_asig,
                    personas.nombre_uno,
                    personas.apellido_uno,
                    api_solicitudes.sDescripcion

                FROM 
                    api_solicitudes
                LEFT JOIN 
                    asignacion_solicitudes ON asignacion_solicitudes.api_solicitudes_id = api_solicitudes.id
                LEFT JOIN 
                    trabajadors on trabajadors.id = asignacion_solicitudes.trabajadors_id
                LEFT JOIN 
                    personas on personas.id = trabajadors.id_persona
                WHERE
                    api_solicitudes.estado_externo = "Instalar repuesto"');
        }
        $table = "";
        for ($i = 0; $i < count($pendientes_coordinador); $i++) {
            foreach ($pendientes_coordinador[$i] as $d1) {
                if($d1->estado_interno != "FINALIZADO"){
                    $table .= "<tr>";
                    $table .= "<td>" .strtoupper($d1->nombre_uno) . " " . strtoupper($d1->apellido_uno) . "</td>";
                    $table .= "<td>" . Carbon::createFromDate($d1->fecha)->format('d-m-Y H:s')  . "</td>";
                    $table .= "<td>" . $d1->cliente  . "</td>";
                    $table .= "<td>" . $d1->serie . "</td>";
                    $table .= "<td>" . $d1->estado_externo . "</td>";
                    $table .= "<td>" . $d1->sDescripcion . "</td>";
                    $table .= "<td>" . $d1->proveedor . "</td>";

                    
                    if($d1->estado_interno == ""){
                        $table .=
                        '<td>
                            <form action="' . route('go.asignar_check_servicios_home') . '" method="GET">
                                <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                <input type="hidden" value="' . $d1->id . '" name="id">
                                <button type="submit" class="btn btn-prim px sm-4" id="btnview">Asignar</button>
                            </form>
                        </td>';
                    }elseif($d1->estado_interno == "Solicitar Repuestos"){
                        $table .=
                        '<td>
                            <form action="' . route('go.ver_check_solicitud_cordinadora_home') . '" method="GET" target="_blank">
                                <input type="hidden" value="' . $d1->proveedor . '" name="proveedor">
                                <input type="hidden" value="' . $d1->id_asig . '" name="id">
                                <button type="submit" class="btn btn-prim px sm-4" id="btnview">Revisar</button>
                            </form>
                        </td>';
                    }
                    $table .= "</tr>";
                }
            }
        }
        return $table;
    }
}
