} } $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) {