diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BsBill.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BsBill.jsx
index bc40f50..25c95a4 100644
--- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BsBill.jsx
+++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingTable5/BsBill.jsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useState } from 'react';
+import React, { useCallback, useEffect, useState } from 'react';
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
import { Popconfirm, Tooltip } from 'antd';
import { AiOutlineClose, AiFillDelete } from 'react-icons/ai';
@@ -79,6 +79,8 @@ import BSEditTotalAmt from '../BSEditTotalAmount/BSEditTotalAmt.jsx';
import BSImeiDetails from '../BSImeiDetails/BSImeiDetails.jsx';
import { useUtilsComponent } from '../../../../../Services/utils.js';
import CustomerPriceHistory from '../../UtillComponents/CustomerPriceHistory.jsx';
+import { calculateOverAllQtyLimit } from '../../../../../utils/calculations.js';
+import { Messages } from '../../../../../../ownLib/my-ui-lib.js';
const BsBill = () => {
const { removeExtraCharge } = useUtilsComponent();
@@ -108,6 +110,8 @@ const BsBill = () => {
setting?.SettingValue === 'Y'
);
const [count, setCount] = useState(1);
+ const [messageType, setMessageType] = useState(null);
+ const [messageData, setMessageData] = useState(null);
const [EditQuantity, setEditQuantity] = useState(false);
const [Modaldata, setModaldata] = useState([]);
const TableData = useSelector(GlobalOrderCardDetails);
@@ -141,6 +145,14 @@ const BsBill = () => {
const OrderType = useSelector(GlobalOrderType);
const GlobEstBooking = useSelector(GlobalEstimateBooking);
const GlobalExtraCharge = useSelector(globalExtraTotalAmount);
+ 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 OtherServicesglobal = useSelector(GlobalOtherSevices);
@@ -2123,8 +2135,22 @@ const BsBill = () => {
const handleEditQuantityCancel = () => {
setEditQuantity(false);
};
-
+ const onComplete = useCallback(() => {
+ setMessageData(null);
+ setMessageType(null);
+ }, []);
const increase = async (item) => {
+
+ if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
+ if (overAllLimitPreferenece) {
+ const calculatedOverAllQty = calculateOverAllQtyLimit(TableData);
+ if ((calculatedOverAllQty + 1) > maxQtyLimit) {
+ setMessageData(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`);
+ setMessageType('warning');
+ return;
+ }
+ }
+ }
const OtherOrderDatas = TableData?.filter(
(cartItem) =>
!(
@@ -3049,6 +3075,11 @@ const BsBill = () => {
};
return (
+
import('../BookingFunctionality/FeaturesFunctionalities')
);
import { isMobile } from 'react-device-detect';
-import BarcodeScanner from '../UtillComponents/BarcodeScanner.jsx';
import {
getTemplateData,
StoredSessionData,
} from '../../../../Features/ThemeChange/ThemeChange.js';
import { v4 as uuidv4 } from 'uuid';
-import BSNavBarWeightScale from '../UtillComponents/BSNavBarWeightScale.jsx';
import {
changeFreeProductForLoyalty,
ChangeFreeProductList,
@@ -89,6 +87,7 @@ import {
import { Global_PromoCodeOffers } from '../../../../Features/Offer/Offer.js';
import { validateOffers } from '../BSItemCards/ValidateOffer.jsx';
import { useSaleswiseOfferWatcher } from '../BSItemCards/SalesWiseOffer.jsx';
+import { calculateOverAllQtyLimit } from '../../../../utils/calculations.js';
const ExpireConfirmModal = lazy(
() => import('../BookingFunctionality/ExpireConfirmModal.jsx')
);
@@ -134,6 +133,13 @@ export default function BSC1Search(props) {
const FeatureAddonData = useSelector(GlobalFeatAddOnData);
useSaleswiseOfferWatcher();
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 preferenceOffer =
preferenceDatas?.[0]?.['SettingDtlDetails']?.find(
(item) => item.SettingIdName === 'Offer'
@@ -705,7 +711,7 @@ export default function BSC1Search(props) {
WithoutTaxRate:
availableFreeQty * item.OrderRate -
(availableFreeQty * item.OrderRate * item.TaxPercentage) /
- 100,
+ 100,
Offer: availableFreeQty * item.OrderRate,
};
@@ -754,7 +760,7 @@ export default function BSC1Search(props) {
((existingPaidItem.OrderQty + excessQty) *
item.OrderRate *
item.TaxPercentage) /
- 100,
+ 100,
};
ModifiedData.push(mergedPaidItem);
@@ -789,7 +795,7 @@ export default function BSC1Search(props) {
data?.InwardDtlId === item?.InwardDtlId &&
data?.ProdId === item?.ProdId &&
data?.OfferMessage?.[0]?.OfferId ===
- item?.OfferMessage?.[0]?.OfferId
+ item?.OfferMessage?.[0]?.OfferId
);
if (isAlreadyExists !== -1) {
@@ -809,11 +815,11 @@ export default function BSC1Search(props) {
).toFixed(2),
WithoutTaxRate:
(ModifiedData[isAlreadyExists].OrderQty + item.OrderQty) *
- item.OrderRate -
+ item.OrderRate -
((ModifiedData[isAlreadyExists].OrderQty + item.OrderQty) *
item.OrderRate *
item.TaxPercentage) /
- 100,
+ 100,
Offer:
(ModifiedData[isAlreadyExists].OrderQty + item.OrderQty) *
item.OrderRate,
@@ -839,10 +845,10 @@ export default function BSC1Search(props) {
const appliedOfferAlreadyExists = AppliedOffers.findIndex(
(offer) =>
offer?.FreeProductsList?.FreeProdId ===
- matchingFreeProduct?.FreeProdId &&
+ matchingFreeProduct?.FreeProdId &&
offer?.TableName === matchingFreeProduct?.TableName &&
offer?.TableUniqueName ===
- matchingFreeProduct?.TableUniqueName &&
+ matchingFreeProduct?.TableUniqueName &&
offer?.OfferId === matchingFreeProduct?.OfferId &&
offer?.OfferMode === matchingFreeProduct?.OfferMode &&
offer?.FreeProductsList?.ProdVariantDetails?.[0]
@@ -1171,7 +1177,7 @@ export default function BSC1Search(props) {
const getPreferenceStock = async () => {
const PreferenceStckDtl = preferenceDatas?.[0]?.SettingDtlDetails;
- const StockPreference = PreferenceStckDtl.find(
+ const StockPreference = PreferenceStckDtl?.find(
(item) => item.SettingIdName === 'StockSelection'
);
@@ -1673,7 +1679,7 @@ export default function BSC1Search(props) {
0 ||
- record.StockCount === 'Stock Not Maintained'
+ record.StockCount === 'Stock Not Maintained'
? { color: '#000', cursor: 'pointer' }
: { color: '#f49898', cursor: 'not-allowed' }
}
@@ -1703,7 +1709,7 @@ export default function BSC1Search(props) {
0 ||
- record.StockCount === 'Stock Not Maintained'
+ record.StockCount === 'Stock Not Maintained'
? { color: '#000', cursor: 'pointer' }
: { color: '#f49898', cursor: 'not-allowed' }
}
@@ -1733,7 +1739,7 @@ export default function BSC1Search(props) {
0 ||
- record.StockCount === 'Stock Not Maintained'
+ record.StockCount === 'Stock Not Maintained'
? { color: '#000', cursor: 'pointer' }
: { color: '#f49898', cursor: 'not-allowed' }
}
@@ -1897,11 +1903,11 @@ export default function BSC1Search(props) {
StockCount:
qtydata?.ProductDetail?.[0]?.StockAvailable === 'Y'
? returnVariantStock(
- qtydata?.ProductDetail?.[QtyIndex]?.ProdId,
- item?.OverAllQty,
- CartOrderDetails,
- item?.ProdVariantName
- )
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdId,
+ item?.OverAllQty,
+ CartOrderDetails,
+ item?.ProdVariantName
+ )
: 'Stock Not Maintained',
});
});
@@ -1917,17 +1923,17 @@ export default function BSC1Search(props) {
'Batch No': item?.BatchRef,
StockCount: onePeiceFlow
? returnCountStock(
- item?.ProdId,
- item?.BalanceQty,
- CartOrderDetails,
- item?.InwardDtlId
- ) * item?.NoOfPcs
+ item?.ProdId,
+ item?.BalanceQty,
+ CartOrderDetails,
+ item?.InwardDtlId
+ ) * item?.NoOfPcs
: returnCountStock(
- item?.ProdId,
- item?.BalanceQty,
- CartOrderDetails,
- item?.InwardDtlId
- ),
+ item?.ProdId,
+ item?.BalanceQty,
+ CartOrderDetails,
+ item?.InwardDtlId
+ ),
'Stock Date': StockDate(item?.InwardDate),
Price: onePeiceFlow ? item?.OnePcsPrice : item?.SellPrice,
ExpDate:
@@ -1981,13 +1987,13 @@ export default function BSC1Search(props) {
(cartItem) =>
cartItem?.ProdId === item?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- VarientIndex
- ]?.StockDetails?.[0]?.InwardDtlId &&
+ item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ VarientIndex
+ ]?.StockDetails?.[0]?.InwardDtlId &&
cartItem?.OrderRate ===
- item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- VarientIndex
- ]?.StockDetails?.[0]?.SellPrice &&
+ item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ VarientIndex
+ ]?.StockDetails?.[0]?.SellPrice &&
!cartItem?.SalesId
);
@@ -1996,9 +2002,9 @@ export default function BSC1Search(props) {
(cartItem) =>
cartItem?.ProdId === item?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- VarientIndex
- ]?.StockDetails?.[0]?.InwardDtlId &&
+ item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ VarientIndex
+ ]?.StockDetails?.[0]?.InwardDtlId &&
// (cartItem?.OrderRate === item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]?.StockDetails?.[0]?.SellPrice)
!cartItem?.SalesId
);
@@ -2040,11 +2046,11 @@ export default function BSC1Search(props) {
(cartItem) =>
cartItem?.ProdId === item?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]
- ?.StockDetails?.[0]?.InwardDtlId &&
+ item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]
+ ?.StockDetails?.[0]?.InwardDtlId &&
cartItem?.OrderRate ===
- item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]
- ?.StockDetails?.[0]?.SellPrice &&
+ item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]
+ ?.StockDetails?.[0]?.SellPrice &&
!cartItem?.SalesId
);
@@ -2053,9 +2059,9 @@ export default function BSC1Search(props) {
(cartItem) =>
cartItem?.ProdId === item?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- VarientIndex
- ]?.StockDetails?.[0]?.InwardDtlId &&
+ item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ VarientIndex
+ ]?.StockDetails?.[0]?.InwardDtlId &&
// (cartItem?.OrderRate === item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]?.StockDetails?.[0]?.SellPrice)
!cartItem?.SalesId
);
@@ -2133,13 +2139,13 @@ export default function BSC1Search(props) {
(cartItem) =>
cartItem?.ProdId === qtydata?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- index.key
- ]?.StockDetails?.[0]?.InwardDtlId &&
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ index.key
+ ]?.StockDetails?.[0]?.InwardDtlId &&
cartItem?.OrderRate ===
- qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- index.key
- ]?.StockDetails?.[0]?.SellPrice &&
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ index.key
+ ]?.StockDetails?.[0]?.SellPrice &&
!cartItem?.SalesId
);
@@ -2147,11 +2153,11 @@ export default function BSC1Search(props) {
let Isincartonepc = CartOrderDetails?.filter(
(cartItem) =>
cartItem?.ProdId ===
- qtydata?.ProductDetail?.[QtyIndex]?.ProdId &&
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- VarientIndex
- ]?.StockDetails?.[0]?.InwardDtlId &&
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ VarientIndex
+ ]?.StockDetails?.[0]?.InwardDtlId &&
// (cartItem?.OrderRate === item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]?.StockDetails?.[0]?.SellPrice)
!cartItem?.SalesId
);
@@ -2215,11 +2221,11 @@ export default function BSC1Search(props) {
(cartItem) =>
cartItem?.ProdId === qtydata?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[index.key]
- ?.StockDetails?.[0]?.InwardDtlId &&
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[index.key]
+ ?.StockDetails?.[0]?.InwardDtlId &&
cartItem?.OrderRate ===
- qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[index.key]
- ?.StockDetails?.[0]?.SellPrice &&
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[index.key]
+ ?.StockDetails?.[0]?.SellPrice &&
!cartItem?.SalesId
);
@@ -2228,9 +2234,9 @@ export default function BSC1Search(props) {
(cartItem) =>
cartItem?.ProdId === qtydata?.ProductDetail?.[QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
- VarientIndex
- ]?.StockDetails?.[0]?.InwardDtlId &&
+ qtydata?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[
+ VarientIndex
+ ]?.StockDetails?.[0]?.InwardDtlId &&
// (cartItem?.OrderRate === item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]?.StockDetails?.[0]?.SellPrice)
!cartItem?.SalesId
);
@@ -2305,15 +2311,15 @@ export default function BSC1Search(props) {
let Isincart = CartOrderDetails?.find(
(cartItem) =>
cartItem?.ProdId ===
- qtydata?.ProductDetail?.[item?.QtyIndex]?.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 &&
!cartItem?.SalesId
);
@@ -2321,11 +2327,11 @@ export default function BSC1Search(props) {
let Isincartonepc = CartOrderDetails?.filter(
(cartItem) =>
cartItem?.ProdId ===
- qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdId &&
+ qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdId &&
cartItem?.InwardDtlId ===
- qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdVariantDetails?.[
- item?.VarientIndexs
- ]?.StockDetails?.[0]?.InwardDtlId &&
+ qtydata?.ProductDetail?.[item?.QtyIndex]?.ProdVariantDetails?.[
+ item?.VarientIndexs
+ ]?.StockDetails?.[0]?.InwardDtlId &&
// (cartItem?.OrderRate === item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]?.StockDetails?.[0]?.SellPrice)
!cartItem?.SalesId
);
@@ -2403,15 +2409,15 @@ export default function BSC1Search(props) {
let Isincart = CartOrderDetails?.find(
(cartItem) =>
cartItem?.ProdId ===
- qtydata?.ProductDetail?.[item?.QtyIndex]?.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 &&
!cartItem?.SalesId
);
@@ -2419,11 +2425,11 @@ export default function BSC1Search(props) {
let Isincartonepc = CartOrderDetails?.filter(
(cartItem) =>
cartItem?.ProdId ===
- qtydata?.ProductDetail?.[item?.QtyIndex]?.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 === item?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]?.StockDetails?.[0]?.SellPrice)
!cartItem?.SalesId
);
@@ -2543,7 +2549,7 @@ export default function BSC1Search(props) {
const isKgsProduct =
(a?.ProductDetail?.[QtyIndex]?.UomName?.toLowerCase() === 'kgs' ||
a?.ProductDetail?.[QtyIndex]?.UomName?.toLowerCase() ===
- 'kg'?.toLowerCase()) &&
+ 'kg'?.toLowerCase()) &&
a?.ProductDetail?.[QtyIndex]?.Size === '1';
if (
@@ -2556,11 +2562,11 @@ export default function BSC1Search(props) {
parseFloat(
onePcs
? (a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]
- ?.StockDetails?.[stockIndex]?.OnePcsPrice /
- 1000) *
- (parseFloat(WeightScaleWeight) * 1000)
+ ?.StockDetails?.[stockIndex]?.OnePcsPrice /
+ 1000) *
+ (parseFloat(WeightScaleWeight) * 1000)
: a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]
- ?.StockDetails?.[stockIndex]?.SellPrice / 1000
+ ?.StockDetails?.[stockIndex]?.SellPrice / 1000
) *
(parseFloat(WeightScaleWeight) * 1000);
let data = {
@@ -2616,9 +2622,9 @@ export default function BSC1Search(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,
FullProductIdentifierDtls:
a?.ProductDetail?.[QtyIndex]?.ProdVariantDetails?.[VarientIndex]
?.StockDetails?.[stockIndex]?.ProductIdentifierDtls,
@@ -2726,19 +2732,19 @@ export default function BSC1Search(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,
SellingPrice: 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,
@@ -2821,6 +2827,18 @@ export default function BSC1Search(props) {
};
const AddOrderDetails = async (item) => {
+
+ if ((overAllLimitPreferenece || itemWiseLimitPreferenece) && maxQtyLimit) {
+ if (overAllLimitPreferenece) {
+ const calculatedOverAllQty = calculateOverAllQtyLimit(CartOrderDetails);
+ if ((calculatedOverAllQty + 1) > maxQtyLimit) {
+ setMessageData(`Overall Quantity Limit Exceeds than ${maxQtyLimit}`);
+ setMessageType('warning');
+ return;
+ }
+ }
+ }
+
if (preOrder) {
await handlePreOrder(item);
} else {
@@ -2911,15 +2929,15 @@ export default function BSC1Search(props) {
const isExistsInFreeProdList = hasOffer
? FreeProdList?.filter(
- (f) =>
- f?.FreeProdId === item?.ProdId &&
- f?.ProdVariantDetails?.some((variant) =>
- variant?.StockDetails?.some(
- (stock) => stock?.FreeInwardDtlId === item?.InwardDtlId
- )
- ) &&
- f?.RemainingQty > 0
- )
+ (f) =>
+ f?.FreeProdId === item?.ProdId &&
+ f?.ProdVariantDetails?.some((variant) =>
+ variant?.StockDetails?.some(
+ (stock) => stock?.FreeInwardDtlId === item?.InwardDtlId
+ )
+ ) &&
+ f?.RemainingQty > 0
+ )
: [];
const calculateTaxAmounts = (qty, rate, taxPercentage) => {
@@ -2986,10 +3004,10 @@ export default function BSC1Search(props) {
((cartItem?.OfferModeType && cartItem?.OfferMode === 'B'
? true
: cartItem?.OfferMode !== 'B') &&
- cartItem?.OfferMode !== 'P' &&
- cartItem?.OfferMode !== 'C' &&
- cartItem?.OfferMode !== 'O' &&
- cartItem?.OfferMode !== 'L'
+ cartItem?.OfferMode !== 'P' &&
+ cartItem?.OfferMode !== 'C' &&
+ cartItem?.OfferMode !== 'O' &&
+ cartItem?.OfferMode !== 'L'
? true
: cartItem?.Offer === 0)
);
@@ -3006,10 +3024,10 @@ export default function BSC1Search(props) {
(cartItem) =>
itemMatchCondition(cartItem) &&
(cartItem?.OfferMode !== 'B' &&
- cartItem?.OfferMode !== 'P' &&
- cartItem?.OfferMode !== 'C' &&
- cartItem?.OfferMode !== 'O' &&
- cartItem?.OfferMode !== 'L'
+ cartItem?.OfferMode !== 'P' &&
+ cartItem?.OfferMode !== 'C' &&
+ cartItem?.OfferMode !== 'O' &&
+ cartItem?.OfferMode !== 'L'
? true
: cartItem?.Offer === 0)
);
@@ -3023,10 +3041,10 @@ export default function BSC1Search(props) {
((cartItem?.OfferModeType && cartItem?.OfferMode === 'B'
? true
: cartItem?.OfferMode !== 'B') &&
- cartItem?.OfferMode !== 'P' &&
- cartItem?.OfferMode !== 'L' &&
- cartItem?.OfferMode !== 'C' &&
- cartItem?.OfferMode !== 'O'
+ cartItem?.OfferMode !== 'P' &&
+ cartItem?.OfferMode !== 'L' &&
+ cartItem?.OfferMode !== 'C' &&
+ cartItem?.OfferMode !== 'O'
? true
: cartItem?.Offer === 0)
)
@@ -3037,10 +3055,10 @@ export default function BSC1Search(props) {
!(
itemMatchCondition(cartItem) &&
(cartItem?.OfferMode !== 'B' &&
- cartItem?.OfferMode !== 'P' &&
- cartItem?.OfferMode !== 'L' &&
- cartItem?.OfferMode !== 'C' &&
- cartItem?.OfferMode !== 'O'
+ cartItem?.OfferMode !== 'P' &&
+ cartItem?.OfferMode !== 'L' &&
+ cartItem?.OfferMode !== 'C' &&
+ cartItem?.OfferMode !== 'O'
? true
: cartItem?.Offer === 0)
)
@@ -3113,8 +3131,8 @@ export default function BSC1Search(props) {
isItemInCart,
item?.OtherProduct === 'Others' || item?.ScaleType === 'weight'
? (
- (item?.OrderQty || 0) + parseFloat(isItemInCart?.OrderQty)
- )?.toFixed(3)
+ (item?.OrderQty || 0) + parseFloat(isItemInCart?.OrderQty)
+ )?.toFixed(3)
: null
);
const updatedData = addFirst
@@ -3241,9 +3259,9 @@ export default function BSC1Search(props) {
isItemInCartHold,
item?.OtherProduct === 'Others' || item?.ScaleType === 'weight'
? (
- (item?.OrderQty || 0) +
- parseFloat(isItemInCartHold?.OrderQty)
- )?.toFixed(3)
+ (item?.OrderQty || 0) +
+ parseFloat(isItemInCartHold?.OrderQty)
+ )?.toFixed(3)
: null
);
const updatedData = addFirst
@@ -3495,14 +3513,14 @@ export default function BSC1Search(props) {
updatedCartData = cartData.map((item, idx) =>
idx === indexToCheck
? {
- ...item,
- Offer: null,
- OfferMessage: undefined,
- OfferMode: undefined,
- OfferModeType: false,
- OfferType: undefined,
- OfferValue: null,
- }
+ ...item,
+ Offer: null,
+ OfferMessage: undefined,
+ OfferMode: undefined,
+ OfferModeType: false,
+ OfferType: undefined,
+ OfferValue: null,
+ }
: item
);
}
@@ -3553,8 +3571,8 @@ export default function BSC1Search(props) {
...item,
Offer:
sameProduct ||
- bestOffer?.OfferMode === 'I' ||
- bestOffer?.OfferMode === 'Q'
+ bestOffer?.OfferMode === 'I' ||
+ bestOffer?.OfferMode === 'Q'
? bestOffer?.OfferAmount || item.Offer
: item.Offer || bestOffer?.OfferAmount,
OfferType: item?.OfferType || bestOffer?.OfferType,
@@ -3571,10 +3589,10 @@ export default function BSC1Search(props) {
((c?.OfferModeType && c?.OfferMode === 'B'
? true
: c?.OfferMode !== 'B') &&
- c?.OfferMode !== 'P' &&
- c?.OfferMode !== 'C' &&
- c?.OfferMode !== 'O' &&
- c?.OfferMode !== 'L'
+ c?.OfferMode !== 'P' &&
+ c?.OfferMode !== 'C' &&
+ c?.OfferMode !== 'O' &&
+ c?.OfferMode !== 'L'
? true
: c?.Offer === 0);
@@ -3882,10 +3900,10 @@ export default function BSC1Search(props) {
return FreeProdList.map((f, i) =>
i === index
? {
- ...existing,
- ...newFreeProd,
- ProdVariantDetails: existing.ProdVariantDetails,
- }
+ ...existing,
+ ...newFreeProd,
+ ProdVariantDetails: existing.ProdVariantDetails,
+ }
: f
);
} else {
@@ -3955,7 +3973,7 @@ export default function BSC1Search(props) {
const cycleSize = buyQty + getQty;
const fullCycles = Math.floor(
freeCartItem?.reduce((acc, fc) => acc + (fc?.OrderQty || 0), 0) /
- cycleSize
+ cycleSize
);
const totalFreeQty = fullCycles * getQty;
@@ -4559,15 +4577,15 @@ export default function BSC1Search(props) {
{option.ProductDetail?.filter(
(item) => item.OnePcsAvailable == 'Y'
).length !== 0 && (
- {
- setOnePeiceFlow(true);
- }}
- />
- )}
+ {
+ setOnePeiceFlow(true);
+ }}
+ />
+ )}
),
@@ -4601,7 +4619,7 @@ export default function BSC1Search(props) {
OnfocusTrue()}
+ // onClick={() => OnfocusTrue()}
/>
{ProductSearch?.length > 5 &&
@@ -4697,8 +4715,8 @@ export default function BSC1Search(props) {
