Commit eb24533b authored by Alfonso Rafael Solis Rangel's avatar Alfonso Rafael Solis Rangel
Browse files

Codigo no optimizado

parent b985150c
Loading
Loading
Loading
Loading
+43 −4
Original line number Diff line number Diff line
@@ -58,11 +58,11 @@ public function collection()
            });
        }

        $contactos = $query->with(['profesion', 'cargo', 'caracteristicas'])->get();
        $contactos = $query->with(['profesion', 'cargo', 'caracteristicas', 'telefonos', 'pareja'])->get();

        return $contactos->map(function ($contacto) {
            $defaultData = [
                'Profesión' => $contacto->profesion->nombre ?? 'N/A',
                'Profesión' => $contacto->profesion->abreviatura ?? 'N/A',
                'Nombre' => $contacto->nombre,
                'Apellido Paterno' => $contacto->ap_paterno,
                'Apellido Materno' => $contacto->ap_materno ?? '',
@@ -71,7 +71,30 @@ public function collection()

            $extraData = [];
            foreach ($this->extraFields as $field) {
                $extraData[$field] = $contacto->{$field} ?? 'N/A';
                if ($field === 'domicilio') {
                    // Agregar detalles del domicilio
                    $extraData['Domicilio Oficial'] = $contacto->domicilio_oficial ?? 'N/A';
                    $extraData['Código Postal'] = $contacto->codigo_postal ?? 'N/A';
                    $extraData['Localidad Oficial'] = $contacto->localidad_oficial ?? 'N/A';
                    $extraData['Municipio Oficial'] = $contacto->municipio_oficial ?? 'N/A';
                    $extraData['Estado'] = $contacto->estado ?? 'N/A';
                    $extraData['País'] = $contacto->pais ?? 'N/A';
                } elseif ($field === 'cumpleanos') {
                    $extraData['Cumpleaños'] = $contacto->mes_cump && $contacto->dia_cump
                        ? $contacto->mes_cump . '/' . $contacto->dia_cump
                        : 'N/A';
                }else if($field === 'telefonos'){
                    $extraData['Número de teléfono'] = $contacto->telefonos->pluck('numero')->join(', ') ?? 'N/A';
                    $extraData['Tipo'] = $contacto->telefonos->pluck('tipo')->join(', ') ?? 'N/A';
                    $extraData['Estatus'] = $contacto->telefonos->pluck('estatus')->join(', ') ?? 'N/A';
                    $extraData['Extensión'] = $contacto->telefonos->pluck('ext')->join(', ') ?? 'N/A';
                    $extraData['ID Radio'] = $contacto->telefonos->pluck('id_radio')->join(', ') ?? 'N/A';
                    $extraData['Observaciones'] = $contacto->telefonos->pluck('observaciones')->join(', ') ?? 'N/A';
                }else if($field === 'conyuge'){
                    $extraData['Cónyuge'] = $contacto->pareja->nombre && $contacto->pareja->ap_paterno && $contacto->pareja->ap_materno
                        ? $contacto->pareja->nombre . ' ' . $contacto->ap_paterno . ' ' . $contacto->pareja->ap_materno
                        : 'N/A';
                }
            }

            return array_merge($defaultData, $extraData);
@@ -81,6 +104,22 @@ public function collection()
    public function headings(): array
    {
        $defaultHeadings = ['Profesión', 'Nombre', 'Apellido Paterno', 'Apellido Materno', 'Cargo'];
        return array_merge($defaultHeadings, $this->extraFields);
        $extraHeadings = '';
        foreach ($this->extraFields as $field) {
            
            if ($field === 'domicilio') {
                $extraHeadings = ['Domicilio', 'Código Postal', 'Localidad', 'Municipio', 'Estado', 'Pais'];
                $defaultHeadings = array_merge($defaultHeadings, $extraHeadings);
            } elseif ($field === 'cumpleanos') {
                $extraHeadings = ['Cumpleaños'];
                $defaultHeadings = array_merge($defaultHeadings, $extraHeadings);
            } elseif ($field === 'telefonos') {
                $extraHeadings = ['Teléfonos', 'Tipo', 'Estatus', 'Extensión', 'ID Radio', 'Observaciones'];
                $defaultHeadings = array_merge($defaultHeadings, $extraHeadings);
            } elseif ($field === 'conyuge') {
                $extraHeadings[] = 'Cónyuge';
            }
        }
        return $defaultHeadings;
    }
}