private static final UPDATE_INSERT_ELEVE_SOUS_SERVICE_PERIODE_DMS_SQL = """
WITH dm AS (
- SELECT eleve_id, :sousServiceId AS sous_service_id, :periodeId AS periode_id
+ SELECT
+ eleve_id,
+ :sousServiceId AS sous_service_id,
+ :periodeId AS periode_id,
+ cast('ELEVE_SOUS_SERVICE_PERIODE' AS varchar(200)) AS type_moyenne
FROM
unnest (ARRAY[:eleveIds]) AS eleve_id
),
UPDATE entnotes.dirty_moyenne AS dm_to_update
SET date_changement = now()
FROM dm
- WHERE dm_to_update.type_moyenne = 'ELEVE_SOUS_SERVICE_PERIODE'
+ WHERE dm_to_update.type_moyenne = dm.type_moyenne
AND dm_to_update.eleve_id = dm.eleve_id
AND dm_to_update.sous_service_id = dm.sous_service_id
AND dm_to_update.periode_id = dm.periode_id
- RETURNING *
+ RETURNING dm_to_update.*
)
INSERT INTO entnotes.dirty_moyenne (
id,
dm.eleve_id,
dm.sous_service_id,
dm.periode_id,
- 'ELEVE_SOUS_SERVICE_PERIODE',
+ dm.type_moyenne,
now()
FROM dm
WHERE NOT EXISTS (
- SELECT * FROM entnotes.dirty_moyenne AS dm_updated
- WHERE dm_updated.type_moyenne = 'ELEVE_SOUS_SERVICE_PERIODE'
+ SELECT * FROM dm_updated
+ WHERE dm_updated.type_moyenne = dm.type_moyenne
AND dm_updated.eleve_id = dm.eleve_id
AND dm_updated.sous_service_id = dm.sous_service_id
AND dm_updated.periode_id = dm.periode_id
private static final UPDATE_INSERT_ELEVE_PERIODE_DMS_SQL = """
WITH dm AS (
- SELECT eleve_id, periode_id
+ SELECT
+ eleve_id,
+ periode_id,
+ cast('ELEVE_PERIODE' AS varchar(200)) AS type_moyenne
FROM
unnest (ARRAY[:eleveIds]) AS eleve_id,
unnest (ARRAY[:periodeIds]) AS periode_id
UPDATE entnotes.dirty_moyenne AS dm_to_update
SET date_changement = now()
FROM dm
- WHERE dm_to_update.type_moyenne = 'ELEVE_PERIODE'
+ WHERE dm_to_update.type_moyenne = dm.type_moyenne
AND dm_to_update.eleve_id = dm.eleve_id
AND dm_to_update.periode_id = dm.periode_id
- RETURNING *
+ RETURNING dm_to_update.*
)
INSERT INTO entnotes.dirty_moyenne (
id,
nextval('entnotes.dirty_moyenne_id_seq'),
dm.eleve_id,
dm.periode_id,
- 'ELEVE_PERIODE',
+ dm.type_moyenne,
now()
FROM dm
WHERE NOT EXISTS (
- SELECT * FROM entnotes.dirty_moyenne AS dm_updated
- WHERE dm_updated.type_moyenne = 'ELEVE_PERIODE'
+ SELECT * FROM dm_updated
+ WHERE dm_updated.type_moyenne = dm.type_moyenne
AND dm_updated.eleve_id = dm.eleve_id
AND dm_updated.periode_id = dm.periode_id
)
private static final UPDATE_INSERT_ELEVE_SERVICE_PERIODE_DMS_SQL = """
WITH dm AS (
- SELECT eleve_id, :serviceId AS service_id, periode_id
+ SELECT
+ eleve_id,
+ :serviceId AS service_id,
+ periode_id,
+ cast('ELEVE_SERVICE_PERIODE' as varchar(200)) AS type_moyenne
FROM
unnest(ARRAY[:eleveIds]) AS eleve_id,
unnest(ARRAY[:periodeIds]) AS periode_id
UPDATE entnotes.dirty_moyenne AS dm_to_update
SET date_changement = now()
FROM dm
- WHERE dm_to_update.type_moyenne = 'ELEVE_SERVICE_PERIODE'
+ WHERE dm_to_update.type_moyenne = dm.type_moyenne
AND dm_to_update.eleve_id = dm.eleve_id
AND dm_to_update.service_id = dm.service_id
AND dm_to_update.periode_id = dm.periode_id
- RETURNING *
+ RETURNING dm_to_update.*
)
INSERT INTO entnotes.dirty_moyenne (
id,
dm.eleve_id,
dm.service_id,
dm.periode_id,
- 'ELEVE_SERVICE_PERIODE',
+ dm.type_moyenne,
now()
FROM dm
WHERE NOT EXISTS (
- SELECT * FROM entnotes.dirty_moyenne AS dm_updated
- WHERE dm_updated.type_moyenne = 'ELEVE_SERVICE_PERIODE'
+ SELECT * FROM dm_updated
+ WHERE dm_updated.type_moyenne = dm.type_moyenne
AND dm_updated.eleve_id = dm.eleve_id
AND dm_updated.service_id = dm.service_id
AND dm_updated.periode_id = dm.periode_id