Added Hold data edit funtionalies
This commit is contained in:
parent
6f7e2f6cdd
commit
e8488df615
|
|
@ -125,7 +125,6 @@ const ComboSalesBillTable = () => {
|
||||||
const [PreviousdataLength, setPreviousdataLength] = useState();
|
const [PreviousdataLength, setPreviousdataLength] = useState();
|
||||||
const BookingTypeBoth = useSelector(GlobalBookingTypeBoth);
|
const BookingTypeBoth = useSelector(GlobalBookingTypeBoth);
|
||||||
const OrderType = useSelector(GlobalOrderType);
|
const OrderType = useSelector(GlobalOrderType);
|
||||||
console.log(PreviousOrderLength, 'PreviousOrderLength');
|
|
||||||
const GlobEstBooking = useSelector(GlobalEstimateBooking);
|
const GlobEstBooking = useSelector(GlobalEstimateBooking);
|
||||||
const GlobalExtraCharge = useSelector(globalExtraTotalAmount);
|
const GlobalExtraCharge = useSelector(globalExtraTotalAmount);
|
||||||
const OfferFreeProduct = useSelector(GlobalFreeProdList, shallowEqual);
|
const OfferFreeProduct = useSelector(GlobalFreeProdList, shallowEqual);
|
||||||
|
|
@ -216,6 +215,48 @@ const ComboSalesBillTable = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [tableOptions]);
|
}, [tableOptions]);
|
||||||
|
|
||||||
|
// Merge same items in hold order
|
||||||
|
useEffect(() => {
|
||||||
|
if (OrderType === 'Hold' && tableData?.length > 0) {
|
||||||
|
const mergedData = [];
|
||||||
|
const processedIds = new Set();
|
||||||
|
|
||||||
|
tableData.forEach((item) => {
|
||||||
|
const key = `${item.InwardDtlId}-${item.BookingTypeName}-${item.OrderRate}`;
|
||||||
|
|
||||||
|
if (processedIds.has(key)) return;
|
||||||
|
|
||||||
|
// Find all items with same InwardDtlId, BookingTypeName, and OrderRate
|
||||||
|
const sameItems = tableData.filter(
|
||||||
|
(i) =>
|
||||||
|
i.InwardDtlId === item.InwardDtlId &&
|
||||||
|
i.BookingTypeName === item.BookingTypeName &&
|
||||||
|
i.OrderRate === item.OrderRate
|
||||||
|
);
|
||||||
|
|
||||||
|
if (sameItems.length > 1) {
|
||||||
|
// Merge quantities
|
||||||
|
const totalQty = sameItems.reduce((sum, i) => sum + i.OrderQty, 0);
|
||||||
|
const mergedItem = {
|
||||||
|
...sameItems[0],
|
||||||
|
OrderQty: totalQty,
|
||||||
|
TotalAmt: totalQty * item.OrderRate,
|
||||||
|
TaxAmt: ((totalQty * item.OrderRate * item.TaxPercentage) / (100 + item.TaxPercentage)),
|
||||||
|
};
|
||||||
|
mergedData.push(mergedItem);
|
||||||
|
} else {
|
||||||
|
mergedData.push(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
processedIds.add(key);
|
||||||
|
});
|
||||||
|
if (mergedData.length !== tableData.length) {
|
||||||
|
dispatch(changeOrderCardDetails(mergedData));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, [tableData?.length, OrderType]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (SelectedFont) {
|
if (SelectedFont) {
|
||||||
WebFont.load({
|
WebFont.load({
|
||||||
|
|
@ -328,7 +369,7 @@ const ComboSalesBillTable = () => {
|
||||||
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
||||||
setEditQuantity(false);
|
setEditQuantity(false);
|
||||||
} else {
|
} else {
|
||||||
if (value?.SalesId) {
|
if (value?.SalesId && OrderType !== 'Hold') {
|
||||||
setEditQuantity(false);
|
setEditQuantity(false);
|
||||||
} else {
|
} else {
|
||||||
setEditQuantity(true);
|
setEditQuantity(true);
|
||||||
|
|
@ -341,7 +382,7 @@ const ComboSalesBillTable = () => {
|
||||||
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
||||||
setEditQtyCombo(false);
|
setEditQtyCombo(false);
|
||||||
} else {
|
} else {
|
||||||
if (value?.SalesId) {
|
if (value?.SalesId && OrderType !== 'Hold') {
|
||||||
setEditQtyCombo(false);
|
setEditQtyCombo(false);
|
||||||
} else {
|
} else {
|
||||||
setEditQtyCombo(true);
|
setEditQtyCombo(true);
|
||||||
|
|
@ -355,7 +396,7 @@ const ComboSalesBillTable = () => {
|
||||||
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
||||||
setEditRateCombo(false);
|
setEditRateCombo(false);
|
||||||
} else {
|
} else {
|
||||||
if (value?.SalesId) {
|
if (value?.SalesId && OrderType !== 'Hold') {
|
||||||
setEditRateCombo(false);
|
setEditRateCombo(false);
|
||||||
} else {
|
} else {
|
||||||
setEditRateCombo(true);
|
setEditRateCombo(true);
|
||||||
|
|
@ -2172,7 +2213,6 @@ const ComboSalesBillTable = () => {
|
||||||
tableOptions,
|
tableOptions,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
console.log(combinedTableData, 'combinedTableData', tableData);
|
|
||||||
const displayTableData =
|
const displayTableData =
|
||||||
BillOrderPre === 'N' ? [...combinedTableData].reverse() : combinedTableData;
|
BillOrderPre === 'N' ? [...combinedTableData].reverse() : combinedTableData;
|
||||||
|
|
||||||
|
|
@ -2379,7 +2419,7 @@ const ComboSalesBillTable = () => {
|
||||||
? 'wheat'
|
? 'wheat'
|
||||||
: 'inherit'
|
: 'inherit'
|
||||||
: 'none',
|
: 'none',
|
||||||
background: row?.SalesId
|
background: row?.SalesId && OrderType !== 'Hold'
|
||||||
? 'rgb(243, 248, 213)'
|
? 'rgb(243, 248, 213)'
|
||||||
: GlobEstBooking === 'ParEst' &&
|
: GlobEstBooking === 'ParEst' &&
|
||||||
GlobProdwisedata?.includes(
|
GlobProdwisedata?.includes(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue