As for the running at you.
Have you trained him? Obedience. Does he listen to you? Sit, down, stay.
Maybe you should take a ball with you to work and leave it in your car. So when you come home you can make him Sit in front of you and then throw him the ball. I do this every day with my 3 dogs. They get so excited when I come home, so imagine 2 full grown GSD running at you full speed haha. I get them excited to chase a frisbee and they no longer jump on me. They wait for that frisbee every day when I get off work and sit at the door and wait.
As for peeing.
I'll let someone else handle potty training. I don't believe in rubbing their noses in it. But I firm "No!" and picking them up by the scruff or if he's too big then shoo him out the door and mark with a potty command.