call spQuery_Lista_Empresa(1, NULL, NULL);

DROP PROCEDURE IF EXISTS spQuery_Lista_Empresa_RRHH;
CREATE PROCEDURE spQuery_Lista_Empresa_RRHH(
  varUsuario  int,
	varCodigo   varchar(19),
  varNombre   varchar(10)
)
BEGIN 
  DECLARE varCadCod, varCadNom text default '';
  if ifnull(varCodigo,'')<>'' then
    set varCadCod = CONCAT(" and E.id_empresa = ", varCodigo, " ");
  end if;
  
  if ifnull(varNombre,'')<>'' then
    set varCadNom = CONCAT(" and E.nombre LIKE '%", varNombre, "%' ");
  end if;
  
  SET @sql = CONCAT("select U.id_empresa, nombre ",
                    "from _sys_usuario_agencia U ",
                    "inner join _sv_empresa E on U.id_empresa = E.id_empresa ",
                    "where E._estado='A' and U._estado='A' ",
                    "AND U.id_usuario = ", varUsuario, " ",
                    varCadCod, varCadNom,
                    "group by U.id_empresa, nombre;");
  PREPARE s1 FROM @sql;
  EXECUTE s1;
  DEALLOCATE PREPARE s1;
END;