Projects
rEve Requêtes techniques

Voici quelques exemples de requêtes techniques pouvant être exécutées par une adminstratrice uniquement, via l'interpréteur Python en ligne fourni sur chaque objet Appy via l'interface web.

⚠️ Pour une requête s'étendant sur plusieurs lignes, ramenez-la d'abord sur une ligne, en enlevant les caractères \ de fin de ligne.

Récupérer les identifiants des profils citoyens n'ayant pas de NRN mais qui ont au moins une inscription active de type Garderie ou Repas chaud

[p.iid for p in o.search('Parent') if not p.nrn and (p.getOngoingRegistrations('meal') or p.getOngoingRegistrations('daycare'))]

Récupérer les identifiants des enfants pour lesquels on trouve une information de type Garderie mais qui n'ont pas d'inscription active

[child.iid for child in o.search('Child') if child.hasOrphanInfo('daycare')]

Récupérer les identifiants des enfants pour lesquels on trouve une information de type Repas chaud mais qui n'ont pas d'inscription active

[child.iid for child in o.search('Child') if child.hasOrphanInfo('meal')]

Récupérer la liste des parents qui ont au moins 2 inscriptions en cours du même type (garderie ou repas), dans le but de déterminer ceux qui auraient pu ne pas bénéficier des prix dégressifs

Les parents ayant un profil de réduction neutralisant les prix dégressifs pour les activités du type en question (garderie ou repas) sont ignorés.

[p.iid for p in o.search('Parent') if len(p.getOngoingRegistrations('meal'))>1 and not p.noDecreasingPricesFor('meal')]
[p.iid for p in o.search('Parent') if len(p.getOngoingRegistrations('daycare'))>1 and not p.noDecreasingPricesFor('daycare')]

Liste des profils fantômes qui ont au moins une inscription de type Garderie ou Repas chaud

[p.iid for p in o.search('Parent') if p.phantom and (p.getOngoingRegistrations('meal') or p.getOngoingRegistrations('daycare'))]

Liste des citoyens ayant leurs enfants inscrits dans une école néerlandophone, qui ont au moins un forfait garderie et pour lesquels au moins un changement de profil de réduction a eu lieu depuis le début de la période concernée.

[p.iid for p in o.search('Parent') if p.getSchoolLanguage() == 'nl' and \
                                      p.getOngoingRegistrations('daycare', deferred=False) and \
                                      p.history.getEvents('Change', notBefore=DateTime('2024/09/01'), \
                                                          condition='"discountProfile" in event.changes')]