Exemple #1
0
        unset($dis[$k]);
    }
}
if (empty($dis)) {
    throw new Exception('В выбранном семестре нет дисциплин');
}
$kafs = RPIrro::getKafs($dis);
//Берем все КМ
$dis = RPIrro::upgradeGroups($dis, array($gr));
$dis = RPIrro::getKMS($dis, array($gr['id']));
$dis = RPU::e($dis);
//Приведение формата чисел к печатному
//Берем баллы студентов для связи ТУП+Д
$ball = RPU::e(RPIrro::getBalls($dis, array($gr['id'])));
//Взять настройки семестра
$set = RPU::getSemSet($sem, false);
//Подсчет МВБ
$dis = RPIrro::upgradeGrades($dis, $ball, RPIrro::getStudents($gr['id']), $set['week']);
$dis = RPIrro::upgradePreps($dis, true, true);
//ИР КМ
$irs_km = RPIrro::getKMIr(RPU::reshape($dis, false, 'id_link'));
foreach ($irs_km as $k => $ir) {
    $ir['link'] = RPUrl::getIrUrl($ir['link']);
    $ir = RPU::label($ir);
    $irs_km[$k] = RPU::cnt($ir);
}
$irs_km = RPU::groupBy($irs_km, 'p');
//Подготовка к печати
$nopreps = array(array('name' => 'Не назначен', 'st' => array()));
//симуляция для случаев, когда преподов нет
foreach ($dis as $i => $d) {
} else {
    $STH = $MsSQL->prepare('select * from link_iup_tup_d where id_link_tup_d=? AND id_iup=?');
    if ($STH->execute(array($link, $iup))) {
        if ($row = $STH->fetch()) {
            $semset = array('sem' => $row['sem']);
        }
    }
    $STH = $MsSQL->prepare('select * from iup where id=?');
    if ($STH->execute(array($iup))) {
        if ($row = $STH->fetch()) {
            $iup = $row;
        }
    }
}
if ($semset) {
    $set = RPU::getSemSet($semset, true, $iup['id']);
} else {
    throw new Exception("Ошибка получения настроек семестра");
}
if ($iup) {
    $help = '. Текущая неделя для студента: ' . $set['week'];
}
$dis = RPIrro::upgradeGrades(array($dis), $ball, $st_all, $set['week']);
$dis = end(RPIrro::upgradeStarted($dis, array($gr['id'])));
$unvis = RPIrro::getUnvisit($gr['id'], $set);
//Формирование массива для вывода
$km = RPU::reshape($dis['kms'][$gr['id']], false, array('id', 'week', 'name', 'sh', 'max_ball', 'min_ball', 'bonus', 'type_name'));
$km = RPU::filterBy($km, array('max_ball' => true));
$arResult['print']['km'] = RPU::matrixSort($km, 'week');
$arResult['print']['mvb']['max'] = $dis['mvb'][$gr['id']];
$arResult['print']['mvb']['min'] = $dis['mvbi'][$gr['id']];