diff --git a/app/presenters/bill-runs/two-part-tariff/review-licence.presenter.js b/app/presenters/bill-runs/two-part-tariff/review-licence.presenter.js index 630f4f3c6b..4f48e5fd42 100644 --- a/app/presenters/bill-runs/two-part-tariff/review-licence.presenter.js +++ b/app/presenters/bill-runs/two-part-tariff/review-licence.presenter.js @@ -30,6 +30,7 @@ function go (billRun, licence, markProgress) { licenceHolder: licence[0].licenceHolder, progress: licence[0].progress }, + elementsInReview: licence[0].hasReviewStatus, licenceUpdated: _licenceUpdated(markProgress), matchedReturns: _matchedReturns(licence[0].reviewReturns), unmatchedReturns: _unmatchedReturns(licence[0].reviewReturns), diff --git a/app/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.js b/app/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.js index b0090e8a91..e067d4e25c 100644 --- a/app/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.js +++ b/app/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.js @@ -48,6 +48,24 @@ async function _fetchBillRun (billRunId) { async function _fetchReviewLicence (licenceId, billRunId) { return ReviewLicenceModel.query() + .select( + 'id', + 'billRunId', + 'licenceId', + 'licenceRef', + 'licenceHolder', + 'issues', + 'status', + 'progress', + ReviewLicenceModel.raw(` + EXISTS (SELECT 1 + FROM review_charge_elements rce + INNER JOIN review_charge_references rcr ON rce.review_charge_reference_id = rcr.id + INNER JOIN review_charge_versions rcv ON rcr.review_charge_version_id = rcv.id + WHERE rce.status = 'review' + AND rcv.review_licence_id = review_licences.id) AS has_review_status + `) + ) .where('licenceId', licenceId) .where('billRunId', billRunId) .withGraphFetched('reviewReturns.reviewChargeElements') diff --git a/app/views/bill-runs/match-details.njk b/app/views/bill-runs/match-details.njk index a8d140b910..c1050fe39f 100644 --- a/app/views/bill-runs/match-details.njk +++ b/app/views/bill-runs/match-details.njk @@ -27,7 +27,7 @@ {{ statusTag(chargeElement.status) }}

- {# ------------- Licence nav bars --------------- #} + {# Licence nav bars #} + {# Licence in review text #} + {% if elementsInReview === true %} + {{ govukInsetText({ + text: "There are elements in review" + }) }} + {% endif %} + {# Mark progress #} {% if licence.progress %} {% set progressButtonText = 'Remove progress mark' %} diff --git a/test/presenters/bill-runs/two-part-tariff/review-licence.presenter.test.js b/test/presenters/bill-runs/two-part-tariff/review-licence.presenter.test.js index b8e6c03ac6..6958358483 100644 --- a/test/presenters/bill-runs/two-part-tariff/review-licence.presenter.test.js +++ b/test/presenters/bill-runs/two-part-tariff/review-licence.presenter.test.js @@ -36,6 +36,7 @@ describe('Review Licence presenter', () => { licenceHolder: 'Licence Holder Ltd' }, licenceUpdated: null, + elementsInReview: false, matchedReturns: [ { returnId: 'v1:1:01/60/28/3437:17061181:2022-04-01:2023-03-31', @@ -235,6 +236,7 @@ function _licenceData () { issues: '', status: 'ready', progress: false, + hasReviewStatus: false, reviewReturns: [{ id: '2264f443-5c16-4ca9-8522-f63e2d4e38be', reviewLicenceId: '78a99c1c-26d3-4163-ab58-084cd78594ab', diff --git a/test/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.test.js b/test/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.test.js index e2089eefe3..ee5743be61 100644 --- a/test/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.test.js +++ b/test/services/bill-runs/two-part-tariff/fetch-review-licence-results.service.test.js @@ -117,9 +117,8 @@ describe('Fetch Review Licence Results Service', () => { licenceHolder: reviewLicence.licenceHolder, issues: reviewLicence.issues, status: reviewLicence.status, - createdAt: reviewLicence.createdAt, - updatedAt: reviewLicence.updatedAt, progress: false, + hasReviewStatus: false, reviewReturns: [{ id: reviewReturn.id, reviewLicenceId: reviewReturn.reviewLicenceId,