Browse Source

Se agrega doctring a funcion de compara Hrarios y se mejoran los nombres de las variables para que cumplan el estandar.

main
jirho 1 year ago
parent
commit
ccc08633a1
  1. 79
      app/Http/Controllers/ApiPersonaController.php

79
app/Http/Controllers/ApiPersonaController.php

@ -39,7 +39,6 @@ class ApiPersonaController extends Controller
if ($request->has('telefono')) {
$persona = UaderMapuchePersona::BuscarPersonaPorTelefono($request->get('telefono'));
if ($persona) {
return ApiPersonaController::extraerDatosJson($persona);
}
@ -376,8 +375,8 @@ class ApiPersonaController extends Controller
return response()->json(['error' => trans('persona.DECLARACION_JURADA_NO_ENCONTRADA')], HttpStatus::NOT_FOUND);
}
$designaciones = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($designaciones)){
$cargos = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($cargos)){
return response()->json(['error' => trans('persona.NO_TIENE_DESIGNACIONES')], HttpStatus::NOT_FOUND);
}
@ -385,17 +384,17 @@ class ApiPersonaController extends Controller
$aux_horario = null;
$unidadAcademica = null;
foreach ($designaciones as $designacion) {
foreach ($cargos as $cargo) {
if($unidadAcademica == null){
$unidadAcademica = $designacion->Sede->ua_guarani;
$unidadAcademica = $cargo->Sede->ua_guarani;
}
if($designacion->id_funcion == $funcion && $designacion->Sede->uacad == $sede){
if($cargo->id_funcion == $funcion && $cargo->Sede->uacad == $sede){
# Si vino
foreach ($designacion->GrupoHorario as $grupo_horario) {
foreach ($cargo->GrupoHorario as $grupo_horario) {
foreach ($grupo_horario->Horarios as $horario) {
@ -459,8 +458,8 @@ class ApiPersonaController extends Controller
return response()->json(['error' => trans('persona.DECLARACION_JURADA_NO_ENCONTRADA')], HttpStatus::NOT_FOUND);
}
$designaciones = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($designaciones)){
$cargos = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($cargos)){
return response()->json(['error' => trans('persona.NO_TIENE_DESIGNACIONES')], HttpStatus::NOT_FOUND);
}
@ -468,17 +467,17 @@ class ApiPersonaController extends Controller
$aux_horario = null;
$sede = null;
foreach ($designaciones as $designacion) {
foreach ($cargos as $cargo) {
if($sede == null){
$sede = $designacion->Sede->uacad;
$sede = $cargo->Sede->uacad;
}
if($designacion->id_funcion == $funcion && $designacion->Sede->ua_guarani == $unidadAcademica){
if($cargo->id_funcion == $funcion && $cargo->Sede->ua_guarani == $unidadAcademica){
# Si vino
foreach ($designacion->GrupoHorario as $grupo_horario) {
foreach ($cargo->GrupoHorario as $grupo_horario) {
foreach ($grupo_horario->Horarios as $horario) {
@ -602,37 +601,37 @@ class ApiPersonaController extends Controller
return response()->json(['error' => trans('persona.DECLARACION_JURADA_NO_ENCONTRADA')], HttpStatus::NOT_FOUND);
}
$designaciones = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($designaciones)){
$cargos = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($cargos)){
return response()->json(['error' => trans('persona.NO_TIENE_DESIGNACIONES')], HttpStatus::NOT_FOUND);
}
$designacionesUnidadAcademica = array();
$cargosUnidadAcademica = array();
foreach ($designaciones as $designacion) {
foreach ($cargos as $cargo) {
if($designacion->Sede->ua_guarani == $unidadAcademica){
if($cargo->Sede->ua_guarani == $unidadAcademica){
$designacionesUnidadAcademica[] = $designacion;
$cargosUnidadAcademica[] = $cargo;
}
}
if(empty($designacionesUnidadAcademica)){
if(empty($cargosUnidadAcademica)){
return response()->json(['error' => trans('persona.NO_TIENE_DESIGNACIONES_UA')], HttpStatus::NOT_FOUND);
}
$funciones = array();
$funcion = null;
foreach ($designacionesUnidadAcademica as $designacionUA) {
foreach ($cargosUnidadAcademica as $cargoUnidadAcademica) {
$funcion = [
'tipo' => $designacionUA->id_funcion,
'tipo' => $cargoUnidadAcademica->id_funcion,
'unidad_academica' => $unidadAcademica,
'sede' => $designacionUA->Sede->uacad
'sede' => $cargoUnidadAcademica->Sede->uacad
];
if(!in_array($funcion, $funciones)){ # para que no se repitan las funciones por tarea o designacion
if(!in_array($funcion, $funciones)){ # para que no se repitan las funciones por cargo
$funciones[] = $funcion;
}
}
@ -661,37 +660,37 @@ class ApiPersonaController extends Controller
return response()->json(['error' => trans('persona.DECLARACION_JURADA_NO_ENCONTRADA')], HttpStatus::NOT_FOUND);
}
$designaciones = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($designaciones)){
$cargos = $declaracion_jurada->CargosGrupo()->where('estado', 'A')->get();
if(empty($cargos)){
return response()->json(['error' => trans('persona.NO_TIENE_DESIGNACIONES')], HttpStatus::NOT_FOUND);
}
$designacionesSede = array();
$cargosSedes = array();
$unidadAcademica = null;
foreach ($designaciones as $designacion) {
foreach ($cargos as $cargo) {
if($designacion->Sede->uacad == $sede){
if($cargo->Sede->uacad == $sede){
$designacionesSede[] = $designacion;
$cargosSedes[] = $cargo;
if($unidadAcademica == null){
$unidadAcademica = $designacion->Sede->ua_guarani;
$unidadAcademica = $cargo->Sede->ua_guarani;
}
}
}
if(empty($designacionesSede)){
if(empty($cargosSedes)){
return response()->json(['error' => trans('persona.NO_TIENE_DESIGNACIONES_SEDE')], HttpStatus::NOT_FOUND);
}
$funciones = array();
$funcion = null;
foreach ($designacionesSede as $designacionSede) {
foreach ($cargosSedes as $cargoSede) {
$funcion = [
'tipo' => $designacionSede->id_funcion,
'tipo' => $cargoSede->id_funcion,
'unidad_academica' => $unidadAcademica,
'sede' => $sede
];
@ -710,7 +709,17 @@ class ApiPersonaController extends Controller
return response()->json($datos, HttpStatus::OK);
}
# FUNCION STANDALONE:
# FUNCIONES STANDALONE:
/**
* Compara dos horarios por su hora de entrada.
*
* Utilizada para ordenar un arreglo de horarios.
*
* @param array $a El primer horario a comparar.
* @param array $b El segundo horario a comparar.
* @return int Un valor negativo si $a es menor que $b, cero si son iguales, o un valor positivo si $a es mayor que $b.
*/
public static function compararHorarios($a, $b) {
return strcmp($a['hora_entra'], $b['hora_entra']);
}

Loading…
Cancel
Save