feat: add sync module for supplier data including artfou1, artfou2, and fouadr1 tables
This commit is contained in:
1 parent
d885f51bdb
commit
e20c253df8
2 files changed
+41
-1
No files matched your search
@@ -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
|
||||
-- ============================================================
|
||||
|
||||
@@ -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 };
|
||||
Reference in new issue
Block a user