fix: separate item price analysis by unit

This commit is contained in:
2026-09-06 16:32:16 +03:00
parent 07cfd6198f
commit 04f24d78a3
3 changed files with 24 additions and 2 deletions
+8 -2
View File
@@ -83,6 +83,8 @@ export function firmStats(tenders) {
};
}
import { quantityParts } from './bidValidation.js';
// --- Kalem bazlı fiyat analizi ---
export function itemStats(tenders) {
const map = new Map();
@@ -92,8 +94,12 @@ export function itemStats(tenders) {
const bf = parseTL(it.birimFiyat);
if (bf == null) continue;
itemCount++;
const key = (it.ad || 'Diğer').trim().toLocaleUpperCase('tr-TR');
const cur = map.get(key) || { ad: it.ad, birim: it.birim, count: 0, prices: [] };
const quantity=quantityParts(it.miktar ?? it.quantity);
const rawUnit=quantity.birim || it.birim || '';
if (quantity.miktar == null || !String(rawUnit).trim()) { itemCount--; continue; }
const unit=String(rawUnit).trim().toLocaleLowerCase('tr-TR');
const key = `${(it.ad || 'Diğer').trim().toLocaleUpperCase('tr-TR')}||${unit}`;
const cur = map.get(key) || { ad: it.ad, birim: unit, count: 0, prices: [] };
cur.count++;
cur.prices.push(bf);
map.set(key, cur);