il y a un événement de dépôt dont la colonne 8 des données complémentaires, censée contenir la taille de l'objet et pouvoir être castée en INT, est en fait un texte
C'est une valeur vide parce que le c'est un dépôt d'archive dossier (sans pièce)
Evénement de dépôt avec une resource:
[
"maarchRM_5o29z5c7f-0000-1y1v2i",
"SHA256",
"1903047eb078ed77ffa4542f705910e544545a70428fb2c90d0ed0cb43c46f1e",
"\\\\\\\\maarchRM\\ACME\\DIP\\DOSIP\\2020\\09\\03\\maarchRM_5o29mswmf-0000-qhozdw\\maarchRM_5o29z0uof-0000-jgdbso\\maarchRM_5o29z5bss-0000-k5sbcv\\maarchRM_5o29z5c7f-0000-1y1v2i",
"DIP",
"",
"GIC",
"",
263045
]
Evénement dépôt sans ressource :
[
"",
"",
"",
"\\\\maarchRM\\ACME\\DIP\\DOSIP\\2020\\09\\03\\maarchRM_5o29mswmf-0000-qhozdw\\maarchRM_5o29z0uof-0000-jgdbso",
"DIP",
"",
"GIC",
"",
""
]
Il faut donc ajouter une clause dans le SQL pour ne prendre en compte que les valeurs numériques à chaque fois qu'on fait la somme de la taille:
Modification du contrôleur Statistics dans fonction 'getSizeForDirectEvent'
Requête qui plantait :
~~sql
SELECT SUM(CAST("event"."eventInfo"::json->>8 AS INTEGER))
FROM "lifeCycle"."event" "event"
WHERE "event"."eventType" IN ('recordsManagement/deposit')
Requête corrigée:
~~sql
SELECT SUM(CAST(COALESCE(NULLIF("event"."eventInfo"::json->>8, ''), '0') AS INTEGER))
FROM "lifeCycle"."event" "event"
WHERE "event"."eventType" IN ('recordsManagement/deposit')