Use Tasks on your Workflows
You can make a Validator that blocks a transition if all the Tasks are not Done.
You need to go to the workflow, select the transition and click validators:
Then add a Validator and select “All Tasks must be Done“:
Click add and publish the Workflow.
Now, when a user transition with unresolved tasks the transition will be blocked: