kisok quantity constrain

This commit is contained in:
unknown 2026-02-24 14:33:29 +05:30
parent 58e1a5e7a7
commit 70444d3028
11 changed files with 556 additions and 348 deletions

View File

@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Drawer } from 'antd';
import { Drawer, message } from 'antd';
import { DefaultModal } from '../../../Components/Modal/DefaultModal';
import {
changeKioskPageName,
@ -16,10 +16,12 @@ import {
GlobalBookingTypeKiosk,
} from '../../../Features/BookingScreen/BookingData/KioskBookingData';
import horizontal from '../../../Images/defaultItemImg.png';
import { getConfigType } from '../../../Features/BookingScreen/BookingData/BookingData';
import { getConfigType, PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { calculateOverAllQtyLimit } from '../../../utils/calculations.js';
const CardPage1 = (props) => {
const dispatch = useDispatch();
const preferenceDatas = useSelector(PreferenceData);
const kioskCategoriesCard = useSelector(GlobalProductCardListKiosk);
const KioskOrderDetails = useSelector(GlobalKioskOrderDetails);
const getKioskLightColourdata = useSelector(getKioskLightColour);
@ -35,7 +37,13 @@ const CardPage1 = (props) => {
const UomPrint = SettingDataSelector?.[0]?.SettingDtlDetails.filter(
(i) => i.SettingIdName === 'PrintUom'
)?.[0];
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;
useEffect(() => {
getBookingTypeId();
}, []);
@ -49,6 +57,15 @@ const CardPage1 = (props) => {
//Card on click function
const CardOnClick = async (item, Parameter) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
setOnePeiceFlow(Parameter === 'OnePeiceProduct');
const transformedItem = {

View File

@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Drawer } from 'antd';
import { Drawer, message } from 'antd';
import { DefaultModal } from '../../../Components/Modal/DefaultModal';
import {
changeKioskPageName,
@ -15,10 +15,12 @@ import {
changeKioskOrderDetails,
} from '../../../Features/BookingScreen/BookingData/KioskBookingData';
import horizontal from '../../../Images/defaultItemImg.png';
import { getConfigType } from '../../../Features/BookingScreen/BookingData/BookingData';
import { getConfigType, PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { calculateOverAllQtyLimit } from '../../../utils/calculations.js';
const CardPage2 = (props) => {
const dispatch = useDispatch();
const preferenceDatas = useSelector(PreferenceData);
const kioskCategoriesCard = useSelector(GlobalProductCardListKiosk);
const KioskOrderDetails = useSelector(GlobalKioskOrderDetails);
const getKioskLightColourdata = useSelector(getKioskLightColour);
@ -35,6 +37,13 @@ const CardPage2 = (props) => {
(i) => i.SettingIdName === 'PrintUom'
)?.[0];
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;
useEffect(() => {
getBookingTypeId();
}, []);
@ -48,6 +57,16 @@ const CardPage2 = (props) => {
//Card on click function
const CardOnClick = async (item, Parameter) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
setOnePeiceFlow(Parameter === 'OnePeiceProduct');
const transformedItem = {
@ -81,11 +100,11 @@ const CardPage2 = (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) {
@ -131,13 +150,13 @@ const CardPage2 = (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') {
@ -236,7 +255,7 @@ const CardPage2 = (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]
@ -261,14 +280,14 @@ const CardPage2 = (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,
@ -312,28 +331,28 @@ const CardPage2 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -515,9 +534,9 @@ const CardPage2 = (props) => {
card?.OverAllQty,
KioskOrderDetails
) > 0) ||
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
)
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
)
? 'CardPage2-container'
: 'CardPage2-container-dis '
}
@ -540,9 +559,9 @@ const CardPage2 = (props) => {
card?.OverAllQty,
KioskOrderDetails
) > 0) ||
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
) ? (
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
) ? (
''
) : (
<div
@ -560,17 +579,17 @@ const CardPage2 = (props) => {
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
)) && (
<p className="CardPage2-container-price">
{' '}
<span style={{ fontSize: '16px', fontFamily: 'gilroy' }}>
</span>
{ItemSellingPrice(card)}&nbsp;
<span className="BSItemCard-itemCount">
({ItemSize(card)} {ItemUomName(card)})
</span>
</p>
)}
<p className="CardPage2-container-price">
{' '}
<span style={{ fontSize: '16px', fontFamily: 'gilroy' }}>
</span>
{ItemSellingPrice(card)}&nbsp;
<span className="BSItemCard-itemCount">
({ItemSize(card)} {ItemUomName(card)})
</span>
</p>
)}
</div>
)
)}
@ -723,7 +742,7 @@ const CardPage2 = (props) => {
KioskOrderDetails,
item?.ProdVariantName
) > 0 ||
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
'Y'
? 'ProVariantCard'
: 'ProVariantCard-dis'
@ -739,7 +758,7 @@ const CardPage2 = (props) => {
KioskOrderDetails,
item?.ProdVariantName
) > 0 ||
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
'Y' ? (
<div> {item?.StockDetails?.[0]?.SellPrice}</div>
) : (

View File

@ -1,5 +1,5 @@
import React, { useEffect, useState } from 'react';
import { Drawer } from 'antd';
import { Drawer, message } from 'antd';
import { IoCheckmarkCircle } from 'react-icons/io5';
import { DefaultModal } from '../../../Components/Modal/DefaultModal';
import defaultimage from '../../../Images/defaultItemImg.png';
@ -14,10 +14,12 @@ import {
import { settingDataSelector } from '../../../Features/PreferenceMaster/PreferenceMaster.js';
import horizontal from '../../../Images/defaultItemImg.png';
import { getKioskLightColour } from '../../../Features/Kiosk/kiosk';
import { getConfigType } from '../../../Features/BookingScreen/BookingData/BookingData';
import { getConfigType, PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { calculateOverAllQtyLimit } from '../../../utils/calculations.js';
const CardPage3 = (props) => {
const dispatch = useDispatch();
const preferenceDatas = useSelector(PreferenceData);
const kioskCategoriesCard = useSelector(GlobalProductCardListKiosk);
const KioskOrderDetails = useSelector(GlobalKioskOrderDetails);
console.log(KioskOrderDetails, 'KioskOrderDetailsKioskOrderDetails');
@ -35,6 +37,13 @@ const CardPage3 = (props) => {
const UomPrint = SettingDataSelector?.[0]?.SettingDtlDetails.filter(
(i) => i.SettingIdName === 'PrintUom'
)?.[0];
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 onClose = () => {
setopenQuantity(false);
};
@ -47,6 +56,15 @@ const CardPage3 = (props) => {
}, []);
//Card on click function
const CardOnClick = async (item, Parameter) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
setOnePeiceFlow(Parameter === 'OnePeiceProduct');
const transformedItem = {
@ -80,11 +98,11 @@ const CardPage3 = (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) {
@ -131,13 +149,13 @@ const CardPage3 = (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') {
@ -234,7 +252,7 @@ const CardPage3 = (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]
@ -259,14 +277,14 @@ const CardPage3 = (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,
@ -310,28 +328,28 @@ const CardPage3 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -516,9 +534,9 @@ const CardPage3 = (props) => {
card?.OverAllQty,
KioskOrderDetails
) > 0) ||
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
)
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
)
? 'CardPage3-container'
: 'CardPage3-container-dis'
}
@ -529,10 +547,10 @@ const CardPage3 = (props) => {
{KioskOrderDetails?.some(
(item) => item?.ProdName === card?.ProdName
) && (
<div className="CardPage3-check-symbol">
<IoCheckmarkCircle />
</div>
)}
<div className="CardPage3-check-symbol">
<IoCheckmarkCircle />
</div>
)}
<img
src={
card?.ProductDetail?.[0]?.ProdLogo
@ -548,9 +566,9 @@ const CardPage3 = (props) => {
card?.OverAllQty,
KioskOrderDetails
) > 0) ||
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
) ? (
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
) ? (
''
) : (
<div
@ -568,13 +586,13 @@ const CardPage3 = (props) => {
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
)) && (
<p className="CardPage3-container-price">
{ItemSellingPrice(card)}&nbsp;
<span className="BSItemCard-itemCount">
({ItemSize(card)} {ItemUomName(card)})
</span>
</p>
)}
<p className="CardPage3-container-price">
{ItemSellingPrice(card)}&nbsp;
<span className="BSItemCard-itemCount">
({ItemSize(card)} {ItemUomName(card)})
</span>
</p>
)}
</div>
)
)}
@ -724,7 +742,7 @@ const CardPage3 = (props) => {
KioskOrderDetails,
item?.ProdVariantName
) > 0 ||
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
'Y'
? 'ProVariantCard'
: 'ProVariantCard-dis'
@ -740,7 +758,7 @@ const CardPage3 = (props) => {
KioskOrderDetails,
item?.ProdVariantName
) > 0 ||
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
'Y' ? (
<div>{item?.StockDetails?.[0]?.SellPrice}</div>
) : (

View File

@ -3,7 +3,7 @@ import { useDispatch, useSelector } from 'react-redux';
import { AiFillPlusCircle, AiFillMinusCircle } from 'react-icons/ai';
import { BsHandbag } from 'react-icons/bs';
import { DefaultModal } from '../../../Components/Modal/DefaultModal';
import { Drawer } from 'antd';
import { Drawer, message } from 'antd';
import '../../../Styles/Kiosk/CardPage/CardPage4.scss';
import {
GlobalBookingTypeKiosk,
@ -14,10 +14,12 @@ import {
import { settingDataSelector } from '../../../Features/PreferenceMaster/PreferenceMaster.js';
import horizontal from '../../../Images/defaultItemImg.png';
import { getKioskLightColour } from '../../../Features/Kiosk/kiosk';
import { getConfigType } from '../../../Features/BookingScreen/BookingData/BookingData';
import { getConfigType, PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { calculateOverAllQtyLimit } from '../../../utils/calculations.js';
const CardPage4 = (props) => {
const dispatch = useDispatch();
const preferenceDatas = useSelector(PreferenceData);
const kioskCategoriesCard = useSelector(GlobalProductCardListKiosk);
const KioskOrderDetails = useSelector(GlobalKioskOrderDetails);
console.log(KioskOrderDetails, 'KioskOrderDetails');
@ -36,7 +38,13 @@ const CardPage4 = (props) => {
const UomPrint = SettingDataSelector?.[0]?.SettingDtlDetails.filter(
(i) => i.SettingIdName === 'PrintUom'
)?.[0];
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;
useEffect(() => {
getBookingTypeId();
}, []);
@ -79,6 +87,15 @@ const CardPage4 = (props) => {
//Card on click function
const CardOnClick = async (item, Parameter) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
setOnePeiceFlow(Parameter === 'OnePeiceProduct');
const transformedItem = {
@ -112,11 +129,11 @@ const CardPage4 = (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) {
@ -162,13 +179,13 @@ const CardPage4 = (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
);
if (Isincart && Isincart?.StockAvailable === 'Y') {
@ -259,7 +276,7 @@ const CardPage4 = (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]
@ -284,14 +301,14 @@ const CardPage4 = (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,
@ -335,28 +352,28 @@ const CardPage4 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -583,9 +600,9 @@ const CardPage4 = (props) => {
card?.OverAllQty,
KioskOrderDetails
) > 0) ||
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
) ? (
card?.ProductDetail?.some(
(item) => item?.StockAvailable !== 'Y'
) ? (
<div
className="CardPage4-addbutton"
onClick={() => CardOnClick(card)}
@ -745,7 +762,7 @@ const CardPage4 = (props) => {
KioskOrderDetails,
item?.ProdVariantName
) > 0 ||
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
'Y'
? 'ProVariantCard'
: 'ProVariantCard-dis'
@ -761,7 +778,7 @@ const CardPage4 = (props) => {
KioskOrderDetails,
item?.ProdVariantName
) > 0 ||
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
qtydata?.ProductDetail?.[QtyIndex]?.StockAvailable !==
'Y' ? (
<div>{item?.StockDetails?.[0]?.SellPrice} </div>
) : (

View File

@ -1,4 +1,4 @@
import { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import axios from 'axios';
import { Skeleton } from 'antd';
@ -70,6 +70,11 @@ const KioskBookingPage = () => {
}, []);
const fetchData = async () => {
dispatch(getPreferenceData({
CompId: SessionDtl?.CompId,
BranchId: SessionDtl?.BranchId,
AppId: SessionDtl?.AppId,
})).unwrap();
const queryParams = await getQueryParams();
console.log('queryParams', queryParams);
@ -143,7 +148,7 @@ const KioskBookingPage = () => {
responseData?.SessionId != null &&
responseData?.SessionId != undefined &&
sessionStore('SessionId', responseData?.SessionId);
responseData?.DeviceAddress != null &&
responseData?.DeviceAddress != null &&
responseData?.DeviceAddress != undefined &&
sessionStore('DeviceAddress', MACAddress);
sessionStore('hasRefreshed', true);
@ -160,10 +165,12 @@ const KioskBookingPage = () => {
AppId: responseData?.AppId,
DeviceMacAddress: MACAddress
})).unwrap();
dispatch(getPreferenceData({ CompId: responseData?.CompId,
dispatch(getPreferenceData({
CompId: responseData?.CompId,
BranchId: responseData?.BranchId,
AppId: responseData?.AppId,})).unwrap();
AppId: responseData?.AppId,
})).unwrap();
dispatch(
getProductCategories({
CompId: responseData?.CompId,
@ -274,7 +281,7 @@ const KioskBookingPage = () => {
AppId: AppId,
})
).unwrap();
if (Response?.data?.statusCode == 1) {
dispatch(
getProductCardListKiosk({

View File

@ -4,9 +4,22 @@ import { changeKioskOrderDetails } from '../../../Features/BookingScreen/Booking
import PozoDineInIcon from '../KioskIcons/KioskDineIn';
import TakeAway from '../KioskIcons/KioskTakeAway';
import '../../../Styles/Kiosk/OrderCart/OrderCart1.scss';
import { useSelector } from 'react-redux';
import { PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { message } from 'antd';
import { calculateOverAllQtyLimit } from '../../../utils/calculations';
const KisokOrderCart1 = (props) => {
const dispatch = useDispatch();
const preferenceDatas = useSelector(PreferenceData);
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 KioskOrderDetails = props?.KioskOrderDetails;
const removeFromCart = async (item) => {
await dispatch(
@ -24,6 +37,15 @@ const KisokOrderCart1 = (props) => {
);
};
const increase = async (item) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
await dispatch(
changeKioskOrderDetails(
KioskOrderDetails?.map(
@ -31,28 +53,28 @@ const KisokOrderCart1 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -76,28 +98,28 @@ const KisokOrderCart1 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)

View File

@ -6,9 +6,22 @@ import '../../../Styles/Kiosk/OrderCart/OrderCart2.scss';
import PozoDineInIcon from '../KioskIcons/KioskDineIn';
import TakeAway from '../KioskIcons/KioskTakeAway';
import { color } from 'highcharts';
import { calculateOverAllQtyLimit } from '../../../utils/calculations';
import { PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { useSelector } from 'react-redux';
import { message } from 'antd';
const KisokOrderCart2 = (props) => {
const dispatch = useDispatch();
const preferenceDatas = useSelector(PreferenceData);
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 KioskOrderDetails = props?.KioskOrderDetails;
const removeFromCart = async (item) => {
@ -27,6 +40,16 @@ const KisokOrderCart2 = (props) => {
);
};
const increase = async (item) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
await dispatch(
changeKioskOrderDetails(
KioskOrderDetails?.map(
@ -34,28 +57,28 @@ const KisokOrderCart2 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -79,28 +102,28 @@ const KisokOrderCart2 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)

View File

@ -8,10 +8,22 @@ import {
import PozoDineInIcon from '../KioskIcons/KioskDineIn';
import TakeAway from '../KioskIcons/KioskTakeAway';
import '../../../Styles/Kiosk/OrderCart/OrderCart3.scss';
import { calculateOverAllQtyLimit } from '../../../utils/calculations';
import { message } from 'antd';
import { PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
const KisokOrderCart3 = (props) => {
const dispatch = useDispatch();
const getKioskDarkColourdata = useSelector(getKioskDarkColour);
const preferenceDatas = useSelector(PreferenceData);
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 BookingTypeBoth = useSelector(GlobalKioskBookingTypeBoth);
const KioskOrderDetails = props?.KioskOrderDetails;
@ -31,6 +43,15 @@ const KisokOrderCart3 = (props) => {
);
};
const increase = async (item) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
await dispatch(
changeKioskOrderDetails(
KioskOrderDetails?.map(
@ -38,28 +59,28 @@ const KisokOrderCart3 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -81,28 +102,28 @@ const KisokOrderCart3 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)

View File

@ -16,6 +16,9 @@ import KioskFooter3 from '../Components/KioskFooter3';
import PozoDineInIcon from '../KioskIcons/KioskDineIn';
import TakeAway from '../KioskIcons/KioskTakeAway';
import '../../../Styles/Kiosk/OrderView/OrderView1.scss';
import { PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { calculateOverAllQtyLimit } from '../../../utils/calculations';
import { message } from 'antd';
const OrderView1 = (props) => {
const KioskThemeData = props?.hasOwnProperty('KioskThemeData')
@ -24,6 +27,14 @@ const OrderView1 = (props) => {
const dispatch = useDispatch();
const KioskOrderDetails = useSelector(GlobalKioskOrderDetails);
const getKioskLightColourdata = useSelector(getKioskLightColour);
const preferenceDatas = useSelector(PreferenceData);
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 BackToCategory = async () => {
await dispatch(changeKioskPageName('categoryPage'));
@ -44,6 +55,17 @@ const OrderView1 = (props) => {
);
};
const increase = async (item) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
await dispatch(
changeKioskOrderDetails(
KioskOrderDetails?.map(
@ -51,28 +73,28 @@ const OrderView1 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -96,28 +118,28 @@ const OrderView1 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)

View File

@ -18,6 +18,9 @@ import { IoMdClose } from 'react-icons/io';
import defaultImg from '../../../Images/defaultItemImg.png';
import PozoDineInIcon from '../KioskIcons/KioskDineIn';
import TakeAway from '../KioskIcons/KioskTakeAway';
import { calculateOverAllQtyLimit } from '../../../utils/calculations';
import { message } from 'antd';
import { PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
const KioskOrderView2 = (props) => {
console.log(props, 'propsprops');
@ -25,6 +28,15 @@ const KioskOrderView2 = (props) => {
? props['KioskThemeData']
: null;
const dispatch = useDispatch();
const preferenceDatas = useSelector(PreferenceData);
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 KioskOrderDetails = useSelector(GlobalKioskOrderDetails);
const getKioskLightColourdata = useSelector(getKioskLightColour);
console.log(KioskOrderDetails, 'KioskOrderDetailsh');
@ -54,6 +66,15 @@ const KioskOrderView2 = (props) => {
);
};
const increase = async (item) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
await dispatch(
changeKioskOrderDetails(
KioskOrderDetails?.map(
@ -61,28 +82,28 @@ const KioskOrderView2 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -106,28 +127,28 @@ const KioskOrderView2 = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem.BookingTypeName === item.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)

View File

@ -18,6 +18,9 @@ import {
import KioskFooter3 from '../Components/KioskFooter3';
import PozoDineInIcon from '../KioskIcons/KioskDineIn';
import TakeAway from '../KioskIcons/KioskTakeAway';
import { PreferenceData } from '../../../Features/BookingScreen/BookingData/BookingData';
import { calculateOverAllQtyLimit } from '../../../utils/calculations';
import { message } from 'antd';
const KioskOrderView = (props) => {
console.log(props, 'propsprops');
@ -27,6 +30,14 @@ const KioskOrderView = (props) => {
const dispatch = useDispatch();
const KioskOrderDetails = useSelector(GlobalKioskOrderDetails);
const getKioskLightColourdata = useSelector(getKioskLightColour);
const preferenceDatas = useSelector(PreferenceData);
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 BackToCategory = async () => {
await dispatch(changeKioskPageName('categoryPage'));
@ -47,6 +58,16 @@ const KioskOrderView = (props) => {
);
};
const increase = async (item) => {
if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
if (overAllLimitPreferenece) {
const calculatedOverAllQty = calculateOverAllQtyLimit(KioskOrderDetails);
if ((calculatedOverAllQty + 1) > maxQtyLimit) {
message.warning(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`)
return;
}
}
}
await dispatch(
changeKioskOrderDetails(
KioskOrderDetails?.map(
@ -54,28 +75,28 @@ const KioskOrderView = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -98,28 +119,28 @@ const KioskOrderView = (props) => {
cartItem // if the item is already in the cart, increase the quantity of the item
) =>
cartItem.ProdId === item.ProdId &&
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
cartItem.InwardDtlId === item.InwardDtlId &&
cartItem.OrderRate === item.OrderRate &&
cartItem?.BookingTypeName === item?.BookingTypeName
? {
...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 // otherwise, return the cart item
)
)
@ -201,10 +222,10 @@ const KioskOrderView = (props) => {
{!item?.ProdVariantName?.toLowerCase().includes(
'variant'
) && (
<span style={{ color: 'black' }}>
{item?.ProdVariantName}{' '}
</span>
)}{' '}
<span style={{ color: 'black' }}>
{item?.ProdVariantName}{' '}
</span>
)}{' '}
{item?.Size}{' '}
{item?.SinglePc == 'Y' ? 'PCS' : item?.UomName}
</div>