From 8d8faf640808ca7b339b3c08d5a74d1ad547f855 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Tue, 22 Jul 2025 11:46:08 +0530 Subject: [PATCH 01/16] feat(tracking): added tracking service throughout all ui components --- scripts/ci-prebuild.js | 4 +++ .../indent-request.component.html | 12 ++++++++ .../indent-request.component.ts | 6 ++++ ...store-indent-order-worklist.component.html | 1 + ...b-store-indent-order-worklist.component.ts | 6 ++++ .../medicine-dispense.component.html | 13 ++++++++ .../medicine-dispense.component.ts | 8 ++++- .../patient-return.component.html | 22 +++++--------- .../patient-return.component.ts | 6 ++++ .../physical-stock-entry.component.html | 24 +++++++++++---- .../physical-stock-entry.component.ts | 8 ++++- ...neficiary-drug-issue-report.component.html | 3 ++ ...beneficiary-drug-issue-report.component.ts | 9 ++++++ .../consumption-report.component.html | 8 +++-- .../consumption-report.component.ts | 6 ++++ .../daily-stock-details-report.component.html | 30 ++++++++++--------- .../daily-stock-details-report.component.ts | 6 ++++ .../daily-stock-summary-report.component.html | 16 ++++++---- .../daily-stock-summary-report.component.ts | 6 ++++ .../expiry-report.component.html | 29 +++++++++--------- .../expiry-report/expiry-report.component.ts | 6 ++++ .../inward-stock-report.component.html | 18 +++++++---- .../inward-stock-report.component.ts | 6 ++++ .../monthly-report.component.html | 25 ++++++++-------- .../monthly-report.component.ts | 6 ++++ .../short-expiry-report.component.html | 2 ++ .../short-expiry-report.component.ts | 9 ++++++ .../transit-report.component.html | 3 ++ .../transit-report.component.ts | 6 ++++ .../yearly-report.component.html | 11 ++++--- .../yearly-report/yearly-report.component.ts | 6 ++++ .../store-self-consumption.component.html | 19 ++++++++---- .../store-self-consumption.component.ts | 6 ++++ .../store-stock-adjustment.component.html | 28 +++++++++++++---- .../store-stock-adjustment.component.ts | 6 ++++ .../store-stock-transfer.component.html | 21 ++++++++----- .../store-stock-transfer.component.ts | 8 ++++- src/app/app.component.ts | 4 ++- src/app/app.module.ts | 2 ++ .../facility-selection.component.html | 17 +++++++---- .../facility-selection.component.ts | 6 ++++ src/environments/environment.ci.ts.template | 9 ++++++ src/environments/environment.local.ts | 8 +++++ src/environments/environment.prod.ts | 8 +++++ src/environments/environment.test.ts | 8 +++++ 45 files changed, 361 insertions(+), 110 deletions(-) diff --git a/scripts/ci-prebuild.js b/scripts/ci-prebuild.js index 3561c5f..8cbff1d 100755 --- a/scripts/ci-prebuild.js +++ b/scripts/ci-prebuild.js @@ -47,6 +47,10 @@ const defaultEnvValues = { SITE_KEY:'', CAPTCHA_CHALLENGE_URL:'', ENABLE_CAPTCHA: false, + SITE_ID: '1', + TRACKER_URL: 'https://matomo.piramalswasthya.org/', + TRACKING_PLATFORM: 'matomo', + TRACKING_ENABLED: 'true', }; // Generate output data diff --git a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html index ae055f3..4e8e95e 100644 --- a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html +++ b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html @@ -20,6 +20,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

id="requestDate" formControlName="requestDate" [disabled]="true" + (focus)="trackFieldInteraction('Indent Date')" /> {{ currentLanguageSet?.inventory?.indentRequest }} allowText="alphanumeric" maxlength="20" formControlName="referenceNumber" + (focus)="trackFieldInteraction('Reference No')" /> @@ -53,6 +55,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

allowText="alphanumericspace" maxlength="250" formControlName="indentReason" + (focus)="trackFieldInteraction('Reason')" /> @@ -101,6 +104,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

" [itemListForm]="element" required + (focus)="trackFieldInteraction('Item Name')" /> {{ currentLanguageSet?.inventory?.indentRequest }} name="qOH" formControlName="qOH" required + (focus)="trackFieldInteraction('Quantity On Hand')" /> @@ -165,6 +170,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

[attr.maxlength]="('' + element.qOH).length" (blur)="checkQuantity(element)" required + (focus)="trackFieldInteraction('Required Quantity')" /> @@ -189,6 +195,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

name="remarks" formControlName="remarks" allowText="alphanumericspace" + (focus)="trackFieldInteraction('Remarks')" /> @@ -225,6 +232,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

mat-mini-fab color="primary" (click)="addToindentItemList()" + (click)="trackFieldInteraction('Add Button')" > add @@ -246,6 +254,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

matTooltip="{{ currentLanguageSet?.inventory?.back }}" matTooltipPosition="right" (click)="goBack()" + (click)="trackFieldInteraction('Back Button')" > {{ currentLanguageSet?.inventory?.back }} @@ -260,6 +269,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

*ngIf="!editMode" [disabled]="indentRequestForm.invalid" (click)="submitIndentRequest(indentRequestForm)" + (click)="trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} @@ -271,6 +281,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

class="pull-right m-r-5 mat_green" [disabled]="indentRequestForm.invalid" (click)="updateIndentRequest(indentRequestForm)" + (click)="trackFieldInteraction('Update Button')" > {{ currentLanguageSet?.inventory?.update }} @@ -282,6 +293,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

class="pull-right m-r-5" [disabled]="indentRequestForm.pristine" (click)="resetIndentRequestForm()" + (click)="trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} diff --git a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.ts b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.ts index e970bef..0f8876d 100644 --- a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.ts +++ b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.ts @@ -39,6 +39,7 @@ import { LanguageService } from 'src/app/app-modules/core/services/language.serv import { MatTableDataSource } from '@angular/material/table'; import { Subscription } from 'rxjs'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-indent-request', @@ -77,6 +78,7 @@ export class IndentRequestComponent implements OnInit, DoCheck { private confirmationService: ConfirmationService, private dataStorageService: DataStorageService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) { this.subs = this.inventoryService .getDialogClosedObservable() @@ -402,4 +404,8 @@ export class IndentRequestComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } // -----End------ + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Indent Request'); + } } diff --git a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html index 1de2eec..fba385d 100644 --- a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html +++ b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html @@ -10,6 +10,7 @@

{{ currentLanguageSet?.inventory?.subStoreIndentOrderWorklist }}

type="button" color="primary" (click)="routeToRaiseRequest()" + (click)="trackFieldInteraction('Raise Request Button')" > {{ currentLanguageSet?.inventory?.raiseRequest }} diff --git a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.ts b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.ts index cb7f3d1..a09f087 100644 --- a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.ts +++ b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.ts @@ -31,6 +31,7 @@ import { LanguageService } from 'src/app/app-modules/core/services/language.serv import { MatPaginator } from '@angular/material/paginator'; import { MatTableDataSource } from '@angular/material/table'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-sub-store-indent-order-worklist', @@ -60,6 +61,7 @@ export class SubStoreIndentOrderWorklistComponent implements OnInit, DoCheck { private confirmationService: ConfirmationService, private dataStorageService: DataStorageService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} ngOnInit() { @@ -141,4 +143,8 @@ export class SubStoreIndentOrderWorklistComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } // -----End------ + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Sub Store Indent Order Worklist'); + } } diff --git a/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html b/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html index b0e9d47..e78adab 100644 --- a/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html +++ b/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html @@ -12,6 +12,7 @@

type="button" color="primary" (click)="openSearchDialog()" + (click)="trackFieldInteraction('Advance Search Button')" > {{ currentLanguageSet?.bendetails?.advanceSearch }} @@ -21,6 +22,7 @@

type="button" color="primary" routerLink="View" + (click)="trackFieldInteraction('Previous Records Button')" > {{ currentLanguageSet?.inventory?.previousRecords }} @@ -44,6 +46,7 @@

id="beneficiaryID" formControlName="beneficiaryID" (keyup)="checkBeneficiary()" + (focus)="trackFieldInteraction('Beneficiary ID')" /> @@ -61,6 +64,9 @@

!beneficiaryDetailForm.get('beneficiaryID')?.value " (selectionChange)="getVisitDetail()" + (selectionChange)=" + trackFieldInteraction('Visit Code') + " > autocomplete="off" formControlName="visitDate" [readonly]="true" + (focus)="trackFieldInteraction('Visit Date')" /> id="beneficiaryName" formControlName="beneficiaryName" [readonly]="true" + (focus)="trackFieldInteraction('Patient Name')" /> @@ -118,6 +126,7 @@

id="beneficiaryAge" formControlName="beneficiaryAge" [readonly]="true" + (focus)="trackFieldInteraction('Age')" /> @@ -134,6 +143,7 @@

id="genderName" formControlName="genderName" [readonly]="true" + (focus)="trackFieldInteraction('Gender')" /> @@ -150,6 +160,7 @@

id="doctorName" formControlName="doctorName" [readonly]="true" + (focus)="trackFieldInteraction('Doctor Name')" /> @@ -167,6 +178,7 @@

formControlName="reference" maxlength="50" [readonly]="!dateBool" + (focus)="trackFieldInteraction('Remarks')" /> @@ -182,6 +194,7 @@

formControlName="medicineDispenseType" [disabled]="!beneficiaryDetailForm.get('visitCode')?.value" (change)="getBeneficiaryDetail()" + (change)="trackFieldInteraction('Type of Dispense')" > type="button" color="primary" routerLink="previousRecord" + (click)="trackFieldInteraction('Previous Records Button')" > {{ currentLanguageSet?.inventory?.previousRecords }} @@ -24,9 +25,7 @@

- + {{ currentLanguageSet?.inventory?.beneficiaryIDPhoneNumber }} @@ -38,6 +37,7 @@

