Im construire une application web qui est une application de gestion de processus. Plusieurs types d'employés différents afficheront une liste de tâches à effectuer et, à mesure que chacun accomplira une tâche, il sera transféré à l'employé suivant.Meilleur endroit pour trier une liste de tâches
La hiérarchie des tâches est Batch> Load> Assembly> Part> Task. Il existe actuellement 8 règles pour déterminer quelle tâche doit être travaillée en premier pour chaque type d'employé. Ces règles s'appliquent à la taille de la pièce et à la manière dont la complétion des pièces affectera la hiérarchie, par exemple si la partie A est complétée alors elle complète un lot où la partie B ne le sera pas car il reste encore d'autres parties à compléter.
De toute façon, c'est la hauteur d'ascenseur du fonctionnement du système. Ce que j'essaie de comprendre est une façon efficace, rapide et durable de faire cela en gardant à l'esprit que les règles peuvent changer et que d'autres règles peuvent être ajoutées.
Initialement, j'avais l'intention de laisser la DB (sql 2005) faire tout le travail lourd mais je crains que les règles plus compliquées seront difficiles à mettre en œuvre avec une base de données. Une alternative consiste donc à extraire une liste de tâches dans un niveau intermédiaire et à créer une collection d'objets, puis à appliquer chacune des règles à la collection. Je n'ai aucun doute que chaque règle pourrait être traduite en T-SQL de manière isolée, mais commander jusqu'à 8 critères en fonction du type de tâche semble être un gros problème. Un avantage que je peux voir avec l'approche de niveau intermédiaire est que je peux créer un système plus librement restreint où le flux de tâche peut être changé, ce serait plus difficile dans la DB je pense.
Alors, que recommanderiez-vous? Y a-t-il une troisième alternative à laquelle je n'ai pas pensé?
EDIT [1] Juste pour qualifier ce un peu plus, la DB ne devrait pas changer de ce que je développe d'abord dans.