v3: данные из Excel (2060 записей) загружены в JSON, сервер упрощён

This commit is contained in:
bagdat 2026-08-28 06:37:53 +00:00
parent e78d2e2b8c
commit d039016938
2 changed files with 3 additions and 35 deletions

View File

@ -2,9 +2,6 @@
"name": "pdz-report",
"private": true,
"type": "commonjs",
"dependencies": {
"xlsx": "*"
},
"scripts": {
"start": "node server.js"
}

View File

@ -1,46 +1,17 @@
const http = require("http");
const fs = require("fs");
const path = require("path");
const XLSX = require("xlsx");
const PORT = process.env.PORT || 3000;
const DATA_FILE = path.join(__dirname, "123-1.xlsx");
const DATA_FILE = path.join(__dirname, "data.json");
let cachedData = null;
function loadData() {
if (cachedData) return cachedData;
try {
const wb = XLSX.readFile(DATA_FILE);
const ws = wb.Sheets["Проблемная B2G июнь"];
const rows = XLSX.utils.sheet_to_json(ws);
cachedData = rows.map(r => ({
"Регион": r["Регион"] || "",
"Сервер": r["Сервер"] || "",
"Район": r["Район CRM"] || "",
"Город": r["Город"] || "",
"Адрес": r["Адрес CRM"] || "",
"Сегмент": r["Сегмент"] || "",
"Категория": r["Категория"] || "",
"Лицевой счет": r["Лицевой счет"] || "",
"Абонент": r["Абонент"] || "",
"БИН": r["БИН/ИИН"] || "",
"Контракт": r["номер контракта crm"] || "",
"Начало": r["начало действия crm"] || "",
"Конец": r["Макс дата образования ДЗ"] || "",
"ДЗ итого": r["Дебиторская задолженность(Итого)"] || 0,
"ПДЗ": r["ПДЗ"] || 0,
"ИТОГО ПДЗ": r["ИТОГО ПДЗ на 01.06.2026"] || r["ИТОГО ПДЗ"] || 0,
"ЛС CRM": r["ЛС CRM 2.0"] || "",
"Менеджер": r["персональный менеджер"] || "",
"Период": r["период внесения"] || "",
"Статус С/Д": r["С/Д июнь"] || r["С/Д май"] || "",
"Статус": r["Статусы июнь"] || r["Статусы май"] || "",
"Отработка": r["Текущий статус июнь"] || r["Текущий статус май"] || "",
"Причина": r["Причина июнь"] || r["Причина май"] || "",
"Ход работы": r["Ход работы июнь"] || "",
"Сотрудник": r["Сотрудник"] || ""
})).filter(r => r["Абонент"] && r["Лицевой счет"]);
const content = fs.readFileSync(DATA_FILE, "utf8");
cachedData = JSON.parse(content);
return cachedData;
} catch (e) {
console.error("Ошибка загрузки данных:", e.message);