name="beneficiaryIDOrPhoneNumber" formControlName="beneficiaryIDOrPhoneNumber" (keyup.enter)="identityQuickSearch(beneficiaryIDOrPhoneNumber)" + (focus)="trackFieldInteraction('Beneficiary ID / Phone Number')" /> style="display: flex; gap: 10px; margin-top: 30px" >
- + {{ currentLanguageSet?.bendetails?.beneficiaryID }} @@ -71,9 +69,7 @@

- + {{ currentLanguageSet?.bendetails?.beneficiaryName }} @@ -88,9 +84,7 @@

- + {{ currentLanguageSet?.bendetails?.age }} @@ -105,9 +99,7 @@

- + {{ currentLanguageSet?.bendetails?.gender }} type="button" color="primary" routerLink="View" + (click)="trackFieldInteraction('Previous Records Button')" > {{ currentLanguageSet?.inventory?.previousRecords }} @@ -22,7 +23,7 @@

{{ currentLanguageSet?.inventory?.referenceNumber @@ -35,6 +36,7 @@

formControlName="referenceNumber" #referenceNumber required + (focus)="trackFieldInteraction('Reference Number')" /> @@ -52,9 +54,7 @@

- + {{ currentLanguageSet?.inventory?.date }} [matDatepicker]="picker" name="stockEntryDate" [formControl]="stockEntryDate" + (focus)="trackFieldInteraction('Date')" /> formControlName="itemName" #itemName maxlength="100" + (focus)="trackFieldInteraction('Item Name')" /> [required]="true" [readonly]="!stock.value.itemID" [(ngModel)]="stock.quantity" + (focus)="trackFieldInteraction('Qty (In Lowest Unit)')" /> @@ -185,6 +188,7 @@

formControlName="totalCostPrice" [required]="true" [readonly]="!stock.value.itemID" + (focus)="trackFieldInteraction('Unit Cost Price')" /> @@ -213,6 +217,7 @@

[required]="true" [readonly]="!stock.value.itemID" (change)="checkForDuplicateBatch(stock, i)" + (focus)="trackFieldInteraction('Batch No')" /> @@ -248,6 +253,7 @@

name="expiryDate" formControlName="expiryDate" (keydown)="preventTyping($event)" + (focus)="trackFieldInteraction('Expiry Date')" /> class="cursorPointer" (click)="removeStock(i, stock)" matTooltip="{{ currentLanguageSet?.inventory?.delete }}" + (click)="trackFieldInteraction('Delete Button')" >delete @@ -290,7 +297,12 @@

style="margin-top: 15px" *ngIf="physicalStockEntryForm.controls['physicalStock'].valid" > -

@@ -308,6 +320,7 @@

class="pull-right m-r-5" [disabled]="physicalStockEntryForm.pristine" (click)="reset()" + (click)="trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} @@ -319,6 +332,7 @@

class="pull-right m-r-5" [disabled]="physicalStockEntryForm.invalid" (click)="savePhysicalStock()" + (click)="trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} diff --git a/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.ts b/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.ts index 3c73ff1..2d3d8fd 100644 --- a/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.ts +++ b/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.ts @@ -41,6 +41,7 @@ import { SetLanguageComponent } from '../../core/components/set-language.compone import { LanguageService } from '../../core/services/language.service'; import { MatTableDataSource } from '@angular/material/table'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-physical-stock-entry', @@ -87,7 +88,8 @@ export class PhysicalStockEntryComponent implements OnInit, OnChanges, DoCheck { private http_service: LanguageService, private dialogService: ConfirmationService, private fb: FormBuilder, - readonly sessionstorage:SessionStorageService, + readonly sessionstorage: SessionStorageService, + private trackingService: AmritTrackingService ) {} dataSource = new MatTableDataSource(); @@ -312,4 +314,8 @@ export class PhysicalStockEntryComponent implements OnInit, OnChanges, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Physical Stock Entry'); + } } diff --git a/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html b/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html index 761a2e5..ada839a 100644 --- a/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html +++ b/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html @@ -24,6 +24,7 @@

{{ currentLanguageSet?.inventory?.beneficiaryDrugIssueReport }}

(change)="checkEndDate()" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('Start Date')" /> {{ currentLanguageSet?.inventory?.beneficiaryDrugIssueReport }}

[min]="minEndDate" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.beneficiaryDrugIssueReport }}

type="submit" [disabled]="!beneficiaryDrugIssueForm.valid" (click)="downloadReport(true)" + (click)="trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.ts b/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.ts index 52ad2cc..0bc8d9c 100644 --- a/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.ts +++ b/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.ts @@ -27,6 +27,7 @@ import { InventoryService } from '../../shared/service/inventory.service'; import { ConfirmationService } from '../../../core/services/confirmation.service'; import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; declare global { interface Navigator { @@ -50,6 +51,7 @@ export class BeneficiaryDrugIssueReportComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private http_service: LanguageService, private confirmationService: ConfirmationService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -295,4 +297,11 @@ export class BeneficiaryDrugIssueReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction( + fieldName, + 'Beneficiary Drug Issue Report', + ); + } } diff --git a/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html b/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html index e74e0cd..19646fd 100644 --- a/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html +++ b/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html @@ -24,6 +24,7 @@

{{ currentLanguageSet?.inventory?.consumptionReport }}

(change)="checkEndDate()" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('Start Date')" /> {{ currentLanguageSet?.inventory?.consumptionReport }}

[disabled]="true" [min]="minEndDate" [max]="maxEndDate" + (focus)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.consumptionReport }}

[style.width]="'100%'" class="input-full-width" formControlName="facilityName" + (selectionChange)="trackFieldInteraction('Facility')" > {{ item @@ -74,7 +77,7 @@

{{ currentLanguageSet?.inventory?.consumptionReport }}

-
+

type="submit" [disabled]="!consumptionForm.valid" (click)="downloadReport(true)" + (click)="trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} - - diff --git a/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.ts b/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.ts index 2cb1919..3865620 100644 --- a/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.ts +++ b/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.ts @@ -29,6 +29,7 @@ import { ConfirmationService } from '../../../core/services/confirmation.service import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-consumption-report', @@ -47,6 +48,7 @@ export class ConsumptionReportComponent implements OnInit, DoCheck { private http_service: LanguageService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -321,4 +323,8 @@ export class ConsumptionReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Consumption Report'); + } } diff --git a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html index 2e5c5b7..a9c279a 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html +++ b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html @@ -24,6 +24,7 @@

{{ currentLanguageSet?.inventory?.dailyStockDetailsReport }}

formControlName="startDate" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('Start Date')" /> {{ currentLanguageSet?.inventory?.dailyStockDetailsReport }}

(dateChange)="checkStartDate($event)" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.dailyStockDetailsReport }} [style.width]="'100%'" class="input-full-width" formControlName="facilityName" + (selectionChange)="trackFieldInteraction('Facility')" > {{ item @@ -75,21 +78,20 @@

{{ currentLanguageSet?.inventory?.dailyStockDetailsReport }}

- -
- -
+
+ +
- diff --git a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts index 7962f63..8f61a16 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts +++ b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts @@ -29,6 +29,7 @@ import { ConfirmationService } from '../../../core/services/confirmation.service import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-daily-stock-details-report', @@ -47,6 +48,7 @@ export class DailyStockDetailsReportComponent implements OnInit, DoCheck { private http_service: LanguageService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -320,4 +322,8 @@ export class DailyStockDetailsReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Daily Stock Details Report'); + } } diff --git a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html index c3e936c..e636396 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html +++ b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html @@ -23,6 +23,7 @@

{{ currentLanguageSet?.inventory?.dailyStockSummaryReport }}

(dateChange)="checkEndDate($event)" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('Start Date')" /> {{ currentLanguageSet?.inventory?.dailyStockSummaryReport }} (dateChange)="checkStartDate($event)" [min]="minEndDate" [max]="maxEndDate" + (focus)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.dailyStockSummaryReport }}
- + {{ currentLanguageSet?.inventory?.facility }} - + {{ item }}
-
+
-
diff --git a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts index 3a40086..4424b95 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts +++ b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts @@ -29,6 +29,7 @@ import { ConfirmationService } from '../../../core/services/confirmation.service import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-daily-stock-summary-report', templateUrl: './daily-stock-summary-report.component.html', @@ -46,6 +47,7 @@ export class DailyStockSummaryReportComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -320,4 +322,8 @@ export class DailyStockSummaryReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Daily Stock Summary Report'); + } } diff --git a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html index 211d5d3..10b7ff7 100644 --- a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html +++ b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html @@ -24,6 +24,7 @@

{{ currentLanguageSet?.inventory?.expiryReport }}

(change)="checkEndDate()" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('Start Date')" /> {{ currentLanguageSet?.inventory?.expiryReport }} [min]="minEndDate" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.expiryReport }} - -
- -
+
+ +
- diff --git a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts index a72ea60..535b13e 100644 --- a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts +++ b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts @@ -28,6 +28,7 @@ import { InventoryService } from '../../shared/service/inventory.service'; import { ConfirmationService } from '../../../core/services/confirmation.service'; import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-expiry-report', @@ -45,6 +46,7 @@ export class ExpiryReportComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private http_service: LanguageService, private confirmationService: ConfirmationService, + private trackingService: AmritTrackingService ) {} today!: Date; minEndDate!: Date; @@ -283,4 +285,8 @@ export class ExpiryReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Expiry Report'); + } } diff --git a/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html b/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html index 87357c9..aab9c31 100644 --- a/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html +++ b/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html @@ -10,7 +10,7 @@

{{ currentLanguageSet?.inventory?.inwardStockReport }}

{{ currentLanguageSet?.inventory?.startDate }} @@ -24,6 +24,7 @@

{{ currentLanguageSet?.inventory?.inwardStockReport }}

(change)="checkEndDate()" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('Start Date')" /> {{ currentLanguageSet?.inventory?.inwardStockReport }}
{{ currentLanguageSet?.inventory?.endDate }} @@ -48,6 +49,7 @@

{{ currentLanguageSet?.inventory?.inwardStockReport }}

