diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BsBill2.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BsBill2.jsx index 2296ebd..fbe9019 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BsBill2.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable2/BsBill2.jsx @@ -1,6 +1,6 @@ import React, { useEffect, useState, Suspense } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { Badge } from 'antd'; +import { Badge, message } from 'antd'; import defaultimage from '../../../../../Images/defaultItemImg.png'; import { GlobalOrderCardDetails, @@ -57,6 +57,7 @@ import { useApplyOfferto_CardDetail } from '../../UtillComponents/BSNavBarOffer/ import { ClearOfferAppliedProducts } from '../../../../../Features/Offer/Offernew/BookingOffernew.js'; import { useUtilsComponent } from '../../../../../Services/utils.js'; import CustomerPriceHistory from '../../UtillComponents/CustomerPriceHistory.jsx'; +import { calculateOverAllQtyLimit } from '../../../../../utils/calculations.js'; const MinusOutlined = React.lazy( () => import('@ant-design/icons/MinusOutlined') @@ -129,6 +130,14 @@ const BsBill2 = () => { const productBasedExtraCharges = GlobalExtraCharge.filter( (obj) => 'ProdName' in obj ); + const overAllLimitPreferenece = + preferenceDatas?.[0]?.['SettingDtlDetails']?.find( + (item) => (item.SettingIdName?.toLowerCase() === 'overalllimit') && item?.SettingValue === 'Y'); + const itemWiseLimitPreferenece = + preferenceDatas?.[0]?.['SettingDtlDetails']?.find( + (item) => item.SettingIdName?.toLowerCase() === 'itemwiselimit' && item?.SettingValue === 'Y'); + const maxQtyLimit = itemWiseLimitPreferenece?.SettingCount || overAllLimitPreferenece?.SettingCount || null; + const tableDataDinein = CartOrderDetails?.filter( (a, b) => a.BookingTypeName === 'Dine In' && !a?.SalesId @@ -271,6 +280,16 @@ const BsBill2 = () => { setCustomerProduct(item?.ProdId); }; const increase = async (item) => { + if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) { + if (overAllLimitPreferenece) { + const calculatedOverAllQty = calculateOverAllQtyLimit(CartOrderDetails); + if ((calculatedOverAllQty + 1) > maxQtyLimit) { + message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`) + + return; + } + } + } const OtherOrderDatas = CartOrderDetails?.filter( (cartItem) => !(