1) The meaning has nothing to do with the Spanish "hay que", which correspondent expression in Portuguese is "Tem-se que" or the imported expression "há que".
2) In the modern orthography, both in Portugal and Brasil, the hyphen is not used anymore and you should write "hão de".
3) "Haver de" is a modal auxiliary verb to future somewhat more similar to "shall" than "will".
It yields a notion of future, mixed with hope, desire, strong will or fatality.
I think the best example is this Christmas song, in which you could not use the normal future as it would sound strange or very pretentious.
Eu "hei de dar" ao Menino
Uma fitinha pro chapéu
E Ele também me "há de dar"
um lugarzinho no céu.
I'll give the little Child
A ribbon for the hat
And He also will give me
A little place in heaven.