feat: add sync module for supplier data including artfou1, artfou2, and fouadr1 tables

This commit is contained in:
Michael committed 2026-03-31 13:51:34 +02:00
1 parent d885f51bdb
commit e20c253df8
2 files changed
+41 -1

No files matched your search

+13
View File
@@ -136,6 +136,19 @@ CREATE TABLE IF NOT EXISTS fouadr1 (
PRIMARY KEY (code, sit_code)
);
CREATE TABLE IF NOT EXISTS fouident (
code TEXT PRIMARY KEY,
fon_code TEXT,
cnuf TEXT,
nom TEXT,
actif BOOLEAN,
suspendu BOOLEAN,
permanen TEXT,
foucentrale TEXT,
suividatecreation TIMESTAMP,
suividatemodif TIMESTAMP
);
-- ============================================================
-- Cubes de stock et prix
-- ============================================================
+28 -1
View File
@@ -7,7 +7,8 @@ const ARTFOU1_COLS = [
'suividatecreation','suividatemodif',
];
const ARTFOU2_COLS = ['idartfou1','prixachat','remise_promotion'];
const FOUADR1_COLS = ['code','sit_code','raisonsociale','adrligne1','telephone','email'];
const FOUADR1_COLS = ['code','sit_code','raisonsociale','adrligne1','telephone','email'];
const FOUIDENT_COLS = ['code','fon_code','cnuf','nom','actif','suspendu','permanen','foucentrale','suividatecreation','suividatemodif'];
async function syncFournisseurs(force) {
const ms = await getMssql();
@@ -89,6 +90,32 @@ async function syncFournisseurs(force) {
await logSync(pg, 'fouadr1', 0, 'error', err.message);
console.error(`[fouadr1] ERREUR: ${err.message}`);
}
// === FOUIDENT (full refresh — table principale fournisseurs) ===
try {
const res = await ms.request().query(
`SELECT CODE, FON_CODE, CNUF, NOM, ACTIF, SUSPENDU, PERMANEN, FOUCENTRALE,
SUIVIDATECREATION, SUIVIDATEMODIF FROM FOUIDENT`
);
const rows = res.recordset.map(r => ({
code: r.CODE,
fon_code: r.FON_CODE,
cnuf: r.CNUF,
nom: r.NOM,
actif: r.ACTIF,
suspendu: r.SUSPENDU,
permanen: r.PERMANEN,
foucentrale: r.FOUCENTRALE,
suividatecreation: r.SUIVIDATECREATION,
suividatemodif: r.SUIVIDATEMODIF,
}));
const count = await fullRefresh(pg, 'fouident', rows, FOUIDENT_COLS);
await logSync(pg, 'fouident', count, 'ok');
console.log(`[fouident] ${count} lignes refresh`);
} catch (err) {
await logSync(pg, 'fouident', 0, 'error', err.message);
console.error(`[fouident] ERREUR: ${err.message}`);
}
}
module.exports = { syncFournisseurs };