Merge pull request #2315 from Safelite/feature/CASH-272
Feature/cash 272
This commit is contained in:
commit
db6af58f7b
2 changed files with 21 additions and 15 deletions
|
|
@ -58,3 +58,15 @@ export function getTopLevelPartsWithRecal(lineItems) {
|
|||
|
||||
return lineItems.filter((li) => isRecalPartOrHasChildRecalPart(li));
|
||||
}
|
||||
|
||||
export function getRecalPartNumbers(glassPartsArray) {
|
||||
if (glassPartsArray && glassPartsArray.length > 0) {
|
||||
const topLevel = glassPartsArray.filter((gp) => isRecalPart(gp)).map((gp) => gp.partNumber);
|
||||
|
||||
const children = glassPartsArray.map((gp) => getRecalPartNumbers(gp.childParts)).flat();
|
||||
|
||||
return [...topLevel, ...children];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ import {
|
|||
containsRecalParts,
|
||||
getTopLevelPartsWithRecal,
|
||||
isRecalPartOrHasChildRecalPart,
|
||||
getRecalPartNumbers,
|
||||
} from "@/helpers/recal-helper";
|
||||
import { externalParameterStatus } from "@/constants/external-parameters";
|
||||
import { experimentSettings } from "@/constants/experiments";
|
||||
|
|
@ -1712,10 +1713,15 @@ export const actions = {
|
|||
|
||||
var endPoint = `${endpoints.GetMobileFeePart.url}/?serviceType=${serviceType}&facilityType=${facilityType}&parentAccountNumber=${parentAccountNumber}&billToAccountNumber=${billToAccountNumber}&providerNumber=${providerNumber}&isItacOptimized=${isItacOptimized}&zipCode=${zipCode}`;
|
||||
|
||||
const recalPartNumber = getRecalPartNumber(order.lineItems?.glassParts[0]);
|
||||
const recalPartNumbers = getRecalPartNumbers(order.lineItems?.glassParts);
|
||||
const carId = order.vehicle?.carId;
|
||||
if (recalPartNumber && carId) {
|
||||
endPoint = `${endPoint}&partNumbers=${recalPartNumber}&carId=${carId}`;
|
||||
if (recalPartNumbers && recalPartNumbers.length > 0 && carId) {
|
||||
let additionalQueryParams = ``;
|
||||
for (let i = 0; i < recalPartNumbers.length; i++) {
|
||||
additionalQueryParams += `&partNumbers[${i}]=${recalPartNumbers[i]}`;
|
||||
}
|
||||
additionalQueryParams += `&carId=${carId}`;
|
||||
endPoint += additionalQueryParams;
|
||||
}
|
||||
|
||||
if (coverageStatus) {
|
||||
|
|
@ -3760,15 +3766,3 @@ function getExternalParameterDefaultState() {
|
|||
function saveExternalParameterState(externalParameterState) {
|
||||
window.sessionStorage.setItem("externalParameterState", JSON.stringify(externalParameterState));
|
||||
}
|
||||
|
||||
//This function finds the recalibration part and returns the part number for it.
|
||||
function getRecalPartNumber(glassPartsArray) {
|
||||
const recalPart = glassPartsArray.childParts.find(
|
||||
(item) => item.partType === partTypeStrings.ADAS_RECALIBRATION
|
||||
);
|
||||
if (recalPart) {
|
||||
return recalPart.partNumber;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue