@sachin9822/reports-lib 0.0.42 → 0.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.mjs +2 -2
- package/fesm2015/sachin9822-reports-lib.mjs +2 -2
- package/fesm2015/sachin9822-reports-lib.mjs.map +1 -1
- package/fesm2020/sachin9822-reports-lib.mjs +2 -2
- package/fesm2020/sachin9822-reports-lib.mjs.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/environments/environment.ts","../../../projects/reports-lib/src/lib/services/active-x.service.ts","../../../projects/reports-lib/src/lib/services/session.service.ts","../../../projects/reports-lib/src/lib/interceptors/auth-http.interceptor.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/accgl-details-enquiry-reportmodel';\nimport { Observable } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n private serviceUrl: string;\n private reportUrl : string; \n \n\nconstructor(private http:HttpClient) \n{\n this.serviceUrl=\"https://4xplus-local.xpressmoney.tech:8699\";\n this.reportUrl=\"/api/v1/Report\";\n \n }\n\n\npublic getAccGLDetailsReport(date: Date,dateType: string,sysCompanyCode: string,sysUserId: string,companyName: string ): Observable<AccGlDetailsEnquiryReportModel> \n{\n const formattedDate = date.toISOString().split('T')[0]; \n const apiPath = `${this.serviceUrl}${this.reportUrl}/AccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n}\n\n\n\n \n\n\n\n\n\n\n\n\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport Decimal from 'decimal.js';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jsPDF from 'jspdf';\r\n// import autoTable from 'jspdf-autotable';\r\n// import * as autoTable from 'jspdf-autotable';\r\nimport 'jspdf-autotable';\r\n\r\nimport * as ExcelJS from 'exceljs';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText:string='';\r\n\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n\r\n selectedExportOption: string = 'pdf';\r\n\r\n pageSize: number = 15;\r\n\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n\r\n dateTypeFilter: number = 1;\r\n\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n formattedDate: any\r\n\r\n defaultColDef: ColDef = {\r\n resizable: false,\r\n sortable: true,\r\n filter: true,\r\n cellStyle: { userSelect: 'text' },\r\n autoHeight: true,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Sr. No', valueGetter: 'node.rowIndex + 1',cellClass:'column-font-size', },\r\n { headerName: 'Journal ID', field: 'journalID' ,cellClass:['column-font-size', 'ag-font-size'],},\r\n { headerName: 'Trans No', field: 'transactionNo' ,cellClass:'column-font-size',},\r\n { headerName: 'Trans Code', field: 'transactionCode', cellClass:'column-font-size',},\r\n { headerName: 'Journal Type', field: 'journalType',cellClass:'column-font-size', },\r\n { headerName: 'Posting Date', field: 'postingDate', valueFormatter: this.formatDate,cellClass:'column-font-size', },\r\n { headerName: 'Value Date', field: 'valueDate', valueFormatter: this.formatDate ,cellClass:'column-font-size',},\r\n { headerName: 'Description', field: 'description' ,cellClass:'column-font-size',},\r\n { headerName: 'Account Code', field: 'accountCode', cellClass:'column-font-size',},\r\n { headerName: 'Currency', field: 'currency', cellClass:'column-font-size',},\r\n { headerName: 'Rate', field: 'rate', cellClass:'column-font-size',},\r\n { headerName: 'FxDebit', field: 'forexDebit', cellClass:'column-font-size',},\r\n { headerName: 'Local Debit', field: 'localDebit',cellClass:'column-font-size', },\r\n { headerName: 'FxCredit', field: 'forexCredit', cellClass:'column-font-size',},\r\n { headerName: 'Local Credit', field: 'localCredit',cellClass:'column-font-size', },\r\n\r\n\r\n ];\r\n\r\n rowData = [];\r\n\r\n gridOptions: GridOptions = {\r\n enableRangeSelection: true,\r\n \r\n getContextMenuItems: () => [\r\n 'copy',\r\n 'copyWithHeaders'\r\n ]\r\n };\r\n\r\n\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n \r\n\r\n constructor(private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer,) {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n // console.log('SVG Loaded:', svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = today.toISOString().substring(0, 10); // yyyy-MM-dd format\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'\r\n this.loading = true;\r\n this.dataReady = false;\r\n\r\n \r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = 'sachin.kamble@xpressmoney.tech';\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n\r\n\r\n this.reportService.getAccGLDetailsReport(new Date(this.date), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel != undefined || this.accGlDetailsEnquiryReportModel != null) {\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map(entry => {\r\n return {\r\n ...entry,\r\n rate: new Decimal(entry.rate),\r\n forexDebit: new Decimal(entry.forexDebit),\r\n localDebit: new Decimal(entry.localDebit),\r\n forexCredit: new Decimal(entry.forexCredit),\r\n localCredit: new Decimal(entry.localCredit)\r\n };\r\n });\r\n\r\n\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n\r\n\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n // this.reportTime = formatDate(rawDate, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n\r\n this.formattedDate = formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n console.log(this.accGlDetailsEnquiryReportModel)\r\n\r\n if (this.rowData != undefined || this.rowData.length > 0) {\r\n this.loading = false;\r\n this.dataReady = true;\r\n }\r\n\r\nif(this.gridColumnApi){\r\nsetTimeout(() => {\r\n const allColumnIds = this.gridColumnApi.getColumns()?.map(col => col.getColId()) || [];\r\n this.gridColumnApi.autoSizeColumns(allColumnIds, false);\r\n});}\r\n\r\n\r\n\r\n }\r\n }, error => { console.log(error); this.loading = false; });\r\n }\r\n\r\n\r\n\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n // return formatDate(params.value, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n }\r\n\r\n//-------------------------------------------------------------------------------\r\n\r\nonGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\r\n // Wait for a tick to let data render\r\n setTimeout(() => {\r\n const allColumnIds = params.columnApi.getAllColumns()?.map(col => col.getColId()) || [];\r\n params.columnApi.autoSizeColumns(allColumnIds, false); // false = include header width\r\n });\r\n}\r\n\r\n\r\n //------------------------------------------------------------------------------\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n let metadata: string[][] | undefined;\r\n\r\n try {\r\n metadata = [\r\n ['Report Title', `${this.companyName} - General Ledger Account Details Enquiry`],\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n [`Search Criteria - ${this.dateType=='VD'?'Value Date':'Posting Date'}`, formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')]\r\n ];\r\n } catch (err) {\r\n window.alert(`Error while binding data: ${err}`);\r\n return;\r\n }\r\n\r\n // 🔸 Filter out any \"Sr No\" column from columnDefs\r\n const filteredColumnDefs = this.columnDefs.filter(\r\n col => !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n // 🔸 Add manual \"Sr No\" header as the first column\r\n const headers = ['Sr No', ...filteredColumnDefs.map(col => col.headerName || col.field)];\r\n\r\n // 🔸 Map data rows with manual serial number\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return (value ?? '').toString();\r\n });\r\n\r\n return [(index + 1).toString(), ...rowData]; // prepend Sr No\r\n });\r\n\r\n // 🔸 Combine metadata, blank row, headers, and data\r\n const csvContent = [...(metadata ?? []), [], headers, ...rows]\r\n .map(e => e.join(','))\r\n .join('\\n');\r\n\r\n this.downloadFile(csvContent, 'ACC-GL-Details-Enquiry-Report.csv', 'text/csv');\r\n}\r\n\r\n\r\n\r\n\r\nexportToExcel(): void {\r\n const data = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n if (!data.length) return;\r\n\r\n const workbook = new ExcelJS.Workbook();\r\n const worksheet = workbook.addWorksheet('ACC-GL-Details-Enquiry-Report');\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const totalColumns = filteredColumnDefs.length + 1; // +1 for Sr. No\r\n\r\n // Title Row\r\n const titleRow = worksheet.addRow([`${this.companyName} - General Ledger Account Details Enquiry`]);\r\n titleRow.font = { bold: true, size: 14 };\r\n worksheet.mergeCells(`A${titleRow.number}:${String.fromCharCode(64 + totalColumns)}${titleRow.number}`);\r\n worksheet.addRow([]); // spacer\r\n\r\n // Metadata with bold label + normal value (in single cell)\r\n const meta: [string, string][] = [\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ''],\r\n [`${this.dateType === 'VD' ? 'Value Date' : 'Posting Date'}`, formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')]\r\n ];\r\n\r\n\r\n\r\n meta.forEach(([label, value]) => {\r\n const row = worksheet.addRow([]);\r\n const cell = row.getCell(1);\r\n\r\n const isSearchCriteria = label.toLowerCase().includes('search criteria');\r\n\r\n cell.value = {\r\n richText: [\r\n {\r\n text: `${label}: `,\r\n font: {\r\n bold: true,\r\n underline: isSearchCriteria ? true : undefined // Only underline \"Search Criteria\"\r\n }\r\n },\r\n {\r\n text: value ?? '',\r\n font: { bold: false }\r\n }\r\n ]\r\n };\r\n\r\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + totalColumns)}${row.number}`);\r\n});\r\n\r\n\r\n worksheet.addRow([]); // spacer\r\n\r\n // Header Row\r\n const headerRow = worksheet.addRow(['Sr. No.', ...filteredColumnDefs.map(col => col.headerName || col.field)]);\r\n headerRow.font = { bold: true };\r\n headerRow.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'D9D9D9' },\r\n };\r\n headerRow.alignment = { vertical: 'middle', horizontal: 'center' };\r\n headerRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n\r\n const dataStartRow = worksheet.lastRow!.number + 1;\r\n\r\n // Data Rows\r\n let srNo = 1;\r\n data.forEach(row => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n\r\n rowData.unshift(srNo++);\r\n const dataRow = worksheet.addRow(rowData);\r\n dataRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n });\r\n\r\n // Auto Width (optimize Sr. No column too)\r\nfor (let i = 1; i <= totalColumns; i++) {\r\n let maxLength = 5;\r\n\r\n // Include header row in auto-width\r\n const headerVal = headerRow.getCell(i).value?.toString() ?? '';\r\n maxLength = Math.max(maxLength, headerVal.length);\r\n\r\n // Include data rows\r\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\r\n const cell = worksheet.getRow(rowNum).getCell(i);\r\n const val = cell.value ? cell.value.toString() : '';\r\n maxLength = Math.max(maxLength, val.length);\r\n }\r\n\r\n worksheet.getColumn(i).width = maxLength + 2;\r\n}\r\n\r\n\r\n // Export\r\n workbook.xlsx.writeBuffer().then(buffer => {\r\n const blob = new Blob([buffer], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\r\n });\r\n FileSaver.saveAs(blob, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n exportToPdf(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n // Create a wide landscape PDF\r\n const doc = new jsPDF({\r\n orientation: 'landscape',\r\n unit: 'mm',\r\n format: [400, 210] // Custom wide format\r\n });\r\n\r\n const pageWidth = doc.internal.pageSize.width;\r\n\r\n // Title\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n doc.setFontSize(15);\r\n doc.setFont('helvetica', 'bold'); // times ,courier,helvetica\r\n const textWidth = doc.getTextWidth(title);\r\n // doc.text(title, (pageWidth - textWidth) / 2, 15);\r\n doc.text(title, 15, 15);\r\n\r\n // Info block\r\n const infoY = 25;\r\n const leftMargin = 15;\r\n const lineHeight = 7;\r\n const infoLines = [\r\n [`Report User:`, this.reportUser],\r\n [`Report Time:`, this.reportTime],\r\n [`Search Criteria`, ''],\r\n [`${this.dateType=='VD'?'Value Date':'Posting Date'}:`, formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')],\r\n ];\r\n\r\n doc.setFontSize(10);\r\n infoLines.forEach(([label, value], i) => {\r\n const y = infoY + i * lineHeight;\r\n\r\n if (label === 'Search Criteria') {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw underline\r\n const textWidth = doc.getTextWidth(label);\r\n doc.setDrawColor(0); // Black\r\n doc.setLineWidth(0.5);\r\n doc.line(leftMargin, y + 1, leftMargin + textWidth, y + 1);\r\n } else {\r\n\r\n // for display key as bold and values as normla font with more space between them\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(label, leftMargin, y);\r\n // doc.setFont('helvetica', 'normal');\r\n // doc.text(value, leftMargin + 40, y);\r\n\r\n\r\n\r\n // for display key values with both bold font as combined together\r\n // const combinedText = `${label} ${value}`;\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(combinedText, leftMargin, y);\r\n\r\n \r\n\r\n\r\n // for display key in bold and values in normal font just like one after one \r\n // Draw label in bold\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw value in normal font right after label\r\n const labelWidth = doc.getTextWidth(label + ' ');\r\n doc.setFont('helvetica', 'normal');\r\n doc.text(value, leftMargin + labelWidth, y);\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n const filteredColumns = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('srno') || col.field?.toLowerCase().includes('serial'))\r\n );\r\n\r\n\r\n\r\n\r\n // Prepare headers with Sr No\r\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field!)];\r\n\r\n // Prepare rows with Sr No\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumns.map(col => {\r\n let value = row[col.field!];\r\n if (col.field && col.field.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n return [index + 1, ...rowData];\r\n });\r\n\r\n // Generate dynamic column styles for auto-width\r\n const columnStyles: { [key: number]: any } = {};\r\n headers.forEach((_, i) => {\r\n columnStyles[i] = { cellWidth: 'auto' };\r\n });\r\n\r\n // Render table\r\n doc.autoTable({\r\n head: [headers],\r\n body: rows,\r\n startY: infoY + infoLines.length * lineHeight + 5,\r\n theme: 'grid',\r\n headStyles: {\r\n fillColor: [220, 220, 220],\r\n textColor: 0,\r\n fontStyle: 'bold',\r\n fontSize: 9,\r\n halign: 'center',\r\n },\r\n bodyStyles: {\r\n fontSize: 8,\r\n fillColor: [255, 255, 255],\r\n textColor:[0,0,0],\r\n },\r\n styles: {\r\n cellPadding: 2,\r\n overflow: 'linebreak',\r\n minCellHeight: 6,\r\n },\r\n columnStyles: columnStyles,\r\n });\r\n\r\n doc.save('ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n private downloadFile(data: string, filename: string, type: string): void {\r\n const blob = new Blob([data], { type });\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n\r\n\r\n onSearch(): void {\r\n if (this.searchText) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n value?.toString().toLowerCase().includes(this.searchText.toLowerCase())\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<div class=\"bootstrap-scope\">\r\n\r\n <div class=\"main-container\">\r\n\r\n\r\n <div class=\"form-container\">\r\n\r\n <form class=\"d-flex align-items-center \">\r\n\r\n\r\n <!-- ----------------------------------------------------- -->\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" style=\"font-size: 13px !important; font-weight: 700 !important; margin: 0px !important;\">Date Type</label>\r\n\r\n <select class=\"form-select w-auto\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2 ms-3\">\r\n <label for=\"date\" style=\"font-size: 13px !important; font-weight: 700 !important;\" class=\"mb-0\">Date</label>\r\n <div>\r\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\">\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <button class=\"btn-primary \" (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </form>\r\n\r\n <div class=\"d-flex align-items-center ms-auto \">\r\n <select class=\"form-select w-auto\" name=\"selectedExportOption\" id=\"selectedExportOption\"\r\n [(ngModel)]=\"selectedExportOption\">\r\n <option value='pdf'>PDF\r\n </option>\r\n <option value='excel'>Excel\r\n </option>\r\n <option value='csv'>CSV\r\n </option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" (click)=\"handleExport()\">Export</button>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n <hr/>\r\n\r\n <!-- -------------------------------------------------------------------------------- -->\r\n\r\n\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\">\r\n </div>\r\n\r\n <!-- ----------------------------------------------------------------------------------- -->\r\n\r\n <div class=\"report-container \" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <!-- *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined\">\r\n\r\n \r\n <h2 style=\"display: block;text-align: center; color:black !important; font-size: 18px; font-weight: 600; margin: 0px !important;\">General Ledger Account Details\r\n Enquiry</h2>\r\n\r\n \r\n\r\n\r\n <div class=\"d-flex justify-content-between \">\r\n <!-- Metadata Block -->\r\n <div>\r\n <div class=\"d-flex align-items-center gap-2 mt-4\">\r\n <label for=\"date\" style=\"font-weight: 700;\" class=\"mb-0\">Report User :</label>\r\n <label class=\"mb-0\" style=\"font-weight: normal;\">{{reportUser}}</label>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2 mt-2\">\r\n <label for=\"date\" style=\"font-weight: 700;\" class=\"mb-0\">Report Time :</label>\r\n <label class=\"mb-0\" style=\"font-weight: normal;\">{{reportTime}}</label>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2 mt-2 mb-2\">\r\n <label for=\"date\" style=\"font-weight: 700;\" class=\"mb-0\">{{ dateType == 'VD' ? 'Value Date' : 'Posting Date' }} :</label>\r\n <label class=\"mb-0\" style=\"font-weight: normal;\">{{formattedDate}}</label>\r\n </div>\r\n </div>\r\n\r\n <!-- Search Box + Button (Aligned near Value Date row) -->\r\n <div class=\"mt-4\" style=\"align-self: flex-end;\">\r\n <div class=\"d-flex justify-content-end align-items-center mb-2\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control form-control-sm me-1\" placeholder=\"Search...\" style=\"width: 190px; height: 20px; color: black;\" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 32px; background-color: #0081c6;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine ag-grid-style\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n style=\"font-weight: 500px !important;\"\r\n [rowHeight]=\"16\" [headerHeight]=\"16\"\r\n [defaultColDef]=\"defaultColDef\" [enableRangeSelection]=\"true\" [enableBrowserTooltips]=\"true\"\r\n [gridOptions]=\"gridOptions\" (gridReady)=\"onGridReady($event)\" [animateRows]=\"true\" [rowHeight]=\"27\"\r\n [headerHeight]=\"35\" domLayout=\"autoHeight\">\r\n\r\n </ag-grid-angular>\r\n <!-- [pagination]=\"true\" [paginationPageSize]=\"pageSize\" [gridOptions]=\"gridOptions\" (gridReady)=\"onGridReady($event)\" [rowHeight]=\"28\"\r\n [headerHeight]=\"32\"-->\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'acc-gl-details-enquiry-report',\r\n component: AccGlDetailsEnquiryReportComponent\r\n },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReportsLibRoutingModule {}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n selfHostUrl: 'http://localhost:9000/api/scriptx',\r\n configFile: 'assets/config/app-config.json'\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n// import Swal from \"sweetalert2\";\r\nimport { HttpBackend, HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { forkJoin } from \"rxjs\";\r\nimport { environment } from \"../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class ActiveXService {\r\n \r\n private macAddress = \"\";\r\n private ipAddress = \"\";\r\n private machineName = \"\";\r\n private processorId = \"\";\r\n private printerName = \"\";\r\n\r\n private scriptxServiceUrl: string;\r\n\r\n private scriptxHttpClient: HttpClient;\r\n\r\n public isSelfHostAvailable: boolean;\r\n\r\n constructor(private backend: HttpBackend) {\r\n this.scriptxServiceUrl = environment.selfHostUrl;\r\n this.scriptxHttpClient = new HttpClient(backend);\r\n this.requestSelfHostedServiceInfo()\r\n .subscribe((responseList) => {\r\n this.machineName = responseList[0];\r\n this.macAddress = responseList[1];\r\n this.ipAddress = responseList[2];\r\n this.processorId = responseList[3];\r\n this.isSelfHostAvailable = true;\r\n },\r\n err => {\r\n this.isSelfHostAvailable = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n getMACAddress(): string {\r\n return this.macAddress;\r\n }\r\n\r\n getIPAddress(): string {\r\n return this.ipAddress;\r\n }\r\n\r\n getMachineName(): string {\r\n return this.machineName;\r\n }\r\n\r\n getPrinterName(): string {\r\n return this.printerName;\r\n }\r\n\r\n getProcessorId(): string {\r\n return this.processorId;\r\n }\r\n\r\n public requestSelfHostedServiceInfo(): Observable<any[]> {\r\n let responseGetMachineName = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMachineName\"\r\n );\r\n let responseGetMacAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMacAddress\"\r\n );\r\n let responseGetIpAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetIpAddress\"\r\n );\r\n let responseGetProcessId = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetProcessId\"\r\n );\r\n return forkJoin([\r\n responseGetMachineName,\r\n responseGetMacAddress,\r\n responseGetIpAddress,\r\n responseGetProcessId,\r\n ]);\r\n }\r\n}\r\n","import { Inject, Injectable, OnInit } from '@angular/core';\r\nimport { LOCAL_STORAGE, InMemoryStorageService, isStorageAvailable, SESSION_STORAGE } from 'ngx-webstorage-service';\r\n\r\nimport { UserSessionModel } from '../models/security/user-session.model';\r\nimport { Observable , BehaviorSubject } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { LocalStorage } from '@ng-idle/core';\r\n\r\n\r\n@Injectable()\r\nexport class SessionService {\r\n\r\n private userSessionKey = 'FossilUserSessionModel';\r\n session: UserSessionModel;\r\n onSessionChanged: BehaviorSubject<any>;\r\n constructor(\r\n @Inject(SESSION_STORAGE) private storage: InMemoryStorageService,\r\n private oauthService: OAuthService) {\r\n this.onSessionChanged = new BehaviorSubject(null);\r\n }\r\n\r\n public GetObjectByKey(key: string): any {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n return this.storage.get(key);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public SetObject(key: string, value: any) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.set(key, value);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public RemoveObject(key: string) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(key);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public GetUserSession(): UserSessionModel {\r\n return this.GetObjectByKey(this.userSessionKey);\r\n }\r\n\r\n // TODO Consider if this should close the session on the server side or just reset the client session\r\n public Clear() {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(this.userSessionKey);\r\n }\r\n }\r\n\r\n private UpdateSession() {\r\n this.session = this.GetUserSession();\r\n this.onSessionChanged.next(this.session);\r\n }\r\n\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { ActiveXService } from '../services/active-x.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor implements HttpInterceptor \r\n{\r\n constructor(private oAuthService: OAuthService, private activeXService: ActiveXService, private session: SessionService) { }\r\n\r\n\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> \r\n {\r\n const token = this.oAuthService.getAccessToken();\r\n const guid: string = uuidv4().replace(/-/g, '');\r\n let clonedRequest = request.clone({\r\n withCredentials: true\r\n });\r\n\r\n if (token) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n },\r\n withCredentials: true\r\n });\r\n }\r\n if (!request.headers.has('request-trace-id')) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'request-trace-id': guid\r\n }\r\n });\r\n } \r\n let userBranch = 'NotSelected';\r\n let userCompany = 'NotSelected';\r\n if (this.session) {\r\n const userSession = this.session.GetUserSession();\r\n userBranch = userSession?.branch || 'NotInSession';\r\n userCompany = userSession?.companyShortCode || 'NotInSession';\r\n }\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserBranch': userBranch || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserCompany': userCompany || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { AuthHttpInterceptor } from './interceptors/auth-http.interceptor';\r\nimport { ActiveXService } from './services/active-x.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n \r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n HttpClientModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule\r\n \r\n ],\r\n providers: \r\n [\r\n ActiveXService,\r\n SessionService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthHttpInterceptor,\r\n deps: [OAuthService, ActiveXService, SessionService],\r\n multi: true\r\n },\r\n ],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ReportService","i2","i1","uuidv4","i2.ActiveXService","i3.SessionService"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/environments/environment.ts","../../../projects/reports-lib/src/lib/services/active-x.service.ts","../../../projects/reports-lib/src/lib/services/session.service.ts","../../../projects/reports-lib/src/lib/interceptors/auth-http.interceptor.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/accgl-details-enquiry-reportmodel';\nimport { Observable } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n private serviceUrl: string;\n private reportUrl : string; \n \n\nconstructor(private http:HttpClient) \n{\n this.serviceUrl=\"https://4xplus-local.xpressmoney.tech:8699\";\n this.reportUrl=\"/api/v1/Report\";\n \n }\n\n\npublic getAccGLDetailsReport(date: Date,dateType: string,sysCompanyCode: string,sysUserId: string,companyName: string ): Observable<AccGlDetailsEnquiryReportModel> \n{\n const formattedDate = date.toISOString().split('T')[0]; \n const apiPath = `${this.serviceUrl}${this.reportUrl}/AccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n}\n\n\n\n \n\n\n\n\n\n\n\n\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport Decimal from 'decimal.js';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jsPDF from 'jspdf';\r\n// import autoTable from 'jspdf-autotable';\r\n// import * as autoTable from 'jspdf-autotable';\r\nimport 'jspdf-autotable';\r\n\r\nimport * as ExcelJS from 'exceljs';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText:string='';\r\n\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n\r\n selectedExportOption: string = 'pdf';\r\n\r\n pageSize: number = 15;\r\n\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n\r\n dateTypeFilter: number = 1;\r\n\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n formattedDate: any\r\n\r\n defaultColDef: ColDef = {\r\n resizable: false,\r\n sortable: true,\r\n filter: true,\r\n cellStyle: { userSelect: 'text' },\r\n autoHeight: true,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Sr. No', valueGetter: 'node.rowIndex + 1',cellClass:'column-font-size', },\r\n { headerName: 'Journal ID', field: 'journalID' ,cellClass:['column-font-size', 'ag-font-size'],},\r\n { headerName: 'Trans No', field: 'transactionNo' ,cellClass:'column-font-size',},\r\n { headerName: 'Trans Code', field: 'transactionCode', cellClass:'column-font-size',},\r\n { headerName: 'Journal Type', field: 'journalType',cellClass:'column-font-size', },\r\n { headerName: 'Posting Date', field: 'postingDate', valueFormatter: this.formatDate,cellClass:'column-font-size', },\r\n { headerName: 'Value Date', field: 'valueDate', valueFormatter: this.formatDate ,cellClass:'column-font-size',},\r\n { headerName: 'Description', field: 'description' ,cellClass:'column-font-size',},\r\n { headerName: 'Account Code', field: 'accountCode', cellClass:'column-font-size',},\r\n { headerName: 'Currency', field: 'currency', cellClass:'column-font-size',},\r\n { headerName: 'Rate', field: 'rate', cellClass:'column-font-size',},\r\n { headerName: 'FxDebit', field: 'forexDebit', cellClass:'column-font-size',},\r\n { headerName: 'Local Debit', field: 'localDebit',cellClass:'column-font-size', },\r\n { headerName: 'FxCredit', field: 'forexCredit', cellClass:'column-font-size',},\r\n { headerName: 'Local Credit', field: 'localCredit',cellClass:'column-font-size', },\r\n\r\n\r\n ];\r\n\r\n rowData = [];\r\n\r\n gridOptions: GridOptions = {\r\n enableRangeSelection: true,\r\n \r\n getContextMenuItems: () => [\r\n 'copy',\r\n 'copyWithHeaders'\r\n ]\r\n };\r\n\r\n\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n \r\n\r\n constructor(private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer,) {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n // console.log('SVG Loaded:', svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = today.toISOString().substring(0, 10); // yyyy-MM-dd format\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'\r\n this.loading = true;\r\n this.dataReady = false;\r\n\r\n \r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = 'sachin.kamble@xpressmoney.tech';\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n\r\n\r\n this.reportService.getAccGLDetailsReport(new Date(this.date), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel != undefined || this.accGlDetailsEnquiryReportModel != null) {\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map(entry => {\r\n return {\r\n ...entry,\r\n rate: new Decimal(entry.rate),\r\n forexDebit: new Decimal(entry.forexDebit),\r\n localDebit: new Decimal(entry.localDebit),\r\n forexCredit: new Decimal(entry.forexCredit),\r\n localCredit: new Decimal(entry.localCredit)\r\n };\r\n });\r\n\r\n\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n\r\n\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n // this.reportTime = formatDate(rawDate, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n\r\n this.formattedDate = formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n console.log(this.accGlDetailsEnquiryReportModel)\r\n\r\n if (this.rowData != undefined || this.rowData.length > 0) {\r\n this.loading = false;\r\n this.dataReady = true;\r\n }\r\n\r\nif(this.gridColumnApi){\r\nsetTimeout(() => {\r\n const allColumnIds = this.gridColumnApi.getColumns()?.map(col => col.getColId()) || [];\r\n this.gridColumnApi.autoSizeColumns(allColumnIds, false);\r\n});}\r\n\r\n\r\n\r\n }\r\n }, error => { console.log(error); this.loading = false; });\r\n }\r\n\r\n\r\n\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n // return formatDate(params.value, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n }\r\n\r\n//-------------------------------------------------------------------------------\r\n\r\nonGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n\r\n // Wait for a tick to let data render\r\n setTimeout(() => {\r\n const allColumnIds = params.columnApi.getAllColumns()?.map(col => col.getColId()) || [];\r\n params.columnApi.autoSizeColumns(allColumnIds, false); // false = include header width\r\n });\r\n}\r\n\r\n\r\n //------------------------------------------------------------------------------\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n let metadata: string[][] | undefined;\r\n\r\n try {\r\n metadata = [\r\n ['Report Title', `${this.companyName} - General Ledger Account Details Enquiry`],\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n [`Search Criteria - ${this.dateType=='VD'?'Value Date':'Posting Date'}`, formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')]\r\n ];\r\n } catch (err) {\r\n window.alert(`Error while binding data: ${err}`);\r\n return;\r\n }\r\n\r\n // 🔸 Filter out any \"Sr No\" column from columnDefs\r\n const filteredColumnDefs = this.columnDefs.filter(\r\n col => !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n // 🔸 Add manual \"Sr No\" header as the first column\r\n const headers = ['Sr No', ...filteredColumnDefs.map(col => col.headerName || col.field)];\r\n\r\n // 🔸 Map data rows with manual serial number\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return (value ?? '').toString();\r\n });\r\n\r\n return [(index + 1).toString(), ...rowData]; // prepend Sr No\r\n });\r\n\r\n // 🔸 Combine metadata, blank row, headers, and data\r\n const csvContent = [...(metadata ?? []), [], headers, ...rows]\r\n .map(e => e.join(','))\r\n .join('\\n');\r\n\r\n this.downloadFile(csvContent, 'ACC-GL-Details-Enquiry-Report.csv', 'text/csv');\r\n}\r\n\r\n\r\n\r\n\r\nexportToExcel(): void {\r\n const data = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n if (!data.length) return;\r\n\r\n const workbook = new ExcelJS.Workbook();\r\n const worksheet = workbook.addWorksheet('ACC-GL-Details-Enquiry-Report');\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const totalColumns = filteredColumnDefs.length + 1; // +1 for Sr. No\r\n\r\n // Title Row\r\n const titleRow = worksheet.addRow([`${this.companyName} - General Ledger Account Details Enquiry`]);\r\n titleRow.font = { bold: true, size: 14 };\r\n worksheet.mergeCells(`A${titleRow.number}:${String.fromCharCode(64 + totalColumns)}${titleRow.number}`);\r\n worksheet.addRow([]); // spacer\r\n\r\n // Metadata with bold label + normal value (in single cell)\r\n const meta: [string, string][] = [\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ''],\r\n [`${this.dateType === 'VD' ? 'Value Date' : 'Posting Date'}`, formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')]\r\n ];\r\n\r\n\r\n\r\n meta.forEach(([label, value]) => {\r\n const row = worksheet.addRow([]);\r\n const cell = row.getCell(1);\r\n\r\n const isSearchCriteria = label.toLowerCase().includes('search criteria');\r\n\r\n cell.value = {\r\n richText: [\r\n {\r\n text: `${label}: `,\r\n font: {\r\n bold: true,\r\n underline: isSearchCriteria ? true : undefined // Only underline \"Search Criteria\"\r\n }\r\n },\r\n {\r\n text: value ?? '',\r\n font: { bold: false }\r\n }\r\n ]\r\n };\r\n\r\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + totalColumns)}${row.number}`);\r\n});\r\n\r\n\r\n worksheet.addRow([]); // spacer\r\n\r\n // Header Row\r\n const headerRow = worksheet.addRow(['Sr. No.', ...filteredColumnDefs.map(col => col.headerName || col.field)]);\r\n headerRow.font = { bold: true };\r\n headerRow.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'D9D9D9' },\r\n };\r\n headerRow.alignment = { vertical: 'middle', horizontal: 'center' };\r\n headerRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n\r\n const dataStartRow = worksheet.lastRow!.number + 1;\r\n\r\n // Data Rows\r\n let srNo = 1;\r\n data.forEach(row => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n\r\n rowData.unshift(srNo++);\r\n const dataRow = worksheet.addRow(rowData);\r\n dataRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n });\r\n\r\n // Auto Width (optimize Sr. No column too)\r\nfor (let i = 1; i <= totalColumns; i++) {\r\n let maxLength = 5;\r\n\r\n // Include header row in auto-width\r\n const headerVal = headerRow.getCell(i).value?.toString() ?? '';\r\n maxLength = Math.max(maxLength, headerVal.length);\r\n\r\n // Include data rows\r\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\r\n const cell = worksheet.getRow(rowNum).getCell(i);\r\n const val = cell.value ? cell.value.toString() : '';\r\n maxLength = Math.max(maxLength, val.length);\r\n }\r\n\r\n worksheet.getColumn(i).width = maxLength + 2;\r\n}\r\n\r\n\r\n // Export\r\n workbook.xlsx.writeBuffer().then(buffer => {\r\n const blob = new Blob([buffer], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\r\n });\r\n FileSaver.saveAs(blob, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n exportToPdf(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n // Create a wide landscape PDF\r\n const doc = new jsPDF({\r\n orientation: 'landscape',\r\n unit: 'mm',\r\n format: [400, 210] // Custom wide format\r\n });\r\n\r\n const pageWidth = doc.internal.pageSize.width;\r\n\r\n // Title\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n doc.setFontSize(15);\r\n doc.setFont('helvetica', 'bold'); // times ,courier,helvetica\r\n const textWidth = doc.getTextWidth(title);\r\n // doc.text(title, (pageWidth - textWidth) / 2, 15);\r\n doc.text(title, 15, 15);\r\n\r\n // Info block\r\n const infoY = 25;\r\n const leftMargin = 15;\r\n const lineHeight = 7;\r\n const infoLines = [\r\n [`Report User:`, this.reportUser],\r\n [`Report Time:`, this.reportTime],\r\n [`Search Criteria`, ''],\r\n [`${this.dateType=='VD'?'Value Date':'Posting Date'}:`, formatDate(new Date(this.date), 'dd/MM/yyyy', 'en-US')],\r\n ];\r\n\r\n doc.setFontSize(10);\r\n infoLines.forEach(([label, value], i) => {\r\n const y = infoY + i * lineHeight;\r\n\r\n if (label === 'Search Criteria') {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw underline\r\n const textWidth = doc.getTextWidth(label);\r\n doc.setDrawColor(0); // Black\r\n doc.setLineWidth(0.5);\r\n doc.line(leftMargin, y + 1, leftMargin + textWidth, y + 1);\r\n } else {\r\n\r\n // for display key as bold and values as normla font with more space between them\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(label, leftMargin, y);\r\n // doc.setFont('helvetica', 'normal');\r\n // doc.text(value, leftMargin + 40, y);\r\n\r\n\r\n\r\n // for display key values with both bold font as combined together\r\n // const combinedText = `${label} ${value}`;\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(combinedText, leftMargin, y);\r\n\r\n \r\n\r\n\r\n // for display key in bold and values in normal font just like one after one \r\n // Draw label in bold\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw value in normal font right after label\r\n const labelWidth = doc.getTextWidth(label + ' ');\r\n doc.setFont('helvetica', 'normal');\r\n doc.text(value, leftMargin + labelWidth, y);\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n const filteredColumns = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('srno') || col.field?.toLowerCase().includes('serial'))\r\n );\r\n\r\n\r\n\r\n\r\n // Prepare headers with Sr No\r\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field!)];\r\n\r\n // Prepare rows with Sr No\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumns.map(col => {\r\n let value = row[col.field!];\r\n if (col.field && col.field.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n return [index + 1, ...rowData];\r\n });\r\n\r\n // Generate dynamic column styles for auto-width\r\n const columnStyles: { [key: number]: any } = {};\r\n headers.forEach((_, i) => {\r\n columnStyles[i] = { cellWidth: 'auto' };\r\n });\r\n\r\n // Render table\r\n doc.autoTable({\r\n head: [headers],\r\n body: rows,\r\n startY: infoY + infoLines.length * lineHeight + 5,\r\n theme: 'grid',\r\n headStyles: {\r\n fillColor: [220, 220, 220],\r\n textColor: 0,\r\n fontStyle: 'bold',\r\n fontSize: 9,\r\n halign: 'center',\r\n },\r\n bodyStyles: {\r\n fontSize: 8,\r\n fillColor: [255, 255, 255],\r\n textColor:[0,0,0],\r\n },\r\n styles: {\r\n cellPadding: 2,\r\n overflow: 'linebreak',\r\n minCellHeight: 6,\r\n },\r\n columnStyles: columnStyles,\r\n });\r\n\r\n doc.save('ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n private downloadFile(data: string, filename: string, type: string): void {\r\n const blob = new Blob([data], { type });\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n\r\n\r\n onSearch(): void {\r\n if (this.searchText) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n value?.toString().toLowerCase().includes(this.searchText.toLowerCase())\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<div class=\"bootstrap-scope\">\r\n\r\n <div class=\"main-container\">\r\n\r\n\r\n <div class=\"form-container\">\r\n\r\n <form class=\"d-flex align-items-center \">\r\n\r\n\r\n <!-- ----------------------------------------------------- -->\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" style=\"font-size: 13px !important; font-weight: 700 !important; margin: 0px !important;\">Date Type</label>\r\n\r\n <select class=\"form-select w-auto\" name=\"dateTypeFilter\" [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2 ms-3\">\r\n <label for=\"date\" style=\"font-size: 13px !important; font-weight: 700 !important;\" class=\"mb-0\">Date</label>\r\n <div>\r\n <input type=\"date\" class=\"form-control\" name=\"date\" [(ngModel)]=\"date\" id=\"date\">\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <button class=\"btn-primary \" (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </form>\r\n\r\n <div class=\"d-flex align-items-center ms-auto \">\r\n <select class=\"form-select w-auto\" name=\"selectedExportOption\" id=\"selectedExportOption\"\r\n [(ngModel)]=\"selectedExportOption\">\r\n <option value='pdf'>PDF\r\n </option>\r\n <option value='excel'>Excel\r\n </option>\r\n <option value='csv'>CSV\r\n </option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" (click)=\"handleExport()\">Export</button>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n <hr/>\r\n\r\n <!-- -------------------------------------------------------------------------------- -->\r\n\r\n\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\">\r\n </div>\r\n\r\n <!-- ----------------------------------------------------------------------------------- -->\r\n\r\n <div class=\"report-container \" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <!-- *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined\">\r\n\r\n \r\n <h2 style=\"display: block;text-align: center; color:black !important; font-size: 18px; font-weight: 600; margin: 0px !important;\">General Ledger Account Details\r\n Enquiry</h2>\r\n\r\n \r\n\r\n\r\n <div class=\"d-flex justify-content-between \">\r\n <!-- Metadata Block -->\r\n <div>\r\n <div class=\"d-flex align-items-center gap-2 mt-4\">\r\n <label for=\"date\" style=\"font-weight: 700;\" class=\"mb-0\">Report User :</label>\r\n <label class=\"mb-0\" style=\"font-weight: normal;\">{{reportUser}}</label>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2 mt-2\">\r\n <label for=\"date\" style=\"font-weight: 700;\" class=\"mb-0\">Report Time :</label>\r\n <label class=\"mb-0\" style=\"font-weight: normal;\">{{reportTime}}</label>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2 mt-2 mb-2\">\r\n <label for=\"date\" style=\"font-weight: 700;\" class=\"mb-0\">{{ dateType == 'VD' ? 'Value Date' : 'Posting Date' }} :</label>\r\n <label class=\"mb-0\" style=\"font-weight: normal;\">{{formattedDate}}</label>\r\n </div>\r\n </div>\r\n\r\n <!-- Search Box + Button (Aligned near Value Date row) -->\r\n <div class=\"mt-4\" style=\"align-self: flex-end;\">\r\n <div class=\"d-flex justify-content-end align-items-center mb-2\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control form-control-sm me-1\" placeholder=\"Search...\" style=\"width: 190px; height: 20px; color: black;\" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 32px; background-color: #0081c6;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine ag-grid-style\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n style=\"font-weight: 500px !important;\"\r\n [rowHeight]=\"16\" [headerHeight]=\"16\"\r\n [defaultColDef]=\"defaultColDef\" [enableRangeSelection]=\"true\" [enableBrowserTooltips]=\"true\"\r\n [gridOptions]=\"gridOptions\" (gridReady)=\"onGridReady($event)\" [animateRows]=\"true\" [rowHeight]=\"27\"\r\n [headerHeight]=\"35\" domLayout=\"autoHeight\">\r\n\r\n </ag-grid-angular>\r\n <!-- [pagination]=\"true\" [paginationPageSize]=\"pageSize\" [gridOptions]=\"gridOptions\" (gridReady)=\"onGridReady($event)\" [rowHeight]=\"28\"\r\n [headerHeight]=\"32\"-->\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'acc-gl-details-enquiry-report',\r\n component: AccGlDetailsEnquiryReportComponent\r\n },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReportsLibRoutingModule {}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n selfHostUrl: 'http://localhost:9000/api/scriptx',\r\n configFile: 'assets/config/app-config.json'\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n// import Swal from \"sweetalert2\";\r\nimport { HttpBackend, HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { forkJoin } from \"rxjs\";\r\nimport { environment } from \"../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class ActiveXService {\r\n \r\n private macAddress = \"\";\r\n private ipAddress = \"\";\r\n private machineName = \"\";\r\n private processorId = \"\";\r\n private printerName = \"\";\r\n\r\n private scriptxServiceUrl: string;\r\n\r\n private scriptxHttpClient: HttpClient;\r\n\r\n public isSelfHostAvailable: boolean;\r\n\r\n constructor(private backend: HttpBackend) {\r\n this.scriptxServiceUrl = environment.selfHostUrl;\r\n this.scriptxHttpClient = new HttpClient(backend);\r\n this.requestSelfHostedServiceInfo()\r\n .subscribe((responseList) => {\r\n this.machineName = responseList[0];\r\n this.macAddress = responseList[1];\r\n this.ipAddress = responseList[2];\r\n this.processorId = responseList[3];\r\n this.isSelfHostAvailable = true;\r\n },\r\n err => {\r\n this.isSelfHostAvailable = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n getMACAddress(): string {\r\n return this.macAddress;\r\n }\r\n\r\n getIPAddress(): string {\r\n return this.ipAddress;\r\n }\r\n\r\n getMachineName(): string {\r\n return this.machineName;\r\n }\r\n\r\n getPrinterName(): string {\r\n return this.printerName;\r\n }\r\n\r\n getProcessorId(): string {\r\n return this.processorId;\r\n }\r\n\r\n public requestSelfHostedServiceInfo(): Observable<any[]> {\r\n let responseGetMachineName = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMachineName\"\r\n );\r\n let responseGetMacAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMacAddress\"\r\n );\r\n let responseGetIpAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetIpAddress\"\r\n );\r\n let responseGetProcessId = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetProcessId\"\r\n );\r\n return forkJoin([\r\n responseGetMachineName,\r\n responseGetMacAddress,\r\n responseGetIpAddress,\r\n responseGetProcessId,\r\n ]);\r\n }\r\n}\r\n","import { Inject, Injectable, OnInit } from '@angular/core';\r\nimport { LOCAL_STORAGE, InMemoryStorageService, isStorageAvailable, SESSION_STORAGE } from 'ngx-webstorage-service';\r\n\r\nimport { UserSessionModel } from '../models/security/user-session.model';\r\nimport { Observable , BehaviorSubject } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { LocalStorage } from '@ng-idle/core';\r\n\r\n\r\n@Injectable()\r\nexport class SessionService {\r\n\r\n private userSessionKey = 'FossilUserSessionModel';\r\n session: UserSessionModel;\r\n onSessionChanged: BehaviorSubject<any>;\r\n constructor(\r\n @Inject(SESSION_STORAGE) private storage: InMemoryStorageService,\r\n private oauthService: OAuthService) {\r\n this.onSessionChanged = new BehaviorSubject(null);\r\n }\r\n\r\n public GetObjectByKey(key: string): any {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n return this.storage.get(key);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public SetObject(key: string, value: any) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.set(key, value);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public RemoveObject(key: string) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(key);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public GetUserSession(): UserSessionModel {\r\n return this.GetObjectByKey(this.userSessionKey);\r\n }\r\n\r\n // TODO Consider if this should close the session on the server side or just reset the client session\r\n public Clear() {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(this.userSessionKey);\r\n }\r\n }\r\n\r\n private UpdateSession() {\r\n this.session = this.GetUserSession();\r\n this.onSessionChanged.next(this.session);\r\n }\r\n\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { ActiveXService } from '../services/active-x.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor implements HttpInterceptor \r\n{\r\n constructor(private oAuthService: OAuthService, private activeXService: ActiveXService, private session: SessionService) { }\r\n\r\n\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> \r\n {\r\n const token = this.oAuthService.getAccessToken();\r\n const guid: string = uuidv4().replace(/-/g, '');\r\n let clonedRequest = request.clone({\r\n withCredentials: true\r\n });\r\n\r\n if (token) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n },\r\n withCredentials: true\r\n });\r\n }\r\n if (!request.headers.has('request-trace-id')) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'request-trace-id': guid\r\n }\r\n });\r\n } \r\n let userBranch = 'NotSelected';\r\n let userCompany = 'NotSelected';\r\n if (this.session) {\r\n const userSession = this.session.GetUserSession();\r\n userBranch = userSession?.branch || 'NotInSession';\r\n userCompany = userSession?.companyShortCode || 'NotInSession';\r\n }\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserBranch': userBranch || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserCompany': userCompany || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { AuthHttpInterceptor } from './interceptors/auth-http.interceptor';\r\nimport { ActiveXService } from './services/active-x.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n \r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n HttpClientModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule\r\n \r\n ],\r\n providers: \r\n [\r\n ActiveXService,\r\n SessionService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthHttpInterceptor,\r\n deps: [OAuthService, ActiveXService, SessionService],\r\n multi: true\r\n },\r\n ],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ReportService","i2","i1","uuidv4","i2.ActiveXService","i3.SessionService"],"mappings":"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"}
|