From bb3a391c235603f7ff124a117316d5f517e8ba9e Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Wed, 26 Jun 2024 13:27:55 -0700 Subject: [PATCH 01/13] 2.2.9 Updated the version --- gitops/charts/traffic-court-dev-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-prod-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-test-values.yaml | 18 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gitops/charts/traffic-court-dev-values.yaml b/gitops/charts/traffic-court-dev-values.yaml index 9aca6c71d..e29ce6fbb 100644 --- a/gitops/charts/traffic-court-dev-values.yaml +++ b/gitops/charts/traffic-court-dev-values.yaml @@ -7,14 +7,14 @@ global: arc-dispute-api: image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "Swagger__Enabled": "true" citizen-api: image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -30,7 +30,7 @@ citizen-api: citizen-web: image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always route: # https://dev.justice.gov.bc.ca @@ -39,7 +39,7 @@ citizen-web: { "production": false, "environment": "Dev", - "version": "2.1.10", + "version": "2.2.9", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -193,7 +193,7 @@ citizen-web: oracle-data-api: image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "JAVA_OPTS": "-Dlogging.level.ca.bc.gov.open.jag.tco.oracledataapi=DEBUG" @@ -208,7 +208,7 @@ oracle-data-api: staff-api: image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -222,7 +222,7 @@ staff-api: staff-web: image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always route: # https://dev.jag.gov.bc.ca @@ -241,7 +241,7 @@ staff-web: { "production": false, "environment": "Dev", - "version": "2.1.10", + "version": "2.2.9", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -251,7 +251,7 @@ staff-web: workflow-service: image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-prod-values.yaml b/gitops/charts/traffic-court-prod-values.yaml index cde7b8b24..3051369e0 100644 --- a/gitops/charts/traffic-court-prod-values.yaml +++ b/gitops/charts/traffic-court-prod-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "Swagger__Enabled": "false" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,13 +39,13 @@ citizen-web: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always appConfig: | { "production": true, "environment": "prod", - "version": "2.1.10", + "version": "2.2.9", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -221,7 +221,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "JAVA_OPTS": "" @@ -238,7 +238,7 @@ staff-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -256,7 +256,7 @@ staff-web: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -275,7 +275,7 @@ staff-web: { "production": true, "environment": "prod", - "version": "2.1.10", + "version": "2.2.9", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -288,7 +288,7 @@ workflow-service: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-test-values.yaml b/gitops/charts/traffic-court-test-values.yaml index 6f5e9d9e5..1805d9bef 100644 --- a/gitops/charts/traffic-court-test-values.yaml +++ b/gitops/charts/traffic-court-test-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "Swagger__Enabled": "true" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,7 +39,7 @@ citizen-web: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always route: # https://test.justice.gov.bc.ca @@ -48,7 +48,7 @@ citizen-web: { "production": false, "environment": "Test", - "version": "2.1.10", + "version": "2.2.9", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://bcmoag--staging.sandbox.my.salesforce-sites.com/?tn=BCTC", @@ -205,7 +205,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "JAVA_OPTS": "" @@ -222,7 +222,7 @@ staff-api: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -240,7 +240,7 @@ staff-web: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -259,7 +259,7 @@ staff-web: { "production": false, "environment": "Test", - "version": "2.1.10", + "version": "2.2.9", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -272,7 +272,7 @@ workflow-service: pdb: create: true image: - tag: "2.1.10" + tag: "2.2.9" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" From 612eac713f3c050b880c1a933b9e37266b82d9db Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Fri, 28 Jun 2024 13:06:13 -0700 Subject: [PATCH 02/13] TCVP-1617 fixed type field sorting --- .../jj-dispute-wr-assignments.component.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-wr-assignments/jj-dispute-wr-assignments.component.ts b/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-wr-assignments/jj-dispute-wr-assignments.component.ts index 4fcaf0eea..5cb5053a5 100644 --- a/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-wr-assignments/jj-dispute-wr-assignments.component.ts +++ b/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-wr-assignments/jj-dispute-wr-assignments.component.ts @@ -71,7 +71,9 @@ export class JJDisputeWRAssignmentsComponent implements OnInit, AfterViewInit { // custom sorting on columns this.dataSource.sortingDataAccessor = (data: any, sortHeaderId: string): string => { - if (typeof data[sortHeaderId] === 'string') { + if (sortHeaderId === 'timeToPayReason'){ + return this.getType(data); + } else if (typeof data[sortHeaderId] === 'string') { return data[sortHeaderId].toLocaleLowerCase(); } return data[sortHeaderId]; From bdb08a1b22d18e27f4a97fc730be3702f8bd7c7f Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Tue, 2 Jul 2024 13:11:03 -0700 Subject: [PATCH 03/13] 2.2.10 updated the version --- gitops/charts/traffic-court-dev-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-prod-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-test-values.yaml | 18 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gitops/charts/traffic-court-dev-values.yaml b/gitops/charts/traffic-court-dev-values.yaml index e29ce6fbb..dbcd4a4cb 100644 --- a/gitops/charts/traffic-court-dev-values.yaml +++ b/gitops/charts/traffic-court-dev-values.yaml @@ -7,14 +7,14 @@ global: arc-dispute-api: image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "Swagger__Enabled": "true" citizen-api: image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -30,7 +30,7 @@ citizen-api: citizen-web: image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always route: # https://dev.justice.gov.bc.ca @@ -39,7 +39,7 @@ citizen-web: { "production": false, "environment": "Dev", - "version": "2.2.9", + "version": "2.2.10", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -193,7 +193,7 @@ citizen-web: oracle-data-api: image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "JAVA_OPTS": "-Dlogging.level.ca.bc.gov.open.jag.tco.oracledataapi=DEBUG" @@ -208,7 +208,7 @@ oracle-data-api: staff-api: image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -222,7 +222,7 @@ staff-api: staff-web: image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always route: # https://dev.jag.gov.bc.ca @@ -241,7 +241,7 @@ staff-web: { "production": false, "environment": "Dev", - "version": "2.2.9", + "version": "2.2.10", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -251,7 +251,7 @@ staff-web: workflow-service: image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-prod-values.yaml b/gitops/charts/traffic-court-prod-values.yaml index 3051369e0..d2068f6f2 100644 --- a/gitops/charts/traffic-court-prod-values.yaml +++ b/gitops/charts/traffic-court-prod-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "Swagger__Enabled": "false" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,13 +39,13 @@ citizen-web: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always appConfig: | { "production": true, "environment": "prod", - "version": "2.2.9", + "version": "2.2.10", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -221,7 +221,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "JAVA_OPTS": "" @@ -238,7 +238,7 @@ staff-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -256,7 +256,7 @@ staff-web: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -275,7 +275,7 @@ staff-web: { "production": true, "environment": "prod", - "version": "2.2.9", + "version": "2.2.10", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -288,7 +288,7 @@ workflow-service: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-test-values.yaml b/gitops/charts/traffic-court-test-values.yaml index 1805d9bef..377c98e59 100644 --- a/gitops/charts/traffic-court-test-values.yaml +++ b/gitops/charts/traffic-court-test-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "Swagger__Enabled": "true" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,7 +39,7 @@ citizen-web: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always route: # https://test.justice.gov.bc.ca @@ -48,7 +48,7 @@ citizen-web: { "production": false, "environment": "Test", - "version": "2.2.9", + "version": "2.2.10", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://bcmoag--staging.sandbox.my.salesforce-sites.com/?tn=BCTC", @@ -205,7 +205,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "JAVA_OPTS": "" @@ -222,7 +222,7 @@ staff-api: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -240,7 +240,7 @@ staff-web: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -259,7 +259,7 @@ staff-web: { "production": false, "environment": "Test", - "version": "2.2.9", + "version": "2.2.10", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -272,7 +272,7 @@ workflow-service: pdb: create: true image: - tag: "2.2.9" + tag: "2.2.10" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" From bb500bf233d2ee5e04f4da6a4b3cc4870604f6da Mon Sep 17 00:00:00 2001 From: Burak Karahan Date: Wed, 3 Jul 2024 12:13:54 -0400 Subject: [PATCH 04/13] TCVP-2873: Fixed a bug with generic type logger in 'TcoDisputeTicketController' which caused 500 error when submitting disputes to ARC --- .../Controllers/TcoDisputeTicketController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/TrafficCourts/TrafficCourts.Arc.Dispute.Service/Controllers/TcoDisputeTicketController.cs b/src/backend/TrafficCourts/TrafficCourts.Arc.Dispute.Service/Controllers/TcoDisputeTicketController.cs index 69ecb832c..158f083da 100644 --- a/src/backend/TrafficCourts/TrafficCourts.Arc.Dispute.Service/Controllers/TcoDisputeTicketController.cs +++ b/src/backend/TrafficCourts/TrafficCourts.Arc.Dispute.Service/Controllers/TcoDisputeTicketController.cs @@ -12,13 +12,13 @@ public class TcoDisputeTicketController : ControllerBase { private readonly IMapper _mapper; private readonly IArcFileService _arcFileService; - private readonly ILogger _logger; + private readonly ILogger _logger; // Assign the object in the constructor for dependency injection public TcoDisputeTicketController( IMapper mapper, IArcFileService arcFileService, - ILogger logger) + ILogger logger) { _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); _arcFileService = arcFileService ?? throw new ArgumentNullException(nameof(arcFileService)); From 9430e8af2bc383ff3ca8c65c6718c980a378b09e Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Thu, 4 Jul 2024 13:10:12 -0700 Subject: [PATCH 05/13] TCVP-2589 fixed the message --- .../staff-workbench/contact-info/contact-info.component.ts | 4 ++-- .../staff-workbench/ticket-info/ticket-info.component.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts b/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts index 8aeb0c595..61fbdfffe 100644 --- a/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts +++ b/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts @@ -238,7 +238,7 @@ export class ContactInfoComponent implements OnInit { actionType: "warn", cancelTextKey: "Go back", icon: "error_outline", - message: this.form.get('rejectedReason').value + message: "" }; this.dialog.open(ConfirmReasonDialogComponent, { data }).afterClosed() .subscribe((action?: any) => { @@ -269,7 +269,7 @@ export class ContactInfoComponent implements OnInit { actionType: "warn", cancelTextKey: "Go back", icon: "error_outline", - message: this.form.get('rejectedReason').value + message: "" }; this.dialog.open(ConfirmReasonDialogComponent, { data }).afterClosed() .subscribe((action?: any) => { diff --git a/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts b/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts index e159d9a31..fade1f54a 100644 --- a/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts +++ b/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts @@ -660,7 +660,7 @@ export class TicketInfoComponent implements OnInit { actionType: "warn", cancelTextKey: "Go back", icon: "error_outline", - message: this.form.get('rejectedReason').value + message: "" }; this.dialog.open(ConfirmReasonDialogComponent, { data }).afterClosed() .subscribe((action?: any) => { @@ -692,7 +692,7 @@ export class TicketInfoComponent implements OnInit { actionType: "warn", cancelTextKey: "Go back", icon: "error_outline", - message: this.form.get('rejectedReason').value + message: "" }; this.dialog.open(ConfirmReasonDialogComponent, { data }).afterClosed() .subscribe((action?: any) => { From 75b75c67443d448df0e026b3294611010821cdbd Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Thu, 4 Jul 2024 13:43:16 -0700 Subject: [PATCH 06/13] 2.2.11 updated the version --- gitops/charts/traffic-court-dev-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-prod-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-test-values.yaml | 18 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gitops/charts/traffic-court-dev-values.yaml b/gitops/charts/traffic-court-dev-values.yaml index dbcd4a4cb..0e6318eed 100644 --- a/gitops/charts/traffic-court-dev-values.yaml +++ b/gitops/charts/traffic-court-dev-values.yaml @@ -7,14 +7,14 @@ global: arc-dispute-api: image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "Swagger__Enabled": "true" citizen-api: image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -30,7 +30,7 @@ citizen-api: citizen-web: image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always route: # https://dev.justice.gov.bc.ca @@ -39,7 +39,7 @@ citizen-web: { "production": false, "environment": "Dev", - "version": "2.2.10", + "version": "2.2.11", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -193,7 +193,7 @@ citizen-web: oracle-data-api: image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "JAVA_OPTS": "-Dlogging.level.ca.bc.gov.open.jag.tco.oracledataapi=DEBUG" @@ -208,7 +208,7 @@ oracle-data-api: staff-api: image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -222,7 +222,7 @@ staff-api: staff-web: image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always route: # https://dev.jag.gov.bc.ca @@ -241,7 +241,7 @@ staff-web: { "production": false, "environment": "Dev", - "version": "2.2.10", + "version": "2.2.11", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -251,7 +251,7 @@ staff-web: workflow-service: image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-prod-values.yaml b/gitops/charts/traffic-court-prod-values.yaml index d2068f6f2..1878f8fc7 100644 --- a/gitops/charts/traffic-court-prod-values.yaml +++ b/gitops/charts/traffic-court-prod-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "Swagger__Enabled": "false" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,13 +39,13 @@ citizen-web: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always appConfig: | { "production": true, "environment": "prod", - "version": "2.2.10", + "version": "2.2.11", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -221,7 +221,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "JAVA_OPTS": "" @@ -238,7 +238,7 @@ staff-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -256,7 +256,7 @@ staff-web: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -275,7 +275,7 @@ staff-web: { "production": true, "environment": "prod", - "version": "2.2.10", + "version": "2.2.11", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -288,7 +288,7 @@ workflow-service: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-test-values.yaml b/gitops/charts/traffic-court-test-values.yaml index 377c98e59..5e3320bc4 100644 --- a/gitops/charts/traffic-court-test-values.yaml +++ b/gitops/charts/traffic-court-test-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "Swagger__Enabled": "true" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,7 +39,7 @@ citizen-web: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always route: # https://test.justice.gov.bc.ca @@ -48,7 +48,7 @@ citizen-web: { "production": false, "environment": "Test", - "version": "2.2.10", + "version": "2.2.11", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://bcmoag--staging.sandbox.my.salesforce-sites.com/?tn=BCTC", @@ -205,7 +205,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "JAVA_OPTS": "" @@ -222,7 +222,7 @@ staff-api: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -240,7 +240,7 @@ staff-web: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -259,7 +259,7 @@ staff-web: { "production": false, "environment": "Test", - "version": "2.2.10", + "version": "2.2.11", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -272,7 +272,7 @@ workflow-service: pdb: create: true image: - tag: "2.2.10" + tag: "2.2.11" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" From 826e5d327d0b389a84b22ed57a99ea8a0521178a Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Mon, 8 Jul 2024 15:50:22 -0700 Subject: [PATCH 07/13] TCVP-2471 capitalized --- .../jj-dispute-court-appearances.component.html | 2 +- .../jj-dispute-info/jj-dispute/jj-dispute.component.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-court-appearances/jj-dispute-court-appearances.component.html b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-court-appearances/jj-dispute-court-appearances.component.html index f32449add..3995f7e5c 100644 --- a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-court-appearances/jj-dispute-court-appearances.component.html +++ b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-court-appearances/jj-dispute-court-appearances.component.html @@ -101,7 +101,7 @@ - JJ endorsements: {{ element.comments }} + JJ Endorsements: {{ element.comments }} diff --git a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html index 3f336e5c0..4e43bde8b 100644 --- a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html +++ b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html @@ -443,7 +443,7 @@

