From da669b3f44079bd786d898f9b17e675b77bcbc01 Mon Sep 17 00:00:00 2001 From: Srinath Date: Fri, 6 Feb 2026 17:20:22 +0530 Subject: [PATCH] in this component i have change total amt --- .../BSBillingEditQuantity.jsx | 346 +++--------------- 1 file changed, 57 insertions(+), 289 deletions(-) diff --git a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingEditQuantity/BSBillingEditQuantity.jsx b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingEditQuantity/BSBillingEditQuantity.jsx index ddefcd5..073cbf6 100644 --- a/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingEditQuantity/BSBillingEditQuantity.jsx +++ b/src/Pages/BookingScreen/Components/BSBillingTables/BSBillingEditQuantity/BSBillingEditQuantity.jsx @@ -40,6 +40,7 @@ import { } from '../../../../../Features/Offer/Offernew/BookingOffernew.js'; import { validateOffers } from '../../BSItemCards/ValidateOffer.jsx'; import { v4 as uuidv4 } from 'uuid'; +import WeightCalculatePrice from './WeightCalculatePrice.jsx'; const BSBillingEditQuantity = (props) => { const dispatch = useDispatch(); @@ -678,12 +679,12 @@ const BSBillingEditQuantity = (props) => { const handleEditQuantity = async ( editedProduct, editedProductIndex, - newPrice + newPrice, + overrideQty = null ) => { - // check itself is a offer product - - const editedQty = - props?.Productdata?.ScaleType !== 'weight' + const editedQty = overrideQty !== null + ? overrideQty + : props?.Productdata?.ScaleType !== 'weight' ? parseInt(Quantity) : props.Productdata.OrderQty; const addFirst = BillOrderPre === 'Y'; @@ -3096,9 +3097,10 @@ const BSBillingEditQuantity = (props) => { newPrice = 0, offerApply = false ) => { + const fixedQty = Number(qty.toFixed(3)); const updatedProduct = { ...editedProduct, - OrderQty: qty, + OrderQty: fixedQty, OrderRate: newPrice > 0 ? newPrice : editedProduct?.OrderRate, ...calculateTaxAmounts({ qty: qty, @@ -3236,289 +3238,6 @@ const BSBillingEditQuantity = (props) => { OfferValue: offerValue, }; }; - - // const AddProductQuantity = async () => { - // let NewPrice = NewPrice1 > 0 ? NewPrice1 : props.Productdata.OrderRate; - // await dispatch(changeHoldOrderDtl(false)); - // await dispatch(changePreviousOrderLength(CartOrderDetails?.length)); - // const OtherOrderDatas = CartOrderDetails?.filter( - // (cartItem) => - // !( - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem.InwardDtlId === props?.Productdata?.InwardDtlId && - // cartItem?.OrderRate === props?.Productdata?.OrderRate && - // cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName - // ) && !cartItem?.SalesId - // ); - - // const OtherOrderDatawithsales = CartOrderDetails?.filter( - // (cartItem) => cartItem?.SalesId - // ); - // const OtherorderDataforNormal = CartOrderDetails?.filter( - // (cartItem) => - // !( - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId && - // cartItem?.OrderRate === props?.Productdata?.OrderRate && - // cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName && - // !cartItem?.SalesId - // ) - // ); - - // const isItemInCart = CartOrderDetails?.find( - // (cartItem) => - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId && - // cartItem?.OrderRate === props?.Productdata?.OrderRate && - // cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName && - // !cartItem?.SalesId - // ); // check if the item is already in the cart - // // changing for one piece stock checking - // const isItemInCartfilter = CartOrderDetails?.filter( - // (cartItem) => - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId && - // !( - // cartItem?.OrderRate === props?.Productdata?.OrderRate && - // cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName - // ) && - // !cartItem?.SalesId - // ); // check if the item is already in the cart - // let OverallQuantity = CalculateOverallQty(isItemInCart, isItemInCartfilter); - // const BookingTypeProd = props?.Productdata?.BookingTypeName; - // const isItemInCartHold = CartOrderDetails?.find( - // (cartItem) => - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId && - // cartItem?.OrderRate === props?.Productdata?.OrderRate && - // cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName - // ); // check if the item is already in the cart - // const isItemInCartHoldfilter = CartOrderDetails?.filter( - // (cartItem) => - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId && - // !( - // cartItem?.OrderRate === props?.Productdata?.OrderRate && - // cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName - // ) - // ); // check if the item is already in the cart - // const holddataproduct = ReorderProductData?.filter( - // (cartItem) => - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId - // ); - // let totalSelectedProductQty = holddataproduct?.reduce( - // (accumulator, card) => { - // return ( - // accumulator + - // parseInt( - // card?.StockAvailable === 'Y' - // ? props?.Productdata?.SinglePc === 'Y' - // ? card.SinglePc !== 'Y' - // ? card.OrderQty * card.NoOfPcs - // : card.OrderQty - // : card.SinglePc !== 'Y' - // ? card.OrderQty - // : card.OverAllPcs % card.NoOfPcs >= card.OrderQty - // ? 0 - // : card.OrderQty % card.NoOfPcs === 0 - // ? Math.floor(card.OrderQty / card.NoOfPcs) - // : Math.floor(card.OrderQty / card.NoOfPcs) + 1 - // : 0 - // ) - // ); - // }, - // 0 - // ); - - // let OverallQuantityhold = - // CalculateOverallQty(isItemInCartHold, isItemInCartHoldfilter) + - // totalSelectedProductQty; - // const OtherorderDataforNormalWithoutSalesId = CartOrderDetails?.filter( - // (cartItem) => - // !( - // cartItem?.ProdId === props?.Productdata?.ProdId && - // cartItem?.InwardDtlId === props?.Productdata?.InwardDtlId && - // cartItem?.OrderRate === props?.Productdata?.OrderRate && - // cartItem?.BookingTypeName === props?.Productdata?.BookingTypeName - // ) - // ); - - // if (parseInt(Quantity) === 0 || Quantity === '') { - // setMessageType('error'); - // setMessageData('Please enter valid quantity'); - // setQuantity(''); - // } - // else { - // if (isItemInCart && BookingTypeProd != 'Dine In' && OrderType != 'Hold') { - // if (isItemInCart?.StockAvailable === 'Y') { - // let Condition = OverallQuantity >= Quantity; - // if (Condition) { - // const UpdatedCartItem = await createUpdatedCartItem( - // isItemInCart, - // Quantity, - // NewPrice - // ); - // const Cartdata = MergecardItem( - // UpdatedCartItem, - // BillOrderPre, - // OtherorderDataforNormal - // ); - // await dispatch(changeOrderCardDetails(Cartdata)); - // if (OfferCheckedInSetup && preferenceOffer) { - // await applyOffer(Cartdata); - // } else { - // dispatch(changeOrderCardDetails(Cartdata)); - // } - - // props.handleEditQuantityCancel(); - // setClearQuantity(false); - // } else { - // setMessageType('error'); - // setMessageData('Stock Not Available'); - // setQuantity(''); - // } - // } else { - // if ( - // isItemInCart && - // BookingTypeProd != 'Dine In' && - // OrderType != 'Hold' - // ) { - // const UpdatedCartItem = createUpdatedCartItem( - // isItemInCart, - // Quantity, - // NewPrice - // ); - // const Cartdata = MergecardItem( - // UpdatedCartItem, - // BillOrderPre, - // OtherorderDataforNormal - // ); - // await dispatch(changeOrderCardDetails(Cartdata)); - // if (OfferCheckedInSetup && preferenceOffer) { - // await applyOffer(Cartdata); - // } else { - // dispatch(changeOrderCardDetails(Cartdata)); - // } - // } - // props.handleEditQuantityCancel(); - // setClearQuantity(false); - // } - // } - // else if (isItemInCartHold && OrderType === 'Hold') { - // if (isItemInCartHold?.StockAvailable === 'Y') { - // let Condition = OverallQuantityhold >= Quantity; - // if (Condition) { - // const UpdatedCartItem = createUpdatedCartItem( - // isItemInCartHold, - // Quantity, - // NewPrice - // ); - // const Cartdata = MergecardItem( - // UpdatedCartItem, - // BillOrderPre, - // OtherorderDataforNormalWithoutSalesId - // ); - // if (OfferCheckedInSetup && preferenceOffer) { - // await applyOffer(Cartdata); - // } else { - // dispatch(changeOrderCardDetails(Cartdata)); - // } - // await dispatch(changeOrderCardDetails(Cartdata)); - - // props.handleEditQuantityCancel(); - // setClearQuantity(false); - // } else { - // setMessageType('error'); - // setMessageData('Stock Not Available'); - // setQuantity(''); - // } - // } else { - // if (isItemInCartHold && OrderType === 'Hold') { - // const UpdatedCartItem = createUpdatedCartItem( - // isItemInCartHold, - // Quantity, - // NewPrice - // ); - // const Cartdata = MergecardItem( - // UpdatedCartItem, - // BillOrderPre, - // OtherorderDataforNormalWithoutSalesId - // ); - // await dispatch(changeOrderCardDetails(Cartdata)); - // if (OfferCheckedInSetup && preferenceOffer) { - // await applyOffer(Cartdata); - // } else { - // dispatch(changeOrderCardDetails(Cartdata)); - // } - // } - // props.handleEditQuantityCancel(); - // setClearQuantity(false); - // } - // } - // else if ( - // isItemInCart && - // BookingTypeProd === 'Dine In' && - // OrderType != 'Hold' - // ) { - // if (isItemInCart?.StockAvailable === 'Y') { - // let Condition = OverallQuantity >= Quantity; - // if (Condition) { - // const UpdatedCartItem = createUpdatedCartItem( - // isItemInCart, - // Quantity, - // NewPrice - // ); - // const Cartdata = MergecardItem( - // UpdatedCartItem, - // BillOrderPre, - // OtherOrderDatas - // ); - // await dispatch( - // changeOrderCardDetails([...OtherOrderDatawithsales, ...Cartdata]) - // ); - // if (OfferCheckedInSetup && preferenceOffer) { - // await applyOffer(Cartdata); - // } else { - // dispatch(changeOrderCardDetails(Cartdata)); - // } - // props.handleEditQuantityCancel(); - // setClearQuantity(false); - // } else { - // setMessageType('error'); - // setMessageData('Stock Not Available'); - // setQuantity(''); - // } - // } - // else { - // if ( - // isItemInCart && - // BookingTypeProd === 'Dine In' && - // OrderType != 'Hold' - // ) { - // const UpdatedCartItem = createUpdatedCartItem( - // isItemInCart, - // Quantity, - // NewPrice - // ); - // const Cartdata = MergecardItem( - // UpdatedCartItem, - // BillOrderPre, - // OtherorderDataforNormal - // ); - // await dispatch(changeOrderCardDetails(Cartdata)); - // if (OfferCheckedInSetup && preferenceOffer) { - // await applyOffer(Cartdata); - // } else { - // dispatch(changeOrderCardDetails(Cartdata)); - // } - // } - // props.handleEditQuantityCancel(); - // setClearQuantity(false); - // } - // } - // } - // }; const CloseModal = () => { props.handleEditQuantityCancel(); setClearQuantity(false); @@ -3706,6 +3425,33 @@ const BSBillingEditQuantity = (props) => { setPackageDtl(data || []); }; + const handleWeightCalculation = async (data) => { + const { price, quantity } = data; + setQuantity(quantity); + setEditedPrice(price); + await handleWeightSubmit(quantity, price); + }; + + const handleWeightSubmit = async (qty, price) => { + await dispatch(changeHoldOrderDtl(false)); + await dispatch(changePreviousOrderLength(CartOrderDetails?.length)); + let localId = props.Index; + let editedProductIndex = CartOrderDetails?.findIndex( + (e) => e?.localId == localId + ); + const editedProduct = { + ...CartOrderDetails[editedProductIndex], + OrderQty: qty + }; + + await handleEditQuantity(editedProduct, editedProductIndex, editedProduct.OrderRate, qty); + props.handleEditQuantityCancel(); + setClearQuantity(false); + }; + const isKg = + props?.Productdata?.Size == 1 && + ["KG", "KGS"].includes(props?.Productdata?.UomName?.toUpperCase()); + return (
{ > Packing + + {isKg && ()} +
{RadioBtnSelection == 'Quantity' && ( @@ -4007,6 +3766,15 @@ const BSBillingEditQuantity = (props) => { /> )} + {RadioBtnSelection == 'AddWeight' && ( + <> + + + )}
{((RadioBtnSelection == 'Price' && disableSubmitButton) || RadioBtnSelection == 'Quantity') && (