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 BookingTypeBoth = useSelector(GlobalBookingTypeBoth);
|
||||
const OrderType = useSelector(GlobalOrderType);
|
||||
console.log(PreviousOrderLength, 'PreviousOrderLength');
|
||||
const GlobEstBooking = useSelector(GlobalEstimateBooking);
|
||||
const GlobalExtraCharge = useSelector(globalExtraTotalAmount);
|
||||
const OfferFreeProduct = useSelector(GlobalFreeProdList, shallowEqual);
|
||||
|
|
@ -216,6 +215,48 @@ const ComboSalesBillTable = () => {
|
|||
}
|
||||
}
|
||||
}, [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(() => {
|
||||
if (SelectedFont) {
|
||||
WebFont.load({
|
||||
|
|
@ -328,7 +369,7 @@ const ComboSalesBillTable = () => {
|
|||
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
||||
setEditQuantity(false);
|
||||
} else {
|
||||
if (value?.SalesId) {
|
||||
if (value?.SalesId && OrderType !== 'Hold') {
|
||||
setEditQuantity(false);
|
||||
} else {
|
||||
setEditQuantity(true);
|
||||
|
|
@ -341,7 +382,7 @@ const ComboSalesBillTable = () => {
|
|||
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
||||
setEditQtyCombo(false);
|
||||
} else {
|
||||
if (value?.SalesId) {
|
||||
if (value?.SalesId && OrderType !== 'Hold') {
|
||||
setEditQtyCombo(false);
|
||||
} else {
|
||||
setEditQtyCombo(true);
|
||||
|
|
@ -355,7 +396,7 @@ const ComboSalesBillTable = () => {
|
|||
if (OtherServicesglobal && value.Type == 'OS' && value.ServiceType == 'I') {
|
||||
setEditRateCombo(false);
|
||||
} else {
|
||||
if (value?.SalesId) {
|
||||
if (value?.SalesId && OrderType !== 'Hold') {
|
||||
setEditRateCombo(false);
|
||||
} else {
|
||||
setEditRateCombo(true);
|
||||
|
|
@ -2172,7 +2213,6 @@ const ComboSalesBillTable = () => {
|
|||
tableOptions,
|
||||
]);
|
||||
|
||||
console.log(combinedTableData, 'combinedTableData', tableData);
|
||||
const displayTableData =
|
||||
BillOrderPre === 'N' ? [...combinedTableData].reverse() : combinedTableData;
|
||||
|
||||
|
|
@ -2379,7 +2419,7 @@ const ComboSalesBillTable = () => {
|
|||
? 'wheat'
|
||||
: 'inherit'
|
||||
: 'none',
|
||||
background: row?.SalesId
|
||||
background: row?.SalesId && OrderType !== 'Hold'
|
||||
? 'rgb(243, 248, 213)'
|
||||
: GlobEstBooking === 'ParEst' &&
|
||||
GlobProdwisedata?.includes(
|
||||
|
|
|
|||
Loading…
Reference in New Issue