IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Gestion d'absences / congés


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Gestion d'absences / congés
    Salut à tous

    Bon je voudrais avoir des avis pour mon MCD, j'en ai déjà longuement débattu aujourd'hui ^^

    Contexte

    Nous sommes dans une assoc où des employés ont la possibilité de faire des demandes de congés ou de RTT par le biais de leur intranet.
    Pour cela, un formulaire est disponible et il peuvent choisir le nombre d'heures (au quart d'heure près) par demi journées (matin et aprem) pour les RTT, ou le nombre de demi journées pour les congés.
    Chaque demande est soumise à la validation par un admin, elle reste en attente.
    L'administrateur peut la refuser ou la valider.
    Il est nécessaire de conserver la date pour l'envoi, la validation et le refus. Il faut en plus un motif pour la validation et le refus.
    Il est également possible de faire une demande d'annulation pour un congé /rtt demandé, cette annulation est effective tout de suite si la demande de congé /rtt n'a pas encore été validée. Si cette dernière a été validée, il faut la validation de l'amin.
    On est dans le même cas qu'une demande de congé.

    Dans la table "statut_demande_conge_rtt" et "statut_demande_annulation", je stocke les différents statuts que peut avoir une demande (en attente, refusée, validée...)

    Dans une demande, il est possible de prendre soit des RTT (par exemple 2h le matin du 6 avril + 4h l'aprem du 10 avril) soit des congés (là on coche des demi journées (par exemple on prend le matin du 4 avril et l'aprem du 6 avril...).
    Je considère pour le 1er exemple que 2 RTTs sont pris (c'est ma manière de dénombrer les RTTs).
    Pour le 2ème exemple, je considère que 2 congés sont pris.

    Voici le MCD :

    En fait j'hésite sur les cardinalités notamment...



    Si vous avez des suggestions, je suis preneur
    Merci à tous !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    ton association envoyer a une erreur.
    En effet, c'est une dépendance fonctionnelle (1.1 -> 0.n) il ne peux y avoir de propriété.
    La date d'envoi se trouve donc dans la demande_conge_rtt.
    De même pour la date_demande dans demande_annulation


    Sinon, que sont les parties du jour?

    Si ce sont matin/soir etc... personnellement je préfère laisser cette précision aux développeurs et juste stocker date début/date fin (ou date/début+durée). C'est plutôt de leur coté, coté traitement qu'ils s’embêteront avec les quarts d'heures.

    Deux entités statuts, ca ne sert a rien. elles sont identiques.



    Quelques pistes d'amélioration ci le cœur t'en dit -> héritage des Congés et rtt sous une entité mère par exemple type de repos.


    Tu remarqueras que tes associations refuser/accepter sont rigoureusement les mêmes, et que le statut t'indique si ta demande est refusé/validé:

    Tes refus/validation peuvent aussi se traduire comme ceci:
    utilisateur<- 0.n --Subir validation ----- 1.1 demande congès rtt

    Avec date_Statut la date du valider/refuser/
    motif le motif de refus/ou de la validation

    Et tu connais le statut par l’entité demande_statut.




    Sinon, pour remplacer toute cette impression de miroir sur ton mcd, avec deux héritage ca donnerait un truc dans l'genre (pardonne mes talents d'artistes) [voir piece jointe]

    Après, ca dépend de ton niveau et du besoin d'optimisation de ta bd
    Images attachées Images attachées  

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup de ton aide

    partie_du_jour c'est bien matin ou aprem
    Le truc c'est que dans une demande de RTT par exemple, l'utilisateur peut très bien poser une heure un matin, 2 heures l'aprem du lendemain et 3 heures l'aprem 3 jours après. A partir de là, comme stocker une date de début et fin ?

    Alors j'ai regardé attentivement ton schéma, mais ne faudrait-il par raccorder l'utilisateur sur l'entité demande ?

    En fait je me pose juste la question de savoir comment je fais apparaître qu'une demande peut être validée /refusée ou annulée ?

    J'ai essayé de retoucher un peu le mcd que tu as fait pour te montrer un peu comment je voyais les choses :



    Merci

    En fait là j'ai fini les formulaires pour poser les congés et je voudrais savoir les tables que je dois créer, c'est ça la finalité ^^
    Il faut faire un MPD me semble t-il mais je ne sais aps trop comment ça marche (sachant que je tourne après avec MySQL) :/

  4. #4
    Membre régulier Avatar de figarojuju
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 73
    Points
    73
    Par défaut
    Bonjour,
    S'agit-il du status du jour de congé auquel vous faites allusion ?
    Un status pouvant avoir les valeurs: accepté, refusé, abandonné.
    Quelque part, vous pouvez créer un status de ce type.
    Bonne journée

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Un congé ou un RTT sont tous deux des absences. Que cette absence soit de quelques heures ou de plusieurs jours, il y a toujours une date/heure de début et une date/heure de fin.

    Si je demande à partir 2 heures plus tôt demain, je demande à m'absenter du 20/03/2012 15h30 au 20/03/2012 17h30.

    À partir de là, on peut généraliser au concept d'absence. Si tu as des propriétés spécifiques aux RTT et aux congés, modélise un héritage.

    conge -(1,1)----être----0,1---------------------|
    RTT -(1,1)----être----0,1------------------------|
    utilisateur -0,n----demander----1,1- absence

    La date de demande est une propriété de la demande.

    Ensuite, l'administrateur, qui est aussi un utilisateur, répond à la demande en la validant ou en la refusant avec un motif.

    utilisateur -0,n----répondre----0,1- demande

    La date de réponse est cette fois une propriété de l'association "répondre", ainsi que le statut de cette réponse et le motif.

    Si le statut est et sera toujours booléen (validé ou refusé) on peut utiliser une propriété booléenne. Si par contre il peut y avoir d'autres statuts (en attente, annulé), il faut externaliser le statut et donc transformer l'association "répondre en entité-type "reponse".
    Le motif pouvant être répétitf, il convient aussi de l'externaliser.

    utilisateur -0,n----effectuer----1,1- reponse -(1,1)----concerner----0,1- demande
    statut -0,n----appliquer----1,1--------------|
    motif -0,n----affecter----1,1-----------------|

    L'annulation peut se modéliser de la même façon s'il y a des motifs et des statuts. C'est au traitement, de voir s'il y a déjà une réponse à la demande que l'utilisateur souhaite annuler.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [MCD] Gestion des absences et des congés
    Par RZinaoui dans le forum Schéma
    Réponses: 4
    Dernier message: 27/03/2013, 10h29
  2. [Calendrier] Gestion des absences
    Par marygil dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/10/2008, 09h56
  3. Gestion des absences pour les taches.
    Par olator dans le forum SharePoint
    Réponses: 4
    Dernier message: 28/12/2007, 09h53
  4. Gestion des présences/congès.
    Par papagei2 dans le forum Modélisation
    Réponses: 11
    Dernier message: 17/10/2007, 00h16
  5. Absence / congés
    Par code34 dans le forum PhpMyObject
    Réponses: 0
    Dernier message: 02/08/2007, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo