CSR-1022 | Refactor child part pricing
This commit is contained in:
parent
6ab421025b
commit
9d2dd8742d
1 changed files with 14 additions and 18 deletions
|
|
@ -1416,15 +1416,8 @@ export const actions = {
|
||||||
},
|
},
|
||||||
// Price order actions
|
// Price order actions
|
||||||
async priceOrderItems(context, availableLineItems) {
|
async priceOrderItems(context, availableLineItems) {
|
||||||
const availableLineItemsFormattedForRequest = availableLineItems
|
const availableLineItemsFormattedForRequest =
|
||||||
.map((lineItem) => {
|
getLineItemQueryStringForPricing(availableLineItems);
|
||||||
let queryStringSnippet = `&LineItems=${lineItem.partNumber}`;
|
|
||||||
if (lineItem.childParts) {
|
|
||||||
queryStringSnippet += lineItem.childParts.map(childPart => `&LineItems=${childPart.partNumber}`).join("");
|
|
||||||
}
|
|
||||||
return queryStringSnippet;
|
|
||||||
})
|
|
||||||
.join("");
|
|
||||||
const vehicle = context.getters.order.vehicle;
|
const vehicle = context.getters.order.vehicle;
|
||||||
let queryString =
|
let queryString =
|
||||||
`ParentAccountNumber=${applicationConfig.CASH_ACCOUNT_NUMBER}` +
|
`ParentAccountNumber=${applicationConfig.CASH_ACCOUNT_NUMBER}` +
|
||||||
|
|
@ -1605,15 +1598,7 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
|
||||||
(pricingLineItem) => pricingLineItem.partNumber === lineItem.partNumber
|
(pricingLineItem) => pricingLineItem.partNumber === lineItem.partNumber
|
||||||
);
|
);
|
||||||
if (lineItem.childParts) {
|
if (lineItem.childParts) {
|
||||||
lineItem.childParts.forEach((childPart) => {
|
addPricesToLineItems(lineItem.childParts, pricingLineItems);
|
||||||
let childPartIndex = pricingLineItems.findIndex(
|
|
||||||
(pricingLineItem) => pricingLineItem.partNumber === childPart.partNumber
|
|
||||||
);
|
|
||||||
let pricedChildPart = pricingLineItems.splice(childPartIndex, 1)[0];
|
|
||||||
childPart.laborAmount = pricedChildPart.laborAmount;
|
|
||||||
childPart.sellingPrice = pricedChildPart.sellingPrice;
|
|
||||||
childPart.kitPrice = pricedChildPart.kitPrice;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
let pricedLineItem = pricingLineItems.splice(lineItemIndex, 1)[0];
|
let pricedLineItem = pricingLineItems.splice(lineItemIndex, 1)[0];
|
||||||
lineItem.laborAmount = pricedLineItem.laborAmount;
|
lineItem.laborAmount = pricedLineItem.laborAmount;
|
||||||
|
|
@ -1622,3 +1607,14 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
|
||||||
});
|
});
|
||||||
return lineItems;
|
return lineItems;
|
||||||
}
|
}
|
||||||
|
function getLineItemQueryStringForPricing(lineItems) {
|
||||||
|
return lineItems
|
||||||
|
.map((lineItem) => {
|
||||||
|
let queryStringSnippet = `&LineItems=${lineItem.partNumber}`;
|
||||||
|
if (lineItem.childParts) {
|
||||||
|
queryStringSnippet += getLineItemQueryStringForPricing(lineItem.childParts);
|
||||||
|
}
|
||||||
|
return queryStringSnippet;
|
||||||
|
})
|
||||||
|
.join("");
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue