Untitled
const processUploadedFile = (currentFile: File) => { if (!currentFile) { return; } setErrors({}); setCsvFileName(currentFile.name); Papa.parse<Record<string, string>>(currentFile, { header: true, skipEmptyLines: true, complete: parsingResults => { const values = parsingResults.data.map(item => { const transformedItem: Product = { mpk: "", sapId: "", name: "", outcomeUnit: "", productGroup: "", orderedQuantity: "" }; const lowerCaseItem = mapKeys(item, (_, key) => key.toLowerCase()); csvColumnTranslationMap.forEach((newKey, oldKey) => { const value = lowerCaseItem[oldKey.toLowerCase()]; if (value !== undefined) { transformedItem[newKey] = value; } }); return transformedItem; }); const valuesWithOrderingNumber = values.map((item, index) => ({ LP: index + 1, ...item })) as ExpandedRecord[]; valuesWithOrderingNumber.forEach(item => { const quantity = item.orderedQuantity; const sapId = item.sapId; const isSapIdValid = validateSapId(sapId); if (!quantity || !isSapIdValid) { setErrors(prevErrors => ({ ...prevErrors, [item.LP]: "Error" })); } }); setParsedData(values); } }); };
Leave a Comment