diff --git a/src/Features/PurchaseOrder/PurchaseOrder.js b/src/Features/PurchaseOrder/PurchaseOrder.js
index 127732b..b1b0994 100644
--- a/src/Features/PurchaseOrder/PurchaseOrder.js
+++ b/src/Features/PurchaseOrder/PurchaseOrder.js
@@ -101,7 +101,7 @@ export const getPurProdvaraiantdata = createAsyncThunk(
data?.prodName !== undefined
) {
return await axiosRetailInstanceData.get(
- `/ProductCardList?CompId=${data?.CompId}&BranchId=${data?.BranchId}&AppId=${data?.AppId}&prodName=${encodeURIComponent(data?.prodName)}`
+ `/ProductCardList?CompId=${data?.CompId}&BranchId=${data?.BranchId}&AppId=${data?.AppId}&prodName=${encodeURIComponent(data?.prodName)}&type=S`
);
}
}
diff --git a/src/Pages/BookingScreen/Components/BSCombo/BSC1Payment.jsx b/src/Pages/BookingScreen/Components/BSCombo/BSC1Payment.jsx
index 30d3c65..5a06ee1 100644
--- a/src/Pages/BookingScreen/Components/BSCombo/BSC1Payment.jsx
+++ b/src/Pages/BookingScreen/Components/BSCombo/BSC1Payment.jsx
@@ -327,7 +327,10 @@ const BSC1Payment = (props) => {
)?.PreferenceCatDetails;
const sportsAppPreference = commonModulePreference?.find(
(preference) => preference?.PreferredSubCatName === 'SportsApp'
+ &&
+ preference?.PreferredStatus == 'Y'
);
+ console.log(sportsAppPreference,commonModulePreference,"sportsAppPreference")
const bookingTypePreference = appPreferences?.find(
(preference) => preference?.PreferredCatName === 'Booking Type'
)?.PreferenceCatDetails;
diff --git a/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx b/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx
index c9f35a6..d55a9eb 100644
--- a/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx
+++ b/src/Pages/BookingScreen/Components/UtillComponents/ProductPriceChange.jsx
@@ -1,449 +1,517 @@
-import { shallowEqual, useSelector } from "react-redux";
-import { GlobalAccessForOthers, GlobalCardAccess, GlobalCombosearch, GlobalItemCard, GlobalProductCategorie, GlobalSelectedDatas, GlobalWithoutSubCatItemCard, triggerProductCard } from "../../../../Features/BookingScreen/BookingData/BookingData";
-import { DefaultModal } from "../../../../Components/Modal/DefaultModal";
-import { useCallback, useEffect, useRef, useState } from "react";
-import { Tables } from "../../../../Components/Tables/Table";
-import { InputField } from "../../../../Components/Forms/InputField";
-import { Form, Pagination, Tooltip } from "antd";
-import { getSession } from "../../../../Services/Others";
-import { Messages } from "../../../../Components/Notifications/Messages";
-import { useDispatch } from "react-redux";
-import { PutStockPrice } from "../../../../Features/StockPriceUpdate/StockPriceUpdateMaster";
-import PriceChange from "../../../../Images/PayOptImgs/PriceChange.svg"
+import { shallowEqual, useSelector } from 'react-redux';
+import {
+ GlobalAccessForOthers,
+ GlobalCardAccess,
+ GlobalCombosearch,
+ GlobalItemCard,
+ GlobalProductCategorie,
+ GlobalSelectedDatas,
+ GlobalWithoutSubCatItemCard,
+ triggerProductCard,
+} from '../../../../Features/BookingScreen/BookingData/BookingData';
+import { DefaultModal } from '../../../../Components/Modal/DefaultModal';
+import { useCallback, useEffect, useRef, useState } from 'react';
+import { Tables } from '../../../../Components/Tables/Table';
+import { InputField } from '../../../../Components/Forms/InputField';
+import { Form, Pagination, Tooltip } from 'antd';
+import { getSession } from '../../../../Services/Others';
+import { Messages } from '../../../../Components/Notifications/Messages';
+import { useDispatch } from 'react-redux';
+import { PutStockPrice } from '../../../../Features/StockPriceUpdate/StockPriceUpdateMaster';
+import PriceChange from '../../../../Images/PayOptImgs/PriceChange.svg';
-const ProductPriceChange = ({ showButton = true, priceChangeProduct = null, productPriceChange = false, setProductPriceChange = () => { }, setPriceChangeProduct = () => { } }) => {
+const ProductPriceChange = ({
+ showButton = true,
+ priceChangeProduct = [],
+ productPriceChange = false,
+ setProductPriceChange = () => {},
+ setPriceChangeProduct = () => {},
+}) => {
+ const formRef = useRef(null);
+ const dispatch = useDispatch();
- const formRef = useRef(null);
- const dispatch = useDispatch();
+ const AppId = getSession('AppId');
+ const CompId = getSession('CompId');
+ const BranchId = getSession('BranchId');
+ const UserId = getSession('UserId');
- const AppId = getSession('AppId');
- const CompId = getSession('CompId');
- const BranchId = getSession('BranchId');
- const UserId = getSession('UserId');
+ const [messageData, setMessageData] = useState(null);
+ const [messageType, setMessageType] = useState(null);
+ const [currentPage, setCurrentPage] = useState(1);
+ const [pageSize] = useState(10);
- const [messageData, setMessageData] = useState(null);
- const [messageType, setMessageType] = useState(null);
- const [currentPage, setCurrentPage] = useState(1);
- const [pageSize] = useState(10);
+ const [noSubcatCardData, setNoSubcatCardData] = useState();
+ const [priceChangeModal, setPriceChangeModal] = useState(false);
- const [noSubcatCardData, setNoSubcatCardData] = useState();
- const [priceChangeModal, setPriceChangeModal] = useState(false);
+ const comboSearch = useSelector(GlobalCombosearch);
+ const ProdCat = useSelector(GlobalProductCategorie, shallowEqual);
+ const ItemCard = useSelector(GlobalItemCard, shallowEqual);
+ const withoutSubCatItemCard = useSelector(
+ GlobalWithoutSubCatItemCard,
+ shallowEqual
+ );
+ const CardAccess = useSelector(GlobalCardAccess, shallowEqual);
+ const globalAccessForOthers = useSelector(
+ GlobalAccessForOthers,
+ shallowEqual
+ );
+ const SelectedDatas = useSelector(GlobalSelectedDatas, shallowEqual);
+ const [tableData, setTableData] = useState([]);
+ const [editingKey, setEditingKey] = useState(null);
+ const [priceChangedProducts, setPriceChangedProducts] = useState([]);
+ console.log(comboSearch, 'comboSearch');
- const comboSearch = useSelector(GlobalCombosearch);
- const ProdCat = useSelector(GlobalProductCategorie, shallowEqual);
- const ItemCard = useSelector(GlobalItemCard, shallowEqual);
- const withoutSubCatItemCard = useSelector(GlobalWithoutSubCatItemCard, shallowEqual);
- const CardAccess = useSelector(GlobalCardAccess, shallowEqual);
- const globalAccessForOthers = useSelector(GlobalAccessForOthers, shallowEqual);
- const SelectedDatas = useSelector(GlobalSelectedDatas, shallowEqual);
- const [tableData, setTableData] = useState([]);
- const [editingKey, setEditingKey] = useState(null);
- const [priceChangedProducts, setPriceChangedProducts] = useState([]);
- console.log(comboSearch, "comboSearch")
+ // console.log(noSubcatCardData, "noSubcatCardData")
- // console.log(noSubcatCardData, "noSubcatCardData")
+ useEffect(() => {
+ if (
+ ProdCat &&
+ (ItemCard || withoutSubCatItemCard) &&
+ (!noSubcatCardData || noSubcatCardData?.length === 0)
+ ) {
+ setNoSubcatCardData(
+ ItemCard?.length === 0 ? withoutSubCatItemCard : ItemCard
+ );
+ }
+ }, [ProdCat, ItemCard, withoutSubCatItemCard, noSubcatCardData]);
- useEffect(() => {
- if (ProdCat && (ItemCard || withoutSubCatItemCard) && (!noSubcatCardData || noSubcatCardData?.length === 0)) {
- setNoSubcatCardData(ItemCard?.length === 0 ? withoutSubCatItemCard : ItemCard);
- }
- }, [ProdCat, ItemCard, withoutSubCatItemCard, noSubcatCardData]);
+ const priceChangeColumns = [
+ {
+ title: 'S.No',
+ dataIndex: 'SlNo',
+ key: 'SlNo',
+ width: '60px',
+ align: 'center',
+ render: (text, record, index) => (
+
{(currentPage - 1) * pageSize + index + 1}
+ ),
+ },
+ {
+ title: 'Product Name',
+ dataIndex: 'ProdName',
+ key: 'ProdName',
+ },
+ {
+ title: 'Old MRP',
+ dataIndex: 'MRP',
+ key: 'MRP',
+ width: '100px',
+ align: 'right',
+ },
+ {
+ title: 'New MRP (Optional)',
+ dataIndex: 'NewMRP',
+ key: 'NewMRP',
+ width: '100px',
+ align: 'right',
+ render: (text, record, index) => {
+ // if (index === editingKey) {
- const priceChangeColumns = [
- {
- title: 'S.No',
- dataIndex: 'SlNo',
- key: 'SlNo',
- width: '60px',
- align: 'center',
- render: (text, record, index) => {(currentPage - 1) * pageSize + index + 1}
- },
- {
- title: 'Product Name',
- dataIndex: 'ProdName',
- key: 'ProdName',
- },
- {
- title: 'Old MRP',
- dataIndex: 'MRP',
- key: 'MRP',
- width: '100px',
- align: 'right',
- },
- {
- title: 'New MRP (Optional)',
- dataIndex: 'NewMRP',
- key: 'NewMRP',
- width: '100px',
- align: 'right',
- render: (text, record, index) => {
- // if (index === editingKey) {
+ // }
+ // return {text ? text : 'Enter New MRP'}
+ return (
+ {
+ if (value === '') {
+ return Promise.resolve();
+ } else if (parseFloat(value) < 1) {
+ return Promise.reject(`MRP should be greater than 0`);
+ }
+ return Promise.resolve();
+ },
+ },
+ ]}
+ >
+ handleNewMRPChange(e?.target?.value, index)}
+ inputMode="decimal"
+ onInput={(e) => {
+ let cleanedValue = e.target.value.replace(/[^0-9.]/g, ''); // Remove invalid characters
+ const parts = cleanedValue.split('.');
- // }
- // return {text ? text : 'Enter New MRP'}
- return (
- {
- if (value === '') {
- return Promise.resolve();
- } else if (parseFloat(value) < 1) {
- return Promise.reject(`MRP should be greater than 0`)
- }
- return Promise.resolve();
- },
- },
- ]}>
- handleNewMRPChange(e?.target?.value, index)}
- inputMode="decimal"
- onInput={(e) => {
- let cleanedValue = e.target.value.replace(
- /[^0-9.]/g,
- ''
- ); // Remove invalid characters
- const parts = cleanedValue.split('.');
+ if (cleanedValue.startsWith('.')) {
+ cleanedValue = '0' + cleanedValue;
+ }
- if (cleanedValue.startsWith('.')) {
- cleanedValue = '0' + cleanedValue;
- }
+ e.target.value =
+ parts.length > 2
+ ? `${parts[0]}.${parts.slice(1).join('')}`
+ : cleanedValue;
+ }}
+ />
+
+ );
+ },
+ },
+ {
+ title: 'Old Sell Price',
+ dataIndex: 'SellPrice',
+ key: 'SellPrice',
+ width: '120px',
+ align: 'right',
+ },
+ {
+ title: 'New Sell Price',
+ dataIndex: 'NewSellPrice',
+ key: 'NewSellPrice',
+ width: '160px',
+ align: 'right',
+ render: (text, record, index) => {
+ // if (index === editingKey) {
- e.target.value =
- parts.length > 2
- ? `${parts[0]}.${parts.slice(1).join('')}`
- : cleanedValue;
- }}
- />
-
- );
- },
- },
- {
- title: 'Old Sell Price',
- dataIndex: 'SellPrice',
- key: 'SellPrice',
- width: '120px',
- align: 'right',
- },
- {
- title: 'New Sell Price',
- dataIndex: 'NewSellPrice',
- key: 'NewSellPrice',
- width: '160px',
- align: 'right',
- render: (text, record, index) => {
- // if (index === editingKey) {
+ // }
+ // return {text ? text : 'Enter New Sell Price'}
+ return (
+ {
+ if (value === '') {
+ return Promise.resolve();
+ } else if (parseFloat(value) < 1) {
+ return Promise.reject(
+ `Sell Price should be greater than 0`
+ );
+ }
+ return Promise.resolve();
+ },
+ },
+ ]}
+ >
+
+ handleNewSellPriceChange(e?.target?.value, index)
+ }
+ inputMode="decimal"
+ onInput={(e) => {
+ let cleanedValue = e.target.value.replace(/[^0-9.]/g, ''); // Remove invalid characters
+ const parts = cleanedValue.split('.');
- // }
- // return {text ? text : 'Enter New Sell Price'}
- return (
- {
- if (value === '') {
- return Promise.resolve();
- } else if (parseFloat(value) < 1) {
- return Promise.reject(`Sell Price should be greater than 0`)
- }
- return Promise.resolve();
- },
- },
- ]}
- >
- handleNewSellPriceChange(e?.target?.value, index)}
- inputMode="decimal"
- onInput={(e) => {
- let cleanedValue = e.target.value.replace(
- /[^0-9.]/g,
- ''
- ); // Remove invalid characters
- const parts = cleanedValue.split('.');
+ if (cleanedValue.startsWith('.')) {
+ cleanedValue = '0' + cleanedValue;
+ }
- if (cleanedValue.startsWith('.')) {
- cleanedValue = '0' + cleanedValue;
- }
+ e.target.value =
+ parts.length > 2
+ ? `${parts[0]}.${parts.slice(1).join('')}`
+ : cleanedValue;
+ }}
+ />
+
+ );
+ },
+ },
+ ];
- e.target.value =
- parts.length > 2
- ? `${parts[0]}.${parts.slice(1).join('')}`
- : cleanedValue;
- }}
- />
-
- );
- },
- },
- ];
+ const cardData = !globalAccessForOthers
+ ? CardAccess
+ ? SelectedDatas?.length > 1
+ ? SelectedDatas
+ : SelectedDatas?.[0]?.AppId === 0 && SelectedDatas?.[0]?.CompId === 0
+ ? []
+ : SelectedDatas
+ : ItemCard?.length === 0 ||
+ (ItemCard?.[0]?.AppId === 0 && ItemCard?.[0]?.CompId === 0)
+ ? noSubcatCardData
+ : ItemCard
+ : [];
- const cardData = !globalAccessForOthers
- ? CardAccess
- ? SelectedDatas?.length > 1
- ? SelectedDatas
- : SelectedDatas?.[0]?.AppId === 0 && SelectedDatas?.[0]?.CompId === 0
- ? []
- : SelectedDatas
- : ItemCard?.length === 0 || (ItemCard?.[0]?.AppId === 0 && ItemCard?.[0]?.CompId === 0)
- ? noSubcatCardData
- : ItemCard
- : '';
+ console.log(cardData, 'noSubcatCardDatanoSubcatCardData', ItemCard);
- console.log(cardData, "noSubcatCardDatanoSubcatCardData", ItemCard)
+ useEffect(() => {
+
+ const extractStockDtls = (data) => {
+ if (data?.length === 0 || !data) return [];
- useEffect(() => {
- const extractStockDtls = (data) => {
- if (data?.length === 0) return [];
+ let stockDtls = [];git
- let stockDtls = [];
+ data?.forEach((item) => {
+ let products = item?.ProductDetail?.flatMap((product) => product);
- data?.forEach(item => {
- let products = item?.ProductDetail?.flatMap(product => product);
+ let variants = products?.flatMap(
+ (product) => product?.ProdVariantDetails
+ );
+ const filteredVariants = variants?.filter(
+ (variant) => variant?.StockDetails?.length > 0
+ );
+ const stocks = filteredVariants?.flatMap((variant) =>
+ variant?.StockDetails?.map((stock) => ({
+ ...stock,
+ ProdName:
+ products?.[0]?.ProdName +
+ (variant?.ProdVariantName
+ ? ` (${variant?.ProdVariantName})`
+ : ''),
+ StockAvailable: products?.[0]?.StockAvailable,
+ ProdVariantName: variant?.ProdVariantName,
+ }))
+ );
- let variants = products?.flatMap(product => product?.ProdVariantDetails);
- const filteredVariants = variants?.filter(variant => variant?.StockDetails?.length > 0);
- const stocks = filteredVariants?.flatMap(variant =>
- variant?.StockDetails?.map(stock => ({
- ...stock,
- ProdName: products?.[0]?.ProdName + (variant?.ProdVariantName ? ` (${variant?.ProdVariantName})` : ''),
- StockAvailable: products?.[0]?.StockAvailable,
- ProdVariantName: variant?.ProdVariantName
- }))
- );
+ stockDtls.push(
+ ...stocks?.filter((stock) =>
+ stock?.StockAvailable === 'Y' ? stock?.BatchRef : true
+ )
+ );
+ });
+ console.log('extractStockDtls', stockDtls);
+ return stockDtls;
+ };
+ setTableData(extractStockDtls(priceChangeProduct || cardData || []));
+ setCurrentPage(1);
+ }, [cardData, priceChangeProduct]);
- stockDtls.push(...stocks?.filter(stock =>
- stock?.StockAvailable === 'Y'
- ? stock?.BatchRef
- : true
- ));
+ const handleNewMRPChange = (value, index) => {
+ const updatedTableData = [...tableData];
+ updatedTableData[index].NewMRP = value;
+ setTableData(updatedTableData);
+ updatedTableData[index].NewSellPrice = null;
+ formRef.current.setFieldsValue({
+ [`NewMRP${index}`]: value,
+ [`NewSellPrice${index}`]: null,
+ });
- });
- console.log("extractStockDtls", stockDtls);
- return stockDtls;
- }
- setTableData(extractStockDtls(priceChangeProduct || cardData))
- setCurrentPage(1)
- }, [cardData, priceChangeProduct])
+ const priceChangedProdList = [...priceChangedProducts];
+ const prodIndex = priceChangedProdList?.findIndex(
+ (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
+ );
+ if (prodIndex !== -1) {
+ priceChangedProdList[prodIndex] = {
+ ...priceChangedProdList?.[prodIndex],
+ NewMRP: value,
+ NewSellPrice: null,
+ };
+ }
+ setPriceChangedProducts(priceChangedProdList);
+ };
- const handleNewMRPChange = (value, index) => {
-
- const updatedTableData = [...tableData];
- updatedTableData[index].NewMRP = value;
- setTableData(updatedTableData);
+ const handleNewSellPriceChange = (value, index) => {
+ const updatedTableData = [...tableData];
+ if (updatedTableData[index]?.NewMRP) {
+ if (parseFloat(value) > parseFloat(updatedTableData[index]?.NewMRP)) {
+ setMessageType('error');
+ setMessageData('New Sell Price cannot be greater than New MRP');
+ formRef.current.setFieldsValue({
+ [`NewSellPrice${index}`]: null,
+ });
updatedTableData[index].NewSellPrice = null;
- formRef.current.setFieldsValue({
- [`NewMRP${index}`]: value,
- [`NewSellPrice${index}`]: null,
- });
-
- const priceChangedProdList = [...priceChangedProducts];
- const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
- if (prodIndex !== -1) {
- priceChangedProdList[prodIndex] = {
- ...priceChangedProdList?.[prodIndex],
- NewMRP: value,
- NewSellPrice: null,
- };
- }
- setPriceChangedProducts(priceChangedProdList);
- }
-
- const handleNewSellPriceChange = (value, index) => {
- const updatedTableData = [...tableData];
- if (updatedTableData[index]?.NewMRP) {
- if (parseFloat(value) > parseFloat(updatedTableData[index]?.NewMRP)) {
- setMessageType('error');
- setMessageData('New Sell Price cannot be greater than New MRP');
- formRef.current.setFieldsValue({
- [`NewSellPrice${index}`]: null,
- });
- updatedTableData[index].NewSellPrice = null;
- setTableData(updatedTableData);
- const priceChangedProdList = [...priceChangedProducts];
- const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
-
- if (prodIndex !== -1) {
- priceChangedProdList.splice(prodIndex, 1);
- }
- setPriceChangedProducts(priceChangedProdList);
- return;
- }
- }
- if (!updatedTableData[index]?.NewMRP && updatedTableData[index]?.MRP) {
- if (parseFloat(value) > parseFloat(updatedTableData[index]?.MRP)) {
- setMessageType('error');
- setMessageData('New Sell Price cannot be greater than MRP');
- formRef.current.setFieldsValue({
- [`NewSellPrice${index}`]: null,
- });
- updatedTableData[index].NewSellPrice = null;
- setTableData(updatedTableData);
- const priceChangedProdList = [...priceChangedProducts];
- const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
-
- if (prodIndex !== -1) {
- priceChangedProdList.splice(prodIndex, 1);
- }
- setPriceChangedProducts(priceChangedProdList);
- return;
- }
- }
- updatedTableData[index].NewSellPrice = value;
setTableData(updatedTableData);
- formRef.current.setFieldsValue({
- [`NewSellPrice${index}`]: value,
- });
-
const priceChangedProdList = [...priceChangedProducts];
- const prodIndex = priceChangedProdList?.findIndex(prod => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId);
+ const prodIndex = priceChangedProdList?.findIndex(
+ (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
+ );
if (prodIndex !== -1) {
- priceChangedProdList[prodIndex] = {
- ...priceChangedProdList[prodIndex],
- SellPrice: String(value)
- };
- } else {
- priceChangedProdList.push({
- ProdId: updatedTableData[index]?.ProdId,
- ProdName: updatedTableData[index]?.ProdName,
- MRP: String(updatedTableData[index]?.NewMRP || updatedTableData[index]?.MRP),
- SellPrice: String(value),
- AdjComment: "string",
- InwardDtlId: updatedTableData[index]?.InwardDtlId
- });
+ priceChangedProdList.splice(prodIndex, 1);
}
-
setPriceChangedProducts(priceChangedProdList);
+ return;
+ }
}
+ if (!updatedTableData[index]?.NewMRP && updatedTableData[index]?.MRP) {
+ if (parseFloat(value) > parseFloat(updatedTableData[index]?.MRP)) {
+ setMessageType('error');
+ setMessageData('New Sell Price cannot be greater than MRP');
+ formRef.current.setFieldsValue({
+ [`NewSellPrice${index}`]: null,
+ });
+ updatedTableData[index].NewSellPrice = null;
+ setTableData(updatedTableData);
+ const priceChangedProdList = [...priceChangedProducts];
+ const prodIndex = priceChangedProdList?.findIndex(
+ (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
+ );
- const edit = (record, index) => {
- console.log("edit", record, index);
- setEditingKey(index);
- }
-
- const handleSubmit = async () => {
- console.log("submit");
-
- if (priceChangedProducts?.length > 0) {
- console.log("priceChangedProducts", priceChangedProducts);
- const validation = priceChangedProducts?.every((prod) => {
- if (parseFloat(prod?.MRP) < parseFloat(prod?.SellPrice)) {
- setMessageType('error');
- setMessageData(`${prod?.ProdName}: MRP cannot be less than Sell Price`);
- return false;
- }
- if (!parseFloat(prod?.SellPrice) || !parseFloat(prod?.MRP)) {
- setMessageType('error');
- setMessageData(`${prod?.ProdName}: Please give Sell Price or MRP`);
- return false;
- }
- return true;
- });
- if (!validation) return;
-
- const data = {
- AppId: AppId,
- CompId: CompId,
- BranchId: BranchId,
- ProductDetails: priceChangedProducts,
- UpdatedBy: UserId,
- }
-
- const res = await dispatch(PutStockPrice(data))?.unwrap();
- if (res?.data?.statusCode === 1) {
- setMessageData('Price Changed Successfully');
- setMessageType('success');
- setPriceChangeModal(false);
- setProductPriceChange(false);
- setEditingKey(null);
- setPriceChangedProducts([]);
- setTableData([]);
- dispatch(triggerProductCard())
- setPriceChangeProduct(null);
- formRef.current.resetFields();
- } else {
- setMessageData('Error Updating Product Price')
- setMessageType('error');
- }
- } else {
- setMessageType('error');
- setMessageData('No changes made / No sell price entered');
+ if (prodIndex !== -1) {
+ priceChangedProdList.splice(prodIndex, 1);
}
+ setPriceChangedProducts(priceChangedProdList);
+ return;
+ }
+ }
+ updatedTableData[index].NewSellPrice = value;
+ setTableData(updatedTableData);
+ formRef.current.setFieldsValue({
+ [`NewSellPrice${index}`]: value,
+ });
+ const priceChangedProdList = [...priceChangedProducts];
+ const prodIndex = priceChangedProdList?.findIndex(
+ (prod) => prod?.InwardDtlId === updatedTableData[index]?.InwardDtlId
+ );
+
+ if (prodIndex !== -1) {
+ priceChangedProdList[prodIndex] = {
+ ...priceChangedProdList[prodIndex],
+ SellPrice: String(value),
+ };
+ } else {
+ priceChangedProdList.push({
+ ProdId: updatedTableData[index]?.ProdId,
+ ProdName: updatedTableData[index]?.ProdName,
+ MRP: String(
+ updatedTableData[index]?.NewMRP || updatedTableData[index]?.MRP
+ ),
+ SellPrice: String(value),
+ AdjComment: 'string',
+ InwardDtlId: updatedTableData[index]?.InwardDtlId,
+ });
}
- const onComplete = useCallback(() => {
- setMessageData(null);
- setMessageType(null);
- }, [])
+ setPriceChangedProducts(priceChangedProdList);
+ };
- return (
- <>
+ const edit = (record, index) => {
+ console.log('edit', record, index);
+ setEditingKey(index);
+ };
-
- {showButton ?
-
- : <>>}
- {
- setPriceChangeModal(false);
- setProductPriceChange(false);
- setEditingKey(null);
- setPriceChangedProducts([]);
- formRef?.current?.resetFields();
- setPriceChangeProduct(null);
- }}
- handleSubmit={handleSubmit}
+ const handleSubmit = async () => {
+ console.log('submit');
+
+ if (priceChangedProducts?.length > 0) {
+ console.log('priceChangedProducts', priceChangedProducts);
+ const validation = priceChangedProducts?.every((prod) => {
+ if (parseFloat(prod?.MRP) < parseFloat(prod?.SellPrice)) {
+ setMessageType('error');
+ setMessageData(
+ `${prod?.ProdName}: MRP cannot be less than Sell Price`
+ );
+ return false;
+ }
+ if (!parseFloat(prod?.SellPrice) || !parseFloat(prod?.MRP)) {
+ setMessageType('error');
+ setMessageData(`${prod?.ProdName}: Please give Sell Price or MRP`);
+ return false;
+ }
+ return true;
+ });
+ if (!validation) return;
+
+ const data = {
+ AppId: AppId,
+ CompId: CompId,
+ BranchId: BranchId,
+ ProductDetails: priceChangedProducts,
+ UpdatedBy: UserId,
+ };
+
+ const res = await dispatch(PutStockPrice(data))?.unwrap();
+ if (res?.data?.statusCode === 1) {
+ setMessageData('Price Changed Successfully');
+ setMessageType('success');
+ setPriceChangeModal(false);
+ setProductPriceChange(false);
+ setEditingKey(null);
+ setPriceChangedProducts([]);
+ setTableData([]);
+ dispatch(triggerProductCard());
+ setPriceChangeProduct(null);
+ formRef.current.resetFields();
+ } else {
+ setMessageData('Error Updating Product Price');
+ setMessageType('error');
+ }
+ } else {
+ setMessageType('error');
+ setMessageData('No changes made / No sell price entered');
+ }
+ };
+
+ const onComplete = useCallback(() => {
+ setMessageData(null);
+ setMessageType(null);
+ }, []);
+
+ return (
+ <>
+
+ {showButton ? (
+
+
+
+ ) : (
+ <>>
+ )}
+ {
+ setPriceChangeModal(false);
+ setProductPriceChange(false);
+ setEditingKey(null);
+ setPriceChangedProducts([]);
+ formRef?.current?.resetFields();
+ setPriceChangeProduct(null);
+ }}
+ handleSubmit={handleSubmit}
+ >
+
+ {/*
Note : Click on a row to edit/modify
*/}
+
+
+
+ >
+ );
+};
-export default ProductPriceChange;
\ No newline at end of file
+export default ProductPriceChange;