@sachin9822/reports-lib 0.0.90 → 0.0.91
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 +4 -4
- package/esm2020/lib/shared/export.service.mjs +2 -2
- package/fesm2015/sachin9822-reports-lib.mjs +4 -4
- package/fesm2015/sachin9822-reports-lib.mjs.map +1 -1
- package/fesm2020/sachin9822-reports-lib.mjs +4 -4
- 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/shared/export.service.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/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 { Injectable } from '@angular/core';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport * as ExcelJS from 'exceljs';\nimport * as FileSaver from 'file-saver';\n\n\ndeclare module 'jspdf' {\n interface jsPDF {\n autoTable: (options: any) => jsPDF;\n }\n}//assets/reports-lib/images/XMLogo.png\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n private readonly pdfFontSize = 10;\n private readonly pdfLineHeight = 7;\n private readonly pdfLeftMargin = 15;\n private logoBase64: string | undefined;\n\n constructor() {\n this.loadImageAsBase64('assets/reports-lib/assets/images/XMLogo.png').then(base64 => {\n this.logoBase64 = base64;\n });\n }\n\n // ------------------------ Utility ------------------------\n private loadImageAsBase64(imagePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.src = imagePath;\n\n img.onload = () => {\n const scale = 6;\n const canvas = document.createElement('canvas');\n canvas.width = img.width * scale;\n canvas.height = img.height * scale;\n\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.scale(scale, scale);\n ctx.drawImage(img, 0, 0);\n const base64 = canvas.toDataURL('image/png', 1.0); // 1.0 = highest quality\n resolve(base64);\n } else {\n reject('Failed to get canvas context.');\n }\n };\n\n img.onerror = () => reject('Failed to load image: ' + imagePath);\n });\n }\n\n formatDate(value: any): string {\n const date = new Date(value);\n return isNaN(date.getTime()) ? '' :\n `${date.getDate().toString().padStart(2, '0')}/${(date.getMonth() + 1).toString().padStart(2, '0')}/${date.getFullYear()}`;\n }\n formatDateTime(date: Date): string {\n return `${date.getDate().toString().padStart(2, '0')}/` +\n `${(date.getMonth() + 1).toString().padStart(2, '0')}/` +\n `${date.getFullYear()} ` +\n `${date.getHours().toString().padStart(2, '0')}:` +\n `${date.getMinutes().toString().padStart(2, '0')}`;\n }\n\n generateReportMetadata(metadata: [string, string][]): [string, string][] {\n return metadata.filter(([_, value]) => value !== undefined && value !== null);\n }\n\n prepareExportTable(data: any[], columnDefs: any[], options: {\n excludeFields?: string[],\n currencyFields?: string[]\n } = {}): { headers: string[], rows: any[][] } {\n const { excludeFields = ['srno', 'serial', 'action'], currencyFields = [] } = options;\n\n const filteredColumns = columnDefs.filter(col =>\n col.field &&\n !excludeFields.some(ex => col.field.toLowerCase().includes(ex)) &&\n !excludeFields.some(ex => col.headerName?.toLowerCase().includes(ex))\n );\n\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field)];\n\n const rows = data.map((row, index) => {\n const rowData = filteredColumns.map(col => {\n let value = row[col.field];\n const fieldName = col.field?.toLowerCase() || '';\n\n // Handle various date field names\n if (\n (fieldName.includes('date') ||\n fieldName.includes('businessdate')) &&\n value\n ) {\n value = this.formatDate(value);\n }\n\n // Format currency fields\n if (currencyFields.includes(col.field) && value != null) {\n value = parseFloat(value).toFixed(3);\n }\n return value ?? '';\n });\n return [index + 1, ...rowData];\n });\n return { headers, rows };\n }\n\n // ------------------------ PDF Universal ------------------------\n async exportToPdfUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): Promise<void> {\n const doc = new jsPDF({ orientation: 'landscape', unit: 'mm', format: [400, 210] });\n\n const logoWidth = 38.4, logoHeight = 17.5, logoX = 15, logoY = 10;\n const pageWidth = doc.internal.pageSize.width;\n const titleY = 18;\n\n if (this.logoBase64) {\n doc.addImage(this.logoBase64, 'PNG', logoX, logoY, logoWidth, logoHeight);\n }\n\n doc.setFontSize(15);\n doc.setFont('helvetica', 'bold');\n doc.text(title, pageWidth / 2, titleY, { align: 'center' });\n\n let currentY = titleY + 14;\n doc.setFontSize(this.pdfFontSize);\n metadata.forEach(([label, value], i) => {\n const y = currentY + i * this.pdfLineHeight;\n doc.setFont('helvetica', 'bold');\n doc.text(label, this.pdfLeftMargin, y);\n const labelWidth = doc.getTextWidth(label + ' ');\n doc.setFont('helvetica', 'normal');\n doc.text(value, this.pdfLeftMargin + labelWidth, y);\n });\n currentY += metadata.length * this.pdfLineHeight + 5;\n\n const columnStyles: { [key: number]: any } = {};\n headers.forEach((_, i) => columnStyles[i] = { cellWidth: 'auto' });\n\n doc.autoTable({\n head: [headers],\n body: rows,\n startY: currentY,\n theme: 'grid',\n headStyles: {\n fillColor: [220, 220, 220], textColor: 0,\n fontStyle: 'bold', fontSize: 9, halign: 'center',\n },\n bodyStyles: { fontSize: 8, fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n styles: { cellPadding: 2, overflow: 'linebreak', minCellHeight: 6 },\n columnStyles\n });\n\n doc.save(fileName);\n }\n\n // ------------------------ Excel Universal ------------------------\n exportToExcelUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet(title);\n\n let currentRow = 1;\n\n // Add image if available\n if (this.logoBase64) {\n const base64Data = this.logoBase64.replace(/^data:image\\/\\w+;base64,/, '');\n const imageId = workbook.addImage({\n base64: base64Data,\n extension: 'png',\n });\n\n // Place image at top-left (e.g., A1:C4)\n worksheet.addImage(imageId, {\n tl: { col: 0, row: 0 },\n ext: { width: 145, height: 66 },\n editAs: 'oneCell'\n });\n }\n\n // Add title aligned in middle horizontally (merged across all columns)\n const titleRow = worksheet.getRow(currentRow);\n titleRow.getCell(4).value = title;\n titleRow.getCell(4).font = { bold: true, size: 16 };\n titleRow.getCell(4).alignment = { vertical: 'middle', horizontal: 'left' };\n\n const titleMergeEnd = String.fromCharCode(64 + headers.length);\n worksheet.mergeCells(`D${currentRow}:${titleMergeEnd}${currentRow}`);\n currentRow += 3; // Move past image space\n\n // Add metadata\n metadata.forEach(([label, value]) => {\n const row = worksheet.getRow(currentRow++);\n const cell = row.getCell(1);\n cell.value = {\n richText: [\n { text: `${label}: `, font: { bold: true } },\n { text: value ?? '', font: { bold: false } }\n ]\n };\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + headers.length)}${row.number}`);\n });\n\n worksheet.addRow([]);\n currentRow++;\n\n // Add table header row\n const headerRow = worksheet.getRow(currentRow++);\n headers.forEach((header, i) => {\n const cell = headerRow.getCell(i + 1);\n cell.value = header;\n cell.font = { bold: true };\n cell.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'D9D9D9' } };\n cell.alignment = { vertical: 'middle', horizontal: 'center' };\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n\n const dataStartRow = currentRow;\n rows.forEach(rowData => {\n const row = worksheet.getRow(currentRow++);\n rowData.forEach((value, i) => {\n const cell = row.getCell(i + 1);\n cell.value = value;\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n });\n\n // Auto column widths\n for (let i = 1; i <= headers.length; i++) {\n let maxLength = headers[i - 1].length;\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\n const val = worksheet.getRow(rowNum).getCell(i).value?.toString() || '';\n maxLength = Math.max(maxLength, val.length);\n }\n worksheet.getColumn(i).width = maxLength + 2;\n }\n\n workbook.xlsx.writeBuffer().then(buffer => {\n const blob = new Blob([buffer], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n });\n FileSaver.saveAs(blob, fileName);\n });\n }\n\n\n // ------------------------ CSV Universal ------------------------\n exportToCsvUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const metaRows = metadata.map(([k, v]) => [`${k}: ${v}`]);\n const csvContent = [\n [title],\n ...metaRows,\n [],\n headers,\n ...rows.map(row => row.map(value => `\"${value}\"`))\n ].map(e => e.join(',')).join('\\n');\n\n this.downloadFile(csvContent, fileName, 'text/csv');\n }\n\n private downloadFile(data: string, filename: string, type: string): void {\n const blob = new Blob([data], { type });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n private serviceUrl: string;\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n }\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}/api/v1/Report/AccGlDetailsEnquiryReport/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n return throwError(() => new Error(message));\n }\n }\n\n public getUserNameFromSessionStorage() : string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n }\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridReadyEvent } from 'ag-grid-community';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport 'jspdf-autotable';\r\nimport { ExportService } from '../../shared/export.service';\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 gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n selectedExportOption: string = 'excel';\r\n pageSize: number = 15;\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n dateTypeFilter: number = 1;\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 currentReportFormattedDate: any\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n rowData = [];\r\n\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n constructor(private exportService: ExportService, private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.http.get('assets/reports-lib/assets/svg-loaders/blue-tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\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 this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n\r\n this.loading = false;\r\n if (typeof error === 'function') {\r\n error = error();\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\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 }\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n onEnterKey(event: Event) {\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n }\r\n }\r\n\r\n getRowHeight(params: any): number {\r\n const description = params.data?.description || '';\r\n if (description.length > 50) {\r\n return 40;\r\n }\r\n return 20;\r\n }\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\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 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 async exportToPdf(): Promise<void> {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\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'}:`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n await this.exportService.exportToPdfUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n exportToExcel(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\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'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToExcelUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n }\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\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'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToCsvUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.csv');\r\n }\r\n\r\n}\r\n","<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 class=\"report-name\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n<div class=\"bootstrap-scope\" >\r\n <div class=\"main-container\">\r\n <div class=\"form-container\">\r\n <form class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(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 </div>\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n </div>\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" (click)=\"getAccGLDetailsReport()\">View Report</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <hr />\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <h1 class=\"title\">General Ledger Account Details Enquiry</h1>\r\n <div class=\"report-content\">\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\" />\r\n <button type=\"button\" class=\"btn btn-sm p-0 search-button\" (click)=\"onSearch()\">\r\n <img src=\"assets/reports-lib/assets/images/Search.svg\" alt=\"Search\" class=\"search-button-image\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select form-control compact-input\" name=\"selectedExportOption\" id=\"selectedExportOption\"\r\n [(ngModel)]=\"selectedExportOption\" (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" (click)=\"handleExport()\">Export</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"position: relative;\">\r\n <div class=\"d-flex align-items-center gap-2 entries-selecter-div\">\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"accGlDetailsEnquiryReportModel?.journalVoucherEntries?.length\">All</option>\r\n </select>\r\n <label class=\"entry-label\" for=\"pageSize\">Entries\r\n Per Page</label>\r\n </div>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\"\r\n [pagination]=\"true\" [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\"\r\n [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({})\r\nexport class ReportsLibRoutingModule {}\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 { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\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 AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule,\r\n RouterModule\r\n\r\n ],\r\n providers: [],\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.ExportService","i2.ReportService","i3"],"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/shared/export.service.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/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 { Injectable } from '@angular/core';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport * as ExcelJS from 'exceljs';\nimport * as FileSaver from 'file-saver';\n\n\ndeclare module 'jspdf' {\n interface jsPDF {\n autoTable: (options: any) => jsPDF;\n }\n}//assets/reports-lib/images/XMLogo.png\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n private readonly pdfFontSize = 10;\n private readonly pdfLineHeight = 7;\n private readonly pdfLeftMargin = 15;\n private logoBase64: string | undefined;\n\n constructor() {\n this.loadImageAsBase64('assets/reports-lib/images/XMLogo.png').then(base64 => {\n this.logoBase64 = base64;\n });\n }\n\n // ------------------------ Utility ------------------------\n private loadImageAsBase64(imagePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.src = imagePath;\n\n img.onload = () => {\n const scale = 6;\n const canvas = document.createElement('canvas');\n canvas.width = img.width * scale;\n canvas.height = img.height * scale;\n\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.scale(scale, scale);\n ctx.drawImage(img, 0, 0);\n const base64 = canvas.toDataURL('image/png', 1.0); // 1.0 = highest quality\n resolve(base64);\n } else {\n reject('Failed to get canvas context.');\n }\n };\n\n img.onerror = () => reject('Failed to load image: ' + imagePath);\n });\n }\n\n formatDate(value: any): string {\n const date = new Date(value);\n return isNaN(date.getTime()) ? '' :\n `${date.getDate().toString().padStart(2, '0')}/${(date.getMonth() + 1).toString().padStart(2, '0')}/${date.getFullYear()}`;\n }\n formatDateTime(date: Date): string {\n return `${date.getDate().toString().padStart(2, '0')}/` +\n `${(date.getMonth() + 1).toString().padStart(2, '0')}/` +\n `${date.getFullYear()} ` +\n `${date.getHours().toString().padStart(2, '0')}:` +\n `${date.getMinutes().toString().padStart(2, '0')}`;\n }\n\n generateReportMetadata(metadata: [string, string][]): [string, string][] {\n return metadata.filter(([_, value]) => value !== undefined && value !== null);\n }\n\n prepareExportTable(data: any[], columnDefs: any[], options: {\n excludeFields?: string[],\n currencyFields?: string[]\n } = {}): { headers: string[], rows: any[][] } {\n const { excludeFields = ['srno', 'serial', 'action'], currencyFields = [] } = options;\n\n const filteredColumns = columnDefs.filter(col =>\n col.field &&\n !excludeFields.some(ex => col.field.toLowerCase().includes(ex)) &&\n !excludeFields.some(ex => col.headerName?.toLowerCase().includes(ex))\n );\n\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field)];\n\n const rows = data.map((row, index) => {\n const rowData = filteredColumns.map(col => {\n let value = row[col.field];\n const fieldName = col.field?.toLowerCase() || '';\n\n // Handle various date field names\n if (\n (fieldName.includes('date') ||\n fieldName.includes('businessdate')) &&\n value\n ) {\n value = this.formatDate(value);\n }\n\n // Format currency fields\n if (currencyFields.includes(col.field) && value != null) {\n value = parseFloat(value).toFixed(3);\n }\n return value ?? '';\n });\n return [index + 1, ...rowData];\n });\n return { headers, rows };\n }\n\n // ------------------------ PDF Universal ------------------------\n async exportToPdfUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): Promise<void> {\n const doc = new jsPDF({ orientation: 'landscape', unit: 'mm', format: [400, 210] });\n\n const logoWidth = 38.4, logoHeight = 17.5, logoX = 15, logoY = 10;\n const pageWidth = doc.internal.pageSize.width;\n const titleY = 18;\n\n if (this.logoBase64) {\n doc.addImage(this.logoBase64, 'PNG', logoX, logoY, logoWidth, logoHeight);\n }\n\n doc.setFontSize(15);\n doc.setFont('helvetica', 'bold');\n doc.text(title, pageWidth / 2, titleY, { align: 'center' });\n\n let currentY = titleY + 14;\n doc.setFontSize(this.pdfFontSize);\n metadata.forEach(([label, value], i) => {\n const y = currentY + i * this.pdfLineHeight;\n doc.setFont('helvetica', 'bold');\n doc.text(label, this.pdfLeftMargin, y);\n const labelWidth = doc.getTextWidth(label + ' ');\n doc.setFont('helvetica', 'normal');\n doc.text(value, this.pdfLeftMargin + labelWidth, y);\n });\n currentY += metadata.length * this.pdfLineHeight + 5;\n\n const columnStyles: { [key: number]: any } = {};\n headers.forEach((_, i) => columnStyles[i] = { cellWidth: 'auto' });\n\n doc.autoTable({\n head: [headers],\n body: rows,\n startY: currentY,\n theme: 'grid',\n headStyles: {\n fillColor: [220, 220, 220], textColor: 0,\n fontStyle: 'bold', fontSize: 9, halign: 'center',\n },\n bodyStyles: { fontSize: 8, fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n styles: { cellPadding: 2, overflow: 'linebreak', minCellHeight: 6 },\n columnStyles\n });\n\n doc.save(fileName);\n }\n\n // ------------------------ Excel Universal ------------------------\n exportToExcelUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet(title);\n\n let currentRow = 1;\n\n // Add image if available\n if (this.logoBase64) {\n const base64Data = this.logoBase64.replace(/^data:image\\/\\w+;base64,/, '');\n const imageId = workbook.addImage({\n base64: base64Data,\n extension: 'png',\n });\n\n // Place image at top-left (e.g., A1:C4)\n worksheet.addImage(imageId, {\n tl: { col: 0, row: 0 },\n ext: { width: 145, height: 66 },\n editAs: 'oneCell'\n });\n }\n\n // Add title aligned in middle horizontally (merged across all columns)\n const titleRow = worksheet.getRow(currentRow);\n titleRow.getCell(4).value = title;\n titleRow.getCell(4).font = { bold: true, size: 16 };\n titleRow.getCell(4).alignment = { vertical: 'middle', horizontal: 'left' };\n\n const titleMergeEnd = String.fromCharCode(64 + headers.length);\n worksheet.mergeCells(`D${currentRow}:${titleMergeEnd}${currentRow}`);\n currentRow += 3; // Move past image space\n\n // Add metadata\n metadata.forEach(([label, value]) => {\n const row = worksheet.getRow(currentRow++);\n const cell = row.getCell(1);\n cell.value = {\n richText: [\n { text: `${label}: `, font: { bold: true } },\n { text: value ?? '', font: { bold: false } }\n ]\n };\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + headers.length)}${row.number}`);\n });\n\n worksheet.addRow([]);\n currentRow++;\n\n // Add table header row\n const headerRow = worksheet.getRow(currentRow++);\n headers.forEach((header, i) => {\n const cell = headerRow.getCell(i + 1);\n cell.value = header;\n cell.font = { bold: true };\n cell.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'D9D9D9' } };\n cell.alignment = { vertical: 'middle', horizontal: 'center' };\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n\n const dataStartRow = currentRow;\n rows.forEach(rowData => {\n const row = worksheet.getRow(currentRow++);\n rowData.forEach((value, i) => {\n const cell = row.getCell(i + 1);\n cell.value = value;\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n });\n\n // Auto column widths\n for (let i = 1; i <= headers.length; i++) {\n let maxLength = headers[i - 1].length;\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\n const val = worksheet.getRow(rowNum).getCell(i).value?.toString() || '';\n maxLength = Math.max(maxLength, val.length);\n }\n worksheet.getColumn(i).width = maxLength + 2;\n }\n\n workbook.xlsx.writeBuffer().then(buffer => {\n const blob = new Blob([buffer], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n });\n FileSaver.saveAs(blob, fileName);\n });\n }\n\n\n // ------------------------ CSV Universal ------------------------\n exportToCsvUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const metaRows = metadata.map(([k, v]) => [`${k}: ${v}`]);\n const csvContent = [\n [title],\n ...metaRows,\n [],\n headers,\n ...rows.map(row => row.map(value => `\"${value}\"`))\n ].map(e => e.join(',')).join('\\n');\n\n this.downloadFile(csvContent, fileName, 'text/csv');\n }\n\n private downloadFile(data: string, filename: string, type: string): void {\n const blob = new Blob([data], { type });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n private serviceUrl: string;\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n }\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}/api/v1/Report/AccGlDetailsEnquiryReport/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n return throwError(() => new Error(message));\n }\n }\n\n public getUserNameFromSessionStorage() : string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n }\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridReadyEvent } from 'ag-grid-community';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport 'jspdf-autotable';\r\nimport { ExportService } from '../../shared/export.service';\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 gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n selectedExportOption: string = 'excel';\r\n pageSize: number = 15;\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n dateTypeFilter: number = 1;\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 currentReportFormattedDate: any\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n rowData = [];\r\n\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n constructor(private exportService: ExportService, private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.http.get('assets/reports-lib/svg-loaders/blue-tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\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 this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n\r\n this.loading = false;\r\n if (typeof error === 'function') {\r\n error = error();\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\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 }\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n onEnterKey(event: Event) {\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n }\r\n }\r\n\r\n getRowHeight(params: any): number {\r\n const description = params.data?.description || '';\r\n if (description.length > 50) {\r\n return 40;\r\n }\r\n return 20;\r\n }\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\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 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 async exportToPdf(): Promise<void> {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\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'}:`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n await this.exportService.exportToPdfUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n exportToExcel(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\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'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToExcelUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n }\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\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'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToCsvUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.csv');\r\n }\r\n\r\n}\r\n","<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 class=\"report-name\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n<div class=\"bootstrap-scope\" >\r\n <div class=\"main-container\">\r\n <div class=\"form-container\">\r\n <form class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(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 </div>\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n </div>\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" (click)=\"getAccGLDetailsReport()\">View Report</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <hr />\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <h1 class=\"title\">General Ledger Account Details Enquiry</h1>\r\n <div class=\"report-content\">\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\" />\r\n <button type=\"button\" class=\"btn btn-sm p-0 search-button\" (click)=\"onSearch()\">\r\n <img src=\"assets/reports-lib/images/Search.svg\" alt=\"Search\" class=\"search-button-image\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select form-control compact-input\" name=\"selectedExportOption\" id=\"selectedExportOption\"\r\n [(ngModel)]=\"selectedExportOption\" (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" (click)=\"handleExport()\">Export</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"position: relative;\">\r\n <div class=\"d-flex align-items-center gap-2 entries-selecter-div\">\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"accGlDetailsEnquiryReportModel?.journalVoucherEntries?.length\">All</option>\r\n </select>\r\n <label class=\"entry-label\" for=\"pageSize\">Entries\r\n Per Page</label>\r\n </div>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\"\r\n [pagination]=\"true\" [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\"\r\n [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({})\r\nexport class ReportsLibRoutingModule {}\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 { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\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 AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule,\r\n RouterModule\r\n\r\n ],\r\n providers: [],\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.ExportService","i2.ReportService","i3"],"mappings":"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"}
|