Essayes de découper le problème en plusieurs problèmes plus simples.
Tu dois additionner les périodes ouvertes entre la date d'enregistrement et la date de résolution de l'incident.
Il te faut donc :
- Une fonction pour retourner la prochaine date d'ouverture suivant une date fournie.
- Une autre qui retourne la prochaine date de fermeture suivant une date fournie.
- Une fonction qui permet de savoir si une date fournie correspond à une période ouverte ou non.
Ensuite tu n'a qu'à additionner les tranches ouvertes entre la prochaine date d'ouverture suivant l'enregistrement du problème (ou la date d'enregistrement elle-même si elle correspond à une date ouverte) et la date de résolution du problème (qui logiquement doit forcément correspondre à une date ouverte, donc on peut renforcer ca par une précondition).