ておく vs てある — both mean 'already done'?

I keep mixing these up. 「ドアを閉めておきました」and 「ドアが閉めてあります」both seem to describe a door that's closed now. Is there an actual difference or are they interchangeable?
Post
沐學 Mizuru