I have a couple remarks on your project, and maybe I can help you to move forward.
The problem of finding a work schedule for employees has been thoroughly studied by researchers. For example, just google "airline crew scheduling" or "nurse scheduling".
Your project can be modeled as a linear programming problem, and it can be worked out using one of the several readily available solvers (some of them are free). Or you can compare the schedule your current implementation delivers against the solver result.
Scheduling is a hard problem, and plain linear programming is not efficient for enterprise grade problems. Special tools have been devised, but I wouldn't suggest any of them for a first approach.
In order to advance in this direction, it is required to build a model (or adjust a published model) for your project. This model is just a set of mathematical expressions or formulas in a text file, which the solver ingests. The solver then produces a results report which needs some interpretation to put it in the original problem context.
A more complete integration can be built, such that worker availability and constraints are fed by your existing front end (or read from your database) by the solver, and results are translated back for easy reading in your admin interface, it just takes a bit of scripting.
I can help with this model building and solution extraction task if you're interested. Just drop me a line thru Chat to further discuss your project. Thanks anyway.