diff --git a/src/Components/Menu/SideMenuPozo.jsx b/src/Components/Menu/SideMenuPozo.jsx index c60cd0c..bbd38dd 100644 --- a/src/Components/Menu/SideMenuPozo.jsx +++ b/src/Components/Menu/SideMenuPozo.jsx @@ -56,6 +56,9 @@ import { changeBtoBQuickProductTransfer, changeTipAmount, GlobalDineinDefault, + changePreviousOrderOfferDetail, + changePreviousOrderPayment, + changeBillEditingMode, } from '../../Features/BookingScreen/BookingData/BookingData'; import { changeWholeSaleAuctionSelectedData, @@ -262,6 +265,9 @@ const SideMenuPozo = ({ items = [] }) => { dispatch(ChangeTotalAmount([])); dispatch(ChangeFullFreeProductList([])); dispatch(changeFullOfferAppliedProducts([])); + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeLoyaltyConsumedQuantities({})); } if (e == `${subDirectory}sales`) { @@ -285,6 +291,9 @@ const SideMenuPozo = ({ items = [] }) => { dispatch(Offer.changeCoupenCodeAmount(0)); dispatch(ChangeFullFreeProductList([])); dispatch(changeFullOfferAppliedProducts([])); + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(ChangeTotalAmount([])); dispatch(changeLoyaltyConsumedQuantities({})); } @@ -382,7 +391,7 @@ const SideMenuPozo = ({ items = [] }) => { e.stopPropagation(); handleMenuClick(item, parentKeys, e, level); }} - // style={{ paddingLeft: `${level * 10 + 1}px` }} + // style={{ paddingLeft: `${level * 10 + 1}px` }} > {item.icon && level === 0 && ( { + return await axiosRetailInstanceData.put(`/SalesBillEdit`, putData); + } +); + export const getEstimateDatewiseReport = createAsyncThunk( 'BookingData/getEstimateDatewiseReport', async (data) => { @@ -1598,6 +1606,9 @@ const initialState = { AddBookingDetailsTrigger: false, CurrentOrderId: null, productCardTrigger: 0, + salesBillEdit: false, + previousOrderPayment: [], + previousOrderOfferDetails: [], }; const BookingData = createSlice({ @@ -1923,6 +1934,15 @@ const BookingData = createSlice({ triggerProductCard: (state) => { state.productCardTrigger += 1; }, + changeBillEditingMode: (state, action) => { + state.salesBillEdit = action?.payload; + }, + changePreviousOrderPayment: (state, action) => { + state.previousOrderPayment = action?.payload; + }, + changePreviousOrderOfferDetail: (state, action) => { + state.previousOrderOfferDetails = action?.payload; + }, }, extraReducers: (builder) => { @@ -2190,6 +2210,9 @@ export const { changeAddBookingDetailsTrigger, changeCurrentOrderId, triggerProductCard, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail } = BookingData.actions; export const GlobalComboRedirectionToDefaultLayoutForParking = (state) => @@ -2358,5 +2381,11 @@ export const GlobalAddBookingDetailsTrigger = (state) => state?.BookingData?.AddBookingDetailsTrigger; export const GlobalCurrentOrderId = (state) => state?.BookingData?.CurrentOrderId; +export const GlobalSalesBillEdit = (state) => + state?.BookingData?.salesBillEdit; +export const GlobalPreviousOrderPayment = (state) => + state?.BookingData?.previousOrderPayment; +export const GlobalPreviousOrderOfferDetails = (state) => + state?.BookingData?.previousOrderOfferDetails; export default BookingData.reducer; diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BST1Payment.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BST1Payment.jsx index bd078f5..05f774e 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BST1Payment.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BST1Payment.jsx @@ -117,6 +117,15 @@ import { changeCurrentOrderId, GlobalCombocarddata, getCreditCustomer, + GlobalSalesBillEdit, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalpaymentOptionData, + getPaymentOptions, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; import FeaturesFunctionalities from '../../BookingFunctionality/FeaturesFunctionalities'; import { @@ -235,6 +244,10 @@ export default function BST1Payment() { ); const dispatch = useDispatch(); const navigate = useNavigate(); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const Discount = useSelector(GlobalOverAllOfferAmt); const defaultBookingType = useSelector(GlobalDefaultBookingType); const globalTipAmount = useSelector(GlobaltipAmount); @@ -323,6 +336,12 @@ export default function BST1Payment() { const [defaultEnabled, setDefaultEnabled] = useState(false); const [SelectedUpiOption, setSelectedUpiOption] = useState(); const [hold, setHold] = useState(false); + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); + console.log(currentOrderNetAmount, 'currentOrderNetAmount', previousNetAmount, salesBillEdit); const [addcustomer, setAddCustomer] = useState(false); const [PrintOrderDetails, setPrintOrderDetails] = useState([]); //Total calculation @@ -540,6 +559,27 @@ export default function BST1Payment() { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + // let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0)); let withdiscTotal = Total - @@ -547,19 +587,17 @@ export default function BST1Payment() { (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( - formatAmount( - withdiscTotal >= 0 - ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) - : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ) - ); + const currentOrderNetAmount = formatAmount( + withdiscTotal >= 0 + ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) + : (Number(Total) + Number(globalTipAmount)).toFixed(2) + ) + + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); - dispatch( - changeSummeryTotalAmount( - formatAmount(withdiscTotal > 0 ? withdiscTotal : Number(Total)) - ) - ); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -621,6 +659,31 @@ export default function BST1Payment() { fetchApi(); } }, [UserType]); + + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) useEffect(() => { let hasAccess = false; @@ -828,7 +891,7 @@ export default function BST1Payment() { const selectedStyle = stylesMap[ - printerTemplateStyle == undefined ? 'Style 13' : printerTemplateStyle + printerTemplateStyle == undefined ? 'Style 13' : printerTemplateStyle ]; if (selectedStyle) { @@ -1182,7 +1245,7 @@ export default function BST1Payment() { await Promise.all( PrintOrderDetails?.[0]?.OrderDetails?.map( async (orderDetail, index) => { - const groupedTokens = orderDetail?.productDetails?.reduce( + const groupedTokens = orderDetail?.productDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.reduce( (acc, item, idx) => { if (item.TokenAvailable === 'Y') { if (!item.CounterName) { @@ -1263,6 +1326,10 @@ export default function BST1Payment() { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1535,6 +1602,12 @@ export default function BST1Payment() { setCardoptionnotSelected(false); } }; + + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -1736,6 +1809,9 @@ export default function BST1Payment() { ParkingClaimed: false, }) ); + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeTipAmount(0)); dispatch(changeLoyaltyConsumedQuantities({})); dispatch(changeFullOfferAppliedProducts([])); @@ -1752,6 +1828,8 @@ export default function BST1Payment() { setPaybtnselected(PaymentOptionsModeId); setQrCode(false); setUpinotSelected(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); getHolddata(); if (defaultBookingType === 'Both') { await dispatch(changeBookingType('TakeAway')); @@ -1928,15 +2006,15 @@ export default function BST1Payment() { OrderStatus: 'O', OrderType: BookingType === 'Dine In' || - BookingTypeBoth || - Estimation?.SettingValue == 'N' + BookingTypeBoth || + Estimation?.SettingValue == 'N' ? 'S' : GlobEstBooking === 'OvrAllEst' ? 'E' : GlobEstBooking === 'ParEst' ? GlobProdwisedata?.includes( - a.InwardDtlId + ' ' + a?.BookingTypeName - ) + a.InwardDtlId + ' ' + a?.BookingTypeName + ) ? 'E' : 'S' : 'S', @@ -2026,7 +2104,7 @@ export default function BST1Payment() { : Paybtnnameselected?.toLowerCase() === 'credit' ? 'S' : Paybtnnameselected?.toLowerCase() === 'upi' && - SelectedUPIPayOption?.toLowerCase() === 'default' + SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', OrderDtlDetails: @@ -2043,15 +2121,15 @@ export default function BST1Payment() { ? globalTipAmount === 0 ? SelectedTableDetails : SelectedTableDetails?.map((item) => ({ - ...item, - TipsAmount: globalTipAmount, - })) + ...item, + TipsAmount: globalTipAmount, + })) : null, SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -2059,20 +2137,20 @@ export default function BST1Payment() { ? PaymentgatewayUPI?.[0]?.ModeId : SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find( - (busupi) => busupi?.ModeId === UpiId - )?.ModeId + (busupi) => busupi?.ModeId === UpiId + )?.ModeId : paybtnselected : paybtnselected ? paybtnselected : null, - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && - SelectedUPIPayOption?.toLowerCase() === 'business' + SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) - ?.MerchantId + ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2086,42 +2164,42 @@ export default function BST1Payment() { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) - ?.UPIDetailId + ?.UPIDetailId : SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) - ?.MerchantUPIId + ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && - SelectedUPIPayOption?.toLowerCase() === 'default' + SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( - (upipay) => upipay?.UPIId === UpiId - ) + (upipay) => upipay?.UPIId === UpiId + ) : (Paybtnnameselected?.toLowerCase() === 'upi' && - SelectedUPIPayOption?.toLowerCase() === 'pd') || - (Paybtnnameselected?.toLowerCase() === 'card' && - SelectedCardOption?.toLowerCase() === 'pd') + SelectedUPIPayOption?.toLowerCase() === 'pd') || + (Paybtnnameselected?.toLowerCase() === 'card' && + SelectedCardOption?.toLowerCase() === 'pd') ? useOptions?.[0]?.PaymentDetails?.PaymentDevice : (Paybtnnameselected?.toLowerCase() === 'upi' && - SelectedUPIPayOption?.toLowerCase() === 'pg') || - (Paybtnnameselected?.toLowerCase() === 'card' && - SelectedCardOption?.toLowerCase() === 'pg') + SelectedUPIPayOption?.toLowerCase() === 'pg') || + (Paybtnnameselected?.toLowerCase() === 'card' && + SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' ? 'S' : Paybtnnameselected?.toLowerCase() === 'upi' && - SelectedUPIPayOption?.toLowerCase() === 'default' + SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2190,14 +2268,14 @@ export default function BST1Payment() { setMessageType('success'); setMessageData( response?.data?.response + - ' ' + - (response?.data?.OrderDetails?.length > 0 - ? response?.data?.OrderId && - extractLastNumberOrderId( - response?.data?.OrderId, - response?.data?.OrderDetails?.[0]?.FYStatus - ) - : '') + ' ' + + (response?.data?.OrderDetails?.length > 0 + ? response?.data?.OrderId && + extractLastNumberOrderId( + response?.data?.OrderId, + response?.data?.OrderDetails?.[0]?.FYStatus + ) + : '') ); response?.data?.OrderDetails?.length > 0 && setPrintOrderDetails([response?.data]); @@ -2326,7 +2404,12 @@ export default function BST1Payment() { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } if (value !== 'Unpaid') { if (response?.data?.statusCode == 1) { let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( @@ -2349,14 +2432,14 @@ export default function BST1Payment() { setMessageType('success'); setMessageData( response?.data?.response + - ' ' + - (response?.data?.OrderDetails?.length > 0 - ? response?.data?.OrderId && - extractLastNumberOrderId( - response?.data?.OrderId, - response?.data?.OrderDetails?.[0]?.FYStatus - ) - : '') + ' ' + + (response?.data?.OrderDetails?.length > 0 + ? response?.data?.OrderId && + extractLastNumberOrderId( + response?.data?.OrderId, + response?.data?.OrderDetails?.[0]?.FYStatus + ) + : '') ); response?.data?.OrderDetails?.length > 0 && setPrintOrderDetails([response?.data]); @@ -2457,14 +2540,14 @@ export default function BST1Payment() { } setMessageData( response?.data?.response + - ' ' + - (response?.data?.OrderDetails?.length > 0 - ? response?.data?.OrderId && - extractLastNumberOrderId( - response?.data?.OrderId, - response?.data?.OrderDetails?.[0]?.FYStatus - ) - : '') + ' ' + + (response?.data?.OrderDetails?.length > 0 + ? response?.data?.OrderId && + extractLastNumberOrderId( + response?.data?.OrderId, + response?.data?.OrderDetails?.[0]?.FYStatus + ) + : '') ); if (response?.data?.OrderDetails?.length > 0) { setPrintOrderDetails([response?.data]); @@ -2639,14 +2722,14 @@ export default function BST1Payment() { setMessageType('success'); setMessageData( bookingpaymentupdate?.data?.response + - ' ' + - (bookingpaymentupdate?.data?.OrderDetails?.length > 0 - ? bookingpaymentupdate?.data?.OrderId && - extractLastNumberOrderId( - bookingpaymentupdate?.data?.OrderId, - bookingpaymentupdate?.data?.OrderDetail?.[0]?.FYStatus - ) - : '') + ' ' + + (bookingpaymentupdate?.data?.OrderDetails?.length > 0 + ? bookingpaymentupdate?.data?.OrderId && + extractLastNumberOrderId( + bookingpaymentupdate?.data?.OrderId, + bookingpaymentupdate?.data?.OrderDetail?.[0]?.FYStatus + ) + : '') ); bookingpaymentupdate?.data?.OrderDetails?.length > 0 && setPrintOrderDetails([bookingpaymentupdate?.data]); @@ -2664,7 +2747,7 @@ export default function BST1Payment() { if ( Date.now() - startTime > useOptions?.[0]?.PDConfigDetails?.[0]?.AutoCancelDurationInMinutes * - 60000 + 60000 ) { // 60,000 ms = 1 minute @@ -3098,7 +3181,7 @@ export default function BST1Payment() { }; const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -3108,6 +3191,11 @@ export default function BST1Payment() { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3437,30 +3525,30 @@ export default function BST1Payment() { (BookingType === 'Dine In' || BookingTypeBoth || CheckOrderType?.length > 0) && - !unpaidFlow && - OrderStatus + !unpaidFlow && + OrderStatus ? 'none' : 'auto', opacity: (BookingType === 'Dine In' || BookingTypeBoth || CheckOrderType?.length > 0) && - !unpaidFlow && - OrderStatus + !unpaidFlow && + OrderStatus ? 0.5 : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (
)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
0 && 'not-allowed', color: OrderCardDetail?.length > 0 || - (selOption?.value === undefined && - GlobalAddCustomerDetails1?.length === 0 && - GetCustId?.CustMobile === undefined) + (selOption?.value === undefined && + GlobalAddCustomerDetails1?.length === 0 && + GetCustId?.CustMobile === undefined) ? 'gray' : 'rgb(18, 146, 238)', fontSize: '28px', @@ -3626,16 +3750,16 @@ export default function BST1Payment() { (BookingType === 'Dine In' || BookingTypeBoth || CheckOrderType?.length > 0) && - !unpaidFlow && - OrderStatus + !unpaidFlow && + OrderStatus ? 'none' : 'auto', opacity: (BookingType === 'Dine In' || BookingTypeBoth || CheckOrderType?.length > 0) && - !unpaidFlow && - OrderStatus + !unpaidFlow && + OrderStatus ? 0.5 : 1, }} @@ -3654,14 +3778,14 @@ export default function BST1Payment() { width: '1.5rem', cursor: OrderCardDetail?.length === 0 || - CheckBookingStatus == 'Close' || - addnewAccess + CheckBookingStatus == 'Close' || + addnewAccess ? 'not-allowed' : 'pointer', color: OrderCardDetail?.length === 0 || - CheckBookingStatus == 'Close' || - addnewAccess + CheckBookingStatus == 'Close' || + addnewAccess ? 'gray' : 'rgb(18, 146, 238)', display: 'flex', @@ -3727,14 +3851,14 @@ export default function BST1Payment() { width: '1.5rem', cursor: OrderCardDetail?.length === 0 || - CheckBookingStatus == 'Close' || - addnewAccess + CheckBookingStatus == 'Close' || + addnewAccess ? 'not-allowed' : 'pointer', color: OrderCardDetail?.length === 0 || - CheckBookingStatus == 'Close' || - addnewAccess + CheckBookingStatus == 'Close' || + addnewAccess ? 'gray' : 'rgb(18, 146, 238)', display: 'flex', @@ -3816,58 +3940,58 @@ export default function BST1Payment() {
{unpaidFlow == false ? holdCheckedSalesSetup && - BookingType !== 'Dine In' && - !BookingTypeBoth && - OrderCardDetail?.length != 0 && - CheckOrderType?.length === 0 && - OrderType != 'Failed' && - CheckBookingStatus != 'Close' && - paybtns?.length > 0 && - !addnewAccess && ( - - {' '} - AddBookingDetails('Hold')} - style={{ - fontSize: '30px', - cursor: 'pointer', - color: '' ? '#52c41a' : '#1292EE', - }} - /> - - ) + BookingType !== 'Dine In' && + !BookingTypeBoth && + OrderCardDetail?.length != 0 && + CheckOrderType?.length === 0 && + OrderType != 'Failed' && + CheckBookingStatus != 'Close' && + paybtns?.length > 0 && + !addnewAccess && ( + + {' '} + AddBookingDetails('Hold')} + style={{ + fontSize: '30px', + cursor: 'pointer', + color: '' ? '#52c41a' : '#1292EE', + }} + /> + + ) : ''} {unpaidFlow == false ? holdCheckedSalesSetup && - paybtns?.length > 0 && - BookingType !== 'Dine In' && - !BookingTypeBoth && - Holddata?.length > 0 && - OrderCardDetail?.length == 0 && - CheckBookingStatus != 'Close' && - !addnewAccess && ( - - {' '} - - HandleholdModelOpen()} - style={{ - fontSize: '28px', - cursor: 'pointer', - color: Holddata ? '#52c41a' : 'default', - pointerEvents: - OrderType === 'Failed' ? 'none' : 'auto', - }} - /> - - - ) + paybtns?.length > 0 && + BookingType !== 'Dine In' && + !BookingTypeBoth && + Holddata?.length > 0 && + OrderCardDetail?.length == 0 && + CheckBookingStatus != 'Close' && + !addnewAccess && ( + + {' '} + + HandleholdModelOpen()} + style={{ + fontSize: '28px', + cursor: 'pointer', + color: Holddata ? '#52c41a' : 'default', + pointerEvents: + OrderType === 'Failed' ? 'none' : 'auto', + }} + /> + + + ) : ''}
)} @@ -3896,6 +4020,11 @@ export default function BST1Payment() { } BillingTableName="BillingTable1" CheckBookingStatus={CheckBookingStatus} + salesBillEdit={salesBillEdit} + currentOrderNetAmount={currentOrderNetAmount} + previousNetAmount={previousNetAmount} + credit={credit} + overAllBal={overAllBal} /> ) : ( @@ -3905,11 +4034,12 @@ export default function BST1Payment() { addnewAccess ? 'price-button-disabled' : FirstPaymentclick === false && - OrderCardDetail?.length > 0 && - paybtnselected && - CheckBookingStatus != 'Close' - ? !OrderStatus - ? 'price-button' + OrderCardDetail?.length > 0 && + paybtnselected && + CheckBookingStatus != 'Close' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'price-button' + : 'price-button' : 'price-button Order' : 'price-button-disabled' } @@ -3924,7 +4054,7 @@ export default function BST1Payment() { > {' '} {isMobile ? ( - !OrderStatus ? ( + !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
: ( `₹ ${Math.round( OrderType === 'Failed' ? FailedTotalAmt @@ -3935,7 +4065,7 @@ export default function BST1Payment() { ) : ( 'ORDER' ) - ) : !OrderStatus ? ( + ) : !OrderStatus ? (salesBillEdit && (currentOrderNetAmount < previousNetAmount)) ? (
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
) : (
₹{' '} data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> @@ -4266,9 +4399,9 @@ export default function BST1Payment() { const qty = isGroup ? OrderCardDetail.filter((o) => o.id === groupKey).reduce( - (sum, o) => sum + (o.OrderQty || 1), - 0 - ) + (sum, o) => sum + (o.OrderQty || 1), + 0 + ) : item.OrderQty || 1; return ( @@ -4383,24 +4516,24 @@ export default function BST1Payment() { Do you want to cancel the payment? )} - - {customerPreviesOrders && ( - setCustomerPreviesOrders(false)} - footer={false} - width={700} - className={'ModalPaymentGatewayEmbedded'} - children={ - <> - setCustomerPreviesOrders(false)} - /> - - } + + {customerPreviesOrders && ( + setCustomerPreviesOrders(false)} + footer={false} + width={700} + className={'ModalPaymentGatewayEmbedded'} + children={ + <> + setCustomerPreviesOrders(false)} /> - )} + + } + /> + )} ); } diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BalanceAndReceived.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BalanceAndReceived.jsx index 5d037c2..5911b82 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BalanceAndReceived.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable1/BalanceAndReceived.jsx @@ -32,6 +32,11 @@ const PaymentInput = ({ handleButtonClick, BillingTableName, CheckBookingStatus, + salesBillEdit = false, + currentOrderNetAmount = 0, + previousNetAmount = 0, + credit = false, + overAllBal = 0, }) => { const { SadminuserAccess } = useAuth(); let SAAccessCommonMaster = SadminuserAccess?.find( @@ -133,9 +138,9 @@ const PaymentInput = ({ addnewAccess ? 'price-button-disabled' : FirstPaymentclick === false && - OrderCardDetail?.length > 0 && - paybtnselected && - CheckBookingStatus != 'Close' + OrderCardDetail?.length > 0 && + paybtnselected && + CheckBookingStatus != 'Close' ? !OrderStatus ? 'price-button' : 'price-button Order' @@ -152,13 +157,15 @@ const PaymentInput = ({ style={{ fontFamily: FontFamily['head'] }} > {isMobile && - (!OrderStatus - ? `₹ ${Math.round( - OrderType === 'Failed' ? failedTotalAmt : totalAmount - )}` + (!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
: + `₹ ${Math.round( + OrderType === 'Failed' ? failedTotalAmt : credit && overAllBal >= 0 + ? Math.max(0, totalAmount - overAllBal) + : totalAmount + )}` : 'ORDER')} - {!isMobile && !OrderStatus && ( + {!isMobile && !OrderStatus && ((salesBillEdit && (currentOrderNetAmount < previousNetAmount)) ?
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
: ( <> ₹{' '} {/* */} {OrderType === 'Failed' ? failedTotalAmt - : safeRound(totalAmount)} + : safeRound((credit && overAllBal >= 0) + ? Math.max(0, totalAmount - overAllBal) + : totalAmount)} - )} + ))} {!isMobile && OrderStatus && 'ORDER'} diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BSBillingTable2.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BSBillingTable2.jsx index 6b576b3..2816c23 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BSBillingTable2.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BSBillingTable2.jsx @@ -124,6 +124,15 @@ import { changeCurrentOrderId, GlobalCombocarddata, getCreditCustomer, + GlobalSalesBillEdit, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalpaymentOptionData, + getPaymentOptions, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; import { gettinghold, @@ -243,6 +252,10 @@ const BSBillingTable2 = () => { const SessionMobileNo = SessionData?.SessionMobileNo; const dispatch = useDispatch(); const navigate = useNavigate(); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const defaultBookingType = useSelector(GlobalDefaultBookingType); const globalTipAmount = useSelector(GlobaltipAmount); const OtherServiceTicketClaim = useSelector(GlobalOtherServiceTicketClaim); @@ -320,6 +333,11 @@ const BSBillingTable2 = () => { const [overAllBal, setOverAllBal] = useState(0); const [creditCustomerOpen, setcreditCustomerOpen] = useState(false); const [hold, setHold] = useState(false); + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const [addcustomer, setAddCustomer] = useState(false); const [paybtns, setpaybtns] = useState([]); const tableOptions = templateData?.BookingBilling?.[1]; @@ -453,6 +471,7 @@ const BSBillingTable2 = () => { item.SettingIdName.toLowerCase() === 'shortcutkeys' && item.SettingValue === 'Y' ); + useEffect(() => { const fetchCreditCustomer = async () => { const selectedMode = paybtns?.find( @@ -492,6 +511,31 @@ const BSBillingTable2 = () => { fetchCreditCustomer(); }, [paybtnselected, selOption, paybtns]); + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) + useEffect(() => { if (!preOrder) { const totalSum = OrderCardDetail?.reduce( @@ -547,23 +591,43 @@ const BSBillingTable2 = () => { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( + const currentOrderNetAmount = formatAmount( withdiscTotal >= 0 ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ); + ) - dispatch( - changeSummeryTotalAmount( - withdiscTotal > 0 ? withdiscTotal : Number(Total) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -768,6 +832,10 @@ const BSBillingTable2 = () => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1241,6 +1309,11 @@ const BSBillingTable2 = () => { } }; + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -1777,6 +1850,9 @@ const BSBillingTable2 = () => { } else { dispatch(changeOrderCardDetails([])); } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeTipAmount(0)); dispatch(changeFullOfferAppliedProducts([])); dispatch(ChangeFullFreeProductList([])); @@ -1793,6 +1869,8 @@ const BSBillingTable2 = () => { setPaybtnnameselected(PaymentOptionsModeName); setQrCode(false); setUpinotSelected(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); getHolddata(); if (defaultBookingType === 'Both') { await dispatch(changeBookingType('TakeAway')); @@ -2094,7 +2172,7 @@ const BSBillingTable2 = () => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -2108,15 +2186,14 @@ const BSBillingTable2 = () => { : paybtnselected ? paybtnselected : null, - // SelectedUPIPayOption?.toLowerCase() === "pg" ? - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2130,7 +2207,7 @@ const BSBillingTable2 = () => { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId @@ -2138,7 +2215,7 @@ const BSBillingTable2 = () => { ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -2155,7 +2232,7 @@ const BSBillingTable2 = () => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2164,8 +2241,8 @@ const BSBillingTable2 = () => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2373,7 +2450,12 @@ const BSBillingTable2 = () => { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } if (value !== 'Unpaid') { if (response?.data?.statusCode == 1) { let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( @@ -3202,7 +3284,7 @@ const BSBillingTable2 = () => { // split payments const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -3212,6 +3294,11 @@ const BSBillingTable2 = () => { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3821,7 +3908,7 @@ const BSBillingTable2 = () => { : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (
)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
{ OrderCardDetail?.length > 0 && paybtnselected && CheckBookingStatus != 'Close' - ? 'billing-btn' + ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'billing-btn' + : 'billing-btn' : 'billing-btn-deactive' } // onClick={() => { @@ -4143,7 +4268,9 @@ const BSBillingTable2 = () => { handleButtonClick } > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
: ( <>

Total

@@ -4364,7 +4491,10 @@ const BSBillingTable2 = () => { SplitPaymentModal={Splitpayment} handlesplitpaymentclose={handlesplitpaymentclose} TotalNetAmount={ - OrderType === 'Failed' ? FailedTotalAmt : Math.round(TotalAmount) + OrderType === 'Failed' ? FailedTotalAmt : Math.round(OrderCardDetail?.reduce((acc, data) => data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> @@ -4579,7 +4709,7 @@ const BSBillingTable2 = () => {
} /> - + setShowCancelConfirm(true)} diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable3/BSBillingTable3pay.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable3/BSBillingTable3pay.jsx index 1de2de5..217a778 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable3/BSBillingTable3pay.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable3/BSBillingTable3pay.jsx @@ -131,6 +131,15 @@ import { GlobalCombocarddata, getCreditCustomer, GlobalSummeryTotalItems, + GlobalSalesBillEdit, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalpaymentOptionData, + getPaymentOptions, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; import { PrintStyleFunction } from '../../../../paymentpdfPage/PrintStyleFunction.js'; import FeaturesFunctionalities from '../../BookingFunctionality/FeaturesFunctionalities'; @@ -225,6 +234,10 @@ const BSBillingTable3Pay = () => { ); const dispatch = useDispatch(); const navigate = useNavigate(); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const FreeProdList = useSelector(GlobalFreeProdList); const offerAppliedProducts = useSelector( GlobalOfferAppliedProducts, @@ -332,11 +345,16 @@ const BSBillingTable3Pay = () => { const [SelectedUPIPayOption, setSelectedUPIPayOption] = useState('Default'); const [SelectedUpiOption, setSelectedUpiOption] = useState(''); const [hold, setHold] = useState(false); + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const [addcustomer, setAddCustomer] = useState(false); const [PrintOrderDetails, setPrintOrderDetails] = useState([]); const OrderCardDetail = useSelector(GlobalOrderCardDetails); const [customerPreviesOrders, setCustomerPreviesOrders] = useState(false); - + console.log(OrderCardDetail, 'OrderCardDetail'); //Total calculation const TotalItems = OrderCardDetail?.length; @@ -568,23 +586,43 @@ const BSBillingTable3Pay = () => { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( + const currentOrderNetAmount = formatAmount( withdiscTotal >= 0 ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ); + ) - dispatch( - changeSummeryTotalAmount( - formatAmount(withdiscTotal > 0 ? withdiscTotal : Number(Total)) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -693,6 +731,31 @@ const BSBillingTable3Pay = () => { // } }, []); + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) + useEffect(() => { if (UserType === 'Employee') { fetchApi(); @@ -1424,6 +1487,10 @@ const BSBillingTable3Pay = () => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1705,6 +1772,11 @@ const BSBillingTable3Pay = () => { } }; + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -1912,6 +1984,9 @@ const BSBillingTable3Pay = () => { // } else { dispatch(changeOrderCardDetails([])); // } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeLoyaltyConsumedQuantities({})); dispatch(changeFullOfferAppliedProducts([])); dispatch(ChangeFullFreeProductList([])); @@ -1927,6 +2002,8 @@ const BSBillingTable3Pay = () => { setPaybtnnameselected(PaymentOptionsModeName); setPaybtnselected(PaymentOptionsModeId); setQrCode(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); setUpinotSelected(false); getHolddata(); if (defaultBookingType === 'Both') { @@ -2239,7 +2316,7 @@ const BSBillingTable3Pay = () => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -2253,14 +2330,14 @@ const BSBillingTable3Pay = () => { : paybtnselected ? paybtnselected : null, - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2274,7 +2351,7 @@ const BSBillingTable3Pay = () => { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId @@ -2282,7 +2359,7 @@ const BSBillingTable3Pay = () => { ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -2299,7 +2376,7 @@ const BSBillingTable3Pay = () => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2308,8 +2385,8 @@ const BSBillingTable3Pay = () => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2519,7 +2596,12 @@ const BSBillingTable3Pay = () => { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } if (value !== 'Unpaid') { if (response?.data?.statusCode == 1) { let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( @@ -3218,7 +3300,7 @@ const BSBillingTable3Pay = () => { }; // split payments const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -3228,6 +3310,11 @@ const BSBillingTable3Pay = () => { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3954,7 +4041,7 @@ const BSBillingTable3Pay = () => { : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (
)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
{ OrderCardDetail?.length > 0 && paybtnselected && CheckBookingStatus != 'Close' - ? !OrderStatus - ? 'BSBillingTable3-paybtn' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'BSBillingTable3-paybtn' + : 'BSBillingTable3-paybtn' : 'BSBillingTable3-paybtn Order' : 'BSBillingTable3-paybtn-deactive' } @@ -4292,7 +4416,7 @@ const BSBillingTable3Pay = () => { } //dhana > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?

Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}

: ( <>

{' '} @@ -4504,7 +4628,10 @@ const BSBillingTable3Pay = () => { SplitPaymentModal={Splitpayment} handlesplitpaymentclose={handlesplitpaymentclose} TotalNetAmount={ - OrderType === 'Failed' ? FailedTotalAmt : Math.round(TotalAmount) + OrderType === 'Failed' ? FailedTotalAmt : Math.round(OrderCardDetail?.reduce((acc, data) => data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable4/BSBilling4Payment.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable4/BSBilling4Payment.jsx index 0802943..89d5b59 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable4/BSBilling4Payment.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable4/BSBilling4Payment.jsx @@ -118,6 +118,14 @@ import { changeCurrentOrderId, GlobalCombocarddata, getCreditCustomer, + GlobalSalesBillEdit, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalpaymentOptionData, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; import { globalExtraTotalAmount, @@ -231,6 +239,10 @@ const BSBilling4Payment = () => { ); const dispatch = useDispatch(); const navigate = useNavigate(); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const FreeProdList = useSelector(GlobalFreeProdList); const offerAppliedProducts = useSelector(GlobalOfferAppliedProducts); // const applyOffer = useApplyOfferto_CardDetail(); @@ -329,6 +341,11 @@ const BSBilling4Payment = () => { const UserType = SessionData?.UserType; const AuthToken = SessionData?.AuthToken; const SessionMobileNo = SessionData?.SessionMobileNo; + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const [PaymentgatewayCard, setPaymentgatewayCard] = useState([]); const [PaymentDeviceCard, setPaymentDeviceCard] = useState([]); const [PaymentgatewayUPI, setPaymentgatewayUPI] = useState([]); @@ -506,6 +523,32 @@ const BSBilling4Payment = () => { const Data1 = { AppId, CompId, BranchId }; dispatch(getPrintSelectionComponentData(Data1)).unwrap(); }, []); + + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) + useEffect(() => { const fetchCreditCustomer = async () => { const selectedMode = paybtns?.find( @@ -602,25 +645,43 @@ const BSBilling4Payment = () => { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( - formatAmount( - withdiscTotal >= 0 - ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) - : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ) - ); + const currentOrderNetAmount = formatAmount( + withdiscTotal >= 0 + ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) + : (Number(Total) + Number(globalTipAmount)).toFixed(2) + ) - dispatch( - changeSummeryTotalAmount( - formatAmount(withdiscTotal > 0 ? withdiscTotal : Number(Total)) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -1307,6 +1368,10 @@ const BSBilling4Payment = () => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1610,6 +1675,12 @@ const BSBilling4Payment = () => { setCardoptionnotSelected(false); } }; + + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -1806,6 +1877,9 @@ const BSBilling4Payment = () => { // } else { dispatch(changeOrderCardDetails([])); // } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeLoyaltyConsumedQuantities({})); dispatch(changeFullOfferAppliedProducts([])); dispatch(ChangeFullFreeProductList([])); @@ -1821,6 +1895,8 @@ const BSBilling4Payment = () => { setPaybtnnameselected(PaymentOptionsModeName); setPaybtnselected(PaymentOptionsModeId); setQrCode(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); setUpinotSelected(false); getHolddata(); if (defaultBookingType === 'Both') { @@ -2123,7 +2199,7 @@ const BSBilling4Payment = () => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -2137,14 +2213,14 @@ const BSBilling4Payment = () => { : paybtnselected ? paybtnselected : null, - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2158,7 +2234,7 @@ const BSBilling4Payment = () => { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId @@ -2166,7 +2242,7 @@ const BSBilling4Payment = () => { ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -2183,7 +2259,7 @@ const BSBilling4Payment = () => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2192,8 +2268,8 @@ const BSBilling4Payment = () => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2402,7 +2478,12 @@ const BSBilling4Payment = () => { putdata['PrintType'] = 'Y'; } console.log(putdata, 'putdataputdata'); - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } let PayatCounterfilter = response?.data?.PaymentOrderDtl?.filter( (item) => item?.PaymentOptionType?.toLowerCase() === 'pc' ); @@ -3061,7 +3142,7 @@ const BSBilling4Payment = () => { } }; const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -3071,6 +3152,11 @@ const BSBilling4Payment = () => { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3936,7 +4022,7 @@ const BSBilling4Payment = () => { : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (

)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
{ addnewAccess ? 'Table4-Btn-final-price-disabled' : FirstPaymentclick === false && - OrderCardDetail?.length > 0 && - paybtnselected && - CheckBookingStatus != 'Close' - ? !OrderStatus - ? 'Table4-Btn-final-price' + OrderCardDetail?.length > 0 && + paybtnselected && + CheckBookingStatus != 'Close' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'Table4-Btn-final-price' + : 'Table4-Btn-final-price' : 'Table4-Btn-final-price order' : 'Table4-Btn-final-price-disabled' } @@ -4265,7 +4388,7 @@ const BSBilling4Payment = () => { handleButtonClick } > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?

Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}

: (
{ SplitPaymentModal={Splitpayment} handlesplitpaymentclose={handlesplitpaymentclose} TotalNetAmount={ - OrderType === 'Failed' ? FailedTotalAmt : Math.round(TotalAmount) + OrderType === 'Failed' ? FailedTotalAmt : Math.round(OrderCardDetail?.reduce((acc, data) => data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BSBillingTable5.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BSBillingTable5.jsx index 5c7e9eb..e3403db 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BSBillingTable5.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BSBillingTable5.jsx @@ -121,6 +121,15 @@ import { changeCurrentOrderId, GlobalCombocarddata, getCreditCustomer, + GlobalSalesBillEdit, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalpaymentOptionData, + getPaymentOptions, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; import { ChangeTotalAmount } from '../../../../../Features/ExteraCharges/ExtraCharges.js'; //Shifayth Date:27/12/2023 import { @@ -237,6 +246,10 @@ const BSBillingTable5 = () => { const UserType = SessionData?.UserType; const AuthToken = SessionData?.AuthToken; const SessionMobileNo = SessionData?.SessionMobileNo; + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const Discount = useSelector(GlobalOverAllOfferAmt); const FreeProdList = useSelector(GlobalFreeProdList); const offerAppliedProducts = useSelector(GlobalOfferAppliedProducts); @@ -317,6 +330,11 @@ const BSBillingTable5 = () => { const printDatas = useSelector(GlobalprintDatas); const PrinterDetails = useSelector(GlobalPrinterMappingDtls); + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const [paybtnselected, setPaybtnselected] = useState(); const [Paybtnnameselected, setPaybtnnameselected] = useState(); const [SelectedBookingType, setSelectedBookingType] = useState(null); @@ -467,6 +485,31 @@ const BSBillingTable5 = () => { // for customised invoice number const { invoiceDate, clearInvoiceDate } = useDateStore(); const CurrentOrderId = useSelector(GlobalCurrentOrderId); + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) + useEffect(() => { if ( OrderCardDetail?.length === 1 && @@ -590,25 +633,44 @@ const BSBillingTable5 = () => { ); } + + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( - formatAmount( - withdiscTotal >= 0 - ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) - : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ) - ); + const currentOrderNetAmount = formatAmount( + withdiscTotal >= 0 + ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) + : (Number(Total) + Number(globalTipAmount)).toFixed(2) + ) - dispatch( - changeSummeryTotalAmount( - formatAmount(withdiscTotal > 0 ? withdiscTotal : Number(Total)) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -845,6 +907,10 @@ const BSBillingTable5 = () => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1680,6 +1746,12 @@ const BSBillingTable5 = () => { setCardoptionnotSelected(false); } }; + + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -1821,6 +1893,9 @@ const BSBillingTable5 = () => { } else { dispatch(changeOrderCardDetails([])); } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeTipAmount(0)); dispatch(changeLoyaltyConsumedQuantities({})); await dispatch(ChangeTotalAmount([])); @@ -1837,6 +1912,8 @@ const BSBillingTable5 = () => { setPaybtnselected(PaymentOptionsModeId); setQrCode(false); setUpinotSelected(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); getHolddata(); if (defaultBookingType === 'Both') { await dispatch(changeBookingType('TakeAway')); @@ -2135,7 +2212,7 @@ const BSBillingTable5 = () => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -2149,14 +2226,14 @@ const BSBillingTable5 = () => { : paybtnselected ? paybtnselected : null, - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2170,7 +2247,7 @@ const BSBillingTable5 = () => { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId @@ -2178,7 +2255,7 @@ const BSBillingTable5 = () => { ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -2195,7 +2272,7 @@ const BSBillingTable5 = () => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2204,8 +2281,8 @@ const BSBillingTable5 = () => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2411,7 +2488,12 @@ const BSBillingTable5 = () => { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } if (value !== 'Unpaid') { if (response?.data?.statusCode == 1) { let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( @@ -3183,7 +3265,7 @@ const BSBillingTable5 = () => { // split payments const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -3193,6 +3275,11 @@ const BSBillingTable5 = () => { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3606,7 +3693,7 @@ const BSBillingTable5 = () => { : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (
)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
{ OrderCardDetail?.length > 0 && paybtnselected && CheckBookingStatus != 'Close' - ? !OrderStatus - ? 'BSBIllingTable5-paybtn-noitems' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'BSBIllingTable5-paybtn-noitems' + : 'BSBIllingTable5-paybtn-noitems' : 'BSBIllingTable5-paybtn-noitems Order' : 'BSBIllingTable5-paybtn-noitems-disable' } @@ -4168,7 +4292,7 @@ const BSBillingTable5 = () => { handleButtonClick } > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
: ( <> {/* ₹ {Math.round(TotalAmount)} */} {isMobile ? ( @@ -4377,7 +4501,10 @@ const BSBillingTable5 = () => { SplitPaymentModal={Splitpayment} handlesplitpaymentclose={handlesplitpaymentclose} TotalNetAmount={ - OrderType === 'Failed' ? FailedTotalAmt : Math.round(TotalAmount) + OrderType === 'Failed' ? FailedTotalAmt : Math.round(OrderCardDetail?.reduce((acc, data) => data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable6/BST6Payment.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable6/BST6Payment.jsx index 1baef7e..c8bfad8 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable6/BST6Payment.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable6/BST6Payment.jsx @@ -120,6 +120,15 @@ import { changeCurrentOrderId, GlobalCombocarddata, getCreditCustomer, + GlobalSalesBillEdit, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalpaymentOptionData, + getPaymentOptions, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; import FeaturesFunctionalities from '../../BookingFunctionality/FeaturesFunctionalities'; import { @@ -240,6 +249,10 @@ const BST6Payment = () => { type?.PreferredSubCatName?.toLowerCase() === 'dine in' && type?.PreferredStatus === 'Y' ); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const screenwidth = useSelector(GlobalScreenSize); const printerTemplateStyle = useSelector(SelectedPrintTemplate); const RetailWSSalesType = useSelector(GlobalRetailWSSalesType); @@ -336,6 +349,11 @@ const BST6Payment = () => { const UserType = SessionData?.UserType; const AuthToken = SessionData?.AuthToken; const SessionMobileNo = SessionData?.SessionMobileNo; + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const [FirstPaymentclick, setFirstPaymentclick] = useState(false); const [open, setOpen] = useState(false); const [unpaidopen, setUnpaidOpen] = useState(false); @@ -459,6 +477,30 @@ const BST6Payment = () => { setPrintOrderDetails([]); } }, [OrderCardDetail]); + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) console.log(PrintOrderDetails, 'PrintOrderDetails'); useEffect(() => { if (selOption) { @@ -563,25 +605,43 @@ const BST6Payment = () => { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( - formatAmount( - withdiscTotal >= 0 - ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) - : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ) - ); + const currentOrderNetAmount = formatAmount( + withdiscTotal >= 0 + ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) + : (Number(Total) + Number(globalTipAmount)).toFixed(2) + ) - dispatch( - changeSummeryTotalAmount( - formatAmount(withdiscTotal > 0 ? withdiscTotal : Number(Total)) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -1174,6 +1234,10 @@ const BST6Payment = () => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1634,6 +1698,11 @@ const BST6Payment = () => { } }; + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -1718,7 +1787,7 @@ const BST6Payment = () => { setCardOptionOpen(visible); }; const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -1728,6 +1797,11 @@ const BST6Payment = () => { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -1861,6 +1935,9 @@ const BST6Payment = () => { } else { dispatch(changeOrderCardDetails([])); } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeTipAmount(0)); dispatch(changeLoyaltyConsumedQuantities({})); await dispatch(ChangeTotalAmount([])); @@ -1877,6 +1954,8 @@ const BST6Payment = () => { setPaybtnselected(PaymentOptionsModeId); setQrCode(false); setUpinotSelected(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); getHolddata(); if (defaultBookingType === 'Both') { await dispatch(changeBookingType('TakeAway')); @@ -2173,7 +2252,7 @@ const BST6Payment = () => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -2187,14 +2266,14 @@ const BST6Payment = () => { : paybtnselected ? paybtnselected : null, - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2208,7 +2287,7 @@ const BST6Payment = () => { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId @@ -2216,7 +2295,7 @@ const BST6Payment = () => { ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -2233,7 +2312,7 @@ const BST6Payment = () => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2242,8 +2321,8 @@ const BST6Payment = () => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2451,7 +2530,12 @@ const BST6Payment = () => { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } let PayatCounterfilter = response?.data?.PaymentOrderDtl?.filter( (item) => item?.PaymentOptionType?.toLowerCase() === 'pc' ); @@ -3678,7 +3762,7 @@ const BST6Payment = () => { : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (
)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
{ OrderCardDetail?.length > 0 && paybtnselected && CheckBookingStatus != 'Close' - ? !OrderStatus - ? 'BST6Payment-Button-pay' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'BST6Payment-Button-pay' + : 'BST6Payment-Button-pay' : 'BST6Payment-Button-pay Order' : 'BST6Payment-Button-pay-disabled' } @@ -3798,7 +3917,7 @@ const BST6Payment = () => { handleButtonClick } > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
: ( <>

{isMobile ? ( @@ -4317,7 +4436,10 @@ const BST6Payment = () => { SplitPaymentModal={Splitpayment} handlesplitpaymentclose={handlesplitpaymentclose} TotalNetAmount={ - OrderType === 'Failed' ? FailedTotalAmt : Math.round(TotalAmount) + OrderType === 'Failed' ? FailedTotalAmt : Math.round(OrderCardDetail?.reduce((acc, data) => data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable7/BSBilling7Payment.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable7/BSBilling7Payment.jsx index 59df9c9..6464813 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable7/BSBilling7Payment.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable7/BSBilling7Payment.jsx @@ -110,6 +110,15 @@ import { changeCurrentOrderId, GlobalCombocarddata, getCreditCustomer, + GlobalSalesBillEdit, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalpaymentOptionData, + getPaymentOptions, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData.js'; import { globalExtraTotalAmount, @@ -225,6 +234,10 @@ const BSBilling7Payment = () => { ); const dispatch = useDispatch(); const navigate = useNavigate(); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const Discount = useSelector(GlobalOverAllOfferAmt); const screenwidth = useSelector(GlobalScreenSize); const defaultBookingType = useSelector(GlobalDefaultBookingType); @@ -327,6 +340,11 @@ const BSBilling7Payment = () => { const [SelectedUPIPayOption, setSelectedUPIPayOption] = useState('Default'); const [SelectedUpiOption, setSelectedUpiOption] = useState(); const [hold, setHold] = useState(false); + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const [addcustomer, setAddCustomer] = useState(false); const [PrintOrderDetails, setPrintOrderDetails] = useState([]); const [customerPreviesOrders, setCustomerPreviesOrders] = useState(false); const OverAllSales = useSelector(GlobalOverAllDiscSales); @@ -348,7 +366,7 @@ const BSBilling7Payment = () => { return acc + Math.round(Number(item?.OrderQty || 0)); }, 0); - + console.log(salesBillEdit, currentOrderNetAmount, previousNetAmount, "previousNetAmount") const [UpiOption, setUpiOption] = useState(''); const [BusinessPayOption, setBusinessPayoption] = useState([]); const [paymentSucess, setPaymentSuccess] = useState(false); @@ -482,6 +500,33 @@ const BSBilling7Payment = () => { setMobileNoWhatsApp(selOption); } }, [selOption]); + + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) + + // Usage useEffect(() => { const fetchCreditCustomer = async () => { @@ -579,23 +624,44 @@ const BSBilling7Payment = () => { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( + const currentOrderNetAmount = formatAmount( withdiscTotal >= 0 ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ); + ) + console.log(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount, "totalPreviouspayment") - dispatch( - changeSummeryTotalAmount( - withdiscTotal > 0 ? withdiscTotal : Number(Total) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -819,7 +885,7 @@ const BSBilling7Payment = () => { async (orderDetail, index) => { await printDiv(`${selectedStyle}-${index}`, style); // Use unique IDs for each print if (orderDetail?.BookingTypeName !== 'Dine In') { - const groupedTokens = orderDetail?.productDetails?.reduce( + const groupedTokens = orderDetail?.productDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.reduce( (acc, item, idx) => { if (item.TokenAvailable === 'Y') { if (!item.CounterName) { @@ -899,12 +965,17 @@ const BSBilling7Payment = () => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) : AddBookingDetails(BookingType, true); } }; + const financialYearError = async () => { setMessageType('error'); setMessageData('Financial Year-Based Sales Not Yet Started'); @@ -1637,6 +1708,12 @@ const BSBilling7Payment = () => { setCardoptionnotSelected(false); } }; + + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -1833,6 +1910,9 @@ const BSBilling7Payment = () => { } else { dispatch(changeOrderCardDetails([])); } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeTipAmount(0)); dispatch(changeFullOfferAppliedProducts([])); dispatch(changeLoyaltyConsumedQuantities({})); @@ -1848,6 +1928,8 @@ const BSBilling7Payment = () => { setPaybtnnameselected(PaymentOptionsModeName); setPaybtnselected(PaymentOptionsModeId); setQrCode(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); setUpinotSelected(false); getHolddata(); if (defaultBookingType === 'Both') { @@ -2139,7 +2221,7 @@ const BSBilling7Payment = () => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -2153,14 +2235,14 @@ const BSBilling7Payment = () => { : paybtnselected ? paybtnselected : null, - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2174,7 +2256,7 @@ const BSBilling7Payment = () => { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId @@ -2182,7 +2264,7 @@ const BSBilling7Payment = () => { ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -2199,7 +2281,7 @@ const BSBilling7Payment = () => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2208,8 +2290,8 @@ const BSBilling7Payment = () => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2416,7 +2498,12 @@ const BSBilling7Payment = () => { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } if (value !== 'Unpaid') { if (response?.data?.statusCode == 1) { let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( @@ -3126,7 +3213,7 @@ const BSBilling7Payment = () => { }; // split payments const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -3136,6 +3223,11 @@ const BSBilling7Payment = () => { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3840,7 +3932,7 @@ const BSBilling7Payment = () => { : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (

)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
{ OrderCardDetail?.length > 0 && paybtnselected && CheckBookingStatus != 'Close' - ? !OrderStatus - ? 'Table4-Btn-final-price' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'Table4-Btn-final-price' + : 'Table4-Btn-final-price' : 'Table4-Btn-final-price Order' : 'Table4-Btn-final-price-disabled' } @@ -4168,7 +4297,7 @@ const BSBilling7Payment = () => { handleButtonClick } > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?

Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}

: ( <>
{ SplitPaymentModal={Splitpayment} handlesplitpaymentclose={handlesplitpaymentclose} TotalNetAmount={ - OrderType === 'Failed' ? FailedTotalAmt : Math.round(TotalAmount) + OrderType === 'Failed' ? FailedTotalAmt : Math.round(OrderCardDetail?.reduce((acc, data) => data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.jsx index 7c71170..706af57 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.jsx @@ -63,6 +63,9 @@ import { PostBlockSlots, changeCustomerID, changeSelectedCustId, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; import './StandardTable.scss'; import { IoClose } from 'react-icons/io5'; @@ -148,8 +151,8 @@ const StandardTable = () => { OrderType === 'Hold' ? OrderCardDetail?.filter((a, b) => a.BookingTypeName === 'TakeAway') : OrderCardDetail?.filter( - (a, b) => a.BookingTypeName === 'TakeAway' && !a?.SalesId - ); + (a, b) => a.BookingTypeName === 'TakeAway' && !a?.SalesId + ); console.log('HoldOrderDtl', OrderCardDetail); const OldtableDataDinein = OrderCardDetail?.filter( (a, b) => a.BookingTypeName === 'Dine In' && a?.SalesId @@ -157,8 +160,8 @@ const StandardTable = () => { const OldtableDataTakeAway = OrderType != 'Hold' ? OrderCardDetail?.filter( - (a, b) => a.BookingTypeName === 'TakeAway' && a?.SalesId - ) + (a, b) => a.BookingTypeName === 'TakeAway' && a?.SalesId + ) : []; const [EditQuantity, setEditQuantity] = useState(false); @@ -291,9 +294,9 @@ const StandardTable = () => { AppId: AppId, ...(AvailableDate && selectedDate ? { - fromDate: selectedDate?.[0], - toDate: selectedDate?.[1], - } + fromDate: selectedDate?.[0], + toDate: selectedDate?.[1], + } : {}), }; await dispatch(getSelectedFavItems(data)).unwrap(); @@ -305,9 +308,9 @@ const StandardTable = () => { ProdSubCat: ProdSubCat, ...(AvailableDate && selectedDate ? { - fromDate: selectedDate?.[0], - toDate: selectedDate?.[1], - } + fromDate: selectedDate?.[0], + toDate: selectedDate?.[1], + } : {}), }; @@ -318,9 +321,9 @@ const StandardTable = () => { prodCat: prodCat, ...(AvailableDate && selectedDate ? { - fromDate: selectedDate?.[0], - toDate: selectedDate?.[1], - } + fromDate: selectedDate?.[0], + toDate: selectedDate?.[1], + } : {}), }; @@ -413,6 +416,9 @@ const StandardTable = () => { await dispatch(ChangeTotalAmount([])); await dispatch(changeOrderType(null)); await dispatch(changeReorderHoldDetails({})); + await dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); } else if (OrderType === 'Reorder') { const UpdatedData = OrderCardDetail?.filter( (cartItem) => cartItem?.SalesId @@ -438,6 +444,9 @@ const StandardTable = () => { await dispatch(ChangeTotalAmount([])); await dispatch(changeUnpaidData(false)); await dispatch(changeReorderHoldDetails({})); + await dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); await dispatch(changeReorderProductDetails([])); await dispatch(ChangeSelectedCustDisable(false)); @@ -1124,9 +1133,9 @@ const StandardTable = () => { )?.map((item, idx) => idx === 0 ? { - ...item, - FreeQty, - } + ...item, + FreeQty, + } : item ), }; @@ -2510,11 +2519,10 @@ const StandardTable = () => { {OldtableDataTakeAway?.map((item, index) => ( { ? item?.SalesId && OrderType !== 'Hold' ? 'rgb(243, 248, 213)' : triggerAnimation && - index === 0 && - !item?.SalesId && - tableDataTakeAway?.length >= PreviousdataLength + index === 0 && + !item?.SalesId && + tableDataTakeAway?.length >= PreviousdataLength ? 'wheat' : triggerAnimation && - index === 0 && - tableDataTakeAway?.length >= - PreviousdataLength && - !HoldOrderDtl && - !UnpaidData + index === 0 && + tableDataTakeAway?.length >= + PreviousdataLength && + !HoldOrderDtl && + !UnpaidData ? 'wheat' : 'inherit' : 'none', @@ -2541,9 +2549,9 @@ const StandardTable = () => { item?.SalesId && OrderType !== 'Hold' ? 'rgb(243, 248, 213)' : GlobEstBooking === 'ParEst' && - GlobProdwisedata?.includes( - item?.InwardDtlId + ' ' + item?.BookingTypeName - ) + GlobProdwisedata?.includes( + item?.InwardDtlId + ' ' + item?.BookingTypeName + ) ? '#b2d1f7' : index % 2 === 0 ? 'white' @@ -2606,7 +2614,7 @@ const StandardTable = () => { }} onClick={() => item.FullProductIdentifierDtls?.length > 0 || - item.ProductIdentifierDtls?.length > 0 + item.ProductIdentifierDtls?.length > 0 ? handleImeiDetails(item) : editField && handleEditQuantity(item) } @@ -2675,21 +2683,21 @@ const StandardTable = () => { {productBasedExtraCharges?.find( (find) => find.ProdId === item.ProdId ) !== undefined && ( -
- Extra Charges :{' '} - { - productBasedExtraCharges?.find( - (find) => find.ProdId === item.ProdId - )?.TotalAmt - } -
- )} +
+ Extra Charges :{' '} + { + productBasedExtraCharges?.find( + (find) => find.ProdId === item.ProdId + )?.TotalAmt + } +
+ )} )} @@ -2784,7 +2792,7 @@ const StandardTable = () => { } }} > - {safeRound(item?.TotalAmt)} + {safeRound(item?.TotalAmt - (item?.Offer || 0) || 0)} )} {tableitem.OptionName == 'Delete' && ( @@ -2828,11 +2836,10 @@ const StandardTable = () => { {OldtableDataDinein?.map((item, index) => ( { ? item?.SalesId ? 'rgb(243, 248, 213)' : BookingType === 'Dine In' && - triggerAnimation && - OldtableDataTakeAway?.length + index === 0 && - !item?.SalesId && - tableDataDinein?.length >= PreviousdataLength + triggerAnimation && + OldtableDataTakeAway?.length + index === 0 && + !item?.SalesId && + tableDataDinein?.length >= PreviousdataLength ? 'wheat' : BookingType !== 'Dine In' && - triggerAnimation && - OldtableDataTakeAway?.length + index === 0 && - tableDataDinein?.length >= - PreviousdataLength && - !HoldOrderDtl && - !UnpaidData + triggerAnimation && + OldtableDataTakeAway?.length + index === 0 && + tableDataDinein?.length >= + PreviousdataLength && + !HoldOrderDtl && + !UnpaidData ? 'wheat' : 'inherit' : 'none', background: item?.SalesId ? 'rgb(243, 248, 213)' : GlobEstBooking === 'ParEst' && - GlobProdwisedata?.includes( - item?.InwardDtlId + ' ' + item?.BookingTypeName - ) + GlobProdwisedata?.includes( + item?.InwardDtlId + ' ' + item?.BookingTypeName + ) ? '#b2d1f7' : (OldtableDataTakeAway?.length + index) % 2 === 0 ? 'white' @@ -2991,21 +2998,21 @@ const StandardTable = () => { {productBasedExtraCharges?.find( (find) => find.ProdId === item.ProdId ) !== undefined && ( -
- Extra Charges :{' '} - { - productBasedExtraCharges?.find( - (find) => find.ProdId === item.ProdId - )?.TotalAmt - } -
- )} +
+ Extra Charges :{' '} + { + productBasedExtraCharges?.find( + (find) => find.ProdId === item.ProdId + )?.TotalAmt + } +
+ )} )} @@ -3099,7 +3106,7 @@ const StandardTable = () => { } }} > - {safeRound(item?.TotalAmt)} + {safeRound(item?.TotalAmt - (item?.Offer || 0) || 0)} )} @@ -3148,11 +3155,10 @@ const StandardTable = () => { OldtableDataTakeAway?.length + index } - className={`${ - BookingType === 'Dine In' && item?.SalesId - ? 'booking-billing-table-row-disabled' - : 'booking-billing-table-row' - } + className={`${BookingType === 'Dine In' && item?.SalesId + ? 'booking-billing-table-row-disabled' + : 'booking-billing-table-row' + } `} style={{ @@ -3161,43 +3167,43 @@ const StandardTable = () => { ? BookingType === 'Dine In' && item?.SalesId ? 'rgb(243, 248, 213)' : BookingType === 'Dine In' && - triggerAnimation && - OldtableDataDinein?.length + - OldtableDataTakeAway?.length + - index === - 0 && - !item?.SalesId && - tableDataTakeAway?.length >= PreviousdataLength + triggerAnimation && + OldtableDataDinein?.length + + OldtableDataTakeAway?.length + + index === + 0 && + !item?.SalesId && + tableDataTakeAway?.length >= PreviousdataLength ? 'wheat' : BookingType !== 'Dine In' && - triggerAnimation && - OldtableDataDinein?.length + - OldtableDataTakeAway?.length + - index === - 0 && - tableDataTakeAway?.length >= - PreviousdataLength && - !HoldOrderDtl && - !UnpaidData + triggerAnimation && + OldtableDataDinein?.length + + OldtableDataTakeAway?.length + + index === + 0 && + tableDataTakeAway?.length >= + PreviousdataLength && + !HoldOrderDtl && + !UnpaidData ? 'wheat' : (OldtableDataDinein?.length + - OldtableDataTakeAway?.length + - index) % - 2 === - 0 + OldtableDataTakeAway?.length + + index) % + 2 === + 0 ? 'white' : SelectedBillColor?.[ - 'OverallBackgroundColor' - ] + 'OverallBackgroundColor' + ] ? SelectedBillColor?.[ - 'OverallBackgroundColor' - ] + 'OverallBackgroundColor' + ] : '#d6d6d6' : (OldtableDataDinein?.length + - OldtableDataTakeAway?.length + - index) % - 2 === - 0 + OldtableDataTakeAway?.length + + index) % + 2 === + 0 ? 'white' : SelectedBillColor?.['OverallBackgroundColor'] ? SelectedBillColor?.['OverallBackgroundColor'] @@ -3206,15 +3212,15 @@ const StandardTable = () => { BookingType === 'Dine In' && item?.SalesId ? 'rgb(243, 248, 213)' : GlobEstBooking === 'ParEst' && - GlobProdwisedata?.includes( - item?.InwardDtlId + ' ' + item?.BookingTypeName - ) + GlobProdwisedata?.includes( + item?.InwardDtlId + ' ' + item?.BookingTypeName + ) ? '#b2d1f7' : (OldtableDataDinein?.length + - OldtableDataTakeAway?.length + - index) % - 2 === - 0 + OldtableDataTakeAway?.length + + index) % + 2 === + 0 ? 'white' : SelectedBillColor?.['OverallBackgroundColor'] ? SelectedBillColor?.['OverallBackgroundColor'] @@ -3223,9 +3229,9 @@ const StandardTable = () => { BillOrderPre === 'Y' && !BookingTypeBoth ? triggerAnimation && OldtableDataDinein?.length + - OldtableDataTakeAway?.length + - index === - 0 && + OldtableDataTakeAway?.length + + index === + 0 && !item?.SalesId && tableDataTakeAway?.length >= PreviousdataLength && !HoldOrderDtl && @@ -3278,7 +3284,7 @@ const StandardTable = () => { }} onClick={() => item.FullProductIdentifierDtls?.length > 0 || - item.ProductIdentifierDtls?.length > 0 + item.ProductIdentifierDtls?.length > 0 ? handleImeiDetails(item) : editField && handleEditQuantity(item) } @@ -3302,8 +3308,8 @@ const StandardTable = () => { {!item?.ProdVariantName?.toLowerCase()?.includes( 'variant' ) && ( - {item?.ProdVariantName} - )} + {item?.ProdVariantName} + )} {AvailableDate ? ( <> {' '} @@ -3353,21 +3359,21 @@ const StandardTable = () => { {productBasedExtraCharges?.find( (find) => find.ProdId === item.ProdId ) !== undefined && ( -
- Extra Charges :{' '} - { - productBasedExtraCharges?.find( - (find) => find.ProdId === item.ProdId - )?.TotalAmt - } -
- )} +
+ Extra Charges :{' '} + { + productBasedExtraCharges?.find( + (find) => find.ProdId === item.ProdId + )?.TotalAmt + } +
+ )} )} @@ -3462,7 +3468,7 @@ const StandardTable = () => { } }} > - {safeRound(item?.TotalAmt)} + {safeRound(item?.TotalAmt - (item?.Offer || 0) || 0)} )} @@ -3511,11 +3517,10 @@ const StandardTable = () => { tableDataTakeAway?.length + index } - className={`${ - BookingType === 'Dine In' && item?.SalesId - ? 'booking-billing-table-row-disabled' - : 'booking-billing-table-row' - } + className={`${BookingType === 'Dine In' && item?.SalesId + ? 'booking-billing-table-row-disabled' + : 'booking-billing-table-row' + } `} style={{ @@ -3526,45 +3531,45 @@ const StandardTable = () => { !BookingTypeBoth ? 'rgb(243, 248, 213)' : BookingType === 'Dine In' && - triggerAnimation && - OldtableDataTakeAway?.length + - OldtableDataDinein?.length + - tableDataTakeAway?.length + - index === - 0 && - !item?.SalesId && - tableDataDinein?.length >= PreviousdataLength + triggerAnimation && + OldtableDataTakeAway?.length + + OldtableDataDinein?.length + + tableDataTakeAway?.length + + index === + 0 && + !item?.SalesId && + tableDataDinein?.length >= PreviousdataLength ? 'wheat' : BookingType !== 'Dine In' && - triggerAnimation && - OldtableDataTakeAway?.length + - OldtableDataDinein?.length + - tableDataTakeAway?.length + - index === - 0 && - tableDataDinein?.length >= - PreviousdataLength && - !HoldOrderDtl && - !UnpaidData + triggerAnimation && + OldtableDataTakeAway?.length + + OldtableDataDinein?.length + + tableDataTakeAway?.length + + index === + 0 && + tableDataDinein?.length >= + PreviousdataLength && + !HoldOrderDtl && + !UnpaidData ? 'wheat' : 'inherit' : 'none', background: BookingType === 'Dine In' && - item?.SalesId && - !BookingTypeBoth + item?.SalesId && + !BookingTypeBoth ? 'rgb(243, 248, 213)' : GlobEstBooking === 'ParEst' && - GlobProdwisedata?.includes( - item?.InwardDtlId + ' ' + item?.BookingTypeName - ) + GlobProdwisedata?.includes( + item?.InwardDtlId + ' ' + item?.BookingTypeName + ) ? '#b2d1f7' : (OldtableDataTakeAway?.length + - OldtableDataDinein?.length + - tableDataTakeAway?.length + - index) % - 2 === - 0 + OldtableDataDinein?.length + + tableDataTakeAway?.length + + index) % + 2 === + 0 ? 'white' : SelectedBillColor?.['OverallBackgroundColor'] ? SelectedBillColor?.['OverallBackgroundColor'] @@ -3573,10 +3578,10 @@ const StandardTable = () => { BillOrderPre === 'Y' && !BookingTypeBoth ? triggerAnimation && OldtableDataTakeAway?.length + - OldtableDataDinein?.length + - tableDataTakeAway?.length + - index === - 0 && + OldtableDataDinein?.length + + tableDataTakeAway?.length + + index === + 0 && !item?.SalesId && tableDataDinein?.length >= PreviousdataLength && !HoldOrderDtl && @@ -3698,21 +3703,21 @@ const StandardTable = () => { {productBasedExtraCharges?.find( (find) => find.ProdId === item.ProdId ) !== undefined && ( -
- Extra Charges :{' '} - { - productBasedExtraCharges?.find( - (find) => find.ProdId === item.ProdId - )?.TotalAmt - } -
- )} +
+ Extra Charges :{' '} + { + productBasedExtraCharges?.find( + (find) => find.ProdId === item.ProdId + )?.TotalAmt + } +
+ )} )} @@ -3806,7 +3811,7 @@ const StandardTable = () => { } }} > - {safeRound(item?.TotalAmt)} + {safeRound(item?.TotalAmt - (item?.Offer || 0) || 0)} )} diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.scss b/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.scss index d48be0c..fed10fe 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.scss +++ b/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTable.scss @@ -47,7 +47,7 @@ height: 2rem; font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important; - > th { + >th { font-size: 10px !important; font-weight: 400 !important; -webkit-text-stroke-width: 0.2px; @@ -1116,19 +1116,20 @@ @media (max-width: 500px) { padding: 5px 10px; } + .ShoppingCartMain-left { display: flex; align-items: center; gap: 1rem; white-space: nowrap; - > div { + >div { font-size: 1rem; font-weight: 500; font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important; } - > p { + >p { background-color: #fff3; font-size: 10px; padding: 1px 6px; @@ -1153,11 +1154,9 @@ z-index: 10; @media (max-width: 768px) { - background-color: linear-gradient( - to bottom right, - #1e2536, - #2a3447 - ) !important; + background-color: linear-gradient(to bottom right, + #1e2536, + #2a3447) !important; background: linear-gradient(to bottom right, #1e2536, #2a3447) !important; display: flex !important; } @@ -1172,13 +1171,13 @@ gap: 1rem; white-space: nowrap; - > div { + >div { font-size: 1.125rem; font-weight: 500; font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important; } - > p { + >p { background-color: #fff3; font-size: small; padding: 1px 6px; @@ -1194,11 +1193,11 @@ padding: 12px 16px; .ShoppingCartMain-left { - > div { + >div { font-size: 1rem; } - > p { + >p { font-size: 0.75rem; } } @@ -1209,11 +1208,11 @@ align-items: flex-start; .ShoppingCartMain-left { - > div { + >div { font-size: 0.875rem; } - > p { + >p { font-size: 0.7rem; } } @@ -1269,6 +1268,27 @@ } } +.standard-pay-btn-refund { + padding: 0.9rem 0.75rem; + font-size: 1.125rem; + font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important; + border: none; + border-radius: 4px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + // justify-content: space-around; + gap: 0.5rem; + opacity: 1; + background-color: #0d9488; + color: #fff; + + @media (max-width: 500px) { + padding: 0.75rem; + } +} + .standard-pay-btn { padding: 0.9rem 0.75rem; font-size: 1.125rem; @@ -1538,7 +1558,7 @@ .paybutton { padding: 10px 12px; - > svg { + >svg { display: none !important; } } @@ -1557,9 +1577,7 @@ display: flex !important; } - .booking-billing-table-container - .shoppingCartLeft - .payment-buttons-container { + .booking-billing-table-container .shoppingCartLeft .payment-buttons-container { display: flex !important; padding: 0 10px; align-items: flex-start; @@ -1596,7 +1614,7 @@ .standard-pay-btns { flex: 1; - > button { + >button { width: 100%; } } @@ -1650,4 +1668,4 @@ @media (max-width: 768px) { display: flex; } -} +} \ No newline at end of file diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTablePayment.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTablePayment.jsx index 86e1761..40c81a2 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTablePayment.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/StandardTable/StandardTablePayment.jsx @@ -12,6 +12,7 @@ import Credit from '../../UtillComponents/Pozo retail icons/credit.svg'; import { FaCreditCard } from 'react-icons/fa6'; import { changeAddBookingDetailsTrigger, + changeBillEditingMode, changeBookingType, ChangeComboCarddata, changeCurrentOrderId, @@ -25,6 +26,8 @@ import { ChangeOverAllDiscSales, changePaymentloader, changePaymentTransactionNumber, + changePreviousOrderOfferDetail, + changePreviousOrderPayment, changeReorderHoldDetails, changeReorderProductDetails, changeSelectChair, @@ -50,6 +53,7 @@ import { getCurrentOrderid, getLayoutproductCard, GetPaymentdeviceResponse, + getPaymentOptions, getSalesDetailData, getSelectedFavItems, getUnpaidData, @@ -72,11 +76,15 @@ import { GlobalOverAllDiscEstimate, GlobalOverAllDiscSales, GlobalPayementloader, + GlobalpaymentOptionData, GlobalPaymentTrigger, + GlobalPreviousOrderOfferDetails, + GlobalPreviousOrderPayment, GlobalProductCategorie, GlobalProductSubCategorie, GlobalReorderHoldDetails, GlobalRetailWSSalesType, + GlobalSalesBillEdit, GlobalSelCustId, GlobalSelectedTableDetails, GlobalSelOption, @@ -93,6 +101,7 @@ import { PutBookingData, PutBookingPaymentStatusChange, PutPendingPaymentList, + putSalesBillEdit, putSplitpaymentStatus, SendPaymentLink, } from '../../../../../Features/BookingScreen/BookingData/BookingData'; @@ -267,6 +276,10 @@ const StandardTablePayment = () => { const GlobProdwisedata = useSelector(GlobalSelProdWiseEst); const GlobEstBooking = useSelector(GlobalEstimateBooking); const OtherServicesglobal = useSelector(GlobalOtherSevices); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const OrderType = useSelector(GlobalOrderType); const unpaidFlow = useSelector(Globalunpaidflow); const selOption = useSelector(GlobalSelOption); @@ -354,6 +367,11 @@ const StandardTablePayment = () => { const [PaymentDeviceUPI, setPaymentDeviceUPI] = useState([]); const [ConfigDataList, setConfigDataList] = useState([]); const [TotalAmount, setTotalAmount] = useState(0); + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const [FirstPaymentclick, setFirstPaymentclick] = useState(false); const [UpinotSelected, setUpinotSelected] = useState(false); const [brachName, setbrachName] = useState(''); @@ -486,6 +504,12 @@ const StandardTablePayment = () => { ); }, [GlobalExtraCharge]); + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + const customerNameOrMobile = MobileNoWhatsApp?.CustName?.trim() ? `Dear ${MobileNoWhatsApp?.CustName}` : `Dear ${MobileNoWhatsApp?.value}`; @@ -706,7 +730,6 @@ const StandardTablePayment = () => { CheckBookingStatus, addnewAccess, preferenceshortcutkey, - unpaidFlow, ]); @@ -809,7 +832,13 @@ const StandardTablePayment = () => { }, [paybtnselected, selOption, payBtns]); useEffect(() => { - orderCardDetail?.length == 0 ? dispatch(changeunpaidflow(false)) : ''; + if (orderCardDetail?.length == 0) { + dispatch(changeunpaidflow(false)); + // dispatch(changePreviousOrderPayment([])); + // dispatch(changePreviousOrderOfferDetail([])); + // dispatch(changeBillEditingMode(false)); + } + if (!preOrder) { const totalSum = orderCardDetail?.reduce( (acc, card) => acc + parseFloat(card.OrderRate * card.OrderQty || 0), @@ -866,29 +895,45 @@ const StandardTablePayment = () => { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - setTotalAmount( - formatAmount( - withdiscTotal >= 0 - ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) - : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ) - ); + const currentOrderNetAmount = formatAmount( + withdiscTotal >= 0 + ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) + : (Number(Total) + Number(globalTipAmount)).toFixed(2) + ) + console.log(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount, "totalPreviouspayment") - dispatch( - changeSummeryTotalAmount( - formatAmount( - withdiscTotal >= 0 - ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) - : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); // dispatch( // changeSummeryTotalAmount(withdiscTotal > 0 ? withdiscTotal : Number(Total)) // ); @@ -1016,6 +1061,25 @@ const StandardTablePayment = () => { } }, [PaymentUpiOptions, PaymentOptions, SelCustId]); + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) + useEffect(() => { if ( (BookingType === 'Dine In' || @@ -1112,6 +1176,10 @@ const StandardTablePayment = () => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default' && UpiQRPreference) { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1490,7 +1558,7 @@ const StandardTablePayment = () => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId @@ -1504,14 +1572,14 @@ const StandardTablePayment = () => { : paybtnselected ? paybtnselected : null, - Amount: Math.round(TotalAmount), - MerchantId: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'business' ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantId : null, - PaymentOptionType: + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -1525,7 +1593,7 @@ const StandardTablePayment = () => { ? 'BU' : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId @@ -1533,7 +1601,7 @@ const StandardTablePayment = () => { ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) ?.MerchantUPIId : null, - AccountDtl: + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -1550,7 +1618,7 @@ const StandardTablePayment = () => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -1559,8 +1627,8 @@ const StandardTablePayment = () => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -1793,7 +1861,12 @@ const StandardTablePayment = () => { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } if (value !== 'Unpaid') { if (response?.data?.statusCode == 1) { let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( @@ -1845,6 +1918,7 @@ const StandardTablePayment = () => { if (response?.data?.OrderDetails?.length > 0) { setPrintOrderDetails([response?.data]); } + ClearAllGlobalStateDatas(); console.log('more pg data'); } @@ -1858,6 +1932,7 @@ const StandardTablePayment = () => { await dispatch(changeOrderCardDetails([])); await dispatch(changeReorderHoldDetails({})); await dispatch(changeReorderProductDetails([])); + setFirstPaymentclick(false); if (defaultBookingType === 'Both') { await dispatch(changeBookingType('TakeAway')); @@ -1959,6 +2034,10 @@ const StandardTablePayment = () => { } }; + const handleSalesBillEdit = async (putdatas, value, pay) => { + console.log(putdatas, value, pay, "handleSalesBillEdit") + } + const OtherServicePostBooking = async (PostData, value) => { console.log(PostData, value, 'PostData, value'); @@ -2703,6 +2782,11 @@ const StandardTablePayment = () => { } }; + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const addUpiOption = async (id, name, UPIId) => { await dispatch(changeUpiIDprint(UPIId)); await dispatch(changeUpiIDName(name)); @@ -2733,6 +2817,9 @@ const StandardTablePayment = () => { ParkingClaimed: false, }) ); + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeTipAmount(0)); dispatch(changeFullOfferAppliedProducts([])); dispatch(ChangeFullFreeProductList([])); @@ -2752,6 +2839,8 @@ const StandardTablePayment = () => { setQrCode(false); setUpinotSelected(false); getHolddata(); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); if (defaultBookingType === 'Both') { await dispatch(changeBookingType('TakeAway')); } @@ -2893,7 +2982,7 @@ const StandardTablePayment = () => { async (orderDetail, index) => { await printDiv(`${selectedStyle}-${index}`, style); // Use unique IDs for each print if (orderDetail?.BookingTypeName !== 'Dine In') { - const groupedTokens = orderDetail?.productDetails?.reduce( + const groupedTokens = orderDetail?.productDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.reduce( (acc, item, idx) => { if (item.TokenAvailable === 'Y') { if (!item.CounterName) { @@ -2938,7 +3027,7 @@ const StandardTablePayment = () => { await Promise.all( PrintOrderDetails?.[0]?.OrderDetails?.map( async (orderDetail, index) => { - const groupedTokens = orderDetail?.productDetails?.reduce( + const groupedTokens = orderDetail?.productDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.reduce( (acc, item, idx) => { if (item.TokenAvailable === 'Y') { if (!item.CounterName) { @@ -2974,7 +3063,7 @@ const StandardTablePayment = () => { ); } else { await Promise.all( - PrintOrderDetails?.[0]?.OrderDetails?.map( + PrintOrderDetails?.[0]?.OrderDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.map( async (orderDetail, index) => { await TokenPrint(`${index}-${orderDetail?.OrderId}`); } @@ -3188,7 +3277,7 @@ const StandardTablePayment = () => { }; const SplitPaymentOpen = () => { - if (orderCardDetail?.length > 0) { + if (orderCardDetail?.length > 0 && TotalAmount > 0) { // const updatedData = { // userData: OrderCardDetail, // ExtraCharges: GlobalExtraCharge, @@ -3198,6 +3287,11 @@ const StandardTablePayment = () => { // setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3610,7 +3704,7 @@ const StandardTablePayment = () => { opacity: isDisabled ? 0.5 : 1, }} > - {payBtns?.length > 0 ? ( + {payBtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( payBtns.map((payment) => { const mode = payment?.ModeName?.toLowerCase(); const isSelected = paybtnselected === payment?.ModeId; @@ -3700,6 +3794,55 @@ const StandardTablePayment = () => {
); }) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => { + const mode = payment?.ConfigName?.toLowerCase(); + const isSelected = refundPaySelected === payment?.ConfigId; + const buttonClass = isSelected + ? 'paybutton-selected' + : 'paybutton'; + + return ( +
+ +
+ ); + }) ) : (
{ orderCardDetail?.length > 0 && paybtnselected && CheckBookingStatus !== 'Close' - ? !OrderStatus - ? 'standard-pay-btn' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'standard-pay-btn-refund' + : 'standard-pay-btn' : 'standard-pay-btn order-complete' : 'standard-pay-btn-disabled' } onClick={handleButtonClick} > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?

Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}

: ( <>

{ const dispatch = useDispatch(); const navigate = useNavigate(); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const AllPaymentOptions = useSelector(GlobalpaymentOptionData); const SessionData = useSelector(StoredSessionData); const BranchFinancialStatus = useSelector(GlobalBranchFinancialStatus); const globalTipAmount = useSelector(GlobaltipAmount); @@ -321,6 +339,11 @@ const BSC1Payment = (props) => { const [UpiOption, setUpiOption] = useState(''); const [UpiId, setUpiId] = useState(); const [hold, setHold] = useState(false); + const [refundPayBtns, setRefundPayBtns] = useState([]); + const [refundPaySelected, setRefundPaySelected] = useState(); + const [refundPaySelectedName, setRefundPaySelectedName] = useState(null); + const [currentOrderNetAmount, setCurrentOrderNetAmount] = useState(0); + const [previousNetAmount, setPreviousNetAmount] = useState(0); const appPreferences = useSelector(ApplicationPreferences); const commonModulePreference = appPreferences?.find( (preference) => preference?.PreferredCatName === 'Common Module' @@ -432,6 +455,14 @@ const BSC1Payment = (props) => { const [PaymentgatewayUPI, setPaymentgatewayUPI] = useState([]); const [PaymentDeviceUPI, setPaymentDeviceUPI] = useState([]); const [UpiPayOption, setUpiPayOption] = useState([]); + const [BusinessPayOption, setBusinessPayoption] = useState([]); + const [paymentSucess, setPaymentSuccess] = useState(false); + const [businessUPI, setBusinessUPI] = useState(false); + const [businessUPIOrderId, setBusinessUPIOrderId] = useState(null); + const [businessUPILink, setBusinessUPILink] = useState(null); + const defaultPaymentTrigger = useSelector(GlobalPaymentTrigger); + const [defaultPaymentMode, setDefaultPaymentMode] = useState([]); + const [defaultEnabled, setDefaultEnabled] = useState(false); const [CardPayOption, setCardPayOption] = useState([]); const [PaymentUpiOptions, setPaymentUpiOptions] = useState([]); const GlobaluseOptions = useSelector(GlobalCommonPaymentOptions); @@ -464,6 +495,7 @@ const BSC1Payment = (props) => { const printDatas = useSelector(GlobalprintDatas); const PrinterDetails = useSelector(GlobalPrinterMappingDtls); const [addnewAccess, setaddnewAccess] = useState(true); + const [showCancelConfirm, setShowCancelConfirm] = useState(false); const BookingStatus = useSelector(GlobalBookingStatus); const PaymentOptionsModeName = @@ -532,6 +564,79 @@ const BSC1Payment = (props) => { '11111111111111' ); // Usage + useEffect(() => { + const setDefaultPaymentOption = async () => { + const res = await dispatch( + getDefaultPaymentOptions({ AppId, CompId, BranchId }) + )?.unwrap(); + const defaultDetail = res?.data?.data?.[0]?.DefaultDetails?.[0]; + if (res?.data?.data?.length > 0 && defaultDetail) { + setDefaultEnabled(true); + setDefaultPaymentMode(defaultDetail); + const { option, card } = defaultDetail; + if (option?.value) setSelectedUPIPayOption(option.value); + if (card) { + const isDefault = + String(option?.value ?? '').toLowerCase() === 'default'; + const idToUse = isDefault ? card?.UPIId : card?.ModeId; + + if (idToUse) { + addUpiOption(card?.Mode, card?.ModeName, idToUse); + } + } + } else { + setDefaultEnabled(false); + setDefaultPaymentMode([]); + } + }; + setDefaultPaymentOption(); + }, [defaultPaymentTrigger]); + + useEffect(() => { + const getPrintData = async () => { + try { + const data = { + AppId, + CompId, + BranchId, + OrderId: businessUPIOrderId, + }; + + const res = await dispatch(ReprintDetails(data)).unwrap(); + + if (res?.data?.statusCode === 1 && res?.data?.data?.length > 0) { + const orderData = [{ OrderDetails: res.data.data }]; + + // Reset states first + setBusinessUPIOrderId(null); + setBusinessUPI(false); + setPaymentSuccess(false); + + // Then set new data and trigger side effects + setPrintOrderDetails(orderData); + CustomerDisplay(); + ClearAllGlobalStateDatas(); + filteredSettingNames?.includes('whatsapp') && + MobileNoWhatsApp?.value && + handleURL(orderData); + } + } catch (error) { + console.error('Failed to fetch print data:', error); + // Reset states even on error + setBusinessUPI(false); + setPaymentSuccess(false); + } + }; + + if (paymentSucess && businessUPIOrderId) { + const timer = setTimeout(() => { + getPrintData(); + }, 3000); + + return () => clearTimeout(timer); + } + }, [paymentSucess, businessUPIOrderId, AppId, CompId, BranchId, dispatch]); + useEffect(() => { const fetchCreditCustomer = async () => { const selectedMode = paybtns?.find( @@ -570,6 +675,32 @@ const BSC1Payment = (props) => { fetchCreditCustomer(); }, [paybtnselected, selOption, paybtns]); + + useEffect(() => { + if (salesBillEdit) { + dispatch(getPaymentOptions()).unwrap(); + } + }, [salesBillEdit]); + + useEffect(() => { + + if (salesBillEdit) { + if (SelCustId) { + setRefundPayBtns(AllPaymentOptions); + setRefundPaySelected(AllPaymentOptions?.[0]?.ConfigId); + setRefundPaySelectedName(AllPaymentOptions?.[0]?.ConfigName); + } else { + const withoutCustomer = AllPaymentOptions?.filter?.( + (item) => item?.ConfigName?.toLowerCase() !== 'credit' + ); + setRefundPaySelected(withoutCustomer?.[0]?.ConfigId); + setRefundPaySelectedName(withoutCustomer?.[0]?.ConfigName); + setRefundPayBtns(withoutCustomer); + } + } + + }, [AllPaymentOptions, SelCustId, salesBillEdit]) + useEffect(() => { if (!preOrder) { const totalSum = OrderCardDetail?.reduce( @@ -627,22 +758,41 @@ const BSC1Payment = (props) => { ); } + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); + + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + + const previousNetAmount = + (totalPreviouspayment) || 0; + let withdiscTotal = Total - ((OverAllSales || 0) + (OverAllEstimate || 0) + (Discount > 0 ? Discount : 0)); - - setTotalAmount( + const currentOrderNetAmount = formatAmount( withdiscTotal >= 0 ? (Number(withdiscTotal) + Number(globalTipAmount)).toFixed(2) : (Number(Total) + Number(globalTipAmount)).toFixed(2) - ); + ) - dispatch( - changeSummeryTotalAmount( - withdiscTotal > 0 ? withdiscTotal : Number(Total) - ) - ); + setTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount); + setCurrentOrderNetAmount(currentOrderNetAmount); + setPreviousNetAmount(previousNetAmount); + dispatch(changeSummeryTotalAmount(salesBillEdit ? (currentOrderNetAmount > previousNetAmount) ? (currentOrderNetAmount - previousNetAmount) : 0 : currentOrderNetAmount)); dispatch(changeSummeryComboOfferAmount(withComboSum)); @@ -1083,6 +1233,10 @@ const BSC1Payment = (props) => { const handleButtonClick = () => { if (qrCode && SelectedUPIPayOption === 'Default') { UpiPayment(); + } else if (salesBillEdit && currentOrderNetAmount < previousNetAmount && !refundPaySelected) { + setMessageType('warning'); + setMessageData('Please Select Refund Payment Method'); + return; } else { OrderStatus ? AddBookingDetails('Dine-In', false) @@ -1158,6 +1312,9 @@ const BSC1Payment = (props) => { const filterpaymentdevice = FiltersalesPayment?.[0]?.OptionDetails?.filter( (item) => item?.OptionName?.toLowerCase() === 'payment device' ); + const filterBusinessUpi = FiltersalesPayment?.[0]?.OptionDetails?.filter( + (item) => item?.OptionName?.toLowerCase() === 'business upi' + ); const cardinpaymentgateway = filterpaymentgateway?.[0]?.ModeDetails?.filter((item) => item?.ModeName?.toLowerCase()?.includes('card') @@ -1200,7 +1357,6 @@ const BSC1Payment = (props) => { } setCardPayOption(cardoptions); const options = []; - if (FiltersalesPayment?.[0]?.PaymentDetails?.Payatthecounter?.length > 0) { options.push({ label: 'Personal UPI', @@ -1208,6 +1364,16 @@ const BSC1Payment = (props) => { imgSrc: defaultupi, }); } + if (filterBusinessUpi?.[0]?.ModeDetails?.length > 0) { + options.push({ + label: 'Business UPI', + value: 'Business', + imgSrc: pozologoimg, + PaymentOptionId: filterBusinessUpi?.[0]?.PaymentOptionId, + PaymentFlowId: filterBusinessUpi?.[0]?.PaymentFlowId, + OptionId: filterBusinessUpi?.[0]?.OptionId, + }); + } if (upiinpaymentgateway?.length > 0) { options.push({ label: 'Payment Gateway', value: 'PG', imgSrc: paygate }); @@ -1217,6 +1383,7 @@ const BSC1Payment = (props) => { options.push({ label: 'Payment Device', value: 'PD', imgSrc: paydevice }); } setUpiPayOption(options); + setBusinessPayoption(filterBusinessUpi?.[0]?.ModeDetails || []); // } }; @@ -1255,12 +1422,17 @@ const BSC1Payment = (props) => { } }; + const handleRefundPaymentMode = (id, name) => { + setRefundPaySelected(id); + setRefundPaySelectedName(name); + } + const AddCardOption = (data) => { setSelectedCardOption(data); setCardOptionOpen(false); setCardoptionnotSelected(false); }; - const AddUPIPaymentOption = async (data) => { + const AddUPIPaymentOption = async (data, mode = false) => { setSelectedUpiOption(''); setUpiOption(''); setUpiId(''); @@ -1270,7 +1442,7 @@ const BSC1Payment = (props) => { setSelectedUPIPayOption(data); setUpinotSelected(false); setCardoptionnotSelected(false); - if (data !== 'Default') { + if (data !== 'Default' && data !== 'Business' && !mode) { setUpiOptionOpen(false); } }; @@ -1650,6 +1822,18 @@ const BSC1Payment = (props) => { } }; + const businessUPIFlow = async ( + businessUPIfilter, + OrderId, + PaymentStatusLink + ) => { + // Implement your business UPI flow here + // You can add similar logic as PaymentDeviceFlow or PaymentGatewayFlow based on your requirements + setBusinessUPILink(PaymentStatusLink); + setBusinessUPI(true); + setBusinessUPIOrderId(OrderId); + }; + function safeRound(amountStr) { if (amountStr == null) return '0.00'; @@ -1797,6 +1981,9 @@ const BSC1Payment = (props) => { } else { dispatch(changeOrderCardDetails([])); } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); dispatch(changeTipAmount(0)); await dispatch(ChangeTotalAmount([])); await dispatch(changeReorderHoldDetails({})); @@ -1810,6 +1997,8 @@ const BSC1Payment = (props) => { setPaybtnselected(PaymentOptionsModeId); setQrCode(false); setUpinotSelected(false); + setCurrentOrderNetAmount(0); + setPreviousNetAmount(0); getHolddata(); getUnpaiddatas(); await dispatch(changeBookingType('TakeAway')); @@ -1846,7 +2035,8 @@ const BSC1Payment = (props) => { ); if ( OnUpiSelected?.ModeName?.toLowerCase() === 'upi' && - SelectedUPIPayOption?.toLowerCase() === 'default' + (SelectedUPIPayOption?.toLowerCase() === 'default' || + SelectedUPIPayOption?.toLowerCase() === 'business') ) { SetSuccess(false); setTimeout(function () { @@ -2099,19 +2289,28 @@ const BSC1Payment = (props) => { SalesPaymentType: 'normal', PaymentDetail: [ { - PaymentType: + PaymentType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? refundPaySelected : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'pd' ? PaymentDeviceUPI?.[0]?.ModeId : SelectedUPIPayOption?.toLowerCase() === 'pg' ? PaymentgatewayUPI?.[0]?.ModeId - : paybtnselected + : SelectedUPIPayOption?.toLowerCase() === 'business' + ? BusinessPayOption?.find( + (busupi) => busupi?.ModeId === UpiId + )?.ModeId + : paybtnselected : paybtnselected ? paybtnselected : null, - // SelectedUPIPayOption?.toLowerCase() === "pg" ? - Amount: Math.round(TotalAmount), - PaymentOptionType: + Amount: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? previousNetAmount - currentOrderNetAmount : Math.round(TotalAmount), + MerchantId: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : + Paybtnnameselected?.toLowerCase() === 'upi' && + SelectedUPIPayOption?.toLowerCase() === 'business' + ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) + ?.MerchantId + : null, + PaymentOptionType: (salesBillEdit && currentOrderNetAmount < previousNetAmount) && (refundPaySelectedName?.toLowerCase() === 'cash' || refundPaySelectedName?.toLowerCase() === 'credit') ? 'PC' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'PC' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2121,14 +2320,19 @@ const BSC1Payment = (props) => { : Paybtnnameselected?.toLowerCase() === 'upi' ? SelectedUPIPayOption?.toLowerCase() === 'default' ? 'PC' - : SelectedUPIPayOption + : SelectedUPIPayOption?.toLowerCase() === 'business' + ? 'BU' + : SelectedUPIPayOption : null, - ModeOfPayment: + ModeOfPayment: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? null : SelectedUPIPayOption?.toLowerCase() === 'default' ? PaymentUpiOptions?.find((upipay) => upipay?.UPIId === UpiId) ?.UPIDetailId - : null, - AccountDtl: + : SelectedUPIPayOption?.toLowerCase() === 'business' + ? BusinessPayOption?.find((busupi) => busupi?.ModeId === UpiId) + ?.MerchantUPIId + : null, + AccountDtl: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? [] : Paybtnnameselected?.toLowerCase() === 'upi' && SelectedUPIPayOption?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( @@ -2145,7 +2349,7 @@ const BSC1Payment = (props) => { SelectedCardOption?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], - PaymentStatus: + PaymentStatus: (salesBillEdit && currentOrderNetAmount < previousNetAmount) ? 'S' : Paybtnnameselected?.toLowerCase() === 'cash' ? 'S' : Paybtnnameselected?.toLowerCase() === 'credit' @@ -2154,8 +2358,8 @@ const BSC1Payment = (props) => { SelectedUPIPayOption?.toLowerCase() === 'default' ? 'S' : 'P', - Debit: 0, - Credit: + Debit: (salesBillEdit && currentOrderNetAmount < previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(previousNetAmount - currentOrderNetAmount) : 0, + Credit: salesBillEdit ? (currentOrderNetAmount > previousNetAmount && refundPaySelectedName?.toLowerCase() === 'credit') ? Math.round(TotalAmount) : 0 : Paybtnnameselected?.toLowerCase() === 'credit' ? Math.round(TotalAmount) : 0, @@ -2209,6 +2413,11 @@ const BSC1Payment = (props) => { let PayatCounterfilter = response?.data?.PaymentOrderDtl?.filter( (item) => item?.PaymentOptionType?.toLowerCase() === 'pc' ); + let businessUPIfilter = response?.data?.PaymentOrderDtl?.filter( + (item) => + item?.PaymentOptionType?.toLowerCase() === 'bu' && + item?.PaymentStatus === 'P' + ); if ( PayatCounterfilter?.length === 1 || response?.data?.PaymentOrderDtl?.length === 0 @@ -2313,6 +2522,13 @@ const BSC1Payment = (props) => { } else { console.log('more pg data'); } + if (businessUPIfilter?.length === 1) { + businessUPIFlow( + businessUPIfilter, + response?.data?.OrderId, + response?.data?.PaymentPageLink + ); + } dispatch(triggerCustomerRefresh()); } else { setMessageType('error'); @@ -2344,10 +2560,16 @@ const BSC1Payment = (props) => { putdata['PaymentType'] = !pay && ''; putdata['PrintType'] = 'Y'; } - let response = await dispatch(PutBookingData(putdata)).unwrap(); + let response = null; + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } let PayatCounterfilter = response?.data?.PaymentOrderDtl?.filter( (item) => item?.PaymentOptionType?.toLowerCase() === 'pc' ); + if (value !== 'Unpaid') { if (response?.data?.statusCode == 1) { let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( @@ -2361,8 +2583,7 @@ const BSC1Payment = (props) => { item?.PaymentStatus === 'P' ); - if ( - PayatCounterfilter?.length === 1 || + if (PayatCounterfilter?.length === 1 || response?.data?.PaymentOrderDtl?.length === 0 ) { setMessageType('success'); @@ -2394,6 +2615,8 @@ const BSC1Payment = (props) => { if (PaymentGatewayfilter?.length === 1) { await PaymentGatewayFlow(PaymentGatewayfilter); } else { + setPrintOrderDetails([response?.data]); + ClearAllGlobalStateDatas(); console.log('more pg data'); } } else { @@ -3087,7 +3310,7 @@ const BSC1Payment = (props) => { }; // split payments const SplitPaymentOpen = () => { - if (OrderCardDetail?.length > 0) { + if (OrderCardDetail?.length > 0 && TotalAmount > 0) { const updatedData = { userData: OrderCardDetail, ExtraCharges: GlobalExtraCharge, @@ -3097,6 +3320,11 @@ const BSC1Payment = (props) => { setFailedOrderData(updatedData); setSplitpayment(true); } else { + if (TotalAmount <= 0) { + setMessageType('warning'); + setMessageData('Cannot split when total amount is zero or less'); + return; + } setMessageType('warning'); setMessageData('Please Select the Product'); } @@ -3634,7 +3862,7 @@ const BSC1Payment = (props) => { : 1, }} > - {paybtns?.length > 0 ? ( + {paybtns?.length > 0 && (currentOrderNetAmount >= previousNetAmount) ? ( paybtns?.map((payment) => (

)) + ) : (currentOrderNetAmount < previousNetAmount && salesBillEdit && refundPayBtns.length > 0) ? ( + refundPayBtns.map((payment) => ( +
+ +
+ )) ) : (
{ OrderCardDetail?.length > 0 && paybtnselected && CheckBookingStatus != 'Close' - ? !OrderStatus - ? 'BSC1Payment-div4-button' + ? !OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ? + 'BSC1Payment-div4-button' + : 'BSC1Payment-div4-button' : 'BSC1Payment-div4-button Order' : 'BSC1Payment-div4-button-disable' } @@ -4245,7 +4513,7 @@ const BSC1Payment = (props) => { onClick={handleButtonClick} style={{ borderRadius: '6px 0 0 6px' }} > - {!OrderStatus ? ( + {!OrderStatus ? salesBillEdit && (currentOrderNetAmount < previousNetAmount) ?
Refund: ₹{(previousNetAmount || 0) - (currentOrderNetAmount || 0)}
: ( <> {isMobile ? ( `₹ ${safeRound( @@ -4494,7 +4762,10 @@ const BSC1Payment = (props) => { SplitPaymentModal={Splitpayment} handlesplitpaymentclose={handlesplitpaymentclose} TotalNetAmount={ - OrderType === 'Failed' ? FailedTotalAmt : Math.round(TotalAmount) + OrderType === 'Failed' ? FailedTotalAmt : Math.round(OrderCardDetail?.reduce((acc, data) => data?.TotalAmt + acc, 0) - + ((OverAllSales > 0 ? OverAllSales : 0) + + (OverAllEstimate > 0 ? OverAllEstimate : 0) + + (Discount > 0 ? Discount : 0))) } failedOrderData={failedOrderData} /> @@ -4572,6 +4843,43 @@ const BSC1Payment = (props) => {
} /> + setShowCancelConfirm(true)} + footer={false} + width={500} + children={ + <> + + + } + /> + {showCancelConfirm && ( + { + setBusinessUPI(false); + setShowCancelConfirm(false); + ClearAllGlobalStateDatas(); + CustomerDisplay(); + }} + onCancel={() => setShowCancelConfirm(false)} + okText="Yes" + cancelText="No" + > + Do you want to cancel the payment? + + )} ); }; diff --git a/src/Pages/BookingScreen/Components/BSItemCards/BSItemCard.jsx b/src/Pages/BookingScreen/Components/BSItemCards/BSItemCard.jsx index 3172ee0..541cc13 100644 --- a/src/Pages/BookingScreen/Components/BSItemCards/BSItemCard.jsx +++ b/src/Pages/BookingScreen/Components/BSItemCards/BSItemCard.jsx @@ -2432,7 +2432,9 @@ const BSItemCard = (props) => { const isItemInCartHold = CartOrderDetails?.find( (cartItem) => itemMatchCondition(cartItem) && - (cartItem?.OfferMode !== 'B' && + ((cartItem?.OfferModeType && cartItem?.OfferMode === 'B' + ? true + : cartItem?.OfferMode !== 'B') && cartItem?.OfferMode !== 'P' && cartItem?.OfferMode !== 'C' && cartItem?.OfferMode !== 'O' && cartItem?.OfferMode !== 'L' @@ -2461,7 +2463,9 @@ const BSItemCard = (props) => { (cartItem) => !( itemMatchCondition(cartItem) && - (cartItem?.OfferMode !== 'B' && + ((cartItem?.OfferModeType && cartItem?.OfferMode === 'B' + ? true + : cartItem?.OfferMode !== 'B') && cartItem?.OfferMode !== 'P' && cartItem?.OfferMode !== 'C' && cartItem?.OfferMode !== 'O' && cartItem?.OfferMode !== 'L' @@ -2865,7 +2869,6 @@ const BSItemCard = (props) => { OfferId: offer?.OfferId || '', OfferAmount: change?.discount || 0, OfferType: offer?.OfferType || '', // I / Q / B - OfferCode: PromoCodeOffersDatas?.OfferCode, ActualOfferAmount: offer?.OfferAmt || 0, OfferValue: offer?.OfferAmt || 0, TableName: change?.TableName || '', @@ -2873,7 +2876,7 @@ const BSItemCard = (props) => { TableUniqueId: change?.TableUniqueId || '', // OfferType: offer?.ValueType || "", // F / P Detail: offer?.Detail || [], - OfferCode: offer?.OfferCode || '', + OfferCode: offer?.OfferCode || PromoCodeOffersDatas?.OfferCode || '', CustId: offer?.CustId || '', UsedCount: offer?.UsedCount || 0, AppliesTo: offer?.AppliesTo || '', diff --git a/src/Pages/BookingScreen/Components/BookingFunctionality/FeaturesFunctionalities.jsx b/src/Pages/BookingScreen/Components/BookingFunctionality/FeaturesFunctionalities.jsx index a9c0d18..ce5e6ca 100644 --- a/src/Pages/BookingScreen/Components/BookingFunctionality/FeaturesFunctionalities.jsx +++ b/src/Pages/BookingScreen/Components/BookingFunctionality/FeaturesFunctionalities.jsx @@ -126,7 +126,7 @@ import { MdHome, MdLocationOn } from 'react-icons/md'; import { RadioGrpButton } from '../../../../Components/Forms/RadioGroup.jsx'; const FeaturesFunctionalities = (props) => { - const { closeModal = () => {} } = props; + const { closeModal = () => { } } = props; const applyOffer = useApplyOfferto_CardDetail(); const EditableContext = React.createContext(null); const EditableContext1 = React.createContext(null); @@ -367,30 +367,30 @@ const FeaturesFunctionalities = (props) => { const options = suggestions ? suggestions - ?.filter((item) => - selectedSearchValue === 'CustName' ? item.CustName !== null : item - ) - .map((item) => ({ - value: item?.CustMobile, - label: - selectedSearchValue === 'CustMobile' - ? `${item?.CustMobile} - ${item?.CustName ? item?.CustName : ''} ${item?.CustName ? ' - ' : ''} ${'Id:' + item?.CustId?.match(/-(\d+)$/)?.[1]}` - : selectedSearchValue === 'CustId' - ? `${'Id:' + item?.CustId?.match(/-(\d+)$/)?.[1]}${item?.CustName ? ' - ' : ''} ${item?.CustName ? item?.CustName : ''} - ${item?.CustMobile}` - : selectedSearchValue === 'CustName' && - item?.CustName !== null && - `${item?.CustName ? item?.CustName : ''} ${item?.CustName ? ' - ' : ''} ${item?.CustMobile} - ${'Id:' + item?.CustId?.match(/-(\d+)$/)?.[1]}`, - CustMobile: item?.CustMobile, - CustId: item?.CustId?.match(/-(\d+)$/)?.[1], - CustName: item?.CustName, - })) - : GlobalAddCustomerDetails1?.map((item) => ({ - value: item.CustMobile, - label: `${item?.CustName} ${item?.CustMobile}`, + ?.filter((item) => + selectedSearchValue === 'CustName' ? item.CustName !== null : item + ) + .map((item) => ({ + value: item?.CustMobile, + label: + selectedSearchValue === 'CustMobile' + ? `${item?.CustMobile} - ${item?.CustName ? item?.CustName : ''} ${item?.CustName ? ' - ' : ''} ${'Id:' + item?.CustId?.match(/-(\d+)$/)?.[1]}` + : selectedSearchValue === 'CustId' + ? `${'Id:' + item?.CustId?.match(/-(\d+)$/)?.[1]}${item?.CustName ? ' - ' : ''} ${item?.CustName ? item?.CustName : ''} - ${item?.CustMobile}` + : selectedSearchValue === 'CustName' && + item?.CustName !== null && + `${item?.CustName ? item?.CustName : ''} ${item?.CustName ? ' - ' : ''} ${item?.CustMobile} - ${'Id:' + item?.CustId?.match(/-(\d+)$/)?.[1]}`, CustMobile: item?.CustMobile, - CustId: item?.CustId, + CustId: item?.CustId?.match(/-(\d+)$/)?.[1], CustName: item?.CustName, - })); + })) + : GlobalAddCustomerDetails1?.map((item) => ({ + value: item.CustMobile, + label: `${item?.CustName} ${item?.CustMobile}`, + CustMobile: item?.CustMobile, + CustId: item?.CustId, + CustName: item?.CustName, + })); const handleYesOrNoChange = (value) => { setSelectedValue(value); formRef.current?.setFieldsValue({ OfferActiveStatus: value }); @@ -453,34 +453,34 @@ const FeaturesFunctionalities = (props) => { }, ...(sportsAppPreference ? [ - { - title: 'Subcategory', - key: 'productDetails', - dataIndex: 'productDetails', - align: 'center', - width: '150px', - onCell: (record) => { - const productDetails = record?.productDetails; - const Combodtl = - record?.productDetails?.[0]?.comboDtl?.[0] - ?.ComboInwardDetails?.[0]?.ComboDetails; + { + title: 'Subcategory', + key: 'productDetails', + dataIndex: 'productDetails', + align: 'center', + width: '150px', + onCell: (record) => { + const productDetails = record?.productDetails; + const Combodtl = + record?.productDetails?.[0]?.comboDtl?.[0] + ?.ComboInwardDetails?.[0]?.ComboDetails; - return { - onClick: () => { - HoldPutfun(productDetails, record, Combodtl); - }, - }; - }, - render: (productDetails, record) => ( - HoldPutfun(productDetails, record)} - > - {record?.productDetails?.[0]?.ProdSubCatName} - - ), + return { + onClick: () => { + HoldPutfun(productDetails, record, Combodtl); + }, + }; }, - ] + render: (productDetails, record) => ( + HoldPutfun(productDetails, record)} + > + {record?.productDetails?.[0]?.ProdSubCatName} + + ), + }, + ] : []), { title: 'Orders', @@ -758,7 +758,7 @@ const FeaturesFunctionalities = (props) => { TaxAmt: formatAmount( ((record.Price * record.TaxPercentage) / (100 + record.TaxPercentage)) * - record.QTY + record.QTY ), TaxId: record.TaxId, TaxPercentage: record.TaxPercentage, @@ -785,11 +785,11 @@ const FeaturesFunctionalities = (props) => { const isDuplicate = TableName?.some( (item) => item.InwardDtlId + - ' ' + - item.BookingTypeName + - ' ' + - item.SinglePc === - selectedProduct && item.UniqueId === record.UniqueId + ' ' + + item.BookingTypeName + + ' ' + + item.SinglePc === + selectedProduct && item.UniqueId === record.UniqueId ); if (!isDuplicate) { @@ -807,7 +807,7 @@ const FeaturesFunctionalities = (props) => { TaxAmt: formatAmount( ((record.Price * record.TaxPercentage) / (100 + record.TaxPercentage)) * - record.QTY + record.QTY ), TaxId: record?.TaxId, TaxPercentage: record.TaxPercentage, @@ -1054,7 +1054,7 @@ const FeaturesFunctionalities = (props) => { ...record, ...values, }); - } catch (errInfo) {} + } catch (errInfo) { } }; let childNode = children; @@ -1106,7 +1106,7 @@ const FeaturesFunctionalities = (props) => { return ( record.Price * record.QTY - ((record.Price * record.TaxPercentage) / (100 + record.TaxPercentage)) * - record.QTY + record.QTY ); }; const WithTaxAmountTaxAmount = (record) => { @@ -1179,10 +1179,10 @@ const FeaturesFunctionalities = (props) => { onClick={() => addeddata(record)} disabled={ Object.keys(ReorderHoldDetails).length !== 0 && - BookingType === 'Dine In' && - GlobalExtraCharge.some( - (item) => item.ExtraChargeId === record.UniqueId - ) + BookingType === 'Dine In' && + GlobalExtraCharge.some( + (item) => item.ExtraChargeId === record.UniqueId + ) ? true : false } @@ -1278,7 +1278,7 @@ const FeaturesFunctionalities = (props) => { QTY: parseInt(row.QTY), TaxAmt: formatAmount( ((row.Price * row.TaxPercentage) / (100 + row.TaxPercentage)) * - row.QTY + row.QTY ), TotalAmt: row.Price * row.QTY, // ((row.Price * row.TaxPercentage) / (100 + row.TaxPercentage) *row.QTY ).toFixed(2), @@ -1427,12 +1427,12 @@ const FeaturesFunctionalities = (props) => { {Object.keys(ReorderHoldDetails).length !== 0 && - BookingType === 'Dine In' && - GlobalExtraCharge?.some( - (item) => - item.ExtraChargeId === record.UniqueId && - item.InwardDtlId === record.InwardDtlId - ) ? ( + BookingType === 'Dine In' && + GlobalExtraCharge?.some( + (item) => + item.ExtraChargeId === record.UniqueId && + item.InwardDtlId === record.InwardDtlId + ) ? ( { dispatch( changeCustomerID( response?.data?.CustomerDetails?.[ - response?.data?.CustomerDetails.length - 1 + response?.data?.CustomerDetails.length - 1 ] ) ); @@ -2186,9 +2186,9 @@ const FeaturesFunctionalities = (props) => { AppId: AppId, ...(AvailableDate && selectedDate ? { - fromDate: selectedDate?.[0], - toDate: selectedDate?.[1], - } + fromDate: selectedDate?.[0], + toDate: selectedDate?.[1], + } : {}), }; await dispatch(getSelectedFavItems(data)).unwrap(); @@ -2200,9 +2200,9 @@ const FeaturesFunctionalities = (props) => { ProdSubCat: ProdSubCat, ...(AvailableDate && selectedDate ? { - fromDate: selectedDate?.[0], - toDate: selectedDate?.[1], - } + fromDate: selectedDate?.[0], + toDate: selectedDate?.[1], + } : {}), }; @@ -2213,9 +2213,9 @@ const FeaturesFunctionalities = (props) => { prodCat: prodCat, ...(AvailableDate && selectedDate ? { - fromDate: selectedDate?.[0], - toDate: selectedDate?.[1], - } + fromDate: selectedDate?.[0], + toDate: selectedDate?.[1], + } : {}), }; @@ -2588,7 +2588,7 @@ const FeaturesFunctionalities = (props) => { e?.stopPropagation(); removeAll(); }} - // onClick={() => statusFormatter(record,index)} + // onClick={() => statusFormatter(record,index)} > Clear All @@ -2715,7 +2715,7 @@ const FeaturesFunctionalities = (props) => { : selectedSearchValue == 'CustName' ? 'Please Enter Valid Name' : selectedSearchValue == 'CustId' && - 'Please EnterCustomer Id', + 'Please EnterCustomer Id', }, ]} > @@ -2804,7 +2804,7 @@ const FeaturesFunctionalities = (props) => { : selectedSearchValue == 'CustName' ? 'Enter Name' : selectedSearchValue == 'CustId' && - 'Enter Customer Id' + 'Enter Customer Id' : ' Mobile Number'} } @@ -2986,7 +2986,7 @@ const FeaturesFunctionalities = (props) => { autocomplete="off" isOnChange={ formRef.current?.getFieldsValue()?.CustName || - inputValue + inputValue ? true : false } @@ -3052,9 +3052,9 @@ const FeaturesFunctionalities = (props) => {

Upload Profile

- // formType === 'edit' ? editstate?.EmpPhotoLink : e - // } + // getValueFromEvent={(e) => + // formType === 'edit' ? editstate?.EmpPhotoLink : e + // } > {
-
-
- - handleAddressTypeChange( - idx, - 'Delivery Address', - e.target.checked - ) - } +
+
- Delivery Address - - - handleAddressTypeChange( - idx, - 'Billing Address', - e.target.checked - ) - } - > - Billing Address - - - handleAddressTypeChange( - idx, - 'Both Address', - e.target.checked - ) - } - > - Both Address - -
-
- -
-
-
- {addr?.Address1 || ''} + + handleAddressTypeChange( + idx, + 'Delivery Address', + e.target.checked + ) + } + > + Delivery Address + + + handleAddressTypeChange( + idx, + 'Billing Address', + e.target.checked + ) + } + > + Billing Address + + + handleAddressTypeChange( + idx, + 'Both Address', + e.target.checked + ) + } + > + Both Address +
-
-
- {addr?.Address2 || ''} -
-
- -
-
- {addr?.Zip || ''} -
-
- -
-
- {addr?.City || ''} -
-
- -
-
- {addr?.Dist || ''} -
-
- -
-
- {addr?.State || ''} -
-
- - {addr?.Latitude && ( -
-
- {' '} - {addr?.Latitude || ''},{' '} - {addr?.Longitude || ''} +
+
+
+ {addr?.Address1 || ''}
- )} -
-
- - handleRemoveAddress(idx)} - okText="Yes, Remove" - cancelText="Cancel" - okType="danger" - > +
+
+ {addr?.Address2 || ''} +
+
+ +
+
+ {addr?.Zip || ''} +
+
+ +
+
+ {addr?.City || ''} +
+
+ +
+
+ {addr?.Dist || ''} +
+
+ +
+
+ {addr?.State || ''} +
+
+ + {addr?.Latitude && ( +
+
+ {' '} + {addr?.Latitude || ''},{' '} + {addr?.Longitude || ''} +
+
+ )} +
+
- + + handleRemoveAddress(idx)} + okText="Yes, Remove" + cancelText="Cancel" + okType="danger" + > + + +
-
- )) + )) ) : (
@@ -3484,7 +3484,7 @@ const FeaturesFunctionalities = (props) => { { style={ offerType == 'P' ? { - opacity: '1', - boxShadow: - 'rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px', - margin: '3px', - padding: '5px', - backgroundColor: '#fff', - } + opacity: '1', + boxShadow: + 'rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px', + margin: '3px', + padding: '5px', + backgroundColor: '#fff', + } : { opacity: '0.6', boxShadow: 'none' } } onClick={() => { @@ -3549,13 +3549,13 @@ const FeaturesFunctionalities = (props) => { style={ offerType == 'F' ? { - opacity: '1', - boxShadow: - 'rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px', - margin: '3px', - padding: '5px', - backgroundColor: '#fff', - } + opacity: '1', + boxShadow: + 'rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px', + margin: '3px', + padding: '5px', + backgroundColor: '#fff', + } : { opacity: '0.6', boxShadow: 'none' } } onClick={() => { @@ -3652,7 +3652,7 @@ const FeaturesFunctionalities = (props) => { } isOnChange={ formRef.current?.getFieldsValue()?.CustEmail || - inputValue + inputValue ? true : false } @@ -3680,7 +3680,7 @@ const FeaturesFunctionalities = (props) => { autocomplete="off" isOnChange={ formRef.current?.getFieldsValue()?.CreditLimit || - inputValue + inputValue ? true : false } @@ -4027,7 +4027,7 @@ const FeaturesFunctionalities = (props) => { buttonText="SAVE" color="901D77" icon={} - // handleSubmit={() => { globalamount1() }} + // handleSubmit={() => { globalamount1() }} />
@@ -4041,7 +4041,7 @@ const FeaturesFunctionalities = (props) => { bordered dataSource={TableName} width={'120px'} - //pagination={column2?.length < "11" ? false : true} + //pagination={column2?.length < "11" ? false : true} >
)} diff --git a/src/Pages/BookingScreen/Components/BookingFunctionality/SplitPayment.jsx b/src/Pages/BookingScreen/Components/BookingFunctionality/SplitPayment.jsx index b1610d0..a99cd9a 100644 --- a/src/Pages/BookingScreen/Components/BookingFunctionality/SplitPayment.jsx +++ b/src/Pages/BookingScreen/Components/BookingFunctionality/SplitPayment.jsx @@ -51,7 +51,14 @@ import { GlobalOverAllDiscSales, GlobalOverAllDiscEstimate, GlobaltipAmount, - GlobalRetailWSSalesType + GlobalRetailWSSalesType, + GlobalPreviousOrderPayment, + GlobalPreviousOrderOfferDetails, + GlobalSalesBillEdit, + putSalesBillEdit, + changeBillEditingMode, + changePreviousOrderPayment, + changePreviousOrderOfferDetail } from '../../../../Features/BookingScreen/BookingData/BookingData'; import { Form, Radio } from 'antd'; import { @@ -98,6 +105,7 @@ import { gettinghold } from '../../../../Features/BookingScreen/HoldOption/HoldO import { Global_OrderOfferDetail } from '../../../../Features/Offer/Offer.js'; import { useApplyOfferto_CardDetail } from '../UtillComponents/BSNavBarOffer/BSNavBarOffer_CustomHooks.jsx'; import { ApplicationPreferences } from '../../../../Features/BrachLogin/BranchLogin.js'; +import { ChangeFullFreeProductList, changeFullOfferAppliedProducts, GlobalOfferAppliedProducts } from '../../../../Features/Offer/Offernew/BookingOffernew.js'; const subDirectory = import.meta.env.BASE_URL; const MainHomeUrl = import.meta.env.ENV_MAIN_BASE_URL; @@ -114,7 +122,7 @@ const SplitPayment = (props) => { const applyOffer = useApplyOfferto_CardDetail(); const globalTipAmount = useSelector(GlobaltipAmount); - const TotalAmount = (props.hasOwnProperty('TotalNetAmount') + const TotalNetAmount = (props.hasOwnProperty('TotalNetAmount') ? props['TotalNetAmount'] : null); const TableOrderId = props.hasOwnProperty('TableBookingOrderId') @@ -128,7 +136,23 @@ const SplitPayment = (props) => { : null; const OrderCardDetail = useSelector(GlobalOrderCardDetails); const SelCustId = useSelector(GlobalSelCustId); - + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const previousOrderPayment = useSelector(GlobalPreviousOrderPayment); + const previousOrderOfferDetails = useSelector(GlobalPreviousOrderOfferDetails); + const filteredPayments = + previousOrderPayment?.filter( + p => p?.LastOrderTran === 'Y' && p?.AfterAdjustment != null && p?.AfterAdjustment !== '' && p?.AfterAdjustment + ) || []; + const paymentsToUse = + filteredPayments.length > 0 ? filteredPayments : previousOrderPayment || []; + const totalPreviousOfferAmount = previousOrderOfferDetails?.reduce( + (acc, offer) => acc + parseFloat(offer.OfferAmount || 0), + 0 + ); + const totalPreviouspayment = paymentsToUse?.reduce( + (acc, payment) => acc + parseFloat(payment.AfterAdjustment || payment.Amount || 0), + 0 + ); const [paybtns, setpaybtns] = useState([]); const [PaymentOptions, setPaymentOptions] = useState([]); const [PaymentUpiOptions, setPaymentUpiOptions] = useState([]); @@ -140,6 +164,9 @@ const SplitPayment = (props) => { const [SplitSelPayMode, setSplitSelPayMode] = useState({}); const [TotalSplitAmount, setTotalSplitAmount] = useState(0); const [SalesOrderId, setSalesOrderId] = useState(); + const [beforeAdjAmount, setBeforeAdjAmount] = useState(null); + const [afterAdjAmount, setAfterAdjAmount] = useState(null); + const [adjustmentType, setAdjustmentType] = useState(null); const [PaymentgatewayCard, setPaymentgatewayCard] = useState([]); const [PaymentDeviceCard, setPaymentDeviceCard] = useState([]); const [PaymentgatewayUPI, setPaymentgatewayUPI] = useState([]); @@ -154,7 +181,7 @@ const SplitPayment = (props) => { const GlobProdwisedata = useSelector(GlobalSelProdWiseEst); const prodCat = useSelector(GlobalProductCategorie); const ProdSubCat = useSelector(GlobalProductSubCategorie); - const RetailWSSalesType= useSelector(GlobalRetailWSSalesType, shallowEqual); + const RetailWSSalesType = useSelector(GlobalRetailWSSalesType, shallowEqual); const selOption = useSelector(GlobalSelOption); const ReportholdData = useSelector(GlobalReorderHoldDetails); const GlobalExtraCharge = useSelector(globalExtraTotalAmount); @@ -177,6 +204,7 @@ const SplitPayment = (props) => { (i) => i.SettingIdName === 'AllProductindividualToken' )?.[0]; const OrderOfferDetail = useSelector(Global_OrderOfferDetail, shallowEqual); + const offerAppliedProducts = useSelector(GlobalOfferAppliedProducts); const [SelectedBookingType, setSelectedBookingType] = useState(null); const [ConfigDataList, setConfigDataList] = useState([]); const [formattedDate, setFormattedDate] = useState(''); @@ -194,6 +222,8 @@ const SplitPayment = (props) => { const OfferCheckedInSetup = templateData?.BookingNavbar?.[1].some( (item) => item?.OptionName == 'Offer' ); + const [TotalAmount, setTotalAmount] = useState(0); + console.log(TotalAmount, "TotalSplitAmount", TotalSplitAmount) const preferenceOffer = SettingDataSelector?.[0]?.['SettingDtlDetails']?.find( (item) => item.SettingIdName === 'Offer' @@ -206,6 +236,21 @@ const SplitPayment = (props) => { getPaymentOptionFeature(); }, []); + useEffect(() => { + + if (salesBillEdit) { + const previousNetAmount = (totalPreviouspayment || 0); + if (TotalNetAmount > previousNetAmount) { + setTotalAmount(TotalNetAmount - previousNetAmount); + } else { + setTotalAmount(0); + } + } else { + setTotalAmount(TotalNetAmount); + } + + }, [totalPreviousOfferAmount, totalPreviouspayment, TotalNetAmount]) + useEffect(() => { if (SelCustId) { setpaybtns(PaymentOptions); @@ -227,8 +272,11 @@ const SplitPayment = (props) => { }, [Splitpayment]); useEffect(() => { const totalPayAmount = Object.keys(SplitSelPayMode) - .filter((key) => key.startsWith('PayAmount-')) // Filter keys that start with "PayAmount-" - .reduce((sum, key) => sum + parseInt(SplitSelPayMode[key]), 0); + .filter(key => key.startsWith('PayAmount-')) + .reduce((sum, key) => { + const value = parseInt(SplitSelPayMode[key], 10); + return sum + (isNaN(value) ? 0 : value); + }, 0); setTotalSplitAmount(totalPayAmount); }, [SplitSelPayMode]); useEffect(() => { @@ -522,7 +570,7 @@ const SplitPayment = (props) => { await Promise.all( PrintOrderDetails?.[0]?.OrderDetails?.map( async (orderDetail, index) => { - const groupedTokens = orderDetail?.productDetails?.reduce( + const groupedTokens = orderDetail?.productDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.reduce( (acc, item, idx) => { if (item.TokenAvailable === 'Y') { if (!item.CounterName) { @@ -557,7 +605,7 @@ const SplitPayment = (props) => { ); } else { await Promise.all( - PrintOrderDetails?.[0]?.OrderDetails?.map( + PrintOrderDetails?.[0]?.OrderDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.map( async (orderDetail, index) => { await TokenPrint(`${index}-${orderDetail?.OrderId}`); } @@ -585,6 +633,10 @@ const SplitPayment = (props) => { 'Style 11': 'PrintStyle11', 'Style 12': 'PrintStyle12', 'Style 13': 'RePrint', + A4: 'PrintStyleA4', + A5: 'PrintStyleA5', + A4Standard: 'A4Standard', + TaxInvoice: 'TaxInvoice', }; const selectedStyle = @@ -598,7 +650,7 @@ const SplitPayment = (props) => { async (orderDetail, index) => { await printDiv(`${selectedStyle}-${index}`, style); // Use unique IDs for each print if (orderDetail?.BookingTypeName !== 'Dine In') { - const groupedTokens = orderDetail?.productDetails?.reduce( + const groupedTokens = orderDetail?.productDetails?.filter(data => data?.EditTokenAvailable !== 'N')?.reduce( (acc, item, idx) => { if (item.TokenAvailable === 'Y') { if (!item.CounterName) { @@ -981,11 +1033,11 @@ const SplitPayment = (props) => { @@ -1240,7 +1292,12 @@ const SplitPayment = (props) => { } else { dispatch(changeOrderCardDetails([])); } + dispatch(changeBillEditingMode(false)); + await dispatch(changePreviousOrderPayment([])); + await dispatch(changePreviousOrderOfferDetail([])); await dispatch(ChangeTotalAmount([])); + dispatch(changeFullOfferAppliedProducts([])); + dispatch(ChangeFullFreeProductList([])); await dispatch(changeReorderHoldDetails({})); await dispatch(changeReorderProductDetails([])); await dispatch(ChangeNavHoldData(false)); @@ -1308,8 +1365,8 @@ const SplitPayment = (props) => { ? 'E' : GlobEstBooking === 'ParEst' ? GlobProdwisedata?.includes( - a.InwardDtlId + ' ' + a?.BookingTypeName - ) + a.InwardDtlId + ' ' + a?.BookingTypeName + ) ? 'E' : 'S' : 'S', @@ -1318,6 +1375,8 @@ const SplitPayment = (props) => { OfferValue: a?.Type === 'C' ? a?.OfferValue : a.Offer, OfferAmt: a?.Type === 'C' ? a?.TotalAmt : a.Offer, OfferType: a?.Type === 'C' ? a?.OfferType : '', + OfferMode: a?.OfferMode, + OfferMessage: a?.OfferMessage, CounterName: a?.TokenAvailable === 'Y' ? a?.CounterName : null, ProductIdentifierDtls: a.ProductIdentifierDtls, ModelNumber: a.ModelNumber, @@ -1326,9 +1385,9 @@ const SplitPayment = (props) => { const NotSlectedTypeFind = temporderdetail?.find( (a) => a?.BookingType != SelectedBookingType ); - let updatedOfferDetails = OrderOfferDetail; + let updatedOfferDetails = offerAppliedProducts; if (GlobEstBooking !== 'Sales') { - updatedOfferDetails = OrderOfferDetail?.filter( + updatedOfferDetails = offerAppliedProducts?.filter( (item) => !( item.TableName === 'LoyaltyPoints' && @@ -1339,7 +1398,7 @@ const SplitPayment = (props) => { } let temppostdata = { CompId: CompId, - SalesMode:RetailWSSalesType || 'R', + SalesMode: RetailWSSalesType || 'R', BranchId: BranchId, AppId: AppId, OrderDate: formattedDate, @@ -1413,37 +1472,37 @@ const SplitPayment = (props) => { : SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'card' ? SplitSelPayMode[`CardSelection-${i}`] : SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === - 'default' + 'default' ? 'PC' : SplitSelPayMode[`UPISelection-${i}`], ModeOfPayment: SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'default' ? PaymentUpiOptions?.find( - (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] - )?.UPIDetailId + (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] + )?.UPIDetailId : null, AccountDtl: SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'default' + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( - (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] - ) + (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] + ) : (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === - 'pd') || + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === + 'pd') || + (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === + 'card' && + SplitSelPayMode[`CardSelection-${i}`]?.toLowerCase() === + 'pd') + ? useOptions?.[0]?.PaymentDetails?.PaymentDevice + : (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === + 'upi' && + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === + 'pg') || (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'card' && SplitSelPayMode[`CardSelection-${i}`]?.toLowerCase() === - 'pd') - ? useOptions?.[0]?.PaymentDetails?.PaymentDevice - : (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === - 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === - 'pg') || - (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === - 'card' && - SplitSelPayMode[`CardSelection-${i}`]?.toLowerCase() === - 'pg') + 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], PaymentStatus: @@ -1452,9 +1511,9 @@ const SplitPayment = (props) => { : SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'credit' ? 'S' : SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === - 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === - 'default' + 'upi' && + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === + 'default' ? 'S' : 'P', Debit: 0, @@ -1468,7 +1527,7 @@ const SplitPayment = (props) => { }; let PostData = temppostdata; (i === 0 && SplitSelPayMode[`PaymentStatus-${i}`] === 'F') || - (i === 0 && props.hasOwnProperty('TableBookingOrderId')) + (i === 0 && props.hasOwnProperty('TableBookingOrderId')) ? PutSplitPayment(i) : i === 0 ? Object.keys(ReportholdData)?.length > 0 @@ -1517,14 +1576,14 @@ const SplitPayment = (props) => { } setMessageData( response?.data?.response + - ' ' + - (response?.data?.OrderDetails?.length > 0 - ? response?.data?.OrderId && - extractLastNumberOrderId( - response?.data?.OrderId, - response?.data?.OrderDetails?.[0]?.FYStatus - ) - : '') + ' ' + + (response?.data?.OrderDetails?.length > 0 + ? response?.data?.OrderId && + extractLastNumberOrderId( + response?.data?.OrderId, + response?.data?.OrderDetails?.[0]?.FYStatus + ) + : '') ); if (response?.data?.OrderDetails?.length > 0) { setPrintOrderDetails([response?.data]); @@ -1566,11 +1625,23 @@ const SplitPayment = (props) => { : ReportholdData?.OrderId; putdata['SalesId'] = ReportholdData?.SalesId; putdata['UpdatedBy'] = UserId; + let response = null; - let response = await dispatch(PutBookingData(putdata)).unwrap(); + if (salesBillEdit) { + response = await dispatch(putSalesBillEdit(putdata)).unwrap(); + } else { + response = await dispatch(PutBookingData(putdata)).unwrap(); + } if (response?.data?.statusCode == 1) { setSalesOrderId(response?.data?.OrderId); + const salesEditAmount = response?.data?.PaymentOrderDtl?.find(payment => + payment?.LastOrderTran === 'Y' && payment?.AdjustmentType && + payment?.AdjustmentType != null && payment?.AfterAdjustment && payment?.BeforeAdjustment && payment?.AfterAdjustment != null && payment?.BeforeAdjustment != null + ) + setBeforeAdjAmount(salesEditAmount?.BeforeAdjustment || null); + setAfterAdjAmount(salesEditAmount?.AfterAdjustment || null); + setAdjustmentType(salesEditAmount?.AdjustmentType || null); let Paymentdevicefilter = response?.data?.PaymentOrderDtl?.filter( (item) => item?.PaymentOptionType?.toLowerCase() === 'pd' && @@ -1606,14 +1677,14 @@ const SplitPayment = (props) => { } setMessageData( response?.data?.response + - ' ' + - (response?.data?.OrderDetails?.length > 0 - ? response?.data?.OrderId && - extractLastNumberOrderId( - response?.data?.OrderId, - response?.data?.OrderDetails?.[0]?.FYStatus - ) - : '') + ' ' + + (response?.data?.OrderDetails?.length > 0 + ? response?.data?.OrderId && + extractLastNumberOrderId( + response?.data?.OrderId, + response?.data?.OrderDetails?.[0]?.FYStatus + ) + : '') ); if (response?.data?.OrderDetails?.length > 0) { setPrintOrderDetails([response?.data]); @@ -1672,32 +1743,32 @@ const SplitPayment = (props) => { : SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'card' ? SplitSelPayMode[`CardSelection-${i}`] : SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === - 'default' + 'default' ? 'PC' : SplitSelPayMode[`UPISelection-${i}`], ModeOfPayment: SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'default' ? PaymentUpiOptions?.find( - (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] - )?.UPIDetailId + (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] + )?.UPIDetailId : null, AccountDtl: SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'default' + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'default' ? useOptions?.[0]?.PaymentDetails?.Payatthecounter?.find( - (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] - ) + (upipay) => upipay?.Mode === SplitSelPayMode[`UPIMode-${i}`] + ) : (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'pd') || - (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'card' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'pd') + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'pd') || + (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'card' && + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'pd') ? useOptions?.[0]?.PaymentDetails?.PaymentDevice : (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === - 'pg') || - (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === - 'card' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'pg') + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === + 'pg') || + (SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === + 'card' && + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === 'pg') ? useOptions?.[0]?.PaymentDetails?.PaymentGateway : [], PaymentStatus: @@ -1706,8 +1777,8 @@ const SplitPayment = (props) => { : SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'credit' ? 'S' : SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'upi' && - SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === - 'default' + SplitSelPayMode[`UPISelection-${i}`]?.toLowerCase() === + 'default' ? 'S' : 'P', Debit: 0, @@ -1715,6 +1786,10 @@ const SplitPayment = (props) => { SplitSelPayMode[`PaymentMode-${i}`]?.toLowerCase() === 'credit' ? SplitSelPayMode[`PayAmount-${i}`] : 0, + BeforeAdjAmount: beforeAdjAmount || null, + AfterAdjAmount: afterAdjAmount || null, + AdjustmentType: adjustmentType || null, + }; let response = await dispatch( @@ -1761,14 +1836,14 @@ const SplitPayment = (props) => { } setMessageData( response?.data?.response + - ' ' + - (response?.data?.OrderDetails?.length > 0 - ? response?.data?.OrderId && - extractLastNumberOrderId( - response?.data?.OrderId, - response?.data?.OrderDetails?.[0]?.FYStatus - ) - : '') + ' ' + + (response?.data?.OrderDetails?.length > 0 + ? response?.data?.OrderId && + extractLastNumberOrderId( + response?.data?.OrderId, + response?.data?.OrderDetails?.[0]?.FYStatus + ) + : '') ); if (response?.data?.OrderDetails?.length > 0) { setPrintOrderDetails([response?.data]); @@ -1870,14 +1945,14 @@ const SplitPayment = (props) => { }); setMessageData( bookingpaymentupdate?.data?.response + - ' ' + - (bookingpaymentupdate?.data?.OrderDetails?.length > 0 - ? bookingpaymentupdate?.data?.OrderId && - extractLastNumberOrderId( - bookingpaymentupdate?.data?.OrderId, - bookingpaymentupdate?.data?.OrderDetails?.[0]?.FYStatus - ) - : '') + ' ' + + (bookingpaymentupdate?.data?.OrderDetails?.length > 0 + ? bookingpaymentupdate?.data?.OrderId && + extractLastNumberOrderId( + bookingpaymentupdate?.data?.OrderId, + bookingpaymentupdate?.data?.OrderDetails?.[0]?.FYStatus + ) + : '') ); if (bookingpaymentupdate?.data?.OrderDetails?.length > 0) { setPrintOrderDetails([bookingpaymentupdate?.data]); @@ -1895,7 +1970,7 @@ const SplitPayment = (props) => { if ( Date.now() - startTime > useOptions?.[0]?.PDConfigDetails?.[0]?.AutoCancelDurationInMinutes * - 60000 + 60000 ) { // 60,000 ms = 1 minute diff --git a/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx b/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx index f1294f6..c89fe41 100644 --- a/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx +++ b/src/Pages/BookingScreen/Components/OtherConponents/Reprint/BSReprint.jsx @@ -41,7 +41,26 @@ import MobilePrint from '../../BookingFunctionality/MobilePrint.jsx'; import '../../../../../Styles/BookingScreen/Components/OtherConponents/Reprint/BSReprint.scss'; import PaymentPdfBooking from '../../../../paymentpdfPage/PaymentPdfBooking.jsx'; import { + changeBillEditingMode, + changeEstimateBooking, + changeHoldOrderDtl, + changeOrderCardDetails, + changeOrderType, + ChangeOverAllDiscEstimate, + ChangeOverAllDiscSales, + changePreviousOrderOfferDetail, + changePreviousOrderPayment, + changeReorderHoldDetails, + changeReorderProductDetails, + ChangeSelectedCustDisable, + changeSelectedCustId, + changeSelectedOption, + changeSelProdWiseEst, + getAllCustomer, getConfigType, + getCustomerForHold, + GlobalSalesBillEdit, + GlobalSelectedCustDisable, PreferenceData, } from '../../../../../Features/BookingScreen/BookingData/BookingData.js'; import { DatePicker, Form } from 'antd'; @@ -63,10 +82,15 @@ import { import { TbSettingsCog } from 'react-icons/tb'; import { useQuery, useQueryClient } from '@tanstack/react-query'; import { axiosRetailInstanceData } from '../../../../../Features/AuthenicationToken/AuthenticationToken.js'; +import { MdEdit } from "react-icons/md"; +import { v4 as uuidv4 } from 'uuid'; +import { changeOrderOfferDetail } from '../../../../../Features/Offer/Offer.js'; +import { ChangeFullFreeProductList, changeFullOfferAppliedProducts, changeLoyaltyConsumedQuantities } from '../../../../../Features/Offer/Offernew/BookingOffernew.js'; +import { ChangeTotalAmount } from '../../../../../Features/ExteraCharges/ExtraCharges.js'; const RetailApiurl = import.meta.env.ENV_API_URL; -function BSReprint() { +function BSReprint({ setOpenModel = () => { } }) { const dispatch = useDispatch(); const queryClient = useQueryClient(); const appPreferences = useSelector(ApplicationPreferences); @@ -100,24 +124,31 @@ function BSReprint() { const [page, setpage] = useState(1); const [itemsPerPage] = useState(10); const [DefReason, setDefReason] = useState({}); - console.log(DefReason, 'DefReason'); const SettingDataSelector = useSelector(PreferenceData); + const salesBillEdit = useSelector(GlobalSalesBillEdit); + const custDisable = useSelector(GlobalSelectedCustDisable); + console.log(SettingDataSelector, 'SettingDataSelector'); const MobileA4Print = SettingDataSelector?.[0]?.SettingDtlDetails?.find( (setting) => setting?.SettingIdName?.toLowerCase() === 'mobilea4' && setting?.SettingValue === 'Y' ); + const editBill = SettingDataSelector?.[0]?.SettingDtlDetails?.find( + (setting) => + setting?.SettingIdName?.toLowerCase() === 'editbill' && + setting?.SettingValue === 'Y' + ); const TokenOnly = SettingDataSelector?.[0]?.SettingDtlDetails?.filter( (i) => i.SettingIdName === 'TokenOnly' )?.[0]; const IndividualToken = SettingDataSelector?.[0]?.SettingDtlDetails?.filter( (i) => i.SettingIdName === 'AllProductindividualToken' )?.[0]; - const Weightasquantity = SettingDataSelector?.[0]?.SettingDtlDetails?.some( - (setting) => - setting?.SettingIdName?.toLowerCase() === 'weightasquantity' && - setting?.SettingValue === 'Y' - ); + const Weightasquantity = SettingDataSelector?.[0]?.SettingDtlDetails?.some( + (setting) => + setting?.SettingIdName?.toLowerCase() === 'weightasquantity' && + setting?.SettingValue === 'Y' + ); const printDatas = useSelector(GlobalprintDatas); console.log(printDatas, 'GlobalprintDatas'); const PrinterDetails = useSelector(GlobalPrinterMappingDtls); @@ -560,7 +591,7 @@ function BSReprint() { const selectedStyle = stylesMap[ - printerTemplateStyle == undefined ? 'Style 13' : printerTemplateStyle + printerTemplateStyle == undefined ? 'Style 13' : printerTemplateStyle ]; if (selectedStyle) { if (data === 'without') { @@ -784,7 +815,6 @@ function BSReprint() {
{(page - 1) * 10 + index + 1} ), }, - { title: 'Bill No', dataIndex: 'BillNo', @@ -895,6 +925,21 @@ function BSReprint() { /> ), }, + // ...(editBill ? [ + { + title: 'Edit Bill', + key: 'EditBill', + dataIndex: 'EditBill', + align: 'center', + render: (text, row) => ( + await handleEditBill(e, row)} + /> + ), + } + // ] : []) + , { title: () => (
{ - const isWeightScale = item?.ScaleType === 'weight'; + const isWeightScale = item?.ScaleType === 'weight'; - if (isWeightScale) { - return acc + ( - Weightasquantity - ? Math.round(Number(item?.SalesQty || item?.OrderQty || 0)) - : 1 - ); - } + if (isWeightScale) { + return acc + ( + Weightasquantity + ? Math.round(Number(item?.SalesQty || item?.OrderQty || 0)) + : 1 + ); + } - return acc + Math.round(Number(item?.SalesQty || item?.OrderQty|| 0)); - }, 0) + return acc + Math.round(Number(item?.SalesQty || item?.OrderQty || 0)); + }, 0) const widthOutTexAmt = table2Data?.[0]?.TaxDetails?.reduce( (sum, item) => sum + (item?.WithOutTaxAmount || 0), 0 ); + const handleEditBill = async (e, orderDtls) => { + setOpenModel(e); + dispatch(changeBillEditingMode(true)); + const { + productDetails, + ExtraChargeDetails, + CustSuppId, + OrderOfferDetails, + RefDetails, + OrderId, + OrderType, + OverallDisc, + OrderPaymentDtl, + } = orderDtls; + const updated = productDetails?.map((item) => ({ + ...item, + Offer: item?.OfferAmt, + localId: uuidv4(), + OfferMode: item?.OfferMode ? item?.OfferMode?.trim() : null, + VariantAvailableFrom: item?.AvailableFrom || null, + VariantAvailableTo: item?.AvailableTo || null, + OrderQty: item?.SalesQty, + OrderRate: item?.Rate, + // TotalAmt: formatAmount((item.TotalAmt - item.OfferValue)), + })); + + if (RefDetails?.[0]?.FreeProdList) { + dispatch(ChangeFullFreeProductList(RefDetails[0]?.FreeProdList)); + } + + if (RefDetails?.[0]?.OfferAppliedProductList) { + dispatch( + changeFullOfferAppliedProducts( + RefDetails[0]?.OfferAppliedProductList + ) + ); + } + + + + if (CustSuppId) { + let res = await dispatch( + getCustomerForHold({ + CompId: CompId, + AppId: AppId, + branchId: BranchId, + OrderId: OrderId, + }) + ).unwrap(); + + if (res?.data?.statusCode !== 1) { + res = await dispatch( + getAllCustomer({ + CompId: CompId, + AppId: AppId, + branchId: BranchId, + }) + ).unwrap(); + } + + if (res?.data?.statusCode === 1) { + + const loyaltyFreeProductOfferApplied = (RefDetails?.[0]?.OfferAppliedProductList || [])?.filter( + (off) => + off?.FreeProductsList?.OfferMode === 'L' && + off?.TableUniqueName === 'FreeProduct' + ); + + const customerDetails = res?.data?.data?.find( + (item) => item.CustId === CustSuppId + ); + + if (customerDetails) { + const { CustId, CustName, CustMobile, LoyaltyPointsDetail, TotalLoyaltyPoints } = customerDetails; + const data = { + CustId: CustId, + CustName: CustName, + label: CustName ? CustName : CustMobile, + value: CustMobile, + LoyaltyPointsDetail: LoyaltyPointsDetail, + TotalLoyaltyPoints: TotalLoyaltyPoints + }; + + dispatch(changeOrderOfferDetail([...OrderOfferDetails])); + dispatch(changeSelectedOption(data)); + await dispatch(ChangeSelectedCustDisable(true)); + + if (loyaltyFreeProductOfferApplied?.length > 0) { + const loyaltyProdQuantities = {}; + + loyaltyFreeProductOfferApplied.forEach((off) => { + const freeProdDtls = off?.FreeProductsList; + const freeProdOfferId = + freeProdDtls?.ProdVariantDetails?.[0]?.StockDetails?.[0] + ?.ProdOfferId; + + const key = [ + freeProdDtls?.OfferId, + freeProdDtls?.FreeProdId, + freeProdDtls?.FreeProdVariantName, + freeProdOfferId, + ].join('|'); + + loyaltyProdQuantities[key] = freeProdDtls?.FreeQty || 0; + }); + + if (Object.keys(loyaltyProdQuantities).length > 0) { + dispatch(changeLoyaltyConsumedQuantities(loyaltyProdQuantities)); + } + + console.log(loyaltyProdQuantities, 'loyaltyProdQuantities'); + } + } + + } + } + await dispatch(changeOrderType('Hold')); + await dispatch(changeHoldOrderDtl(true)); + await dispatch(changeReorderHoldDetails(orderDtls)); + await dispatch(changeReorderProductDetails(updated)); + await dispatch(changeSelectedCustId(CustSuppId)); + await dispatch(ChangeTotalAmount(ExtraChargeDetails)); + await dispatch(changePreviousOrderPayment(OrderPaymentDtl)); + await dispatch(changePreviousOrderOfferDetail(OrderOfferDetails)); + dispatch(changeOrderCardDetails(updated)); + let temp = updated?.filter((item) => item.OrderType === 'E') + .map((item) => item.InwardDtlId + ' ' + item.BookingTypeName); + await dispatch(changeSelProdWiseEst(temp)); + + if (OrderType === 'E') { + await dispatch(changeEstimateBooking('OvrAllEst')); + await dispatch(ChangeOverAllDiscEstimate(parseFloat(OverallDisc))); + } else { + await dispatch(changeEstimateBooking('Sales')); + await dispatch(ChangeOverAllDiscSales(parseFloat(OverallDisc))); + } + } + return ( <>
@@ -1295,7 +1478,7 @@ function BSReprint() { {countOfProduct > 10 && ( { carouselRef.current.goTo(index); } }; - const goToPrintSetup = () => { - navigate(`${subDirectory}saleslayouts/print-selection`); -}; + const goToPrintSetup = () => { + navigate(`${subDirectory}saleslayouts/print-selection`); + }; const getStyleNote = (value) => { if (!GlobaldummyData) return false; const isAnyTableOptionTrue = @@ -385,7 +385,6 @@ const PrintPreviewPage = (props) => { // (item) => item.StyleName === selectedStyleName // ); - // debugger // // Only one "Sales" style should have SetasDefault: "Y" // const updatedTemplates = SizeOptionData.map((item) => { // if ( @@ -401,7 +400,7 @@ const PrintPreviewPage = (props) => { // }); // console.log(updatedTemplates,'ngfjbknbfgjbgfjn'); - + // let TemplateDetails = updatedTemplates.map((item) => ({ // SizeId: null, @@ -451,78 +450,79 @@ const PrintPreviewPage = (props) => { // }; -const onfinish = async (values) => { - if (!SizeOptionData || SizeOptionData.length === 0) { - setMessageType('error'); - setMessageData('Please Setup the Screen'); - return; - } - - const selectedStyle = SizeOptionData.find( - (item) => item.StyleName === selectedStyleName - ); + const onfinish = async (values) => { + if (!SizeOptionData || SizeOptionData.length === 0) { + setMessageType('error'); + setMessageData('Please Setup the Screen'); + return; + } - if (!selectedStyle) { - setMessageType('error'); - setMessageData('Selected style not found'); - return; - } - // Update all templates, ensuring only the selected style has SetasDefault: "Y" - const updatedTemplates = SizeOptionData.map((item) => { - return { - ...item, - SetasDefault: item.StyleName === selectedStyleName ? "Y" : "N", + const selectedStyle = SizeOptionData.find( + (item) => item.StyleName === selectedStyleName + ); + + if (!selectedStyle) { + setMessageType('error'); + setMessageData('Selected style not found'); + return; + } + // Update all templates, ensuring only the selected style has SetasDefault: "Y" + const updatedTemplates = SizeOptionData.map((item) => { + return { + ...item, + SetasDefault: item.StyleName === selectedStyleName ? "Y" : "N", + }; + }); + + console.log(updatedTemplates, 'ngfjbknbfgjbgfjn'); + + let TemplateDetails = updatedTemplates.map((item) => ({ + SizeId: null, + StyleId: item.StyleId, + SetasDefault: item.SetasDefault, + SetasDefaultInvoice: item.SetasDefaultInvoice, + PrintTypeId: item?.PrintTypeId, + SizeDetails: item.OptionDetails.map((opt) => ({ + OptionId: opt.ConfigId, + })), + ...(item?.TermsandConditions?.length > 0 + ? { + PrintTermsandConditions: (item?.TermsandConditions + ? item?.TermsandConditions + : [] + )?.map((tc) => ({ + TermsandConditions: tc, + })), + } + : {}), + ...(item?.Notes ? { Notes: item.Notes } : {}), + ...(item?.PageSize ? { PageSize: item.PageSize } : {}), + ...(item?.PrintHdrName ? { PrintHdrName: item.PrintHdrName } : {}), + ...(item?.Signature ? { Signature: item?.Signature } : {}), + PrintType: item?.PrintType, + })); + + const Data = { + CompId: CompId, + BranchId: BranchId, + AppId: AppId, + TemplateDetails: TemplateDetails, + CreatedBy: UserId, }; - }); - console.log(updatedTemplates, 'ngfjbknbfgjbgfjn'); + const response = await dispatch( + putPrintSelectionComponentData(Data) + ).unwrap(); - let TemplateDetails = updatedTemplates.map((item) => ({ - SizeId: null, - StyleId: item.StyleId, - SetasDefault: item.SetasDefault, - SetasDefaultInvoice: item.SetasDefaultInvoice, - PrintTypeId: item?.PrintTypeId, - SizeDetails: item.OptionDetails.map((opt) => ({ - OptionId: opt.ConfigId, - })), - ...(item?.TermsandConditions?.length > 0 - ? { - PrintTermsandConditions: (item?.TermsandConditions - ? item?.TermsandConditions - : [] - )?.map((tc) => ({ - TermsandConditions: tc, - })), - } - : {}), - ...(item?.Notes ? { Notes: item.Notes } : {}), - ...(item?.PageSize ? { PageSize: item.PageSize } : {}), - ...(item?.PrintHdrName ? { PrintHdrName: item.PrintHdrName } : {}), - ...(item?.Signature ? { Signature: item?.Signature } : {}), - PrintType: item?.PrintType, - })); - - const Data = { - CompId: CompId, - BranchId: BranchId, - AppId: AppId, - TemplateDetails: TemplateDetails, - CreatedBy: UserId, + if (response?.data?.statusCode === 1) { + dispatch(changeSelectedPrintdummyData(false)); + await GetPrintData(); + setMessageType('success'); + setMessageData(response?.data?.response); + if (onClose) onClose(); // Call the onClose callback after success + } }; - - const response = await dispatch( - putPrintSelectionComponentData(Data) - ).unwrap(); - - if (response?.data?.statusCode === 1) { - dispatch(changeSelectedPrintdummyData(false)); - await GetPrintData(); - setMessageType('success'); - setMessageData(response?.data?.response); - if (onClose) onClose(); // Call the onClose callback after success - } -}; + return (
{
{style.component}
- )):( -
- Please set up Print form to view or change here. -
- - Click here to go there - -
- )} + )) : ( +
+ Please set up Print form to view or change here. +
+ + Click here to go there + +
+ )}
diff --git a/src/Pages/BookingScreen/Components/UtillComponents/BSCreditCustomer.jsx b/src/Pages/BookingScreen/Components/UtillComponents/BSCreditCustomer.jsx index 695433f..29e64ad 100644 --- a/src/Pages/BookingScreen/Components/UtillComponents/BSCreditCustomer.jsx +++ b/src/Pages/BookingScreen/Components/UtillComponents/BSCreditCustomer.jsx @@ -1752,7 +1752,6 @@ const BSCreditCustomer = (props) => { } onChange={(e) => { - // debugger const value = parseFloat(e?.target?.value) || 0; if (value <= SelectedBillData?.OrderPendingAmount) { HandleAmount(e?.target?.value); diff --git a/src/Pages/BookingScreen/Components/UtillComponents/BSNavbarSearchStandard.jsx b/src/Pages/BookingScreen/Components/UtillComponents/BSNavbarSearchStandard.jsx index 531a853..35671ac 100644 --- a/src/Pages/BookingScreen/Components/UtillComponents/BSNavbarSearchStandard.jsx +++ b/src/Pages/BookingScreen/Components/UtillComponents/BSNavbarSearchStandard.jsx @@ -35,7 +35,7 @@ const BSNavbarSearchStandard = ({ inputRef }) => { const ProdName = useSelector(GlobalSearchData); const templateData = useSelector(getTemplateData); const appPreferences = useSelector(ApplicationPreferences); - + console.log(ProdName, "ProdName") const [preFocus, setPreFocus] = useState(false); const [screenWidth, setScreenWidth] = useState(window.innerWidth); const [check, setCheck] = useState(false); @@ -92,7 +92,7 @@ const BSNavbarSearchStandard = ({ inputRef }) => { if (debounceTimeoutRef.current) clearTimeout(debounceTimeoutRef.current); debounceTimeoutRef.current = setTimeout(async () => { - + const hasSearch = (Array?.isArray(ProdName) && ProdName?.length === 0 ? "" : ProdName)?.trim()?.length > 0; if (hasSearch) { diff --git a/src/Pages/BookingScreen/Components/UtillComponents/BSPrinterSetting.jsx b/src/Pages/BookingScreen/Components/UtillComponents/BSPrinterSetting.jsx index 876f7fe..e6ef940 100644 --- a/src/Pages/BookingScreen/Components/UtillComponents/BSPrinterSetting.jsx +++ b/src/Pages/BookingScreen/Components/UtillComponents/BSPrinterSetting.jsx @@ -30,7 +30,7 @@ const BSPrinterSetting = ({ IconComponent = PozoReprintIcon, ClassName = 'BSBillingNav-icon', drawerOpen = false, - setDrawerOpen = () => {}, + setDrawerOpen = () => { }, }) => { const CompId = getSession('CompId'); const BranchId = getSession('BranchId'); @@ -57,7 +57,7 @@ const BSPrinterSetting = ({ const [receiptReprintShow, setReceiptReprintShow] = useState(false); const SettingDataSelector = useSelector(PreferenceData); const [KioskPrintersetupShow, setKioskPrintersetupShow] = useState(false); - + console.log(OpenModel, "OpenModel") const dispatch = useDispatch(); const printmodelOpen = () => { setOpenModel(true); @@ -266,7 +266,7 @@ const BSPrinterSetting = ({ className="printer-settings-tabs" > - {reprintShow && } + {reprintShow && } {receiptReprintShow && } diff --git a/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx b/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx index 2e20526..c9f35a6 100644 --- a/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx +++ b/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx @@ -1,518 +1,449 @@ -import { shallowEqual, useSelector } from 'react-redux'; -import { - GlobalAccessForOthers, - GlobalCardAccess, - GlobalCombosearch, - GlobalItemCard, - GlobalProductCategorie, - GlobalSelectedDatas, - GlobalWithoutSubCatItemCard, - triggerProductCard, -} from '../../../../Features/BookingScreen/BookingData/BookingData'; -import { DefaultModal } from '../../../../Components/Modal/DefaultModal'; -import { useCallback, useEffect, useRef, useState } from 'react'; -import { Tables } from '../../../../Components/Tables/Table'; -import { InputField } from '../../../../Components/Forms/InputField'; -import { Form, Pagination, Tooltip } from 'antd'; -import { getSession } from '../../../../Services/Others'; -import { Messages } from '../../../../Components/Notifications/Messages'; -import { useDispatch } from 'react-redux'; -import { PutStockPrice } from '../../../../Features/StockPriceUpdate/StockPriceUpdateMaster'; -import PriceChange from '../../../../Images/PayOptImgs/PriceChange.svg'; +import { shallowEqual, useSelector } from "react-redux"; +import { GlobalAccessForOthers, GlobalCardAccess, GlobalCombosearch, GlobalItemCard, GlobalProductCategorie, GlobalSelectedDatas, GlobalWithoutSubCatItemCard, triggerProductCard } from "../../../../Features/BookingScreen/BookingData/BookingData"; +import { DefaultModal } from "../../../../Components/Modal/DefaultModal"; +import { useCallback, useEffect, useRef, useState } from "react"; +import { Tables } from "../../../../Components/Tables/Table"; +import { InputField } from "../../../../Components/Forms/InputField"; +import { Form, Pagination, Tooltip } from "antd"; +import { getSession } from "../../../../Services/Others"; +import { Messages } from "../../../../Components/Notifications/Messages"; +import { useDispatch } from "react-redux"; +import { PutStockPrice } from "../../../../Features/StockPriceUpdate/StockPriceUpdateMaster"; +import PriceChange from "../../../../Images/PayOptImgs/PriceChange.svg" -const ProductPriceChange = ({ - showButton = true, - priceChangeProduct = [], - productPriceChange = false, - setProductPriceChange = () => {}, - setPriceChangeProduct = () => {}, -}) => { - const formRef = useRef(null); - const dispatch = useDispatch(); +const ProductPriceChange = ({ showButton = true, priceChangeProduct = null, productPriceChange = false, setProductPriceChange = () => { }, setPriceChangeProduct = () => { } }) => { - const AppId = getSession('AppId'); - const CompId = getSession('CompId'); - const BranchId = getSession('BranchId'); - const UserId = getSession('UserId'); + const formRef = useRef(null); + const dispatch = useDispatch(); - const [messageData, setMessageData] = useState(null); - const [messageType, setMessageType] = useState(null); - const [currentPage, setCurrentPage] = useState(1); - const [pageSize] = useState(10); + const AppId = getSession('AppId'); + const CompId = getSession('CompId'); + const BranchId = getSession('BranchId'); + const UserId = getSession('UserId'); - const [noSubcatCardData, setNoSubcatCardData] = useState(); - const [priceChangeModal, setPriceChangeModal] = useState(false); + const [messageData, setMessageData] = useState(null); + const [messageType, setMessageType] = useState(null); + const [currentPage, setCurrentPage] = useState(1); + const [pageSize] = useState(10); - const comboSearch = useSelector(GlobalCombosearch); - const ProdCat = useSelector(GlobalProductCategorie, shallowEqual); - const ItemCard = useSelector(GlobalItemCard, shallowEqual); - const withoutSubCatItemCard = useSelector( - GlobalWithoutSubCatItemCard, - shallowEqual - ); - const CardAccess = useSelector(GlobalCardAccess, shallowEqual); - const globalAccessForOthers = useSelector( - GlobalAccessForOthers, - shallowEqual - ); - const SelectedDatas = useSelector(GlobalSelectedDatas, shallowEqual); - const [tableData, setTableData] = useState([]); - const [editingKey, setEditingKey] = useState(null); - const [priceChangedProducts, setPriceChangedProducts] = useState([]); - console.log(comboSearch, 'comboSearch'); + const [noSubcatCardData, setNoSubcatCardData] = useState(); + const [priceChangeModal, setPriceChangeModal] = useState(false); - // console.log(noSubcatCardData, "noSubcatCardData") + const comboSearch = useSelector(GlobalCombosearch); + const ProdCat = useSelector(GlobalProductCategorie, shallowEqual); + const ItemCard = useSelector(GlobalItemCard, shallowEqual); + const withoutSubCatItemCard = useSelector(GlobalWithoutSubCatItemCard, shallowEqual); + const CardAccess = useSelector(GlobalCardAccess, shallowEqual); + const globalAccessForOthers = useSelector(GlobalAccessForOthers, shallowEqual); + const SelectedDatas = useSelector(GlobalSelectedDatas, shallowEqual); + const [tableData, setTableData] = useState([]); + const [editingKey, setEditingKey] = useState(null); + const [priceChangedProducts, setPriceChangedProducts] = useState([]); + console.log(comboSearch, "comboSearch") - useEffect(() => { - if ( - ProdCat && - (ItemCard || withoutSubCatItemCard) && - (!noSubcatCardData || noSubcatCardData?.length === 0) - ) { - setNoSubcatCardData( - ItemCard?.length === 0 ? withoutSubCatItemCard : ItemCard - ); - } - }, [ProdCat, ItemCard, withoutSubCatItemCard, noSubcatCardData]); + // console.log(noSubcatCardData, "noSubcatCardData") - const priceChangeColumns = [ - { - title: 'S.No', - dataIndex: 'SlNo', - key: 'SlNo', - width: '60px', - align: 'center', - render: (text, record, index) => ( -
{(currentPage - 1) * pageSize + index + 1}
- ), - }, - { - title: 'Product Name', - dataIndex: 'ProdName', - key: 'ProdName', - }, - { - title: 'Old MRP', - dataIndex: 'MRP', - key: 'MRP', - width: '100px', - align: 'right', - }, - { - title: 'New MRP (Optional)', - dataIndex: 'NewMRP', - key: 'NewMRP', - width: '100px', - align: 'right', - render: (text, record, index) => { - // if (index === editingKey) { + useEffect(() => { + if (ProdCat && (ItemCard || withoutSubCatItemCard) && (!noSubcatCardData || noSubcatCardData?.length === 0)) { + setNoSubcatCardData(ItemCard?.length === 0 ? withoutSubCatItemCard : ItemCard); + } + }, [ProdCat, ItemCard, withoutSubCatItemCard, noSubcatCardData]); - // } - // return
{text ? text : 'Enter New MRP'}
- return ( - { - if (value === '') { - return Promise.resolve(); - } else if (parseFloat(value) < 1) { - return Promise.reject(`MRP should be greater than 0`); - } - return Promise.resolve(); - }, - }, - ]} - > - handleNewMRPChange(e?.target?.value, index)} - inputMode="decimal" - onInput={(e) => { - let cleanedValue = e.target.value.replace(/[^0-9.]/g, ''); // Remove invalid characters - const parts = cleanedValue.split('.'); + const priceChangeColumns = [ + { + title: 'S.No', + dataIndex: 'SlNo', + key: 'SlNo', + width: '60px', + align: 'center', + render: (text, record, index) =>
{(currentPage - 1) * pageSize + index + 1}
+ }, + { + title: 'Product Name', + dataIndex: 'ProdName', + key: 'ProdName', + }, + { + title: 'Old MRP', + dataIndex: 'MRP', + key: 'MRP', + width: '100px', + align: 'right', + }, + { + title: 'New MRP (Optional)', + dataIndex: 'NewMRP', + key: 'NewMRP', + width: '100px', + align: 'right', + render: (text, record, index) => { + // if (index === editingKey) { - if (cleanedValue.startsWith('.')) { - cleanedValue = '0' + cleanedValue; - } + // } + // return
{text ? text : 'Enter New MRP'}
+ return ( + { + if (value === '') { + return Promise.resolve(); + } else if (parseFloat(value) < 1) { + return Promise.reject(`MRP should be greater than 0`) + } + return Promise.resolve(); + }, + }, + ]}> + handleNewMRPChange(e?.target?.value, index)} + inputMode="decimal" + onInput={(e) => { + let cleanedValue = e.target.value.replace( + /[^0-9.]/g, + '' + ); // Remove invalid characters + const parts = cleanedValue.split('.'); - e.target.value = - parts.length > 2 - ? `${parts[0]}.${parts.slice(1).join('')}` - : cleanedValue; - }} - /> - - ); - }, - }, - { - title: 'Old Sell Price', - dataIndex: 'SellPrice', - key: 'SellPrice', - width: '120px', - align: 'right', - }, - { - title: 'New Sell Price', - dataIndex: 'NewSellPrice', - key: 'NewSellPrice', - width: '160px', - align: 'right', - render: (text, record, index) => { - // if (index === editingKey) { + if (cleanedValue.startsWith('.')) { + cleanedValue = '0' + cleanedValue; + } - // } - // return
{text ? text : 'Enter New Sell Price'}
- return ( - { - if (value === '') { - return Promise.resolve(); - } else if (parseFloat(value) < 1) { - return Promise.reject( - `Sell Price should be greater than 0` - ); - } - return Promise.resolve(); - }, - }, - ]} - > - - handleNewSellPriceChange(e?.target?.value, index) - } - inputMode="decimal" - onInput={(e) => { - let cleanedValue = e.target.value.replace(/[^0-9.]/g, ''); // Remove invalid characters - const parts = cleanedValue.split('.'); + e.target.value = + parts.length > 2 + ? `${parts[0]}.${parts.slice(1).join('')}` + : cleanedValue; + }} + /> + + ); + }, + }, + { + title: 'Old Sell Price', + dataIndex: 'SellPrice', + key: 'SellPrice', + width: '120px', + align: 'right', + }, + { + title: 'New Sell Price', + dataIndex: 'NewSellPrice', + key: 'NewSellPrice', + width: '160px', + align: 'right', + render: (text, record, index) => { + // if (index === editingKey) { - if (cleanedValue.startsWith('.')) { - cleanedValue = '0' + cleanedValue; - } + // } + // return
{text ? text : 'Enter New Sell Price'}
+ return ( + { + if (value === '') { + return Promise.resolve(); + } else if (parseFloat(value) < 1) { + return Promise.reject(`Sell Price should be greater than 0`) + } + return Promise.resolve(); + }, + }, + ]} + > + handleNewSellPriceChange(e?.target?.value, index)} + inputMode="decimal" + onInput={(e) => { + let cleanedValue = e.target.value.replace( + /[^0-9.]/g, + '' + ); // Remove invalid characters + const parts = cleanedValue.split('.'); - e.target.value = - parts.length > 2 - ? `${parts[0]}.${parts.slice(1).join('')}` - : cleanedValue; - }} - /> - - ); - }, - }, - ]; + if (cleanedValue.startsWith('.')) { + cleanedValue = '0' + cleanedValue; + } - const cardData = !globalAccessForOthers - ? CardAccess - ? SelectedDatas?.length > 1 - ? SelectedDatas - : SelectedDatas?.[0]?.AppId === 0 && SelectedDatas?.[0]?.CompId === 0 - ? [] - : SelectedDatas - : ItemCard?.length === 0 || - (ItemCard?.[0]?.AppId === 0 && ItemCard?.[0]?.CompId === 0) - ? noSubcatCardData - : ItemCard - : []; + e.target.value = + parts.length > 2 + ? `${parts[0]}.${parts.slice(1).join('')}` + : cleanedValue; + }} + /> +
+ ); + }, + }, + ]; - console.log(cardData, 'noSubcatCardDatanoSubcatCardData', ItemCard); + const cardData = !globalAccessForOthers + ? CardAccess + ? SelectedDatas?.length > 1 + ? SelectedDatas + : SelectedDatas?.[0]?.AppId === 0 && SelectedDatas?.[0]?.CompId === 0 + ? [] + : SelectedDatas + : ItemCard?.length === 0 || (ItemCard?.[0]?.AppId === 0 && ItemCard?.[0]?.CompId === 0) + ? noSubcatCardData + : ItemCard + : ''; - useEffect(() => { - if (priceChangeModal || productPriceChange) { - const extractStockDtls = (data) => { - if (data?.length === 0 || !data) return []; + console.log(cardData, "noSubcatCardDatanoSubcatCardData", ItemCard) - let stockDtls = []; + useEffect(() => { + const extractStockDtls = (data) => { + if (data?.length === 0) return []; - data?.forEach((item) => { - let products = item?.ProductDetail?.flatMap((product) => product); + let stockDtls = []; - let variants = products?.flatMap( - (product) => product?.ProdVariantDetails - ); - const filteredVariants = variants?.filter( - (variant) => variant?.StockDetails?.length > 0 - ); - const stocks = filteredVariants?.flatMap((variant) => - variant?.StockDetails?.map((stock) => ({ - ...stock, - ProdName: - products?.[0]?.ProdName + - (variant?.ProdVariantName - ? ` (${variant?.ProdVariantName})` - : ''), - StockAvailable: products?.[0]?.StockAvailable, - ProdVariantName: variant?.ProdVariantName, - })) - ); + data?.forEach(item => { + let products = item?.ProductDetail?.flatMap(product => product); - stockDtls.push( - ...stocks?.filter((stock) => - stock?.StockAvailable === 'Y' ? stock?.BatchRef : true - ) - ); - }); - console.log('extractStockDtls', stockDtls); - return stockDtls; - }; - setTableData(extractStockDtls(priceChangeProduct || cardData || [])); - setCurrentPage(1); - } - }, [cardData, priceChangeProduct, priceChangeModal, productPriceChange]); + let variants = products?.flatMap(product => product?.ProdVariantDetails); + const filteredVariants = variants?.filter(variant => variant?.StockDetails?.length > 0); + const stocks = filteredVariants?.flatMap(variant => + variant?.StockDetails?.map(stock => ({ + ...stock, + ProdName: products?.[0]?.ProdName + (variant?.ProdVariantName ? ` (${variant?.ProdVariantName})` : ''), + StockAvailable: products?.[0]?.StockAvailable, + ProdVariantName: variant?.ProdVariantName + })) + ); - const handleNewMRPChange = (value, index) => { - const updatedTableData = [...tableData]; - updatedTableData[index].NewMRP = value; - setTableData(updatedTableData); - updatedTableData[index].NewSellPrice = null; - formRef.current.setFieldsValue({ - [`NewMRP${index}`]: value, - [`NewSellPrice${index}`]: null, - }); + stockDtls.push(...stocks?.filter(stock => + stock?.StockAvailable === 'Y' + ? stock?.BatchRef + : true + )); - const priceChangedProdList = [...priceChangedProducts]; - const prodIndex = priceChangedProdList?.findIndex( - (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId - ); - if (prodIndex !== -1) { - priceChangedProdList[prodIndex] = { - ...priceChangedProdList?.[prodIndex], - NewMRP: value, - NewSellPrice: null, - }; - } - setPriceChangedProducts(priceChangedProdList); - }; + }); + console.log("extractStockDtls", stockDtls); + return stockDtls; + } + setTableData(extractStockDtls(priceChangeProduct || cardData)) + setCurrentPage(1) + }, [cardData, priceChangeProduct]) - const handleNewSellPriceChange = (value, index) => { - const updatedTableData = [...tableData]; - if (updatedTableData[index]?.NewMRP) { - if (parseFloat(value) > parseFloat(updatedTableData[index]?.NewMRP)) { - setMessageType('error'); - setMessageData('New Sell Price cannot be greater than New MRP'); - formRef.current.setFieldsValue({ - [`NewSellPrice${index}`]: null, - }); - updatedTableData[index].NewSellPrice = null; + const handleNewMRPChange = (value, index) => { + + const updatedTableData = [...tableData]; + updatedTableData[index].NewMRP = value; setTableData(updatedTableData); - const priceChangedProdList = [...priceChangedProducts]; - const prodIndex = priceChangedProdList?.findIndex( - (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId - ); + updatedTableData[index].NewSellPrice = null; + formRef.current.setFieldsValue({ + [`NewMRP${index}`]: value, + [`NewSellPrice${index}`]: null, + }); + const priceChangedProdList = [...priceChangedProducts]; + const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId); if (prodIndex !== -1) { - priceChangedProdList.splice(prodIndex, 1); + priceChangedProdList[prodIndex] = { + ...priceChangedProdList?.[prodIndex], + NewMRP: value, + NewSellPrice: null, + }; } setPriceChangedProducts(priceChangedProdList); - return; - } - } - if (!updatedTableData[index]?.NewMRP && updatedTableData[index]?.MRP) { - if (parseFloat(value) > parseFloat(updatedTableData[index]?.MRP)) { - setMessageType('error'); - setMessageData('New Sell Price cannot be greater than MRP'); - formRef.current.setFieldsValue({ - [`NewSellPrice${index}`]: null, - }); - updatedTableData[index].NewSellPrice = null; - setTableData(updatedTableData); - const priceChangedProdList = [...priceChangedProducts]; - const prodIndex = priceChangedProdList?.findIndex( - (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId - ); - - if (prodIndex !== -1) { - priceChangedProdList.splice(prodIndex, 1); - } - setPriceChangedProducts(priceChangedProdList); - return; - } - } - updatedTableData[index].NewSellPrice = value; - setTableData(updatedTableData); - formRef.current.setFieldsValue({ - [`NewSellPrice${index}`]: value, - }); - - const priceChangedProdList = [...priceChangedProducts]; - const prodIndex = priceChangedProdList?.findIndex( - (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId - ); - - if (prodIndex !== -1) { - priceChangedProdList[prodIndex] = { - ...priceChangedProdList[prodIndex], - SellPrice: String(value), - }; - } else { - priceChangedProdList.push({ - ProdId: updatedTableData[index]?.ProdId, - ProdName: updatedTableData[index]?.ProdName, - MRP: String( - updatedTableData[index]?.NewMRP || updatedTableData[index]?.MRP - ), - SellPrice: String(value), - AdjComment: 'string', - InwardDtlId: updatedTableData[index]?.InwardDtlId, - }); } - setPriceChangedProducts(priceChangedProdList); - }; + const handleNewSellPriceChange = (value, index) => { + const updatedTableData = [...tableData]; + if (updatedTableData[index]?.NewMRP) { + if (parseFloat(value) > parseFloat(updatedTableData[index]?.NewMRP)) { + setMessageType('error'); + setMessageData('New Sell Price cannot be greater than New MRP'); + formRef.current.setFieldsValue({ + [`NewSellPrice${index}`]: null, + }); + updatedTableData[index].NewSellPrice = null; + setTableData(updatedTableData); + const priceChangedProdList = [...priceChangedProducts]; + const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId); - const edit = (record, index) => { - console.log('edit', record, index); - setEditingKey(index); - }; - - const handleSubmit = async () => { - console.log('submit'); - - if (priceChangedProducts?.length > 0) { - console.log('priceChangedProducts', priceChangedProducts); - const validation = priceChangedProducts?.every((prod) => { - if (parseFloat(prod?.MRP) < parseFloat(prod?.SellPrice)) { - setMessageType('error'); - setMessageData( - `${prod?.ProdName}: MRP cannot be less than Sell Price` - ); - return false; - } - if (!parseFloat(prod?.SellPrice) || !parseFloat(prod?.MRP)) { - setMessageType('error'); - setMessageData(`${prod?.ProdName}: Please give Sell Price or MRP`); - return false; - } - return true; - }); - if (!validation) return; - - const data = { - AppId: AppId, - CompId: CompId, - BranchId: BranchId, - ProductDetails: priceChangedProducts, - UpdatedBy: UserId, - }; - - const res = await dispatch(PutStockPrice(data))?.unwrap(); - if (res?.data?.statusCode === 1) { - setMessageData('Price Changed Successfully'); - setMessageType('success'); - setPriceChangeModal(false); - setProductPriceChange(false); - setEditingKey(null); - setPriceChangedProducts([]); - setTableData([]); - dispatch(triggerProductCard()); - setPriceChangeProduct(null); - formRef.current.resetFields(); - } else { - setMessageData('Error Updating Product Price'); - setMessageType('error'); - } - } else { - setMessageType('error'); - setMessageData('No changes made / No sell price entered'); - } - }; - - const onComplete = useCallback(() => { - setMessageData(null); - setMessageType(null); - }, []); - - return ( - <> - - {showButton ? ( - - - - ) : ( - <> - )} - { - setPriceChangeModal(false); - setProductPriceChange(false); - setEditingKey(null); - setPriceChangedProducts([]); - formRef?.current?.resetFields(); - setPriceChangeProduct(null); - }} - handleSubmit={handleSubmit} - > -
- {/*
Note : Click on a row to edit/modify
*/} -
- ({ - onClick: () => { - edit(record, index); - }, - })} - /> -
- setCurrentPage(page)} - showSizeChanger={false} - showTotal={(total, range) => - `${range[0]}-${range[1]} of ${total} items` - } - /> -
- -
-
- - ); -}; + } + } + if (!updatedTableData[index]?.NewMRP && updatedTableData[index]?.MRP) { + if (parseFloat(value) > parseFloat(updatedTableData[index]?.MRP)) { + setMessageType('error'); + setMessageData('New Sell Price cannot be greater than MRP'); + formRef.current.setFieldsValue({ + [`NewSellPrice${index}`]: null, + }); + updatedTableData[index].NewSellPrice = null; + setTableData(updatedTableData); + const priceChangedProdList = [...priceChangedProducts]; + const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId); -export default ProductPriceChange; + if (prodIndex !== -1) { + priceChangedProdList.splice(prodIndex, 1); + } + setPriceChangedProducts(priceChangedProdList); + return; + } + } + updatedTableData[index].NewSellPrice = value; + setTableData(updatedTableData); + formRef.current.setFieldsValue({ + [`NewSellPrice${index}`]: value, + }); + + const priceChangedProdList = [...priceChangedProducts]; + const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId); + + if (prodIndex !== -1) { + priceChangedProdList[prodIndex] = { + ...priceChangedProdList[prodIndex], + SellPrice: String(value) + }; + } else { + priceChangedProdList.push({ + ProdId: updatedTableData[index]?.ProdId, + ProdName: updatedTableData[index]?.ProdName, + MRP: String(updatedTableData[index]?.NewMRP || updatedTableData[index]?.MRP), + SellPrice: String(value), + AdjComment: "string", + InwardDtlId: updatedTableData[index]?.InwardDtlId + }); + } + + setPriceChangedProducts(priceChangedProdList); + } + + const edit = (record, index) => { + console.log("edit", record, index); + setEditingKey(index); + } + + const handleSubmit = async () => { + console.log("submit"); + + if (priceChangedProducts?.length > 0) { + console.log("priceChangedProducts", priceChangedProducts); + const validation = priceChangedProducts?.every((prod) => { + if (parseFloat(prod?.MRP) < parseFloat(prod?.SellPrice)) { + setMessageType('error'); + setMessageData(`${prod?.ProdName}: MRP cannot be less than Sell Price`); + return false; + } + if (!parseFloat(prod?.SellPrice) || !parseFloat(prod?.MRP)) { + setMessageType('error'); + setMessageData(`${prod?.ProdName}: Please give Sell Price or MRP`); + return false; + } + return true; + }); + if (!validation) return; + + const data = { + AppId: AppId, + CompId: CompId, + BranchId: BranchId, + ProductDetails: priceChangedProducts, + UpdatedBy: UserId, + } + + const res = await dispatch(PutStockPrice(data))?.unwrap(); + if (res?.data?.statusCode === 1) { + setMessageData('Price Changed Successfully'); + setMessageType('success'); + setPriceChangeModal(false); + setProductPriceChange(false); + setEditingKey(null); + setPriceChangedProducts([]); + setTableData([]); + dispatch(triggerProductCard()) + setPriceChangeProduct(null); + formRef.current.resetFields(); + } else { + setMessageData('Error Updating Product Price') + setMessageType('error'); + } + } else { + setMessageType('error'); + setMessageData('No changes made / No sell price entered'); + } + + } + + const onComplete = useCallback(() => { + setMessageData(null); + setMessageType(null); + }, []) + + return ( + <> + + + {showButton ? + + : <>} + { + setPriceChangeModal(false); + setProductPriceChange(false); + setEditingKey(null); + setPriceChangedProducts([]); + formRef?.current?.resetFields(); + setPriceChangeProduct(null); + }} + handleSubmit={handleSubmit} + > +
+ {/*
Note : Click on a row to edit/modify
*/} +
+ ({ + onClick: () => { + edit(record, index); + }, + })} + /> +
+ setCurrentPage(page)} + showSizeChanger={false} + showTotal={(total, range) => `${range[0]}-${range[1]} of ${total} items`} + /> +
+ +
+
+ + ) +} + +export default ProductPriceChange; \ No newline at end of file diff --git a/src/Pages/BookingScreen/PrintTemplates/A4/A4Standard.jsx b/src/Pages/BookingScreen/PrintTemplates/A4/A4Standard.jsx index c4daf07..5027bfb 100644 --- a/src/Pages/BookingScreen/PrintTemplates/A4/A4Standard.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/A4/A4Standard.jsx @@ -149,14 +149,25 @@ const InvoiceTemplate = ({ let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); + 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 TakeawayTotal = TakeawayData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, - 0 + 0, ); const PackageDetails = table2Data?.PackageDtl; const DineInTotal = DineInData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, - 0 + 0, ); const aggregatedPayments = PaymentStatusSuccess?.reduce( (acc, paymentdata) => { @@ -171,7 +182,7 @@ const InvoiceTemplate = ({ return acc; }, - {} + {}, ); const productsData = table2Data?.productDetails || []; const offers = table2Data?.OrderOfferDetails || []; @@ -335,7 +346,7 @@ const InvoiceTemplate = ({ const companyName = table2Data?.CompName; const companyAddress = table2Data?.AddressDetails?.[0]?.Address1 + - table2Data?.AddressDetails?.[0]?.Address2 || + (table2Data?.AddressDetails?.[0]?.Address2 || '') || '#589, 2nd floor, VP Chambers, 1st cross, 3rd block, Koramangala, Bengaluru- 560034.'; const companyPhone = table2Data?.BrMobile + ',' + table2Data?.BrMobile2 !== null @@ -898,10 +909,12 @@ const InvoiceTemplate = ({

{companyAddress}

-
- Phone:{' '} - {GlobaldummyData ? '999999XXXX' : companyPhone} -
+ {(companyPhone || GlobaldummyData) && ( +
+ Phone:{' '} + {GlobaldummyData ? '999999XXXX' : companyPhone} +
+ )}
Email: {companyEmail}
{companyGSTIN || (GlobaldummyData && ( @@ -1786,10 +1799,98 @@ const InvoiceTemplate = ({ {Number( GlobaldummyData ? 736 - : table2Data?.NetAmount + : table2Data?.NetAmount, )?.toFixed(2)}
+ {isEditedBill && lastTransaction && ( +
+
+
+ + Bill Gross Amount + + + {( + lastTransaction?.BeforeAdjustment || + 0 + ).toFixed(2)} + +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === + 'REFUND' + ? '-' + : '+'} + {( + lastTransaction?.Amount || 0 + ).toFixed(2)} + +
+
+ + Net Bill Amount + + + {( + lastTransaction?.AfterAdjustment || + 0 + ).toFixed(2)} + +
+
+
+ )} {/*
Total Amount Payable @@ -2276,9 +2377,87 @@ const InvoiceTemplate = ({
{Number( - GlobaldummyData ? 736 : table2Data?.NetAmount + GlobaldummyData ? 736 : table2Data?.NetAmount, )?.toFixed(2)}
+ {isEditedBill && lastTransaction && ( +
+
+
+ + Bill Gross Amount + + + {( + lastTransaction?.BeforeAdjustment || 0 + ).toFixed(2)} + +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === + 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ + Net Bill Amount + + + {( + lastTransaction?.AfterAdjustment || 0 + ).toFixed(2)} + +
+
+
+ )}
)}
@@ -2295,28 +2474,28 @@ const InvoiceTemplate = ({
Bank Name:{' '} {!estimatePrintHeader && - table2Data?.OrderType === 'E' + table2Data?.OrderType === 'E' ? '' : BankDetails?.[0]?.BankName}
Account No.:{' '} {!estimatePrintHeader && - table2Data?.OrderType === 'E' + table2Data?.OrderType === 'E' ? '' : BankDetails?.[0]?.AccountNo}
IFSC Code:{' '} {!estimatePrintHeader && - table2Data?.OrderType === 'E' + table2Data?.OrderType === 'E' ? '' : BankDetails?.[0]?.IFSCCode}
Branch Name:{' '} {!estimatePrintHeader && - table2Data?.OrderType === 'E' + table2Data?.OrderType === 'E' ? '' : BankDetails?.[0]?.BankBranch}
@@ -2327,80 +2506,80 @@ const InvoiceTemplate = ({
{GlobaldummyData ? GlobaltermsAndConditions && ( -
+

-

- Terms & Conditions -

-
    -
  1. - Once goods are sold, they are not - exchangeable or refundable. -
  2. -
  3. - Please check the product before leaving - the counter. -
  4. -
-
- ) + Terms & Conditions +

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

-

- Terms & Conditions -

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

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

{GlobaldummyData ? GlobalSignature && ( -
- -
- ) +
+ +
+ ) : Signature == true && ( -
- -
- )} +
+ +
+ )}

(Common Seal)

@@ -2471,28 +2650,28 @@ const InvoiceTemplate = ({
{GlobaldummyData ? GlobalIsnotes && ( -
-

- Notes : 10 days Return policy -

+
+

+ Notes : 10 days Return policy +

-
-
- ) +
+
+ ) : Notestext && ( -
-

- {Notestext} -

+
+

+ {Notestext} +

- {/*
*/} -
- )} + {/*
*/} +
+ )}
@@ -2524,7 +2703,7 @@ const InvoiceTemplate = ({
)} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( Brand Logo

{companyAddress}

-
- Phone: {GlobaldummyData ? '999999XXXX' : companyPhone} -
+ {(companyPhone || GlobaldummyData) && ( +
+ Phone: {GlobaldummyData ? '999999XXXX' : companyPhone} +
+ )}
Email: {companyEmail}
{companyGSTIN || (GlobaldummyData && ( @@ -2673,90 +2854,90 @@ const InvoiceTemplate = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO == true && ( - S.No - )} + S.No + )} {GlobaldummyData ? GlobalItem && ( - Item - ) + Item + ) : Item == true && ( - Item - )} + Item + )} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {/* UOM UOM */} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP == true && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && ( - Tax % - ) + Tax % + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalAmount && ( - Amount - ) + Amount + ) : Amount == true && ( - Amount - )} + Amount + )} {/* Taxable IGST @@ -2783,206 +2964,206 @@ const InvoiceTemplate = ({ {GlobaldummyData ? GlobalSlNo && ( - - {idx + 1} - - ) + + {idx + 1} + + ) : SLNO == true && ( - - {idx + 1} - - )} + + {idx + 1} + + )} {GlobaldummyData ? GlobalItem && ( - - {item?.ProdName} - - ) + + {item?.ProdName} + + ) : Item == true && ( - -
{item?.ProdName}
-
- ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
-  {' '} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
{a.SerialNumber}
; - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
- {[imei1, imei2] - .filter(Boolean) - .join(',')} -
- ); - }) - : ''} - - )} + +
{item?.ProdName}
+
+ ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
+  {' '} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ), + )?.map((a) => { + return
{a.SerialNumber}
; + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '', + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
+ {[imei1, imei2] + .filter(Boolean) + .join(',')} +
+ ); + }) + : ''} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {' '} - {item?.Rate} - - )} + + {' '} + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount == true && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} - ) + ), )} @@ -3165,15 +3346,87 @@ const InvoiceTemplate = ({ Total Amount Payable {Number( - GlobaldummyData ? 736 : table2Data?.NetAmount + GlobaldummyData ? 736 : table2Data?.NetAmount, )?.toFixed(2)}
{Number( - GlobaldummyData ? 736 : table2Data?.NetAmount + GlobaldummyData ? 736 : table2Data?.NetAmount, )?.toFixed(2)}
+ {isEditedBill && lastTransaction && ( +
+
+
+ + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2, + )} + +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed( + 2, + )} + +
+
+
+ )} )} @@ -3216,80 +3469,80 @@ const InvoiceTemplate = ({
{GlobaldummyData ? GlobaltermsAndConditions && ( -
+

-

- Terms & Conditions -

-
    -
  1. - Once goods are sold, they are not exchangeable - or refundable. -
  2. -
  3. - Please check the product before leaving the - counter. -
  4. -
-
- ) + Terms & Conditions +

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

-

- Terms & Conditions -

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

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

{GlobaldummyData ? GlobalSignature && ( -
- -
- ) +
+ +
+ ) : Signature == true && ( -
- -
- )} +
+ +
+ )}

(Common Seal)

@@ -3357,23 +3610,23 @@ const InvoiceTemplate = ({
{GlobaldummyData ? GlobalIsnotes && ( -
-

- Notes : 10 days Return policy -

+
+

+ Notes : 10 days Return policy +

-
-
- ) +
+
+ ) : Notestext && ( -
-

- {Notestext} -

+
+

+ {Notestext} +

- {/*
*/} -
- )} + {/*
*/} +
+ )}
)} diff --git a/src/Pages/BookingScreen/PrintTemplates/A4/PrintA4Style11.jsx b/src/Pages/BookingScreen/PrintTemplates/A4/PrintA4Style11.jsx index b011940..6e73f7e 100644 --- a/src/Pages/BookingScreen/PrintTemplates/A4/PrintA4Style11.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/A4/PrintA4Style11.jsx @@ -137,6 +137,18 @@ const PrintA4Style11 = ({ let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); + 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 TakeawayTotal = TakeawayData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, 0 @@ -540,15 +552,15 @@ const PrintA4Style11 = ({ ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( + {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && (
+ {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
- {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

Split Payment:

*/} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2550,6 +2642,46 @@ const PrintA4Style11 = ({
+ {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
+ {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
ps.PaymentStatus === 'S' ); + 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 PackageDetails = table2Data?.PackageDtl; const TakeawayTotal = TakeawayData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, @@ -548,7 +559,7 @@ const PrintA5Style11 = ({ textAlign: 'center', }} > - { WeightasKg ?'Qty/Kg' :'Qty'} + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData @@ -936,6 +947,46 @@ const PrintA5Style11 = ({
+ {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
- { WeightasKg ?'Qty/Kg' :'Qty'} + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData @@ -1876,6 +1927,46 @@ const PrintA5Style11 = ({
+ {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
- {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

Split Payment:

*/} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2428,6 +2519,86 @@ const PrintA5Style11 = ({
+ {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} + {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
+ {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} + {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {GlobaldummyData ? GlobalCredit && (
{ + 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' + ) if (keysLength > 0) { dispatch(changeReprintDataFound(true)); @@ -383,8 +394,8 @@ const PrintStyle1 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: FormatTheme @@ -451,24 +462,24 @@ const PrintStyle1 = ({ {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 - : '')} + (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 + : '')}
-
+ {(GlobaldummyData || table2Data?.BrMobile) &&
{' '} Mobile : +91{' '} {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile} -
+
} {table2Data?.OrderType === 'E' && (
@@ -638,80 +649,80 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO == true && ( - S.No - )} + S.No + )} {GlobaldummyData ? GlobalItem && Item : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP == true && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && ( - Tax % - ) + Tax % + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -719,176 +730,175 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
{item?.ProdName}
- {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
- {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
- ) : ( -
- ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} + +
{item?.ProdName}
+ {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
+ {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} +
+ ) : ( +
+ ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
+ )} + {sportsAppPreference && + `${item?.BookingDate?.trim() + ? `(${dateFormatChange(item.BookingDate)})` + : '' + } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} +  {' '} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null ) -
- )} - {sportsAppPreference && - `${ - item?.BookingDate?.trim() - ? `(${dateFormatChange(item.BookingDate)})` - : '' - } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} -  {' '} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
{a.SerialNumber}
; - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
- {[imei1, imei2] - .filter(Boolean) - .join(',')} -
- ); - }) - : ''} - - )} + )?.map((a) => { + return
{a.SerialNumber}
; + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
+ {[imei1, imei2] + .filter(Boolean) + .join(',')} +
+ ); + }) + : ''} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {' '} - {item?.Rate} - - )} + + {' '} + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage || 0} - - ) + + {item?.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ))} @@ -917,80 +927,80 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO == true && ( - S.No - )} + S.No + )} {GlobaldummyData ? GlobalItem && Item : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP == true && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && ( - Tax % - ) + Tax % + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -998,125 +1008,124 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
{item?.ProdName}
-
- ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
- {sportsAppPreference && - `${ - item?.BookingDate?.trim() - ? `(${dateFormatChange(item.BookingDate)})` - : '' - } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} - - )} + +
{item?.ProdName}
+
+ ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
+ {sportsAppPreference && + `${item?.BookingDate?.trim() + ? `(${dateFormatChange(item.BookingDate)})` + : '' + } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {' '} - {item?.Rate} - - )} + + {' '} + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {' '} - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage} - - ) + + {item.ProdTaxPercentage} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ))} @@ -1170,21 +1179,21 @@ const PrintStyle1 = ({ {(TotalOfferAmount > 0 || table2Data?.OverallDisc > 0) && ( -

- Off : - {( - Number(TotalOfferAmount || 0) + - Number(table2Data?.OverallDisc || 0) - ).toFixed(2)} -

- )} +

+ Off : + {( + Number(TotalOfferAmount || 0) + + Number(table2Data?.OverallDisc || 0) + ).toFixed(2)} +

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

Split Payment:

*/} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -1228,6 +1237,46 @@ const PrintStyle1 = ({ ))} )} + {isEditedBill && lastTransaction && ( +
+
+
+ Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
+
+ {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
+
+ Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
+
+
+ )} {table2Data?.OrderType === 'E' ? ( '' ) : ( @@ -1535,103 +1584,103 @@ const PrintStyle1 = ({
{table2Data?.SalesTableLinkDetails?.[0] ?.WaiterName && ( -
- Captain:{' '} - { - table2Data?.SalesTableLinkDetails?.[0] - ?.WaiterName - } -
- )} +
+ Captain:{' '} + { + table2Data?.SalesTableLinkDetails?.[0] + ?.WaiterName + } +
+ )}
)} {GlobaldummyData ? GlobalCredit && ( -
-
Advance Amount:
-
Opening Balance:
-
- ) +
+
Advance Amount:
+
Opening Balance:
+
+ ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
- {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
+ {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed( - 2 - ), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

- - {i.label} - - : - - {i.value} - -

- )); - })()} -
- )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed( + 2 + ), + }); + } + + return items.map((i, idx) => ( +

+ + {i.label} + + : + + {i.value} + +

+ )); + })()} +
+ )}
+ {/* QRcode */} + +
Scan to Pay
+
+ ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
+
+ ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Qrcodet && + paymentTypeUPI && (
- {/* QRcode */} -
Scan to Pay
-
+
+ Scan to Pay{' '} +
+
₹ {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
- ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Qrcodet && - paymentTypeUPI && ( -
- -
- Scan to Pay{' '} -
-
- ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
-
- )} + )}
@@ -1744,30 +1793,30 @@ const PrintStyle1 = ({ > {GlobaldummyData ? GlobalIsnotes && ( +
+

+ Notes : 10 days Return policy +

+ +
+
+ ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Notestext && (
-

- Notes : 10 days Return policy +

+ {Notestext}


- ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Notestext && ( -
-

- {Notestext} -

- -
-
- )} + )}
{GlobaldummyData ? GlobaltermsAndConditions && ( +
+

+ Terms & Conditions +

+
    +
  1. + Once goods are sold, they are not + exchangeable or refundable. +
  2. +
  3. + Please check the product before leaving the + counter. +
  4. +
+
+ ) + : !estimatePrintHeader && + table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

-

  • - Once goods are sold, they are not - exchangeable or refundable. -
  • -
  • - Please check the product before leaving the - counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && - table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && + table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -1880,45 +1962,12 @@ const PrintStyle1 = ({ Signature

    - ) - : !estimatePrintHeader && - table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    {PrintGreeting?.SettingValue === 'Y' && (
    )} - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill)( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2051,6 +2100,46 @@ const PrintStyle1 = ({ ))} )} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {table2Data?.OrderType === 'E' ? ( '' ) : ( @@ -2369,81 +2458,81 @@ const PrintStyle1 = ({ )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed(2), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - - {i.label} - - : - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + + {i.label} + + : + + {i.value} + +

    + )); + })()} +
    + )}
    + {/* QRcode */} + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Qrcodet && + paymentTypeUPI && (
    - {/* QRcode */} -
    Scan to Pay
    -
    +
    Scan to Pay
    +
    ₹ {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - )} + )}
    @@ -2555,30 +2644,30 @@ const PrintStyle1 = ({ > {GlobaldummyData ? GlobalIsnotes && ( +
    +

    + Notes : 10 days Return policy +

    + +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Notestext && (
    -

    - Notes : 10 days Return policy +

    + {Notestext}


    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Notestext && ( -
    -

    - {Notestext} -

    - -
    -
    - )} + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not exchangeable + or refundable. +
    2. +
    3. + Please check the product before leaving the + counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not exchangeable - or refundable. -
  • -
  • - Please check the product before leaving the - counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -2690,44 +2811,12 @@ const PrintStyle1 = ({ Signature

    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    {PrintGreeting?.SettingValue === 'Y' && (
    )} - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2839,6 +2928,46 @@ const PrintStyle1 = ({ ))} )} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {table2Data?.OrderType === 'E' ? ( '' ) : ( @@ -3155,79 +3284,79 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed(2), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - {i.label} - : - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + {i.label} + : + + {i.value} + +

    + )); + })()} +
    + )}
    + {/* QRcode */} + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Qrcodet && + paymentTypeUPI && (
    - {/* QRcode */} -
    Scan to Pay
    -
    +
    Scan to Pay
    +
    ₹ {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - )} + )}
    @@ -3338,35 +3467,35 @@ const PrintStyle1 = ({ > {GlobaldummyData ? GlobalIsnotes && ( +
    +

    + Notes : 10 days Return policy +

    + +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Notestext && (

    - Notes : 10 days Return policy + {Notestext}


    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Notestext && ( -
    -

    - {Notestext} -

    - -
    -
    - )} + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not exchangeable or + refundable. +
    2. +
    3. + Please check the product before leaving the + counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not exchangeable or - refundable. -
  • -
  • - Please check the product before leaving the - counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -3478,44 +3639,12 @@ const PrintStyle1 = ({ Signature

    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    {PrintGreeting?.SettingValue === 'Y' && (
    )} -
    +
    ) : (
    -
    + {(GlobaldummyData || table2Data?.BrMobile) &&
    {' '} Mobile : +91{' '} {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile} -
    +
    } {table2Data?.OrderType === 'E' && (
    @@ -3745,61 +3874,61 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && S.No : SLNO == true && ( - S.No - )} + S.No + )} {GlobaldummyData ? GlobalItem && ( - Item - ) + Item + ) : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && MRP : MRP == true && MRP} {GlobaldummyData ? GlobalRate && Rate : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && Tax % : Tax == true && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -3808,175 +3937,174 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {index + 1} - - )} + + {index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + )} + {sportsAppPreference && + `${item?.BookingDate?.trim() + ? `(${dateFormatChange(item.BookingDate)})` + : '' + } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} +  {' '} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null ) -
    - )} - {sportsAppPreference && - `${ - item?.BookingDate?.trim() - ? `(${dateFormatChange(item.BookingDate)})` - : '' - } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} -  {' '} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
    {a.SerialNumber}
    ; - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} - - )} + )?.map((a) => { + return
    {a.SerialNumber}
    ; + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {' '} - {item?.Rate} - - )} + + {' '} + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage || 0} - - ) + + {item.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ) )} @@ -4007,59 +4135,59 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && S.No : SLNO == true && ( - S.No - )} + S.No + )} {GlobaldummyData ? GlobalItem && Item : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && MRP : MRP == true && MRP} {GlobaldummyData ? GlobalRate && Rate : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && Tax % : Tax == true && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -4068,124 +4196,123 @@ const PrintStyle1 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {index + 1} - - )} + + {index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - {sportsAppPreference && - `${ - item?.BookingDate?.trim() - ? `(${dateFormatChange(item.BookingDate)})` - : '' - } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + {sportsAppPreference && + `${item?.BookingDate?.trim() + ? `(${dateFormatChange(item.BookingDate)})` + : '' + } (${to12Hour(item?.AvailableFrom)} - ${to12Hour(item?.AvailableTo)})`} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {' '} - {item?.Rate} - - )} + + {' '} + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {' '} - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage || 0} - - ) + + {item.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ) )} @@ -4273,7 +4400,7 @@ const PrintStyle1 = ({ )} )} - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -4286,6 +4413,46 @@ const PrintStyle1 = ({ ))} )} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {table2Data?.OrderType === 'E' ? ( '' ) : ( @@ -4593,76 +4760,76 @@ const PrintStyle1 = ({ )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed(2), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - {i.label} - : - {i.value} -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + {i.label} + : + {i.value} +

    + )); + })()} +
    + )}
    + {/* QRcode */} + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Qrcodet && + paymentTypeUPI && (
    - {/* QRcode */} -
    Scan to Pay
    -
    +
    Scan to Pay
    +
    ₹ {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - )} + )}
    @@ -4765,28 +4932,28 @@ const PrintStyle1 = ({ > {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : !estimatePrintHeader && table2Data?.OrderType === 'E' ? '' : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not exchangeable or + refundable. +
    2. +
    3. + Please check the product before leaving the counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not exchangeable or - refundable. -
  • -
  • - Please check the product before leaving the counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -4897,44 +5096,12 @@ const PrintStyle1 = ({ Signature

    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle10.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle10.jsx index 1672df1..a378875 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle10.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle10.jsx @@ -124,6 +124,18 @@ const PrintStyle10 = ({ ); const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); + 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' + ); + let TermsAndConditions = printDatas?.TermsandConditions; let SignatureImg = printDatas?.Signature; let Notestext = printDatas?.Notes; @@ -537,7 +549,7 @@ const PrintStyle10 = ({ - { WeightasKg ?'Qty/Kg' :'Qty'} + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData @@ -912,7 +924,7 @@ const PrintStyle10 = ({ - { WeightasKg ?'Qty/Kg' :'Qty'} + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData @@ -1654,7 +1666,7 @@ const PrintStyle10 = ({ table2Data?.FYStatus )}{' '}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -1801,6 +1813,77 @@ const PrintStyle10 = ({ )}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed( + 2 + )} + +
    +
    +
    + )} +
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -2679,6 +2762,75 @@ const PrintStyle10 = ({ )}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} +
    - { WeightasKg ?'Qty/Kg' :'Qty'} + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData @@ -3367,7 +3519,7 @@ const PrintStyle10 = ({ ) : Quantity && ( - { WeightasKg ?'Qty/Kg' :'Qty'} + {WeightasKg ? 'Qty/Kg' : 'Qty'} )} {GlobaldummyData @@ -4046,7 +4198,7 @@ const PrintStyle10 = ({ table2Data?.FYStatus )}{' '}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -4164,6 +4316,71 @@ const PrintStyle10 = ({ )}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} +
    @@ -125,7 +126,18 @@ const PrintStyle11 = ({ const paymentTypeUPI = PaymentStatus?.find( (ps) => ps.PaymentTypeName === 'UPI' ); - const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); + + 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' + ); let TermsAndConditions = printDatas?.TermsandConditions; let SignatureImg = printDatas?.Signature; @@ -339,8 +351,8 @@ const PrintStyle11 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: isMobile @@ -381,7 +393,7 @@ const PrintStyle11 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName} @@ -411,18 +423,18 @@ const PrintStyle11 = ({ {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 - : '')} + (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 + : '')}
    {' '} @@ -462,10 +474,10 @@ const PrintStyle11 = ({ {GlobaldummyData ? '553' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    )} @@ -507,121 +519,121 @@ const PrintStyle11 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.N - ) + S.N + ) : SLNO && S.N} {GlobaldummyData ? GlobalItem && ( - Item - ) + Item + ) : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax %{' '} - - ) + + Tax %{' '} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax %{' '} - - )} + table2Data?.OrderType !== 'E' && ( + + Tax %{' '} + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -631,207 +643,207 @@ const PrintStyle11 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - )} - - )} + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + )} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage} - - ) + + {item.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -859,121 +871,121 @@ const PrintStyle11 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.N - ) + S.N + ) : SLNO && S.N} {GlobaldummyData ? GlobalItem && ( - Item - ) + Item + ) : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax %{' '} - - ) + + Tax %{' '} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax %{' '} - - )} + table2Data?.OrderType !== 'E' && ( + + Tax %{' '} + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -983,116 +995,116 @@ const PrintStyle11 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage} - - ) + + {item.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -1125,12 +1137,12 @@ const PrintStyle11 = ({
    {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - Off -
    - )} +
    + Off +
    + )} {/*
    SUB TOTAL
    ROUND OFF
    */}
    @@ -1151,14 +1163,14 @@ const PrintStyle11 = ({ {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - {GlobaldummyData - ? '8' - : Number( +
    + {GlobaldummyData + ? '8' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} -
    - )} +
    + )} {/*
    {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount) ? Number(table2Data?.NetAmount) : 0}
    */} {/*
    {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2) ? Number(table2Data?.NetAmount).toFixed(2) : 0}
    */} @@ -1563,34 +1575,34 @@ const PrintStyle11 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal} @@ -1608,26 +1620,26 @@ const PrintStyle11 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} +

    + {' '} + 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 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -1665,6 +1677,7 @@ const PrintStyle11 = ({ )} )} + {GlobaldummyData && GlobalCashierName && (
    {' '} @@ -1714,73 +1727,145 @@ const PrintStyle11 = ({ > {Date1}
    -
    - YOUR ORDER NO:{' '} - {table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} -
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} -
    +
    + QRcode +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0}
    - ) +
    + ) : !estimatePrintHeader && table2Data?.OrderType === 'E' ? '' : Qrcodet && - paymentTypeUPI && ( + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '} +
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}

    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed( + 2 + )} + +
    +
    +
    + )} +
    + YOUR ORDER NO:{' '} + {table2Data?.SalesId && + extractLastNumber(table2Data?.SalesId)} +
    {GlobaldummyData ? GlobalIsnotes && ( +
    +

    + Notes : 10 days Return policy +

    + +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Notestext && (

    - Notes : 10 days Return policy + {Notestext}


    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Notestext && ( -
    -

    - {Notestext} -

    - -
    -
    - )} + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not + exchangeable or refundable. +
    2. +
    3. + Please check the product before leaving the + counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && + table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not - exchangeable or refundable. -
  • -
  • - Please check the product before leaving the - counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && - table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && + table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -1923,45 +2041,12 @@ const PrintStyle11 = ({ Signature

    - ) - : !estimatePrintHeader && - table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    @@ -2021,12 +2106,12 @@ const PrintStyle11 = ({ {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - Off -
    - )} +
    + Off +
    + )} {/*
    SUB TOTAL
    ROUND OFF
    */} @@ -2047,14 +2132,14 @@ const PrintStyle11 = ({ {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - {GlobaldummyData - ? '8' - : Number( +
    + {GlobaldummyData + ? '8' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} -
    - )} +
    + )} {/*
    {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount) ? Number(table2Data?.NetAmount) : 0}
    */} {/*
    {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2) ? Number(table2Data?.NetAmount).toFixed(2) : 0}
    */} @@ -2452,34 +2537,34 @@ const PrintStyle11 = ({ )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal} @@ -2497,26 +2582,26 @@ const PrintStyle11 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} +

    + {' '} + 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 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -2598,69 +2683,140 @@ const PrintStyle11 = ({ > {Date1}
    -
    - YOUR ORDER NO:{' '} - {table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} -
    + {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} -
    +
    + QRcode +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0}
    - ) +
    + ) : !estimatePrintHeader && table2Data?.OrderType === 'E' ? '' : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + 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' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} +
    + YOUR ORDER NO:{' '} + {table2Data?.SalesId && + extractLastNumber(table2Data?.SalesId)} +
    {GlobaldummyData ? GlobalIsnotes && ( +
    +

    + Notes : 10 days Return policy +

    + +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Notestext && (

    - Notes : 10 days Return policy + {Notestext}


    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Notestext && ( -
    -

    - {Notestext} -

    - -
    -
    - )} + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not exchangeable + or refundable. +
    2. +
    3. + Please check the product before leaving the + counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not exchangeable - or refundable. -
  • -
  • - Please check the product before leaving the - counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -2803,44 +2991,12 @@ const PrintStyle11 = ({ Signature

    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    @@ -2883,8 +3039,8 @@ const PrintStyle11 = ({ /> ) : null} {base64Image && - base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + base64Image && + (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName} @@ -2914,18 +3070,18 @@ const PrintStyle11 = ({ {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 - : '')} + (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 + : '')}
    {' '} @@ -2967,10 +3123,10 @@ const PrintStyle11 = ({ {GlobaldummyData ? '553' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    )} @@ -3015,83 +3171,83 @@ const PrintStyle11 = ({ : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax %{' '} - - ) + + Tax %{' '} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax %{' '} - - )} + table2Data?.OrderType !== 'E' && ( + + Tax %{' '} + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -3105,195 +3261,195 @@ const PrintStyle11 = ({ {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - )} - - )} + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + )} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage} - - ) + + {item.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -3328,83 +3484,83 @@ const PrintStyle11 = ({ : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax %{' '} - - ) + + Tax %{' '} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax %{' '} - - )} + table2Data?.OrderType !== 'E' && ( + + Tax %{' '} + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -3418,108 +3574,108 @@ const PrintStyle11 = ({ {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage} - - ) + + {item.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -3566,8 +3722,8 @@ const PrintStyle11 = ({ {GlobaldummyData ? '8' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)} )} {/*
    {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount) ? Number(table2Data?.NetAmount) : 0}
    */} @@ -3984,7 +4140,7 @@ const PrintStyle11 = ({ fontWeight: '600', }} > - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -4043,66 +4199,131 @@ const PrintStyle11 = ({ > {Date1} -
    - YOUR ORDER NO:{' '} - {table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} -
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} -
    +
    + QRcode +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0}
    - ) +
    + ) : !estimatePrintHeader && table2Data?.OrderType === 'E' ? '' : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + 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' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} +
    + YOUR ORDER NO:{' '} + {table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)} +
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : !estimatePrintHeader && table2Data?.OrderType === 'E' ? '' : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not exchangeable or + refundable. +
    2. +
    3. + Please check the product before leaving the counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not exchangeable or - refundable. -
  • -
  • - Please check the product before leaving the counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -4246,44 +4499,12 @@ const PrintStyle11 = ({ Signature

    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle12.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle12.jsx index d44e0c9..fbfeaa2 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle12.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle12.jsx @@ -103,6 +103,7 @@ const Printstyle12 = ({ const GlobalLogo = useSelector(GlobalprintLogo); const GlobalCredit = useSelector(GlobalprintCredit); const SettingData = useSelector(PreferenceData); + const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); const estimatePrintHeader = SettingData?.[0]?.SettingDtlDetails?.find( (setting) => @@ -125,7 +126,17 @@ const Printstyle12 = ({ (ps) => ps.PaymentTypeName === 'UPI' ); - const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); + 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' + ); let TermsAndConditions = printDatas?.TermsandConditions; let SignatureImg = printDatas?.Signature; @@ -485,8 +496,8 @@ const Printstyle12 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: isMobile @@ -540,18 +551,18 @@ const Printstyle12 = ({ {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 - : '')} + (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 + : '')}
    @@ -679,10 +690,10 @@ const Printstyle12 = ({ {GlobaldummyData ? '553' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    Des} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalDiscount && ( - (%) - ) + (%) + ) : Discount && ( - (%) - )} + (%) + )} {GlobaldummyData ? GlobalTax && ( - - Tax (%) - - ) + + Tax (%) + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax (%) - - )} + table2Data?.OrderType !== 'E' && ( + + Tax (%) + + )} {GlobaldummyData ? GlobalAmount && ( - Amt - ) + Amt + ) : Amount && ( - Amt - )} + Amt + )} @@ -791,214 +802,214 @@ const Printstyle12 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => - pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == - '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = - item2.IMEI1 || ''; - const imei2 = - item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == - '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = - item2.IMEI1 || ''; - const imei2 = - item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - )} - - )} + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => + pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == + '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = + item2.IMEI1 || ''; + const imei2 = + item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == + '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = + item2.IMEI1 || ''; + const imei2 = + item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + )} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -1033,61 +1044,61 @@ const Printstyle12 = ({ : Item && Des} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalDiscount && ( - (%) - ) + (%) + ) : Discount && ( - (%) - )} + (%) + )} {GlobaldummyData ? GlobalTax && ( - - Tax (%) - - ) + + Tax (%) + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax (%) - - )} + table2Data?.OrderType !== 'E' && ( + + Tax (%) + + )} {GlobaldummyData ? GlobalAmount && ( - Amt - ) + Amt + ) : Amount && ( - Amt - )} + Amt + )} @@ -1097,116 +1108,116 @@ const Printstyle12 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -1275,30 +1286,30 @@ const Printstyle12 = ({
    {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    -
    Off
    -
    :
    - {GlobaldummyData - ? '9' - : Number( +
    Off
    +
    :
    +
    + {GlobaldummyData + ? '9' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} +
    -
    - )} + )} {/*
    Extra Charges @@ -1399,7 +1410,7 @@ const Printstyle12 = ({ : 0}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -1429,6 +1440,997 @@ const Printstyle12 = ({ OrderDetailIGST?.[0]?.TaxAmt > 0) || (OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 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.00' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0} +
    +
    + {/*
    +
    + Recived Amt +
    +
    :
    +
    + {GlobaldummyData ? '1,066.00' : Number(table2Data?.NetAmount).toFixed(2) ? Number(table2Data?.NetAmount).toFixed(2) : 0} +
    +
    +
    +
    + Balance Amt +
    +
    :
    +
    + 0.00 +
    +
    */} + + + + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).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} +
    + )} +
    + +
    +
    +
    + Your Order No:{' '} + {GlobaldummyData + ? '53' + : table2Data?.SalesId && + extractLastNumber(table2Data?.SalesId)} +
    +
    + + {GlobaldummyData + ? GlobalQrcodet && ( +
    + image +
    + {' '} + Scan to Pay:{' '} +
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0} +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Qrcodet && + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '} +
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + )} +
    + {sportsAppPreference && MembershipApplied && ( +
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    + )} + +
    + {GlobaldummyData + ? GlobalIsnotes && ( +
    +

    + Notes : 10 days Return policy +

    + +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Notestext && ( +
    +

    + {Notestext} +

    + +
    +
    + )} + +
    + {GlobaldummyData + ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not + exchangeable or refundable. +
    2. +
    3. + Please check the product before leaving the + counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && + table2Data?.OrderType === 'E' + ? '' + : 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 +

    + +
    + ) + : !estimatePrintHeader && + table2Data?.OrderType === 'E' + ? '' + : Signature == true && ( +
    +

    + Signature +

    + +
    + )} +
    +
    + + {PrintGreeting?.SettingValue === 'Y' && ( +
    + Thank You Visit Again +
    + )} + + )} + + ))} + + {shouldFooterBeOnNewPage && FormatTheme && ( +
    +
    + <> +
    +
    +
    +
    +
    Items
    +
    :
    +
    + {GlobaldummyData ? '8' : totalQuantityFilter?.length} +
    +
    +
    +
    Qty
    +
    :
    +
    + {GlobaldummyData ? '9' : totalQuantity} +
    +
    + {(table2Data?.OverallDisc > 0 || + TotalOfferAmount > 0) && ( +
    +
    Off
    +
    :
    +
    + {GlobaldummyData + ? '9' + : Number( + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)} +
    +
    + )} + {/*
    +
    + Extra Charges +
    +
    :
    +
    + 0 +
    +
    */} + +
    + + {DineInData?.length > 0 && TakeawayData?.length > 0 && ( + <> + {takeAwayPreference && ( +
    +
    + TakeAway +
    +
    :
    +
    + {Number(TakeawayTotal).toFixed(2)} +
    +
    + )} + {dinePreference && ( +
    +
    + Dine In +
    +
    :
    +
    + {Number(DineInTotal).toFixed(2)} +
    +
    + )} + + )} +
    +
    + Amount +
    +
    :
    +
    + {GlobaldummyData + ? '1,066.00' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0} +
    +
    + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( + <> + {/*

    Split Payment:

    */} + {Object.keys(aggregatedPayments).map( + (paymentType) => ( +
    + {paymentType}:{' '} + {aggregatedPayments[paymentType].toFixed(2)} +
    + ) + )} + + )} + {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( + '' + ) : ( +
    + {((OrderDetailGST?.length > 0 && + OrderDetailGST?.[0]?.TaxAmt > 0) || + (OrderDetailIGST?.length > 0 && + OrderDetailIGST?.[0]?.TaxAmt > 0) || + (OrderDetailVAT?.length > 0 && + OrderDetailVAT?.[0]?.TaxAmt > 0)) && ( <>

    - {Number(item.TotalAmt).toFixed( - 2 - )} + {Number(item.TotalAmt).toFixed(2)} ))} @@ -1696,9 +2696,7 @@ const Printstyle12 = ({ textAlign: 'center', }} > - {Number(item.TotalAmt).toFixed( - 2 - )} + {Number(item.TotalAmt).toFixed(2)} ))} @@ -1708,923 +2706,6 @@ const Printstyle12 = ({

    )} -
    - )} -
    - -
    -
    - {PaymentStatusSuccess?.length === 1 - ? PaymentStatusSuccess?.[0]?.PaymentTypeName - : 'Split'}{' '} -   Payment -
    -
    :
    -
    - {GlobaldummyData - ? '1,066.00' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} -
    -
    - {/*
    -
    - Recived Amt -
    -
    :
    -
    - {GlobaldummyData ? '1,066.00' : Number(table2Data?.NetAmount).toFixed(2) ? Number(table2Data?.NetAmount).toFixed(2) : 0} -
    -
    -
    -
    - Balance Amt -
    -
    :
    -
    - 0.00 -
    -
    */} -
    -
    - - {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} -
    - )} -
    - -
    -
    -
    - Your Order No:{' '} - {GlobaldummyData - ? '53' - : table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} -
    -
    - - {GlobaldummyData - ? GlobalQrcodet && ( -
    - image -
    - {' '} - Scan to Pay:{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} -
    -
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - )} -
    - {sportsAppPreference && MembershipApplied && ( -
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    - )} - -
    - {GlobaldummyData - ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    - -
    -
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Notestext && ( -
    -

    - {Notestext} -

    - -
    -
    - )} - -
    - {GlobaldummyData - ? GlobaltermsAndConditions && ( -
    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) - : !estimatePrintHeader && - table2Data?.OrderType === 'E' - ? '' - : 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 -

    - -
    - ) - : !estimatePrintHeader && - table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} -
    -
    - - {PrintGreeting?.SettingValue === 'Y' && ( -
    - Thank You Visit Again -
    - )} - - )} -
    - ))} - - {shouldFooterBeOnNewPage && FormatTheme && ( -
    -
    - <> -
    -
    -
    -
    -
    Items
    -
    :
    -
    - {GlobaldummyData ? '8' : totalQuantityFilter?.length} -
    -
    -
    -
    Qty
    -
    :
    -
    - {GlobaldummyData ? '9' : totalQuantity} -
    -
    - {(table2Data?.OverallDisc > 0 || - TotalOfferAmount > 0) && ( -
    -
    Off
    -
    :
    -
    - {GlobaldummyData - ? '9' - : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} -
    -
    - )} - {/*
    -
    - Extra Charges -
    -
    :
    -
    - 0 -
    -
    */} - -
    - - {DineInData?.length > 0 && TakeawayData?.length > 0 && ( - <> - {takeAwayPreference && ( -
    -
    - TakeAway -
    -
    :
    -
    - {Number(TakeawayTotal).toFixed(2)} -
    -
    - )} - {dinePreference && ( -
    -
    - Dine In -
    -
    :
    -
    - {Number(DineInTotal).toFixed(2)} -
    -
    - )} - - )} -
    -
    - Amount -
    -
    :
    -
    - {GlobaldummyData - ? '1,066.00' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} -
    -
    - {PaymentStatusSuccess?.length > 1 && ( - <> - {/*

    Split Payment:

    */} - {Object.keys(aggregatedPayments).map( - (paymentType) => ( -
    - {paymentType}:{' '} - {aggregatedPayments[paymentType].toFixed(2)} -
    - ) - )} - - )} - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    - {((OrderDetailGST?.length > 0 && - OrderDetailGST?.[0]?.TaxAmt > 0) || - (OrderDetailIGST?.length > 0 && - OrderDetailIGST?.[0]?.TaxAmt > 0) || - (OrderDetailVAT?.length > 0 && - OrderDetailVAT?.[0]?.TaxAmt > 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)} -
    - - )} -
    - - )}
    )}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} + {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal} @@ -2732,26 +2881,26 @@ const Printstyle12 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} +

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

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

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

    + ) : null} +
    + )}
    @@ -2766,78 +2915,78 @@ const Printstyle12 = ({ {GlobaldummyData ? '53' : table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} + extractLastNumber(table2Data?.SalesId)}
    {GlobaldummyData ? GlobalQrcodet && ( -
    - image + image +
    + {' '} + Scan to Pay:{' '} +
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0} +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Qrcodet && + paymentTypeUPI && ( +
    +
    - {' '} - Scan to Pay:{' '} + Scan to Pay{' '}
    - ₹ + ₹ {GlobaldummyData ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} + : Number(table2Data?.NetAmount).toFixed(2)}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - )} + )}
    {sportsAppPreference && MembershipApplied && ( @@ -2862,25 +3011,25 @@ const Printstyle12 = ({ > {GlobaldummyData ? GlobalIsnotes && ( +
    +

    + Notes : 10 days Return policy +

    + +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Notestext && (

    - Notes : 10 days Return policy + {Notestext}


    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Notestext && ( -
    -

    - {Notestext} -

    - -
    -
    - )} + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not exchangeable + or refundable. +
    2. +
    3. + Please check the product before leaving the + counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not exchangeable - or refundable. -
  • -
  • - Please check the product before leaving the - counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -2992,44 +3173,12 @@ const Printstyle12 = ({ Signature

    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    @@ -3077,18 +3226,18 @@ const Printstyle12 = ({ {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 - : '')} + (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 + : '')}
    {' '} @@ -3192,10 +3341,10 @@ const Printstyle12 = ({ {GlobaldummyData ? '553' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    Des} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP && MRP} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate && Rate} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalDiscount && ( - (%) - ) + (%) + ) : Discount && ( - (%) - )} + (%) + )} {GlobaldummyData ? GlobalTax && ( - Tax (%) - ) + Tax (%) + ) : Tax && - table2Data?.OrderType !== 'E' && ( - Tax (%) - )} + table2Data?.OrderType !== 'E' && ( + Tax (%) + )} {GlobaldummyData ? GlobalAmount && ( - Amt - ) + Amt + ) : Amount && Amt} @@ -3294,195 +3443,195 @@ const Printstyle12 = ({ {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - )} - - )} + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + )} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -3518,50 +3667,50 @@ const Printstyle12 = ({ : Item && Des} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity && ( - - {' '} - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {' '} + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP && MRP} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate && Rate} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalDiscount && ( - (%) - ) + (%) + ) : Discount && ( - (%) - )} + (%) + )} {GlobaldummyData ? GlobalTax && ( - Tax (%) - ) + Tax (%) + ) : Tax && - table2Data?.OrderType !== 'E' && ( - Tax (%) - )} + table2Data?.OrderType !== 'E' && ( + Tax (%) + )} {GlobaldummyData ? GlobalAmount && ( - Amt - ) + Amt + ) : Amount && Amt} @@ -3576,108 +3725,108 @@ const Printstyle12 = ({ {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -3744,8 +3893,8 @@ const Printstyle12 = ({ {GlobaldummyData ? '9' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)}
    )} @@ -3838,7 +3987,7 @@ const Printstyle12 = ({ : 0} - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -3862,118 +4011,20 @@ const Printstyle12 = ({ OrderDetailIGST?.[0]?.TaxAmt > 0) || (OrderDetailVAT?.length > 0 && OrderDetailVAT?.[0]?.TaxAmt > 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 && ( - <> -
    + <> +
    +

    + --------- GST Breakup Details ----------- +

    + {OrderDetailGST?.length > 0 && + OrderDetailGST?.[0]?.TaxAmt > 0 && ( + - {OrderDetailIGST?.map((item) => ( + {OrderDetailGST?.map((item) => ( + -
    - IGST + CGST + + SGST
    - {Number(item.TaxAmt).toFixed(2)} + {Number(item.CGST).toFixed(2)} + + {Number(item.SGST).toFixed(2)} ))}
    - - )} - {OrderDetailVAT?.length > 0 && - OrderDetailVAT?.[0]?.TaxAmt > 0 && ( - <> -
    - - - - - - - - {OrderDetailVAT?.map((item) => ( + )} + + {OrderDetailIGST?.length > 0 && + OrderDetailIGST?.[0]?.TaxAmt > 0 && ( + <> +
    +
    - Taxable Amount - - VAT - - Total Amount -
    + - - ))} -
    - {item?.TaxPercentage || 0}% + Taxable Amount - {Number(item.WithOutTaxAmount).toFixed(2)} + IGST - {Number(item.TaxAmt).toFixed(2)} - - {Number(item.TotalAmt).toFixed(2)} + Total Amount
    - - )} -
    - - )} + {OrderDetailIGST?.map((item) => ( + + + {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)} +
    + + )} +
    + + )} )}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} + {/*
    */} {/*
    @@ -4205,62 +4418,62 @@ const Printstyle12 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    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} - - )} + 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} -
    - )} + {/* 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} +
    + )}
    @@ -4275,70 +4488,70 @@ const Printstyle12 = ({ {GlobaldummyData ? '53' : table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} + extractLastNumber(table2Data?.SalesId)}
    {GlobaldummyData ? GlobalQrcodet && ( -
    - image -
    - {' '} - Scan to Pay:{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2) - ? Number(table2Data?.NetAmount).toFixed(2) - : 0} -
    +
    + image +
    + {' '} + Scan to Pay:{' '}
    - ) +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2) + ? Number(table2Data?.NetAmount).toFixed(2) + : 0} +
    +
    + ) : !estimatePrintHeader && table2Data?.OrderType === 'E' ? '' : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '}
    - )} +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + )}
    {sportsAppPreference && MembershipApplied && (
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : !estimatePrintHeader && table2Data?.OrderType === 'E' ? '' : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( +
    +

    + Terms & Conditions +

    +
      +
    1. + Once goods are sold, they are not exchangeable or + refundable. +
    2. +
    3. + Please check the product before leaving the counter. +
    4. +
    +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : TermsnAdCondition == true && + TermsAndConditions?.length > 0 && (

    -

  • - Once goods are sold, they are not exchangeable or - refundable. -
  • -
  • - Please check the product before leaving the counter. -
  • + {TermsAndConditions?.map((item) => ( +
  • + {item?.TermsandConditions} +
  • + ))} + {/*
  • Please check the product before leaving the counter.
  • */}
    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : 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 +

    + +
    + ) + : !estimatePrintHeader && table2Data?.OrderType === 'E' + ? '' + : Signature == true && (
    @@ -4494,44 +4739,12 @@ const Printstyle12 = ({ Signature

    - ) - : !estimatePrintHeader && table2Data?.OrderType === 'E' - ? '' - : Signature == true && ( -
    -

    - Signature -

    - -
    - )} + )}
    diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx index 91e728f..c6180c8 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle2.jsx @@ -139,6 +139,18 @@ const Printstyle2 = ({ let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); + 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 keysLength = Object.keys(table2Data ?? {}).length; if (keysLength > 0) { dispatch(changeReprintDataFound(true)); @@ -341,8 +353,8 @@ const Printstyle2 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: FormatTheme @@ -415,18 +427,18 @@ const Printstyle2 = ({ {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 - : '')} + (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 + : '')}
    @@ -485,10 +497,10 @@ const Printstyle2 = ({ {GlobaldummyData ? 'A22' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    @@ -520,124 +532,124 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO && S.No} {GlobaldummyData ? GlobalItem && Item : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {WeightasKg ?'Qty/Kg' :'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} @@ -646,214 +658,214 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && ( - - {item?.ProdName} - - ) + + {item?.ProdName} + + ) : Item && ( - -
    {item?.ProdName}
    -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => - pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} + +
    {item?.ProdName}
    +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => + pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + )} +  {' '} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > + 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null ) -
    - )} -  {' '} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > - 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - - )} + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {' '} - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage || 0} - - ) + + {item?.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} ); })} @@ -878,124 +890,124 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO && S.No} {GlobaldummyData ? GlobalItem && Item : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {WeightasKg ?'Qty/Kg' :'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} @@ -1004,155 +1016,155 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && ( - - {item?.ProdName} - - ) + + {item?.ProdName} + + ) : Item && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {' '} - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage || 0} - - ) + + {item.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item.ProdTaxPercentage} - - )} + table2Data?.OrderType !== 'E' && ( + + {item.ProdTaxPercentage} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} ); })} @@ -1274,12 +1286,12 @@ const Printstyle2 = ({
    {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - Off -
    - )} +
    + Off +
    + )}
    Amount
    @@ -1306,16 +1318,16 @@ const Printstyle2 = ({ {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - {GlobaldummyData - ? '100' - : Number( +
    + {GlobaldummyData + ? '100' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} -
    - )} +
    + )}
    @@ -1654,7 +1666,7 @@ const Printstyle2 = ({
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -1674,6 +1686,46 @@ const Printstyle2 = ({ )} )} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData && GlobalCashierName && (
    Cashier : Cashier Name
    )} @@ -1720,141 +1772,141 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0] - ?.PaymentTypeName === 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed( - 2 - ), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0] + ?.PaymentTypeName === 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs( - c.CurrentCreditBal - ).toFixed(2), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed( + 2 + ), }); } + } - return items.map((i, idx) => ( -

    - - {i.label} - - - : - - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs( + c.CurrentCreditBal + ).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + + {i.label} + + + : + + + {i.value} + +

    + )); + })()} +
    + )} {!estimatePrintHeader && - table2Data?.OrderType === 'E' ? ( + table2Data?.OrderType === 'E' ? ( '' ) : (
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed( - 2 - )} -
    +
    + 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 - )} -
    + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '}
    - )} +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed( + 2 + )} +
    +
    + )}
    )} @@ -1880,7 +1932,7 @@ const Printstyle2 = ({ )} {!estimatePrintHeader && - table2Data?.OrderType === 'E' ? ( + table2Data?.OrderType === 'E' ? ( '' ) : (
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before - leaving the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )} @@ -2116,10 +2168,10 @@ const Printstyle2 = ({
    {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - Off -
    - )} +
    + Off +
    + )}
    Amount
    @@ -2140,16 +2192,16 @@ const Printstyle2 = ({
    {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - {GlobaldummyData - ? '100' - : Number( +
    + {GlobaldummyData + ? '100' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} -
    - )} +
    + )}
    {GlobaldummyData ? '1,066' @@ -2485,7 +2537,7 @@ const Printstyle2 = ({
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -2505,6 +2557,46 @@ const Printstyle2 = ({ )} )} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData && GlobalCashierName && (
    Cashier : Cashier Name
    )} @@ -2551,139 +2643,139 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed( - 2 - ), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed( + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed( 2 ), }); } + } - return items.map((i, idx) => ( -

    - - {i.label} - - - : - - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed( + 2 + ), + }); + } + + return items.map((i, idx) => ( +

    + + {i.label} + + + : + + + {i.value} + +

    + )); + })()} +
    + )} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed( - 2 - )} -
    +
    + 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 - )} -
    + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '}
    - )} +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed( + 2 + )} +
    +
    + )}
    )} @@ -2722,23 +2814,23 @@ const Printstyle2 = ({ > {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving - the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )} @@ -2959,18 +3051,18 @@ const Printstyle2 = ({ {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 - : '')} + (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 + : '')}
    @@ -3030,10 +3122,10 @@ const Printstyle2 = ({ {GlobaldummyData ? 'A22' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    @@ -3066,82 +3158,82 @@ const Printstyle2 = ({ : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {WeightasKg ?'Qty/Kg' :'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} @@ -3151,208 +3243,208 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO && ( - - {index + 1} - - )} + + {index + 1} + + )} {GlobaldummyData ? GlobalItem && ( - - {item?.ProdName} - - ) + + {item?.ProdName} + + ) : Item && ( - -
    {item?.ProdName}
    -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} + +
    {item?.ProdName}
    +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + )} +  {' '} + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null ) -
    - )} -  {' '} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
    {a.SerialNumber}
    ; - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - - )} + )?.map((a) => { + return
    {a.SerialNumber}
    ; + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {' '} - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage || 0} - - ) + + {item.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} ); } @@ -3384,82 +3476,82 @@ const Printstyle2 = ({ : Item && Item} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - {WeightasKg ?'Qty/Kg' :'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} @@ -3469,154 +3561,154 @@ const Printstyle2 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO && ( - - {index + 1} - - )} + + {index + 1} + + )} {GlobaldummyData ? GlobalItem && ( - - {item?.ProdName} - - ) + + {item?.ProdName} + + ) : Item && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item?.discount} - - ) + + {item?.discount} + + ) : Discount && ( - - {' '} - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item.ProdTaxPercentage || 0} - - ) + + {item.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} ); } @@ -3674,8 +3766,8 @@ const Printstyle2 = ({ {GlobaldummyData ? '100' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)}
    )}
    @@ -4008,7 +4100,7 @@ const Printstyle2 = ({
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -4022,6 +4114,46 @@ const Printstyle2 = ({ ))} )} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData && GlobalCashierName && (
    Cashier : Cashier Name
    )} @@ -4061,123 +4193,123 @@ const Printstyle2 = ({
    {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed(2), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - {i.label} - : - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + {i.label} + : + + {i.value} + +

    + )); + })()} +
    + )} {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( '' ) : (
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + 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)} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}
    )} @@ -4215,26 +4347,26 @@ const Printstyle2 = ({ > {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not exchangeable - or refundable. -
    2. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )} diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle3.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle3.jsx index b5fcd03..b1a067d 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle3.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle3.jsx @@ -1,10 +1,7 @@ -import React from 'react'; -import { useDispatch, useSelector } from 'react-redux'; -import QRcode from '../../../../Images/qrcode.png'; -import { - extractLastNumber, - extractLastNumberOrderId, -} from '../../../../Services/Others'; +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, @@ -28,56 +25,37 @@ import { GlobalprintLogo, GlobalprintCredit, GlobalprintTax, - GlobalSelectedPrintHeaderColor, } from '../../../../Features/ThemeChange/ThemeChange'; -import Logo from '../../../../Images/Logo.jpg'; -import '../../../../Styles/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle3.scss'; +import Logo from '../../../../Images/Logo.jpg' +import '../../../../Styles/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle3.scss' import QRCode from 'react-qr-code'; -import { - GlobalUpiIDprint, - PreferenceData, -} from '../../../../Features/BookingScreen/BookingData/BookingData'; -import signature from '../../../../Images/signatureimage.jpg'; -import { ApplicationPreferences } from '../../../../Features/BrachLogin/BranchLogin'; -import { isMobile } from 'react-device-detect'; -import { settingDataSelector } from '../../../../Features/PreferenceMaster/PreferenceMaster'; +import { GlobalUpiIDprint, PreferenceData } from '../../../../Features/BookingScreen/BookingData/BookingData'; +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 PrintStyle3 = ({ index, totalQuantityFilter, Date1, CashierName, totalQuantity, OrderDetailGST, OrderDetailIGST, OrderDetailVAT, + table2Data, PaymentStatus, PrintGreeting, printDatas, PrintLogo, base64Image, isPdf, sportsAppPreference, SalesModePref, + MembershipApplied = null }) => { + -const PrintStyle3 = ({ - index, - totalQuantityFilter, - Date1, - CashierName, - totalQuantity, - OrderDetailGST, - OrderDetailIGST, - OrderDetailVAT, - table2Data, - PaymentStatus, - PrintGreeting, - printDatas, - PrintLogo, - base64Image, - isPdf, - sportsAppPreference, - SalesModePref, - MembershipApplied = null, -}) => { const dispatch = useDispatch(); - const GlobalUpiID = useSelector(GlobalUpiIDprint); + 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 Quantity = FieldDetails?.['Quantity']; - const Rate = FieldDetails?.['Rate']; + 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 Tax = FieldDetails?.['Tax']; - 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 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); @@ -90,221 +68,122 @@ const PrintStyle3 = ({ const GlobalHsnCode = useSelector(GlobalprintHsnCode); const GlobalQrcodet = useSelector(GlobalprintQrcodet); const GlobaldummyData = useSelector(GlobalPritdummyData); - console.log(GlobaldummyData, 'GlobaldummyData print3'); + console.log(GlobaldummyData, "GlobaldummyData print3"); 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 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 estimatePrintHeader = - SettingData?.[0]?.SettingDtlDetails?.find( - (setting) => - setting?.SettingIdName?.toLowerCase() === 'estimateprintheader' - )?.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' - ); - console.log(printDatas, 'GlobalthemeFormatr'); + const estimatePrintHeader = SettingData?.[0]?.SettingDtlDetails?.find(setting => setting?.SettingIdName?.toLowerCase() === 'estimateprintheader')?.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") + console.log(printDatas, "GlobalthemeFormatr"); - const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); + 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"]; - 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 - const PackageDetails = table2Data?.PackageDtl; + console.log(PackageDetails, 'PackageDetailsPackageDetails',); - console.log(PackageDetails, 'PackageDetailsPackageDetails'); - - let PaymentStatusSuccess = PaymentStatus?.filter( - (ps) => ps.PaymentStatus === 'S' - ); + let PaymentStatusSuccess = PaymentStatus?.filter(ps => ps.PaymentStatus === "S") const keysLength = Object.keys(table2Data ?? {}).length; if (keysLength > 0) { dispatch(changeReprintDataFound(true)); } + 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 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 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 TakeawayData = table2Data?.productDetails?.filter(item => item.BookingTypeName?.toLowerCase() === "takeaway") + const DineInData = table2Data?.productDetails?.filter(item => item.BookingTypeName?.toLowerCase() === "dine in") - console.log(TakeawayData, 'TakeawayData', table2Data); + console.log(TakeawayData, "TakeawayData", table2Data) const TakeawayTotal = TakeawayData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, - 0 + 0, ); const DineInTotal = DineInData?.reduce( (accumulator, currentValue) => accumulator + currentValue.TotalAmt, - 0 + 0, ); - const aggregatedPayments = PaymentStatusSuccess?.reduce( - (acc, paymentdata) => { - const paymentType = paymentdata?.PaymentTypeName; - const amount = Number(paymentdata?.Amount); + 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; - } + if (acc[paymentType]) { + acc[paymentType] += amount; + } else { + acc[paymentType] = amount; + } - return acc; - }, - {} - ); + return acc; + }, {}); const productsData = table2Data?.productDetails || []; const offers = table2Data?.OrderOfferDetails || []; let TotalOfferAmount = 0; // Calculate SalesWiseOffers total amount - offers.forEach((offer) => { + offers.forEach(offer => { if (offer.TableName === 'SalesWiseOffers') { TotalOfferAmount += offer.OfferAmount; } }); - const hasMappedOffer = offers.some((offer) => - ['ItemWiseOffers', 'BundleOffers', 'QuantityWiseOffers'].includes( - offer.TableName - ) + 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 - ); + + 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 - ); + 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', - ProdTaxPercentage: 5, - }, - { - ProdName: 'ITEM 2', - Rate: 300.0, - SalesQty: 1, - MRP: 350, - TotalAmt: 300, - discount: 0, - HSN: '02', - ProdTaxPercentage: 5, - }, - { - ProdName: 'ITEM 3', - Rate: 200.0, - SalesQty: 1, - MRP: 250, - TotalAmt: 200, - discount: 0, - HSN: '03', - ProdTaxPercentage: 0, - }, - { - ProdName: 'ITEM 4', - Rate: 30.0, - SalesQty: 1, - MRP: 50, - TotalAmt: 30, - discount: 0, - HSN: '04', - ProdTaxPercentage: 18, - }, - { - ProdName: 'ITEM 5', - Rate: 30.0, - SalesQty: 1, - MRP: 50, - TotalAmt: 30, - discount: 0, - HSN: '05', - ProdTaxPercentage: 40, - }, - { - ProdName: 'ITEM 6', - Rate: 130.0, - SalesQty: 1, - MRP: 150, - TotalAmt: 130, - discount: 0, - HSN: '06', - ProdTaxPercentage: 3, - }, - { - ProdName: 'ITEM 7', - Rate: 230.0, - SalesQty: 1, - MRP: 250, - TotalAmt: 230, - discount: 0, - HSN: '08', - ProdTaxPercentage: 0, - }, + { ProdName: 'ITEM 1', Rate: 88.00, SalesQty: 2, MRP: 100, TotalAmt: 176, discount: 0, HSN: '01', ProdTaxPercentage: 5 }, + { ProdName: 'ITEM 2', Rate: 300.00, SalesQty: 1, MRP: 350, TotalAmt: 300, discount: 0, HSN: '02', ProdTaxPercentage: 5 }, + { ProdName: 'ITEM 3', Rate: 200.00, SalesQty: 1, MRP: 250, TotalAmt: 200, discount: 0, HSN: '03', ProdTaxPercentage: 0 }, + { ProdName: 'ITEM 4', Rate: 30.00, SalesQty: 1, MRP: 50, TotalAmt: 30, discount: 0, HSN: '04', ProdTaxPercentage: 18 }, + { ProdName: 'ITEM 5', Rate: 30.00, SalesQty: 1, MRP: 50, TotalAmt: 30, discount: 0, HSN: '05', ProdTaxPercentage: 40 }, + { ProdName: 'ITEM 6', Rate: 130.00, SalesQty: 1, MRP: 150, TotalAmt: 130, discount: 0, HSN: '06', ProdTaxPercentage: 3 }, + { ProdName: 'ITEM 7', Rate: 230.00, SalesQty: 1, MRP: 250, TotalAmt: 230, discount: 0, HSN: '08', ProdTaxPercentage: 0 }, ]; - const chunkSize = PageSize == 'A5' ? 11 : 16; + const chunkSize = PageSize == "A5" ? 11 : 16; let dataSource = []; @@ -319,4722 +198,1453 @@ const PrintStyle3 = ({ 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 lastChunkRows = paginatedChunks.length > 0 ? paginatedChunks[paginatedChunks.length - 1].length : 0; + const shouldFooterBeOnNewPage = lastChunkRows > (PageSize == "A5" ? 5 : 10); + return ( <> - {FormatTheme ? ( -
    + {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' ? ( - '' - ) : ( -
    -
    - {GlobaldummyData && GlobalLogo ? ( - image - ) : null} - {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( - image - ) : null} -
    - {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName} -
    -
    -
    - {' '} - {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 - : '')} - {table2Data?.BrGSTIN && ( -
    - GST NO : - {GlobaldummyData - ? '334bhbsagbysfgbfgbu' - : table2Data?.BrGSTIN} - , -
    - )} -
    - {' '} - Mobile : +91{' '} - {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile} -
    - {table2Data?.OrderType === 'E' && ( -
    - Estimate Bill{' '} - {SalesModePref?.SettingValue == 'Y' && - `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} -
    - )} - {table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    - {GlobaldummyData - ? 'Cash Bill' - : BillName - ? BillName - : PaymentStatusSuccess?.length === 1 - ? PaymentStatusSuccess?.[0]?.PaymentTypeName - : ''}{' '} - {SalesModePref?.SettingValue == 'Y' && - `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`}{' '} -
    - )} -
    -
    - )} +
    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' && ( -
    - Estimate Bill{' '} - {SalesModePref?.SettingValue == 'Y' && - `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} + {/*
    */} +
    + {((!estimatePrintHeader && table2Data?.OrderType === "E") ? '' :
    +
    + {GlobaldummyData && GlobalLogo ? image : null} + {(base64Image && (PrintLogo?.SettingValue === "Y" || LogoField)) ? image : null} +
    {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName}
    - )} +
    {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 : '')} + + {table2Data?.BrGSTIN &&
    GST NO :{GlobaldummyData ? '334bhbsagbysfgbfgbu' : table2Data?.BrGSTIN},
    } +
    Mobile : +91 {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile}
    + {table2Data?.OrderType === "E" &&
    Estimate Bill {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`}
    } + {table2Data?.OrderType === "E" ? "" :
    {GlobaldummyData ? 'Cash Bill' : BillName ? BillName : PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : ""} {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`}
    } +
    + +
    )} + + {(!estimatePrintHeader && table2Data?.OrderType === "E") &&
    Estimate Bill {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`}
    }
    -
    - {' '} - BILL NO : - {GlobaldummyData - ? '51' - : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )}{' '} -
    -
    - {' '} - {GlobaldummyData ? formattedDate : Date1} -
    +
    BILL NO :{GlobaldummyData ? '51' : table2Data?.OrderId && extractLastNumberOrderId(table2Data?.OrderId, table2Data?.FYStatus)}
    +
    {GlobaldummyData ? formattedDate : Date1}

    +
    -
    +
    - {(TakeawayData?.length > 0 || GlobaldummyData) && ( -
    - {takeAwayPreference && ( -
    - TakeAway -
    - )} -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - S.No -
    - ) - : SLNO && ( -
    - S.No -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - ITEM -
    - ) - : Item && ( -
    - ITEM -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - HSN -
    - ) - : HsnCode && ( -
    - HSN -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - MRP -
    - ) - : MRP && ( -
    - MRP -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - QTY -
    - ) - : Quantity && ( -
    - {' '} - {WeightasKg ? 'QTY/KG' : 'QTY'} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - RATE -
    - ) - : Rate && ( -
    - RATE -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) - : Discount && ( -
    - DIS{' '} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - TAX % -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - TAX % -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - AMT -
    - ) - : Amount && ( -
    - AMT -
    - )} + {(TakeawayData?.length > 0 || GlobaldummyData) && +
    + {takeAwayPreference &&
    TakeAway
    } +
    + {GlobaldummyData ? GlobalSlNo &&
    S.No
    : SLNO &&
    S.No
    } + {GlobaldummyData ? GlobalItem &&
    ITEM
    : Item &&
    ITEM
    } + {GlobaldummyData ? GlobalHsnCode &&
    HSN
    : HsnCode &&
    HSN
    } + {GlobaldummyData ? GlobalMRP &&
    MRP
    : MRP &&
    MRP
    } + {GlobaldummyData ? GlobalQuantity &&
    QTY
    : Quantity &&
    {WeightasKg ? 'QTY/KG' : 'QTY'}
    } + {GlobaldummyData ? GlobalRate &&
    RATE
    : Rate &&
    RATE
    } + {GlobaldummyData ? GlobalDiscount &&
    DIS
    : Discount &&
    DIS
    } + {GlobaldummyData ? GlobalTax && (
    TAX %
    ) : (Tax == true && table2Data?.OrderType !== 'E') && (
    TAX %
    )} + {GlobaldummyData ? GlobalAmount &&
    AMT
    : Amount &&
    AMT
    }
    {dataChunk?.map((item, index) => ( -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - {index + 1} +
    + {GlobaldummyData ? GlobalSlNo &&
    {index + 1}
    : SLNO &&
    {chunkIndex * chunkSize + index + 1}
    } + {GlobaldummyData ? GlobalItem &&
    {item?.ProdName}
    : Item && +
    +
    {item?.ProdName}
    +
    + {(PackageDetails?.filter((pkg) => pkg.ProdId === item.ProdId).length > 0 ?
    + {PackageDetails?.filter((pkg) => pkg.ProdId === item.ProdId)?.map((item, index) => ( + + {item.ParcelCount} PCS {item.ParcelQty} PACK ({item.ParcelType}) + + ))}
    - ) - : SLNO && ( -
    - {chunkIndex * chunkSize + index + 1} -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - {item?.ProdName} -
    - ) - : Item && ( -
    -
    {item?.ProdName}
    -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - )} -  {' '} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
    {a.SerialNumber}
    ; - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) - : HsnCode && ( -
    - {item?.HSN} -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) - : MRP && ( -
    - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - {item?.SalesQty} -
    - ) - : Quantity && ( -
    - {item?.SalesQty} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - {item?.Rate} -
    - ) - : Rate && ( -
    - {item?.Rate} -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) - : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - {item?.ProdTaxPercentage || 0} -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) - : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} -
    - ))} -
    -
    - )} - {DineInData?.length > 0 && dinePreference && ( -
    -
    - Dine In -
    -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - S.No -
    - ) - : SLNO && ( -
    - S.No -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - ITEM -
    - ) - : Item && ( -
    - ITEM -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - HSN -
    - ) - : HsnCode && ( -
    - HSN -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - MRP -
    - ) - : MRP && ( -
    - MRP -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - QTY -
    - ) - : Quantity && ( -
    - {' '} - {WeightasKg ? 'QTY/KG' : 'QTY'} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - RATE -
    - ) - : Rate && ( -
    - RATE -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) - : Discount && ( -
    - DIS{' '} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - TAX % -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - TAX % -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - AMT -
    - ) - : Amount && ( -
    - AMT -
    - )} -
    - -
    - {dataChunk?.map((item, index) => ( -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - {index + 1} -
    - ) - : SLNO && ( -
    - {chunkIndex * chunkSize + index + 1} -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - {item?.ProdName} -
    - ) - : Item && ( -
    -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' + :
    + ({item?.Size ? item?.Size : "1"}{" "} + {item?.SinglePc == "Y" + ? "PCS" + : item?.Type != "C" ? item?.UomName - : 'COMBO'} + : "COMBO"} ) -
    -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) - : HsnCode && ( -
    - {item?.HSN} -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) - : MRP && ( -
    - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - {item?.SalesQty} -
    - ) - : Quantity && ( -
    - {item?.SalesQty} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - {item?.Rate} -
    - ) - : Rate && ( -
    - {item?.Rate} -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) - : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - {item?.ProdTaxPercentage || 0} -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) - : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} +
    )} +   {item?.BrandName !== null ? item?.BrandName : ""}  + {item?.ProductIdentifierDtls?.length > 0 ? (item?.ProductIdentifierDtls?.filter((items) => !(items.SerialNumber == "" || items.SerialNumber == null)) + ?.map(a => { return (
    {a.SerialNumber}
    ) })) : ""} {item?.ProductIdentifierDtls?.length > 0 ? item?.ProductIdentifierDtls.filter((item1) => item1.IMEI1 !== "" || item1.IMEI2 !== "") + ?.map(item2 => { + const imei1 = item2.IMEI1 || ""; + const imei2 = item2.IMEI2 || ""; + return (
    {[imei1, imei2].filter(Boolean).join(",")}
    ); + } + ) : ""} +
    +
    } + {GlobaldummyData ? GlobalHsnCode &&
    {item?.HSN}
    : HsnCode &&
    {item?.HSN}
    } + {GlobaldummyData ? GlobalMRP &&
    {item?.MRP}
    : MRP &&
    {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP}
    } + {GlobaldummyData ? GlobalQuantity &&
    {item?.SalesQty}
    : Quantity &&
    {item?.SalesQty}
    } + {GlobaldummyData ? GlobalRate &&
    {item?.Rate}
    : Rate &&
    {item?.Rate}
    } + {GlobaldummyData ? GlobalDiscount &&
    {item?.discount}
    : Discount &&
    {item?.Type != "C" ? item?.OfferAmt || 0 : item?.OfferValue || 0}
    } + {GlobaldummyData ? GlobalTax &&
    {item?.ProdTaxPercentage || 0}
    : (Tax == true && table2Data?.OrderType !== 'E') && (
    {item?.ProdTaxPercentage || 0}
    )} + {GlobaldummyData ? GlobalAmount &&
    {item?.TotalAmt}
    : Amount &&
    {item?.Type != "C" ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
    }
    ))}
    - )} + } + {(DineInData?.length > 0 && dinePreference) && +
    +
    Dine In
    +
    + {GlobaldummyData ? GlobalSlNo &&
    S.No
    : SLNO &&
    S.No
    } + {GlobaldummyData ? GlobalItem &&
    ITEM
    : Item &&
    ITEM
    } + {GlobaldummyData ? GlobalHsnCode &&
    HSN
    : HsnCode &&
    HSN
    } + {GlobaldummyData ? GlobalMRP &&
    MRP
    : MRP &&
    MRP
    } + {GlobaldummyData ? GlobalQuantity &&
    QTY
    : Quantity &&
    {WeightasKg ? 'QTY/KG' : 'QTY'}
    } + {GlobaldummyData ? GlobalRate &&
    RATE
    : Rate &&
    RATE
    } + {GlobaldummyData ? GlobalDiscount &&
    DIS
    : Discount &&
    DIS
    } + {GlobaldummyData ? GlobalTax && (
    TAX %
    ) : (Tax == true && table2Data?.OrderType !== 'E') && (
    TAX %
    )} + {GlobaldummyData ? GlobalAmount &&
    AMT
    : Amount &&
    AMT
    } +
    + +
    + {dataChunk?.map((item, index) => ( +
    + {GlobaldummyData ? GlobalSlNo &&
    {index + 1}
    : SLNO &&
    {chunkIndex * chunkSize + index + 1}
    } + {GlobaldummyData ? GlobalItem &&
    {item?.ProdName}
    : Item && +
    +
    {item?.ProdName}
    +
    ({item?.Size ? item?.Size : "1"} {item?.SinglePc == 'Y' ? 'PCS' : item?.Type != "C" ? item?.UomName : "COMBO"})
    +
    } + {GlobaldummyData ? GlobalHsnCode &&
    {item?.HSN}
    : HsnCode &&
    {item?.HSN}
    } + {GlobaldummyData ? GlobalMRP &&
    {item?.MRP}
    : MRP &&
    {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP}
    } + {GlobaldummyData ? GlobalQuantity &&
    {item?.SalesQty}
    : Quantity &&
    {item?.SalesQty}
    } + {GlobaldummyData ? GlobalRate &&
    {item?.Rate}
    : Rate &&
    {item?.Rate}
    } + {GlobaldummyData ? GlobalDiscount &&
    {item?.discount}
    : Discount &&
    {item?.Type != "C" ? item?.OfferAmt || 0 : item?.OfferValue || 0}
    } + {GlobaldummyData ? GlobalTax &&
    {item?.ProdTaxPercentage || 0}
    : (Tax == true && table2Data?.OrderType !== 'E') && (
    {item?.ProdTaxPercentage || 0}
    )} + {GlobaldummyData ? GlobalAmount &&
    {item?.TotalAmt}
    : Amount &&
    {item?.Type != "C" ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
    } +
    + ))} +
    +
    + }

    - {DineInData?.length > 0 && TakeawayData?.length > 0 && ( + {(DineInData?.length > 0 && TakeawayData?.length > 0) &&
    - {takeAwayPreference && ( -
    - Takeaway: {Number(TakeawayTotal).toFixed(2)} -
    - )} - {dinePreference && ( -
    Dine In: {Number(DineInTotal).toFixed(2)}
    - )} + {takeAwayPreference &&
    Takeaway: {Number(TakeawayTotal).toFixed(2)}
    } + {dinePreference &&
    Dine In: {Number(DineInTotal).toFixed(2)}
    }
    - )} + } +
    - {chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme && ( - <> -
    -
    -
    Items :
    -
    Qty :
    - {(table2Data?.OverallDisc > 0 || - TotalOfferAmount > 0) && ( -
    Off:
    - )} -
    Amount :
    -
    -
    -
    - {GlobaldummyData - ? '7' - : totalQuantityFilter?.length}{' '} -
    -
    - {GlobaldummyData ? '9' : totalQuantity}{' '} -
    - {(table2Data?.OverallDisc > 0 || - TotalOfferAmount > 0) && ( -
    - {GlobaldummyData - ? '100' - : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)}{' '} -
    - )} -
    - {' '} - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)}{' '} -
    -
    + {((chunkIndex === paginatedChunks.length - 1) && (!shouldFooterBeOnNewPage)) && FormatTheme && + + <> +
    +
    +
    Items :
    +
    Qty :
    + {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) &&
    Off:
    } +
    Amount :
    - - {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)} -
    - - )} -
    - - )} -
    - )} - {/*
    */} - - {/*
    */} - -
    -
    - {GlobaldummyData - ? 'Cash' - : PaymentStatusSuccess?.length === 1 - ? PaymentStatusSuccess?.[0]?.PaymentTypeName - : ''} - Payment :   - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} - /-{' '} -
    +
    +
    {GlobaldummyData ? '7' : totalQuantityFilter?.length}
    +
    {GlobaldummyData ? '9' : totalQuantity}
    + {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) &&
    {GlobaldummyData ? '100' : Number(TotalOfferAmount + table2Data?.OverallDisc).toFixed(2)}
    } +
    {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    +
    -
    -
    -
    - Your Order No : - {GlobaldummyData - ? '01' - : table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} -
    - {PaymentStatusSuccess?.length > 1 && ( - <> - {/*

    Split Payment:

    */} - {Object.keys(aggregatedPayments).map( - (paymentType) => ( -
    - {paymentType}:{' '} - {aggregatedPayments[paymentType].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) => + + + + + + + ) - )} - - )} - {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' && - dinePreference && - table2Data?.SalesTableLinkDetails?.[0] - ?.WaiterName && ( -
    - Captain :{' '} - { - table2Data?.SalesTableLinkDetails?.[0] - ?.WaiterName } -
    - )} - {sportsAppPreference && MembershipApplied && ( -
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    - )} - - - {GlobaldummyData - ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) - : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; - - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed( - 2 - ), - }); - } - } - - if (c.CurrentCreditBal !== 0) { - items.push({ - label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed( - 2 - ), - }); - } - - return items.map((i, idx) => ( -

    - - {i.label} - - - : - - - {i.value} - -

    - )); - })()} -
    - )} - - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    - { -
    - {GlobaldummyData - ? GlobalQrcodet && ( -
    -
    - Pngwing com -
    -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number( - table2Data?.NetAmount - ).toFixed(2)} -
    -
    - ) - : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number( - table2Data?.NetAmount - ).toFixed(2)} -
    -
    - )} -
    +
    + 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)}
    + + } +
    - )} -
    -
    + + } - {/*
    */} +
    )} + {/*
    */} -
    - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    - {GlobaldummyData - ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    + {/*
    */} -
    -
    - ) - : Notestext && ( -
    -

    - {Notestext} -

    -
    -
    - )} +
    +
    {GlobaldummyData ? 'Cash' : PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : ""}Payment :  {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}/-
    +
    + + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)}
    - )} - - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : (
    - {GlobaldummyData - ? GlobaltermsAndConditions && ( -
    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving - the counter. -
    4. -
    -
    - ) - : 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 -

    - -
    - )} + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} +
    + +
    +
    Your Order No :{GlobaldummyData ? '01' : table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
    + {(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" && dinePreference) && (table2Data?.SalesTableLinkDetails?.[0]?.WaiterName) && +
    Captain : {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName}
    } + {(sportsAppPreference && MembershipApplied) &&
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    } +
    - {PrintGreeting?.SettingValue === 'Y' && ( - <> - {/*
    */} -
    - Thank You Visit Again + + {GlobaldummyData ? ( + GlobalCredit && ( +
    +
    Advance Amount:
    +
    Opening Balance:
    - + ) + ) : ( + CreditDetails && + table2Data?.CustomerDetails?.length > 0 && ( +
    + + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; + + if (PaymentStatusSuccess?.[0]?.PaymentTypeName === "Credit") { + if (c.OldCreditBal !== 0) { + items.push({ + label: c.OldCreditBal > 0 ? "Advance Amount" : "Opening Balance", + value: Math.abs(c.OldCreditBal).toFixed(2), + }); + } + } + + if (c.CurrentCreditBal !== 0) { + items.push({ + label: c.CurrentCreditBal > 0 ? "Current Advance Amount" : "Current Balance Amount", + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + {i.label} + : + {i.value} +

    + )); + })()} + +
    + ) )} - - )} + + {(!estimatePrintHeader && table2Data?.OrderType === "E") ? '' : (
    + {
    + {GlobaldummyData ? GlobalQrcodet &&
    +
    + Pngwing com +
    +
    Scan to Pay
    +
    ₹{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    +
    : + (Qrcodet && paymentTypeUPI) && +
    + +
    Scan to Pay
    +
    ₹{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    +
    } +
    } +
    )} +
    +
    + + {/*
    */} + +
    + {(!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. +
    3. Please check the product before leaving the counter.
    4. +
    +
    ) + : + (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 && ( + {shouldFooterBeOnNewPage && FormatTheme &&
    -
    <>
    -
    Items :
    -
    Qty :
    - {(table2Data?.OverallDisc > 0 || - TotalOfferAmount > 0) && ( -
    Off:
    - )} +
    Items :
    +
    Qty :
    + {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) &&
    Off:
    }
    Amount :
    -
    - {GlobaldummyData - ? '7' - : totalQuantityFilter?.length}{' '} -
    -
    - {GlobaldummyData ? '9' : totalQuantity}{' '} -
    - {(table2Data?.OverallDisc > 0 || - TotalOfferAmount > 0) && ( -
    - {GlobaldummyData - ? '100' - : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)}{' '} -
    - )} -
    - {' '} - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)}{' '} -
    +
    {GlobaldummyData ? '7' : totalQuantityFilter?.length}
    +
    {GlobaldummyData ? '9' : totalQuantity}
    + {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) &&
    {GlobaldummyData ? '100' : Number(TotalOfferAmount + table2Data?.OverallDisc).toFixed(2)}
    } +
    {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)} -
    - )} + {(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) && + - {OrderDetailIGST?.length > 0 && - OrderDetailIGST?.[0]?.TaxAmt > 0 && ( - <> -
    -
    - - - - + + + + + + - - {OrderDetailIGST?.map((item) => ( - - - - + Total Amount + + + {OrderDetailGST?.map((item) => + + + + + + + + ) + } +
    - Taxable Amount - - IGST -
    + Taxable Amount + + CGST + + SGST + - - Total Amount -
    - {item?.TaxPercentage || 0}% - - {Number( - item.WithOutTaxAmount - ).toFixed(2)} - - {Number(item.TaxAmt).toFixed(2)} -
    {item?.TaxPercentage || 0}% + {Number(item.WithOutTaxAmount).toFixed(2)} + + {Number(item.CGST).toFixed(2)} + + {Number(item.SGST).toFixed(2)} + {Number(item.TotalAmt).toFixed(2)}
    + } - - {Number(item.TotalAmt).toFixed(2)} - - - ))} - - - )} - {OrderDetailVAT?.length > 0 && - OrderDetailVAT?.[0]?.TaxAmt > 0 && ( - <> -
    - - - - - - - - {OrderDetailVAT?.map((item) => ( - - - - + {(OrderDetailIGST?.length > 0 && OrderDetailIGST?.[0]?.TaxAmt > 0) && + <> +
    +
    - Taxable Amount - - VAT - - Total Amount -
    - {item?.TaxPercentage || 0}% - - {Number( - item.WithOutTaxAmount - ).toFixed(2)} - - {Number(item.TaxAmt).toFixed(2)} -
    - - - ))} -
    - {Number(item.TotalAmt).toFixed(2)} -
    - - )} -
    - - )} -
    + + + + Taxable Amount + + + IGST + + + + + Total Amount + + + {OrderDetailIGST?.map((item) => + + {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)}
    + + } + +
    + + } + +
    )}
    {/*
    */} -
    -
    - {GlobaldummyData - ? 'Cash' - : PaymentStatusSuccess?.length === 1 - ? PaymentStatusSuccess?.[0]?.PaymentTypeName - : ''} - Payment :   - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} - /-{' '} -
    + +
    +
    {GlobaldummyData ? 'Cash' : PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : ""}Payment :  {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}/-
    -
    -
    -
    - Your Order No : - {GlobaldummyData - ? '01' - : table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    - {PaymentStatusSuccess?.length > 1 && ( +
    + )} + +
    + +
    +
    Your Order No :{GlobaldummyData ? '01' : table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
    + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} - {Object.keys(aggregatedPayments).map( - (paymentType) => ( -
    - {paymentType}:{' '} - {aggregatedPayments[paymentType].toFixed(2)} -
    - ) - )} + {Object.keys(aggregatedPayments).map((paymentType) => ( +
    + {paymentType}: {aggregatedPayments[paymentType].toFixed(2)} +
    + ))} )} - {GlobaldummyData && GlobalCashierName && ( -
    - Cashier : Cashier Name + {GlobaldummyData && GlobalCashierName && +
    Cashier : Cashier Name
    - )} - {CashierName && - CashierName !== undefined && - CashierName !== null && - !GlobaldummyData && - CashierNameField && ( -
    - Cashier : {CashierName} -
    - )} - {GlobaldummyData && ( -
    - {' '} - Customer : Customer Name + } + {CashierName && CashierName !== undefined && CashierName !== null && !GlobaldummyData && CashierNameField && +
    Cashier : {CashierName}
    - )} - {table2Data?.CustSuppName && - table2Data?.CustSuppName !== undefined && - table2Data?.CustSuppName !== null && - !GlobaldummyData && ( -
    - Customer : {table2Data?.CustSuppName} -
    - )} + } + {GlobaldummyData && +
    Customer : Customer Name
    - {table2Data?.BookingTypeName === 'Dine In' && - dinePreference && - table2Data?.SalesTableLinkDetails?.[0]?.WaiterName && ( -
    - Captain :{' '} - {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName} -
    - )} - {sportsAppPreference && MembershipApplied && ( -
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    - )} + } + {table2Data?.CustSuppName && table2Data?.CustSuppName !== undefined && table2Data?.CustSuppName !== null && !GlobaldummyData && +
    Customer : {table2Data?.CustSuppName} +
    + } + + {(table2Data?.BookingTypeName === "Dine In" && dinePreference) && (table2Data?.SalesTableLinkDetails?.[0]?.WaiterName) && +
    Captain : {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName}
    } + {(sportsAppPreference && MembershipApplied) &&
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    }
    - {GlobaldummyData - ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) - : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } + {GlobaldummyData ? ( + GlobalCredit && ( +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) + ) : ( + CreditDetails && + table2Data?.CustomerDetails?.length > 0 && ( +
    - if (c.CurrentCreditBal !== 0) { + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; + + if (PaymentStatusSuccess?.[0]?.PaymentTypeName === "Credit") { + if (c.OldCreditBal !== 0) { items.push({ - label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed( - 2 - ), + label: c.OldCreditBal > 0 ? "Advance Amount" : "Opening Balance", + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - - {i.label} - - : - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: c.CurrentCreditBal > 0 ? "Current Advance Amount" : "Current Balance Amount", + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    - {GlobaldummyData - ? GlobalQrcodet && ( -
    ( +

    -

    - Pngwing com -
    -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - ) - : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - )} -
    - )} -
    - {/*
    */} + {i.label} + : + {i.value} +

    + )); + })()} -
    - -
    - {!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. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) - : 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 -
    - - )} - -
    -
    - )} -
    - ) : ( -
    - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    -
    - {GlobaldummyData && GlobalLogo ? ( - image - ) : null} - {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( - image - ) : null} -
    - {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName} -
    -
    - -
    - {' '} - {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 - : '')} - {table2Data?.BrGSTIN && ( -
    - GST NO : - {GlobaldummyData - ? '334bhbsagbysfgbfgbu' - : table2Data?.BrGSTIN} - , -
    - )} -
    - {' '} - Mobile : +91{' '} - {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile} -
    - {table2Data?.OrderType === 'E' && ( -
    - Estimate Bill{' '} - {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'})`} -
    - )} -
    -
    - )} - - {!estimatePrintHeader && table2Data?.OrderType === 'E' && ( -
    - Estimate Bill{' '} - {SalesModePref?.SettingValue == 'Y' && - `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`} -
    - )} -
    -
    -
    -
    - {' '} - BILL NO : - {GlobaldummyData - ? '51' - : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )}{' '} -
    -
    - {' '} - {GlobaldummyData ? formattedDate : Date1} -
    -
    -
    -
    -
    - {(TakeawayData?.length > 0 || GlobaldummyData) && ( -
    - {takeAwayPreference && ( -
    - TakeAway -
    - )} -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - S.No -
    - ) - : SLNO && ( -
    - S.No -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - ITEM -
    - ) - : Item && ( -
    - ITEM -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - HSN -
    - ) - : HsnCode && ( -
    - HSN -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - MRP -
    - ) - : MRP && ( -
    - MRP -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - QTY -
    - ) - : Quantity && ( -
    - {' '} - {WeightasKg ? 'QTY/KG' : 'QTY'} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - RATE -
    - ) - : Rate && ( -
    - RATE -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) - : Discount && ( -
    - DIS{' '} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - TAX % -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - TAX % -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - AMT -
    - ) - : Amount && ( -
    - AMT -
    - )} -
    - -
    - {(GlobaldummyData ? products : TakeawayData)?.map( - (item, index) => ( -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - {index + 1} -
    - ) - : SLNO && ( -
    - {index + 1} -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - {item?.ProdName} -
    - ) - : Item && ( -
    -
    {item?.ProdName}
    -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - )} -  {' '} - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
    {a.SerialNumber}
    ; - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) - : HsnCode && ( -
    - {item?.HSN} -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) - : MRP && ( -
    - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - {item?.SalesQty} -
    - ) - : Quantity && ( -
    - {item?.SalesQty} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - {item?.Rate} -
    - ) - : Rate && ( -
    - {item?.Rate} -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) - : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - {item?.ProdTaxPercentage || 0} -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) - : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} -
    - ) - )} -
    -
    - )} - {DineInData?.length > 0 && dinePreference && ( -
    -
    - Dine In -
    -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - S.No -
    - ) - : SLNO && ( -
    - S.No -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - ITEM -
    - ) - : Item && ( -
    - ITEM -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - HSN -
    - ) - : HsnCode && ( -
    - HSN -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - MRP -
    - ) - : MRP && ( -
    - MRP -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - QTY -
    - ) - : Quantity && ( -
    - {WeightasKg ? 'QTY/KG' : 'QTY'} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - RATE -
    - ) - : Rate && ( -
    - RATE -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) - : Discount && ( -
    - DIS{' '} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - TAX % -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - TAX % -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - AMT -
    - ) - : Amount && ( -
    - AMT -
    - )} -
    - -
    - {(GlobaldummyData ? products : DineInData)?.map( - (item, index) => ( -
    - {GlobaldummyData - ? GlobalSlNo && ( -
    - {index + 1} -
    - ) - : SLNO && ( -
    - {index + 1} -
    - )} - {GlobaldummyData - ? GlobalItem && ( -
    - {item?.ProdName} -
    - ) - : Item && ( -
    -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    -
    - )} - {GlobaldummyData - ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) - : HsnCode && ( -
    - {item?.HSN} -
    - )} - {GlobaldummyData - ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) - : MRP && ( -
    - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} -
    - )} - {GlobaldummyData - ? GlobalQuantity && ( -
    - {item?.SalesQty} -
    - ) - : Quantity && ( -
    - {item?.SalesQty} -
    - )} - {GlobaldummyData - ? GlobalRate && ( -
    - {item?.Rate} -
    - ) - : Rate && ( -
    - {item?.Rate} -
    - )} - {GlobaldummyData - ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) - : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} - {GlobaldummyData - ? GlobalTax && ( -
    - {item?.ProdTaxPercentage || 0} -
    - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} - {GlobaldummyData - ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) - : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} -
    - ) - )} -
    -
    - )} -
    - -
    - {DineInData?.length > 0 && TakeawayData?.length > 0 && ( -
    - {takeAwayPreference && ( -
    Takeaway: {Number(TakeawayTotal).toFixed(2)}
    - )} - {dinePreference && ( -
    Dine In: {Number(DineInTotal).toFixed(2)}
    - )} -
    -
    - )} - {/*
    */} -
    -
    -
    Items :
    -
    Qty :
    - {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    Off:
    - )} -
    Amount :
    -
    -
    -
    - {GlobaldummyData ? '7' : totalQuantityFilter?.length}{' '} -
    -
    - {GlobaldummyData ? '9' : totalQuantity}{' '} -
    - {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - {GlobaldummyData - ? '100' - : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)}{' '} -
    - )} -
    - {' '} - {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)} -
    - - )} -
    - - )} -
    - )} -
    - - {/*
    */} - -
    -
    - {GlobaldummyData - ? 'Cash' - : PaymentStatusSuccess?.length === 1 - ? PaymentStatusSuccess?.[0]?.PaymentTypeName - : ''} - Payment :   - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} - /-{' '} -
    -
    - - {GlobaldummyData - ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) - : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; - - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { - items.push({ - label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed(2), - }); - } - - return items.map((i, idx) => ( -

    - {i.label} - : - {i.value} -

    - )); - })()} -
    - )} -
    -
    -
    - Your Order No : - {GlobaldummyData - ? '01' - : table2Data?.SalesId && - extractLastNumber(table2Data?.SalesId)} -
    - {PaymentStatusSuccess?.length > 1 && ( - <> - {/*

    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' && dinePreference && ( -
    - Captain : {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName} -
    - )} - {sportsAppPreference && MembershipApplied && ( -
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    - )} -
    - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    - {GlobaldummyData - ? GlobalQrcodet && ( -
    -
    + {(!estimatePrintHeader && table2Data?.OrderType === "E") ? '' : (
    + {GlobaldummyData ? GlobalQrcodet &&
    +
    Pngwing com
    -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - ) - : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    -
    - )} +
    Scan to Pay
    +
    ₹{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    +
    : + (Qrcodet && paymentTypeUPI) && +
    + +
    Scan to Pay
    +
    ₹{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    +
    } +
    )} +
    + {/*
    */} + +
    + +
    + {(!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. +
    3. Please check the product before leaving the counter.
    4. +
    +
    ) + : + (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
    + + } + +
    - )} +
    + } +
    + + : +
    + + {((!estimatePrintHeader && table2Data?.OrderType === "E") ? '' :
    +
    + {GlobaldummyData && GlobalLogo ? image : null} + {(base64Image && (PrintLogo?.SettingValue === "Y" || LogoField)) ? image : null} +
    {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName}
    +
    + +
    {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 : '')} + + {table2Data?.BrGSTIN &&
    GST NO :{GlobaldummyData ? '334bhbsagbysfgbfgbu' : table2Data?.BrGSTIN},
    } +
    Mobile : +91 {GlobaldummyData ? '986XXXXXXX' : table2Data?.BrMobile}
    + {table2Data?.OrderType === "E" &&
    Estimate Bill {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'})`}
    } +
    +
    )} + + {(!estimatePrintHeader && table2Data?.OrderType === "E") &&
    Estimate Bill {SalesModePref?.SettingValue == 'Y' && `(${table2Data?.SalesMode ? table2Data?.SalesMode : 'R'})`}
    } +
    +
    +
    +
    BILL NO :{GlobaldummyData ? '51' : table2Data?.OrderId && extractLastNumberOrderId(table2Data?.OrderId, table2Data?.FYStatus)}
    +
    {GlobaldummyData ? formattedDate : Date1}
    +
    +
    +
    +
    + {(TakeawayData?.length > 0 || GlobaldummyData) && +
    + {takeAwayPreference &&
    TakeAway
    } +
    + {GlobaldummyData ? GlobalSlNo &&
    S.No
    : SLNO &&
    S.No
    } + {GlobaldummyData ? GlobalItem &&
    ITEM
    : Item &&
    ITEM
    } + {GlobaldummyData ? GlobalHsnCode &&
    HSN
    : HsnCode &&
    HSN
    } + {GlobaldummyData ? GlobalMRP &&
    MRP
    : MRP &&
    MRP
    } + {GlobaldummyData ? GlobalQuantity &&
    QTY
    : Quantity &&
    {WeightasKg ? 'QTY/KG' : 'QTY'}
    } + {GlobaldummyData ? GlobalRate &&
    RATE
    : Rate &&
    RATE
    } + {GlobaldummyData ? GlobalDiscount &&
    DIS
    : Discount &&
    DIS
    } + {GlobaldummyData ? GlobalTax && (
    TAX %
    ) : (Tax == true && table2Data?.OrderType !== 'E') && (
    TAX %
    )} + {GlobaldummyData ? GlobalAmount &&
    AMT
    : Amount &&
    AMT
    } +
    + +
    + {(GlobaldummyData ? products : TakeawayData)?.map((item, index) => ( +
    + {GlobaldummyData ? GlobalSlNo &&
    {index + 1}
    : SLNO &&
    {index + 1}
    } + {GlobaldummyData ? GlobalItem &&
    {item?.ProdName}
    : Item && +
    +
    {item?.ProdName}
    +
    + {(PackageDetails?.filter((pkg) => pkg.ProdId === item.ProdId).length > 0 ?
    + {PackageDetails?.filter((pkg) => pkg.ProdId === item.ProdId)?.map((item, index) => ( + + {item.ParcelCount} PCS {item.ParcelQty} PACK ({item.ParcelType}) + + ))} +
    + :
    + ({item?.Size ? item?.Size : "1"}{" "} + {item?.SinglePc == "Y" + ? "PCS" + : item?.Type != "C" + ? item?.UomName + : "COMBO"} + ) +
    )} +   {item?.BrandName !== null ? item?.BrandName : ""}  + {item?.ProductIdentifierDtls?.length > 0 ? (item?.ProductIdentifierDtls?.filter((items) => !(items.SerialNumber == "" || items.SerialNumber == null)) + ?.map(a => { return (
    {a.SerialNumber}
    ) })) : ""} {item?.ProductIdentifierDtls?.length > 0 ? item?.ProductIdentifierDtls.filter((item1) => item1.IMEI1 !== "" || item1.IMEI2 !== "") + ?.map(item2 => { + const imei1 = item2.IMEI1 || ""; + const imei2 = item2.IMEI2 || ""; + return (
    {[imei1, imei2].filter(Boolean).join(",")}
    ); + } + ) : ""} +
    +
    } + {GlobaldummyData ? GlobalHsnCode &&
    {item?.HSN}
    : HsnCode &&
    {item?.HSN}
    } + {GlobaldummyData ? GlobalMRP &&
    {item?.MRP}
    : MRP &&
    {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP}
    } + {GlobaldummyData ? GlobalQuantity &&
    {item?.SalesQty}
    : Quantity &&
    {item?.SalesQty}
    } + {GlobaldummyData ? GlobalRate &&
    {item?.Rate}
    : Rate &&
    {item?.Rate}
    } + {GlobaldummyData ? GlobalDiscount &&
    {item?.discount}
    : Discount &&
    {item?.Type != "C" ? item?.OfferAmt || 0 : item?.OfferValue || 0}
    } + {GlobaldummyData ? GlobalTax &&
    {item?.ProdTaxPercentage || 0}
    : (Tax == true && table2Data?.OrderType !== 'E') && (
    {item?.ProdTaxPercentage || 0}
    )} + {GlobaldummyData ? GlobalAmount &&
    {item?.TotalAmt}
    : Amount &&
    {item?.Type != "C" ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
    } +
    + ))} +
    +
    + } + {(DineInData?.length > 0 && dinePreference) && +
    +
    Dine In
    +
    + {GlobaldummyData ? GlobalSlNo &&
    S.No
    : SLNO &&
    S.No
    } + {GlobaldummyData ? GlobalItem &&
    ITEM
    : Item &&
    ITEM
    } + {GlobaldummyData ? GlobalHsnCode &&
    HSN
    : HsnCode &&
    HSN
    } + {GlobaldummyData ? GlobalMRP &&
    MRP
    : MRP &&
    MRP
    } + {GlobaldummyData ? GlobalQuantity &&
    QTY
    : Quantity &&
    {WeightasKg ? 'QTY/KG' : 'QTY'}
    } + {GlobaldummyData ? GlobalRate &&
    RATE
    : Rate &&
    RATE
    } + {GlobaldummyData ? GlobalDiscount &&
    DIS
    : Discount &&
    DIS
    } + {GlobaldummyData ? GlobalTax && (
    TAX %
    ) : (Tax == true && table2Data?.OrderType !== 'E') && (
    TAX %
    )} + {GlobaldummyData ? GlobalAmount &&
    AMT
    : Amount &&
    AMT
    } +
    + +
    + {(GlobaldummyData ? products : DineInData)?.map((item, index) => ( +
    + {GlobaldummyData ? GlobalSlNo &&
    {index + 1}
    : SLNO &&
    {index + 1}
    } + {GlobaldummyData ? GlobalItem &&
    {item?.ProdName}
    : Item && +
    +
    {item?.ProdName}
    +
    ({item?.Size ? item?.Size : "1"} {item?.SinglePc == 'Y' ? 'PCS' : item?.Type != "C" ? item?.UomName : "COMBO"})
    +
    } + {GlobaldummyData ? GlobalHsnCode &&
    {item?.HSN}
    : HsnCode &&
    {item?.HSN}
    } + {GlobaldummyData ? GlobalMRP &&
    {item?.MRP}
    : MRP &&
    {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP}
    } + {GlobaldummyData ? GlobalQuantity &&
    {item?.SalesQty}
    : Quantity &&
    {item?.SalesQty}
    } + {GlobaldummyData ? GlobalRate &&
    {item?.Rate}
    : Rate &&
    {item?.Rate}
    } + {GlobaldummyData ? GlobalDiscount &&
    {item?.discount}
    : Discount &&
    {item?.Type != "C" ? item?.OfferAmt || 0 : item?.OfferValue || 0}
    } + {GlobaldummyData ? GlobalTax &&
    {item?.ProdTaxPercentage || 0}
    : (Tax == true && table2Data?.OrderType !== 'E') && (
    {item?.ProdTaxPercentage || 0}
    )} + {GlobaldummyData ? GlobalAmount &&
    {item?.TotalAmt}
    : Amount &&
    {item?.Type != "C" ? item?.TotalAmt - item?.OfferAmt || 0 : item?.TotalAmt - item?.OfferValue || 0}
    } +
    + ))} +
    +
    + } +
    + +
    + {(DineInData?.length > 0 && TakeawayData?.length > 0) && +
    + {takeAwayPreference &&
    Takeaway: {Number(TakeawayTotal).toFixed(2)}
    } + {dinePreference &&
    Dine In: {Number(DineInTotal).toFixed(2)}
    } +
    +
    + } + {/*
    */} +
    +
    +
    Items :
    +
    Qty :
    + {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) &&
    Off:
    } +
    Amount :
    +
    +
    +
    {GlobaldummyData ? '7' : totalQuantityFilter?.length}
    +
    {GlobaldummyData ? '9' : totalQuantity}
    + {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) &&
    {GlobaldummyData ? '100' : Number(TotalOfferAmount + table2Data?.OverallDisc).toFixed(2)}
    } +
    {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)}
    + + } + +
    + + } + +
    + )} +
    + + {/*
    */} + + +
    +
    {GlobaldummyData ? 'Cash' : PaymentStatusSuccess?.length === 1 ? PaymentStatusSuccess?.[0]?.PaymentTypeName : ""}Payment :  {GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}/-
    +
    + + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} + + {GlobaldummyData ? ( + GlobalCredit && ( +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) + ) : ( + CreditDetails && + table2Data?.CustomerDetails?.length > 0 && ( +
    + + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; + + if (PaymentStatusSuccess?.[0]?.PaymentTypeName === "Credit") { + if (c.OldCreditBal !== 0) { + items.push({ + label: c.OldCreditBal > 0 ? "Advance Amount" : "Opening Balance", + value: Math.abs(c.OldCreditBal).toFixed(2), + }); + } + } + + if (c.CurrentCreditBal !== 0) { + items.push({ + label: c.CurrentCreditBal > 0 ? "Current Advance Amount" : "Current Balance Amount", + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + {i.label} + : + {i.value} +

    + )); + })()} + +
    + ) + )} +
    + +
    +
    Your Order No :{GlobaldummyData ? '01' : table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
    + {(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" && dinePreference) && +
    Captain : {table2Data?.SalesTableLinkDetails?.[0]?.WaiterName}
    } + {(sportsAppPreference && MembershipApplied) &&
    {`*** Membership ${table2Data?.NetAmount === 0 ? 'Free Hours' : 'Discount'} Utilized - ${MembershipApplied?.Detail?.[0]?.MembershipName} ***`}
    } + +
    + {((!estimatePrintHeader && table2Data?.OrderType === "E") ? '' :
    + {GlobaldummyData ? GlobalQrcodet &&
    +
    + Pngwing com +
    +
    Scan to Pay
    +
    ₹{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    +
    : + (Qrcodet && paymentTypeUPI) && +
    + +
    Scan to Pay
    +
    ₹{GlobaldummyData ? '1,066' : Number(table2Data?.NetAmount).toFixed(2)}
    +
    } +
    )}
    {/*
    */}
    -
    - {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( - '' - ) : ( -
    - {GlobaldummyData - ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    + {(!estimatePrintHeader && table2Data?.OrderType === "E") ? '' :
    + {GlobaldummyData ? GlobalIsnotes && + (
    +

    Notes : 10 days Return policy

    -
    -
    - ) - : Notestext && ( -
    -

    {Notestext}

    +
    +
    ) : + Notestext && (
    +

    {Notestext}

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

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not exchangeable or - refundable. -
    2. -
    3. - Please check the product before leaving the counter. -
    4. -
    -
    - ) - : 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 -

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

    + Terms & Conditions +

    +
      +
    1. Once goods are sold, they are not exchangeable or refundable.
    2. +
    3. Please check the product before leaving the counter.
    4. +
    +
    ) + : + (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' && ( + + {PrintGreeting?.SettingValue === "Y" && <> {/*
    */} -
    - Thank You Visit Again -
    +
    Thank You Visit Again
    - )} + } {/*
    print
    */} -
    - )} +
    } ); -}; +} -export default PrintStyle3; +export default PrintStyle3; \ No newline at end of file diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle4.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle4.jsx index 2aaebc9..994362e 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle4.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle4.jsx @@ -151,6 +151,17 @@ const Printstyle4 = ({ let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); + 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 keysLength = Object.keys(table2Data ?? {}).length; if (keysLength > 0) { @@ -352,8 +363,8 @@ const Printstyle4 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: isMobile @@ -403,7 +414,7 @@ const Printstyle4 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? (
    {' '} @@ -476,10 +487,10 @@ const Printstyle4 = ({ {GlobaldummyData ? '51' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    {/*
    {GlobaldummyData ? formattedDate : Date1}
    */}
    @@ -541,23 +552,23 @@ const Printstyle4 = ({ {GlobaldummyData ? GlobalSlNo && ( - # - ) + # + ) : SLNO && #} {GlobaldummyData ? GlobalItem && Item : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -682,187 +693,187 @@ const Printstyle4 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => - pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => + pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} - {( - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (items) => - items.SerialNumber - ) - .map( - (a, index) => - ` ${a.SerialNumber}` - ) - .join('') - : '') + - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 || item1.IMEI2 - ) - .map((item2, index) => { - const imei1 = - item2.IMEI1 || ''; - const imei2 = - item2.IMEI2 || ''; - return ` ${[imei1, imei2].filter(Boolean).join(',')}`; - }) - .join('') - : '') - ).trim()} -
    - ) : ( -
    - {( - (item?.Size || '1') + - (item?.SinglePc === 'Y' - ? ' PCS' - : item?.Type !== 'C' - ? ` ${item?.UomName}` - : ' COMBO') + - (item?.BrandName - ? ` ${item?.BrandName}` - : '') + - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (items) => - items.SerialNumber - ) - .map( - (a, index) => - ` ${a.SerialNumber}` - ) - .join('') - : '') + - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 || item1.IMEI2 - ) - .map((item2, index) => { - const imei1 = - item2.IMEI1 || ''; - const imei2 = - item2.IMEI2 || ''; - return ` ${[imei1, imei2].filter(Boolean).join(',')}`; - }) - .join('') - : '') - ).trim()} -
    - )} - - )} + {( + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (items) => + items.SerialNumber + ) + .map( + (a, index) => + ` ${a.SerialNumber}` + ) + .join('') + : '') + + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 || item1.IMEI2 + ) + .map((item2, index) => { + const imei1 = + item2.IMEI1 || ''; + const imei2 = + item2.IMEI2 || ''; + return ` ${[imei1, imei2].filter(Boolean).join(',')}`; + }) + .join('') + : '') + ).trim()} +
    + ) : ( +
    + {( + (item?.Size || '1') + + (item?.SinglePc === 'Y' + ? ' PCS' + : item?.Type !== 'C' + ? ` ${item?.UomName}` + : ' COMBO') + + (item?.BrandName + ? ` ${item?.BrandName}` + : '') + + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (items) => + items.SerialNumber + ) + .map( + (a, index) => + ` ${a.SerialNumber}` + ) + .join('') + : '') + + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 || item1.IMEI2 + ) + .map((item2, index) => { + const imei1 = + item2.IMEI1 || ''; + const imei2 = + item2.IMEI2 || ''; + return ` ${[imei1, imei2].filter(Boolean).join(',')}`; + }) + .join('') + : '') + ).trim()} +
    + )} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -889,138 +900,138 @@ const Printstyle4 = ({ {GlobaldummyData ? GlobalSlNo && ( - # - ) + # + ) : SLNO && #} {GlobaldummyData ? GlobalItem && Item : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - Qty - - )} + + Qty + + )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -1030,117 +1041,117 @@ const Printstyle4 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage || 0} - - ) + + {item?.ProdTaxPercentage || 0} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -1409,17 +1420,17 @@ const Printstyle4 = ({ ' hundred' + (num % 100 ? ' ' + - (num % 100 < 20 - ? ones[num % 100] - : tens[ - Math.floor( - (num % 100) / 10 - ) - ] + - (num % 10 - ? ' ' + - ones[num % 10] - : '')) + (num % 100 < 20 + ? ones[num % 100] + : tens[ + Math.floor( + (num % 100) / 10 + ) + ] + + (num % 10 + ? ' ' + + ones[num % 10] + : '')) : '') ); return num.toString(); @@ -1638,86 +1649,126 @@ const Printstyle4 = ({ /-{' '}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed( - 2 - ), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - - {i.label} - - : - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed( + 2 + ), + }); + } + + return items.map((i, idx) => ( +

    + + {i.label} + + : + + {i.value} + +

    + )); + })()} +
    + )} {/*
    */}
    {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( @@ -1726,59 +1777,59 @@ const Printstyle4 = ({
    {GlobaldummyData ? GlobalQrcodet && ( -
    - image -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed( - 2 - )} -
    +
    + image +
    + Scan to Pay{' '}
    - ) +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed( + 2 + )} +
    +
    + ) : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed( - 2 - )} -
    + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '}
    - )} +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed( + 2 + )} +
    +
    + )}
    )} @@ -1790,7 +1841,7 @@ const Printstyle4 = ({ extractLastNumber(table2Data?.SalesId)}
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -1810,6 +1861,7 @@ const Printstyle4 = ({ )} )} + {GlobaldummyData && GlobalCashierName && (
    {' '} @@ -1883,28 +1935,28 @@ const Printstyle4 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -1924,137 +1976,137 @@ const Printstyle4 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving - the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )}
    @@ -2330,16 +2382,16 @@ const Printstyle4 = ({ ' hundred' + (num % 100 ? ' ' + - (num % 100 < 20 - ? ones[num % 100] - : tens[ - Math.floor( - (num % 100) / 10 - ) - ] + - (num % 10 - ? ' ' + ones[num % 10] - : '')) + (num % 100 < 20 + ? ones[num % 100] + : tens[ + Math.floor( + (num % 100) / 10 + ) + ] + + (num % 10 + ? ' ' + ones[num % 10] + : '')) : '') ); return num.toString(); @@ -2558,84 +2610,124 @@ const Printstyle4 = ({ /-{' '}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed(2), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - - {i.label} - - : - - {i.value} - -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + + {i.label} + + : + + {i.value} + +

    + )); + })()} +
    + )}
    {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( @@ -2644,55 +2736,55 @@ const Printstyle4 = ({
    {GlobaldummyData ? GlobalQrcodet && ( -
    - image -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + image +
    + Scan to Pay{' '}
    - ) +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + ) : Qrcodet && - paymentTypeUPI && ( -
    - -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '}
    - )} +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + )}
    )}
    @@ -2703,7 +2795,7 @@ const Printstyle4 = ({ extractLastNumber(table2Data?.SalesId)}
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -2796,28 +2888,28 @@ const Printstyle4 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -2837,137 +2929,137 @@ const Printstyle4 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )}
    @@ -3050,18 +3142,18 @@ const Printstyle4 = ({ {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 - : '')} + (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 + : '')}
    {' '} @@ -3093,10 +3185,10 @@ const Printstyle4 = ({ {GlobaldummyData ? '51' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}
    @@ -3159,48 +3251,48 @@ const Printstyle4 = ({ : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - Qty - - )} + + Qty + + )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {/* {GlobaldummyData ? GlobalTax && ( - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -3258,114 +3350,114 @@ const Printstyle4 = ({ {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    - - )} + +
    {item?.ProdName}
    + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} + + {item?.SalesQty} +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} - {( - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (items) => items.SerialNumber - ) - .map( - (a, index) => - ` ${a.SerialNumber}` - ) - .join('') - : '') + - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 || item1.IMEI2 - ) - .map((item2, index) => { - const imei1 = - item2.IMEI1 || ''; - const imei2 = - item2.IMEI2 || ''; - return ` ${[imei1, imei2].filter(Boolean).join(',')}`; - }) - .join('') - : '') - ).trim()} -
    - ) : ( -
    - {( - (item?.Size || '1') + - (item?.SinglePc === 'Y' - ? ' PCS' - : item?.Type !== 'C' - ? ` ${item?.UomName}` - : ' COMBO') + - (item?.BrandName - ? ` ${item?.BrandName}` - : '') + - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (items) => items.SerialNumber - ) - .map( - (a, index) => - ` ${a.SerialNumber}` - ) - .join('') - : '') + - (item?.ProductIdentifierDtls - ?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 || item1.IMEI2 - ) - .map((item2, index) => { - const imei1 = - item2.IMEI1 || ''; - const imei2 = - item2.IMEI2 || ''; - return ` ${[imei1, imei2].filter(Boolean).join(',')}`; - }) - .join('') - : '') - ).trim()} -
    - )} -
    - - ) + {( + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (items) => items.SerialNumber + ) + .map( + (a, index) => + ` ${a.SerialNumber}` + ) + .join('') + : '') + + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 || item1.IMEI2 + ) + .map((item2, index) => { + const imei1 = + item2.IMEI1 || ''; + const imei2 = + item2.IMEI2 || ''; + return ` ${[imei1, imei2].filter(Boolean).join(',')}`; + }) + .join('') + : '') + ).trim()} +
    + ) : ( +
    + {( + (item?.Size || '1') + + (item?.SinglePc === 'Y' + ? ' PCS' + : item?.Type !== 'C' + ? ` ${item?.UomName}` + : ' COMBO') + + (item?.BrandName + ? ` ${item?.BrandName}` + : '') + + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (items) => items.SerialNumber + ) + .map( + (a, index) => + ` ${a.SerialNumber}` + ) + .join('') + : '') + + (item?.ProductIdentifierDtls + ?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 || item1.IMEI2 + ) + .map((item2, index) => { + const imei1 = + item2.IMEI1 || ''; + const imei2 = + item2.IMEI2 || ''; + return ` ${[imei1, imei2].filter(Boolean).join(',')}`; + }) + .join('') + : '') + ).trim()} +
    + )} +
    + + ) : Quantity && ( - - {item?.SalesQty} - {/*
    + + {item?.SalesQty} + {/*
    {PackageDetails?.filter( (pkg) => pkg.ProdId === item.ProdId ).length > 0 ? ( @@ -3454,119 +3546,119 @@ const Printstyle4 = ({
    )}
    */} - - )} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - {GlobaldummyData - ? GlobalTax && ( - - {/* */} - - GST:{' '} - {' '} - {item?.ProdTaxPercentage || 0} - - ) - : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {/* */} - - GST:{' '} - {' '} - {item?.ProdTaxPercentage || 0} - - )} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + {GlobaldummyData + ? GlobalTax && ( + + {/* */} + + GST:{' '} + {' '} + {item?.ProdTaxPercentage || 0} + + ) + : Tax == true && + table2Data?.OrderType !== 'E' && ( + + {/* */} + + GST:{' '} + {' '} + {item?.ProdTaxPercentage || 0} + + )} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -3600,48 +3692,48 @@ const Printstyle4 = ({ : Item && Item} {GlobaldummyData ? GlobalQuantity && ( - - Qty - - ) + + Qty + + ) : Quantity && ( - - Qty - - )} + + Qty + + )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {/* {GlobaldummyData ? GlobalTax && ( - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -3699,118 +3791,118 @@ const Printstyle4 = ({ {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item && ( - -
    {item?.ProdName}
    - - )} + +
    {item?.ProdName}
    + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - ) + + {item?.SalesQty} +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + ) : Quantity && ( - - {item?.SalesQty} -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - - )} + + {item?.SalesQty} +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage || 0} - - ) + + {item?.ProdTaxPercentage || 0} + + ) : Tax == true && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -4047,14 +4139,14 @@ const Printstyle4 = ({ ' hundred' + (num % 100 ? ' ' + - (num % 100 < 20 - ? ones[num % 100] - : tens[ - Math.floor((num % 100) / 10) - ] + - (num % 10 - ? ' ' + ones[num % 10] - : '')) + (num % 100 < 20 + ? ones[num % 100] + : tens[ + Math.floor((num % 100) / 10) + ] + + (num % 10 + ? ' ' + ones[num % 10] + : '')) : '') ); return num.toString(); @@ -4269,81 +4361,121 @@ const Printstyle4 = ({ /-{' '}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {(() => { - const c = table2Data.CustomerDetails[0]; - const items = []; + table2Data?.CustomerDetails?.length > 0 && ( +
    + {(() => { + const c = table2Data.CustomerDetails[0]; + const items = []; - if ( - PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' - ) { - if (c.OldCreditBal !== 0) { - items.push({ - label: - c.OldCreditBal > 0 - ? 'Advance Amount' - : 'Opening Balance', - value: Math.abs(c.OldCreditBal).toFixed(2), - }); - } - } - - if (c.CurrentCreditBal !== 0) { + if ( + PaymentStatusSuccess?.[0]?.PaymentTypeName === 'Credit' + ) { + if (c.OldCreditBal !== 0) { items.push({ label: - c.CurrentCreditBal > 0 - ? 'Current Advance Amount' - : 'Current Balance Amount', - value: Math.abs(c.CurrentCreditBal).toFixed(2), + c.OldCreditBal > 0 + ? 'Advance Amount' + : 'Opening Balance', + value: Math.abs(c.OldCreditBal).toFixed(2), }); } + } - return items.map((i, idx) => ( -

    - {i.label} - : - {i.value} -

    - )); - })()} -
    - )} + if (c.CurrentCreditBal !== 0) { + items.push({ + label: + c.CurrentCreditBal > 0 + ? 'Current Advance Amount' + : 'Current Balance Amount', + value: Math.abs(c.CurrentCreditBal).toFixed(2), + }); + } + + return items.map((i, idx) => ( +

    + {i.label} + : + {i.value} +

    + )); + })()} +
    + )}
    {!estimatePrintHeader && table2Data?.OrderType === 'E' ? ( @@ -4352,61 +4484,62 @@ const Printstyle4 = ({
    {GlobaldummyData ? GlobalQrcodet && ( -
    - image -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + image +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - ) +
    + ) : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}
    )}
    + {/*
    Scan to Pay
    */}
    YOUR ORDER NO: {table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -4420,6 +4553,7 @@ const Printstyle4 = ({ ))} )} + {GlobaldummyData && GlobalCashierName && (
    {' '} @@ -4489,21 +4623,21 @@ const Printstyle4 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    )} @@ -4523,136 +4657,136 @@ const Printstyle4 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not exchangeable or - refundable. -
    2. -
    3. - Please check the product before leaving the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )}
    diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle5.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle5.jsx index 8dc92f9..9ddf38c 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle5.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle5.jsx @@ -80,7 +80,7 @@ const PrintStyle5 = ({ const CashierNameField = FieldDetails?.['CashierName']; const LogoField = FieldDetails?.['Logo']; const CreditDetails = FieldDetails?.['Credit details']; - const WeightasKg = FieldDetails?.['Weight']; + const WeightasKg = FieldDetails?.['Weight']; const GlobalSlNo = useSelector(GlobalprintSlNo); const GlobalItem = useSelector(GlobalprintItem); const GlobalMRP = useSelector(GlobalprintMRP); @@ -141,6 +141,17 @@ const PrintStyle5 = ({ let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); + 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 keysLength = Object.keys(table2Data ?? {}).length; if (keysLength > 0) { dispatch(changeReprintDataFound(true)); @@ -326,8 +337,8 @@ const PrintStyle5 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: isMobile @@ -374,7 +385,7 @@ const PrintStyle5 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? (
    {' '} @@ -470,10 +481,10 @@ const PrintStyle5 = ({ {GlobaldummyData ? '553' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )}{' '} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}{' '}
    {' '}
    @@ -511,15 +522,15 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - S.No -
    - ) +
    + S.No +
    + ) : SLNO && ( -
    - S.No -
    - )} +
    + S.No +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -540,78 +551,78 @@ const PrintStyle5 = ({ : Item && 'ITEM /DES /'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'QTY/Kg' :'QTY'}{' '} + : Quantity && WeightasKg ? 'QTY/Kg' : 'QTY'}{' '}
    )} {GlobaldummyData ? GlobalHsnCode && ( -
    - HSN -
    - ) +
    + HSN +
    + ) : HsnCode && ( -
    - HSN -
    - )} +
    + HSN +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - MRP -
    - ) +
    + MRP +
    + ) : MRP && ( -
    - MRP -
    - )} +
    + MRP +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - RATE -
    - ) +
    + RATE +
    + ) : Rate && ( -
    - RATE -
    - )} +
    + RATE +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) +
    + DIS{' '} +
    + ) : Discount && ( -
    - DIS{' '} -
    - )} +
    + DIS{' '} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - TAX %{' '} -
    - ) +
    + TAX %{' '} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - TAX %{' '} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + TAX %{' '} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {' '} - Amt{' '} -
    - ) +
    + {' '} + Amt{' '} +
    + ) : Amount && ( -
    - {' '} - AMT{' '} -
    - )} +
    + {' '} + AMT{' '} +
    + )}

    @@ -631,19 +642,19 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - {index + 1} -
    - ) +
    + {index + 1} +
    + ) : SLNO && ( -
    - {chunkIndex * chunkSize + index + 1} -
    - )} +
    + {chunkIndex * chunkSize + index + 1} +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -765,102 +776,102 @@ const PrintStyle5 = ({ )} {GlobaldummyData ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) +
    + {item?.HSN} +
    + ) : HsnCode && ( -
    - {item?.HSN} -
    - )} +
    + {item?.HSN} +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) +
    + {item?.MRP} +
    + ) : MRP && ( -
    - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} -
    - )} +
    + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - {item?.Rate} -
    - ) +
    + {item?.Rate} +
    + ) : Rate && ( -
    - {item?.Rate} -
    - )} +
    + {item?.Rate} +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) +
    + {item?.discount} +
    + ) : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} +
    + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - {item?.ProdTaxPercentage} -
    - ) +
    + {item?.ProdTaxPercentage} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + {item?.ProdTaxPercentage || 0} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) +
    + {item?.TotalAmt} +
    + ) : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} +
    + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} +
    + )}
    ))} @@ -890,15 +901,15 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - S.No -
    - ) +
    + S.No +
    + ) : SLNO && ( -
    - S.No -
    - )} +
    + S.No +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -919,78 +930,78 @@ const PrintStyle5 = ({ : Item && 'ITEM /DES /'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'Qty/Kg' :'Qty'}{' '} + : Quantity && WeightasKg ? 'Qty/Kg' : 'Qty'}{' '}
    )} {GlobaldummyData ? GlobalHsnCode && ( -
    - HSN -
    - ) +
    + HSN +
    + ) : HsnCode && ( -
    - HSN -
    - )} +
    + HSN +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - MRP -
    - ) +
    + MRP +
    + ) : MRP && ( -
    - MRP -
    - )} +
    + MRP +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - RATE -
    - ) +
    + RATE +
    + ) : Rate && ( -
    - RATE -
    - )} +
    + RATE +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) +
    + DIS{' '} +
    + ) : Discount && ( -
    - DIS{' '} -
    - )} +
    + DIS{' '} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - TAX %{' '} -
    - ) +
    + TAX %{' '} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - TAX %{' '} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + TAX %{' '} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {' '} - Amt{' '} -
    - ) +
    + {' '} + Amt{' '} +
    + ) : Amount && ( -
    - {' '} - AMT{' '} -
    - )} +
    + {' '} + AMT{' '} +
    + )}

    @@ -1010,19 +1021,19 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - {index + 1} -
    - ) +
    + {index + 1} +
    + ) : SLNO && ( -
    - {chunkIndex * chunkSize + index + 1} -
    - )} +
    + {chunkIndex * chunkSize + index + 1} +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -1078,102 +1089,102 @@ const PrintStyle5 = ({ )} {GlobaldummyData ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) +
    + {item?.HSN} +
    + ) : HsnCode && ( -
    - {item?.HSN} -
    - )} +
    + {item?.HSN} +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) +
    + {item?.MRP} +
    + ) : MRP && ( -
    - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} -
    - )} +
    + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - {item?.Rate} -
    - ) +
    + {item?.Rate} +
    + ) : Rate && ( -
    - {item?.Rate} -
    - )} +
    + {item?.Rate} +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) +
    + {item?.discount} +
    + ) : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} +
    + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - {item?.ProdTaxPercentage} -
    - ) +
    + {item?.ProdTaxPercentage} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + {item?.ProdTaxPercentage || 0} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) +
    + {item?.TotalAmt} +
    + ) : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} +
    + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} +
    + )}
    ))} @@ -1369,18 +1380,18 @@ const PrintStyle5 = ({ {/* {ExtraChargeTotal>0 &&
    Extra Charges :
    {ExtraChargeTotal}
    } */} {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - {' '} -
    Off :
    {' '} -
    - {GlobaldummyData - ? '100' - : Number( +
    + {' '} +
    Off :
    {' '} +
    + {GlobaldummyData + ? '100' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} -
    {' '} -
    - )} +
    {' '} +
    + )}
    @@ -1457,36 +1468,76 @@ const PrintStyle5 = ({ /-{' '}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0] .OldCreditBal > 0 ? ( @@ -1498,7 +1549,7 @@ const PrintStyle5 = ({ }

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

    {' '} Opening Balance:{' '} @@ -1511,30 +1562,30 @@ const PrintStyle5 = ({ )} - {/* 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} -
    - )} + {/* 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} +
    + )}
    {/*
    TOTAL SAVING : 10.00
    */}
    @@ -1545,54 +1596,54 @@ const PrintStyle5 = ({
    {GlobaldummyData ? GlobalQrcodet && ( +
    -
    - {' '} - {' '} -
    -
    Scan to Pay
    -
    - {' '} - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed( - 2 - )} -
    + {' '} + {' '}
    - ) +
    Scan to Pay
    +
    + {' '} + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed( + 2 + )} +
    +
    + ) : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed( - 2 - )} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed( + 2 + )}
    - )} +
    + )}
    )}
    @@ -1602,7 +1653,7 @@ const PrintStyle5 = ({ extractLastNumber(table2Data?.SalesId)}
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -1686,23 +1737,23 @@ const PrintStyle5 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -1722,138 +1773,138 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving - the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )}
    @@ -2082,8 +2133,8 @@ const PrintStyle5 = ({ {GlobaldummyData ? '100' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)}
    {' '}
    )} @@ -2157,39 +2208,79 @@ const PrintStyle5 = ({ /-{' '}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: { @@ -2198,7 +2289,7 @@ const PrintStyle5 = ({ }

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

    {' '} Opening Balance:{' '} @@ -2211,30 +2302,30 @@ const PrintStyle5 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} +

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

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

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

    + ) : null} +
    + )}
    {/*
    TOTAL SAVING : 10.00
    */} @@ -2245,47 +2336,47 @@ const PrintStyle5 = ({
    {GlobaldummyData ? GlobalQrcodet && ( +
    -
    - {' '} - {' '} -
    -
    Scan to Pay
    -
    - {' '} - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + {' '} + {' '}
    - ) +
    Scan to Pay
    +
    + {' '} + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + ) : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}
    )}
    @@ -2295,7 +2386,7 @@ const PrintStyle5 = ({ extractLastNumber(table2Data?.SalesId)}
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2373,23 +2464,23 @@ const PrintStyle5 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -2409,138 +2500,138 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + + + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + + + )} )} @@ -2587,7 +2678,7 @@ const PrintStyle5 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? (
    {' '} @@ -2681,10 +2772,10 @@ const PrintStyle5 = ({ {GlobaldummyData ? '553' : table2Data?.OrderId && - extractLastNumberOrderId( - table2Data?.OrderId, - table2Data?.FYStatus - )}{' '} + extractLastNumberOrderId( + table2Data?.OrderId, + table2Data?.FYStatus + )}{' '}
    {' '} @@ -2716,15 +2807,15 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - S.No -
    - ) +
    + S.No +
    + ) : SLNO && ( -
    - S.No -
    - )} +
    + S.No +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -2743,78 +2834,78 @@ const PrintStyle5 = ({ : Item && 'ITEM /DES /'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'Qty/Kg' :'Qty'}{' '} + : Quantity && WeightasKg ? 'Qty/Kg' : 'Qty'}{' '}
    )} {GlobaldummyData ? GlobalHsnCode && ( -
    - HSN -
    - ) +
    + HSN +
    + ) : HsnCode && ( -
    - HSN -
    - )} +
    + HSN +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - MRP -
    - ) +
    + MRP +
    + ) : MRP && ( -
    - MRP -
    - )} +
    + MRP +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - RATE -
    - ) +
    + RATE +
    + ) : Rate && ( -
    - RATE -
    - )} +
    + RATE +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) +
    + DIS{' '} +
    + ) : Discount && ( -
    - DIS{' '} -
    - )} +
    + DIS{' '} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - TAX %{' '} -
    - ) +
    + TAX %{' '} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - TAX %{' '} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + TAX %{' '} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {' '} - Amt{' '} -
    - ) +
    + {' '} + Amt{' '} +
    + ) : Amount && ( -
    - {' '} - AMT{' '} -
    - )} +
    + {' '} + AMT{' '} +
    + )}
    @@ -2835,15 +2926,15 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - {index + 1} -
    - ) +
    + {index + 1} +
    + ) : SLNO && ( -
    - {index + 1} -
    - )} +
    + {index + 1} +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -2968,76 +3059,76 @@ const PrintStyle5 = ({ )} {GlobaldummyData ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) +
    + {item?.HSN} +
    + ) : HsnCode && ( -
    - {item?.HSN} -
    - )} +
    + {item?.HSN} +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) +
    + {item?.MRP} +
    + ) : MRP && ( -
    - {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} -
    - )} +
    + {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - {item?.Rate} -
    - ) +
    + {item?.Rate} +
    + ) : Rate && ( -
    - {item?.Rate} -
    - )} +
    + {item?.Rate} +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) +
    + {item?.discount} +
    + ) : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} +
    + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - {item?.ProdTaxPercentage} -
    - ) +
    + {item?.ProdTaxPercentage} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + {item?.ProdTaxPercentage || 0} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) +
    + {item?.TotalAmt} +
    + ) : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} +
    + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} +
    + )}
    ) )} @@ -3068,15 +3159,15 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - S.No -
    - ) +
    + S.No +
    + ) : SLNO && ( -
    - S.No -
    - )} +
    + S.No +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -3095,78 +3186,78 @@ const PrintStyle5 = ({ : Item && 'ITEM /DES /'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'Qty/Kg' :'Qty'}{' '} + : Quantity && WeightasKg ? 'Qty/Kg' : 'Qty'}{' '}
    )} {GlobaldummyData ? GlobalHsnCode && ( -
    - HSN -
    - ) +
    + HSN +
    + ) : HsnCode && ( -
    - HSN -
    - )} +
    + HSN +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - MRP -
    - ) +
    + MRP +
    + ) : MRP && ( -
    - MRP -
    - )} +
    + MRP +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - RATE -
    - ) +
    + RATE +
    + ) : Rate && ( -
    - RATE -
    - )} +
    + RATE +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - DIS{' '} -
    - ) +
    + DIS{' '} +
    + ) : Discount && ( -
    - DIS{' '} -
    - )} +
    + DIS{' '} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - TAX %{' '} -
    - ) +
    + TAX %{' '} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - TAX %{' '} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + TAX %{' '} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {' '} - Amt{' '} -
    - ) +
    + {' '} + Amt{' '} +
    + ) : Amount && ( -
    - {' '} - AMT{' '} -
    - )} +
    + {' '} + AMT{' '} +
    + )}
    @@ -3187,15 +3278,15 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobalSlNo && ( -
    - {index + 1} -
    - ) +
    + {index + 1} +
    + ) : SLNO && ( -
    - {index + 1} -
    - )} +
    + {index + 1} +
    + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && (
    @@ -3251,76 +3342,76 @@ const PrintStyle5 = ({ )} {GlobaldummyData ? GlobalHsnCode && ( -
    - {item?.HSN} -
    - ) +
    + {item?.HSN} +
    + ) : HsnCode && ( -
    - {item?.HSN} -
    - )} +
    + {item?.HSN} +
    + )} {GlobaldummyData ? GlobalMRP && ( -
    - {item?.MRP} -
    - ) +
    + {item?.MRP} +
    + ) : MRP && ( -
    - {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} -
    - )} +
    + {item?.SinglePc === 'Y' ? item?.Rate : item?.MRP} +
    + )} {GlobaldummyData ? GlobalRate && ( -
    - {item?.Rate} -
    - ) +
    + {item?.Rate} +
    + ) : Rate && ( -
    - {item?.Rate} -
    - )} +
    + {item?.Rate} +
    + )} {GlobaldummyData ? GlobalDiscount && ( -
    - {item?.discount} -
    - ) +
    + {item?.discount} +
    + ) : Discount && ( -
    - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} -
    - )} +
    + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} +
    + )} {GlobaldummyData ? GlobalTax && ( -
    - {item?.ProdTaxPercentage} -
    - ) +
    + {item?.ProdTaxPercentage} +
    + ) : Tax && - table2Data?.OrderType !== 'E' && ( -
    - {item?.ProdTaxPercentage || 0} -
    - )} + table2Data?.OrderType !== 'E' && ( +
    + {item?.ProdTaxPercentage || 0} +
    + )} {GlobaldummyData ? GlobalAmount && ( -
    - {item?.TotalAmt} -
    - ) +
    + {item?.TotalAmt} +
    + ) : Amount && ( -
    - {' '} - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} -
    - )} +
    + {' '} + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} +
    + )}
    ) )} @@ -3494,8 +3585,8 @@ const PrintStyle5 = ({ {GlobaldummyData ? '100' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)} {' '} )} @@ -3572,36 +3663,76 @@ const PrintStyle5 = ({ /-{' '} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > 0 ? (

    @@ -3621,25 +3752,25 @@ const PrintStyle5 = ({ )} - {/* 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} -
    - )} + {/* 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} +
    + )}
    {/*
    TOTAL SAVING : 10.00
    */} @@ -3650,47 +3781,47 @@ const PrintStyle5 = ({
    {GlobaldummyData ? GlobalQrcodet && ( +
    -
    - {' '} - {' '} -
    -
    Scan to Pay
    -
    - {' '} - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + {' '} + {' '}
    - ) +
    Scan to Pay
    +
    + {' '} + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + ) : Qrcodet && - paymentTypeUPI && ( -
    - -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}
    )}
    @@ -3699,7 +3830,7 @@ const PrintStyle5 = ({ {table2Data?.SalesId && extractLastNumber(table2Data?.SalesId)}
    - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -3780,21 +3911,21 @@ const PrintStyle5 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    )} @@ -3814,137 +3945,137 @@ const PrintStyle5 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not exchangeable - or refundable. -
    2. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

    -
      - {TermsAndConditions?.map((item) => ( -
    1. - {item?.TermsandConditions} -
    2. - ))} -
    -
    - )} + Terms & Conditions +

    +
      + {TermsAndConditions?.map((item) => ( +
    1. + {item?.TermsandConditions} +
    2. + ))} +
    +
    + )} {GlobaldummyData ? GlobalSignature && ( -
    +

    -

    - Signature -

    - -
    - ) + Signature +

    + + + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + + + )} )} diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle6.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle6.jsx index 145eb88..e05dd88 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle6.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle6.jsx @@ -103,6 +103,8 @@ const Printstyle6 = ({ const GlobalLogo = useSelector(GlobalprintLogo); const GlobalCredit = useSelector(GlobalprintCredit); const SettingData = useSelector(PreferenceData); + const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); + console.log(CashierNameField, "GlobaldummyData") const estimatePrintHeader = SettingData?.[0]?.SettingDtlDetails?.find( (setting) => @@ -124,7 +126,17 @@ const Printstyle6 = ({ const paymentTypeUPI = PaymentStatus?.find( (ps) => ps.PaymentTypeName === 'UPI' ); - const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); + 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' + ) console.log(GlobalDiscount, Discount, 'Discount'); @@ -337,8 +349,8 @@ const Printstyle6 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: isMobile @@ -393,7 +405,7 @@ const Printstyle6 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( -
    + {table2Data?.BrMobile &&
    Mobile : {table2Data?.BrMobile} -
    +
    } {table2Data?.OrderType === 'E' && (
    {Date1}
    @@ -527,8 +539,8 @@ const Printstyle6 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO && S.No} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && ( @@ -548,136 +560,136 @@ const Printstyle6 = ({ : Item && 'ITEM /DES/'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'QTY/KG' :'QTY'} + : Quantity && WeightasKg ? 'QTY/KG' : 'QTY'} )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - AMt - - ) + + AMt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -687,10 +699,10 @@ const Printstyle6 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && ( {item?.ProdName}
    {item?.Size + - item?.UomName + - '-' + - GlobaldummyData + item?.UomName + + '-' + + GlobaldummyData ? GlobalQuantity && item?.SalesQty : item?.SalesQty}
    @@ -782,90 +794,90 @@ const Printstyle6 = ({ )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -893,8 +905,8 @@ const Printstyle6 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO && S.No} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && ( @@ -914,136 +926,136 @@ const Printstyle6 = ({ : Item && 'ITEM /DES/'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'QTY/KG' :'QTY'} + : Quantity && WeightasKg ? 'QTY/KG' : 'QTY'} )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - AMt - - ) + + AMt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -1053,10 +1065,10 @@ const Printstyle6 = ({ {GlobaldummyData ? GlobalSlNo && {index + 1} : SLNO && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? ( (GlobalItem || GlobalQuantity) && ( {item?.ProdName}
    {item?.Size + - item?.UomName + - '-' + - GlobaldummyData + item?.UomName + + '-' + + GlobaldummyData ? GlobalQuantity && item?.SalesQty : item?.SalesQty}
    @@ -1098,139 +1110,139 @@ const Printstyle6 = ({ > {(GlobaldummyData ? GlobalItem && - item?.ProdName + - `(${item?.Size + item?.UomName})` + item?.ProdName + + `(${item?.Size + item?.UomName})` : Item && - item?.ProdName + - `(${item?.Size ? item?.Size : '1'}${item?.SinglePc == 'Y' ? 'PCS' : item?.Type != 'C' ? item?.UomName : 'COMBO'})`) + + item?.ProdName + + `(${item?.Size ? item?.Size : '1'}${item?.SinglePc == 'Y' ? 'PCS' : item?.Type != 'C' ? item?.UomName : 'COMBO'})`) + item?.BrandName !== - null + null ? item?.BrandName : '' + - item?.ProductIdentifierDtls - ?.length > - 0 + item?.ProductIdentifierDtls + ?.length > + 0 ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
    {a.SerialNumber}
    ; - }) + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return
    {a.SerialNumber}
    ; + }) : '' + - item?.ProductIdentifierDtls - ?.length > - 0 + item?.ProductIdentifierDtls + ?.length > + 0 ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) : '' + - '-' + - (GlobaldummyData - ? GlobalQuantity && item?.SalesQty - : Quantity && item?.SalesQty)} + '-' + + (GlobaldummyData + ? GlobalQuantity && item?.SalesQty + : Quantity && item?.SalesQty)} )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ); })} @@ -1271,17 +1283,17 @@ const Printstyle6 = ({ {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - Off :{' '} - {GlobaldummyData - ? '10' - : Number( +
    + Off :{' '} + {GlobaldummyData + ? '10' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} +
    -
    - )} + )} {table2Data?.OrderType === 'E' ? ( @@ -1653,41 +1665,80 @@ const Printstyle6 = ({ : Number(table2Data?.NetAmount).toFixed(2)} - + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal} @@ -1705,28 +1756,28 @@ const Printstyle6 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} +

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

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

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

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

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -1750,48 +1801,48 @@ const Printstyle6 = ({
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed( - 2 - )} -
    +
    + 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 - )} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed( + 2 + )}
    - )} +
    + )}
    )}
    @@ -1814,7 +1865,7 @@ const Printstyle6 = ({
    {/*
    Card No
    */} - {GlobaldummyData && ( + {GlobaldummyData && GlobalCashierName && (
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -2032,137 +2084,137 @@ const Printstyle6 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving - the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )} )} @@ -2236,8 +2288,8 @@ const Printstyle6 = ({ {GlobaldummyData ? '10' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)} )} @@ -2614,40 +2666,81 @@ const Printstyle6 = ({ + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} + {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal} @@ -2665,27 +2758,27 @@ const Printstyle6 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} - {PaymentStatus?.length > 1 && ( +

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

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

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

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

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2709,44 +2802,44 @@ const Printstyle6 = ({
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + 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)} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}
    )}
    @@ -2769,7 +2862,7 @@ const Printstyle6 = ({
    {/*
    Card No
    */} - {GlobaldummyData && ( + {GlobaldummyData && GlobalCashierName && (
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -2984,137 +3078,137 @@ const Printstyle6 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )} )} @@ -3165,7 +3259,7 @@ const Printstyle6 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( ) : null} -
    +
    {GlobaldummyData ? 'XYZ Shop' : table2Data?.BrName}
    @@ -3183,23 +3277,23 @@ const Printstyle6 = ({ {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 - : '')} + (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 + : '')} -
    + {table2Data?.BrMobile &&
    Mobile : {table2Data?.BrMobile} -
    +
    } {table2Data?.OrderType === 'E' && (
    {Date1}
    @@ -3313,76 +3407,76 @@ const Printstyle6 = ({ : Item && 'ITEM /DES/'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'QTY/KG' :'QTY'} + : Quantity && WeightasKg ? 'QTY/KG' : 'QTY'} )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - AMt - - ) + + AMt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -3415,9 +3509,9 @@ const Printstyle6 = ({
    {item?.ProdName}
    {item?.Size + - item?.UomName + - '-' + - GlobaldummyData + item?.UomName + + '-' + + GlobaldummyData ? GlobalQuantity && item?.SalesQty : item?.SalesQty}
    @@ -3478,89 +3572,89 @@ const Printstyle6 = ({ )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -3606,76 +3700,76 @@ const Printstyle6 = ({ : Item && 'ITEM /DES/'}{' '} {GlobaldummyData ? GlobalQuantity && 'QTY' - : Quantity && WeightasKg ?'QTY/KG' :'QTY'} + : Quantity && WeightasKg ? 'QTY/KG' : 'QTY'} )} {GlobaldummyData ? GlobalHsnCode && ( - - HSN - - ) + + HSN + + ) : HsnCode && ( - - HSN - - )} + + HSN + + )} {GlobaldummyData ? GlobalMRP && ( - - MRP - - ) + + MRP + + ) : MRP && ( - - MRP - - )} + + MRP + + )} {GlobaldummyData ? GlobalDiscount && ( - - Dis{' '} - - ) + + Dis{' '} + + ) : Discount && ( - - Dis{' '} - - )} + + Dis{' '} + + )} {GlobaldummyData ? GlobalTax && ( - - Tax % - - ) + + Tax % + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - Tax % - - )} + table2Data?.OrderType !== 'E' && ( + + Tax % + + )} {GlobaldummyData ? GlobalRate && ( - - Rate - - ) + + Rate + + ) : Rate && ( - - Rate - - )} + + Rate + + )} {GlobaldummyData ? GlobalAmount && ( - - AMt - - ) + + AMt + + ) : Amount && ( - - Amt - - )} + + Amt + + )} @@ -3708,9 +3802,9 @@ const Printstyle6 = ({
    {item?.ProdName}
    {item?.Size + - item?.UomName + - '-' + - GlobaldummyData + item?.UomName + + '-' + + GlobaldummyData ? GlobalQuantity && item?.SalesQty : item?.SalesQty}
    @@ -3725,133 +3819,133 @@ const Printstyle6 = ({ > {(GlobaldummyData ? GlobalItem && - item?.ProdName + - `(${item?.Size + item?.UomName})` + item?.ProdName + + `(${item?.Size + item?.UomName})` : Item && - item?.ProdName + - `(${item?.Size ? item?.Size : '1'}${item?.SinglePc == 'Y' ? 'PCS' : item?.Type != 'C' ? item?.UomName : 'COMBO'})`) + + item?.ProdName + + `(${item?.Size ? item?.Size : '1'}${item?.SinglePc == 'Y' ? 'PCS' : item?.Type != 'C' ? item?.UomName : 'COMBO'})`) + item?.BrandName !== - null + null ? item?.BrandName : '' + item?.ProductIdentifierDtls?.length > 0 ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
    {a.SerialNumber}
    ; - }) + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return
    {a.SerialNumber}
    ; + }) : '' + item?.ProductIdentifierDtls?.length > - 0 + 0 ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) : '' + - '-' + - (GlobaldummyData - ? GlobalQuantity && item?.SalesQty - : Quantity && item?.SalesQty)} + '-' + + (GlobaldummyData + ? GlobalQuantity && item?.SalesQty + : Quantity && item?.SalesQty)} )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalDiscount && ( - - {item.discount} - - ) + + {item.discount} + + ) : Discount && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ); } @@ -3890,8 +3984,8 @@ const Printstyle6 = ({ {GlobaldummyData ? '10' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)}
    )} @@ -4248,70 +4342,110 @@ const Printstyle6 = ({ : Number(table2Data?.NetAmount).toFixed(2)} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    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} - - )} + 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} -
    - )} - {PaymentStatus?.length > 1 && ( + {/* 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} +
    + )} + {(PaymentStatus?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -4334,44 +4468,44 @@ const Printstyle6 = ({
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + 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)} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}
    )}
    @@ -4394,7 +4528,7 @@ const Printstyle6 = ({
    {/*
    Card No
    */} - {GlobaldummyData && ( + {GlobaldummyData && GlobalCashierName && (
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    )} @@ -4601,136 +4736,136 @@ const Printstyle6 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not exchangeable or - refundable. -
    2. -
    3. - Please check the product before leaving the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )} )} diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle7.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle7.jsx index b47d70c..9cb2131 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle7.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle7.jsx @@ -99,6 +99,7 @@ const PrintStyle7 = ({ const GlobalLogo = useSelector(GlobalprintLogo); const GlobalCredit = useSelector(GlobalprintCredit); const SettingData = useSelector(PreferenceData); + const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); const estimatePrintHeader = SettingData?.[0]?.SettingDtlDetails?.find( (setting) => @@ -122,6 +123,19 @@ const PrintStyle7 = ({ ); console.log(GlobalDiscount, Discount, 'Discount'); console.log(printDatas, 'printDatasjk'); + + 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' + ); + let TermsAndConditions = printDatas?.TermsandConditions; let SignatureImg = printDatas?.Signature; let Notestext = printDatas?.Notes; @@ -131,7 +145,6 @@ const PrintStyle7 = ({ const Signature = FieldDetails?.['signature']; const TermsnAdCondition = FieldDetails?.['terms&conditions']; const PackageDetails = table2Data?.PackageDtl; - const SelectedHeaderColor = useSelector(GlobalSelectedPrintHeaderColor); let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' @@ -354,8 +367,8 @@ const PrintStyle7 = ({ flexDirection: 'column', justifyContent: chunkIndex === paginatedChunks.length - 1 && - !shouldFooterBeOnNewPage && - FormatTheme + !shouldFooterBeOnNewPage && + FormatTheme ? 'space-between' : '', height: isMobile @@ -404,7 +417,7 @@ const PrintStyle7 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( {table2Data?.OrderType === 'E' && (
    @@ -550,80 +563,80 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && ( - S - ) + S + ) : SLNO == true && ( - S - )} + S + )} {GlobaldummyData ? GlobalItem && Item : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP == true && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && ( - Tax % - ) + Tax % + ) : Tax && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -631,137 +644,137 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => - pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - )} - - )} + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => + pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + )} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ))} @@ -790,80 +803,80 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && ( - S.No - ) + S.No + ) : SLNO == true && ( - S.NO - )} + S.NO + )} {GlobaldummyData ? GlobalItem && Item : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && ( - MRP - ) + MRP + ) : MRP == true && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && ( - Tax % - ) + Tax % + ) : Tax && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -871,153 +884,153 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {chunkIndex * chunkSize + index + 1} - - )} + + {chunkIndex * chunkSize + index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return ( -
    {a.SerialNumber}
    - ); - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return ( +
    {a.SerialNumber}
    + ); + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - - )} + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || - 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || + 0} + + )} ))} @@ -1043,15 +1056,15 @@ const PrintStyle7 = ({
    {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - Off :{' '} - {GlobaldummyData - ? '10' - : Number( +
    + Off :{' '} + {GlobaldummyData + ? '10' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} -
    - )} +
    + )}

    + + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed( + 2 + )} + +
    +
    +
    + )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -1445,34 +1528,34 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal} @@ -1490,26 +1573,26 @@ const PrintStyle7 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} +

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

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

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

    + ) : null} +
    + )} {GlobaldummyData && GlobalCashierName && (
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + 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)} -
    + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '}
    - )} +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + )}
    )} @@ -1665,23 +1748,23 @@ const PrintStyle7 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -1701,137 +1784,137 @@ const PrintStyle7 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving - the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )}
    )} @@ -1888,15 +1971,15 @@ const PrintStyle7 = ({ {(table2Data?.OverallDisc > 0 || TotalOfferAmount > 0) && ( -
    - Off :{' '} - {GlobaldummyData - ? '10' - : Number( +
    + Off :{' '} + {GlobaldummyData + ? '10' + : Number( TotalOfferAmount + table2Data?.OverallDisc ).toFixed(2)} -
    - )} +
    + )}
    {table2Data?.OrderType === 'E' ? ( @@ -2239,6 +2322,74 @@ const PrintStyle7 = ({

    + + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2281,34 +2432,34 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    Advance Amount:
    +
    Opening Balance:
    +
    + ) : CreditDetails && - table2Data?.CustomerDetails?.length > 0 && ( -
    - {/* OLD CREDIT BAL */} - {PaymentStatusSuccess?.[0]?.PaymentTypeName === - 'Credit' && ( + table2Data?.CustomerDetails?.length > 0 && ( +
    + {/* OLD CREDIT BAL */} + {PaymentStatusSuccess?.[0]?.PaymentTypeName === + 'Credit' && ( <> {table2Data.CustomerDetails[0].OldCreditBal > - 0 ? ( + 0 ? (

    Advance Amount: {table2Data.CustomerDetails[0].OldCreditBal} @@ -2326,26 +2477,26 @@ const PrintStyle7 = ({ )} - {/* CURRENT CREDIT BAL */} - {table2Data.CustomerDetails[0].CurrentCreditBal > + {/* 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} -
    - )} +

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

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

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

    + ) : null} +
    + )} {GlobaldummyData && GlobalCashierName && (
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    - Scan to Pay{' '} -
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + 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)} -
    + paymentTypeUPI && ( +
    + +
    + Scan to Pay{' '}
    - )} +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)} +
    +
    + )}
    )} @@ -2501,23 +2652,23 @@ const PrintStyle7 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    - {Notestext} -

    +
    +

    + {Notestext} +

    -
    -
    - )} +
    +
    + )}
    )} @@ -2537,137 +2688,137 @@ const PrintStyle7 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not - exchangeable or refundable. -
    2. -
    3. - Please check the product before leaving the - counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )} )} @@ -2718,7 +2869,7 @@ const PrintStyle7 = ({ /> ) : null} {base64Image && - (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( + (PrintLogo?.SettingValue === 'Y' || LogoField) ? ( {table2Data?.OrderType === 'E' && (
    @@ -2866,59 +3017,59 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && S.No : SLNO == true && ( - S.No - )} + S.No + )} {GlobaldummyData ? GlobalItem && ( - - Item - - ) + + Item + + ) : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && HSN : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && Qty : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && MRP : MRP == true && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && Rate : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && Dis : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && ( - Tax % - ) + Tax % + ) : Tax && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - Amt - ) + Amt + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -2927,135 +3078,135 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {index + 1} - - )} + + {index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
    {item?.ProdName}
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - ).length > 0 ? ( -
    - {PackageDetails?.filter( - (pkg) => pkg.ProdId === item.ProdId - )?.map((item, index) => ( - - {item.ParcelCount} PCS{' '} - {item.ParcelQty} PACK ( - {item.ParcelType}) - - ))} -
    - ) : ( -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) -
    - )} - - )} + +
    {item?.ProdName}
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + ).length > 0 ? ( +
    + {PackageDetails?.filter( + (pkg) => pkg.ProdId === item.ProdId + )?.map((item, index) => ( + + {item.ParcelCount} PCS{' '} + {item.ParcelQty} PACK ( + {item.ParcelType}) + + ))} +
    + ) : ( +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) +
    + )} + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ) )} @@ -3086,65 +3237,65 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && S : SLNO == true && ( - S - )} + S + )} {GlobaldummyData ? GlobalItem && Item : Item == true && Item} {GlobaldummyData ? GlobalHsnCode && ( - HSN - ) + HSN + ) : HsnCode == true && ( - HSN - )} + HSN + )} {GlobaldummyData ? GlobalQuantity && ( - Qty - ) + Qty + ) : Quantity == true && ( - - {WeightasKg ? 'Qty/Kg' : 'Qty'} - - )} + + {WeightasKg ? 'Qty/Kg' : 'Qty'} + + )} {GlobaldummyData ? GlobalMRP && MRP : MRP == true && ( - MRP - )} + MRP + )} {GlobaldummyData ? GlobalRate && ( - Rate - ) + Rate + ) : Rate == true && ( - Rate - )} + Rate + )} {GlobaldummyData ? GlobalDiscount && ( - Dis - ) + Dis + ) : Discount == true && ( - Dis - )} + Dis + )} {GlobaldummyData ? GlobalTax && ( - Tax % - ) + Tax % + ) : Tax && - table2Data?.OrderType !== 'E' && ( - Tax % - )} + table2Data?.OrderType !== 'E' && ( + Tax % + )} {GlobaldummyData ? GlobalAmount && ( - - Amt - - ) + + Amt + + ) : Amount == true && ( - - Amt - - )} + + Amt + + )} @@ -3153,148 +3304,148 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalSlNo && ( - - {index + 1} - - ) + + {index + 1} + + ) : SLNO == true && ( - - {index + 1} - - )} + + {index + 1} + + )} {GlobaldummyData ? GlobalItem && {item?.ProdName} : Item == true && ( - -
    {item?.ProdName}
    -
    - ({item?.Size ? item?.Size : '1'}{' '} - {item?.SinglePc == 'Y' - ? 'PCS' - : item?.Type != 'C' - ? item?.UomName - : 'COMBO'} - ) - {item?.BrandName !== null - ? item?.BrandName - : ''} -   - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls?.filter( - (items) => - !( - items.SerialNumber == '' || - items.SerialNumber == null - ) - )?.map((a) => { - return
    {a.SerialNumber}
    ; - }) - : ''}{' '} - {item?.ProductIdentifierDtls?.length > 0 - ? item?.ProductIdentifierDtls.filter( - (item1) => - item1.IMEI1 !== '' || - item1.IMEI2 !== '' - )?.map((item2) => { - const imei1 = item2.IMEI1 || ''; - const imei2 = item2.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) - : ''} -
    - - )} + +
    {item?.ProdName}
    +
    + ({item?.Size ? item?.Size : '1'}{' '} + {item?.SinglePc == 'Y' + ? 'PCS' + : item?.Type != 'C' + ? item?.UomName + : 'COMBO'} + ) + {item?.BrandName !== null + ? item?.BrandName + : ''} +   + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls?.filter( + (items) => + !( + items.SerialNumber == '' || + items.SerialNumber == null + ) + )?.map((a) => { + return
    {a.SerialNumber}
    ; + }) + : ''}{' '} + {item?.ProductIdentifierDtls?.length > 0 + ? item?.ProductIdentifierDtls.filter( + (item1) => + item1.IMEI1 !== '' || + item1.IMEI2 !== '' + )?.map((item2) => { + const imei1 = item2.IMEI1 || ''; + const imei2 = item2.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) + : ''} +
    + + )} {GlobaldummyData ? GlobalHsnCode && ( - - {item?.HSN} - - ) + + {item?.HSN} + + ) : HsnCode == true && ( - - {item?.HSN} - - )} + + {item?.HSN} + + )} {GlobaldummyData ? GlobalQuantity && ( - - {item?.SalesQty} - - ) + + {item?.SalesQty} + + ) : Quantity == true && ( - - {item?.SalesQty} - - )} + + {item?.SalesQty} + + )} {GlobaldummyData ? GlobalMRP && ( - - {item?.MRP} - - ) + + {item?.MRP} + + ) : MRP == true && ( - - {item?.SinglePc === 'Y' - ? item?.Rate - : item?.MRP} - - )} + + {item?.SinglePc === 'Y' + ? item?.Rate + : item?.MRP} + + )} {GlobaldummyData ? GlobalRate && ( - - {item?.Rate} - - ) + + {item?.Rate} + + ) : Rate == true && ( - - {item?.Rate} - - )} + + {item?.Rate} + + )} {GlobaldummyData ? GlobalDiscount && {item.discount} : Discount == true && ( - - {item?.Type != 'C' - ? item?.OfferAmt || 0 - : item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.OfferAmt || 0 + : item?.OfferValue || 0} + + )} {GlobaldummyData ? GlobalTax && ( - - {item?.ProdTaxPercentage} - - ) + + {item?.ProdTaxPercentage} + + ) : Tax && - table2Data?.OrderType !== 'E' && ( - - {item?.ProdTaxPercentage || 0} - - )} + table2Data?.OrderType !== 'E' && ( + + {item?.ProdTaxPercentage || 0} + + )} {GlobaldummyData ? GlobalAmount && ( - - {item?.TotalAmt} - - ) + + {item?.TotalAmt} + + ) : Amount == true && ( - - {item?.Type != 'C' - ? item?.TotalAmt - item?.OfferAmt || 0 - : item?.TotalAmt - item?.OfferValue || 0} - - )} + + {item?.Type != 'C' + ? item?.TotalAmt - item?.OfferAmt || 0 + : item?.TotalAmt - item?.OfferValue || 0} + + )} ) )} @@ -3319,8 +3470,8 @@ const PrintStyle7 = ({ {GlobaldummyData ? '10' : Number( - TotalOfferAmount + table2Data?.OverallDisc - ).toFixed(2)} + TotalOfferAmount + table2Data?.OverallDisc + ).toFixed(2)}
    )} @@ -3660,6 +3811,70 @@ const PrintStyle7 = ({
    + + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -3701,62 +3916,62 @@ const PrintStyle7 = ({ {GlobaldummyData ? GlobalCredit && ( -
    -
    Advance Amount:
    -
    Opening Balance:
    -
    - ) +
    +
    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} - - )} + 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} -
    - )} + {/* 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} +
    + )} {GlobaldummyData && GlobalCashierName && (
    {GlobaldummyData ? GlobalQrcodet && ( -
    - QRcode -
    Scan to Pay
    -
    - ₹ - {GlobaldummyData - ? '1,066' - : Number(table2Data?.NetAmount).toFixed(2)} -
    +
    + 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)} -
    + paymentTypeUPI && ( +
    + +
    Scan to Pay
    +
    + ₹ + {GlobaldummyData + ? '1,066' + : Number(table2Data?.NetAmount).toFixed(2)}
    - )} +
    + )}
    )} @@ -3907,21 +4122,21 @@ const PrintStyle7 = ({
    {GlobaldummyData ? GlobalIsnotes && ( -
    -

    - Notes : 10 days Return policy -

    +
    +

    + Notes : 10 days Return policy +

    -
    -
    - ) +
    +
    + ) : Notestext && ( -
    -

    {Notestext}

    +
    +

    {Notestext}

    -
    -
    - )} +
    +
    + )}
    )} @@ -3941,136 +4156,136 @@ const PrintStyle7 = ({ > {GlobaldummyData ? GlobaltermsAndConditions && ( -
    +

    -

    - Terms & Conditions -

    -
      -
    1. - Once goods are sold, they are not exchangeable or - refundable. -
    2. -
    3. - Please check the product before leaving the counter. -
    4. -
    -
    - ) + Terms & Conditions +

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

    -

    - Terms & Conditions -

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

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

    -

    - Signature -

    - -
    - ) + Signature +

    + +
    + ) : Signature == true && ( -
    +

    -

    - Signature -

    - -
    - )} + Signature +

    + +
    + )} )} diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle8.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle8.jsx index fa9cb3a..42da6c2 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle8.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle8.jsx @@ -126,6 +126,21 @@ const Printstyle8 = ({ const paymentTypeUPI = PaymentStatus?.find( (ps) => ps.PaymentTypeName === 'UPI' ); + + console.log(GlobalDiscount, Discount, 'Discount'); + + 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); console.log(GlobalDiscount, Discount, 'Discount'); @@ -1670,8 +1685,84 @@ const Printstyle8 = ({ display: 'flex', justifyContent: 'space-evenly', marginTop: '5px', + flexDirection: 'column', }} > + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {( + lastTransaction?.BeforeAdjustment || 0 + ).toFixed(2)} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {( + lastTransaction?.AfterAdjustment || 0 + ).toFixed(2)} + +
    +
    +
    + )} +
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -2592,8 +2683,79 @@ const Printstyle8 = ({ display: 'flex', justifyContent: 'space-evenly', marginTop: '5px', + flexDirection: 'column', }} > + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed( + 2 + )} + +
    +
    +
    + )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -4107,14 +4269,79 @@ const Printstyle8 = ({
    )}
    - +
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( diff --git a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle9.jsx b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle9.jsx index 8ccf08b..22fc721 100644 --- a/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle9.jsx +++ b/src/Pages/BookingScreen/PrintTemplates/ThermalPrinter/PrintStyle9.jsx @@ -123,6 +123,19 @@ const PrintStyle9 = ({ 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); let TermsAndConditions = printDatas?.TermsandConditions; let SignatureImg = printDatas?.Signature; @@ -1670,7 +1683,7 @@ const PrintStyle9 = ({
    )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map( @@ -1827,7 +1840,85 @@ const PrintStyle9 = ({ )}
    -
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed( + 2 + )} + +
    +
    +
    + )} + +
    Your Order No : {GlobaldummyData ? '01' @@ -2585,7 +2676,7 @@ const PrintStyle9 = ({
    )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -2731,8 +2822,83 @@ const PrintStyle9 = ({
    )}
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed( + 2 + )} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' + ? '-' + : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} -
    +
    Your Order No : {GlobaldummyData ? '01' @@ -4108,7 +4274,7 @@ const PrintStyle9 = ({
    )}
    - {PaymentStatusSuccess?.length > 1 && ( + {PaymentStatusSuccess?.length > 1 && !isEditedBill && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments).map((paymentType) => ( @@ -4239,7 +4405,79 @@ const PrintStyle9 = ({ )}
    -
    + {isEditedBill && lastTransaction && ( +
    +
    +
    + + Bill Gross Amount + + + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} + +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + + Net Bill Amount + + + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} + +
    +
    +
    + )} + +
    Your Order No : {GlobaldummyData ? '01' diff --git a/src/Pages/DashBoard/RetailDashboard.jsx b/src/Pages/DashBoard/RetailDashboard.jsx index 750e020..4a48c3d 100644 --- a/src/Pages/DashBoard/RetailDashboard.jsx +++ b/src/Pages/DashBoard/RetailDashboard.jsx @@ -264,7 +264,6 @@ const RetailDashboard = () => { useEffect(() => { if (isInitialLoad && CompId && AppId && selection === 'dashboard') { - // debugger if (dates && dates?.[0] && dates?.[1] && !initialDate) { onRangeChange(dates, [ dates?.[0]?.format('DD-MM-YYYY'), diff --git a/src/Pages/Kiosk/CardPage/SelfCardPage1.jsx b/src/Pages/Kiosk/CardPage/SelfCardPage1.jsx index 1f19cca..3fd8b34 100644 --- a/src/Pages/Kiosk/CardPage/SelfCardPage1.jsx +++ b/src/Pages/Kiosk/CardPage/SelfCardPage1.jsx @@ -257,29 +257,29 @@ const CardPage1 = (props) => { if (isItemInCart) { newOrderDetails = newOrderDetails.map((cartItem) => cartItem.ProdId === item.ProdId && - cartItem.InwardDtlId === item.InwardDtlId && - cartItem.OrderRate === item.OrderRate && - cartItem?.BookingTypeName === item?.BookingTypeName && - !cartItem?.disabled + cartItem.InwardDtlId === item.InwardDtlId && + cartItem.OrderRate === item.OrderRate && + cartItem?.BookingTypeName === item?.BookingTypeName && + !cartItem?.disabled ? { - ...cartItem, - OrderQty: cartItem.OrderQty + 1, - TotalAmt: (cartItem.OrderQty + 1) * cartItem.OrderRate, - TaxAmt: ( + ...cartItem, + OrderQty: cartItem.OrderQty + 1, + TotalAmt: (cartItem.OrderQty + 1) * cartItem.OrderRate, + TaxAmt: ( + ((cartItem.OrderQty + 1) * + cartItem.OrderRate * + cartItem.TaxPercentage) / + (100 + cartItem.TaxPercentage) + ).toFixed(2), + WithoutTaxRate: + (cartItem.OrderQty + 1) * cartItem.OrderRate - + ( ((cartItem.OrderQty + 1) * cartItem.OrderRate * cartItem.TaxPercentage) / (100 + cartItem.TaxPercentage) ).toFixed(2), - WithoutTaxRate: - (cartItem.OrderQty + 1) * cartItem.OrderRate - - ( - ((cartItem.OrderQty + 1) * - cartItem.OrderRate * - cartItem.TaxPercentage) / - (100 + cartItem.TaxPercentage) - ).toFixed(2), - } + } : cartItem ); } else { @@ -360,11 +360,11 @@ const CardPage1 = (props) => { (cartItem) => cartItem?.ProdId === item?.ProductDetail?.[0]?.ProdId && cartItem?.InwardDtlId === - item?.ProductDetail?.[0]?.ProdVariantDetails?.[0]?.StockDetails?.[0] - ?.InwardDtlId && + item?.ProductDetail?.[0]?.ProdVariantDetails?.[0]?.StockDetails?.[0] + ?.InwardDtlId && cartItem?.OrderRate === - item?.ProductDetail?.[0]?.ProdVariantDetails?.[0]?.StockDetails?.[0] - ?.SellPrice + item?.ProductDetail?.[0]?.ProdVariantDetails?.[0]?.StockDetails?.[0] + ?.SellPrice ); if (Isincart && Isincart?.StockAvailable === 'Y') { if (Isincart?.BalanceQty > Isincart?.OrderQty) { @@ -419,13 +419,13 @@ const CardPage1 = (props) => { (cartItem) => cartItem?.ProdId === qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdId && cartItem?.InwardDtlId === - qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdVariantDetails?.[ - item?.VarientIndex - ]?.StockDetails?.[0]?.InwardDtlId && + qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdVariantDetails?.[ + item?.VarientIndex + ]?.StockDetails?.[0]?.InwardDtlId && cartItem?.OrderRate === - qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdVariantDetails?.[ - item?.VarientIndex - ]?.StockDetails?.[0]?.SellPrice + qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdVariantDetails?.[ + item?.VarientIndex + ]?.StockDetails?.[0]?.SellPrice ); console.log(Isincart, item, KioskOrderDetails, 'IsincartsingleVarient'); if (Isincart && Isincart?.StockAvailable === 'Y') { @@ -543,7 +543,7 @@ const CardPage1 = (props) => { SinglePc: onePcs ? 'Y' : 'N', NoOfPcs: onePcs ? a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex] - ?.StockDetails?.[stockIndex]?.NoOfPcs + ?.StockDetails?.[stockIndex]?.NoOfPcs : null, ProdVariantName: a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex] @@ -568,14 +568,14 @@ const CardPage1 = (props) => { ?.StockDetails?.[stockIndex]?.InwardId, MRP: onePcs ? a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex] - ?.StockDetails?.[stockIndex]?.OnePcsPrice + ?.StockDetails?.[stockIndex]?.OnePcsPrice : a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex] - ?.StockDetails?.[stockIndex]?.MRP, + ?.StockDetails?.[stockIndex]?.MRP, OrderRate: onePcs ? a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex] - ?.StockDetails?.[stockIndex]?.OnePcsPrice + ?.StockDetails?.[stockIndex]?.OnePcsPrice : a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex] - ?.StockDetails?.[stockIndex]?.SellPrice, + ?.StockDetails?.[stockIndex]?.SellPrice, SuppId: a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex] ?.StockDetails?.[stockIndex]?.SuppId, @@ -603,7 +603,6 @@ const CardPage1 = (props) => { }; // add Product in cart state const AddOrderDetails = async (item) => { - // debugger message.success(`${item?.ProdName} Added in the Cart`); const isItemInCart = KioskOrderDetails?.find( (cartItem) => @@ -619,29 +618,29 @@ const CardPage1 = (props) => { changeKioskOrderDetails( KioskOrderDetails?.map((cartItem) => cartItem.ProdId === item.ProdId && - cartItem.InwardDtlId === item.InwardDtlId && - cartItem.OrderRate === item.OrderRate && - cartItem?.BookingTypeName === item?.BookingTypeName && - !cartItem?.disabled + cartItem.InwardDtlId === item.InwardDtlId && + cartItem.OrderRate === item.OrderRate && + cartItem?.BookingTypeName === item?.BookingTypeName && + !cartItem?.disabled ? { - ...cartItem, - OrderQty: cartItem.OrderQty + 1, - TotalAmt: (cartItem.OrderQty + 1) * cartItem.OrderRate, - TaxAmt: ( + ...cartItem, + OrderQty: cartItem.OrderQty + 1, + TotalAmt: (cartItem.OrderQty + 1) * cartItem.OrderRate, + TaxAmt: ( + ((cartItem.OrderQty + 1) * + cartItem.OrderRate * + cartItem.TaxPercentage) / + (100 + cartItem.TaxPercentage) + ).toFixed(2), + WithoutTaxRate: + (cartItem.OrderQty + 1) * cartItem.OrderRate - + ( ((cartItem.OrderQty + 1) * cartItem.OrderRate * cartItem.TaxPercentage) / (100 + cartItem.TaxPercentage) ).toFixed(2), - WithoutTaxRate: - (cartItem.OrderQty + 1) * cartItem.OrderRate - - ( - ((cartItem.OrderQty + 1) * - cartItem.OrderRate * - cartItem.TaxPercentage) / - (100 + cartItem.TaxPercentage) - ).toFixed(2), - } + } : cartItem ) ) @@ -862,7 +861,7 @@ const CardPage1 = (props) => { return (
    {/* Top area */}
    @@ -875,7 +874,7 @@ const CardPage1 = (props) => { ? props.class : 'KioskCard-card-main' } - // style={{ backgroundColor: getKioskLightColourdata }} + // style={{ backgroundColor: getKioskLightColourdata }} > {/* Mapping through kioskCategoriesCard */} {(selfBookingOption === 'Card Only' || @@ -891,9 +890,9 @@ const CardPage1 = (props) => { card?.OverAllQty, KioskOrderDetails ) > 0) || - card?.ProductDetail?.some( - (item) => item?.StockAvailable !== 'Y' - ) + card?.ProductDetail?.some( + (item) => item?.StockAvailable !== 'Y' + ) ? 'KioskCard-card' : 'KioskCard-card-dis' } @@ -923,9 +922,9 @@ const CardPage1 = (props) => { card?.OverAllQty, KioskOrderDetails ) > 0) || - card?.ProductDetail?.some( - (item) => item?.StockAvailable !== 'Y' - ) ? ( + card?.ProductDetail?.some( + (item) => item?.StockAvailable !== 'Y' + ) ? ( '' ) : (
    { {card?.ProductDetail?.filter( (item) => item.OnePcsAvailable == 'Y' ).length !== 0 && ( -
    { - e.stopPropagation(); // Stop event propagation to the parent div +
    { + e.stopPropagation(); // Stop event propagation to the parent div - if ( - !( - (card?.OverAllQty !== undefined && - returnOnepcCount( - card?.ProductDetail?.[0]?.ProdName, - card?.OverAllPcs, - CartOrderDetails - ) > 0) || - card?.ProductDetail?.some( - (item) => item?.StockAvailable !== 'Y' + if ( + !( + (card?.OverAllQty !== undefined && + returnOnepcCount( + card?.ProductDetail?.[0]?.ProdName, + card?.OverAllPcs, + CartOrderDetails + ) > 0) || + card?.ProductDetail?.some( + (item) => item?.StockAvailable !== 'Y' + ) ) - ) - ) { - return; // Don't proceed if the condition isn't met - } else { - CardOnClick(card, 'OnePeiceProduct'); // This only runs when you click the "One Piece" button - } - }} - style={{ - fontFamily: SelectedCardFont || '', - backgroundColor: - SelectedCardColor?.FontColor || '#f00000ff', - color: - returnOnepcCount( - card?.ProductDetail?.[0]?.ProdName, - card?.OverAllPcs, - CartOrderDetails - ) > 0 || - card?.ProductDetail?.some( - (product) => product?.StockAvailable !== 'Y' - ) - ? true - ? SelectedCardColor?.BackgroundColor || + ) { + return; // Don't proceed if the condition isn't met + } else { + CardOnClick(card, 'OnePeiceProduct'); // This only runs when you click the "One Piece" button + } + }} + style={{ + fontFamily: SelectedCardFont || '', + backgroundColor: + SelectedCardColor?.FontColor || '#f00000ff', + color: + returnOnepcCount( + card?.ProductDetail?.[0]?.ProdName, + card?.OverAllPcs, + CartOrderDetails + ) > 0 || + card?.ProductDetail?.some( + (product) => product?.StockAvailable !== 'Y' + ) + ? true + ? SelectedCardColor?.BackgroundColor || '#000000' - : '#fff' - : '#ff4d4f', - }} - > -
    - {' '} - {AppName?.toLowerCase() === 'sports' - ? 'Single' - : '1PCS'}{' '} + : '#fff' + : '#ff4d4f', + }} + > +
    + {' '} + {AppName?.toLowerCase() === 'sports' + ? 'Single' + : '1PCS'}{' '} +
    -
    - )} + )}
    ) )} diff --git a/src/Pages/Preference/PreferenceList.jsx b/src/Pages/Preference/PreferenceList.jsx index 7d3fea8..614f123 100644 --- a/src/Pages/Preference/PreferenceList.jsx +++ b/src/Pages/Preference/PreferenceList.jsx @@ -108,6 +108,7 @@ const PreferenceList = () => { weeklysalesreport: allSettingsMap['weeklysalesreport'] === 'Y', notificationblink: allSettingsMap['notificationblink'] === 'Y', onlineindivdualslots: allSettingsMap['onlineindivdualslots'] === 'Y', + editbill: allSettingsMap['editbill'] === 'Y', notification: [ ...(allSettingsMap['onbilltime'] === 'Y' ? ['onbilltime'] : []), ...(allSettingsMap['1daybefore'] === 'Y' ? ['1daybefore'] : []), @@ -308,6 +309,7 @@ const PreferenceList = () => { lowstockreport: values.lowstockreport, weeklysalesreport: values.weeklysalesreport, notificationblink: values.notificationblink, + editbill: values.editbill, }; const arrayValues = { @@ -627,6 +629,7 @@ const PreferenceList = () => { 'Do you Want Customised Bill Number?' )} {renderCheckbox('upiqr', 'Do you want to show the UPI QR code?')} + {/* {renderCheckbox('editbill', 'Do you want to edit the previously created bill?')} */}
    diff --git a/src/Pages/Tablebooking/TableBooking.jsx b/src/Pages/Tablebooking/TableBooking.jsx index 3c03f1a..7568463 100644 --- a/src/Pages/Tablebooking/TableBooking.jsx +++ b/src/Pages/Tablebooking/TableBooking.jsx @@ -1034,7 +1034,6 @@ const TableBooking = ({ PaymentStatus }) => { ); const navigatetoBooking = async (data) => { - const OrderDetails = data?.OrderDetails?.[0]; const { OrderDtlDetails, diff --git a/src/Pages/paymentpdfPage/PaymentPdfBooking.jsx b/src/Pages/paymentpdfPage/PaymentPdfBooking.jsx index 5722742..a787009 100644 --- a/src/Pages/paymentpdfPage/PaymentPdfBooking.jsx +++ b/src/Pages/paymentpdfPage/PaymentPdfBooking.jsx @@ -49,6 +49,18 @@ const PaymentPdfBooking = ({ let PaymentStatusSuccess = PaymentStatus?.filter( (ps) => ps.PaymentStatus === 'S' ); + 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' + ) + console.log(singleData2?.filter(data => data?.EditTokenAvailable !== 'N'), "singleData2") const ExtraChargeTotal = table2Data?.ExtraChargeDetails?.reduce( (accumulator, currentObject) => { return accumulator + currentObject.TotalAmt; @@ -80,6 +92,7 @@ const PaymentPdfBooking = ({ const [BranchZip, setBranchZip] = useState(); const CashierName = getSession('userName'); const printerTemplateStyle = useSelector(SelectedPrintTemplate); + console.log(printerTemplateStyle, "printerTemplateStyle") const appPreferences = useSelector(ApplicationPreferences); const SettingData = useSelector(PreferenceData); const estimatePrintHeader = @@ -297,6 +310,21 @@ const PaymentPdfBooking = ({ return `${h}:${m}${suffix}`; }; + const getAdjustmentLabel = (type) => { + switch (type?.toUpperCase()) { + case 'REFUND': + return 'Returned Item Amount'; + case 'EXTRA': + return 'Additional Amount'; + case 'DISCOUNT': + return 'Discount Applied'; + case 'ROUND_OFF': + return 'Round Off'; + default: + return 'Adjustment Amount'; + } + }; + return ( <>
    @@ -341,8 +369,8 @@ const PaymentPdfBooking = ({ {table2Data?.AddressDetails?.[0]?.City && table2Data?.AddressDetails?.[0]?.Zip && table2Data?.AddressDetails?.[0]?.City + - '- ' + - table2Data?.AddressDetails?.[0]?.Zip} + '- ' + + table2Data?.AddressDetails?.[0]?.Zip}

    )} @@ -358,9 +386,9 @@ const PaymentPdfBooking = ({ GSTIN: {table2Data?.BrGSTIN}

    )} -

    + {table2Data?.BrMobile &&

    Mobile:+91 {table2Data?.BrMobile} -

    +

    }
    @@ -435,7 +463,7 @@ const PaymentPdfBooking = ({
    - BillNo: + Bill No: {table2Data?.OrderId && extractLastNumberOrderId( table2Data?.OrderId, @@ -512,27 +540,27 @@ const PaymentPdfBooking = ({   {item?.ProductIdentifierDtls?.length > 0 ? item?.ProductIdentifierDtls.filter( - (items) => - items.SerialNumber && - items.SerialNumber !== '' - ).map((a, i) => ( -
    {a.SerialNumber}
    - )) + (items) => + items.SerialNumber && + items.SerialNumber !== '' + ).map((a, i) => ( +
    {a.SerialNumber}
    + )) : ''} {item?.ProductIdentifierDtls?.length > 0 ? item?.ProductIdentifierDtls.filter( - (id) => id.IMEI1 !== '' || id.IMEI2 !== '' - ).map((id, i) => { - const imei1 = id.IMEI1 || ''; - const imei2 = id.IMEI2 || ''; - return ( -
    - {[imei1, imei2] - .filter(Boolean) - .join(',')} -
    - ); - }) + (id) => id.IMEI1 !== '' || id.IMEI2 !== '' + ).map((id, i) => { + const imei1 = id.IMEI1 || ''; + const imei2 = id.IMEI2 || ''; + return ( +
    + {[imei1, imei2] + .filter(Boolean) + .join(',')} +
    + ); + }) : ''}
    @@ -549,25 +577,25 @@ const PaymentPdfBooking = ({   {item?.ProductIdentifierDtls?.length > 0 ? item?.ProductIdentifierDtls.filter( - (items) => - items.SerialNumber && - items.SerialNumber !== '' - ).map((a, i) => ( -
    {a.SerialNumber}
    - )) + (items) => + items.SerialNumber && + items.SerialNumber !== '' + ).map((a, i) => ( +
    {a.SerialNumber}
    + )) : ''} {item?.ProductIdentifierDtls?.length > 0 ? item?.ProductIdentifierDtls.filter( - (id) => id.IMEI1 !== '' || id.IMEI2 !== '' - ).map((id, i) => { - const imei1 = id.IMEI1 || ''; - const imei2 = id.IMEI2 || ''; - return ( -
    - {[imei1, imei2].filter(Boolean).join(',')} -
    - ); - }) + (id) => id.IMEI1 !== '' || id.IMEI2 !== '' + ).map((id, i) => { + const imei1 = id.IMEI1 || ''; + const imei2 = id.IMEI2 || ''; + return ( +
    + {[imei1, imei2].filter(Boolean).join(',')} +
    + ); + }) : ''} )} @@ -1109,7 +1137,7 @@ const PaymentPdfBooking = ({ >
    )} - {PaymentStatusSuccess?.length > 1 && ( + {(PaymentStatusSuccess?.length > 1 && !isEditedBill) && ( <> {/*

    Split Payment:

    */} {Object.keys(aggregatedPayments)?.map((paymentType) => ( @@ -1122,6 +1150,48 @@ const PaymentPdfBooking = ({ ))} )} + {isEditedBill && lastTransaction && ( +
    +
    +
    + Bill Gross Amount + {(lastTransaction?.BeforeAdjustment || 0).toFixed(2)} +
    +
    + {'Adjustment Amount'} + + {lastTransaction?.AdjustmentType === 'REFUND' ? '-' : '+'} + {(lastTransaction?.Amount || 0).toFixed(2)} + +
    +
    + Net Bill Amount + {(lastTransaction?.AfterAdjustment || 0).toFixed(2)} +
    +
    +
    + )} {table2Data?.CustSuppName && (

    { + singleData2?.filter(data => data?.EditTokenAvailable !== 'N')?.reduce((acc, item, idx) => { if (item.TokenAvailable === 'Y') { if (!item.CounterName) { // For null or empty CounterName, print each item individually @@ -1607,7 +1677,7 @@ const PaymentPdfBooking = ({

    Token

    -

    BillNo: {orderId}

    +

    Bill No: {orderId}

    {Date1}

    @@ -1625,9 +1695,9 @@ const PaymentPdfBooking = ({ - + - + ))}
    {idx + 1} {item.ProdName}{item.SalesQty}{item?.EditTokenAvailable === 'Y' ? item?.EditTokenQty : item.SalesQty} {item.Rate}{item.TotalAmt}{((item?.EditTokenAvailable === 'Y' ? item?.EditTokenQty : item.SalesQty) * item.Rate) - ((item?.EditTokenAvailable === 'Y' ? (item?.OfferAmt / item?.EditTokenQty) : item?.OfferAmt))}