fix(ctmath): чистка банка — год-пачки убраны из пикера пробников
- exam-prep.js: MOCK_VARIANT_RANGE — для ctmath показываем как пробники только чистые 30-задачные варианты [101;1999]; год-пачки (variant=год 2011-2024 и 0, до 114 задач) остаются пулом для тренажёра по темам, но скрыты из пикера/mock-start/просмотра вариантов. math9 (1..80) не затронут (диапазон только для ctmath). - mock.js: пикер «По варианту» — выпадающий список реальных вариантов (через listVariants) вместо number-input 1..N; раньше для ctmath он предлагал 1..18 и не доходил до 101 → пробник по варианту не запускался. - cleanup_ctmath_bank.js: идемпотентный скрипт — ретайр битого id=1419 (mc с противоречивым ответом → long), variants_count → 3 (чистых вариантов). - seed_*: variants_count считается по диапазону [101;1999] (консистентно с роутом). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -285,7 +285,7 @@ const upsert = db.prepare(`
|
||||
let n = 0; db.exec('BEGIN');
|
||||
try {
|
||||
for (const t of TASKS) { upsert.run(EXAM, VARIANT, t.idx, t.type, t.text, t.fig || null, t.type === 'mc' ? JSON.stringify(t.opts) : null, t.answer, buildSolution(t), t.topic, t.subtopic, t.diff); n++; }
|
||||
const distinct = db.prepare(`SELECT COUNT(DISTINCT variant) c FROM exam_tasks WHERE exam_key=?`).get(EXAM).c;
|
||||
const distinct = db.prepare(`SELECT COUNT(DISTINCT variant) c FROM exam_tasks WHERE exam_key=? AND variant BETWEEN 101 AND 1999`).get(EXAM).c;
|
||||
db.prepare(`UPDATE exam_tracks SET variants_count=? WHERE exam_key=?`).run(distinct, EXAM);
|
||||
db.exec('COMMIT');
|
||||
console.log(`\n✓ Записано/обновлено ${n} заданий (variant=${VARIANT}). variants_count=${distinct}.`);
|
||||
|
||||
Reference in New Issue
Block a user