Acota.
A intervalos regulares, en tu código, coloca un:
echo $variable; exit;
y así vas checando tu código, lo que extraes de la base de datos y el valor de tus variables.
Estuve leyendo tu código, pero de pronto me pierdo, tienes buenos comentarios en tu código, sólo por eso medio le entendí, pero luego haces cosas muy raras, como por ejemplo usar un
switch() para un sólo
case.
switch($_POST["valor"])
{//inicio switch
case 2:
header("location:/sistema_productos/portales/portal_usuario/portal_jefe.php");
break;
}//fin switch 
Ve acotando tu código y mostrando resultados, así darás con tu error.