Ok on dirait que vous parlez d'un changement de calendrier ou d'un plan qui est actuellement mis au point par une personne utilisant une feuille de calcul Excel et que vous voulez « informatiser » le processus. 1er avertissement: "La planification n'est pas triviale." La manière dont vous stockez l'heure n'est pas très importante, mais il est courant d'établir un certain niveau de granularité et de convertir le temps de la tâche en multiples entiers de cet intervalle afin de simplifier la tâche d'ordonnancement.
Si vous voulez automatiser le processus ou simplement effectuer une vérification d'erreur, vous voudrez peut-être un peu simplifier les choses. Un calendrier hebdomadaire de base avec des heures de début et de fin, et peut-être des informations sur les équipes seront nécessaires. Un calendrier d'exception serait une bonne idée à planifier dès le départ. Le calendrier des exceptions permet les congés et d'autres exceptions. Un tableau contenant des informations sur les ressources et la capacité sera nécessaire. Un tableau contenant toutes les tâches à programmer et toutes les dépendances entre les tâches sera nécessaire. Voulez-vous envisager des exigences concurrentes? (J'ai besoin d'un camion et d'un chauffeur ...) Voulez-vous envisager une planification intermittente des ressources? Devriez-vous prendre en charge la planification avant ou arrière? Prévoyez-vous soutenir quoi si des scénarios? (Ensuite, vous aurez besoin d'un calendrier maître qui est indépendant du calendrier de planification) Voulez-vous hiérarchiser la façon dont les tâches sont placées sur le calendrier? (Beaucoup de choses sont nécessaires ici en fonction du travail à faire.) Vous pouvez très bien vouloir identifier un sous-ensemble des tâches à programmer. Ensuite, fournissez simplement un mécanisme de rapport pour montrer si le travail restant peut tenir dans l'espace blanc de l'horaire. (Si vous ne pouvez pas obtenir les 10% les plus exigeants dans le temps disponible qui se soucie des 90% restants)
2nd Attention: "Si Dieu a écrit l'horaire, la plupart des compagnies ne pourraient pas le suivre."
Pas si moche ... Obtient le travail avec le moins de code possible et n'a pas beaucoup d'impact sur les performances. –
Merci, j'ai enlevé le Math.ceil() dans ma version comme je ne voulais pas faire l'arrondi, mais pour montrer l'heure sous forme décimale. –