constrain Qty
This commit is contained in:
parent
608aa917b3
commit
5f5ca99409
|
|
@ -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 (
|
||||
<div className="BSBillingTable5-billtable">
|
||||
<Messages
|
||||
messageType={messageType}
|
||||
messageData={messageData}
|
||||
onComplete={onComplete}
|
||||
/>
|
||||
<table className="BSBillingTable5-tablediv">
|
||||
<thead className="BSBillingTable5-thead">
|
||||
<tr
|
||||
|
|
|
|||
|
|
@ -65,13 +65,11 @@ const FeaturesFunctionalities = lazy(
|
|||
() => 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) {
|
|||
<span
|
||||
style={
|
||||
record.StockCount > 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) {
|
|||
<span
|
||||
style={
|
||||
record.StockCount > 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) {
|
|||
<span
|
||||
style={
|
||||
record.StockCount > 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 && (
|
||||
<GoTriangleRight
|
||||
style={{
|
||||
fontSize: '25px',
|
||||
}}
|
||||
onClick={() => {
|
||||
setOnePeiceFlow(true);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
<GoTriangleRight
|
||||
style={{
|
||||
fontSize: '25px',
|
||||
}}
|
||||
onClick={() => {
|
||||
setOnePeiceFlow(true);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
),
|
||||
|
|
@ -4601,7 +4619,7 @@ export default function BSC1Search(props) {
|
|||
|
||||
<FiSearch
|
||||
className="BSC1Search-searchicon"
|
||||
// onClick={() => OnfocusTrue()}
|
||||
// onClick={() => OnfocusTrue()}
|
||||
/>
|
||||
</div>
|
||||
{ProductSearch?.length > 5 &&
|
||||
|
|
@ -4697,8 +4715,8 @@ export default function BSC1Search(props) {
|
|||
<img
|
||||
src={
|
||||
item?.ProdLogo &&
|
||||
item?.ProdLogo != null &&
|
||||
item?.ProdLogo != undefined
|
||||
item?.ProdLogo != null &&
|
||||
item?.ProdLogo != undefined
|
||||
? item?.ProdLogo
|
||||
: defaultimage
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue