fix: DT ve arşiv kayıtları sektör alanına ihale türü yazıyordu — sektör filtresi bu kayıtları bulamıyordu

This commit is contained in:
2026-08-30 00:28:32 +03:00
parent fd78b6e7d9
commit 62d1b8844e
4 changed files with 88 additions and 58 deletions
+15 -1
View File
@@ -6,6 +6,7 @@
*/
import fs from 'node:fs';
import { sektorBul } from './siniflandir.mjs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { titleCaseTr } from './tr-text.mjs';
@@ -163,7 +164,9 @@ function rowToTender(r) {
sehir: titleCaseTr(r.il),
tarih: r.ihale_tarihi || '',
alimTuru: r.ihale_tipi || 'İhale',
sektor: r.ihale_tipi || 'Genel',
// Sektör ihale TÜRÜ değildir ('Mal Alımı' bir sektör değil);
// ihale adından ve kalem adlarından çıkarılır.
sektor: sektorBul(r.ihale_adi || '', kalemAdlari(r.okas_kalemler)),
kazananFirma: r.kazanan_firma,
sozlesmeBedeli: r.sozlesme_bedeli,
paraBirimi: r.para_birimi,
@@ -190,6 +193,17 @@ function rowToTender(r) {
};
}
// OKAS kalemlerinden ad listesi — sektör tahminini güçlendirir.
function kalemAdlari(ham) {
if (!ham) return '';
try {
const k = JSON.parse(ham);
return Array.isArray(k) ? k.map((x) => x?.ad || '').join(' ') : '';
} catch {
return '';
}
}
export function readHistory(limit = 500, { firma, idare, il } = {}) {
const db = openDb();
if (!db) return { tenders: [], totalCount: 0, available: false };