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)
|
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
|
-- Cubes de stock et prix
|
||||||
-- ============================================================
|
-- ============================================================
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ const ARTFOU1_COLS = [
|
|||||||
'suividatecreation','suividatemodif',
|
'suividatecreation','suividatemodif',
|
||||||
];
|
];
|
||||||
const ARTFOU2_COLS = ['idartfou1','prixachat','remise_promotion'];
|
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) {
|
async function syncFournisseurs(force) {
|
||||||
const ms = await getMssql();
|
const ms = await getMssql();
|
||||||
@@ -89,6 +90,32 @@ async function syncFournisseurs(force) {
|
|||||||
await logSync(pg, 'fouadr1', 0, 'error', err.message);
|
await logSync(pg, 'fouadr1', 0, 'error', err.message);
|
||||||
console.error(`[fouadr1] ERREUR: ${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 };
|
module.exports = { syncFournisseurs };
|
||||||
Reference in new issue
Block a user