CSR-1022 | Refactor child part pricing

This commit is contained in:
Scott Kiener 2023-01-06 12:05:17 -05:00
parent 6ab421025b
commit 9d2dd8742d

View file

@ -1416,15 +1416,8 @@ export const actions = {
},
// Price order actions
async priceOrderItems(context, availableLineItems) {
const availableLineItemsFormattedForRequest = availableLineItems
.map((lineItem) => {
let queryStringSnippet = `&LineItems=${lineItem.partNumber}`;
if (lineItem.childParts) {
queryStringSnippet += lineItem.childParts.map(childPart => `&LineItems=${childPart.partNumber}`).join("");
}
return queryStringSnippet;
})
.join("");
const availableLineItemsFormattedForRequest =
getLineItemQueryStringForPricing(availableLineItems);
const vehicle = context.getters.order.vehicle;
let queryString =
`ParentAccountNumber=${applicationConfig.CASH_ACCOUNT_NUMBER}` +
@ -1605,15 +1598,7 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
(pricingLineItem) => pricingLineItem.partNumber === lineItem.partNumber
);
if (lineItem.childParts) {
lineItem.childParts.forEach((childPart) => {
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;
});
addPricesToLineItems(lineItem.childParts, pricingLineItems);
}
let pricedLineItem = pricingLineItems.splice(lineItemIndex, 1)[0];
lineItem.laborAmount = pricedLineItem.laborAmount;
@ -1622,3 +1607,14 @@ function addPricesToLineItems(lineItems, pricingLineItems) {
});
return lineItems;
}
function getLineItemQueryStringForPricing(lineItems) {
return lineItems
.map((lineItem) => {
let queryStringSnippet = `&LineItems=${lineItem.partNumber}`;
if (lineItem.childParts) {
queryStringSnippet += getLineItemQueryStringForPricing(lineItem.childParts);
}
return queryStringSnippet;
})
.join("");
}