From 45f9d2a2d5902ba33741be611be3dfcfbeb72b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20M=C3=A9rigot?= Date: Mon, 19 Apr 2021 14:40:04 +0200 Subject: [PATCH] fix(policy): avoid conflict when multiple campaign on same territory --- api/services/policy/src/providers/TripRepositoryProvider.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/services/policy/src/providers/TripRepositoryProvider.ts b/api/services/policy/src/providers/TripRepositoryProvider.ts index f3c3a52e4b..ebf06da962 100644 --- a/api/services/policy/src/providers/TripRepositoryProvider.ts +++ b/api/services/policy/src/providers/TripRepositoryProvider.ts @@ -57,7 +57,9 @@ export class TripRepositoryProvider implements TripRepositoryProviderInterface { ) ) as people FROM ${this.table} as pt - LEFT JOIN policy.incentives as pi ON pi.carpool_id = pt.carpool_id + LEFT JOIN policy.incentives as pi + ON pi.carpool_id = pt.carpool_id + AND pi.policy_id = $4::int WHERE pt.datetime >= $1::timestamp AND pt.datetime <= $2::timestamp AND pt.carpool_status = 'ok'::carpool.carpool_status_enum AND ( @@ -68,7 +70,7 @@ export class TripRepositoryProvider implements TripRepositoryProviderInterface { GROUP BY pt.trip_id ORDER BY min(pt.datetime) ASC `, - values: [policy.start_date, policy.end_date, policy.territory_id], + values: [policy.start_date, policy.end_date, policy.territory_id, policy.policy_id], }; const client = await this.connection.getClient().connect();