feat: add GET /api/fournisseurs/:code/franco endpoint

This commit is contained in:
Michael committed 2026-04-24 12:05:47 +02:00
1 parent 7312b84233
commit a68e706805
2 files changed
+39

No files matched your search

+1
View File
@@ -63,6 +63,7 @@ app.listen(PORT, () => {
console.log(' GET /api/fournisseurs[?search=]');
console.log(' GET /api/fournisseurs/:code/articles');
console.log(' GET /api/fournisseurs/:code/commandes');
console.log(' GET /api/fournisseurs/:code/franco');
console.log(' GET /api/commandes[?dateDebut=&dateFin=&codefou=]');
console.log(' GET /api/commandes/:noCommande');
console.log(' GET /api/commandes/receptions/liste');
+38
View File
@@ -107,4 +107,42 @@ router.get('/:code/commandes', async (req, res) => {
}
});
// GET /api/fournisseurs/:code/franco
// Franco de port du fournisseur (fouport2.seuil en priorité, sinon foucad.franco)
router.get('/:code/franco', async (req, res) => {
try {
const pool = getPool();
const result = await pool.query(`
WITH franco_port AS (
SELECT fp.code, MAX(fp2.seuil) AS seuil
FROM fouport fp
JOIN fouport2 fp2 ON fp2.fou_no_id = fp.no_id
WHERE fp.code = $1
GROUP BY fp.code
)
SELECT
fi.code,
fi.nom,
COALESCE(fp.seuil, fc.franco) AS franco_ht,
fp.seuil AS franco_port,
fc.franco AS franco_general,
fc.actif,
fc.duree,
fc.unite
FROM fouident fi
LEFT JOIN foucad fc ON fc.foucode = fi.code
LEFT JOIN franco_port fp ON fp.code = fi.code
WHERE fi.code = $1
`, [req.params.code]);
if (!result.rows.length)
return res.status(404).json({ error: 'Fournisseur introuvable' });
res.json(result.rows[0]);
} catch (err) {
res.status(500).json({ error: err.message });
}
});
module.exports = router;