Added Hold data edit funtionalies

This commit is contained in:
Srinath 2026-02-16 18:30:58 +05:30
parent 6f7e2f6cdd
commit e8488df615
1 changed files with 46 additions and 6 deletions

View File

@ -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(