@hmcts/ccpay-web-component 6.5.17-beta → 6.5.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -682,6 +682,12 @@ class RefundsService {
682
682
  postResetRefund(refund_reference) {
683
683
  return this.https.post(`${this.paymentLibService.REFUNDS_API_ROOT}/reissue-expired/${refund_reference}`, null).pipe(catchError(this.errorHandlerService.handleError));
684
684
  }
685
+ downloadRefundsReport(startDate, endDate) {
686
+ return this.https.get(`${this.paymentLibService.REFUNDS_API_ROOT}/refunds-report?date_from=${startDate}&date_to=${endDate}`, {
687
+ withCredentials: true
688
+ })
689
+ .pipe(catchError(this.errorHandlerService.handleError));
690
+ }
685
691
  addHeaders(options) {
686
692
  const csrfToken = this.meta.getTag('name=csrf-token');
687
693
  const headers = {};
@@ -7315,6 +7321,12 @@ class XlFileService {
7315
7321
  worksheet = this.autoFitColumns(worksheet, json);
7316
7322
  worksheet = this.addRowData(worksheet, json, headers);
7317
7323
  }
7324
+ else if (excelFileName.match('Refunds') !== null) {
7325
+ headers = ['date_created', 'date_updated', 'amount', 'RF_reference', 'payment_reference', 'ccd_case_number', 'service_type', 'refund_status', 'refund_status_reason'];
7326
+ worksheet = this.setRefundsReportHeaders(worksheet);
7327
+ worksheet = this.autoFitColumns(worksheet, json);
7328
+ worksheet = this.addRowData(worksheet, json, headers);
7329
+ }
7318
7330
  else {
7319
7331
  headers = ['resp_service_id', 'resp_service_name', 'surplus_shortfall', 'balance', 'payment_amount', 'ccd_case_reference', 'ccd_exception_reference', 'processed_date', 'reason', 'explanation', 'user_name'];
7320
7332
  worksheet = this.setShortFallReportHeaders(worksheet);
@@ -7451,6 +7463,18 @@ class XlFileService {
7451
7463
  worksheet.getCell('G1').value = "Payment Status";
7452
7464
  return worksheet;
7453
7465
  }
7466
+ setRefundsReportHeaders(worksheet) {
7467
+ worksheet.getCell('A1').value = "date_created";
7468
+ worksheet.getCell('B1').value = "date_updated";
7469
+ worksheet.getCell('C1').value = "amount";
7470
+ worksheet.getCell('D1').value = "RF_reference";
7471
+ worksheet.getCell('E1').value = "payment reference";
7472
+ worksheet.getCell('F1').value = "ccd_case_number";
7473
+ worksheet.getCell('G1').value = "service_type";
7474
+ worksheet.getCell('H1').value = "refund_status";
7475
+ worksheet.getCell('I1').value = "refund_status_reason";
7476
+ return worksheet;
7477
+ }
7454
7478
  sanitizeString(value) {
7455
7479
  if (value) {
7456
7480
  // Remove tabs, carriage returns, and newlines
@@ -7477,6 +7501,7 @@ class ReportsComponent {
7477
7501
  bulkScaningPaymentService;
7478
7502
  paymentLibComponent;
7479
7503
  paymentViewService;
7504
+ refundsService;
7480
7505
  ISPAYMENTSTATUSENABLED = true;
7481
7506
  fmt = 'dd/MM/yyyy';
7482
7507
  loc = 'en-US';
@@ -7491,13 +7516,14 @@ class ReportsComponent {
7491
7516
  isDateRangeBetnWeek = false;
7492
7517
  errorMessage = null;
7493
7518
  paymentGroups = [];
7494
- constructor(xlFileService, errorHandlerService, formBuilder, bulkScaningPaymentService, paymentLibComponent, paymentViewService) {
7519
+ constructor(xlFileService, errorHandlerService, formBuilder, bulkScaningPaymentService, paymentLibComponent, paymentViewService, refundsService) {
7495
7520
  this.xlFileService = xlFileService;
7496
7521
  this.errorHandlerService = errorHandlerService;
7497
7522
  this.formBuilder = formBuilder;
7498
7523
  this.bulkScaningPaymentService = bulkScaningPaymentService;
7499
7524
  this.paymentLibComponent = paymentLibComponent;
7500
7525
  this.paymentViewService = paymentViewService;
7526
+ this.refundsService = refundsService;
7501
7527
  }
7502
7528
  ngOnInit() {
7503
7529
  this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
@@ -7524,7 +7550,7 @@ class ReportsComponent {
7524
7550
  this.isDateBetwnMonth = false;
7525
7551
  this.isStartDateLesthanEndDate = false;
7526
7552
  }
7527
- else if (reportName && (reportName === 'PAYMENT_FAILURE_EVENT' || reportName === "TELEPHONY_PAYMENTS") && isDateRangeMoreThanMonth) {
7553
+ else if (reportName && (reportName === 'PAYMENT_FAILURE_EVENT' || reportName === "TELEPHONY_PAYMENTS" || reportName === 'REFUNDS') && isDateRangeMoreThanMonth) {
7528
7554
  this.isDateRangeBetnWeek = false;
7529
7555
  this.isDateBetwnMonth = true;
7530
7556
  this.isStartDateLesthanEndDate = false;
@@ -7544,7 +7570,7 @@ class ReportsComponent {
7544
7570
  }
7545
7571
  downloadReport() {
7546
7572
  this.isDownLoadButtondisabled = true;
7547
- const dataLossRptDefault = [{ loss_resp: '', payment_asset_dcn: '', env_ref: '', env_item: '', resp_service_id: '', resp_service_name: '', date_banked: '', bgc_batch: '', payment_method: '', amount: '' }], unProcessedRptDefault = [{ resp_service_id: '', resp_service_name: '', exception_ref: '', ccd_ref: '', date_banked: '', bgc_batch: '', payment_asset_dcn: '', env_ref: '', env_item: '', payment_method: '', amount: '' }], processedUnallocated = [{ resp_service_id: '', resp_service_name: '', allocation_status: '', receiving_office: '', allocation_reason: '', ccd_exception_ref: '', ccd_case_ref: '', payment_asset_dcn: '', env_ref: '', env_item: '', date_banked: '', bgc_batch: '', payment_method: '', amount: '', updated_by: '' }], shortFallsRptDefault = [{ resp_service_id: '', resp_service_name: '', surplus_shortfall: '', balance: '', payment_amount: '', ccd_case_reference: '', ccd_exception_reference: '', processed_date: '', reason: '', explanation: '', user_name: '' }], telephonyPaymentsRptDefault = [{ service_name: '', ccd_Reference: '', payment_reference: '', fee_code: '', payment_date: '', amount: '', payment_status: '' }], paymentFailureRptDefault = [{ payment_reference: '', ccd_reference: '', document_control_number: '', org_id: '', service_name: '', failure_reference: '', failure_reason: '', disputed_amount: '', event_name: '', event_date: '', representment_status: '', representment_date: '', refund_reference: '', refund_amount: '', refund_date: '' }], selectedReportName = this.reportsForm.get('selectedreport').value, selectedStartDate = this.tranformDate(this.reportsForm.get('startDate').value), selectedEndDate = this.tranformDate(this.reportsForm.get('endDate').value);
7573
+ const dataLossRptDefault = [{ loss_resp: '', payment_asset_dcn: '', env_ref: '', env_item: '', resp_service_id: '', resp_service_name: '', date_banked: '', bgc_batch: '', payment_method: '', amount: '' }], unProcessedRptDefault = [{ resp_service_id: '', resp_service_name: '', exception_ref: '', ccd_ref: '', date_banked: '', bgc_batch: '', payment_asset_dcn: '', env_ref: '', env_item: '', payment_method: '', amount: '' }], processedUnallocated = [{ resp_service_id: '', resp_service_name: '', allocation_status: '', receiving_office: '', allocation_reason: '', ccd_exception_ref: '', ccd_case_ref: '', payment_asset_dcn: '', env_ref: '', env_item: '', date_banked: '', bgc_batch: '', payment_method: '', amount: '', updated_by: '' }], shortFallsRptDefault = [{ resp_service_id: '', resp_service_name: '', surplus_shortfall: '', balance: '', payment_amount: '', ccd_case_reference: '', ccd_exception_reference: '', processed_date: '', reason: '', explanation: '', user_name: '' }], telephonyPaymentsRptDefault = [{ service_name: '', ccd_Reference: '', payment_reference: '', fee_code: '', payment_date: '', amount: '', payment_status: '' }], paymentFailureRptDefault = [{ payment_reference: '', ccd_reference: '', document_control_number: '', org_id: '', service_name: '', failure_reference: '', failure_reason: '', disputed_amount: '', event_name: '', event_date: '', representment_status: '', representment_date: '', refund_reference: '', refund_amount: '', refund_date: '' }], refundsRptDefault = [{ date_created: '', date_updated: '', amount: '', RF_reference: '', payment_reference: '', ccd_case_number: '', service_type: '', refund_status: '', refund_status_reason: '' }], selectedReportName = this.reportsForm.get('selectedreport').value, selectedStartDate = this.tranformDate(this.reportsForm.get('startDate').value), selectedEndDate = this.tranformDate(this.reportsForm.get('endDate').value);
7548
7574
  if (selectedReportName === 'PROCESSED_UNALLOCATED' || selectedReportName === 'SURPLUS_AND_SHORTFALL') {
7549
7575
  this.paymentViewService.downloadSelectedReport(selectedReportName, selectedStartDate, selectedEndDate).subscribe(response => {
7550
7576
  this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
@@ -7664,6 +7690,35 @@ class ReportsComponent {
7664
7690
  }
7665
7691
  });
7666
7692
  }
7693
+ else if (selectedReportName === 'REFUNDS') {
7694
+ this.refundsService.downloadRefundsReport(selectedStartDate, selectedEndDate).subscribe(response => {
7695
+ this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
7696
+ const result = { data: JSON.parse(response)['refunds_report_list'] };
7697
+ let res = { data: this.applyDateFormat(result) };
7698
+ if (result['data'].length > 0) {
7699
+ for (var i = 0; i < res['data'].length; i++) {
7700
+ if (res['data'][i]["amount"] !== undefined) {
7701
+ res['data'][i]['amount'] = this.convertToFloatValue(res['data'][i]['amount']);
7702
+ }
7703
+ }
7704
+ }
7705
+ else {
7706
+ res.data = refundsRptDefault;
7707
+ }
7708
+ this.isDownLoadButtondisabled = false;
7709
+ this.xlFileService.exportAsExcelFile(res['data'], this.getFileName(this.reportsForm.get('selectedreport').value, selectedStartDate, selectedEndDate));
7710
+ }, (error) => {
7711
+ this.isDownLoadButtondisabled = false;
7712
+ const errorContent = error.replace(/[^a-zA-Z ]/g, '').trim();
7713
+ const statusCode = error.replace(/[^a-zA-Z0-9 ]/g, '').trim().split(' ')[0];
7714
+ if (statusCode === '404') {
7715
+ this.errorMessage = this.errorHandlerService.getServerErrorMessage(true, true, errorContent);
7716
+ }
7717
+ else {
7718
+ this.errorMessage = this.errorHandlerService.getServerErrorMessage(true, false, '');
7719
+ }
7720
+ });
7721
+ }
7667
7722
  else {
7668
7723
  this.bulkScaningPaymentService.downloadSelectedReport(selectedReportName, selectedStartDate, selectedEndDate).subscribe(response => {
7669
7724
  this.errorMessage = this.errorHandlerService.getServerErrorMessage(false, false, '');
@@ -7736,6 +7791,10 @@ class ReportsComponent {
7736
7791
  result = 'Telephony Payments';
7737
7792
  break;
7738
7793
  }
7794
+ case 'REFUNDS': {
7795
+ result = 'Refunds';
7796
+ break;
7797
+ }
7739
7798
  default: {
7740
7799
  result = selectedOption;
7741
7800
  break;
@@ -7769,6 +7828,24 @@ class ReportsComponent {
7769
7828
  if (value['Payment Date']) {
7770
7829
  value['Payment Date'] = formatDate(value['Payment Date'], this.fmt, this.loc);
7771
7830
  }
7831
+ if (value['date_created'] && value['date_created'].indexOf(',') === -1) {
7832
+ value['date_created'] = formatDate(value['date_created'], 'dd/MM/yyyy HH:mm:ss', this.loc);
7833
+ }
7834
+ else if (value['date_created'] && value['date_created'].indexOf(',') !== -1) {
7835
+ value['date_created'] = value['date_created']
7836
+ .split(',')
7837
+ .map(date => formatDate(date, 'dd/MM/yyyy HH:mm:ss', this.loc))
7838
+ .join(',');
7839
+ }
7840
+ if (value['date_updated'] && value['date_updated'].indexOf(',') === -1) {
7841
+ value['date_updated'] = formatDate(value['date_updated'], 'dd/MM/yyyy HH:mm:ss', this.loc);
7842
+ }
7843
+ else if (value['date_updated'] && value['date_updated'].indexOf(',') !== -1) {
7844
+ value['date_updated'] = value['date_updated']
7845
+ .split(',')
7846
+ .map(date => formatDate(date, 'dd/MM/yyyy HH:mm:ss', this.loc))
7847
+ .join(',');
7848
+ }
7772
7849
  return value;
7773
7850
  });
7774
7851
  }
@@ -7778,16 +7855,16 @@ class ReportsComponent {
7778
7855
  convertToFloatValue(amt) {
7779
7856
  return amt ? Number.parseFloat(amt).toFixed(2) : '0.00';
7780
7857
  }
7781
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: ReportsComponent, deps: [{ token: XlFileService }, { token: ErrorHandlerService }, { token: i1$1.FormBuilder }, { token: BulkScaningPaymentService }, { token: 'PAYMENT_LIB' }, { token: PaymentViewService }], target: i0.ɵɵFactoryTarget.Component });
7782
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: ReportsComponent, isStandalone: false, selector: "ccpay-reports", inputs: { ISPAYMENTSTATUSENABLED: "ISPAYMENTSTATUSENABLED" }, ngImport: i0, template: "<div class=\"header\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='REPORTS'>\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <legend class=\"govuk-fieldset__legend--xl\">\n <h1 class=\"govuk-fieldset__heading\"> Choose the report type and date range</h1>\n </legend>\n</div>\n<form [formGroup]=\"reportsForm\">\n <div class=\"govuk-form-group\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input\n required\n id=\"DataLoss\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('DATA_LOSS')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"DATA_LOSS\"\n data-aria-controls=\"DataLoss\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"DataLoss\">Data loss</label>\n <span class=\"form-hint\">Missing transactions where data has been received from only either of Exela or Bulk scan</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"UnprocessedTransactions\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('UNPROCESSED')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"UNPROCESSED\"\n data-aria-controls=\"UnprocessedTransactions\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"UnprocessedTransactions\">Unprocessed transactions</label>\n <span class=\"form-hint\">Transaction records that are still unprocessed by staff.</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ProcessedUnallocated\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PROCESSED_UNALLOCATED')\"\n type=\"radio\"\n value=\"PROCESSED_UNALLOCATED\"\n data-aria-controls=\"ProcessedUnallocated\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ProcessedUnallocated\">Processed unallocated</label>\n <span class=\"form-hint\">Payments that are marked as \u2018Unidentified\u2019 or \u2018Transferred\u2019 (Unsolicited requests)</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ShortfallsandSurplus\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('SURPLUS_AND_SHORTFALL')\"\n type=\"radio\"\n value=\"SURPLUS_AND_SHORTFALL\"\n data-aria-controls=\"ShortfallsandSurplus\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ShortfallsandSurplus\">Under payment and Over payment</label>\n <span class=\"form-hint\">Requests where balances are marked as Under payment/Over payment further case management.\n E.g: Refund approval, Customer contact</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"PaymentFailureEvent\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PAYMENT_FAILURE_EVENT')\"\n type=\"radio\"\n value=\"PAYMENT_FAILURE_EVENT\"\n data-aria-controls=\"PaymentFailureEvent\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"PaymentFailureEvent\">Payment failure event</label>\n <span class=\"form-hint\">Failed payment transaction details</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"TelephonyPayments\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('TELEPHONY_PAYMENTS')\"\n type=\"radio\"\n value=\"TELEPHONY_PAYMENTS\"\n data-aria-controls=\"TelephonyPayments\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"TelephonyPayments\">Telephony Payments</label>\n <span class=\"form-hint\">All Telephony Payments</span>\n </div>\n </div>\n </div>\n <div class=\"govuk-form-group\">\n <div class=\"datefrom\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-from\">Date from</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-from\" name=\"date-from\" type=\"date\" formControlName=\"startDate\" required/>\n </div>\n\n <div class=\"dateto\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-to\">Date to</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-to\" name=\"search\" type=\"date\" formControlName=\"endDate\" required/>\n </div>\n </div>\n <p class=\"inline-error-message\" *ngIf=\"isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">\n <span *ngIf=\"isStartDateLesthanEndDate\">Please select 'Date From' less than or equal to 'Date To'</span>\n <span *ngIf=\"isDateRangeBetnWeek\"> Please select the date range between 7 days</span>\n <span *ngIf=\"isDateBetwnMonth\"> Please select the date range between 30 days</span>\n </p>\n <div class=\"btnsubmit\">\n <button type=\"submit\" (click)=\"downloadReport()\" class=\"button\" [disabled]=\"!reportsForm.valid || isDownLoadButtondisabled || isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">Download report</button>\n </div>\n </form>\n\n", styles: [".govuk-radios__input:focus+.govuk-radios__label:before{border-width:4px;-webkit-box-shadow:0 0 0 4px rgb(255,175,0);box-shadow:0 0 0 4px #ffaf00}.datefrom{width:50%;float:left}.dateto{width:50%;float:right}.govuk-label--m{font-size:large}.form-hint{padding-left:.7em}.header{margin-top:10px;margin-bottom:15px}.btnsubmit{margin-bottom:30px}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ErrorBannerComponent, selector: "ccpay-error-banner", inputs: ["errorMessage"] }] });
7858
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: ReportsComponent, deps: [{ token: XlFileService }, { token: ErrorHandlerService }, { token: i1$1.FormBuilder }, { token: BulkScaningPaymentService }, { token: 'PAYMENT_LIB' }, { token: PaymentViewService }, { token: RefundsService }], target: i0.ɵɵFactoryTarget.Component });
7859
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: ReportsComponent, isStandalone: false, selector: "ccpay-reports", inputs: { ISPAYMENTSTATUSENABLED: "ISPAYMENTSTATUSENABLED" }, ngImport: i0, template: "<div class=\"header\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='REPORTS'>\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <legend class=\"govuk-fieldset__legend--xl\">\n <h1 class=\"govuk-fieldset__heading\"> Choose the report type and date range</h1>\n </legend>\n</div>\n<form [formGroup]=\"reportsForm\">\n <div class=\"govuk-form-group\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input\n required\n id=\"DataLoss\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('DATA_LOSS')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"DATA_LOSS\"\n data-aria-controls=\"DataLoss\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"DataLoss\">Data loss</label>\n <span class=\"form-hint\">Missing transactions where data has been received from only either of Exela or Bulk scan</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"UnprocessedTransactions\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('UNPROCESSED')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"UNPROCESSED\"\n data-aria-controls=\"UnprocessedTransactions\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"UnprocessedTransactions\">Unprocessed transactions</label>\n <span class=\"form-hint\">Transaction records that are still unprocessed by staff.</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ProcessedUnallocated\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PROCESSED_UNALLOCATED')\"\n type=\"radio\"\n value=\"PROCESSED_UNALLOCATED\"\n data-aria-controls=\"ProcessedUnallocated\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ProcessedUnallocated\">Processed unallocated</label>\n <span class=\"form-hint\">Payments that are marked as \u2018Unidentified\u2019 or \u2018Transferred\u2019 (Unsolicited requests)</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ShortfallsandSurplus\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('SURPLUS_AND_SHORTFALL')\"\n type=\"radio\"\n value=\"SURPLUS_AND_SHORTFALL\"\n data-aria-controls=\"ShortfallsandSurplus\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ShortfallsandSurplus\">Under payment and Over payment</label>\n <span class=\"form-hint\">Requests where balances are marked as Under payment/Over payment further case management.\n E.g: Refund approval, Customer contact</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"PaymentFailureEvent\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PAYMENT_FAILURE_EVENT')\"\n type=\"radio\"\n value=\"PAYMENT_FAILURE_EVENT\"\n data-aria-controls=\"PaymentFailureEvent\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"PaymentFailureEvent\">Payment failure event</label>\n <span class=\"form-hint\">Failed payment transaction details</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"TelephonyPayments\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('TELEPHONY_PAYMENTS')\"\n type=\"radio\"\n value=\"TELEPHONY_PAYMENTS\"\n data-aria-controls=\"TelephonyPayments\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"TelephonyPayments\">Telephony Payments</label>\n <span class=\"form-hint\">All Telephony Payments</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"RefundsEvent\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('REFUNDS')\"\n type=\"radio\"\n value=\"REFUNDS\"\n data-aria-controls=\"RefundsEvent\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"RefundsEvent\">Refunds</label>\n <span class=\"form-hint\">Details of refunds</span>\n </div>\n </div>\n </div>\n <div class=\"govuk-form-group\">\n <div class=\"datefrom\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-from\">Date from</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-from\" name=\"date-from\" type=\"date\" formControlName=\"startDate\" required/>\n </div>\n\n <div class=\"dateto\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-to\">Date to</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-to\" name=\"search\" type=\"date\" formControlName=\"endDate\" required/>\n </div>\n </div>\n <p class=\"inline-error-message\" *ngIf=\"isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">\n <span *ngIf=\"isStartDateLesthanEndDate\">Please select 'Date From' less than or equal to 'Date To'</span>\n <span *ngIf=\"isDateRangeBetnWeek\"> Please select the date range between 7 days</span>\n <span *ngIf=\"isDateBetwnMonth\"> Please select the date range between 30 days</span>\n </p>\n <div class=\"btnsubmit\">\n <button type=\"submit\" (click)=\"downloadReport()\" class=\"button\" [disabled]=\"!reportsForm.valid || isDownLoadButtondisabled || isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">Download report</button>\n </div>\n </form>\n\n", styles: [".govuk-radios__input:focus+.govuk-radios__label:before{border-width:4px;-webkit-box-shadow:0 0 0 4px rgb(255,175,0);box-shadow:0 0 0 4px #ffaf00}.datefrom{width:50%;float:left}.dateto{width:50%;float:right}.govuk-label--m{font-size:large}.form-hint{padding-left:.7em}.header{margin-top:10px;margin-bottom:15px}.btnsubmit{margin-bottom:30px}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ErrorBannerComponent, selector: "ccpay-error-banner", inputs: ["errorMessage"] }] });
7783
7860
  }
7784
7861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: ReportsComponent, decorators: [{
7785
7862
  type: Component,
7786
- args: [{ selector: 'ccpay-reports', standalone: false, template: "<div class=\"header\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='REPORTS'>\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <legend class=\"govuk-fieldset__legend--xl\">\n <h1 class=\"govuk-fieldset__heading\"> Choose the report type and date range</h1>\n </legend>\n</div>\n<form [formGroup]=\"reportsForm\">\n <div class=\"govuk-form-group\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input\n required\n id=\"DataLoss\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('DATA_LOSS')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"DATA_LOSS\"\n data-aria-controls=\"DataLoss\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"DataLoss\">Data loss</label>\n <span class=\"form-hint\">Missing transactions where data has been received from only either of Exela or Bulk scan</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"UnprocessedTransactions\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('UNPROCESSED')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"UNPROCESSED\"\n data-aria-controls=\"UnprocessedTransactions\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"UnprocessedTransactions\">Unprocessed transactions</label>\n <span class=\"form-hint\">Transaction records that are still unprocessed by staff.</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ProcessedUnallocated\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PROCESSED_UNALLOCATED')\"\n type=\"radio\"\n value=\"PROCESSED_UNALLOCATED\"\n data-aria-controls=\"ProcessedUnallocated\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ProcessedUnallocated\">Processed unallocated</label>\n <span class=\"form-hint\">Payments that are marked as \u2018Unidentified\u2019 or \u2018Transferred\u2019 (Unsolicited requests)</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ShortfallsandSurplus\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('SURPLUS_AND_SHORTFALL')\"\n type=\"radio\"\n value=\"SURPLUS_AND_SHORTFALL\"\n data-aria-controls=\"ShortfallsandSurplus\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ShortfallsandSurplus\">Under payment and Over payment</label>\n <span class=\"form-hint\">Requests where balances are marked as Under payment/Over payment further case management.\n E.g: Refund approval, Customer contact</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"PaymentFailureEvent\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PAYMENT_FAILURE_EVENT')\"\n type=\"radio\"\n value=\"PAYMENT_FAILURE_EVENT\"\n data-aria-controls=\"PaymentFailureEvent\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"PaymentFailureEvent\">Payment failure event</label>\n <span class=\"form-hint\">Failed payment transaction details</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"TelephonyPayments\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('TELEPHONY_PAYMENTS')\"\n type=\"radio\"\n value=\"TELEPHONY_PAYMENTS\"\n data-aria-controls=\"TelephonyPayments\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"TelephonyPayments\">Telephony Payments</label>\n <span class=\"form-hint\">All Telephony Payments</span>\n </div>\n </div>\n </div>\n <div class=\"govuk-form-group\">\n <div class=\"datefrom\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-from\">Date from</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-from\" name=\"date-from\" type=\"date\" formControlName=\"startDate\" required/>\n </div>\n\n <div class=\"dateto\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-to\">Date to</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-to\" name=\"search\" type=\"date\" formControlName=\"endDate\" required/>\n </div>\n </div>\n <p class=\"inline-error-message\" *ngIf=\"isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">\n <span *ngIf=\"isStartDateLesthanEndDate\">Please select 'Date From' less than or equal to 'Date To'</span>\n <span *ngIf=\"isDateRangeBetnWeek\"> Please select the date range between 7 days</span>\n <span *ngIf=\"isDateBetwnMonth\"> Please select the date range between 30 days</span>\n </p>\n <div class=\"btnsubmit\">\n <button type=\"submit\" (click)=\"downloadReport()\" class=\"button\" [disabled]=\"!reportsForm.valid || isDownLoadButtondisabled || isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">Download report</button>\n </div>\n </form>\n\n", styles: [".govuk-radios__input:focus+.govuk-radios__label:before{border-width:4px;-webkit-box-shadow:0 0 0 4px rgb(255,175,0);box-shadow:0 0 0 4px #ffaf00}.datefrom{width:50%;float:left}.dateto{width:50%;float:right}.govuk-label--m{font-size:large}.form-hint{padding-left:.7em}.header{margin-top:10px;margin-bottom:15px}.btnsubmit{margin-bottom:30px}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}\n"] }]
7863
+ args: [{ selector: 'ccpay-reports', standalone: false, template: "<div class=\"header\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='REPORTS'>\n <ccpay-error-banner *ngIf=\"errorMessage.showError\" [errorMessage]=\"errorMessage\"></ccpay-error-banner>\n <legend class=\"govuk-fieldset__legend--xl\">\n <h1 class=\"govuk-fieldset__heading\"> Choose the report type and date range</h1>\n </legend>\n</div>\n<form [formGroup]=\"reportsForm\">\n <div class=\"govuk-form-group\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input\n required\n id=\"DataLoss\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('DATA_LOSS')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"DATA_LOSS\"\n data-aria-controls=\"DataLoss\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"DataLoss\">Data loss</label>\n <span class=\"form-hint\">Missing transactions where data has been received from only either of Exela or Bulk scan</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"UnprocessedTransactions\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n (click)=\"validateDates('UNPROCESSED')\"\n name=\"selectedreport\"\n type=\"radio\"\n value=\"UNPROCESSED\"\n data-aria-controls=\"UnprocessedTransactions\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"UnprocessedTransactions\">Unprocessed transactions</label>\n <span class=\"form-hint\">Transaction records that are still unprocessed by staff.</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ProcessedUnallocated\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PROCESSED_UNALLOCATED')\"\n type=\"radio\"\n value=\"PROCESSED_UNALLOCATED\"\n data-aria-controls=\"ProcessedUnallocated\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ProcessedUnallocated\">Processed unallocated</label>\n <span class=\"form-hint\">Payments that are marked as \u2018Unidentified\u2019 or \u2018Transferred\u2019 (Unsolicited requests)</span>\n </div>\n\n <div class=\"govuk-radios__item\">\n <input\n id=\"ShortfallsandSurplus\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('SURPLUS_AND_SHORTFALL')\"\n type=\"radio\"\n value=\"SURPLUS_AND_SHORTFALL\"\n data-aria-controls=\"ShortfallsandSurplus\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"ShortfallsandSurplus\">Under payment and Over payment</label>\n <span class=\"form-hint\">Requests where balances are marked as Under payment/Over payment further case management.\n E.g: Refund approval, Customer contact</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"PaymentFailureEvent\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('PAYMENT_FAILURE_EVENT')\"\n type=\"radio\"\n value=\"PAYMENT_FAILURE_EVENT\"\n data-aria-controls=\"PaymentFailureEvent\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"PaymentFailureEvent\">Payment failure event</label>\n <span class=\"form-hint\">Failed payment transaction details</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"TelephonyPayments\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('TELEPHONY_PAYMENTS')\"\n type=\"radio\"\n value=\"TELEPHONY_PAYMENTS\"\n data-aria-controls=\"TelephonyPayments\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"TelephonyPayments\">Telephony Payments</label>\n <span class=\"form-hint\">All Telephony Payments</span>\n </div>\n <div class=\"govuk-radios__item\">\n <input\n id=\"RefundsEvent\"\n class=\"govuk-radios__input\"\n formControlName=\"selectedreport\"\n name=\"selectedreport\"\n (click)=\"validateDates('REFUNDS')\"\n type=\"radio\"\n value=\"REFUNDS\"\n data-aria-controls=\"RefundsEvent\"/>\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"RefundsEvent\">Refunds</label>\n <span class=\"form-hint\">Details of refunds</span>\n </div>\n </div>\n </div>\n <div class=\"govuk-form-group\">\n <div class=\"datefrom\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-from\">Date from</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-from\" name=\"date-from\" type=\"date\" formControlName=\"startDate\" required/>\n </div>\n\n <div class=\"dateto\">\n <label class=\"govuk-label govuk-radios__label govuk-label--m\" for=\"date-to\">Date to</label>\n <input (change)=\"getSelectedFromDate()\" [max]=\"getToday()\" class=\"form-control\" id=\"date-to\" name=\"search\" type=\"date\" formControlName=\"endDate\" required/>\n </div>\n </div>\n <p class=\"inline-error-message\" *ngIf=\"isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">\n <span *ngIf=\"isStartDateLesthanEndDate\">Please select 'Date From' less than or equal to 'Date To'</span>\n <span *ngIf=\"isDateRangeBetnWeek\"> Please select the date range between 7 days</span>\n <span *ngIf=\"isDateBetwnMonth\"> Please select the date range between 30 days</span>\n </p>\n <div class=\"btnsubmit\">\n <button type=\"submit\" (click)=\"downloadReport()\" class=\"button\" [disabled]=\"!reportsForm.valid || isDownLoadButtondisabled || isStartDateLesthanEndDate || isDateRangeBetnWeek || isDateBetwnMonth\">Download report</button>\n </div>\n </form>\n\n", styles: [".govuk-radios__input:focus+.govuk-radios__label:before{border-width:4px;-webkit-box-shadow:0 0 0 4px rgb(255,175,0);box-shadow:0 0 0 4px #ffaf00}.datefrom{width:50%;float:left}.dateto{width:50%;float:right}.govuk-label--m{font-size:large}.form-hint{padding-left:.7em}.header{margin-top:10px;margin-bottom:15px}.btnsubmit{margin-bottom:30px}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}\n"] }]
7787
7864
  }], ctorParameters: () => [{ type: XlFileService }, { type: ErrorHandlerService }, { type: i1$1.FormBuilder }, { type: BulkScaningPaymentService }, { type: undefined, decorators: [{
7788
7865
  type: Inject,
7789
7866
  args: ['PAYMENT_LIB']
7790
- }] }, { type: PaymentViewService }], propDecorators: { ISPAYMENTSTATUSENABLED: [{
7867
+ }] }, { type: PaymentViewService }, { type: RefundsService }], propDecorators: { ISPAYMENTSTATUSENABLED: [{
7791
7868
  type: Input,
7792
7869
  args: ['ISPAYMENTSTATUSENABLED']
7793
7870
  }] } });