PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Gestion d'horaires...
Gestion d'horaires...
Débuté par Mouneyrat, 05 oct. 2017 13:05 - 4 réponses
Posté le 05 octobre 2017 - 13:05
Bonjour,
Je n'arrive pas a coder cette gestion d'horaires
Si quelqu'un a la solution pour contrôler et interdire les chevauchements....
Merci d'avance
Pascal
-----------------------------------------------------------------------------------------------------------------
NewDebutTravail et NewFinTravail sont des heures

Liste de période existante :
DebutTravail_1 FinTravail_1
DebutTravail_2 FinTravail _2
DebutTravail_3 FinTravail _3

Règles pour interdire les chevauchements de période :
1) La période NewDebutTravail / NewFinTravail ne doit pas chevaucher une période existante en base de donnée.

2) Elle peut en revanche s’intercaler entre 2 périodes existantes.

3) Elle ne doit pas englober une, ou des périodes existantes.

4) La saisie ne se fait pas forcement de manière séquentielle
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 05 octobre 2017 - 14:51
Bonjour,
Je ne connais pas la configuration de vos fichiers, donc, je vais faire des suppositions.

Si j'ai compris la demande, je la projette en image.



J'en ai déduit ma règle pour rentrer dans les critères d'acceptation (ci-dessus).









Un plus : Pour palier au heure en AM/PM et 24H, il est bon de les transformer en réels (DateHeureVersRéel)

Jean Michel,

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev
http://www.cashpower.fr/

Bangkok / Pattaya
Posté le 05 octobre 2017 - 17:28
Merci Jean Michel
Pour la réponse, c'est plus simple finalement que je croyais !
Je vais tester cela
Pascal

Jean-Michel a écrit :
Bonjour,
Je ne connais pas la configuration de vos fichiers, donc, je vais faire des suppositions.

Si j'ai compris la demande, je la projette en image.



J'en ai déduit ma règle pour rentrer dans les critères d'acceptation (ci-dessus).









Un plus : Pour palier au heure en AM/PM et 24H, il est bon de les transformer en réels (DateHeureVersRéel)

Jean Michel,

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev
http://www.cashpower.fr/

Bangkok / Pattaya
Membre enregistré
333 messages
Popularité : +9 (13 votes)
Posté le 06 octobre 2017 - 02:13
Un grand merci @ Jean-Michel pour les schémas présentés avec leurs explications.
BRAVO.
Posté le 16 octobre 2017 - 17:06
SELECT
CASE WHEN ( ( ( Arrets.HJ_DEB <= {Param_DateHeureDebut_Arret} ) AND ( Arrets.HJ_FIN <= {Param_DateHeureDebut_Arret} ) )
OR ( ( Arrets.HJ_DEB >= {Param_DateHeureFin_Arret} ) AND ( Arrets.HJ_FIN >= {Param_DateHeureFin_Arret} ) ) )
THEN 'OK' ELSE 'PB' END AS Expr1
FROM
Arrets