fix(havuz): B3 — alan süzgeci kırpmadan önce uygulansın [KARAR]
Havuz her dilimden sıraya en yakın 60 programı alıp alan (kategori) süzgecini ondan sonra uyguluyordu; il seçmeyen adayın alanı, o alanda onlarca program varken "yeterli program yok" diye gevşiyordu (matris B3: 318 denemenin 206'sı). Artık dilimin tamamı okunur (db.havuzAdaylari), il + alan süzgeci ona uygulanır, 24 eşiği gerçek sayıya bakar, kırpma en sonda yapılır. Gevşetme sırası ve kırpma kuralı değişmedi. Kanıt (önce → sonra, havuzda seçili alanla eşleşen): a16 EA 200.000 Turizm 1/60 → 33/33; p03 8/60 → 60/60; a08 5/60 → 60/60; hiçbiri artık alan gevşetmiyor. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -239,6 +239,28 @@ export function searchByRank(
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Aday havuzunun ham girdisi: üç dilimin TAMAMI, yakından uzağa sıralı
|
||||
* (limit yok). Alan (kategori) DB'de kolon değil, JS'te isim+fakülteden
|
||||
* türüyor; süzgeç limitten SONRA uygulanınca sıraya en yakın satırlar her
|
||||
* alandan karışık geldiği için seçilen alan olduğundan az görünüyordu. Bu
|
||||
* yüzden havuz dilimin tamamını alır, alan/il süzgecini kendisi uygular ve
|
||||
* en son kırpar (bkz. lib/rapor-havuzu.ts). En büyük puan türü ~9 bin satır.
|
||||
*/
|
||||
export function havuzAdaylari(
|
||||
sira: number,
|
||||
turKey: PuanTuruKey,
|
||||
opts: { uniturGrubu?: UniturGrubu; ozellik?: OzellikSuzgeci } = {}
|
||||
): Record<DilimKey, Program[]> {
|
||||
// LIMIT -1: SQLite'ta "sınırsız"
|
||||
const ortak = { ...opts, limit: -1 };
|
||||
return {
|
||||
hayal: dilimAra(sira, turKey, "hayal", ortak).programlar,
|
||||
dengeli: dilimAra(sira, turKey, "dengeli", ortak).programlar,
|
||||
garanti: dilimAra(sira, turKey, "garanti", ortak).programlar,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Programa yerleşen son kişinin yıl bazlı netleri, yeniden eskiye sıralı.
|
||||
* Veri scripts/detay.ts ile YÖK Atlas /api/netler/search'ten doldurulur.
|
||||
|
||||
Reference in New Issue
Block a user