Beispiel #1
0
    }
}
$dis = RPU::reshape($dis, 'id_link');
//Взять периоды непосещения
$unvis = RPIrro::getUnvisit($gr['id'], $set);
foreach ($unvis as $i => $row) {
    $unvis[$i]['data_start'] = RPU::convDtP($row['data_start']);
    $unvis[$i]['data_end'] = RPU::convDtP($row['data_end']);
    if ($row['ws'] == $row['we']) {
        $unvis[$i]['week'] = $row['ws'] . ' неделя';
    } else {
        $unvis[$i]['week'] = $row['ws'] . ' - ' . $row['we'] . ' недели';
    }
}
//Взять взыскания студента
$sanction = RPIrro::getSanction($gr['id']);
$textzamech = array('1' => "Замечание", "2" => "Выговор");
foreach ($sanction as $i => $row) {
    $sanction[$i]['data'] = RPU::convDtP($row['data']);
    $sanction[$i]['type'] = $textzamech[$row['id_type']];
}
//Взять направление и профиль
$MsSQL = RPDB::connect();
$result = $MsSQL->prepare("select np.name np,op.name op from np,op,bup,tup,tup_gr where op.id_np=np.id AND bup.id_op=op.id AND tup.id_bup=bup.id AND tup_gr.id=tup.id AND tup_gr.gr=?");
if (!$result->execute(array($gr['id']))) {
    throw new Exception('Ошибка при нахождении НП и ОП');
}
if (!($studinf = $result->fetch(PDO::FETCH_ASSOC))) {
    throw new Exception('Ошибка при нахождении НП и ОП');
}
//============================
 /**
  * Получить взыскания
  * @param mixed $ids - id ст. группы или массив
  * @return array [[id,numst,id_type,created]]
  */
 public static function getSanction($ids)
 {
     $ids = RPU::arr($ids);
     $numsts = RPIrro::getNumsts($ids);
     $MsSQL = RPDB::connect();
     $STH = $MsSQL->prepare("SELECT id,numst,id_type," . RPU::sqldate('created') . " data FROM vziskania where numst in(" . RPU::plas($numsts) . ") AND created > dateadd(year,-1,current_timestamp)");
     if (!$STH->execute($numsts)) {
         return array();
     }
     return $STH->fetchAll(PDO::FETCH_ASSOC);
 }
        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']];
$namecheck = RPU::filterByOne($km, 'name', true);
if (empty($namecheck)) {
    $arResult['print']['rowspan'] = 3;
} else {
    $arResult['print']['rowspan'] = 4;
}
$body = array();
$i = 0;
foreach ($stud as $numst => $name) {