Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

On va utiliser la fonction firstdayofweek(D) qui retourne le premier jour de la semaine de la date D.

 firstdayofweek
Sur cette clause on va utiliser la fonction DATE() qui manipule des dates et la fonction firstdayofweek(D) qui retourne le premier jour de la semaine d'une date D.

Dans un critère expert on va a utiliser la fonction to_char(entite.champDate,'YYYY/IW') = to_char(current_date()) retourne le premier jour de la semaine courante

 firstdayofweek(current_date()-7) retourne le premier jour de la semaine dernière

Note
iconfalse
titleProblématique

Via l'assistant du système d'information il n'est pas possible de filtrer sur une semaine en particulier, il faut, lors de la génération de la requête, utiliser l'option "Modifier la requête générée par l'assistant" pour y insérer une clause sur la date qui filtre les éléments sur une semaine (utilisation de between pour donner la borne minimale et la borne maximale).

,'YYYY/IW') 

to_char  est une fonction de formatage

 YYYY retourne l'année sur quatre caractères

 IW retourne le numéro de la semaine basé sur le standard ISO 8601 (le premier jeudi de la nouvelle année correspond à la semaine 1)

current_date() retourne la date du jour courant


SELECT sum(round((declarationProduction.tempsFabrication)/3600000.0,2)) FROM DeclarationProductionEntite as declarationProduction left outer join declarationProduction.operateur as employe WHERE declarationProduction.dateFinValidite is null AND employe.code = '67' AND DATE(declarationProduction.dateDeclaration) BETWEEN DATE(firstdayofweek(current_date())) AND DATE(firstdayofweek(current_date())) + 6 )

chiffre d'affaire client de la semaine en cours :


Image Added

La requête du critère expert est donc :

Info
iconfalse
titleExemple

La requête suivante fournit le temps déclaré pour l'employé ayant le code "67" sur la semaine courante :

Code Block
languagesql

to_char(caClient.dateFacture,'YYYY/IW') = to_char(current_date(),'YYYY/IW')

La requête exécutée, le résultat est le suivant :

Image Added