Court Appearance

-

JJ endorsements:

+

JJ Endorsements:

From c342108544ca2502e6a9a5a1b0cf5ebede5e2805 Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Mon, 8 Jul 2024 16:14:38 -0700 Subject: [PATCH 08/13] TCVP-3012 added arrow styling --- .../jj-dispute-digital-case-file.component.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-digital-case-file/jj-dispute-digital-case-file.component.scss b/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-digital-case-file/jj-dispute-digital-case-file.component.scss index e29d9dea0..547fb3ca8 100644 --- a/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-digital-case-file/jj-dispute-digital-case-file.component.scss +++ b/src/frontend/staff-portal/src/app/components/jj-workbench/jj-dispute-digital-case-file/jj-dispute-digital-case-file.component.scss @@ -70,4 +70,8 @@ th { } } } + + .mat-sort-header-arrow { + color: #757575; + } } \ No newline at end of file From 8e3a67289a153c527352ab29a1aad3887c7b9a4d Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Tue, 9 Jul 2024 11:29:27 -0700 Subject: [PATCH 09/13] TCVP-2589 added file remark history for reject and cancel --- .../Staff.Service/Services/DisputeService.cs | 22 ++++++++++++++----- .../jj-dispute-remarks.component.ts | 22 +++++++++---------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/backend/TrafficCourts/Staff.Service/Services/DisputeService.cs b/src/backend/TrafficCourts/Staff.Service/Services/DisputeService.cs index 189d607f4..3fb711a0d 100644 --- a/src/backend/TrafficCourts/Staff.Service/Services/DisputeService.cs +++ b/src/backend/TrafficCourts/Staff.Service/Services/DisputeService.cs @@ -280,13 +280,17 @@ public async Task CancelDisputeAsync(long disputeId, string cancelledReason, Cla GetUserName(user)); await _bus.PublishWithLog(_logger, fileHistoryRecord, cancellationToken); - // Publish file history of cancellation email - fileHistoryRecord.AuditLogEntryType = FileHistoryAuditLogEntryType.EMCA; - await _bus.PublishWithLog(_logger, fileHistoryRecord, cancellationToken); + // Publish file history for cancelled remarks + SaveFileHistoryRecord fileHistoryRecordRemark = Mapper.ToFileHistoryWithNoticeOfDisputeId( + dispute.NoticeOfDisputeGuid, + FileHistoryAuditLogEntryType.FRMK, + GetUserName(user), + cancelledReason); + await _bus.PublishWithLog(_logger, fileHistoryRecordRemark, cancellationToken); // Publish cancel event (consumer(s) will generate email, etc) DisputeCancelled cancelledEvent = Mapper.ToDisputeCancelled(dispute); - await _bus. PublishWithLog(_logger, cancelledEvent, cancellationToken); + await _bus.PublishWithLog(_logger, cancelledEvent, cancellationToken); } public async Task RejectDisputeAsync(long disputeId, string rejectedReason, ClaimsPrincipal user, CancellationToken cancellationToken) @@ -304,7 +308,15 @@ public async Task RejectDisputeAsync(long disputeId, string rejectedReason, Clai GetUserName(user)); await _bus.PublishWithLog(_logger, fileHistoryRecord, cancellationToken); - // Publish submit event (consumer(s) will generate email, etc) + // Publish file history for rejected remarks + SaveFileHistoryRecord fileHistoryRecordRemark = Mapper.ToFileHistoryWithNoticeOfDisputeId( + dispute.NoticeOfDisputeGuid, + FileHistoryAuditLogEntryType.FRMK, + GetUserName(user), + rejectedReason); + await _bus.PublishWithLog(_logger, fileHistoryRecordRemark, cancellationToken); + + // Publish reject event (consumer(s) will generate email, etc) DisputeRejected rejectedEvent = Mapper.ToDisputeRejected(dispute); await _bus.PublishWithLog(_logger, rejectedEvent, cancellationToken); } diff --git a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-remarks/jj-dispute-remarks.component.ts b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-remarks/jj-dispute-remarks.component.ts index 62f0b3a59..53eff6f7b 100644 --- a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-remarks/jj-dispute-remarks.component.ts +++ b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute-remarks/jj-dispute-remarks.component.ts @@ -1,4 +1,4 @@ -import { Component, OnChanges, ViewChild, Input, OnDestroy } from '@angular/core'; +import { Component, ViewChild, Input, OnDestroy } from '@angular/core'; import { MatLegacyTableDataSource as MatTableDataSource } from '@angular/material/legacy-table'; import { MatSort } from '@angular/material/sort'; import { FileHistory, JJDisputeRemark } from 'app/api'; @@ -10,7 +10,7 @@ import { Subscription } from 'rxjs'; templateUrl: './jj-dispute-remarks.component.html', styleUrls: ['./jj-dispute-remarks.component.scss'], }) -export class JJDisputeRemarksComponent implements OnChanges, OnDestroy { +export class JJDisputeRemarksComponent implements OnDestroy { @Input() data: JJDisputeRemark[]; @ViewChild(MatSort) sort = new MatSort(); @@ -30,10 +30,6 @@ export class JJDisputeRemarksComponent implements OnChanges, OnDestroy { })); } - ngOnChanges(): void { - this.refreshData(); - } - ngOnDestroy(): void { this.subscriptions.forEach(subscription => { subscription.unsubscribe(); @@ -43,11 +39,13 @@ export class JJDisputeRemarksComponent implements OnChanges, OnDestroy { refreshData(): void { // Add ticket validation saving remarks this.historyRecordService.FileHistories?.filter(i => i.auditLogEntryType === "FRMK").forEach((fileHistory: FileHistory) => { - this.data.push({ - createdTs: fileHistory.createdTs, - userFullName: fileHistory.actionByApplicationUser, - note: fileHistory.comment - }) + if(this.data){ + this.data.push({ + createdTs: fileHistory.createdTs, + userFullName: fileHistory.actionByApplicationUser, + note: fileHistory.comment + }) + } }) this.data = this.data?.sort((a: JJDisputeRemark, b: JJDisputeRemark) => { @@ -55,4 +53,4 @@ export class JJDisputeRemarksComponent implements OnChanges, OnDestroy { }); this.dataSource = new MatTableDataSource(this.data); } -} +} \ No newline at end of file From 1f48103e4cc2faa35598623d0279a17ffbb63b75 Mon Sep 17 00:00:00 2001 From: Sai Krishna Metpalli <310911@NTTDATA.COM> Date: Tue, 9 Jul 2024 12:38:25 -0700 Subject: [PATCH 10/13] 2.2.12 updated the version --- gitops/charts/traffic-court-dev-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-prod-values.yaml | 18 +++++++++--------- gitops/charts/traffic-court-test-values.yaml | 18 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gitops/charts/traffic-court-dev-values.yaml b/gitops/charts/traffic-court-dev-values.yaml index 0e6318eed..ee1e5c439 100644 --- a/gitops/charts/traffic-court-dev-values.yaml +++ b/gitops/charts/traffic-court-dev-values.yaml @@ -7,14 +7,14 @@ global: arc-dispute-api: image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "Swagger__Enabled": "true" citizen-api: image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -30,7 +30,7 @@ citizen-api: citizen-web: image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always route: # https://dev.justice.gov.bc.ca @@ -39,7 +39,7 @@ citizen-web: { "production": false, "environment": "Dev", - "version": "2.2.11", + "version": "2.2.12", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -193,7 +193,7 @@ citizen-web: oracle-data-api: image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "JAVA_OPTS": "-Dlogging.level.ca.bc.gov.open.jag.tco.oracledataapi=DEBUG" @@ -208,7 +208,7 @@ oracle-data-api: staff-api: image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -222,7 +222,7 @@ staff-api: staff-web: image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always route: # https://dev.jag.gov.bc.ca @@ -241,7 +241,7 @@ staff-web: { "production": false, "environment": "Dev", - "version": "2.2.11", + "version": "2.2.12", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -251,7 +251,7 @@ staff-web: workflow-service: image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-prod-values.yaml b/gitops/charts/traffic-court-prod-values.yaml index 1878f8fc7..13d15180a 100644 --- a/gitops/charts/traffic-court-prod-values.yaml +++ b/gitops/charts/traffic-court-prod-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "Swagger__Enabled": "false" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,13 +39,13 @@ citizen-web: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always appConfig: | { "production": true, "environment": "prod", - "version": "2.2.11", + "version": "2.2.12", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://understandmyticket.gov.bc.ca/", @@ -221,7 +221,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "JAVA_OPTS": "" @@ -238,7 +238,7 @@ staff-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -256,7 +256,7 @@ staff-web: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -275,7 +275,7 @@ staff-web: { "production": true, "environment": "prod", - "version": "2.2.11", + "version": "2.2.12", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -288,7 +288,7 @@ workflow-service: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" diff --git a/gitops/charts/traffic-court-test-values.yaml b/gitops/charts/traffic-court-test-values.yaml index 5e3320bc4..8d00ef53a 100644 --- a/gitops/charts/traffic-court-test-values.yaml +++ b/gitops/charts/traffic-court-test-values.yaml @@ -10,7 +10,7 @@ arc-dispute-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "Swagger__Enabled": "true" @@ -20,7 +20,7 @@ citizen-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "FormRecognizer__ApiVersion": "2022-08-31" @@ -39,7 +39,7 @@ citizen-web: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always route: # https://test.justice.gov.bc.ca @@ -48,7 +48,7 @@ citizen-web: { "production": false, "environment": "Test", - "version": "2.2.11", + "version": "2.2.12", "useMockServices": false, "apiBaseUrl": "/api", "understandYourTicketLink": "https://bcmoag--staging.sandbox.my.salesforce-sites.com/?tn=BCTC", @@ -205,7 +205,7 @@ oracle-data-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "JAVA_OPTS": "" @@ -222,7 +222,7 @@ staff-api: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "Jwt__Audience": "staff-api" @@ -240,7 +240,7 @@ staff-web: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always route: # https://test.jag.gov.bc.ca @@ -259,7 +259,7 @@ staff-web: { "production": false, "environment": "Test", - "version": "2.2.11", + "version": "2.2.12", "useMockServices": false, "apiBaseUrl": "/api", "features": { @@ -272,7 +272,7 @@ workflow-service: pdb: create: true image: - tag: "2.2.11" + tag: "2.2.12" pullPolicy: Always env: "EmailConfiguration__Sender": "DoNotReply@gov.bc.ca" From 1a157da3976112883dc7369fcc6c39d970f601fa Mon Sep 17 00:00:00 2001 From: Burak Karahan Date: Mon, 22 Jul 2024 15:34:20 -0400 Subject: [PATCH 11/13] TCVP-2991: Updated Print DCF templates to change some section titles and add page break --- .../Templates/template_DigitalCaseFile.docx | Bin 51683 -> 47133 bytes .../template_HR_DigitalCaseFile.docx | Bin 49887 -> 45299 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/backend/TrafficCourts/Staff.Service/Models/DigitalCaseFiles/Print/Templates/template_DigitalCaseFile.docx b/src/backend/TrafficCourts/Staff.Service/Models/DigitalCaseFiles/Print/Templates/template_DigitalCaseFile.docx index 9c38837b473c4a951df9d561a5cba25c2d98d9c3..1902fb8e789913bd63b3b767990767a47c53320b 100644 GIT binary patch delta 25960 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 eqa2V$!p;K@-mSl`-z2Kqlaj06w> delta 30467 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 diff --git a/src/backend/TrafficCourts/Staff.Service/Models/DigitalCaseFiles/Print/Templates/template_HR_DigitalCaseFile.docx b/src/backend/TrafficCourts/Staff.Service/Models/DigitalCaseFiles/Print/Templates/template_HR_DigitalCaseFile.docx index b4efa093f48132eabbb2383d00c37b097def32ef..21aec84ca6add3fc66a0483a47a052e92ec1796e 100644 GIT binary patch delta 24148 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 G%6|bJ8G1MX From 05ce96777b65dc36c4531c9f4f1818ab2c34c6a1 Mon Sep 17 00:00:00 2001 From: Burak Karahan Date: Mon, 22 Jul 2024 15:45:20 -0400 Subject: [PATCH 12/13] TCVP-2991: Regenerated api models and services to add reference for new 'dcfTemplateType' model. Removed existing 'Print' button from DCF screen. Updated 'Print Options' drop down menu and added 'JJ Version' and 'Complete Version' options to the 'Print Options' drop down menu. Added functionality to generate WR DCF Template if on WR DCF Screen or HR DCF Template if on HR DCF Screen when JJ Version is clicked and full Print DCF Template when Complete Version is clicked. Fixed merge conflict --- .../src/app/api/.openapi-generator/FILES | 1 + .../src/app/api/api/dispute.service.ts | 15 ++- .../src/app/api/api/jJ.service.ts | 15 ++- .../app/api/model/dcfTemplateType.model.ts | 21 ++++ .../src/app/api/model/jJDispute.model.ts | 1 + .../staff-portal/src/app/api/model/models.ts | 1 + .../staff-portal/src/app/api/swagger.json | 112 ++++++++++++++---- .../jj-dispute/jj-dispute.component.html | 15 +-- .../jj-dispute/jj-dispute.component.ts | 23 +++- .../contact-info/contact-info.component.ts | 6 +- .../ticket-info/ticket-info.component.ts | 6 +- .../src/app/services/dispute.service.ts | 6 +- .../src/app/services/jj-dispute.service.ts | 6 +- 13 files changed, 172 insertions(+), 56 deletions(-) create mode 100644 src/frontend/staff-portal/src/app/api/model/dcfTemplateType.model.ts diff --git a/src/frontend/staff-portal/src/app/api/.openapi-generator/FILES b/src/frontend/staff-portal/src/app/api/.openapi-generator/FILES index 1b3e0a095..d359245de 100644 --- a/src/frontend/staff-portal/src/app/api/.openapi-generator/FILES +++ b/src/frontend/staff-portal/src/app/api/.openapi-generator/FILES @@ -19,6 +19,7 @@ model/agency.model.ts model/boundingBox.model.ts model/country.model.ts model/credentialRepresentation.model.ts +model/dcfTemplateType.model.ts model/dispute.model.ts model/disputeAppearanceLessThan14DaysYn.model.ts model/disputeContactTypeCd.model.ts diff --git a/src/frontend/staff-portal/src/app/api/api/dispute.service.ts b/src/frontend/staff-portal/src/app/api/api/dispute.service.ts index 417e9780d..766ac0a65 100644 --- a/src/frontend/staff-portal/src/app/api/api/dispute.service.ts +++ b/src/frontend/staff-portal/src/app/api/api/dispute.service.ts @@ -18,6 +18,8 @@ import { HttpClient, HttpHeaders, HttpParams, import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; +// @ts-ignore +import { DcfTemplateType } from '../model/dcfTemplateType.model'; // @ts-ignore import { Dispute } from '../model/dispute.model'; // @ts-ignore @@ -341,13 +343,14 @@ export class DisputeService { * Returns generated document. * @param disputeId Dispute Id * @param timeZone The IANA timze zone id + * @param type The type of template to generate * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable; - public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; - public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; - public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable { + public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, type?: DcfTemplateType, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable; + public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, type?: DcfTemplateType, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; + public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, type?: DcfTemplateType, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; + public apiDisputeDisputeIdPrintGet(disputeId: number, timeZone: string, type?: DcfTemplateType, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable { if (disputeId === null || disputeId === undefined) { throw new Error('Required parameter disputeId was null or undefined when calling apiDisputeDisputeIdPrintGet.'); } @@ -360,6 +363,10 @@ export class DisputeService { localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, timeZone, 'timeZone'); } + if (type !== undefined && type !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + type, 'type'); + } let localVarHeaders = this.defaultHeaders; diff --git a/src/frontend/staff-portal/src/app/api/api/jJ.service.ts b/src/frontend/staff-portal/src/app/api/api/jJ.service.ts index 1c7158fce..7f406eeaa 100644 --- a/src/frontend/staff-portal/src/app/api/api/jJ.service.ts +++ b/src/frontend/staff-portal/src/app/api/api/jJ.service.ts @@ -18,6 +18,8 @@ import { HttpClient, HttpHeaders, HttpParams, import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; +// @ts-ignore +import { DcfTemplateType } from '../model/dcfTemplateType.model'; // @ts-ignore import { DocumentType } from '../model/documentType.model'; // @ts-ignore @@ -643,13 +645,14 @@ export class JJService { * Returns generated document. This really should be using the tco_dispute.dispute_id. * @param ticketNumber The ticket number to print. This really should be using the tco_dispute.dispute_id * @param timeZone The IANA timze zone id + * @param type The type of template to generate * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable; - public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; - public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; - public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable { + public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, type?: DcfTemplateType, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable; + public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, type?: DcfTemplateType, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; + public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, type?: DcfTemplateType, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>; + public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string, type?: DcfTemplateType, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable { if (ticketNumber === null || ticketNumber === undefined) { throw new Error('Required parameter ticketNumber was null or undefined when calling apiJjTicketNumberPrintGet.'); } @@ -662,6 +665,10 @@ export class JJService { localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, timeZone, 'timeZone'); } + if (type !== undefined && type !== null) { + localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, + type, 'type'); + } let localVarHeaders = this.defaultHeaders; diff --git a/src/frontend/staff-portal/src/app/api/model/dcfTemplateType.model.ts b/src/frontend/staff-portal/src/app/api/model/dcfTemplateType.model.ts new file mode 100644 index 000000000..8c7bda034 --- /dev/null +++ b/src/frontend/staff-portal/src/app/api/model/dcfTemplateType.model.ts @@ -0,0 +1,21 @@ +/** + * VTC Staff API + * Violation Ticket Centre Staff API + * + * The version of the OpenAPI document: v1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export type DcfTemplateType = 'DcfTemplate' | 'HrDcfTemplate' | 'WrDcfTemplate'; + +export const DcfTemplateType = { + DcfTemplate: 'DcfTemplate' as DcfTemplateType, + HrDcfTemplate: 'HrDcfTemplate' as DcfTemplateType, + WrDcfTemplate: 'WrDcfTemplate' as DcfTemplateType +}; + diff --git a/src/frontend/staff-portal/src/app/api/model/jJDispute.model.ts b/src/frontend/staff-portal/src/app/api/model/jJDispute.model.ts index 048270691..fef8ab768 100644 --- a/src/frontend/staff-portal/src/app/api/model/jJDispute.model.ts +++ b/src/frontend/staff-portal/src/app/api/model/jJDispute.model.ts @@ -62,6 +62,7 @@ export interface JJDispute { occamDisputantGiven2Nm?: string | null; occamDisputantGiven3Nm?: string | null; occamDisputantSurnameNm?: string | null; + occamDisputantPhoneNumber?: string | null; occamDisputeId?: number; occamViolationTicketUpldId?: string | null; submittedTs?: string | null; diff --git a/src/frontend/staff-portal/src/app/api/model/models.ts b/src/frontend/staff-portal/src/app/api/model/models.ts index fc7fc6202..76574f84e 100644 --- a/src/frontend/staff-portal/src/app/api/model/models.ts +++ b/src/frontend/staff-portal/src/app/api/model/models.ts @@ -2,6 +2,7 @@ export * from './agency.model'; export * from './boundingBox.model'; export * from './country.model'; export * from './credentialRepresentation.model'; +export * from './dcfTemplateType.model'; export * from './dispute.model'; export * from './disputeAppearanceLessThan14DaysYn.model'; export * from './disputeContactTypeCd.model'; diff --git a/src/frontend/staff-portal/src/app/api/swagger.json b/src/frontend/staff-portal/src/app/api/swagger.json index 19817b424..f9b235dd7 100644 --- a/src/frontend/staff-portal/src/app/api/swagger.json +++ b/src/frontend/staff-portal/src/app/api/swagger.json @@ -722,7 +722,7 @@ } }, "405": { - "description": "A Dispute status can only be set to REJECTED iff status is NEW, VALIDATED or PROCESSING and the rejected reason must be <= 256 characters. Update failed.", + "description": "A Dispute status can only be set to REJECTED iff status is NEW, VALIDATED or PROCESSING and the rejected reason must be \u003C= 256 characters. Update failed.", "content": { "text/plain": { "schema": { @@ -1617,6 +1617,14 @@ "schema": { "type": "string" } + }, + { + "name": "type", + "in": "query", + "description": "The type of template to generate", + "schema": { + "$ref": "#/components/schemas/DcfTemplateType" + } } ], "responses": { @@ -4496,6 +4504,14 @@ "schema": { "type": "string" } + }, + { + "name": "type", + "in": "query", + "description": "The type of template to generate", + "schema": { + "$ref": "#/components/schemas/DcfTemplateType" + } } ], "responses": { @@ -4955,12 +4971,22 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, "additionalProperties": false }, + "DcfTemplateType": { + "enum": [ + "DcfTemplate", + "HrDcfTemplate", + "WrDcfTemplate" + ], + "type": "string" + }, "Dispute": { "type": "object", "properties": { @@ -5293,7 +5319,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -5356,7 +5384,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -5502,7 +5532,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -5662,7 +5694,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -5867,7 +5901,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -5910,7 +5946,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -5997,7 +6035,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -6290,6 +6330,10 @@ "type": "string", "nullable": true }, + "occamDisputantPhoneNumber": { + "type": "string", + "nullable": true + }, "occamDisputeId": { "type": "integer", "format": "int64" @@ -6469,7 +6513,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -6567,7 +6613,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -6691,7 +6739,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -6820,7 +6870,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -6958,7 +7010,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -7188,7 +7242,9 @@ "nullable": true } }, - "additionalProperties": { } + "additionalProperties": { + + } }, "Province": { "type": "object", @@ -7229,7 +7285,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -7312,7 +7370,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -7357,7 +7417,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -7514,7 +7576,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -7665,7 +7729,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true }, "violationTicketImage": { @@ -7752,7 +7818,9 @@ }, "additionalProperties": { "type": "object", - "additionalProperties": { }, + "additionalProperties": { + + }, "nullable": true } }, @@ -7840,7 +7908,7 @@ }, "security": [ { - "Bearer": [ ] + "Bearer": [] } ] } \ No newline at end of file diff --git a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html index 42d7865c2..8bdfc9fbc 100644 --- a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html +++ b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.html @@ -21,21 +21,10 @@ -   - - - - + + diff --git a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.ts b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.ts index 3b8373d73..167a8cb53 100644 --- a/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.ts +++ b/src/frontend/staff-portal/src/app/components/jj-dispute-info/jj-dispute/jj-dispute.component.ts @@ -2,7 +2,7 @@ import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } import { LoggerService } from '@core/services/logger.service'; import { JJDisputeService, JJDispute } from '../../../services/jj-dispute.service'; import { Observable, map } from 'rxjs'; -import { JJDisputedCount, JJDisputeStatus, JJDisputedCountRequestReduction, JJDisputedCountRequestTimeToPay, JJDisputeHearingType, JJDisputeCourtAppearanceRoPAppCd, JJDisputeCourtAppearanceRoPCrown, JJDisputeCourtAppearanceRoPDattCd, JJDisputeCourtAppearanceRoPJjSeized, FileMetadata, JJDisputeElectronicTicketYn, JJDisputeNoticeOfHearingYn, TicketImageDataJustinDocumentReportType, DocumentType, JJDisputeContactType, JJDisputedCountRoPFinding, Province, Language, JJDisputeDisputantAttendanceType, JJDisputeAccidentYn, JJDisputeMultipleOfficersYn, JJDisputeSignatoryType } from 'app/api/model/models'; +import { JJDisputedCount, JJDisputeStatus, JJDisputedCountRequestReduction, JJDisputedCountRequestTimeToPay, JJDisputeHearingType, JJDisputeCourtAppearanceRoPAppCd, JJDisputeCourtAppearanceRoPCrown, JJDisputeCourtAppearanceRoPDattCd, JJDisputeCourtAppearanceRoPJjSeized, FileMetadata, JJDisputeElectronicTicketYn, JJDisputeNoticeOfHearingYn, TicketImageDataJustinDocumentReportType, DocumentType, JJDisputeContactType, JJDisputedCountRoPFinding, Province, Language, JJDisputeDisputantAttendanceType, JJDisputeAccidentYn, JJDisputeMultipleOfficersYn, JJDisputeSignatoryType, DcfTemplateType } from 'app/api/model/models'; import { DialogOptions } from '@shared/dialogs/dialog-options.model'; import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog'; import { AuthService, UserRepresentation } from 'app/services/auth.service'; @@ -552,8 +552,25 @@ export class JJDisputeComponent implements OnInit { }); } - onPrint() { - this.jjDisputeService.apiJjTicketNumberPrintGet(this.lastUpdatedJJDispute.ticketNumber).subscribe(result => { + onPrint(isCompleteVersion: boolean) { + var type = DcfTemplateType.DcfTemplate; + if (!isCompleteVersion) { + switch (this.lastUpdatedJJDispute.hearingType) { + case this.HearingType.WrittenReasons: + // Use WrittenReasons template for print + type = DcfTemplateType.WrDcfTemplate; + break; + case this.HearingType.CourtAppearance: + // Use Hearing template for print + type = DcfTemplateType.HrDcfTemplate; + break; + default: + // Use main complete template by default + type = DcfTemplateType.DcfTemplate; + } + } + + this.jjDisputeService.apiJjTicketNumberPrintGet(this.lastUpdatedJJDispute.ticketNumber, type).subscribe(result => { if (result) { var url = URL.createObjectURL(result); window.open(url); diff --git a/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts b/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts index 8aeb0c595..f0acef295 100644 --- a/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts +++ b/src/frontend/staff-portal/src/app/components/staff-workbench/contact-info/contact-info.component.ts @@ -12,7 +12,7 @@ import { DialogOptions } from '@shared/dialogs/dialog-options.model'; import { ConfirmReasonDialogComponent } from '@shared/dialogs/confirm-reason-dialog/confirm-reason-dialog.component'; import { ConfirmDialogComponent } from '@shared/dialogs/confirm-dialog/confirm-dialog.component'; import { CountryCodeValue, ProvinceCodeValue } from '@config/config.model'; -import { DisputeContactTypeCd, DisputeStatus } from 'app/api'; +import { DcfTemplateType, DisputeContactTypeCd, DisputeStatus } from 'app/api'; @Component({ selector: 'app-contact-info', @@ -379,7 +379,9 @@ export class ContactInfoComponent implements OnInit { } onPrint() { - this.disputeService.apiTicketValidationPrintGet(this.lastUpdatedDispute.disputeId).subscribe(result => { + var type = DcfTemplateType.DcfTemplate; + + this.disputeService.apiTicketValidationPrintGet(this.lastUpdatedDispute.disputeId, type).subscribe(result => { if (result) { var url = URL.createObjectURL(result); window.open(url); diff --git a/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts b/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts index e159d9a31..e77dd8075 100644 --- a/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts +++ b/src/frontend/staff-portal/src/app/components/staff-workbench/ticket-info/ticket-info.component.ts @@ -8,7 +8,7 @@ import { FormControlValidators } from '@core/validators/form-control.validators' import { Dispute, DisputeService } from '../../../services/dispute.service'; import { CountryCodeValue, ProvinceCodeValue } from '@config/config.model'; import { ConfigService } from '@config/config.service'; -import { DisputeContactTypeCd, ViolationTicket, ViolationTicketCount, ViolationTicketCountIsAct, ViolationTicketCountIsRegulation, DisputeStatus } from 'app/api'; +import { DisputeContactTypeCd, ViolationTicket, ViolationTicketCount, ViolationTicketCountIsAct, ViolationTicketCountIsRegulation, DisputeStatus, DcfTemplateType } from 'app/api'; import { LookupsService, Statute } from 'app/services/lookups.service'; import { DialogOptions } from '@shared/dialogs/dialog-options.model'; import { ConfirmReasonDialogComponent } from '@shared/dialogs/confirm-reason-dialog/confirm-reason-dialog.component'; @@ -895,7 +895,9 @@ export class TicketInfoComponent implements OnInit { } onPrint() { - this.disputeService.apiTicketValidationPrintGet(this.lastUpdatedDispute.disputeId).subscribe(result => { + var type = DcfTemplateType.DcfTemplate; + + this.disputeService.apiTicketValidationPrintGet(this.lastUpdatedDispute.disputeId, type).subscribe(result => { if (result) { var url = URL.createObjectURL(result); window.open(url); diff --git a/src/frontend/staff-portal/src/app/services/dispute.service.ts b/src/frontend/staff-portal/src/app/services/dispute.service.ts index 9f2bf656e..5076e8b57 100644 --- a/src/frontend/staff-portal/src/app/services/dispute.service.ts +++ b/src/frontend/staff-portal/src/app/services/dispute.service.ts @@ -1,7 +1,7 @@ import { ConfigService } from '@config/config.service'; import { LoggerService } from '@core/services/logger.service'; import { ToastService } from '@core/services/toast.service'; -import { DisputeService as DisputeApiService, Dispute as DisputeBase, DisputeWithUpdates as DisputeWithUpdatesBase, DisputeUpdateRequest as DisputantUpdateRequestBase, DisputeUpdateRequestStatus2, DisputeListItem, PagedDisputeListItemCollection, DisputeStatus, GetDisputeCountResponse, SortDirection, ExcludeStatus } from 'app/api'; +import { DisputeService as DisputeApiService, Dispute as DisputeBase, DisputeWithUpdates as DisputeWithUpdatesBase, DisputeUpdateRequest as DisputantUpdateRequestBase, DisputeUpdateRequestStatus2, DisputeListItem, PagedDisputeListItemCollection, DisputeStatus, GetDisputeCountResponse, SortDirection, ExcludeStatus, DcfTemplateType } from 'app/api'; import { Observable, BehaviorSubject } from 'rxjs'; import { catchError, map } from 'rxjs/operators'; import { EventEmitter, Injectable } from '@angular/core'; @@ -523,9 +523,9 @@ export class DisputeService implements IDisputeService { return dispute; } - public apiTicketValidationPrintGet(disputeId: number, timeZone: string = Intl.DateTimeFormat().resolvedOptions().timeZone): Observable { + public apiTicketValidationPrintGet(disputeId: number, type: DcfTemplateType, timeZone: string = Intl.DateTimeFormat().resolvedOptions().timeZone): Observable { return this.http - .get(`/api/dispute/${disputeId}/print?timeZone=${timeZone}`, { + .get(`/api/dispute/${disputeId}/print?timeZone=${timeZone}&type=${type}`, { observe: 'response', responseType: 'blob', context: new HttpContext(), diff --git a/src/frontend/staff-portal/src/app/services/jj-dispute.service.ts b/src/frontend/staff-portal/src/app/services/jj-dispute.service.ts index 05651f442..7d32a8f99 100644 --- a/src/frontend/staff-portal/src/app/services/jj-dispute.service.ts +++ b/src/frontend/staff-portal/src/app/services/jj-dispute.service.ts @@ -6,7 +6,7 @@ import { catchError, map } from 'rxjs/operators'; import { HttpClient, HttpContext, HttpHeaders, HttpResponse } from '@angular/common/http'; import { EventEmitter, Injectable } from '@angular/core'; import { DatePipe } from '@angular/common'; -import { JJService, JJDispute as JJDisputeBase, JJDisputeStatus, JJDisputeRemark, DocumentType, JJDisputeCourtAppearanceRoP } from 'app/api'; +import { JJService, JJDispute as JJDisputeBase, JJDisputeStatus, JJDisputeRemark, DocumentType, JJDisputeCourtAppearanceRoP, DcfTemplateType } from 'app/api'; import { AuthService } from './auth.service'; import { cloneDeep } from "lodash"; import { Store } from '@ngrx/store'; @@ -397,9 +397,9 @@ export class JJDisputeService { return jjDispute; } - public apiJjTicketNumberPrintGet(ticketNumber: string, timeZone: string = Intl.DateTimeFormat().resolvedOptions().timeZone): Observable { + public apiJjTicketNumberPrintGet(ticketNumber: string, type: DcfTemplateType, timeZone: string = Intl.DateTimeFormat().resolvedOptions().timeZone): Observable { return this.http - .get(`/api/jj/${ticketNumber}/print?timeZone=${timeZone}`, { + .get(`/api/jj/${ticketNumber}/print?timeZone=${timeZone}&type=${type}`, { observe: 'response', responseType: 'blob', context: new HttpContext(), From 7853743972ae74f936b10abcca4222aad427277e Mon Sep 17 00:00:00 2001 From: Burak Karahan Date: Thu, 9 May 2024 15:43:38 -0400 Subject: [PATCH 13/13] TCVP-2812: Added a method to return a specific Agency from the Redis Cache based on the agency id provided in Staff Service. Updated print DCF service to lookup courthouse location through agency lookup service based on 'CourtAgenId' provided from the dispute in order to display its name on the printed version of DCF. Fixed merge conflicts --- .../Features/Lookups/AgencyLookupService.cs | 28 +++++++++++++++++++ .../Features/Lookups/IAgencyLookupService.cs | 6 ++++ .../Services/PrintDigitalCaseFileService.cs | 24 +++++++++++++++- .../PrintDigitalCaseFileIntegrationTest.cs | 1 + 4 files changed, 58 insertions(+), 1 deletion(-) diff --git a/src/backend/TrafficCourts/Common/Features/Lookups/AgencyLookupService.cs b/src/backend/TrafficCourts/Common/Features/Lookups/AgencyLookupService.cs index b4f28ae18..639f73928 100644 --- a/src/backend/TrafficCourts/Common/Features/Lookups/AgencyLookupService.cs +++ b/src/backend/TrafficCourts/Common/Features/Lookups/AgencyLookupService.cs @@ -11,4 +11,32 @@ public AgencyLookupService(IConnectionMultiplexer redis, IMemoryCache cache, ILo : base("Agencies", redis, cache, TimeSpan.FromHours(1), logger) { } + + public async Task GetByIdAsync(string agencyId) + { + if (string.IsNullOrEmpty(agencyId)) + { + return null; + } + + var agencies = await GetAgenciesAsync(agency => agency.Id == agencyId); + if (agencies.Count == 0) + { + return null; + } + + if (agencies.Count > 1) + { + _logger.LogInformation("{Count} agencies were returned matching {Id}, returning first value", agencies.Count, agencyId); + } + + return agencies[0]; + } + + private async Task> GetAgenciesAsync(Func predicate) + { + var values = await GetListAsync(); + var sections = values.Where(predicate).ToList(); + return sections; + } } diff --git a/src/backend/TrafficCourts/Common/Features/Lookups/IAgencyLookupService.cs b/src/backend/TrafficCourts/Common/Features/Lookups/IAgencyLookupService.cs index ed72555c5..8e4a70924 100644 --- a/src/backend/TrafficCourts/Common/Features/Lookups/IAgencyLookupService.cs +++ b/src/backend/TrafficCourts/Common/Features/Lookups/IAgencyLookupService.cs @@ -4,4 +4,10 @@ namespace TrafficCourts.Common.Features.Lookups; public interface IAgencyLookupService : ICachedLookupService { + ///

+ /// Returns a specific Agency from the Redis Cache based on the agency id + /// + /// + /// + Task GetByIdAsync(string agencyId); } diff --git a/src/backend/TrafficCourts/Staff.Service/Services/PrintDigitalCaseFileService.cs b/src/backend/TrafficCourts/Staff.Service/Services/PrintDigitalCaseFileService.cs index 32b1d1306..b1296b0d3 100644 --- a/src/backend/TrafficCourts/Staff.Service/Services/PrintDigitalCaseFileService.cs +++ b/src/backend/TrafficCourts/Staff.Service/Services/PrintDigitalCaseFileService.cs @@ -13,6 +13,7 @@ public class PrintDigitalCaseFileService : IPrintDigitalCaseFileService private readonly IJJDisputeService _jjDisputeService; private readonly IOracleDataApiService _oracleDataApi; private readonly IProvinceLookupService _provinceLookupService; + private readonly IAgencyLookupService _agencyLookupService; private readonly ICountryLookupService _countryLookupService; private readonly IDocumentGenerationService _documentGeneration; private readonly IDisputeService _disputeService; @@ -22,6 +23,7 @@ public PrintDigitalCaseFileService( IJJDisputeService jjDisputeService, IOracleDataApiService oracleDataApi, IProvinceLookupService provinceLookupService, + IAgencyLookupService agencyLookupService, ICountryLookupService countryLookupService, IDocumentGenerationService documentGeneration, IDisputeService disputeService, @@ -30,6 +32,7 @@ public PrintDigitalCaseFileService( _jjDisputeService = jjDisputeService ?? throw new ArgumentNullException(nameof(jjDisputeService)); _oracleDataApi = oracleDataApi ?? throw new ArgumentNullException(nameof(oracleDataApi)); _provinceLookupService = provinceLookupService ?? throw new ArgumentNullException(nameof(provinceLookupService)); + _agencyLookupService = agencyLookupService ?? throw new ArgumentNullException(nameof(agencyLookupService)); _countryLookupService = countryLookupService ?? throw new ArgumentNullException(nameof(countryLookupService)); _documentGeneration = documentGeneration ?? throw new ArgumentNullException(nameof(documentGeneration)); _disputeService = disputeService ?? throw new ArgumentNullException(nameof(disputeService)); @@ -244,6 +247,22 @@ private Stream GetTemplate(string name) return country; } + /// + /// Returns Agency (Courthouse Location) based on the provided agencyId through agencyLookupService. + /// + /// + /// + private async Task GetCourthouseLocationAsync(string agencyId) + { + Domain.Models.Agency? courthouseLocation = null; + if (agencyId is not null) + { + courthouseLocation = await _agencyLookupService.GetByIdAsync(agencyId); + } + + return courthouseLocation; + } + /// /// Fetches the based on ticket number. This really should be using the tco_dispute.dispute_id. /// @@ -257,6 +276,9 @@ internal async Task GetDigitalCaseFileAsync(string ticketNumber Domain.Models.Province? driversLicenceProvince = await GetDriversLicenceProvinceAsync(dispute.DrvLicIssuedProvSeqNo, dispute.DrvLicIssuedCtryId); + // Get courthouse location data from the courthouse location lookup service based on CourtAgenId provided from the dispute + Agency? courthouseLocation = await GetCourthouseLocationAsync(dispute.CourtAgenId); + var digitalCaseFile = new DigitalCaseFile(); // fill in each section, the sections and fields are populated in order matching the template @@ -273,7 +295,7 @@ internal async Task GetDigitalCaseFileAsync(string ticketNumber ticket.Submitted = new FormattedDateOnly(dispute.SubmittedTs); ticket.IcbcReceived = new FormattedDateOnly(dispute.IcbcReceivedDate); ticket.CourtAgenyId = dispute.CourtAgenId; - ticket.CourtHouse = dispute.CourthouseLocation; + ticket.CourtHouse = courthouseLocation?.Name ?? string.Empty; // set the contact information var contact = digitalCaseFile.Contact; diff --git a/src/backend/TrafficCourts/TrafficCourts.Staff.Service.Test/Services/PrintDigialCaseFile/PrintDigitalCaseFileIntegrationTest.cs b/src/backend/TrafficCourts/TrafficCourts.Staff.Service.Test/Services/PrintDigialCaseFile/PrintDigitalCaseFileIntegrationTest.cs index 5fd0d7df3..35d0ca5cf 100644 --- a/src/backend/TrafficCourts/TrafficCourts.Staff.Service.Test/Services/PrintDigialCaseFile/PrintDigitalCaseFileIntegrationTest.cs +++ b/src/backend/TrafficCourts/TrafficCourts.Staff.Service.Test/Services/PrintDigialCaseFile/PrintDigitalCaseFileIntegrationTest.cs @@ -71,6 +71,7 @@ public PrintDigitalCaseFileIntegrationTest() jjDisputeService, oracleDataApi, Mock.Of(), + Mock.Of(), Mock.Of(), Mock.Of(), disputeService,