25 lines
1018 B
TypeScript
25 lines
1018 B
TypeScript
import XLSX from "xlsx";
|
|
import { importMasseSalariale } from "../server/db";
|
|
import { parseMasseSalarialeWorkbookRows } from "../server/masseSalarialeWorkbookImport";
|
|
|
|
const workbookPath = "/home/ubuntu/upload/TableaurecapMassesalarialeSANTINOVA-28.08.26.xlsx";
|
|
const workbook = XLSX.readFile(workbookPath, { cellDates: true });
|
|
const sheet = workbook.Sheets["Masse salariale"];
|
|
if (!sheet) throw new Error("Feuille Masse salariale introuvable");
|
|
|
|
const rows = XLSX.utils.sheet_to_json<Array<string | number | Date | null>>(sheet, {
|
|
header: 1,
|
|
raw: true,
|
|
defval: null,
|
|
});
|
|
const parsed = parseMasseSalarialeWorkbookRows(rows);
|
|
const result = await importMasseSalariale(parsed.salaries, parsed.remunerations, {
|
|
replaceForecastYears: [2025, 2026, 2027],
|
|
});
|
|
|
|
const byYear = parsed.remunerations.reduce<Record<number, number>>((counts, row) => {
|
|
counts[row.annee] = (counts[row.annee] ?? 0) + 1;
|
|
return counts;
|
|
}, {});
|
|
console.log(JSON.stringify({ salaries: result.salaries, remunerationsByYear: byYear }));
|