mirror of
https://github.com/catdevnull/preciazo.git
synced 2024-11-22 22:26:19 +00:00
chequeador por EANs duplicados
This commit is contained in:
parent
b9e6c64bd5
commit
aada90bbe8
1 changed files with 11 additions and 1 deletions
|
@ -75,7 +75,7 @@ type Files = Awaited<ReturnType<typeof readFiles>>;
|
||||||
|
|
||||||
// si retorna truthy es un error
|
// si retorna truthy es un error
|
||||||
const checkers: Record<string, (files: Files) => boolean | string> = {
|
const checkers: Record<string, (files: Files) => boolean | string> = {
|
||||||
["[productos.csv] Nombres de columnas correctas"](files) {
|
["[productos.csv] Nombres de columnas incorrectas"](files) {
|
||||||
const firstRow = files["productos.csv"].data[0];
|
const firstRow = files["productos.csv"].data[0];
|
||||||
if (!firstRow) return true;
|
if (!firstRow) return true;
|
||||||
const res = ProductoSegúnSpec.safeParse(firstRow);
|
const res = ProductoSegúnSpec.safeParse(firstRow);
|
||||||
|
@ -104,6 +104,16 @@ const checkers: Record<string, (files: Files) => boolean | string> = {
|
||||||
}
|
}
|
||||||
return missing.length > 0;
|
return missing.length > 0;
|
||||||
},
|
},
|
||||||
|
["Hay productos duplicados con el mismo EAN"](files) {
|
||||||
|
const productosEnSucursales = files["productos.csv"].data
|
||||||
|
.filter((row: any) => row.productos_ean == 1)
|
||||||
|
.map(
|
||||||
|
(row: any) => `${row.id_bandera}-${row.id_sucursal}-${row.id_producto}`
|
||||||
|
);
|
||||||
|
const eansUnicos = new Set(productosEnSucursales);
|
||||||
|
if (productosEnSucursales.length !== eansUnicos.size) return true;
|
||||||
|
return false;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const content = await fs.promises.readdir(dir);
|
const content = await fs.promises.readdir(dir);
|
||||||
|
|
Loading…
Reference in a new issue