public function execute(array $args)
 {
     if (isset($args['e_id'])) {
         /**
          * @var Empleado
          */
         $empleado = new Empleado($args['e_id']);
         $body = ['cedula' => trim($empleado->cedula), 'apellido1' => trim($empleado->apellido1), 'apellido2' => trim($empleado->apellido2), 'nombres' => trim($empleado->nombres)];
     } else {
         $empleados = EmpleadosMaper::all();
         $body = [];
         foreach ($empleados as $empleado) {
             $body[] = ['cedula' => trim($empleado->cedula), 'apellido1' => trim($empleado->apellido1), 'apellido2' => trim($empleado->apellido2), 'nombres' => trim($empleado->nombres)];
         }
     }
     return $this->responseInfo = ['body' => $body, 'status' => self::STATUS_CREATED];
 }
 public function execute(array $args)
 {
     $usersMaper = MySQLEntityManager::createMaper(User::class);
     $rolesMaper = MySQLEntityManager::createMaper(Rol::class);
     $count_nuevos = 0;
     $count_actualizados = 0;
     $empleados = EmpleadosMaper::all();
     $rolEmpleados = $rolesMaper->first(['nombre' => 'EMPL_ORD']);
     $rolEmpleadosTemporales = $rolesMaper->first(['nombre' => 'EMPL_ORD_TEMP']);
     $rolEmpleadosInactivos = $rolesMaper->first(['nombre' => 'EMPL_ORD_INACTIVO']);
     foreach ($empleados as $empleado) {
         $usuario = null;
         if (!($usuario = $usersMaper->first(['nombre' => $empleado->cedula]))) {
             $vinculacion_empleado = $empleado->vinculacion();
             if ($vinculacion_empleado['CODIGO'] == '01') {
                 if ($empleado->estadoC() == 'R') {
                     $usuario = $usersMaper->build(['nombre' => $empleado->cedula, 'contrasena' => password_hash($empleado->cedula, PASSWORD_BCRYPT), 'rol_id' => $rolEmpleadosInactivos->id]);
                 } else {
                     $usuario = $usersMaper->build(['nombre' => $empleado->cedula, 'contrasena' => password_hash($empleado->cedula, PASSWORD_BCRYPT), 'rol_id' => $rolEmpleados->id]);
                 }
             } else {
                 $usuario = $usersMaper->build(['nombre' => $empleado->cedula, 'contrasena' => password_hash($empleado->cedula, PASSWORD_BCRYPT), 'rol_id' => $rolEmpleadosTemporales->id]);
             }
             $usersMaper->save($usuario);
             ++$count_nuevos;
         } else {
             $vinculacion_empleado = $empleado->vinculacion();
             if ($vinculacion_empleado['CODIGO'] == '01') {
                 if ($empleado->estadoC() == 'R') {
                     $usuario->rol_id = $rolEmpleadosInactivos->id;
                 } else {
                     $usuario->rol_id = $rolEmpleados->id;
                 }
             } else {
                 $usuario->rol_id = $rolEmpleadosTemporales->id;
             }
             $usersMaper->save($usuario);
             ++$count_actualizados;
         }
     }
     $body = ['empleados agregados' => $count_nuevos, 'empleados actualizados' => $count_actualizados, 'total_empleados' => count($empleados)];
     return $this->responseInfo = ['body' => $body, 'status' => self::STATUS_CREATED];
 }