66 lines
2.0 KiB
JavaScript
66 lines
2.0 KiB
JavaScript
const express = require("express");
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
const bodyParser = require("body-parser");
|
|
|
|
const app = express();
|
|
const PORT = 3000;
|
|
|
|
// Middleware
|
|
app.use(bodyParser.json());
|
|
app.use(express.static("public"));
|
|
|
|
// Route pour récupérer le montant précédent
|
|
app.get("/montant_precedent", (req, res) => {
|
|
const filePath = path.join(__dirname, "data", "montant_precedent.txt");
|
|
|
|
// Vérifier si le fichier existe, sinon le créer avec une valeur par défaut
|
|
if (!fs.existsSync(filePath)) {
|
|
fs.writeFileSync(filePath, "0");
|
|
}
|
|
|
|
const montant = fs.readFileSync(filePath, "utf-8").trim();
|
|
res.send(montant || "0");
|
|
});
|
|
|
|
// Route pour sauvegarder les données
|
|
app.post("/save", (req, res) => {
|
|
const { date, previousAmount, articles, articleTotal, finalTotal } = req.body;
|
|
|
|
// Validation des données
|
|
const validPreviousAmount = parseFloat(previousAmount) || 0;
|
|
const validArticleTotal = parseFloat(articleTotal) || 0;
|
|
const validFinalTotal = parseFloat(finalTotal) || 0;
|
|
|
|
// Définir les chemins des fichiers
|
|
const suiviPath = path.join(__dirname, "data", "suivi.csv");
|
|
const montantPath = path.join(__dirname, "data", "montant_precedent.txt");
|
|
|
|
// Format de la ligne pour le fichier CSV
|
|
const line = [
|
|
date,
|
|
validPreviousAmount.toFixed(2),
|
|
JSON.stringify(articles),
|
|
validArticleTotal.toFixed(2),
|
|
validFinalTotal.toFixed(2)
|
|
].join(",") + "\n";
|
|
|
|
try {
|
|
// Ajouter la ligne au fichier suivi.csv
|
|
fs.appendFileSync(suiviPath, line);
|
|
|
|
// Mettre à jour le montant précédent dans montant_precedent.txt
|
|
fs.writeFileSync(montantPath, validFinalTotal.toFixed(2));
|
|
|
|
res.sendStatus(200);
|
|
} catch (error) {
|
|
console.error("Erreur lors de l'écriture des fichiers :", error);
|
|
res.status(500).send("Erreur lors de l'écriture des fichiers.");
|
|
}
|
|
});
|
|
|
|
// Démarrer le serveur
|
|
app.listen(PORT, () => {
|
|
console.log(`Server running on http://localhost:${PORT}`);
|
|
});
|