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, GlobalSelectedPrintHeaderColor, GlobalSelectedPrintHeaderFontColor, GlobalSelectedTableHeaderColor, GlobalSelectedTableHeaderFontColor, GlobalSelectedTableBodyColor, GlobalSelectedTableBodyFontColor, GlobalSelectedFooterFontColor, GlobalSelectedFooterColor, GlobalRowType, } from '../../../../Features/ThemeChange/ThemeChange'; import { GlobalUpiIDprint } from '../../../../Features/BookingScreen/BookingData/BookingData'; import '../../../../Styles/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle6.scss'; import signature from '../../../../Images/signatureimage.jpg'; import { ApplicationPreferences } from '../../../../Features/BrachLogin/BranchLogin'; import { isMobile } from 'react-device-detect'; const DCPrintstyle6 = ({ BranchName, BranchDetails, BranchAddress, BranchCity, BranchZip, Date1, table2Data, PaymentStatus, PrintGreeting, printDatas, DCPrintTemplateDtl, }) => { const formatDate = (dateString = '') => { const date = new Date(dateString); const day = date.getDate().toString().padStart(2, '0'); const months = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', ]; const month = months[date.getMonth()]; const year = date.getFullYear(); return day && month && year ? `${day}-${month}-${year}` : '-'; }; console.log(table2Data, 'table2Data'); const dispatch = useDispatch(); let FieldDetails = DCPrintTemplateDtl?.FieldDetails?.reduce((acc, item) => { acc[item.ConfigName] = true; return acc; }, {}); const SLNO = FieldDetails?.['Sl.No']; const Item = FieldDetails?.['Item']; const MRP = FieldDetails?.['MRP']; const Discount = FieldDetails?.['Discount']; const Quantity = FieldDetails?.['Quantity']; const Rate = FieldDetails?.['Rate']; const Amount = FieldDetails?.['Amount']; const HsnCode = FieldDetails?.['HsnCode']; const Qrcodet = FieldDetails?.['Qrcode']; const GlobalSlNo = useSelector(GlobalprintSlNo); const GlobalItem = useSelector(GlobalprintItem); const GlobalMRP = useSelector(GlobalprintMRP); const GlobalDiscount = useSelector(GlobalprintDiscount); 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); let TermsAndConditions = DCPrintTemplateDtl?.TermsandConditions; let SignatureImg = DCPrintTemplateDtl?.Signature; let Notestext = DCPrintTemplateDtl?.Notes; let BillName = DCPrintTemplateDtl?.PrintHdrName; let FormatTheme = DCPrintTemplateDtl?.PrintType == 'S' ? true : false; let PageSize = DCPrintTemplateDtl?.PageSize; const Signature = FieldDetails?.['signature']; const TermsnAdCondition = FieldDetails?.['terms&conditions']; console.log( Signature, TermsnAdCondition, TermsAndConditions, SignatureImg, 'FormatTheme' ); console.log(BillName, 'printDatasrrt'); let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); const keysLength = Object.keys(table2Data ?? {}).length; if (keysLength > 0) { dispatch(changeReprintDataFound(true)); } const products = [ { ProdName: 'ITEM 1', Rate: 88.0, SalesQty: 2, MRP: 100, TotalAmt: 176, discount: 0, HSN: '01', Size: 250, UomName: 'g', }, { ProdName: 'ITEM 2', Rate: 300.0, SalesQty: 1, MRP: 350, TotalAmt: 300, discount: 0, HSN: '02', Size: 250, UomName: 'g', }, { ProdName: 'ITEM 3', Rate: 200.0, SalesQty: 1, MRP: 250, TotalAmt: 200, discount: 0, HSN: '03', Size: 250, UomName: 'g', }, { ProdName: 'ITEM 4', Rate: 30.0, SalesQty: 1, MRP: 50, TotalAmt: 30, discount: 0, HSN: '04', Size: 250, UomName: 'g', }, { ProdName: 'ITEM 5', Rate: 30.0, SalesQty: 1, MRP: 50, TotalAmt: 30, discount: 0, HSN: '05', Size: 250, UomName: 'g', }, { ProdName: 'ITEM 6', Rate: 130.0, SalesQty: 1, MRP: 150, TotalAmt: 130, discount: 0, HSN: '06', Size: 250, UomName: 'g', }, { ProdName: 'ITEM 7', Rate: 230.0, SalesQty: 1, MRP: 250, TotalAmt: 230, discount: 0, HSN: '08', Size: 250, UomName: 'g', }, ]; const chunkSize = PageSize == 'A5' ? 20 : 24; let dataSource = table2Data?.ProductDetails || []; // 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' ? 20 : 24); // 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 ); // let printColors = DCPrintTemplateDtl?.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 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, }; return ( <>
{paginatedChunks.map((dataChunk, chunkIndex) => (
0 ? ' print-page-break' : ''}`} style={{ display: 'flex', flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && !shouldFooterBeOnNewPage && FormatTheme ? 'space-between' : '', height: FormatTheme ? (PageSize == 'A5' ? '170mm' : '257mm') : '', }} key={chunkIndex} >
{GlobaldummyData ? 'XYZ Shop' : BranchName}
{GlobaldummyData ? 'BranchAddress, Town- 635XXX City - State' : (BranchAddress || '') + (BranchCity ? (BranchAddress && BranchCity ? '-' : '') + BranchCity : '') + (BranchZip ? (BranchCity && BranchZip ? '-' : '') + BranchZip : '')}
{BranchDetails?.BrGSTIN && (
GST NO : {GlobaldummyData ? '334bhbsagbysfgbfgbu' : BranchDetails?.BrGSTIN} , CIN :u00045hhsgbubufsdug
)} {BranchDetails?.BrMobile && (
{' '} Mobile : +91{' '} {GlobaldummyData ? '986XXXXXXX' : BranchDetails?.BrMobile}
)}
{GlobaldummyData ? 'Cash Bill' : BillName ? BillName : 'Delivery Challan'}{' '}
{table2Data?.ToBranchDtl?.length > 0 && ( <>
Delivery To :
{table2Data?.ToBranchDtl?.[0]?.BranchName}
{table2Data?.ToBranchDtl?.[0]?.Address1 && (
{table2Data?.ToBranchDtl?.[0]?.Address1}
)} {(table2Data?.ToBranchDtl?.[0]?.City || table2Data?.ToBranchDtl?.[0]?.Dist || table2Data?.ToBranchDtl?.[0]?.Zip) && (
{`${table2Data?.ToBranchDtl?.[0]?.City}, ${table2Data?.ToBranchDtl?.[0]?.Dist} - ${table2Data?.ToBranchDtl?.[0]?.Zip}`}
)} {table2Data?.ToBranchDtl?.[0]?.BrGSTIN && (
{table2Data?.ToBranchDtl?.[0]?.BrGSTIN}
)}

)} {table2Data?.dispatchPrint !== true && ( <>
Delivery Challan NO : {GlobaldummyData ? '51' : table2Data?.DCNo}
Date:{Date1}
)} {table2Data?.dispatchPrint === true && (
Dispatch No #:{table2Data?.DispatchId}
Dispatch Date:{formatDate(table2Data?.CreatedDate)}
Ref No #:{table2Data?.RequestId}
Requested Date:{formatDate(table2Data?.RequestedDate)}
)}
{(table2Data?.CustMobile || table2Data?.CustName || table2Data?.VehicleNo || table2Data?.TransporterId || table2Data?.TransporterName) && ( <>
{(table2Data?.CustMobile || table2Data?.CustName) && (
Delivery Details
{table2Data?.CustMobile && (
{' '} Mobile NO :{table2Data?.CustMobile}{' '}
)} {table2Data?.CustName && (
{' '} Name:{table2Data?.CustName}
)}
)} {(table2Data?.VehicleNo || table2Data?.TransporterId || table2Data?.TransporterName) && (
Vehicle Details
{table2Data?.VehicleNo && (
{' '} Vehicle No :{table2Data?.VehicleNo}
)} {table2Data?.TransporterId && (
{' '} Transporter Id :{table2Data?.TransporterId}
)} {table2Data?.TransporterName && (
{' '} Transporter Name :{table2Data?.TransporterName}
)}
)}

)}
{(table2Data?.ProductDetails?.length > 0 || GlobaldummyData) && ( <>
{GlobaldummyData ? GlobalSlNo && ( ) : SLNO && ( )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && ( ) ) : ( )} {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {/* {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} */} {dataChunk?.map((item, index) => { return ( {GlobaldummyData ? GlobalSlNo && : SLNO && ( )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && ( ) ) : ( )} {GlobaldummyData ? GlobalQuantity && ( ) : Quantity && ( )} {/* {GlobaldummyData ? GlobalMRP && ( ) : MRP && ( )} {GlobaldummyData ? GlobalDiscount && ( ) : Discount && ( )} {GlobaldummyData ? GlobalRate && ( ) : Rate && ( )} {GlobaldummyData ? GlobalAmount && ( ) : Amount && ( )} */} ); })}
S.No S.No {GlobaldummyData ? GlobalItem && 'ITEM /DES' : 'ITEM /DES'}{' '} {GlobaldummyData ? GlobalItem && 'ITEM /DES' : Item && 'ITEM /DES'}{' '} QTY QTY MRPMRP Dis{" "} Dis{" "} Rate Rate AMt Amt
{index + 1} {chunkIndex * chunkSize + index + 1} {GlobaldummyData ? ( GlobalItem && ( <>
{item?.ProdName}
{/*
{item?.Size + item?.UomName}
*/} ) ) : ( <>
{item?.ProdName}
{/*
{item?.Size + item?.UomName + "-" + GlobaldummyData ? GlobalQuantity && item?.SalesQty : item?.SalesQty}
*/} )}
{(GlobaldummyData ? GlobalItem && item?.ProdName + `(${item?.Size + item?.UomName})` : Item && item?.ProdName) + ((item?.ProdVariantName || item?.RequestVariantName) && !( item?.ProdVariantName || item?.RequestVariantName ) ?.toLowerCase() ?.includes('variant') ? '-' + (item?.ProdVariantName || item?.RequestVariantName) : '')} {item?.Qty} {item?.Qty || item?.DispatchedQty} {item?.MRP} {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} {item.discount} {item?.Type != "C" ? item?.OfferAmt || 0 : item?.OfferValue || 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 && ( <>
{GlobaldummyData ? GlobalIsnotes && (

Notes : 10 days Return policy


) : Notestext && (

{Notestext}


)}
{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' && ( <>
Thank You Visit Again
)} )}
))} {shouldFooterBeOnNewPage && FormatTheme && (
<>
{GlobaldummyData ? GlobalIsnotes && (

Notes : 10 days Return policy


) : Notestext && (

{Notestext}


)}
{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' && ( <>
Thank You Visit Again
)}
)}
); }; export default DCPrintstyle6;