import React, { useEffect, useState, useRef, useCallback } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Tooltip, Form, Switch, DatePicker } from 'antd'; import moment from 'moment'; import { DatePicProd } from '../../../Components/Forms/DatePickerProduct.jsx'; import { Tables } from '../../../Components/Tables/Table'; import { BiSolidPrinter } from 'react-icons/bi'; import { Search } from '../../../Components/Forms/Search'; import '../../../Styles/Reports/ItemWiseReport/ItemWiseReport.scss'; import { changeBreadCrumb } from '../../../Features/AppPage/CenterPage'; import { getItemWiseReport, UserDataBasedOnBranchId, getCatItemWiseReport, WholeSalegetItemWiseReport, } from '../../../Features/Reports/Reports'; import { getSession, printDiv } from '../../../Services/WSOthers'; import ItemwiseReportPdf from '../../paymentpdfPage/ItemwiseReportPdf'; import CategoryWiseReportPdf from '../../paymentpdfPage/CategorywiseReport.jsx'; import { DropDowns } from '../../../Components/Forms/DropDown.jsx'; import DynamicPieChart from '../../DashBoard/PieChart.jsx'; import { isMobile } from 'react-device-detect'; import { getPreferenceData, PreferenceData, } from '../../../Features/BookingScreen/BookingData/BookingData.js'; import { ReportMobilePDFPrint } from '../../paymentpdfPage/ReportMobilePDFPrint.js'; import { ApplicationPreferences } from '../../../Features/BrachLogin/BranchLogin.js'; const subDirectory = import.meta.env.BASE_URL; const ItemWiseReport = () => { const today = new Date(); const formattedToday = today.toISOString()?.split('T')[0]; const dispatch = useDispatch(); const formRef = useRef(); const { RangePicker } = DatePicker; const [filteredInfo, setFilteredInfo] = useState({}); const [sortedInfo, setSortedInfo] = useState({}); const [sortedInfo2, setSortedInfo2] = useState({}); const [searchedText, setSearchedText] = useState(''); const [searchedText2, setSearchedText2] = useState(''); const [OrderFromDate, setOrderFromDate] = useState(formattedToday); const [OrderToDate, setOrderToDate] = useState(formattedToday); const [ItemWiseData, setItemWiseData] = useState(); const [CateWiseData, setCateWiseData] = useState(); const [userDropDown, setuserDropDown] = useState([]); const [chartData, setchartdata] = useState([]); const [allowDecimal, setAllowDecimal] = useState(false); const [apiCall, setapiCall] = useState(false); const [chart, setchart] = useState(false); const [selectedUserData, setSelectedUserData] = useState(null); const [receiptTextItemWise, setreceiptTextItemWise] = useState(); const [receiptTextCatWise, setreceiptTextCatWise] = useState(); const [ShowStock, setShowStock] = useState(false); const SettingDataSelector = useSelector(PreferenceData); const UomPrint = SettingDataSelector?.[0]?.SettingDtlDetails?.filter( (i) => i.SettingIdName === 'PrintUom' )?.[0]; const appPreferences = useSelector(ApplicationPreferences); const commonModulePreference = appPreferences?.find( (preference) => preference?.PreferredCatName === 'Common Module' )?.PreferenceCatDetails; const sportsAppPreference = commonModulePreference?.find( (preference) => preference?.PreferredSubCatName === 'SportsApp' && preference?.PreferredStatus === 'Y' ); const CompId = getSession('CompId'); const BranchId = getSession('BranchId'); const AppId = getSession('AppId'); const UserRole = getSession('UserType'); const [UserId, setUserId] = useState( UserRole != 'Employee' ? 0 : getSession('UserId') ); const AppType = getSession('AppType')?.toLowerCase() == 'wholesale' ? true : false; const MobileA4Print = SettingDataSelector?.[0]?.SettingDtlDetails?.find( (setting) => setting?.SettingIdName?.toLowerCase() === 'mobilea4' && setting?.SettingValue === 'Y' ); useEffect(() => { getPreference(); }, []); useEffect(() => { // if (CateWiseData && CateWiseData.length > 0) { const finalData = CateWiseData?.map((e) => { const ProdCatName = e.ProdCatName || 'Others'; const name = e.ProdCatName || 'Others'; const y = e.TotalAmt || 0; return { ...e, name, y, ProdCatName }; }); setchartdata(finalData); // } }, [CateWiseData]); const items = [ { name: 'Home', link: `${subDirectory}app-page/home`, }, ]; const style = ``; const openChart = (value) => { setchart(!chart); }; useEffect(() => { dispatch(changeBreadCrumb({ items: items })); fetchInitialData(); }, []); useEffect(() => { setchart(false); }, [apiCall]); useEffect(() => { if (UserRole != 'Employee') { userDropData(); } }, []); useEffect(() => { if (apiCall) { setSelectedUserData(0); fetchCatData(); } else { setSelectedUserData(0); fetchInitialData(); } }, [apiCall]); const getPreference = async () => { const data = { AppId: AppId, CompId: CompId, BranchId: BranchId,UserId: UserId }; const { data: res } = await dispatch(getPreferenceData(data)).unwrap(); const decimalSetting = res?.data?.[0]?.SettingDtlDetails?.find( (setting) => setting?.SettingIdName?.toLowerCase() === 'decimal' && setting?.SettingValue === 'Y' ); if (decimalSetting) { setAllowDecimal(true); } }; const fetchCatData = async () => { let data1 = { CompId: CompId, BranchId: BranchId, AppId: AppId, OrderFromDate: OrderFromDate?.split('T')?.[0], OrderToDate: OrderToDate?.split('T')?.[0], UserId: 0, type: 'P', }; let response = await dispatch(getCatItemWiseReport(data1)).unwrap(); if (response?.data?.statusCode == 1) { setCateWiseData(response?.data?.data); } else { setCateWiseData([]); } }; const userDropData = async () => { const gettinguserDropDown = await dispatch( UserDataBasedOnBranchId(BranchId) ).unwrap(); if (gettinguserDropDown?.data?.statusCode === 1) { let finaluserDropDown = gettinguserDropDown?.data?.data?.filter( (value) => value.ActiveStatus === 'A' ); finaluserDropDown.push({ UserId: 0, UserName: 'All User' }); setSelectedUserData(0); formRef.current?.setFieldsValue({ UserId: 0, }); setuserDropDown(finaluserDropDown); } }; const fetchInitialData = async () => { let currentDate = new Date().toJSON().slice(0, 10); formRef?.current?.setFieldsValue({ Fromdate: currentDate, Todate: currentDate, }); setOrderFromDate(currentDate + 'T00:00:00'); setOrderToDate(currentDate + 'T00:00:00'); let data = { CompId: CompId, BranchId: BranchId, AppId: AppId, OrderFromDate: currentDate, OrderToDate: currentDate, UserId: UserRole != 'Employee' ? 0 : UserId, }; if (AppType) { let Response = await dispatch(WholeSalegetItemWiseReport(data)).unwrap(); setItemWiseData(Response?.data?.data); } else { let Response = await dispatch(getItemWiseReport(data)).unwrap(); setItemWiseData(Response?.data?.data); } }; const handleChange = (pagination, filters, sorter) => { setFilteredInfo(filters); setSortedInfo(sorter); }; const handleChange2 = (pagination, filters, sorter) => { setSortedInfo2(sorter); }; // const onComplete = useCallback(() => { // setMessageData(null); // setMessageType(null); // }, []) const onSearch = (value) => { setSearchedText(value); }; const onSearchChange = (e) => { setSearchedText(e?.target?.value); }; const onSearch2 = (value) => { setSearchedText2(value); }; const onSearchChange2 = (e) => { setSearchedText2(e?.target?.value); }; const Print = async () => { if (isMobile) { if (MobileA4Print) { ReportMobilePDFPrint({ printId: 'RePrint', printStyle: style, }); } else { let LogoImage = ''; let TokenData = ''; let FooterPrint = ''; var textEncoded = encodeURI(receiptTextItemWise); var TypeCheck = 'PrintReceipt'; var scheme = 'pozoprinter'; var packageName = 'com.example.pozoprinter'; window.location.href = scheme + '://' + textEncoded + '#Intent;scheme=' + scheme + ';package=' + packageName + 'ImgS' + LogoImage + 'ImgE' + TypeCheck + 'TokenS' + TokenData + 'TokenE' + 'EstimateS' + '' + 'EstimateE' + 'HasFooterTextS' + FooterPrint + 'HasFooterTextE' + ';end;'; } } else { await printDiv('RePrint', style); } }; const Print2 = async () => { if (isMobile) { if (MobileA4Print) { ReportMobilePDFPrint({ printId: 'RePrint2', printStyle: style, }); } else { let LogoImage = ''; let TokenData = ''; let FooterPrint = ''; var textEncoded = encodeURI(receiptTextCatWise); var TypeCheck = 'PrintReceipt'; var scheme = 'pozoprinter'; var packageName = 'com.example.pozoprinter'; window.location.href = scheme + '://' + textEncoded + '#Intent;scheme=' + scheme + ';package=' + packageName + 'ImgS' + LogoImage + 'ImgE' + TypeCheck + 'TokenS' + TokenData + 'TokenE' + 'EstimateS' + '' + 'EstimateE' + 'HasFooterTextS' + FooterPrint + 'HasFooterTextE' + ';end;'; } } else { await printDiv('RePrint2', style); } }; const UserDropDownChange = async (e) => { setUserId(e); setSelectedUserData(e); const selectedUser = userDropDown?.find((item) => item?.UserId === e); if (selectedUser) { let mob = userDropDown?.filter((item) => item?.UserId === e); formRef.current?.setFieldsValue({ UserId: e, MobileNo: mob?.[0]?.MobileNo, }); } // setCateWiseData(null); }; function safeRound(amountStr) { if (amountStr == null) return allowDecimal ? '0.00' : '0'; const cleaned = String(amountStr).replace(/[^0-9.-]+/g, ''); const num = Number(cleaned); if (isNaN(num)) return allowDecimal ? '0.00' : '0'; return allowDecimal ? num.toFixed(2) : Math.round(num).toString(); } const DateWisTableData = ItemWiseData?.map((item, index) => ({ SINO: index + 1, ItemName: sportsAppPreference ? `${item?.ProdSubCatName || ''} - ${item?.ProdName || ''}`.trim() || 'Others' : !AppType ? UomPrint?.SettingValue === 'N' ? `${item?.ProdName} ${(item?.UOMName || '')?.toLowerCase() === 'half' ? '(Half)' : ''}` : `${item?.ProdName}(${item?.Size} ${item?.UOMName})` : `${item?.ProdName}`, Quantity: item?.SalesQty, BalanceQty:item?.BalanceQty, Amount: item?.TotalAmt, StockAvailable:item?.StockAvailable, })); const itemData = DateWisTableData; console.log(itemData, 'itemData'); const OrderFromDatefetch = async (dateObj) => { if (!dateObj) { setOrderFromDate(); return; } const Date3 = moment(dateObj.toDate()).format('YYYY-MM-DDTHH:mm:ss'); formRef.current?.setFieldsValue({ Fromdate: Date3 }); setOrderFromDate(Date3); }; const OrderToDatefetch = async (dateObj) => { if (!dateObj) { setOrderToDate(); return; } const Date4 = moment(dateObj.toDate()).format('YYYY-MM-DDTHH:mm:ss'); formRef.current?.setFieldsValue({ Todate: Date4 }); setOrderToDate(Date4); }; const onFinish = async () => { try { let data = { CompId: CompId, BranchId: BranchId, AppId: AppId, OrderFromDate: OrderFromDate?.split('T')?.[0], OrderToDate: OrderToDate?.split('T')?.[0], UserId: UserId, }; let data1 = { CompId: CompId, BranchId: BranchId, AppId: AppId, OrderFromDate: OrderFromDate?.split('T')?.[0], OrderToDate: OrderToDate?.split('T')?.[0], UserId: UserId, type: 'P', }; if (!apiCall) { if (AppType) { let Response = await dispatch( WholeSalegetItemWiseReport(data) ).unwrap(); setItemWiseData(Response?.data?.data); } else { let Response = await dispatch(getItemWiseReport(data)).unwrap(); setItemWiseData(Response?.data?.data); } } else { let response = await dispatch(getCatItemWiseReport(data1)).unwrap(); if (response?.data?.statusCode === 1) { setCateWiseData(response?.data?.data); } else { // setMessageType("warning"); // setMessageData("No Data Found"); setCateWiseData([]); } } } catch (error) { console.error('An error occurred:', error); } }; let filterRate1 = CateWiseData?.map((item) => item.BillAmount); const TotalAmount2 = filterRate1?.reduce( (accumulator, currentValue) => accumulator + currentValue, 0 ); let filterTaxRate1 = CateWiseData?.map((item) => item.TaxAmt); const TotalTaxAmount2 = filterTaxRate1?.reduce( (accumulator, currentValue) => accumulator + currentValue, 0 ); let filterRate = ItemWiseData?.map((item) => item.BillAmount); const TotalAmount = filterRate?.reduce( (accumulator, currentValue) => accumulator + currentValue, 0 ); let filterTaxRate = ItemWiseData?.map((item) => item.TaxAmt); const TotalTaxAmount = filterTaxRate?.reduce( (accumulator, currentValue) => accumulator + currentValue, 0 ); const onChange = (checked) => { setapiCall(checked); }; const reprintDate = (date) => { const salesDate = new Date(date); const formattedDate = salesDate.toLocaleDateString('en-GB', { day: '2-digit', month: '2-digit', year: 'numeric', }); return formattedDate; }; useEffect(() => { if (itemData?.length > 0) { console.log(itemData, 'itemDataitemData'); mobileItemWisePrintFun(itemData); } }, [itemData]); useEffect(() => { if (CateWiseData?.length > 0) { mobileCatWisePrintFun(CateWiseData); } }, [CateWiseData]); const formatAmount = (value) => { return allowDecimal ? parseFloat(value || 0).toFixed(2) : Math.round(value || 0); }; const mobileCatWisePrintFun = async (printdata) => { let Tabledata = printdata?.map((data, index) => { const snoSpacing = Math.max(0, 3 - String(index + 1).length); // Calculate dynamic spacing for Rate const QtySpacing = Math.max(0, 5 - String(data?.SalesQty).length); const rateSpacing = Math.max(0, 7 - String(data?.TotalAmt).length); // Calculate dynamic spacing for TotalAmt // Generate formatted string with dynamic spacings const formattedString = ' '.repeat(snoSpacing) + parseInt(index + 1) + ' ' + (data?.ProdCatName + ' '.repeat(20)).substring(0, 20) + ' ' + ' '.repeat(QtySpacing) + String(data?.SalesQty) + ' ' + ' '.repeat(rateSpacing) + String(data?.TotalAmt) + ' ' + '\n'; return formattedString; }); const Billamountspace = Math.max( 0, 6 - String(formatAmount(TotalAmount)).length ); const Taxamountspace = Math.max( 0, 6 - String(formatAmount(TotalTaxAmount)).length ); const Chargesamountspace = Math.max( 0, 6 - String(formatAmount(CateWiseData?.[0]?.ExtrachargeAmount)).length ); const Preorderamountspace = Math.max( 0, 6 - String(formatAmount(CateWiseData?.[0]?.PreOrderNetAmount)).length ); const Discountamountspace = Math.max( 0, 6 - String(formatAmount(CateWiseData?.[0]?.TotalOfferAmount)).length ); const Netamountspace = Math.max( 0, 6 - String( formatAmount( TotalAmount + (TotalTaxAmount || 0) + (CateWiseData?.[0]?.ExtrachargeAmount || 0) + (CateWiseData?.[0]?.PreOrderNetAmount || 0) - (CateWiseData?.[0]?.TotalOfferAmount || 0) ) ).length ); var data = CateWiseData && CateWiseData[0] ? CateWiseData[0] : {}; var receiptTextdata = "[C]" + 'Category Wise Sales' + '\n' + '[L]From Date :' + reprintDate(OrderFromDate) + '[L]' + ' ' + 'To Date :' + reprintDate(OrderToDate) + '\n' + '[C]------------------------------------------------\n' + '[L]' + '' + 'S.No' + ' ' + ' Category ' + ' ' + 'Quantity ' + ' ' + 'Amount ' + '' + '' + '[L]\n' + '[C]------------------------------------------------\n' + Tabledata.join('') + '[C]------------------------------------------------\n' + '[R]Bill Amount:' + formatAmount(TotalAmount) + ' '.repeat(Billamountspace) + '\n'; // Tax if (TotalTaxAmount > 0) { receiptTextdata += '[R]Tax:' + formatAmount(TotalTaxAmount) + ' '.repeat(Taxamountspace) + '\n'; } // Charges if ((data?.ExtrachargeAmount || 0) > 0) { receiptTextdata += '[R]Charges:' + formatAmount(data.ExtrachargeAmount) + ' '.repeat(Chargesamountspace) + '\n'; } // Preorder if ((data?.PreOrderNetAmount || 0) > 0) { receiptTextdata += '[R]Preorder:' + formatAmount(data.PreOrderNetAmount) + ' '.repeat(Preorderamountspace) + '\n'; } // Discount var discountAmount = data?.TotalOfferAmount; if ((discountAmount || 0) > 0) { receiptTextdata += '[R]Discount(-):' + formatAmount(discountAmount) + ' '.repeat(Discountamountspace) + '\n'; } receiptTextdata += '[L]------------------------------------------------\n' + '[R]Net:' + formatAmount( Math.round( TotalAmount + (TotalTaxAmount || 0) + (data?.ExtrachargeAmount || 0) + (data?.PreOrderNetAmount || 0) - (data?.TotalOfferAmount || 0) ) ) + ' '.repeat(Netamountspace) + '\n'; setreceiptTextCatWise(receiptTextdata); }; const mobileItemWisePrintFun = async (printdata) => { let Tabledata = printdata?.map((data, index) => { const snoSpacing = Math.max(0, 3 - String(index + 1).length); // Calculate dynamic spacing for Rate const QtySpacing = Math.max(0, 5 - String(data?.Quantity).length); const rateSpacing = Math.max(0, 8 - String(data?.Amount).length); const StockSpacing = Math.max(0, 4 - String(data?.BalanceQty).length); // Calculate dynamic spacing for TotalAmt // Generate formatted string with dynamic spacings const formattedString = ' '.repeat(snoSpacing) + parseInt(index + 1) + ' ' + (data?.ItemName + ' '.repeat(22)).substring(0, 22) + (ShowStock ? ' ' :'' ) + (ShowStock ? ' '.repeat(StockSpacing):'' ) + (ShowStock ? String(data?.BalanceQty):'') + ' ' + ' '.repeat(QtySpacing) + String(data?.Quantity) + ' ' + ' '.repeat(rateSpacing) + String(data?.Amount) + ' ' + '\n'; return formattedString; }); const Billamountspace = Math.max( 0, 6 - String(formatAmount(TotalAmount)).length ); const Taxamountspace = Math.max( 0, 6 - String(formatAmount(TotalTaxAmount)).length ); const Chargesamountspace = Math.max( 0, 6 - String(formatAmount(ItemWiseData?.[0]?.ExtrachargeAmount)).length ); const Preorderamountspace = Math.max( 0, 6 - String(formatAmount(ItemWiseData?.[0]?.PreOrderNetAmount)).length ); const Discountamountspace = Math.max( 0, 6 - String(formatAmount(ItemWiseData?.[0]?.TotalOfferAmount)).length ); const Netamountspace = Math.max( 0, 6 - String( formatAmount( TotalAmount + (TotalTaxAmount || 0) + (ItemWiseData?.[0]?.ExtrachargeAmount || 0) + (ItemWiseData?.[0]?.PreOrderNetAmount || 0) - (ItemWiseData?.[0]?.TotalOfferAmount || 0) ) ).length ); var data = ItemWiseData && ItemWiseData[0] ? ItemWiseData[0] : {}; var receiptTextdata = "[C]" + 'Itemwise Sales' + '\n' + '[L]From Date :' + reprintDate(OrderFromDate) + '[L]' + ' ' + 'To Date :' + reprintDate(OrderToDate) + '\n' + '[C]------------------------------------------------\n' + '[L]' + '' + 'S.No' + ' ' + ' Item Name ' + (ShowStock ? ' ' :' ') + (ShowStock ?'Curr Stock':' ' )+ ' ' + 'Qty ' + ' ' + 'Amount ' + '' + '' + '[L]\n' + '[C]------------------------------------------------\n' + Tabledata.join('') + '[C]------------------------------------------------\n' + '[R]Bill Amount:' + formatAmount(TotalAmount) + ' '.repeat(Billamountspace) + '\n'; // Tax if (TotalTaxAmount > 0) { receiptTextdata += '[R]Tax:' + formatAmount(TotalTaxAmount) + ' '.repeat(Taxamountspace) + '\n'; } // Charges if ((data?.ExtrachargeAmount || 0) > 0) { receiptTextdata += '[R]Charges:' + formatAmount(data.ExtrachargeAmount) + ' '.repeat(Chargesamountspace) + '\n'; } // Preorder if ((data?.PreOrderNetAmount || 0) > 0) { receiptTextdata += '[R]Preorder:' + formatAmount(data.PreOrderNetAmount) + ' '.repeat(Preorderamountspace) + '\n'; } // Discount var discountAmount = data?.TotalOfferAmount; if ((discountAmount || 0) > 0) { receiptTextdata += '[R]Discount(-):' + formatAmount(discountAmount) + ' '.repeat(Discountamountspace) + '\n'; } receiptTextdata += '[L]------------------------------------------------\n' + '[R]Net:' + formatAmount( Math.round( TotalAmount + (TotalTaxAmount || 0) + (data?.ExtrachargeAmount || 0) + (data?.PreOrderNetAmount || 0) - (data?.TotalOfferAmount || 0) ) ) + ' '.repeat(Netamountspace) + '\n'; setreceiptTextItemWise(receiptTextdata); }; return (

{!AppType ? apiCall ? 'Category Wise Sales Report' : 'By Item' : 'By Item'}
{!AppType && }

Date Range

} > { const [from, to] = dates || []; OrderFromDatefetch(from); OrderToDatefetch(to); }} value={[OrderFromDate, OrderToDate]} allowClear disabledDate={(current) => current && current > new Date()} // prevent future dates format="DD-MM-YYYY" />
{UserRole !== 'Employee' && (
({ value: option?.UserId, label: option?.UserName, }))} label={} id="UserId" field="UserId" fieldState={true} fieldApi={true} className="itemwiseDropdown" onChangeFunction={(e) => UserDropDownChange(e)} isOnchanges={selectedUserData ? true : false} valueData={selectedUserData} />
)}
{!apiCall ? ( 0 ? 'ItemWiseReport-printerIcon' : 'ItemWiseReport-printerIcon-disabled' } /> ) : ( 0 ? 'ItemWiseReport-printerIcon' : 'ItemWiseReport-printerIcon-disabled' } /> )}
{!apiCall ? (
) : !chart ? (
) : ( '' )}
{apiCall && (
Pie Chart
Table Data
)}
{!apiCall ? (
{/* */} {ShowStock && } {itemData && itemData.filter( (row) => !searchedText || (row.ItemName && row.ItemName?.toLowerCase()?.includes( searchedText?.toLowerCase() )) ).length > 0 ? ( itemData .filter( (row) => !searchedText || (row.ItemName && row.ItemName?.toLowerCase()?.includes( searchedText?.toLowerCase() )) ) .map((row, idx) => ( {ShowStock && } )) ) : ( )}
SL.NO Item NameCurrent Stock QtySales Qty Amount
{idx + 1} {row?.ItemName}{row?.StockAvailable ==='Y' ? row?.BalanceQty || 0 : '-'} {row.Quantity} {safeRound(row.Amount)}
Data not found
) : !chart ? (
{/* */} {chartData && chartData.filter( (row) => !searchedText2 || ((row.ProdCatName || row.name) && (row.ProdCatName || row.name) ?.toLowerCase() ?.includes(searchedText2?.toLowerCase())) ).length > 0 ? ( chartData .filter( (row) => !searchedText2 || ((row.ProdCatName || row.name) && (row.ProdCatName || row.name) ?.toLowerCase() ?.includes(searchedText2?.toLowerCase())) ) .map((row, idx) => ( {sportsAppPreference ? ( ) : ( )} )) ) : ( )}
SL NO Category Qty Amount
{idx + 1} {row?.ProdCatName || row?.name ? `${row?.ProdCatName || row?.name} ${row?.ProdSubCatName ? ` (${row.ProdSubCatName})` : ''}` : ''} {' '} {row.ProdCatName || row.name} {row.SalesQty} {safeRound(row.TotalAmt || row.y)}
Data not found
) : ( )}
{!apiCall ? (
{TotalTaxAmount > 0 && ( )} {ItemWiseData?.[0]?.ExtrachargeAmount > 0 && ( )} {ItemWiseData?.[0]?.PreOrderNetAmount > 0 && ( )} {ItemWiseData?.[0]?.TotalOfferAmount > 0 && ( )}

Bill Amount {safeRound(TotalAmount)}
Tax {safeRound(TotalTaxAmount)}
Charges {safeRound(ItemWiseData?.[0]?.ExtrachargeAmount)}
Preorder {safeRound(ItemWiseData?.[0]?.PreOrderNetAmount)}
Discount(-) {safeRound(ItemWiseData?.[0]?.TotalOfferAmount)}
Net {safeRound( TotalAmount + (TotalTaxAmount || 0) + (ItemWiseData?.[0]?.PreOrderNetAmount ? ItemWiseData?.[0]?.PreOrderNetAmount : 0) + (ItemWiseData?.[0]?.ExtrachargeAmount ? ItemWiseData?.[0]?.ExtrachargeAmount : 0) - (ItemWiseData?.[0]?.TotalOfferAmount ? ItemWiseData?.[0]?.TotalOfferAmount : 0) ) || 0}
) : ( !chart && (
{TotalTaxAmount2 > 0 && ( )} {CateWiseData?.[0]?.ExtrachargeAmount > 0 && ( )} {CateWiseData?.[0]?.PreOrderNetAmount > 0 && ( )} {CateWiseData?.[0]?.TotalOfferAmount > 0 && ( )}

Bill Amount {safeRound(TotalAmount2)}
Tax {safeRound(TotalTaxAmount2)}
Charges {safeRound(CateWiseData?.[0]?.ExtrachargeAmount)}
Preorder {safeRound(CateWiseData?.[0]?.PreOrderNetAmount)}
Discount(-) {safeRound(CateWiseData?.[0]?.TotalOfferAmount)}
Net {safeRound( TotalAmount2 + (TotalTaxAmount2 || 0) + (CateWiseData?.[0]?.PreOrderNetAmount ? CateWiseData?.[0]?.PreOrderNetAmount : 0) + (CateWiseData?.[0]?.ExtrachargeAmount ? CateWiseData?.[0]?.ExtrachargeAmount : 0) - (CateWiseData?.[0]?.TotalOfferAmount ? CateWiseData?.[0]?.TotalOfferAmount : 0) || 0 )}
) )}
); }; export default ItemWiseReport;