[min]="minEndDate" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.inwardStockReport }}
{{ currentLanguageSet?.inventory?.facility }} - + {{ item }}
-
+
- diff --git a/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.ts b/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.ts index a76b7e1..e3cbcc2 100644 --- a/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.ts +++ b/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.ts @@ -31,6 +31,7 @@ import { ConfirmationService } from '../../../core/services/confirmation.service import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-inward-stock-report', @@ -49,6 +50,7 @@ export class InwardStockReportComponent implements OnInit, DoCheck { private http_service: LanguageService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -317,4 +319,8 @@ export class InwardStockReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Inward Stock Report'); + } } diff --git a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html index 5002ede..5990c89 100644 --- a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html +++ b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html @@ -9,9 +9,7 @@

{{ currentLanguageSet?.inventory?.monthlyReport }}

- + {{ currentLanguageSet?.inventory?.selectmonth }} @@ -21,6 +19,7 @@

{{ currentLanguageSet?.inventory?.monthlyReport }}

id="month" formControlName="month" required + (selectionChange)="trackFieldInteraction('Select month')" > {{ month.name @@ -30,9 +29,7 @@

{{ currentLanguageSet?.inventory?.monthlyReport }}

- + {{ currentLanguageSet?.inventory?.selectyear }} @@ -42,6 +39,7 @@

{{ currentLanguageSet?.inventory?.monthlyReport }}

id="year" formControlName="year" required + (selectionChange)="trackFieldInteraction('Select year')" > {{ year @@ -50,20 +48,22 @@

{{ currentLanguageSet?.inventory?.monthlyReport }}

- + {{ currentLanguageSet?.inventory?.facility }} - + {{ item }}
-
+
- -
diff --git a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts index 906a68a..f3487e6 100644 --- a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts +++ b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts @@ -29,6 +29,7 @@ import { ConfirmationService } from '../../../core/services/confirmation.service import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-monthly-report', @@ -47,6 +48,7 @@ export class MonthlyReportComponent implements OnInit, DoCheck { private http_service: LanguageService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -316,4 +318,8 @@ export class MonthlyReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Monthly Report'); + } } diff --git a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html index 893a8ee..8280911 100644 --- a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html +++ b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html @@ -22,6 +22,7 @@

{{ currentLanguageSet?.inventory?.shortExpiryReport }}

[max]="maxEndDate" formControlName="startDate" [readonly]="true" + (focus)="trackFieldInteraction('Date')" /> {{ currentLanguageSet?.inventory?.shortExpiryReport }} class="mat_green" type="submit" (click)="downloadReport(true)" + (click)="trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts index b7fb41e..d6ad124 100644 --- a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts +++ b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts @@ -28,6 +28,7 @@ import { InventoryService } from '../../shared/service/inventory.service'; import { ConfirmationService } from '../../../core/services/confirmation.service'; import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-short-expiry-report', @@ -45,6 +46,7 @@ export class ShortExpiryReportComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private http_service: LanguageService, private confirmationService: ConfirmationService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -253,4 +255,11 @@ export class ShortExpiryReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction( + fieldName, + 'Short Expiry Report', + ); + } } diff --git a/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html b/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html index b562c33..cd683e7 100644 --- a/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html +++ b/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html @@ -23,6 +23,7 @@

{{ currentLanguageSet?.inventory?.transitReport }}

(change)="checkEndDate()" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('Start Date')" /> {{ currentLanguageSet?.inventory?.transitReport }} [min]="minEndDate" [max]="maxEndDate" [disabled]="true" + (focus)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.transitReport }} type="submit" [disabled]="!transitForm.valid" (click)="downloadReport(true)" + (click)="trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/transit-report/transit-report.component.ts b/src/app/app-modules/inventory/reports/transit-report/transit-report.component.ts index 3a489ec..b999f4e 100644 --- a/src/app/app-modules/inventory/reports/transit-report/transit-report.component.ts +++ b/src/app/app-modules/inventory/reports/transit-report/transit-report.component.ts @@ -28,6 +28,7 @@ import { InventoryService } from '../../shared/service/inventory.service'; import { ConfirmationService } from '../../../core/services/confirmation.service'; import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-transit-report', @@ -45,6 +46,7 @@ export class TransitReportComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private http_service: LanguageService, private confirmationService: ConfirmationService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -285,4 +287,8 @@ export class TransitReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Transit Report'); + } } diff --git a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html index 963bfd7..a5d6c97 100644 --- a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html +++ b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html @@ -9,9 +9,7 @@

{{ currentLanguageSet?.inventory?.yearlyReport }}

- + {{ currentLanguageSet?.inventory?.selectyear }} @@ -21,6 +19,7 @@

{{ currentLanguageSet?.inventory?.yearlyReport }}

id="year" formControlName="year" required + (selectionChange)="trackFieldInteraction('Select year')" > {{ year @@ -29,9 +28,7 @@

{{ currentLanguageSet?.inventory?.yearlyReport }}

- + {{ currentLanguageSet?.inventory?.facility }} @@ -39,6 +36,7 @@

{{ currentLanguageSet?.inventory?.yearlyReport }}

[style.width]="'100%'" class="input-full-width" formControlName="facilityName" + (selectionChange)="trackFieldInteraction('Facility')" > {{ item @@ -54,6 +52,7 @@

{{ currentLanguageSet?.inventory?.yearlyReport }}

type="submit" [disabled]="!yearlyForm.valid" (click)="downloadReport(true)" + (click)="trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts index 0a2379d..29fb791 100644 --- a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts +++ b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts @@ -29,6 +29,7 @@ import { ConfirmationService } from '../../../core/services/confirmation.service import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-yearly-report', @@ -47,6 +48,7 @@ export class YearlyReportComponent implements OnInit, DoCheck { private http_service: LanguageService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} today!: Date; @@ -286,4 +288,8 @@ export class YearlyReportComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Yearly Report'); + } } diff --git a/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html b/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html index b1daf9c..3c7a923 100644 --- a/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html +++ b/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html @@ -14,6 +14,7 @@

type="button" color="primary" routerLink="View" + (click)="trackFieldInteraction('Previous Records Button')" > {{ currentLanguageSet?.inventory?.previousRecords }} @@ -21,9 +22,7 @@

-
+
{{ currentLanguageSet?.inventory?.referenceNumber @@ -36,6 +35,7 @@

name="referenceNumber" formControlName="referenceNumber" #referenceNumber + (focus)="trackFieldInteraction('Reference Number')" /> @@ -52,9 +52,7 @@

- + {{ currentLanguageSet?.inventory?.consumptionReason }} @@ -65,6 +63,7 @@

maxlength="100" name="dispenseReason" formControlName="dispenseReason" + (focus)="trackFieldInteraction('Consumption Reason')" />

@@ -118,6 +117,7 @@

required name="itemName" formControlName="itemName" + (focus)="trackFieldInteraction('Item Name')" /> name="batchNo" formControlName="batchNo" readonly + (focus)="trackFieldInteraction('Batch No')" /> @@ -177,6 +178,7 @@

name="quantityInHand" formControlName="quantityInHand" readonly + (focus)="trackFieldInteraction('QOH')" /> @@ -208,6 +210,7 @@

('' + element.value?.quantityInHand).length " (blur)="validateRequestedQuantity(element)" + (focus)="trackFieldInteraction('Quantity')" /> @@ -225,6 +228,7 @@

class="icon-remove cursorPointer" matTooltip="{{ currentLanguageSet?.inventory?.delete }}" (click)="removeDispensedStock(i, element)" + (click)="trackFieldInteraction('Delete Button')" >delete @@ -246,6 +250,7 @@

class="pull-right" color="primary" (click)="addDispensedStock()" + (click)="trackFieldInteraction('Add Button')" > add @@ -263,6 +268,7 @@

class="pull-right m-r-5" [disabled]="storeSelfConsumptionForm.invalid" (click)="saveSelfConsumptionStock()" + (click)="trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} @@ -272,6 +278,7 @@

class="pull-right m-r-5" [disabled]="storeSelfConsumptionForm.pristine" (click)="reset()" + (click)="trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} diff --git a/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.ts b/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.ts index 860f3b9..2711a8d 100644 --- a/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.ts +++ b/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.ts @@ -35,6 +35,7 @@ import { SetLanguageComponent } from '../../core/components/set-language.compone import { MatTableDataSource } from '@angular/material/table'; import { Subscription } from 'rxjs'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; export interface PeriodicElement { itemName: string; @@ -75,6 +76,7 @@ export class StoreSelfConsumptionComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private alertService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) { this.subs = this.inventoryService .getDialogClosedObservable() @@ -277,4 +279,8 @@ export class StoreSelfConsumptionComponent implements OnInit, DoCheck { this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Store Self Consumption'); + } } diff --git a/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html b/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html index e7c7a94..1fbb99e 100644 --- a/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html +++ b/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html @@ -14,6 +14,7 @@

type="button" color="primary" routerLink="/inventory/storeStockAdjustment/view" + (click)="trackFieldInteraction('Previous Records Button')" > {{ currentLanguageSet?.inventory?.previousRecords }} @@ -25,6 +26,7 @@

type="button" color="primary" routerLink="/inventory/storeStockAdjustmentDraft/view" + (click)="trackFieldInteraction('Previous Draft Records Button')" > {{ currentLanguageSet?.inventory?.previousDraftRecords }} @@ -35,6 +37,7 @@

class="pull-right button-full-width" type="button" color="primary" + (click)="trackFieldInteraction('Add E-Aushadhi Stock Button')" > Add E-Aushadhi Stock @@ -51,11 +54,9 @@

-
+
- + {{ currentLanguageSet?.inventory?.adjustmentDate }} @@ -65,6 +66,7 @@
autocomplete="off" name="adjustmentDate" formControlName="adjustmentDate" + (focus)="trackFieldInteraction('Adjustment Date')" />
{{ currentLanguageSet?.inventory?.referenceNumber @@ -87,6 +89,7 @@
name="refNo" formControlName="refNo" required + (focus)="trackFieldInteraction('Reference Number')" />
@@ -144,6 +147,7 @@
formControlName="itemName" maxlength="100" required + (focus)="trackFieldInteraction('Item Name')" /> formControlName="batchID" required readonly + (focus)="trackFieldInteraction('Batch ID')" /> @@ -206,6 +211,7 @@
formControlName="quantityInHand" required readonly + (focus)="trackFieldInteraction('QOH')" /> @@ -230,6 +236,9 @@
name="adjustmentType" formControlName="adjustmentType" (selectionChange)="calculateQOHAfterAdjustment(stock)" + (selectionChange)=" + trackFieldInteraction('Adjustment Type') + " required > (input)="calculateQOHAfterAdjustment(stock)" allowMax="item.value.quantityInHand" required + (focus)="trackFieldInteraction('Adjustment Quantity')" /> @@ -285,6 +295,7 @@
(input)="calculateQOHAfterAdjustment(stock)" allowMax="9999" required + (focus)="trackFieldInteraction('Adjustment Quantity')" /> @@ -311,6 +322,7 @@
formControlName="qohAfterAdjustment" required readonly + (focus)="trackFieldInteraction('QOH After Adjustment')" /> @@ -335,6 +347,7 @@
name="reason" formControlName="reason" required + (focus)="trackFieldInteraction('Reason')" /> @@ -354,6 +367,7 @@
class="icon-remove cursorPointer" matTooltip="{{ currentLanguageSet?.inventory?.delete }}" (click)="removeFromStockAdjustmentList(i, stock)" + (click)="trackFieldInteraction('Delete Button')" >delete @@ -377,6 +391,7 @@
type="button" color="primary" (click)="addToStockAdjustmentList()" + (click)="trackFieldInteraction('Add Button')" > add @@ -397,6 +412,7 @@
matTooltip="{{ currentLanguageSet?.inventory?.back }}" matTooltipPosition="right" (click)="goBack()" + (click)="trackFieldInteraction('Back Button')" > {{ currentLanguageSet?.inventory?.back }} @@ -406,6 +422,7 @@
class="pull-right m-r-5" [disabled]="storeStockAdjustmentForm.invalid" (click)="submitStockAdjustmentFinal(storeStockAdjustmentForm)" + (click)="trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} @@ -415,6 +432,7 @@
class="pull-right m-r-5" [disabled]="storeStockAdjustmentForm.invalid" (click)="submitStockAdjustmentDraft(storeStockAdjustmentForm)" + (click)="trackFieldInteraction('Save Draft Button')" > {{ currentLanguageSet?.inventory?.saveDraft }} diff --git a/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.ts b/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.ts index fb2de1d..c5004d8 100644 --- a/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.ts +++ b/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.ts @@ -36,6 +36,7 @@ import { InventoryService } from '../shared/service/inventory.service'; import { MatTableDataSource } from '@angular/material/table'; import { Subscription } from 'rxjs'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-store-stock-adjustment', @@ -77,6 +78,7 @@ export class StoreStockAdjustmentComponent private confirmationService: ConfirmationService, private inventoryService: InventoryService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) { this.subs = this.inventoryService .getDialogClosedObservable() @@ -460,4 +462,8 @@ export class StoreStockAdjustmentComponent }, ); } + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Store Stock Adjustment'); + } } diff --git a/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html b/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html index 9cb7232..80dd5c5 100644 --- a/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html +++ b/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html @@ -12,6 +12,7 @@

type="button" color="primary" routerLink="View" + (click)="trackFieldInteraction('Previous Records Button')" > {{ currentLanguageSet?.inventory?.previousRecords }} @@ -21,18 +22,18 @@

- + {{ currentLanguageSet?.inventory?.date }} - +
- + {{ currentLanguageSet?.inventory?.referenceNumber }} @@ -42,6 +43,7 @@

allowText="alphanumeric" maxlength="20" formControlName="referenceNumber" + (focus)="trackFieldInteraction('Reference Number')" />

@@ -55,6 +57,7 @@

required="true" formControlName="transferTo" (selectionChange)="resetItemArray()" + (selectionChange)="trackFieldInteraction('Transfer To')" > {{ store.facilityName }} @@ -349,6 +352,7 @@

type="button" [disabled]="!stockTransferForm.touched" (click)="resetForm()" + (click)="trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} @@ -359,6 +363,7 @@

type="button" [disabled]="!stockTransferForm.valid" (click)="submitTransfers()" + (click)="trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} diff --git a/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.ts b/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.ts index d3f7869..337119b 100644 --- a/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.ts +++ b/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.ts @@ -36,6 +36,7 @@ import { LanguageService } from '../../core/services/language.service'; import * as moment from 'moment'; import { MatTableDataSource } from '@angular/material/table'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-store-stock-transfer', templateUrl: './store-stock-transfer.component.html', @@ -77,7 +78,8 @@ export class StoreStockTransferComponent implements OnInit, DoCheck { private router: Router, private http_service: LanguageService, private confirmationService: ConfirmationService, - readonly sessionstorage:SessionStorageService, + readonly sessionstorage: SessionStorageService, + private trackingService: AmritTrackingService ) { this.checkFacility(); } @@ -319,4 +321,8 @@ createdBy: this.sessionstorage.getItem('username'), this.currentLanguageSet = this.languageComponent.currentLanguageObject; } //--End-- + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Stock Transfer'); + } } diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 06be132..59614d0 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { Router, NavigationStart, NavigationEnd, NavigationError } from '@angular/router'; import { SpinnerService } from './app-modules/core/services/spinner.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; // import { SpinnerService } from './app-modules/core/services/spinner.service'; @Component({ @@ -12,7 +13,8 @@ export class AppComponent implements OnInit { constructor( private router: Router, - private spinnerService: SpinnerService + private spinnerService: SpinnerService, + private trackingService: AmritTrackingService ) { } ngOnInit() { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 769d0b2..5768bb5 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -8,6 +8,7 @@ import { BrowserModule } from "@angular/platform-browser"; import { FormsModule, ReactiveFormsModule } from "@angular/forms"; import { AppRoutingModule } from "./app-routing.module"; import { CookieService } from 'ngx-cookie-service'; +import { TrackingModule } from "Common-UI/src/tracking"; // import { RouteReuseStrategy } from '@angular/router'; // import { CustomRouteReuseStrategy } from './custom-route-reuse-strategy'; @@ -115,6 +116,7 @@ import { CaptchaComponent } from "./captcha/captcha.component"; AppRoutingModule, CoreModule.forRoot(), // Ng2GoogleChartsModule + TrackingModule.forRoot(), ], providers: [ AuthenticationService, diff --git a/src/app/facility-selection/facility-selection.component.html b/src/app/facility-selection/facility-selection.component.html index b36166f..8715588 100644 --- a/src/app/facility-selection/facility-selection.component.html +++ b/src/app/facility-selection/facility-selection.component.html @@ -10,10 +10,13 @@

- +

{{currentLanguageSet?.inventory?.typeofStores}} - {{currentLanguageSet?.inventory?.mainStore}} - {{currentLanguageSet?.inventory?.subStore}} + {{currentLanguageSet?.inventory?.mainStore}} + {{currentLanguageSet?.inventory?.subStore}}

@@ -26,6 +29,7 @@

{{currentLanguageSet?.inventory?.typeofStores}} formControlName="facility" (selectionChange)="getSubFacility()" (selectionChange)="toContinue()" + (selectionChange)="trackFieldInteraction('Facility Dropdown')" > {{currentLanguageSet?.inventory?.typeofStores}} formControlName="subFacility" (selectionChange)='checkSubFacility()' (selectionChange)="toContinue()" + (selectionChange)="trackFieldInteraction('Sub Facility Dropdown')" [disabled]=" facilityForm.controls.isMainStore.value === 'true' ? true @@ -78,9 +83,11 @@

{{currentLanguageSet?.inventory?.typeofStores}}
+ (click)='proceedFurther()' + (click)="trackFieldInteraction('Continue Button (Main Store)')">{{currentLanguageSet?.inventory?.continue}} + (click)='proceedFurther()' + (click)="trackFieldInteraction('Continue Button (Sub Store)')">{{currentLanguageSet?.inventory?.continue}}
diff --git a/src/app/facility-selection/facility-selection.component.ts b/src/app/facility-selection/facility-selection.component.ts index 26611fd..175120d 100644 --- a/src/app/facility-selection/facility-selection.component.ts +++ b/src/app/facility-selection/facility-selection.component.ts @@ -7,6 +7,7 @@ import { ConfirmationService } from '../app-modules/core/services'; import { SetLanguageComponent } from '../app-modules/core/components/set-language.component'; import { LanguageService } from '../app-modules/core/services/language.service'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ @@ -33,6 +34,7 @@ export class FacilitySelectionComponent implements OnInit, DoCheck { private http_service: LanguageService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService ) {} facilityForm = this.fb.group({ @@ -219,4 +221,8 @@ export class FacilitySelectionComponent implements OnInit, DoCheck { // this.languageComponent.setLanguage(); // this.currentLanguageSet = this.languageComponent.currentLanguageObject; // } + + trackFieldInteraction(fieldName: string) { + this.trackingService.trackFieldInteraction(fieldName, 'Facility Selection'); + } } diff --git a/src/environments/environment.ci.ts.template b/src/environments/environment.ci.ts.template index 2980b0c..a6f6563 100644 --- a/src/environments/environment.ci.ts.template +++ b/src/environments/environment.ci.ts.template @@ -14,11 +14,20 @@ const siteKey = '<%= SITE_KEY %>'; const captchaChallengeURL = '<%= CAPTCHA_CHALLENGE_URL %>'; const enableCaptcha = <%= ENABLE_CAPTCHA %>; + export const environment = { production: true, countryId: 1, encKey: sessionStorageEncKey, + tracking: { + platform: 'matomo', + siteId: parseInt('<%= SITE_ID %>'), + trackerUrl: '<%= TRACKER_URL %>', + trackingPlatform: '<%= TRACKING_PLATFORM %>', + enabled: '<%= TRACKING_ENABLED %>' === 'true' + }, + getBeneficiaryDetail: `registrar/get/benDetailsByRegIDForLeftPanelNew`, getBeneficiaryImage: `registrar/getBenImage`, getPrescriptions: `${INVENTORY_API}RX/getPrescribedMedicines`, diff --git a/src/environments/environment.local.ts b/src/environments/environment.local.ts index 7587f67..3cb0381 100644 --- a/src/environments/environment.local.ts +++ b/src/environments/environment.local.ts @@ -28,6 +28,14 @@ export const environment = { countryId: 1, encKey: sessionStorageEncKey, + tracking: { + platform: 'matomo', + siteId: 2, + trackerUrl: '//127.0.0.1/', + trackingPlatform: 'platform', + enabled: true + }, + getBeneficiaryDetail: `registrar/get/benDetailsByRegIDForLeftPanelNew`, getBeneficiaryImage: `registrar/getBenImage`, getPrescriptions: `${INVENTORY_API}RX/getPrescribedMedicines`, diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 51e7053..d8e55ba 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -30,6 +30,14 @@ export const environment = { countryId: 1, encKey: sessionStorageEncKey, + tracking: { + platform: 'matomo', + siteId: 2, + trackerUrl: 'https://matomo.piramalswasthya.org/', + trackingPlatform: 'platform', + enabled: true + }, + getBeneficiaryDetail: `registrar/get/benDetailsByRegIDForLeftPanelNew`, getBeneficiaryImage: `registrar/getBenImage`, getPrescriptions: `${INVENTORY_API}RX/getPrescribedMedicines`, diff --git a/src/environments/environment.test.ts b/src/environments/environment.test.ts index 0edb0e8..dda7f22 100644 --- a/src/environments/environment.test.ts +++ b/src/environments/environment.test.ts @@ -24,6 +24,14 @@ export const environment = { countryId: 1, encKey: sessionStorageEncKey, + tracking: { + platform: 'matomo', + siteId: 2, + trackerUrl: '//127.0.0.1/', + trackingPlatform: 'platform', + enabled: true + }, + getBeneficiaryDetail: `registrar/get/benDetailsByRegIDForLeftPanelNew`, getBeneficiaryImage: `registrar/getBenImage`, getPrescriptions: `${INVENTORY_API}RX/getPrescribedMedicines`, From e923aa8a44092f9b66e6ede17c63f82e7112083a Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Tue, 22 Jul 2025 12:07:48 +0530 Subject: [PATCH 02/16] feat: added platform in environments --- scripts/ci-prebuild.js | 2 +- src/environments/environment.local.ts | 2 +- src/environments/environment.prod.ts | 2 +- src/environments/environment.test.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/ci-prebuild.js b/scripts/ci-prebuild.js index 8cbff1d..68b0f0b 100755 --- a/scripts/ci-prebuild.js +++ b/scripts/ci-prebuild.js @@ -49,7 +49,7 @@ const defaultEnvValues = { ENABLE_CAPTCHA: false, SITE_ID: '1', TRACKER_URL: 'https://matomo.piramalswasthya.org/', - TRACKING_PLATFORM: 'matomo', + TRACKING_PLATFORM: 'ci', TRACKING_ENABLED: 'true', }; diff --git a/src/environments/environment.local.ts b/src/environments/environment.local.ts index 88cfc58..15400f0 100644 --- a/src/environments/environment.local.ts +++ b/src/environments/environment.local.ts @@ -33,7 +33,7 @@ export const environment = { platform: 'matomo', siteId: 2, trackerUrl: '//127.0.0.1/', - trackingPlatform: 'platform', + trackingPlatform: 'local', enabled: true }, diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index d8e55ba..bd52b42 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -34,7 +34,7 @@ export const environment = { platform: 'matomo', siteId: 2, trackerUrl: 'https://matomo.piramalswasthya.org/', - trackingPlatform: 'platform', + trackingPlatform: 'production', enabled: true }, diff --git a/src/environments/environment.test.ts b/src/environments/environment.test.ts index dda7f22..e12747a 100644 --- a/src/environments/environment.test.ts +++ b/src/environments/environment.test.ts @@ -28,7 +28,7 @@ export const environment = { platform: 'matomo', siteId: 2, trackerUrl: '//127.0.0.1/', - trackingPlatform: 'platform', + trackingPlatform: 'test', enabled: true }, From 0edab2911089c79ac696b05bc5221b2562fc24a9 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Tue, 22 Jul 2025 15:39:33 +0530 Subject: [PATCH 03/16] fix: fixed redundant click events --- .../indent-request/indent-request.component.html | 15 +++++---------- ...sub-store-indent-order-worklist.component.html | 3 +-- .../medicine-dispense.component.html | 3 +-- .../physical-stock-entry.component.html | 9 +++------ .../beneficiary-drug-issue-report.component.html | 3 +-- .../consumption-report.component.html | 3 +-- .../daily-stock-details-report.component.html | 5 ++--- .../daily-stock-summary-report.component.html | 3 +-- .../expiry-report/expiry-report.component.html | 3 +-- .../inward-stock-report.component.html | 3 +-- .../monthly-report/monthly-report.component.html | 3 +-- .../short-expiry-report.component.html | 3 +-- .../transit-report/transit-report.component.html | 3 +-- .../yearly-report/yearly-report.component.html | 3 +-- .../store-self-consumption.component.html | 12 ++++-------- .../store-stock-adjustment.component.html | 15 +++++---------- .../store-stock-transfer.component.html | 6 ++---- .../facility-selection.component.html | 6 ++---- 18 files changed, 34 insertions(+), 67 deletions(-) diff --git a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html index 4e8e95e..3fded14 100644 --- a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html +++ b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/indent-request/indent-request.component.html @@ -231,8 +231,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

@@ -253,8 +252,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

mat-raised-button matTooltip="{{ currentLanguageSet?.inventory?.back }}" matTooltipPosition="right" - (click)="goBack()" - (click)="trackFieldInteraction('Back Button')" + (click)="goBack(); trackFieldInteraction('Back Button')" > {{ currentLanguageSet?.inventory?.back }} @@ -268,8 +266,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

class="pull-right m-r-5 mat_green" *ngIf="!editMode" [disabled]="indentRequestForm.invalid" - (click)="submitIndentRequest(indentRequestForm)" - (click)="trackFieldInteraction('Save Button')" + (click)="submitIndentRequest(indentRequestForm); trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} @@ -280,8 +277,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

*ngIf="editMode" class="pull-right m-r-5 mat_green" [disabled]="indentRequestForm.invalid" - (click)="updateIndentRequest(indentRequestForm)" - (click)="trackFieldInteraction('Update Button')" + (click)="updateIndentRequest(indentRequestForm); trackFieldInteraction('Update Button')" > {{ currentLanguageSet?.inventory?.update }} @@ -292,8 +288,7 @@

{{ currentLanguageSet?.inventory?.indentRequest }}

color="primary" class="pull-right m-r-5" [disabled]="indentRequestForm.pristine" - (click)="resetIndentRequestForm()" - (click)="trackFieldInteraction('Clear Button')" + (click)="resetIndentRequestForm(); trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} diff --git a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html index fba385d..d824373 100644 --- a/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html +++ b/src/app/app-modules/inventory/indent/indent-order-worklist/sub-store-indent-order-worklist/sub-store-indent-order-worklist.component.html @@ -9,8 +9,7 @@

{{ currentLanguageSet?.inventory?.subStoreIndentOrderWorklist }}

class="pull-right button-full-width" type="button" color="primary" - (click)="routeToRaiseRequest()" - (click)="trackFieldInteraction('Raise Request Button')" + (click)="routeToRaiseRequest(); trackFieldInteraction('Raise Request Button')" > {{ currentLanguageSet?.inventory?.raiseRequest }} diff --git a/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html b/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html index e78adab..c50d8d3 100644 --- a/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html +++ b/src/app/app-modules/inventory/medicine-dispense/medicine-dispense.component.html @@ -11,8 +11,7 @@

class="pull-right button-full-width m-l-5" type="button" color="primary" - (click)="openSearchDialog()" - (click)="trackFieldInteraction('Advance Search Button')" + (click)="openSearchDialog(); trackFieldInteraction('Advance Search Button')" > {{ currentLanguageSet?.bendetails?.advanceSearch }} diff --git a/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.html b/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.html index 789099c..6d421b6 100644 --- a/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.html +++ b/src/app/app-modules/inventory/physical-stock-entry/physical-stock-entry.component.html @@ -300,8 +300,7 @@

@@ -319,8 +318,7 @@

color="primary" class="pull-right m-r-5" [disabled]="physicalStockEntryForm.pristine" - (click)="reset()" - (click)="trackFieldInteraction('Clear Button')" + (click)="reset(); trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} @@ -331,8 +329,7 @@

mat-raised-button class="pull-right m-r-5" [disabled]="physicalStockEntryForm.invalid" - (click)="savePhysicalStock()" - (click)="trackFieldInteraction('Save Button')" + (click)="savePhysicalStock(); trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} diff --git a/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html b/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html index ada839a..6925390 100644 --- a/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html +++ b/src/app/app-modules/inventory/reports/beneficiary-drug-issue-report/beneficiary-drug-issue-report.component.html @@ -65,8 +65,7 @@

{{ currentLanguageSet?.inventory?.beneficiaryDrugIssueReport }}

color="accent" type="submit" [disabled]="!beneficiaryDrugIssueForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html b/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html index 19646fd..4615241 100644 --- a/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html +++ b/src/app/app-modules/inventory/reports/consumption-report/consumption-report.component.html @@ -84,8 +84,7 @@

{{ currentLanguageSet?.inventory?.consumptionReport }}

class="mat_green" type="submit" [disabled]="!consumptionForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html index a9c279a..a6e19bf 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html +++ b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.html @@ -50,7 +50,7 @@

{{ currentLanguageSet?.inventory?.dailyStockDetailsReport }}

(dateChange)="checkStartDate($event)" [max]="maxEndDate" [disabled]="true" - (focus)="trackFieldInteraction('End Date')" + (click)="trackFieldInteraction('End Date')" /> {{ currentLanguageSet?.inventory?.dailyStockDetailsReport }}

class="mat_green" type="submit" [disabled]="!dailyStockDetailsForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html index e636396..9576a9c 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html +++ b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.html @@ -81,8 +81,7 @@

{{ currentLanguageSet?.inventory?.dailyStockSummaryReport }}

type="submit" class="mat_green" [disabled]="!dailyStockSummaryForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html index 10b7ff7..13be292 100644 --- a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html +++ b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.html @@ -65,8 +65,7 @@

{{ currentLanguageSet?.inventory?.expiryReport }}

type="submit" class="mat_green" [disabled]="!expiryForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html b/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html index aab9c31..ed0013d 100644 --- a/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html +++ b/src/app/app-modules/inventory/reports/inward-stock-report/inward-stock-report.component.html @@ -83,8 +83,7 @@

{{ currentLanguageSet?.inventory?.inwardStockReport }}

class="mat_green" type="submit" [disabled]="!inwardStockForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html index 5990c89..b86cec4 100644 --- a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html +++ b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.html @@ -70,8 +70,7 @@

{{ currentLanguageSet?.inventory?.monthlyReport }}

class="mat_green" type="submit" [disabled]="!monthlyForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html index 8280911..7c99011 100644 --- a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html +++ b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.html @@ -42,8 +42,7 @@

{{ currentLanguageSet?.inventory?.shortExpiryReport }}

color="accent" class="mat_green" type="submit" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html b/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html index cd683e7..562426d 100644 --- a/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html +++ b/src/app/app-modules/inventory/reports/transit-report/transit-report.component.html @@ -64,8 +64,7 @@

{{ currentLanguageSet?.inventory?.transitReport }}

class="mat_green" type="submit" [disabled]="!transitForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html index a5d6c97..89b31b9 100644 --- a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html +++ b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.html @@ -51,8 +51,7 @@

{{ currentLanguageSet?.inventory?.yearlyReport }}

class="mat_green" type="submit" [disabled]="!yearlyForm.valid" - (click)="downloadReport(true)" - (click)="trackFieldInteraction('Download Button')" + (click)="downloadReport(true); trackFieldInteraction('Download Button')" > {{ currentLanguageSet?.inventory?.download }} diff --git a/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html b/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html index 3c7a923..7093ec2 100644 --- a/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html +++ b/src/app/app-modules/inventory/store-self-consumption/store-self-consumption.component.html @@ -227,8 +227,7 @@

delete @@ -249,8 +248,7 @@

type="button" class="pull-right" color="primary" - (click)="addDispensedStock()" - (click)="trackFieldInteraction('Add Button')" + (click)="addDispensedStock(); trackFieldInteraction('Add Button')" > add @@ -267,8 +265,7 @@

mat-raised-button class="pull-right m-r-5" [disabled]="storeSelfConsumptionForm.invalid" - (click)="saveSelfConsumptionStock()" - (click)="trackFieldInteraction('Save Button')" + (click)="saveSelfConsumptionStock(); trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} @@ -277,8 +274,7 @@

mat-raised-button class="pull-right m-r-5" [disabled]="storeSelfConsumptionForm.pristine" - (click)="reset()" - (click)="trackFieldInteraction('Clear Button')" + (click)="reset(); trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} diff --git a/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html b/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html index 1fbb99e..f3b6825 100644 --- a/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html +++ b/src/app/app-modules/inventory/store-stock-adjustment/store-stock-adjustment.component.html @@ -366,8 +366,7 @@

delete @@ -390,8 +389,7 @@
mat-mini-fab type="button" color="primary" - (click)="addToStockAdjustmentList()" - (click)="trackFieldInteraction('Add Button')" + (click)="addToStockAdjustmentList(); trackFieldInteraction('Add Button')" > add @@ -411,8 +409,7 @@
mat-raised-button matTooltip="{{ currentLanguageSet?.inventory?.back }}" matTooltipPosition="right" - (click)="goBack()" - (click)="trackFieldInteraction('Back Button')" + (click)="goBack(); trackFieldInteraction('Back Button')" > {{ currentLanguageSet?.inventory?.back }} @@ -421,8 +418,7 @@
mat-raised-button class="pull-right m-r-5" [disabled]="storeStockAdjustmentForm.invalid" - (click)="submitStockAdjustmentFinal(storeStockAdjustmentForm)" - (click)="trackFieldInteraction('Save Button')" + (click)="submitStockAdjustmentFinal(storeStockAdjustmentForm); trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} @@ -431,8 +427,7 @@
mat-raised-button class="pull-right m-r-5" [disabled]="storeStockAdjustmentForm.invalid" - (click)="submitStockAdjustmentDraft(storeStockAdjustmentForm)" - (click)="trackFieldInteraction('Save Draft Button')" + (click)="submitStockAdjustmentDraft(storeStockAdjustmentForm); trackFieldInteraction('Save Draft Button')" > {{ currentLanguageSet?.inventory?.saveDraft }} diff --git a/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html b/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html index 80dd5c5..5109bf2 100644 --- a/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html +++ b/src/app/app-modules/inventory/store-stock-transfer/store-stock-transfer.component.html @@ -351,8 +351,7 @@

class="pull-right m-r-5" type="button" [disabled]="!stockTransferForm.touched" - (click)="resetForm()" - (click)="trackFieldInteraction('Clear Button')" + (click)="resetForm(); trackFieldInteraction('Clear Button')" > {{ currentLanguageSet?.inventory?.clear }} @@ -362,8 +361,7 @@

class="pull-right m-r-5" type="button" [disabled]="!stockTransferForm.valid" - (click)="submitTransfers()" - (click)="trackFieldInteraction('Save Button')" + (click)="submitTransfers(); trackFieldInteraction('Save Button')" > {{ currentLanguageSet?.common?.save }} diff --git a/src/app/facility-selection/facility-selection.component.html b/src/app/facility-selection/facility-selection.component.html index 8715588..077be98 100644 --- a/src/app/facility-selection/facility-selection.component.html +++ b/src/app/facility-selection/facility-selection.component.html @@ -83,11 +83,9 @@

{{currentLanguageSet?.inventory?.typeofStores}}
+ (click)="proceedFurther(); trackFieldInteraction('Continue Button (Main Store)')">{{currentLanguageSet?.inventory?.continue}} + (click)="proceedFurther(); trackFieldInteraction('Continue Button (Sub Store)')">{{currentLanguageSet?.inventory?.continue}}
From 95441c65949e03549b59627992ba4ed2e9e78b13 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Sat, 2 Aug 2025 01:01:09 +0530 Subject: [PATCH 04/16] feat(tracking): added userID after login success --- src/app/login/login.component.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts index 4d4cf16..ad3598a 100644 --- a/src/app/login/login.component.ts +++ b/src/app/login/login.component.ts @@ -7,6 +7,7 @@ import * as CryptoJS from 'crypto-js'; import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; import { CaptchaComponent } from '../captcha/captcha.component'; import { environment } from 'src/environments/environment'; +import { AmritTrackingService } from 'Common-UI/src/tracking'; @Component({ selector: 'app-login-cmp', @@ -34,6 +35,7 @@ export class LoginComponent implements OnInit { private authService: AuthenticationService, private confirmationService: ConfirmationService, readonly sessionstorage:SessionStorageService, + private trackingService: AmritTrackingService, private router: Router) { this._keySize = 256; this._ivSize = 128; @@ -122,7 +124,8 @@ export class LoginComponent implements OnInit { this.authService.login(this.userName, encryptPassword, true,this.enableCaptcha ? this.captchaToken : undefined).subscribe((userLoggedIn) => { if (userLoggedIn.statusCode == '200') { if (userLoggedIn.data.previlegeObj != null && userLoggedIn.data.previlegeObj != undefined && userLoggedIn.data.previlegeObj[0]) { - + this.sessionstorage.setItem('loginDataResponse', JSON.stringify(userLoggedIn.data)); + this.trackingService.setUserId(userLoggedIn.data.userID); this.checkRoleMapped(userLoggedIn.data); } else { this.resetCaptcha(); @@ -208,6 +211,7 @@ export class LoginComponent implements OnInit { //localStorage.setItem('userID', loginDataResponse.userID); // localStorage.setItem('userName', loginDataResponse.userName); this.sessionstorage.setItem('userID', loginDataResponse.userID); + this.trackingService.setUserId(loginDataResponse.userID); this.sessionstorage.setItem('userName', loginDataResponse.userName); // localStorage.setItem('username', this.userName); this.sessionstorage.setItem('username', loginDataResponse.userName); From 94c7000305c385ea09cf1974a927a3732bfdcda3 Mon Sep 17 00:00:00 2001 From: Abhijeet Date: Wed, 6 Aug 2025 11:28:49 +0530 Subject: [PATCH 05/16] fix: fixed siteid in ci prebuild script --- scripts/ci-prebuild.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ci-prebuild.js b/scripts/ci-prebuild.js index 68b0f0b..61039fd 100755 --- a/scripts/ci-prebuild.js +++ b/scripts/ci-prebuild.js @@ -47,7 +47,7 @@ const defaultEnvValues = { SITE_KEY:'', CAPTCHA_CHALLENGE_URL:'', ENABLE_CAPTCHA: false, - SITE_ID: '1', + SITE_ID: '2', TRACKER_URL: 'https://matomo.piramalswasthya.org/', TRACKING_PLATFORM: 'ci', TRACKING_ENABLED: 'true', From 545ab14a4aee13a3d9fa03687cce2fedefff2923 Mon Sep 17 00:00:00 2001 From: SnehaRH <77656297+snehar-nd@users.noreply.github.com> Date: Mon, 11 Aug 2025 10:16:51 +0530 Subject: [PATCH 06/16] fix: amm-636 short expiry report (#93) --- .../short-expiry-report.component.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts index b7fb41e..45bd914 100644 --- a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts +++ b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts @@ -28,6 +28,7 @@ import { InventoryService } from '../../shared/service/inventory.service'; import { ConfirmationService } from '../../../core/services/confirmation.service'; import { SetLanguageComponent } from 'src/app/app-modules/core/components/set-language.component'; import { LanguageService } from 'src/app/app-modules/core/services/language.service'; +import { SessionStorageService } from 'Common-UI/src/registrar/services/session-storage.service'; @Component({ selector: 'app-short-expiry-report', @@ -45,6 +46,7 @@ export class ShortExpiryReportComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private http_service: LanguageService, private confirmationService: ConfirmationService, + private sessionstorage: SessionStorageService ) {} today!: Date; @@ -82,15 +84,9 @@ export class ShortExpiryReportComponent implements OnInit, DoCheck { startDate.setSeconds(0); startDate.setMilliseconds(0); - console.log( - 'Data form value...', - JSON.stringify(this.shortExpiryForm.value), - ); - const reqObjForShortExpiryReport = {}; - console.log( - 'Data form data', - JSON.stringify(reqObjForShortExpiryReport, null, 4), - ); + const reqObjForShortExpiryReport = { + facilityID: this.sessionstorage.getItem('facilityID') + }; this.inventoryService .getShortExpiryReports(reqObjForShortExpiryReport) From 75337b39d5d2c8b7ce61d61861fe7c260c7abca1 Mon Sep 17 00:00:00 2001 From: Amoghavarsh <93114621+5Amogh@users.noreply.github.com> Date: Mon, 25 Aug 2025 18:36:43 +0530 Subject: [PATCH 07/16] fix: amm-1250 Item entered date column added in the inventory report and headers are modified (#95) --- .../daily-stock-details-report.component.ts | 18 +++++++----------- .../daily-stock-summary-report.component.ts | 17 +++++------------ .../monthly-report.component.ts | 19 +++++++------------ .../yearly-report/yearly-report.component.ts | 18 ++++++------------ 4 files changed, 25 insertions(+), 47 deletions(-) diff --git a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts index 7962f63..78ca9f4 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts +++ b/src/app/app-modules/inventory/reports/daily-stock-details-report/daily-stock-details-report.component.ts @@ -200,6 +200,7 @@ export class DailyStockDetailsReportComponent implements OnInit, DoCheck { 'adjustmentReceipt', 'adjustmentIssue', 'closingStock', + 'itemEnteredDate' ]; const array = this.consumptionList.filter(function (obj: any) { for (const key in obj) { @@ -234,8 +235,7 @@ export class DailyStockDetailsReportComponent implements OnInit, DoCheck { finalCellName = newcellPosition + cellPosition + '1'; console.log(finalCellName); } - const newName = this.modifyHeader(headers, i); - // delete report_worksheet[finalCellName].w; report_worksheet[finalCellName].v = newName; + i++; if (i === 91 + count * 26) { // i = 65; @@ -247,8 +247,9 @@ export class DailyStockDetailsReportComponent implements OnInit, DoCheck { const workbook = new ExcelJS.Workbook(); const criteria_worksheet = workbook.addWorksheet('Criteria'); const report_worksheet = workbook.addWorksheet('Report'); + const prettyHeaders = headers.map(h => this.modifyHeader(h)); - report_worksheet.addRow(headers); + report_worksheet.addRow(prettyHeaders); criteria_worksheet.addRow(this.criteriaHead); // Add data @@ -298,14 +299,9 @@ export class DailyStockDetailsReportComponent implements OnInit, DoCheck { } } - modifyHeader(headers: any, i: any) { - let modifiedHeader: string; - modifiedHeader = headers[i - 65] - .toString() - .replace(/([A-Z])/g, ' $1') - .trim(); - modifiedHeader = - modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); + modifyHeader(header: string): string { + let modifiedHeader = header.replace(/([A-Z])/g, ' $1').trim(); + modifiedHeader = modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); return modifiedHeader.replace(/I D/g, 'ID'); } diff --git a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts index 3a40086..0f96f09 100644 --- a/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts +++ b/src/app/app-modules/inventory/reports/daily-stock-summary-report/daily-stock-summary-report.component.ts @@ -232,8 +232,6 @@ export class DailyStockSummaryReportComponent implements OnInit, DoCheck { finalCellName = newcellPosition + cellPosition + '1'; console.log(finalCellName); } - const newName = this.modifyHeader(headers, i); - // delete report_worksheet[finalCellName].w; report_worksheet[finalCellName].v = newName; i++; if (i === 91 + count * 26) { // i = 65; @@ -244,8 +242,9 @@ export class DailyStockSummaryReportComponent implements OnInit, DoCheck { const workbook = new ExcelJS.Workbook(); const criteria_worksheet = workbook.addWorksheet('Criteria'); const report_worksheet = workbook.addWorksheet('Report'); + const prettyHeaders = headers.map(h => this.modifyHeader(h)); - report_worksheet.addRow(headers); + report_worksheet.addRow(prettyHeaders); criteria_worksheet.addRow(this.criteriaHead); // Add data @@ -297,15 +296,9 @@ export class DailyStockSummaryReportComponent implements OnInit, DoCheck { } } - modifyHeader(headers: any, i: any) { - let modifiedHeader: string; - modifiedHeader = headers[i - 65] - .toString() - .replace(/([A-Z])/g, ' $1') - .trim(); - modifiedHeader = - modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); - //console.log(modifiedHeader); + modifyHeader(header: string): string { + let modifiedHeader = header.replace(/([A-Z])/g, ' $1').trim(); + modifiedHeader = modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); return modifiedHeader.replace(/I D/g, 'ID'); } diff --git a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts index 906a68a..bfece5f 100644 --- a/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts +++ b/src/app/app-modules/inventory/reports/monthly-report/monthly-report.component.ts @@ -195,6 +195,7 @@ export class MonthlyReportComponent implements OnInit, DoCheck { 'adjustmentReceipt', 'adjustmentIssue', 'closingStock', + 'itemEnteredDate' ]; const array = this.consumptionList.filter(function (obj: any) { for (const key in obj) { @@ -230,8 +231,7 @@ export class MonthlyReportComponent implements OnInit, DoCheck { finalCellName = newcellPosition + cellPosition + '1'; console.log(finalCellName); } - const newName = this.modifyHeader(headers, i); - // delete report_worksheet[finalCellName].w; report_worksheet[finalCellName].v = newName; + i++; if (i === 91 + count * 26) { // i = 65; @@ -242,8 +242,9 @@ export class MonthlyReportComponent implements OnInit, DoCheck { const workbook = new ExcelJS.Workbook(); const criteria_worksheet = workbook.addWorksheet('Criteria'); const report_worksheet = workbook.addWorksheet('Report'); + const prettyHeaders = headers.map(h => this.modifyHeader(h)); - report_worksheet.addRow(headers); + report_worksheet.addRow(prettyHeaders); criteria_worksheet.addRow(this.criteriaHead); // Add data @@ -293,15 +294,9 @@ export class MonthlyReportComponent implements OnInit, DoCheck { } } - modifyHeader(headers: any, i: any) { - let modifiedHeader: string; - modifiedHeader = headers[i - 65] - .toString() - .replace(/([A-Z])/g, ' $1') - .trim(); - modifiedHeader = - modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); - + modifyHeader(header: string): string { + let modifiedHeader = header.replace(/([A-Z])/g, ' $1').trim(); + modifiedHeader = modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); return modifiedHeader.replace(/I D/g, 'ID'); } diff --git a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts index 0a2379d..c666d51 100644 --- a/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts +++ b/src/app/app-modules/inventory/reports/yearly-report/yearly-report.component.ts @@ -199,8 +199,7 @@ export class YearlyReportComponent implements OnInit, DoCheck { finalCellName = newcellPosition + cellPosition + '1'; console.log(finalCellName); } - const newName = this.modifyHeader(headers, i); - // delete report_worksheet[finalCellName].w; report_worksheet[finalCellName].v = newName; + i++; if (i === 91 + count * 26) { // i = 65; @@ -211,8 +210,9 @@ export class YearlyReportComponent implements OnInit, DoCheck { const workbook = new ExcelJS.Workbook(); const criteria_worksheet = workbook.addWorksheet('Criteria'); const report_worksheet = workbook.addWorksheet('Report'); + const prettyHeaders = headers.map(h => this.modifyHeader(h)); - report_worksheet.addRow(headers); + report_worksheet.addRow(prettyHeaders); criteria_worksheet.addRow(this.criteriaHead); // Add data @@ -263,15 +263,9 @@ export class YearlyReportComponent implements OnInit, DoCheck { } } - modifyHeader(headers: any, i: any) { - let modifiedHeader: string; - modifiedHeader = headers[i - 65] - .toString() - .replace(/([A-Z])/g, ' $1') - .trim(); - modifiedHeader = - modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); - + modifyHeader(header: string): string { + let modifiedHeader = header.replace(/([A-Z])/g, ' $1').trim(); + modifiedHeader = modifiedHeader.charAt(0).toUpperCase() + modifiedHeader.substr(1); return modifiedHeader.replace(/I D/g, 'ID'); } From 2c5df80ea7974900b72a31f46d9ae06dc8bc4b47 Mon Sep 17 00:00:00 2001 From: Amoghavarsh <93114621+5Amogh@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:28:07 +0530 Subject: [PATCH 08/16] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ffdcaa..63401e3 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 com.iemr.aam-inventory-ui aam-inventory-ui - 3.4.0 + 3.8.0 AAM-Inventory-UI Piramal - inventory: Module ui war From 2da8bfd4eeefadaf50b6d498d6be90cc05641231 Mon Sep 17 00:00:00 2001 From: Amoghavarsh <93114621+5Amogh@users.noreply.github.com> Date: Thu, 25 Sep 2025 12:45:49 +0530 Subject: [PATCH 09/16] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ffdcaa..2e04373 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 com.iemr.aam-inventory-ui aam-inventory-ui - 3.4.0 + 3.4.1 AAM-Inventory-UI Piramal - inventory: Module ui war From e2f1f88680cd9c68d8942cbe676189c802d3d91c Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Tue, 28 Oct 2025 23:02:45 +0530 Subject: [PATCH 10/16] fix: amm-997 rolebase login --- src/app/login/login.component.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts index 4d4cf16..5d10c71 100644 --- a/src/app/login/login.component.ts +++ b/src/app/login/login.component.ts @@ -165,6 +165,21 @@ export class LoginComponent implements OnInit { let roleObj; if (loginDataResponse.previlegeObj[0].roles) { roleObj = loginDataResponse.previlegeObj[0].roles; + const hasPharmacist = roleObj.some( + (role: any) => role.RoleName === 'Pharmacist', + ); + + if (!hasPharmacist) { + sessionStorage.clear(); + + this.router.navigate(['/login']).then(() => { + this.confirmationService.alert( + 'Designation is not matched with your roles , Please map the Designation or include more roles', + 'error', + ); + }); + return; + } if (roleObj.length > 0) { roleObj.forEach((role: any) => { role.serviceRoleScreenMappings.forEach((serviceRole: any) => { From d504ce5c748d64d115048ce31073fda708344cc8 Mon Sep 17 00:00:00 2001 From: 5Amogh Date: Thu, 4 Dec 2025 14:14:11 +0530 Subject: [PATCH 11/16] fix: common-ui ref --- Common-UI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common-UI b/Common-UI index bb57ecf..27a185b 160000 --- a/Common-UI +++ b/Common-UI @@ -1 +1 @@ -Subproject commit bb57ecfac052a50bd85dc30eba1ca93335c34344 +Subproject commit 27a185ba15fbefd6333683f5a6bf8495b837f3af From cb037c27228d9acbac7694977a7e564bd7947bf7 Mon Sep 17 00:00:00 2001 From: 5Amogh Date: Thu, 4 Dec 2025 14:18:21 +0530 Subject: [PATCH 12/16] fix: git conflict error fix --- .../short-expiry-report/short-expiry-report.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts index 7ee6c25..1aac55d 100644 --- a/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts +++ b/src/app/app-modules/inventory/reports/short-expiry-report/short-expiry-report.component.ts @@ -47,7 +47,7 @@ export class ShortExpiryReportComponent implements OnInit, DoCheck { private inventoryService: InventoryService, private http_service: LanguageService, private confirmationService: ConfirmationService, - private trackingService: AmritTrackingService + private trackingService: AmritTrackingService, private sessionstorage: SessionStorageService ) {} From 370b55195517e8ae23971640674046ef10f7b641 Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Wed, 10 Dec 2025 17:44:17 +0530 Subject: [PATCH 13/16] fix: amm-1931 session expiry --- .../core/services/http-interceptor.service.ts | 9 +++++++++ src/assets/Assamese.json | 4 +++- src/assets/English.json | 5 ++++- src/assets/Hindi.json | 4 +++- src/assets/Kannada.json | 4 +++- 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/app/app-modules/core/services/http-interceptor.service.ts b/src/app/app-modules/core/services/http-interceptor.service.ts index 1d047e1..d8567f0 100644 --- a/src/app/app-modules/core/services/http-interceptor.service.ts +++ b/src/app/app-modules/core/services/http-interceptor.service.ts @@ -79,6 +79,15 @@ export class HttpInterceptorService implements HttpInterceptor { catchError((error: HttpErrorResponse) => { console.error(error); + if (error.status === 401) { + this.confirmationService.alert( + this.currentLanguageSet.sessionExpiredPleaseLogin, + ); + } else this.confirmationService.alert( + error.error.errorMessage || this.currentLanguageSet.somethingWentWrong, + 'error', + ); + this.spinnerService.show(); return throwError(error.error); }), diff --git a/src/assets/Assamese.json b/src/assets/Assamese.json index ad2a10d..0e995c6 100644 --- a/src/assets/Assamese.json +++ b/src/assets/Assamese.json @@ -391,6 +391,8 @@ "failedStock": "ব্যৰ্থ ষ্টক" }, - "healthId":"হেল্থ আইডি" + "healthId":"হেল্থ আইডি", + "sessionExpiredPleaseLogin": "Session expired. Please log in again to continue", + "somethingWentWrong": "কিছু ভুল হৈছে" } } \ No newline at end of file diff --git a/src/assets/English.json b/src/assets/English.json index cda5c61..e9f4c0a 100644 --- a/src/assets/English.json +++ b/src/assets/English.json @@ -384,6 +384,9 @@ "drugName": "Drug Name", "failedStock": "Failed Stock" }, - "healthId":"Health ID" + "healthId":"Health ID", + "sessionExpiredPleaseLogin": "Session expired. Please log in again to continue", + "somethingWentWrong": "Something went wrong" + } } diff --git a/src/assets/Hindi.json b/src/assets/Hindi.json index 5892f3b..f3583bd 100644 --- a/src/assets/Hindi.json +++ b/src/assets/Hindi.json @@ -388,6 +388,8 @@ "drugName": "दवा का नाम", "failedStock": "विफल स्टॉक" }, - "healthId": "हेल्थ आईडी" + "healthId": "हेल्थ आईडी", + "sessionExpiredPleaseLogin": "Session expired. Please log in again to continue", + "somethingWentWrong": "कुछ गलत हो गया" } } \ No newline at end of file diff --git a/src/assets/Kannada.json b/src/assets/Kannada.json index 9a327b1..bb32424 100644 --- a/src/assets/Kannada.json +++ b/src/assets/Kannada.json @@ -385,6 +385,8 @@ }, "healthId":"ಆರೋಗ್ಯ ಐಡಿ", - "list": "ಪಟ್ಟಿ" + "list": "ಪಟ್ಟಿ", + "sessionExpiredPleaseLogin": "ಸೆಷನ್ ಅವಧಿ ಮೀರಿದೆ. ಮುಂದುವರಿಸಲು ದಯವಿಟ್ಟು ಮತ್ತೆ ಲಾಗಿನ್ ಮಾಡಿ", + "somethingWentWrong": "ಏನೋ ತಪ್ಪಾಗಿದೆ" } } From 05f1f6eb78d0dd45c79a7ffb2460a3d00a453e04 Mon Sep 17 00:00:00 2001 From: 5Amogh Date: Thu, 11 Dec 2025 17:08:16 +0530 Subject: [PATCH 14/16] fix: amm-1768 multi-download issue fix --- .../expiry-report/expiry-report.component.ts | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts index 535b13e..674bc1b 100644 --- a/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts +++ b/src/app/app-modules/inventory/reports/expiry-report/expiry-report.component.ts @@ -148,6 +148,7 @@ export class ExpiryReportComponent implements OnInit, DoCheck { criteria.push({ Filter_Name: 'End_Date', value: this.endDate }); this.exportToxlsx(criteria); } + exportToxlsx(criteria: any) { if (criteria.length > 0) { const criteriaArray = criteria.filter(function (obj: any) { @@ -232,22 +233,16 @@ export class ExpiryReportComponent implements OnInit, DoCheck { report_worksheet.addRow(rowData); }); - // Write to file workbook.xlsx.writeBuffer().then((buffer) => { const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', }); - saveAs(blob, wb_name + '.xlsx'); - if (navigator.msSaveBlob) { - navigator.msSaveBlob(blob, wb_name); + const filename = wb_name.replace(/ /g, '_') + '.xlsx'; + + if ((window as any).navigator && (window as any).navigator.msSaveBlob) { + (window as any).navigator.msSaveBlob(blob, filename); } else { - const link = document.createElement('a'); - link.href = URL.createObjectURL(blob); - link.setAttribute('visibility', 'hidden'); - link.download = wb_name.replace(/ /g, '_') + '.xlsx'; - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); + saveAs(blob, filename); } }); } From 932433bb0410737d9c86dbe8d8ba7695400c8ec9 Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Thu, 11 Dec 2025 20:23:16 +0530 Subject: [PATCH 15/16] fix: amm-1931 handled error messages and cleared the storage --- .../core/services/http-interceptor.service.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/app/app-modules/core/services/http-interceptor.service.ts b/src/app/app-modules/core/services/http-interceptor.service.ts index d8567f0..3ad9610 100644 --- a/src/app/app-modules/core/services/http-interceptor.service.ts +++ b/src/app/app-modules/core/services/http-interceptor.service.ts @@ -79,15 +79,16 @@ export class HttpInterceptorService implements HttpInterceptor { catchError((error: HttpErrorResponse) => { console.error(error); - if (error.status === 401) { + if (error.status === 401 || error.status === 403) { this.confirmationService.alert( - this.currentLanguageSet.sessionExpiredPleaseLogin, + "Session expired. Please log in again to continue", 'error' ); } else this.confirmationService.alert( - error.error.errorMessage || this.currentLanguageSet.somethingWentWrong, + error.error.errorMessage || "Something went wrong. Please try again later.", 'error', ); - + sessionStorage.clear(); + localStorage.clear(); this.spinnerService.show(); return throwError(error.error); }), From 4af66d535e776b029526c2e2e4b4bf9a768634f7 Mon Sep 17 00:00:00 2001 From: SnehaRH Date: Fri, 12 Dec 2025 10:10:25 +0530 Subject: [PATCH 16/16] fix: amm-1931 navigating to login page on expory --- .../core/services/http-interceptor.service.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/app/app-modules/core/services/http-interceptor.service.ts b/src/app/app-modules/core/services/http-interceptor.service.ts index 3ad9610..4e40432 100644 --- a/src/app/app-modules/core/services/http-interceptor.service.ts +++ b/src/app/app-modules/core/services/http-interceptor.service.ts @@ -81,14 +81,15 @@ export class HttpInterceptorService implements HttpInterceptor { if (error.status === 401 || error.status === 403) { this.confirmationService.alert( - "Session expired. Please log in again to continue", 'error' + "Session expired. Please log in again to continue", 'error' ); } else this.confirmationService.alert( - error.error.errorMessage || "Something went wrong. Please try again later.", - 'error', - ); - sessionStorage.clear(); - localStorage.clear(); + error.error.errorMessage || "Something went wrong. Please try again later.", + 'error', + ); + this.router.navigate(['/login']); + sessionStorage.clear(); + localStorage.clear(); this.spinnerService.show(); return throwError(error.error); }),