poster-prro-kit
Version:
Цей Kit призначений для роботи з PRRO, а саме для генерації XML документів для податкової, генерації фіскальних чеків для термопринтерів, генерації документів для PRRO в офлайн режимі, розрахунку податків та генераціі посилання на фіскальний чек в кабін
43 lines (34 loc) • 1.67 kB
JavaScript
import defaultReceiptConfig from "../config/receipt.js";
import getFiscalCompanyData from "../templateBlocks/fiscalCompanyBlock.js";
import getProductsData from "../templateBlocks/productsBlock.js";
import getSummaryBlock from "../templateBlocks/summaryBlock.js";
import getSstData from "../templateBlocks/sstBlock.js";
import getFiscalReceiptType from "../templateBlocks/fiscalReceiptTypeBlock.js";
import headerServiceBlock from "../templateBlocks/headerServiceBlock.js";
import footerServiceBlock from "../templateBlocks/footerServiceBlock.js";
import getSmartReceiptFooterBlock from "../templateBlocks/smartReceiptFooterBlock.js";
const fiscalCompanyData = ({ cashboxData, cashier }) =>
getFiscalCompanyData({ ...cashboxData, cashier });
const headerServiceData = (data) => headerServiceBlock(data.headerServiceData);
const footerServiceData = (data) => footerServiceBlock(data.footerServiceData);
const operationType = (data) => getFiscalReceiptType(data.type);
const productsData = (data) => getProductsData(data.productsData);
const summaryData = (data) =>
getSummaryBlock({
taxesData: data.taxesData,
roundData: data.roundData,
currency: data.receiptConfig?.currency || defaultReceiptConfig.currency,
});
const sstData = (data) => (data.sstData ? getSstData(data.sstData) : []);
const getFiscalReceiptData = (data, isHtml) =>
[
...fiscalCompanyData(data),
...headerServiceData(data),
operationType(data),
...productsData(data),
...sstData(data),
...summaryData(data),
...footerServiceData(data),
...getSmartReceiptFooterBlock(data, isHtml),
].filter(Boolean);
export default getFiscalReceiptData;