Untitled
unknown
typescript
9 months ago
1.5 kB
3
Indexable
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);
}
});
};
Editor is loading...
Leave a Comment