<?php

namespace App\Http\Controllers;

use App\GTVAlumnos;
use Illuminate\Http\Request;

use App\DepartamentoPuesto;
use App\RFAlumno;

class WSController extends Controller
{
	/**/
	public function alumno($no_control){
		if ($no_control=='15650298') {
			$alu = GTVAlumnos::where('ncontrol_alu', $no_control)->with('carrera')->first();
			return response()->json([
				'estado'=>'exito', 
				'nombre'=>$alu->nombre_alu,
				'paterno'=>$alu->apaterno_alu,
				'materno'=>$alu->amaterno_alu,
				'no_control'=>$alu->ncontrol_alu,
				'domicilio'=>$alu->domicilio_alu,
				'correo'=>$alu->correo_alu,
				'telefono'=>$alu->telefono_alu,
				'carrera'=>$alu->carrera->nombre_carr,
				'ciudad'=>'N/A',
				'semestre'=>'N/A',
				'no_seguro'=>'N/A', //serial
				'tipo_seguro'=>'N/A', //axa seguros 
				'creditos'=>'N/A',
			]);
		} else {
			return response()->json(['estado'=>'error', 'mensaje'=>'Usuario no encontrado']);
		}
	}  

	/*
	
	 */
	public function personal($clave){

		if ($clave=='99999') {
			return response()->json([
				'estado'=>'exito', 
				'clave'=>'99999',
				'titulo'=>'ING',
				'nombre'=>'Prueba',
				'paterno'=>'Residencias',
				'materno'=>'N/A',
				'abrev_personal'=>'XAXX',
				'nombre_departamento'=>'División de Estudios Profesionales',
				'abrev_departamento'=>'DEP',
			]);
		} else {
			return response()->json(['estado'=>'error', 'mensaje'=>'Personal no encontrado']);
		}
		
	}  

	/**
	 * Funcion para armar organigrama en la página del tec
	 * @return JSON con los puestos y nombres del personal
	 *
		31: Contador Publico
		32: Lic. Administracion
		36: Gestion
		33: Arqui
		35: inovacion
		13: alimentarias
		37: lenguas
		30: electro
	 */
	public function organigrama(){
		$deptos = DepartamentoPuesto::where('estado', '1')->whereHas('puesto', function($query){
			$query = $query->where('tipo', '1');
		})->whereNotIn('departamento_id', ['31', '32', '36', '33', '35', '13', '37', '30'])->get();

		foreach ($deptos as $d) {
			$dato = array('nombre'=> $d->departamento->nombre, 
										'encargado' => $d->personal->titulo." ".$d->personal->nombre." ".$d->personal->apellido_paterno." ".$d->personal->apellido_materno, 
										'relacion' => $d->departamento->referencia_a );
			$datos[] = $dato;

		}
		return response()->json($datos);

	}

	/**
	 * funcion para retorna datos de los alumnos que pueden titularse
	 * de acuerdo al sistema de para escolares que esta haciendo Marcos
	 * @param  [String] $alumnos Numeros de control 10650121,10650220
	 *                           debera contar con ese formato y sin espacios
	 * @return JSON 						 con los datos de los alumnos
	 */
	public function alumnos(Request $request){
		$data = $request->all();

		$a = "10650121,10651111,16650289,17650018,17650021";
		$vec = explode(",", $a);		
		for ($i=0; $i < count($vec); $i++) { 
			$vec[$i] = trim($vec[$i]); 
		} //quitar espacios si existen

		$alu = RFAlumno::whereIn('id', $vec)->with('carrera')->get();

		foreach ($alu as $a) {
			$dato = array('no_control'=> $a->id, 
										'nombre' => $a->nombre." ".$a->ap_paterno." ".$a->ap_materno, 
										'carrera' => $a->carrera->nombre,
										'carrera_abrev' => $a->carrera->abreviatura,
										'correo' => $a->correo,
										'correo_institucional' => $a->correo_institucional,
										'celular' => $a->celular
										);
			$datos[] = $dato;
		}

		return response()->json($datos);
		
	}

}
