import React from 'react'; import { useDispatch, useSelector } from 'react-redux'; import Qrcode from '../../../../Images/Qrcode.png'; import { extractLastNumber, extractLastNumberOrderId, } from '../../../../Services/Others'; import { GlobalprintSlNo, GlobalprintItem, GlobalprintMRP, GlobalprintDiscount, GlobalprintQuantity, GlobalprintRate, GlobalprintAmount, GlobalprintHsnCode, GlobalprintQrcodet, GlobalPritdummyData, GloabalFieldDetails, changeReprintDataFound, GlobalprintSignature, GlobalprinttermsAndConditions, GlobalSignatureImage, Globalnotes, GlobalthemeFormat, GlobalBillName, GlobalprintCashierName, GlobalprintLogo, GlobalprintCredit, GlobalprintTax, GlobalSelectedPrintHeaderColor, GlobalSelectedPrintHeaderFontColor, GlobalSelectedTableHeaderColor, GlobalSelectedTableHeaderFontColor, GlobalSelectedTableBodyFontColor, GlobalSelectedTableBodyColor, GlobalRowType, GlobalSelectedFooterColor, GlobalSelectedFooterFontColor, GlobalSelectedNetAmountColor, GlobalSelectedNetAmountFontColor, } from '../../../../Features/ThemeChange/ThemeChange'; import Logo from '../../../../Images/Logo.jpg'; import { GlobalUpiIDprint, PreferenceData, } from '../../../../Features/BookingScreen/BookingData/BookingData'; import '../../../../Styles/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle9.scss'; import QRCode from 'react-qr-code'; import signature from '../../../../Images/signatureimage.jpg'; import { ApplicationPreferences } from '../../../../Features/BrachLogin/BranchLogin'; import { isMobile } from 'react-device-detect'; import { settingDataSelector } from '../../../../Features/PreferenceMaster/PreferenceMaster'; const PrintStyle9 = ({ index, ExtraChargeTotal, Date1, totalQuantityFilter, CashierName, totalQuantity, OrderDetailGST, OrderDetailIGST, OrderDetailVAT, table2Data, PaymentStatus, base64Image, PrintLogo, PrintGreeting, printDatas, isPdf, sportsAppPreference, SalesModePref, MembershipApplied = null, }) => { const dispatch = useDispatch(); const GlobalUpiID = useSelector(GlobalUpiIDprint); const FieldDetails = useSelector(GloabalFieldDetails); const SLNO = FieldDetails?.['Sl.No']; const Item = FieldDetails?.['Item']; const MRP = FieldDetails?.['MRP']; const Discount = FieldDetails?.['Discount']; const Tax = FieldDetails?.['Tax']; const Quantity = FieldDetails?.['Quantity']; const Rate = FieldDetails?.['Rate']; const Amount = FieldDetails?.['Amount']; const HsnCode = FieldDetails?.['HsnCode']; const Qrcodet = FieldDetails?.['Qrcode']; const CashierNameField = FieldDetails?.['CashierName']; const LogoField = FieldDetails?.['Logo']; const CreditDetails = FieldDetails?.['Credit details']; const WeightasKg = FieldDetails?.['Weight']; const GlobalSlNo = useSelector(GlobalprintSlNo); const GlobalItem = useSelector(GlobalprintItem); const GlobalMRP = useSelector(GlobalprintMRP); const GlobalDiscount = useSelector(GlobalprintDiscount); const GlobalTax = useSelector(GlobalprintTax); const GlobalQuantity = useSelector(GlobalprintQuantity); const GlobalRate = useSelector(GlobalprintRate); const GlobalAmount = useSelector(GlobalprintAmount); const GlobalHsnCode = useSelector(GlobalprintHsnCode); const GlobalQrcodet = useSelector(GlobalprintQrcodet); const GlobaldummyData = useSelector(GlobalPritdummyData); const GlobalSignature = useSelector(GlobalprintSignature); const GlobaltermsAndConditions = useSelector(GlobalprinttermsAndConditions); const GlobalSignatureImages = useSelector(GlobalSignatureImage); const GlobalIsnotes = useSelector(Globalnotes); const GlobalthemeFormatr = useSelector(GlobalthemeFormat); const GlobalBilltext = useSelector(GlobalBillName); const appPreferences = useSelector(ApplicationPreferences); const GlobalCashierName = useSelector(GlobalprintCashierName); const GlobalLogo = useSelector(GlobalprintLogo); const GlobalCredit = useSelector(GlobalprintCredit); const SettingData = useSelector(PreferenceData); const UomPrint = SettingData?.[0]?.SettingDtlDetails?.filter( (i) => i.SettingIdName === 'PrintUom' )?.[0]; const estimatePrintHeader = SettingData?.[0]?.SettingDtlDetails?.find( (setting) => setting?.SettingIdName?.toLowerCase() === 'estimateprintheader' )?.SettingValue === 'Y'; const estimateTitle = SettingData?.[0]?.SettingDtlDetails?.find( (setting) => setting?.SettingIdName?.toLowerCase() === 'estimatetitle' )?.SettingValue === 'Y'; const bookingTypePreference = appPreferences?.find( (preference) => preference?.PreferredCatName === 'Booking Type' )?.PreferenceCatDetails; const dinePreference = bookingTypePreference?.find( (type) => type?.PreferredSubCatName?.toLowerCase() === 'dine in' && type?.PreferredStatus === 'Y' ); const takeAwayPreference = bookingTypePreference?.find( (type) => type?.PreferredSubCatName?.toLowerCase() === 'take away' && type?.PreferredStatus === 'Y' ); const paymentTypeUPI = PaymentStatus?.find( (ps) => ps.PaymentTypeName === 'UPI' ); const isEditedBill = PaymentStatus?.some((payment) => { const type = payment?.AdjustmentType?.toLowerCase(); return ( (type === 'extra' || type === 'refund') && payment?.BeforeAdjustment != null && payment?.AfterAdjustment != null ); }); const lastTransaction = PaymentStatus?.find( (ps) => ps.PaymentStatus === 'S' && ps?.LastOrderTran === 'Y' ); const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); const SelectedHeaderFontColor = useSelector(GlobalSelectedPrintHeaderFontColor); const SelectedTableHeaderColor = useSelector(GlobalSelectedTableHeaderColor); const SelectedTableHeaderFontColor = useSelector(GlobalSelectedTableHeaderFontColor); const SelectedTableBodyColor = useSelector(GlobalSelectedTableBodyColor); const SelectedTableBodyFontColor = useSelector(GlobalSelectedTableBodyFontColor); const SelectedRowType = useSelector(GlobalRowType); const SelectedTableFooterColor = useSelector(GlobalSelectedFooterColor); const SelectedTableFooterFontColor = useSelector(GlobalSelectedFooterFontColor); const SelectedNetAmountColor = useSelector(GlobalSelectedNetAmountColor); const SelectedNetAmountFontColor = useSelector(GlobalSelectedNetAmountFontColor); let printColors = printDatas?.PrintColors; const headerColor = printColors?.find(obj => obj.headerColor)?.headerColor; const tableHeaderColor = printColors?.find(obj => obj.tableHeaderColor)?.tableHeaderColor; const tableBodyColor = printColors?.find(obj => obj.tableBodyColor)?.tableBodyColor; const footerColor = printColors?.find(obj => obj.footerColor)?.footerColor; const netAmtColor = printColors?.find(obj => obj.netAmtColor)?.netAmtColor; let TermsAndConditions = printDatas?.TermsandConditions; let SignatureImg = printDatas?.Signature; let Notestext = printDatas?.Notes; let BillName = printDatas?.PrintHdrName; let FormatTheme = printDatas?.PrintType == 'S' ? true : false; let PageSize = printDatas?.PageSize; const Signature = FieldDetails?.['signature']; const TermsnAdCondition = FieldDetails?.['terms&conditions']; const PackageDetails = table2Data?.PackageDtl; let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); const keysLength = Object.keys(table2Data ?? {}).length; if (keysLength > 0) { dispatch(changeReprintDataFound(true)); } const currentDate = new Date(); const day = currentDate.getDate().toString().padStart(2, '0'); const monthNames = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', ]; const monthIndex = currentDate.getMonth(); const year = currentDate.getFullYear().toString().slice(-2); const formattedDate = `${day}-${monthNames[monthIndex]}-${year}`; const TakeawayData = table2Data?.productDetails?.filter( (item) => item.BookingTypeName?.toLowerCase() === 'takeaway' ); const DineInData = table2Data?.productDetails?.filter( (item) => item.BookingTypeName?.toLowerCase() === 'dine in' ); const TakeawayTotal = TakeawayData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, 0 ); const DineInTotal = DineInData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, 0 ); const aggregatedPayments = PaymentStatusSuccess?.reduce( (acc, paymentdata) => { const paymentType = paymentdata?.PaymentTypeName; const amount = Number(paymentdata?.Amount); if (acc[paymentType]) { acc[paymentType] += amount; } else { acc[paymentType] = amount; } return acc; }, {} ); const productsData = table2Data?.productDetails || []; const offers = table2Data?.OrderOfferDetails || []; let TotalOfferAmount = 0; // Calculate SalesWiseOffers total amount offers.forEach((offer) => { if (offer.TableName === 'SalesWiseOffers') { TotalOfferAmount += offer.OfferAmount; } }); const hasMappedOffer = offers.some((offer) => ['ItemWiseOffers', 'BundleOffers', 'QuantityWiseOffers'].includes( offer.TableName ) ); if (hasMappedOffer) { const productTotal = productsData?.reduce( (acc, item) => acc + (item?.Type != 'C' ? item.OfferAmt : item.OfferValue || 0), 0 ); TotalOfferAmount += productTotal; } else { const Combothere = productsData?.filter((item) => item?.Type == 'C'); const CombothereTotal = Combothere?.reduce( (acc, item) => acc + (item.OfferValue || 0), 0 ); TotalOfferAmount += CombothereTotal; } const products = [ { ProdName: 'ITEM 1', Rate: 88.0, SalesQty: 2, MRP: 100, TotalAmt: 176, discount: 0, HSN: '01', Size: 250, UomName: 'g', ProdTaxPercentage: 5, }, { ProdName: 'ITEM 2', Rate: 300.0, SalesQty: 1, MRP: 350, TotalAmt: 300, discount: 0, HSN: '02', Size: 250, UomName: 'g', ProdTaxPercentage: 5, }, { ProdName: 'ITEM 3', Rate: 200.0, SalesQty: 1, MRP: 250, TotalAmt: 200, discount: 0, HSN: '03', Size: 250, UomName: 'g', ProdTaxPercentage: 0, }, { ProdName: 'ITEM 4', Rate: 30.0, SalesQty: 1, MRP: 50, TotalAmt: 30, discount: 0, HSN: '04', Size: 250, UomName: 'g', ProdTaxPercentage: 18, }, { ProdName: 'ITEM 5', Rate: 30.0, SalesQty: 1, MRP: 50, TotalAmt: 30, discount: 0, HSN: '05', Size: 250, UomName: 'g', ProdTaxPercentage: 40, }, { ProdName: 'ITEM 6', Rate: 130.0, SalesQty: 1, MRP: 150, TotalAmt: 130, discount: 0, HSN: '06', Size: 250, UomName: 'g', ProdTaxPercentage: 0, }, { ProdName: 'ITEM 7', Rate: 230.0, SalesQty: 1, MRP: 250, TotalAmt: 230, discount: 0, HSN: '08', Size: 250, UomName: 'g', ProdTaxPercentage: 5, }, ]; const chunkSize = PageSize == 'A5' ? 10 : 16; let dataSource = []; if (GlobaldummyData || TakeawayData?.length > 0) { dataSource = GlobaldummyData ? products : TakeawayData; } else if (DineInData?.length > 0) { dataSource = DineInData; } // Paginate the data const paginatedChunks = []; for (let i = 0; i < dataSource.length; i += chunkSize) { paginatedChunks.push(dataSource.slice(i, i + chunkSize)); } const lastChunkRows = paginatedChunks.length > 0 ? paginatedChunks[paginatedChunks.length - 1].length : 0; const shouldFooterBeOnNewPage = lastChunkRows > (PageSize == 'A5' ? 5 : 10); const headerStyle = { backgroundColor: GlobaldummyData ? SelectedHeaderColor : headerColor?.background, color: GlobaldummyData ? SelectedHeaderFontColor : headerColor?.font, } const tableHeaderStyle = { backgroundColor: GlobaldummyData ? SelectedTableHeaderColor : tableHeaderColor?.background, color: GlobaldummyData ? SelectedTableHeaderFontColor : tableHeaderColor?.font, } const tableBodyStyle = { backgroundColor: GlobaldummyData ? SelectedTableBodyColor : tableBodyColor?.background, color: GlobaldummyData ? SelectedTableBodyFontColor : tableBodyColor?.font, } const rowtypeStyle = GlobaldummyData ? SelectedRowType : tableBodyColor?.rowType; const footerColorStyle = { backgroundColor: GlobaldummyData ? SelectedTableFooterColor : footerColor?.background, color: GlobaldummyData ? SelectedTableFooterFontColor : footerColor?.font, } const netAmountStyle = { backgroundColor: GlobaldummyData ? SelectedNetAmountColor : netAmtColor?.background, color: GlobaldummyData ? SelectedNetAmountFontColor : netAmtColor?.font, } return ( <> {FormatTheme ? (
{paginatedChunks.map((dataChunk, chunkIndex) => (
0 ? ' print-page-break' : ''}` } style={{ display: 'flex', flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && !shouldFooterBeOnNewPage && FormatTheme ? 'space-between' : '', height: isMobile ? '295mm' : FormatTheme ? PageSize == 'A5' ? '170mm' : '257mm' : '', }} key={chunkIndex} > {/*
*/}
{!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobalLogo && GlobaldummyData ? ( image ) : null} {base64Image && (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( image ) : null}
{GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName}
Low Prices... Love the Saving...
{GlobaldummyData ? 'BranchAddress, Town- 635XXX City - State' : (table2Data?.AddressDetails?.[0]?.Address1 || '') + (table2Data?.AddressDetails?.[0]?.City ? (table2Data?.AddressDetails?.[0]?.Address1 && table2Data?.AddressDetails?.[0]?.City ? '-' : '') + table2Data?.AddressDetails?.[0]?.City : '') + (table2Data?.AddressDetails?.[0]?.Zip ? (table2Data?.AddressDetails?.[0]?.City && table2Data?.AddressDetails?.[0]?.Zip ? '-' : '') + table2Data?.AddressDetails?.[0]?.Zip : '')}
{' '} Mobile : +91{' '} {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile}
{table2Data?.OrderType === 'E' && estimateTitle && (
Estimate{' '} {/* {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} */}
)} {table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? 'Cash' : BillName ? BillName : PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : ''}{' '} {/* {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} */}
)}
{' '} BILL NO : {GlobaldummyData ? '553' : table2Data?.OrderId && extractLastNumberOrderId( table2Data?.OrderId, table2Data?.FYStatus )}
{SalesModePref?.SettingValue == 'Y' &&
{' '} Name : {table2Data?.SalesMode == "R" ? "RT" : "WS"}{' '}
}
{' '} {GlobaldummyData ? formattedDate : Date1}{' '}
)} {!estimatePrintHeader && table2Data?.OrderType === 'E' && estimateTitle && (
Estimate{' '} {/* {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} */}
)}
{(TakeawayData?.length > 0 || GlobaldummyData) && ( <> {takeAwayPreference && (
Take Away
)} {GlobaldummyData ? GlobalSlNo && ( ) : SLNO && } {GlobaldummyData ? GlobalItem && ( ) : Item && } {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} {dataChunk?.map((item, index) => { return ( {GlobaldummyData ? GlobalSlNo && : SLNO && ( )} {GlobaldummyData ? GlobalItem && : Item && ( )} {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} ); })}
S.NoS.NoItemItem Qty {WeightasKg ? 'Qty/Kg' : 'Qty'} HSN HSN MRP MRP Dis{' '} Dis{' '} Tax % Tax % Rate Rate Amt Amt
{index + 1} {chunkIndex * chunkSize + index + 1} {item?.ProdName}
{item?.ProdName}
{(() => { const packages = PackageDetails?.filter(pkg => pkg.ProdId === item.ProdId) || []; const identifiers = item?.ProductIdentifierDtls || []; return packages.length > 0 ? (
{/* Package Details */} {packages.map((pkg, i) => ( {pkg.ParcelCount} PCS {pkg.ParcelQty} PACK ({pkg.ParcelType}) ))} {item?.BrandName &&
{item.BrandName}
} {/* Identifiers */}
{identifiers.map((id, i) => (
{id.SerialNumber &&
{id.SerialNumber}
} {(id.IMEI1 || id.IMEI2) && (
{[id.IMEI1, id.IMEI2].filter(Boolean).join(",")}
)}
))} {identifiers.find(d => d.SerialNumber || d.IMEI1 || d.IMEI2)?.Description && (
{identifiers.find(d => d.SerialNumber || d.IMEI1 || d.IMEI2).Description}
)}
) : (
{/* Size + UOM */} {UomPrint?.SettingValue === 'Y' && (
({item?.Size || "1"}{" "} {item?.SinglePc === "Y" ? "PCS" : item?.Type !== "C" ? item?.UomName : "COMBO"})
)} {item?.BrandName &&
{item.BrandName}
} {/* Identifiers */} {identifiers.map((id, i) => (
{id.SerialNumber &&
{id.SerialNumber}
} {(id.IMEI1 || id.IMEI2) && (
{[id.IMEI1, id.IMEI2].filter(Boolean).join(",")}
)}
))} {identifiers.find(d => d.SerialNumber || d.IMEI1 || d.IMEI2)?.Description && (
{identifiers.find(d => d.SerialNumber || d.IMEI1 || d.IMEI2).Description}
)}
); })()}
{item?.SalesQty} {item?.SalesQty} {item?.HSN} {item?.HSN} {item?.MRP} {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} {item.discount} {item?.Type != 'C' ? item?.OfferAmt || 0 : item?.OfferValue || 0} {item?.ProdTaxPercentage} {item?.ProdTaxPercentage || 0} {item?.Rate} {item?.Rate} {item?.TotalAmt} {item?.Type != 'C' ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
)} {DineInData?.length > 0 && dinePreference && ( <>
Dine In
{GlobaldummyData ? GlobalSlNo && ( ) : SLNO && } {GlobaldummyData ? GlobalItem && ( ) : Item && } {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} {dataChunk?.map((item, index) => { return ( {GlobaldummyData ? GlobalSlNo && : SLNO && ( )} {GlobaldummyData ? GlobalItem && : Item && ( )} {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} ); })}
S.NoS.NoItemItem Qty {WeightasKg ? 'Qty/Kg' : 'Qty'} HSN HSN MRP MRP Dis{' '} Dis{' '} Tax % Tax % Rate Rate Amt Amt
{index + 1} {chunkIndex * chunkSize + index + 1} {item?.ProdName}
{item?.ProdName}
{UomPrint?.SettingValue === 'Y' && (
({item?.Size ? item?.Size : '1'}{' '} {item?.SinglePc == 'Y' ? 'PCS' : item?.Type != 'C' ? item?.UomName : 'COMBO'})
)} {item?.BrandName &&
{item.BrandName}
}
{item?.SalesQty} {item?.SalesQty} {item?.HSN} {item?.HSN} {item?.MRP} {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} {item.discount} {item?.Type != 'C' ? item?.OfferAmt || 0 : item?.OfferValue || 0} {item?.ProdTaxPercentage} {item?.ProdTaxPercentage || 0} {item?.Rate} {item?.Rate} {item?.TotalAmt} {item?.Type != 'C' ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
)}
{chunkIndex === paginatedChunks.length - 1 && !shouldFooterBeOnNewPage && FormatTheme && ( <>
{DineInData?.length > 0 && TakeawayData?.length > 0 && takeAwayPreference && (
Take Away :
{Number(TakeawayTotal).toFixed(2)}
)} {DineInData?.length > 0 && TakeawayData?.length > 0 && dinePreference && (
Dine In :
{Number(DineInTotal).toFixed(2)}
)} {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && (
Off :
{GlobaldummyData ? '1,066' : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)}
)}
Amount :
{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
Items :
{GlobaldummyData ? '8' : totalQuantityFilter?.length}
Qty :
{GlobaldummyData ? '9' : totalQuantity}

Net Amount:
{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
{table2Data?.OrderType === 'E' ? ( '' ) : (
{((OrderDetailGST?.length > 0 && OrderDetailGST?.[0]?.TaxAmt > 0) || (OrderDetailIGST?.length > 0 && OrderDetailIGST?.[0]?.TaxAmt > 0) || (OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 0)) && table2Data?.NetAmount !== 0 && ( <>
--------- GST Breakup Details -----------
{OrderDetailGST?.length > 0 && OrderDetailGST?.[0]?.TaxAmt > 0 && ( {OrderDetailGST?.map((item) => ( ))}
Taxable Amount CGST SGST Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.CGST).toFixed(2)} {Number(item.SGST).toFixed(2)} {Number(item.TotalAmt).toFixed( 2 )}
)} {OrderDetailIGST?.length > 0 && OrderDetailIGST?.[0]?.TaxAmt > 0 && ( <>
{OrderDetailIGST?.map((item) => ( ))}
Taxable Amount IGST Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.TaxAmt).toFixed( 2 )} {Number( item.TotalAmt ).toFixed(2)}
)} {OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 0 && ( <>
{OrderDetailVAT?.map((item) => ( ))}
Taxable Amount VAT Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.TaxAmt).toFixed( 2 )} {Number( item.TotalAmt ).toFixed(2)}
)}

)}
)}
{PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : 'Split'}{' '}   Payment :   {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)} /-{' '}
{GlobaldummyData ? GlobalCredit && (
Advance Amount:
Opening Balance:
) : CreditDetails && table2Data?.CustomerDetails?.length > 0 && (
{/* OLD CREDIT BAL */} {PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > 0 ? (

Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal}

) : table2Data.CustomerDetails[0].OldCreditBal < 0 ? (

{' '} Opening Balance:{' '} {Math.abs( table2Data.CustomerDetails[0].OldCreditBal )}

) : null} )} {/* CURRENT CREDIT BAL */} {table2Data.CustomerDetails[0].CurrentCreditBal > 0 ? (

{' '} Current Advance Amount:{' '} {table2Data.CustomerDetails[0].CurrentCreditBal}

) : table2Data.CustomerDetails[0].CurrentCreditBal < 0 ? (

{' '} Current Balance Amount:{' '} {Math.abs( table2Data.CustomerDetails[0].CurrentCreditBal )}

) : null}
)}
{PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

Split Payment:

*/} {Object.keys(aggregatedPayments).map( (paymentType) => (
{paymentType}:{' '} {aggregatedPayments[paymentType].toFixed(2)}
) )} )} {GlobaldummyData && GlobalCashierName && (

Cashier : Cashier Name

)} {CashierName && CashierName !== undefined && CashierName !== null && !GlobaldummyData && CashierNameField && (

Cashier : {CashierName}

)} {GlobaldummyData && (

Customer : Customer Name

)} {table2Data?.CustSuppName && table2Data?.CustSuppName !== undefined && table2Data?.CustSuppName !== null && !GlobaldummyData && (

Customer : {table2Data?.CustSuppName}

)} {table2Data?.BookingTypeName == 'Dine In' && table2Data?.SalesTableLinkDetails?.[0]?.WaiterName && (
Captain :{' '} {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName}
)} {/*
CARD :
*********12
CARD HOLDER :
CARD HOLDER NAME
*/} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobalQrcodet && (
QRcode
Scan to Pay{' '}
₹{' '} {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed( 2 )}
) : Qrcodet && paymentTypeUPI && (
Scan to Pay{' '}
₹ {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed( 2 )}
)}
)}
{isEditedBill && lastTransaction && (
Bill Gross Amount {(lastTransaction?.BeforeAdjustment || 0).toFixed( 2 )}
{'Adjustment Amount'} {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} {Math.abs((lastTransaction?.BeforeAdjustment ?? 0) - (lastTransaction?.AfterAdjustment ?? 0)).toFixed(2)}
Net Bill Amount {(lastTransaction?.AfterAdjustment || 0).toFixed( 2 )}
)}
Your Order No : {GlobaldummyData ? '01' : table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
{sportsAppPreference && MembershipApplied && (
{`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
)}
{!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobalIsnotes && (

Notes : 10 days Return policy


) : Notestext && (

{Notestext}


)}
)} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobaltermsAndConditions && (

Terms & Conditions

  1. Once goods are sold, they are not exchangeable or refundable.
  2. Please check the product before leaving the counter.
) : TermsnAdCondition == true && TermsAndConditions?.length > 0 && (

Terms & Conditions

    {TermsAndConditions?.map((item) => (
  1. {item?.TermsandConditions}
  2. ))} {/*
  3. Please check the product before leaving the counter.
  4. */}
)} {GlobaldummyData ? GlobalSignature && (

Signature

) : Signature == true && (

Signature

)}
)}
{PrintGreeting?.SettingValue === 'Y' && ( <>
{/*
Terms & Condition
Xxxx Yyyy Xxxx Yyyy Xxxx Yyyy Xxxx Yyyy

*/}
Thank You Visit Again

)}
)}
))} {shouldFooterBeOnNewPage && FormatTheme && (
<>
{DineInData?.length > 0 && TakeawayData?.length > 0 && takeAwayPreference && (
Take Away :
{Number(TakeawayTotal).toFixed(2)}
)} {DineInData?.length > 0 && TakeawayData?.length > 0 && dinePreference && (
Dine In :
{Number(DineInTotal).toFixed(2)}
)} {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && (
Off :
{GlobaldummyData ? '1,066' : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)}
)}
Amount :
{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
Items :
{GlobaldummyData ? '8' : totalQuantityFilter?.length}
Qty :
{GlobaldummyData ? '9' : totalQuantity}

Net Amount:
{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
{table2Data?.OrderType === 'E' ? ( '' ) : (
{((OrderDetailGST?.length > 0 && OrderDetailGST?.[0]?.TaxAmt > 0) || (OrderDetailIGST?.length > 0 && OrderDetailIGST?.[0]?.TaxAmt > 0) || (OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 0)) && table2Data?.NetAmount !== 0 && ( <>
--------- GST Breakup Details -----------
{OrderDetailGST?.length > 0 && OrderDetailGST?.[0]?.TaxAmt > 0 && ( {OrderDetailGST?.map((item) => ( ))}
Taxable Amount CGST SGST Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.CGST).toFixed(2)} {Number(item.SGST).toFixed(2)} {Number(item.TotalAmt).toFixed(2)}
)} {OrderDetailIGST?.length > 0 && OrderDetailIGST?.[0]?.TaxAmt > 0 && ( <>
{OrderDetailIGST?.map((item) => ( ))}
Taxable Amount IGST Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.TaxAmt).toFixed(2)} {Number(item.TotalAmt).toFixed( 2 )}
)} {OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 0 && ( <>
{OrderDetailVAT?.map((item) => ( ))}
Taxable Amount VAT Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.TaxAmt).toFixed(2)} {Number(item.TotalAmt).toFixed( 2 )}
)}

)}
)}
{PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : 'Split'}{' '}   Payment :   {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)} /-{' '}
{GlobaldummyData ? GlobalCredit && (
Advance Amount:
Opening Balance:
) : CreditDetails && table2Data?.CustomerDetails?.length > 0 && (
{/* OLD CREDIT BAL */} {PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > 0 ? (

Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal}

) : table2Data.CustomerDetails[0].OldCreditBal < 0 ? (

{' '} Opening Balance:{' '} {Math.abs( table2Data.CustomerDetails[0].OldCreditBal )}

) : null} )} {/* CURRENT CREDIT BAL */} {table2Data.CustomerDetails[0].CurrentCreditBal > 0 ? (

{' '} Current Advance Amount:{' '} {table2Data.CustomerDetails[0].CurrentCreditBal}

) : table2Data.CustomerDetails[0].CurrentCreditBal < 0 ? (

{' '} Current Balance Amount:{' '} {Math.abs( table2Data.CustomerDetails[0].CurrentCreditBal )}

) : null}
)}
{PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

Split Payment:

*/} {Object.keys(aggregatedPayments).map((paymentType) => (
{paymentType}:{' '} {aggregatedPayments[paymentType].toFixed(2)}
))} )} {GlobaldummyData && GlobalCashierName && (

Cashier : Cashier Name

)} {CashierName && CashierName !== undefined && CashierName !== null && !GlobaldummyData && CashierNameField && (

Cashier : {CashierName}

)} {GlobaldummyData && (

Customer : Customer Name

)} {table2Data?.CustSuppName && table2Data?.CustSuppName !== undefined && table2Data?.CustSuppName !== null && !GlobaldummyData && (

Customer : {table2Data?.CustSuppName}

)} {table2Data?.BookingTypeName == 'Dine In' && table2Data?.SalesTableLinkDetails?.[0]?.WaiterName && (
Captain :{' '} {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName}
)} {/*
CARD :
*********12
CARD HOLDER :
CARD HOLDER NAME
*/} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobalQrcodet && (
QRcode
Scan to Pay{' '}
₹{' '} {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
) : Qrcodet && paymentTypeUPI && (
Scan to Pay{' '}
₹ {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
)}
)}
{isEditedBill && lastTransaction && (
Bill Gross Amount {(lastTransaction?.BeforeAdjustment || 0).toFixed( 2 )}
{'Adjustment Amount'} {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} {Math.abs((lastTransaction?.BeforeAdjustment ?? 0) - (lastTransaction?.AfterAdjustment ?? 0)).toFixed(2)}
Net Bill Amount {(lastTransaction?.AfterAdjustment || 0).toFixed(2)}
)}
Your Order No : {GlobaldummyData ? '01' : table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
{sportsAppPreference && MembershipApplied && (
{`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
)}
{!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobalIsnotes && (

Notes : 10 days Return policy


) : Notestext && (

{Notestext}


)}
)} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobaltermsAndConditions && (

Terms & Conditions

  1. Once goods are sold, they are not exchangeable or refundable.
  2. Please check the product before leaving the counter.
) : TermsnAdCondition == true && TermsAndConditions?.length > 0 && (

Terms & Conditions

    {TermsAndConditions?.map((item) => (
  1. {item?.TermsandConditions}
  2. ))} {/*
  3. Please check the product before leaving the counter.
  4. */}
)} {GlobaldummyData ? GlobalSignature && (

Signature

) : Signature == true && (

Signature

)}
)}
{PrintGreeting?.SettingValue === 'Y' && ( <>
{/*
Terms & Condition
Xxxx Yyyy Xxxx Yyyy Xxxx Yyyy Xxxx Yyyy

*/}
Thank You Visit Again

)}
)}
) : (
{!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobalLogo && GlobaldummyData ? ( image ) : null} {base64Image && (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( image ) : null}
{GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName}
Low Prices... Love the Saving...
{GlobaldummyData ? 'BranchAddress, Town- 635XXX City - State' : (table2Data?.AddressDetails?.[0]?.Address1 || '') + (table2Data?.AddressDetails?.[0]?.City ? (table2Data?.AddressDetails?.[0]?.Address1 && table2Data?.AddressDetails?.[0]?.City ? '-' : '') + table2Data?.AddressDetails?.[0]?.City : '') + (table2Data?.AddressDetails?.[0]?.Zip ? (table2Data?.AddressDetails?.[0]?.City && table2Data?.AddressDetails?.[0]?.Zip ? '-' : '') + table2Data?.AddressDetails?.[0]?.Zip : '')}
{' '} Mobile : +91{' '} {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile}
{table2Data?.OrderType === 'E' && estimateTitle && (
Estimate{' '} {/* {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} */}
)} {table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobalBilltext ? GlobalBilltext : 'Cash' + ' Bill' : BillName ? BillName : PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName + ' Bill' : ''}{' '} {/* {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} */}
)} {/*
{table2Data?.BrGSTIN &&
GST NO :{table2Data?.BrGSTIN}, CIN :u00045hhsgbubufsdug
}
PH : +91 {table2Data?.BrMobile}
} */}
{' '} BILL NO : {GlobaldummyData ? '553' : table2Data?.OrderId && extractLastNumberOrderId( table2Data?.OrderId, table2Data?.FYStatus )}
{SalesModePref?.SettingValue == 'Y' &&
{' '} Name : {table2Data?.SalesMode == "R" ? "RT" : "WS"}{' '}
}
{' '} {GlobaldummyData ? formattedDate : Date1}{' '}
)} {!estimatePrintHeader && table2Data?.OrderType === 'E' && estimateTitle && (
Estimate{' '} {/* {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} */}
)}
{(TakeawayData?.length > 0 || GlobaldummyData) && ( <> {takeAwayPreference && (
Take Away
)} {GlobaldummyData ? GlobalSlNo && ( ) : SLNO && } {GlobaldummyData ? GlobalItem && : Item && } {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} {(GlobaldummyData ? products : TakeawayData)?.map( (item, index) => { return ( {GlobaldummyData ? GlobalSlNo && : SLNO && } {GlobaldummyData ? GlobalItem && : Item && ( )} {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} ); } )}
S.No S.NoItemItem Qty {WeightasKg ? 'Qty/Kg' : 'Qty'} HSN HSN MRP MRP Dis{' '} Dis{' '} Tax % Tax % Rate Rate Amt Amt
{index + 1}{index + 1}{item?.ProdName}
{item?.ProdName}
{UomPrint?.SettingValue === 'Y' && (
({item?.Size ? item?.Size : '1'}{' '} {item?.SinglePc == 'Y' ? 'PCS' : item?.Type != 'C' ? item?.UomName : 'COMBO'})
)} {item?.BrandName &&
{item.BrandName}
}
{(item?.ProductIdentifierDtls ?? []) .filter(items => items.SerialNumber) .map((a, i) => (
{a.SerialNumber}
))} {(item?.ProductIdentifierDtls ?? []) .filter(id => id.IMEI1 || id.IMEI2) .map((id, i) => (
{[id.IMEI1, id.IMEI2].filter(Boolean).join(",")}
))} {(item?.ProductIdentifierDtls ?? []).find(d => d.SerialNumber || d.IMEI1 || d.IMEI2)?.Description && (
{(item?.ProductIdentifierDtls ?? []).find(d => d.SerialNumber || d.IMEI1 || d.IMEI2).Description}
)}
{item?.SalesQty} {item?.SalesQty} {item?.HSN} {item?.HSN} {item?.MRP} {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} {item.discount} {item?.Type != 'C' ? item?.OfferAmt || 0 : item?.OfferValue || 0} {item?.ProdTaxPercentage} {item?.ProdTaxPercentage || 0} {item?.Rate} {item?.Rate} {item?.TotalAmt} {item?.Type != 'C' ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
)} {DineInData?.length > 0 && dinePreference && ( <>
Dine In
{GlobaldummyData ? GlobalSlNo && : SLNO && } {GlobaldummyData ? GlobalItem && : Item && } {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} {(GlobaldummyData ? products : DineInData)?.map( (item, index) => { return ( {GlobaldummyData ? GlobalSlNo && : SLNO && } {GlobaldummyData ? GlobalItem && : Item && ( )} {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {GlobaldummyData ? GlobalHsnCode && ( ) : HsnCode && ( )} {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalTax && ( ) : Tax && table2Data?.OrderType !== 'E' && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} ); } )}
S.NoS.NoItemItem Qty {WeightasKg ? 'Qty/Kg' : 'Qty'} HSN HSN MRP MRP Dis{' '} Dis{' '} Tax % Tax % Rate Rate Amt Amt
{index + 1}{index + 1}{item?.ProdName}
{item?.ProdName}
({item?.Size ? item?.Size : '1'}{' '} {item?.SinglePc == 'Y' ? 'PCS' : item?.Type != 'C' ? item?.UomName : 'COMBO'} )
{item?.SalesQty} {item?.SalesQty} {item?.HSN} {item?.HSN} {item?.MRP} {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} {item.discount} {item?.Type != 'C' ? item?.OfferAmt || 0 : item?.OfferValue || 0} {item?.ProdTaxPercentage} {item?.ProdTaxPercentage || 0} {item?.Rate} {item?.Rate} {item?.TotalAmt} {item?.Type != 'C' ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
)}
{DineInData?.length > 0 && TakeawayData?.length > 0 && takeAwayPreference && (
Take Away :
{Number(TakeawayTotal).toFixed(2)}
)} {DineInData?.length > 0 && TakeawayData?.length > 0 && dinePreference && (
Dine In :
{Number(DineInTotal).toFixed(2)}
)} {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && (
Off :
{GlobaldummyData ? '1,066' : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)}
)}
Amount :
{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
Items :
{GlobaldummyData ? '8' : totalQuantityFilter?.length}
Qty :
{GlobaldummyData ? '9' : totalQuantity}
{/*
*/}
Net Amount:
{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
{/*

{table2Data?.PaymentTypeName}  Payment :  {Number(table2Data?.NetAmount).toFixed(2)}/-

*/}
{table2Data?.OrderType === 'E' ? ( '' ) : (
{((OrderDetailGST?.length > 0 && OrderDetailGST?.[0]?.TaxAmt > 0) || (OrderDetailIGST?.length > 0 && OrderDetailIGST?.[0]?.TaxAmt > 0) || (OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 0)) && table2Data?.NetAmount !== 0 && ( <>
--------- GST Breakup Details -----------
{OrderDetailGST?.length > 0 && OrderDetailGST?.[0]?.TaxAmt > 0 && ( {OrderDetailGST?.map((item) => ( ))}
Taxable Amount CGST SGST Total Amount
{item?.TaxPercentage || 0}% {Number(item.WithOutTaxAmount).toFixed( 2 )} {Number(item.CGST).toFixed(2)} {Number(item.SGST).toFixed(2)} {Number(item.TotalAmt).toFixed(2)}
)} {OrderDetailIGST?.length > 0 && OrderDetailIGST?.[0]?.TaxAmt > 0 && ( <>
{OrderDetailIGST?.map((item) => ( ))}
Taxable Amount IGST Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.TaxAmt).toFixed(2)} {Number(item.TotalAmt).toFixed(2)}
)} {OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 0 && ( <>
{OrderDetailVAT?.map((item) => ( ))}
Taxable Amount VAT Total Amount
{item?.TaxPercentage || 0}% {Number( item.WithOutTaxAmount ).toFixed(2)} {Number(item.TaxAmt).toFixed(2)} {Number(item.TotalAmt).toFixed(2)}
)}

)}
)}
{PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : 'Split'}{' '}   Payment :   {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)} /-{' '}
{GlobaldummyData ? GlobalCredit && (
Advance Amount:
Opening Balance:
) : CreditDetails && table2Data?.CustomerDetails?.length > 0 && (
{/* OLD CREDIT BAL */} {PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > 0 ? (

Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal}

) : table2Data.CustomerDetails[0].OldCreditBal < 0 ? (

{' '} Opening Balance:{' '} {Math.abs( table2Data.CustomerDetails[0].OldCreditBal )}

) : null} )} {/* CURRENT CREDIT BAL */} {table2Data.CustomerDetails[0].CurrentCreditBal > 0 ? (

{' '} Current Advance Amount:{' '} {table2Data.CustomerDetails[0].CurrentCreditBal}

) : table2Data.CustomerDetails[0].CurrentCreditBal < 0 ? (

{' '} Current Balance Amount:{' '} {Math.abs( table2Data.CustomerDetails[0].CurrentCreditBal )}

) : null}
)}
{PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

Split Payment:

*/} {Object.keys(aggregatedPayments).map((paymentType) => (
{paymentType}:{' '} {aggregatedPayments[paymentType].toFixed(2)}
))} )} {GlobaldummyData && GlobalCashierName && (

Cashier : Cashier Name

)} {CashierName && CashierName !== undefined && CashierName !== null && !GlobaldummyData && CashierNameField && (

Cashier : {CashierName}

)} {GlobaldummyData && (

Customer : Customer Name

)} {table2Data?.CustSuppName && table2Data?.CustSuppName !== undefined && table2Data?.CustSuppName !== null && !GlobaldummyData && (

Customer : {table2Data?.CustSuppName}

)} {table2Data?.BookingTypeName == 'Dine In' && table2Data?.SalesTableLinkDetails?.[0]?.WaiterName && (
Captain :{' '} {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName}
)} {/*
CARD :
*********12
CARD HOLDER :
CARD HOLDER NAME
*/} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobalQrcodet && (
QRcode
Scan to Pay
₹{' '} {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
) : Qrcodet && paymentTypeUPI && (
Scan to Pay
₹ {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
)}
)}
{isEditedBill && lastTransaction && (
Bill Gross Amount {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)}
{'Adjustment Amount'} {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} {Math.abs((lastTransaction?.BeforeAdjustment ?? 0) - (lastTransaction?.AfterAdjustment ?? 0)).toFixed(2)}
Net Bill Amount {(lastTransaction?.AfterAdjustment || 0).toFixed(2)}
)}
Your Order No : {GlobaldummyData ? '01' : table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
{sportsAppPreference && MembershipApplied && (
{`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
)} {/*
TOTAL SAVINGS :
10.00
*/}
{!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobalIsnotes && (

Notes : 10 days Return policy


) : Notestext && (

{Notestext}


)}
)} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
{GlobaldummyData ? GlobaltermsAndConditions && (

Terms & Conditions

  1. Once goods are sold, they are not exchangeable or refundable.
  2. Please check the product before leaving the counter.
) : TermsnAdCondition == true && TermsAndConditions?.length > 0 && (

Terms & Conditions

    {TermsAndConditions?.map((item) => (
  1. {item?.TermsandConditions}
  2. ))} {/*
  3. Please check the product before leaving the counter.
  4. */}
)} {GlobaldummyData ? GlobalSignature && (

Signature

) : Signature == true && (

Signature

)}
)}
{PrintGreeting?.SettingValue === 'Y' && ( <>
{/*
Terms & Condition
Xxxx Yyyy Xxxx Yyyy Xxxx Yyyy Xxxx Yyyy

*/}
Thank You Visit Again

)}
{/*
print
*/}
)} ); }; export default PrintStyle9;