I need to create a scheduling tool that schedules a series of tasks through their sequence of tasks and timings, but within the confines of an 8 hour working day.

Is there a formula or method to schedule tasks within an 8 hour working day, and then move to the next working day for any remaining time element of the previous day's last task and follow on tasks?
I also need to schedule the related work orders through different work centres - e.g. Tasks 1-4 may run through workcentre A, with Tasks 5-7 through workcentre B.
Finally I have resources that can work in the workcentres, and need to allocate them to the relevant loaded workcentres.

ANY help with this is greatly appreciated. I have a hunch that this type of work may have already been created ............