Daten via SQL (pw muss in .env eingetragen werden), Erweitert-Modus um nach anderen Feldern zu suchen

This commit is contained in:
2026-07-17 11:54:58 +02:00
parent b89dd1be80
commit 5b20729877
10 changed files with 1175 additions and 46 deletions
+51
View File
@@ -0,0 +1,51 @@
import sql from "mssql";
// --- SQL-Server-Anbindung (WAWIS), siehe .env.example ---
const sqlConfig = {
server: process.env.DB_SERVER || "192.168.1.16",
port: Number(process.env.DB_PORT) || 1433,
database: process.env.DB_DATABASE || "wawis",
user: process.env.DB_USER || "report",
password: process.env.DB_PASSWORD || "",
options: {
encrypt: false,
trustServerCertificate: true,
},
};
let poolPromise;
function getPool() {
if (!poolPromise) {
poolPromise = new sql.ConnectionPool(sqlConfig).connect().catch((error) => {
poolPromise = undefined;
throw error;
});
}
return poolPromise;
}
// Nur lesender Zugriff (SELECT) - der SQL-Server wird von diesem Portal nie beschrieben.
// gesperrt/inaktiv kommt aus T kunzu als Text ('ja'/'nein')
const CUSTOMERS_QUERY = `
SELECT
kunde.debez
, kunde.debnr
, kunde.kg_id as kg_id
, kunde.kugru as kugru
, sydat as sydat
, datlv as datlv
, fibuk as fibuk
, kunde.ku_id as ku_id
, RTRIM(bsper) as bsper
, RTRIM(baktiv) as baktiv
FROM kunde
INNER JOIN kunzu ON kunzu.ku_id = kunde.ku_id
`;
export async function fetchCustomersFromSql() {
const pool = await getPool();
const result = await pool.request().query(CUSTOMERS_QUERY);
console.log(result);
return result.recordset;
}