feat: wip financial reports printing

This commit is contained in:
Ahmed Bouhuolia
2024-02-18 17:32:17 +02:00
parent 465bb66d6b
commit 3509026ad8
8 changed files with 14 additions and 9 deletions

View File

@@ -22,9 +22,11 @@ export class InventoryDetailsMetaInjectable {
const formattedToDay = moment(query.toDate).format('YYYY/MM/DD'); const formattedToDay = moment(query.toDate).format('YYYY/MM/DD');
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDay}`; const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDay}`;
const sheetName = 'Inventory Item Details';
return { return {
...commonMeta, ...commonMeta,
sheetName: 'Inventory Details', sheetName,
formattedFromDate, formattedFromDate,
formattedToDay, formattedToDay,
formattedDateRange, formattedDateRange,

View File

@@ -22,9 +22,11 @@ export class SalesByItemsMeta {
const formattedFromDate = moment(query.fromDate).format('YYYY/MM/DD'); const formattedFromDate = moment(query.fromDate).format('YYYY/MM/DD');
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDate}`; const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDate}`;
const sheetName = 'Sales By Items';
return { return {
...commonMeta, ...commonMeta,
sheetName: 'Purchases By Items', sheetName,
formattedFromDate, formattedFromDate,
formattedToDate, formattedToDate,
formattedDateRange, formattedDateRange,

View File

@@ -44,7 +44,6 @@ export class SalesTaxLiabilitySummaryApplication {
* @param {number} tenantId * @param {number} tenantId
* @param {SalesTaxLiabilitySummaryQuery} query * @param {SalesTaxLiabilitySummaryQuery} query
* @returns {Promise<Buffer>} * @returns {Promise<Buffer>}
*
*/ */
public xlsx( public xlsx(
tenantId: number, tenantId: number,

View File

@@ -16,7 +16,7 @@ export class SalesTaxLiabilitySummaryMeta {
public async meta(tenantId: number, query: SalesTaxLiabilitySummaryQuery) { public async meta(tenantId: number, query: SalesTaxLiabilitySummaryQuery) {
const commonMeta = await this.financialSheetMeta.meta(tenantId); const commonMeta = await this.financialSheetMeta.meta(tenantId);
const formattedToDate = moment(query.toDate).format('YYYY/MM/DD'); const formattedToDate = moment(query.toDate).format('YYYY/MM/DD');
const formattedFromDate = moment(query.toDate).format('YYYY/MM/DD'); const formattedFromDate = moment(query.fromDate).format('YYYY/MM/DD');
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDate}`; const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDate}`;
const sheetName = 'Sales Tax Liability Summary'; const sheetName = 'Sales Tax Liability Summary';

View File

@@ -6,10 +6,10 @@ import {
FormattedMessage as T, FormattedMessage as T,
} from '@/components'; } from '@/components';
import { usePurchasesByItemsPdfExport } from '@/hooks/query'; import { usePurchasesByItemsPdfExport } from '@/hooks/query';
import { usePurchasesByItemsQuery } from '../../utils'; import { usePurchaseByItemsContext } from '../../PurchasesByItemsProvider';
export default function PurchasesByItemsPdfDialogContent() { export default function PurchasesByItemsPdfDialogContent() {
const { httpQuery } = usePurchasesByItemsQuery(); const { httpQuery } = usePurchaseByItemsContext();
const { isLoading, pdfUrl } = usePurchasesByItemsPdfExport(httpQuery); const { isLoading, pdfUrl } = usePurchasesByItemsPdfExport(httpQuery);
return ( return (

View File

@@ -40,4 +40,5 @@ function VendorsBalanceSummaryProvider({ filter, ...props }) {
const useVendorsBalanceSummaryContext = () => const useVendorsBalanceSummaryContext = () =>
React.useContext(VendorsBalanceSummaryContext); React.useContext(VendorsBalanceSummaryContext);
export { VendorsBalanceSummaryProvider, useVendorsBalanceSummaryContext }; export { VendorsBalanceSummaryProvider, useVendorsBalanceSummaryContext };

View File

@@ -20,7 +20,7 @@ function VendorBalancePdfDialogRoot({ dialogName, payload, isOpen }) {
return ( return (
<Dialog <Dialog
name={dialogName} name={dialogName}
title={'Vendor Balance Print Preview'} title={'Vendor Balance Summary Print Preview'}
className={classNames(CLASSES.DIALOG_PDF_PREVIEW)} className={classNames(CLASSES.DIALOG_PDF_PREVIEW)}
autoFocus={true} autoFocus={true}
canEscapeKeyClose={true} canEscapeKeyClose={true}

View File

@@ -2,7 +2,7 @@
import React from 'react'; import React from 'react';
import useApiRequest from './useRequest'; import useApiRequest from './useRequest';
export const useRequestPdf = (url) => { export const useRequestPdf = (httpProps) => {
const apiRequest = useApiRequest(); const apiRequest = useApiRequest();
const [isLoading, setIsLoading] = React.useState(false); const [isLoading, setIsLoading] = React.useState(false);
const [isLoaded, setIsLoaded] = React.useState(false); const [isLoaded, setIsLoaded] = React.useState(false);
@@ -12,9 +12,10 @@ export const useRequestPdf = (url) => {
React.useEffect(() => { React.useEffect(() => {
setIsLoading(true); setIsLoading(true);
apiRequest apiRequest
.get(url, { .http({
headers: { accept: 'application/pdf' }, headers: { accept: 'application/pdf' },
responseType: 'blob', responseType: 'blob',
...httpProps,
}) })
.then((response) => { .then((response) => {
// Create a Blob from the PDF Stream. // Create a Blob from the PDF Stream.