public function actionAutocomplete() { if (Yii::app()->request->isAjaxRequest) { $reqTerm = Yii::app()->request->getParam('term', null); if (!$reqTerm) { return; } $criteria = new CDbCriteria(); $criteria->with = array('eduform'); $criteria->together = true; $criteria->select = array('idSpeciality', new CDbExpression("concat_ws(' '," . "SpecialityClasifierCode," . "(case substr(SpecialityClasifierCode,1,1) when '6' then " . "SpecialityDirectionName else SpecialityName end)," . "(case SpecialitySpecializationName when '' then '' " . " else concat('(',SpecialitySpecializationName,')') end)" . ",',',concat('форма: ',eduform.PersonEducationFormName)) AS tSPEC")); $terms = explode(' ', $reqTerm); foreach ($terms as $term) { $criteria->compare("concat_ws(' '," . "SpecialityClasifierCode," . "(case substr(SpecialityClasifierCode,1,1) when '6' then " . "SpecialityDirectionName else SpecialityName end)," . "(case SpecialitySpecializationName when '' then '' " . " else concat('(',SpecialitySpecializationName,')') end)" . ",',',concat('форма: ',eduform.PersonEducationFormName))", $term, true); } $criteria->order = 'SpecialityName ASC,SpecialityDirectionName ASC,SpecialityClasifierCode ASC'; $_data = CHtml::ListData(Specialities::model()->findAll($criteria), 'idSpeciality', 'tSPEC'); $data = array(); $c = 0; foreach ($_data as $id => $val) { $data[$c]['label'] = $val; $data[$c]['value'] = $val; $data[$c]['spec_id'] = $id; $c++; } $data['count'] = count($data); //var_dump($data); echo CJSON::encode($data); } }
protected function afterFind() { if (!empty($this->SpecialityID)) { $ps = Specialities::model()->findByPk($this->SpecialityID); if ($ps) { $this->FacultetID = $ps->facultet->idFacultet; $this->EducationFormID = $ps->eduform->idPersonEducationForm; } } if (isset($this->created)) { $this->created = date("d.m.Y", strtotime($this->created)); } if (isset($this->updated)) { $this->updated = date("d.m.Y", strtotime($this->updated)); } if (isset($this->SubjectsDate1)) { $this->SubjectsDate1 = date("d.m.Y", strtotime($this->SubjectsDate1)); } if (isset($this->SubjectsDate2)) { $this->SubjectsDate2 = date("d.m.Y", strtotime($this->SubjectsDate2)); } if (isset($this->SubjectsDate3)) { $this->SubjectsDate3 = date("d.m.Y", strtotime($this->SubjectsDate3)); } return parent::afterFind(); }
<div class="span3"> <?php $idFacultet = $model->sepciality->FacultetID; echo CHtml::label("Факультет", "idFacultet"); ?> <?php echo CHtml::dropDownList('idFacultet', $idFacultet, CHtml::listData(Facultets::model()->findAll(array('order' => 'FacultetFullName')), 'idFacultet', 'FacultetFullName'), array("disabled" => "disabled", "id" => "idFacultet", 'class' => "span12")); ?> </div> <div class="span3"> <?php $url = Yii::app()->createUrl("personspeciality/znosubjects", array("personid" => $personid, "specid" => intval($model->idPersonSpeciality))); echo $form->label($model, 'SepcialityID'); ?> <?php echo $form->dropDownList($model, 'SepcialityID', CHtml::listData(Specialities::model()->findAll(), 'idSpeciality', 'SpecialityDirectionName'), array('class' => "span12", "disabled" => "disabled", "id" => "SepcialityID")); ?> </div> <div class="span2"> <?php echo $form->label($model, 'PaymentTypeID'); ?> <?php echo $form->dropDownList($model, 'PaymentTypeID', CHtml::listData(Personeducationpaymenttypes::model()->findAll(), 'idEducationPaymentTypes', 'EducationPaymentTypesName'), array("disabled" => "disabled", 'class' => "span12", "id" => "PaymentTypeID")); ?> </div> <div class="span2"> <?php echo $form->label($model, 'EducationFormID'); ?>
public static function getAllSpecs() { $spec_sql = "concat_ws(' '," . "SpecialityClasifierCode," . "(case substr(SpecialityClasifierCode,1,1) when '6' then " . "SpecialityDirectionName else SpecialityName end)," . "(case SpecialitySpecializationName when '' then '' " . " else concat('(',SpecialitySpecializationName,')') end)" . ",concat('(',MID(eduform.PersonEducationFormName,1,1),')'))"; $criteria = new CDbCriteria(); $criteria->select = array('idSpeciality', 'PersonEducationFormID', $spec_sql . ' AS SPEC'); $criteria->with = array('eduform'); $criteria->together = true; $criteria->group = 'idSpeciality'; $criteria->order = 'SpecialityName ASC,SpecialityDirectionName ASC,SpecialityClasifierCode ASC, ' . 'eduform.PersonEducationFormName ASC'; $Data = Specialities::model()->findAll($criteria); $result = array(); foreach ($Data as $rec) { $result[$rec->idSpeciality] = $rec->SPEC; } return $result; }
//$this->breadcrumbs=array( // 'Specialitysubjects'=>array('index'), // 'Manage', //); $this->menu = array(array('label' => 'Перелік предметів напрямів', 'url' => array('admin'), 'icon' => "icon-plus"), array('label' => 'Додати предмет напрямкку', 'url' => array('create'), 'icon' => "icon-plus")); Yii::app()->clientScript->registerScript('search', "\r\n\$('.search-button').click(function(){\r\n\t\$('.search-form').toggle();\r\n\treturn false;\r\n});\r\n\$('.search-form form').submit(function(){\r\n\t\$.fn.yiiGridView.update('specialitysubjects-grid', {\r\n\t\tdata: \$(this).serialize()\r\n\t});\r\n\treturn false;\r\n});\r\n"); ?> <h1>Управління предметами напрямків</h1> <p> You may optionally enter a comparison operator (<b><</b>, <b><=</b>, <b>></b>, <b>>=</b>, <b><></b> or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done. </p> <!-- <?php echo CHtml::link('Advanced Search', '#', array('class' => 'search-button btn')); ?> <div class="search-form" style="display:none"> <?php $this->renderPartial('_search', array('model' => $model)); ?> </div> search-form --> <?php $data = $model->search(); $Specialities = new Specialities(); $d = $Specialities->getSpecialityFullNames(); $this->widget('bootstrap.widgets.TbGroupGridView', array('id' => 'specialitysubjects-grid', 'type' => 'striped bordered condensed', 'dataProvider' => $data, 'filter' => $model, 'mergeColumns' => array('SpecialityID'), 'columns' => array(array('name' => 'SpecialityID', 'value' => '$data->speciality->SpecialityDirectionName." ".$data->speciality->SpecialitySpecializationName." (". (($data->speciality->PersonEducationFormID==1)?("денна"):(($data->speciality->PersonEducationFormID==2)?("заочна"):("екстернат"))).")"', 'filter' => $d), array('name' => 'SubjectID', 'value' => '$data->subject->SubjectName', 'filter' => CHtml::listData(Subjects::model()->findAll(), "idSubjects", "SubjectName")), array('name' => 'LevelID', 'filter' => array("1" => "1", "2" => "2", "3" => "3"), "htmlOptions" => array("style" => "width: 100px")), array('name' => 'isProfile', 'filter' => array('1' => 'так', '0' => 'ні'), "htmlOptions" => array("style" => "width: 100px"), 'value' => '($data->isProfile)? "так":"ні"'), array('class' => 'bootstrap.widgets.TbButtonColumn'))));
<?php $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array('id' => 'specialitysubjects-form', 'enableAjaxValidation' => false)); $form = new TbActiveForm(); ?> <p class="help-block">Fields with <span class="required">*</span> are required.</p> <?php if (empty($SpecialityID)) { $SpecialityID = 0; } echo CHtml::dropDownList("SpecialityID", $SpecialityID, Specialities::DropDown(), array('empty' => "", 'class' => 'span5')); $c = new CDbCriteria(); $c->order = 'SubjectName'; $c->compare('idZNOSubject', '>0'); $data = CHtml::listData(Subjects::model()->findAll($c), "idSubjects", "SubjectName"); $dataCount = count($data); ?> <div class ="row-fluid"> <?php echo $form->error($models[0], "SpecialityID"); ?> </div> <div class ="row-fluid"> <?php foreach ($models as $i => $model) { ?> <div class="span4"> <?php
<?php echo CHtml::dropDownList('idFacultet', $idFacultet, CHtml::listData(Facultets::model()->findAll(array('order' => 'FacultetFullName')), 'idFacultet', 'FacultetFullName'), array('empty' => '', 'disabled' => !$model->isNewRecord, 'onchange' => "PSN.onFacChange(this, '#" . CHtml::activeId($model, "SepcialityID") . "','" . CController::createUrl('personspeciality/speciality') . "');", 'class' => "span12")); ?> </div> </div> </div> <div class="span4"> <?php $url = Yii::app()->createUrl("personspeciality/znosubjects", array("personid" => $personid, "specid" => intval($model->idPersonSpeciality))); echo $form->labelEx($model, 'SepcialityID'); ?> <?php if (!empty($model->EducationFormID) && !empty($model->QualificationID)) { echo $form->dropDownList($model, 'SepcialityID', Specialities::DropDownMask($idFacultet, $model->EducationFormID, $model->QualificationID), array('empty' => '', 'class' => "span12", 'disabled' => !$model->isNewRecord)); } else { echo $form->dropDownList($model, 'SepcialityID', Specialities::DropDown($idFacultet), array('empty' => '', 'class' => "span12", 'disabled' => !$model->isNewRecord)); } ?> <?php //echo $form->error($model,'SepcialityID'); ?> </div> <!-- <div class="span2"> <?php //echo $form->labelEx($model,'PaymentTypeID'); ?> <?php //echo $form->dropDownList($model,'PaymentTypeID', CHtml::listData(Personeducationpaymenttypes::model()->findAll(), 'idEducationPaymentTypes', 'EducationPaymentTypesName'), //array( 'empty'=>'','class'=>"span12")); ?> <?php
public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $user = Yii::app()->user->getUserModel(); $criteria = new CDbCriteria(); $in = array(); if (!empty($this->Facultet)) { $inspec = Specialities::model()->findAll("FacultetID = " . $this->Facultet); foreach ($inspec as $item) { $in[] = $item->idSpeciality; } } if (!empty($this->CreateDate)) { Yii::log($this->CreateDate); $criteria->addBetweenCondition('CreateDate', date('Y-m-d', strtotime($this->CreateDate)), date('Y-m-d', strtotime($this->CreateDate)) . " 23:59:59"); } //Yii::log(print_r($in,1)); $criteria->compare('idPersonSpeciality', $this->idPersonSpeciality); //$criteria->compare('CreateDate',$this->CreateDate,true); $criteria->compare('idPerson', $this->idPerson); $criteria->compare('Birthday', $this->Birthday, true); $criteria->compare('FIO', $this->FIO, true); $criteria->compare('isContract', $this->isContract); $criteria->compare('isBudget', $this->isBudget); $criteria->compare('SpecCodeName', $this->SpecCodeName, true); $criteria->compare('QualificationID', $this->QualificationID); $criteria->compare('CourseID', $this->CourseID); $criteria->compare('RequestNumber', $this->RequestNumber); $criteria->compare('PersonRequestNumber', $this->PersonRequestNumber); $criteria->compare('isCopyEntrantDoc', $this->isCopyEntrantDoc); $criteria->compare('DocumentSubject1Value', $this->DocumentSubject1Value); $criteria->compare('DocumentSubject2Value', $this->DocumentSubject2Value); $criteria->compare('DocumentSubject3Value', $this->DocumentSubject3Value); $criteria->compare('RequestFromEB', $this->RequestFromEB); $criteria->compare('SepcialityID', $this->SepcialityID); $criteria->compare('EducationFormID', $this->EducationFormID); $criteria->compare('StatusID', $this->StatusID); $criteria->addCondition('StatusID<>10'); $criteria->addCondition('StatusID<>3'); if (!empty($in)) { $criteria->addInCondition("SepcialityID", $in); } $criteria->compare('AtestatValue', $this->AtestatValue); if (!empty($user) && !empty($user->syspk->QualificationID)) { if ($user->syspk->QualificationID > 1) { $criteria->compare('QualificationID', ">1"); } else { $criteria->compare('QualificationID', $user->syspk->QualificationID); } } return new CActiveDataProvider($this, array('criteria' => $criteria)); }
/** * Метод формує статистику формату: * Факультет; К-сть випускників; К-сть заяв із ЗНУ на спеціаліста/магістра із дипломом ЗНУ, виданим цього року */ public function actionPersonstatgraduated() { Yii::import('application.models.Qualifications'); $criteria = new CDbCriteria(); $criteria->with = array('facultet'); $criteria->addCondition('t.SpecialityClasifierCode LIKE "%7.%" OR ' . 't.SpecialityClasifierCode LIKE "%8.%"'); $ZNU = "Запорізький національний університет"; $ZNU1 = "Запорізьким національним університетом"; $ZNU2 = "Запорізького національного університету"; $ZNUshort = "ЗНУ"; $statuses = '1,4,5,7,8,9'; $criteria->select = array('*', new CDbExpression('(SELECT SUM(gr.Number) FROM graduated gr WHERE `year`=' . date('Y') . ' AND gr.FacultyID = t.FacultetID ) AS cnt_grad'), new CDbExpression('0+((' . 'SELECT COUNT(DISTINCT ps4.PersonID) ' . 'FROM personspeciality ps4 ' . ' INNER JOIN documents docs4 ON ps4.EntrantDocumentID = docs4.idDocuments ' . 'WHERE ps4.SepcialityID IN (SELECT spc.idSpeciality FROM specialities spc WHERE t.FacultetID = spc.FacultetID) ' . ' AND ps4.StatusID IN (' . $statuses . ') ' . ' AND ps4.QualificationID IN (' . Qualifications::$specialist . ',' . Qualifications::$magistr . ') ' . ' AND (docs4.Issued LIKE "%' . $ZNU . '%" OR docs4.Issued LIKE "%' . $ZNU1 . '%" OR docs4.Issued LIKE "%' . $ZNU2 . '%" OR docs4.Issued LIKE "%' . $ZNUshort . '%") ' . ' AND docs4.TypeID IN(11,12,13) ' . ' AND (year(docs4.DateGet) =' . date('Y') . ') ' . ')) AS cnt_requests_from_us')); $criteria->group = 't.FacultetID'; $criteria->order = 'facultet.FacultetFullName'; $criteria->together = true; $models = Specialities::model()->findAll($criteria); // echo "<pre>"; // foreach ($models as $model) { // echo $model->facultet->FacultetFullName."\t".$model->cnt_grad."\t".$model->cnt_requests_from_us."<br>"; // } // echo "</pre>"; // return; header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=file.csv"); header("Pragma: no-cache"); header("Expires: 0"); $output = fopen("php://output", "w"); fputcsv($output, array(iconv('UTF-8', 'Windows-1251', 'Факультет'), iconv('UTF-8', 'Windows-1251', "Випуск " . date('Y')), iconv('UTF-8', 'Windows-1251', "ЗНУ " . date('Y'))), ';'); foreach ($models as $model) { fputcsv($output, array(iconv('UTF-8', 'Windows-1251', $model->facultet->FacultetFullName), iconv('UTF-8', 'Windows-1251', $model->cnt_grad), iconv('UTF-8', 'Windows-1251', $model->cnt_requests_from_us)), ';'); } fclose($output); }
<?php $sp = Specialities::model()->find("idSpeciality = {$specid}"); ?> <h3>Перевірка попередньої освіти персон</h3> <h4>Спеціальність: <?php echo $specid . ' : ' . $sp->getSpecialityFullName(); ?> </h4> <style> ul.person-item { overflow: hidden; border-bottom: 1px solid #ccc; } ul.person-item li { float: left; list-style: none; } li.person-item-id { width: 50px; } li.person-item-num { width: 50px; } li.person-item-fio { width: 230px; } li.person-item-edboid { width: 200px;
public function loadRequestFromJsqon($jsondata, $sbj) { $data = CJSON::decode($jsondata); if (empty($data)) { throw new Exception("Заявку не знайдено!"); } $data = (object) $data[0]; $this->RequestFromEB = 1; $this->edboID = $data->idPersonRequest; $this->isBudget = $data->isBudget; $this->isContract = $data->isContract; $this->isNeedHostel = $data->isNeedHostel; $this->StatusID = $data->idPersonRequestStatusType; Yii::log($this->StatusID); $doc = Documents::model()->find("edboID=" . $data->idPersonDocument); if (empty($doc)) { throw new Exception("Документ для вступу відсутный або не синхронізований!"); } $this->EntrantDocumentID = $doc->idDocuments; $this->EducationFormID = $data->idPersonEducationForm; $this->QualificationID = $data->idQualification; $spec = Specialities::model()->find("SpecialityKode = '" . $data->universitySpecialitiesKode . "'"); if (empty($spec)) { throw new Exception("Пропозиція відсутня"); //$this->SepcialityID = 153677; } else { $this->SepcialityID = $spec->idSpeciality; } Yii::log($this->SepcialityID); $this->LanguageExID = $data->idLanguageEx; $this->EntranceTypeID = $data->idPersonEnteranceTypes; $this->CausalityID = $data->idPersonRequestExaminationCause; $this->SkipDocumentValue = $data->skipDocumentValue; $this->priority = $data->requestPriority; // Load subjects $sdata = CJSON::decode($sbj); if (empty($data)) { throw new Exception("Не задано передмети!"); } if (!empty($sdata[0])) { $s1 = (object) $sdata[0]; $doc = Documents::model()->find("edboID=" . $s1->idPersonDocument); $subj1 = Documentsubject::model()->find("DocumentID = {$doc->idDocuments} and SubjectID = {$s1->idSubject}"); $this->DocumentSubject1 = $subj1->idDocumentSubject; } if (!empty($sdata[1])) { $s1 = (object) $sdata[1]; $doc = Documents::model()->find("edboID=" . $s1->idPersonDocument); $subj1 = Documentsubject::model()->find("DocumentID = {$doc->idDocuments} and SubjectID = {$s1->idSubject}"); $this->DocumentSubject2 = $subj1->idDocumentSubject; } if (!empty($sdata[2])) { $s1 = (object) $sdata[2]; $doc = Documents::model()->find("edboID=" . $s1->idPersonDocument); $subj1 = Documentsubject::model()->find("DocumentID = {$doc->idDocuments} and SubjectID = {$s1->idSubject}"); $this->DocumentSubject3 = $subj1->idDocumentSubject; } Yii::log(print_r($this->DocumentSubject1 . " " . $this->DocumentSubject2 . " " . $this->DocumentSubject3, 1)); }
protected function afterFind() { //if (empty($this->KOATUUCodeL1ID)) $this->KOATUUCodeL1ID = 105572; //if (empty($this->KOATUUCodeL2ID)) $this->KOATUUCodeL2ID = 105574; //if (empty($this->KOATUUCodeL3ID)) $this->KOATUUCodeL3ID = 105576; if (!empty($this->idPreuniGroup)) { $ps = Specialities::model()->findByPk($this->idPreuniGroup); $this->FacultetID = $ps->facultet->idFacultet; $this->EducationFormID = $ps->eduform->idPersonEducationForm; } if ($this->Birthday == "0000-00-00") { $this->Birthday = "01.01.1995"; } else { $this->Birthday = date("d.m.Y", strtotime($this->Birthday)); } $this->CreateDate = date("d.m.Y", strtotime($this->CreateDate)); if ($this->KOATUUCodeID > 0) { $this->koatu = $this->KOATUUCodeID . ";" . $this->KOATUUCode; } else { $this->koatu = ""; } parent::afterFind(); return true; }
<?php $form = $this->beginWidget('CActiveForm', array('id' => 'specialityquotes-form', 'enableAjaxValidation' => false)); /* @var $form CActiveForm */ ?> <p class="note">Поля, відмічені <span class="required">*</span> обов'язкові для заповнення!</p> <?php echo $form->errorSummary($model); ?> <div class="row-fluid"> <div class="span12"> <?php echo $form->labelEx($model, 'SpecialityID'); ?> <?php echo $form->dropDownList($model, 'SpecialityID', Specialities::getAllSpecs(), array('class' => 'span12')); ?> <?php echo $form->error($model, 'SpecialityID'); ?> </div> </div> <div class="row-fluid"> <div class="span12"> <?php echo $form->labelEx($model, 'QuotaID'); ?> <?php echo $form->dropDownList($model, 'QuotaID', Quota::getAllQuota(), array('class' => 'span12')); ?> <?php
public function actionRatinginfolinks6() { $criteria = new CDbCriteria(); $criteria->with = array('eduform'); $criteria->together = true; //$criteria->addCondition('eduform.idPersonEducationForm IN (1,2)'); $criteria->addCondition('substr(SpecialityClasifierCode,1,1) LIKE "6"'); $criteria->addCondition('idSpeciality NOT IN(162738)'); $criteria->select = array('idSpeciality', new CDbExpression("concat_ws(' '," . "SpecialityClasifierCode," . "(case substr(SpecialityClasifierCode,1,1) when '6' then " . "SpecialityDirectionName else SpecialityName end)," . "(case SpecialitySpecializationName when '' then '' " . " else concat('(',SpecialitySpecializationName,')') end)" . ",',',concat('форма: ',eduform.PersonEducationFormName)) AS tSPEC")); $criteria->order = 'SpecialityName ASC,SpecialityDirectionName ASC,SpecialityClasifierCode ASC, eduform.PersonEducationFormName ASC'; echo '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Інформація про подані абітурієнтами заяви (ОКР "Бакалавр")</title> </head><body>'; echo "<p style='text-align: right; font-family: \"Courier New\"; font-size: 8pt;'>Дані сформовано " . date('d.m.Y H:i') . "</p>"; echo "<h1 style='text-align: center;'>Інформація про подані абітурієнтами заяви</h1>"; echo "<h3 style='text-align: center;'>Заяви на ОКР \"Бакалавр\"</h3>"; echo "<ul>"; foreach (Specialities::model()->findAll($criteria) as $spec) { $href = Yii::app()->createAbsoluteUrl("/rating/rating/ratinginfo", array('Personspeciality[SepcialityID]' => $spec->idSpeciality, 'Personspeciality[rating_order_mode]' => 1)); echo "<li><a href='" . $href . "' target='_blank'>" . $spec->tSPEC . " (" . Personspeciality::model()->count('(SepcialityID=' . $spec->idSpeciality . ' AND StatusID IN (1,4,5,7,8))') . ")</a></li>"; } echo "</ul><footer style='text-align: center;'>ЗНУ, Лабораторія ІС та КТ</footer>" . '<!--ZNUstat--><center> <script> document.writeln(\'<a href="http://sites.znu.edu.ua/counter/statistic1.php?site_id=10&time=year&groupby=daily&t=\'+Math.random()+\'"><img src="http://sites.znu.edu.ua:8000/counter/count.php?id=10&t=\'+Math.random()+\'"></a>\'); </script> <noscript> <a href="http://sites.znu.edu.ua/counter/statistic1.php?site_id=10&time=year&groupby=daily"><img src="http://sites.znu.edu.ua:8000/counter/count.php?id=10"></a> </noscript> </center><!--/ZNUstat-->' . "</body></html>"; }
$model = Yii::app()->user->getUserModel(); if (empty($model->syspk) || empty($model->syspk->printIP)) { throw new Exception("Необхідно визначити адресу серверу друку документів!"); } $ip = $model->syspk->printIP; $act = "http://{$ip}" . ":8080/request_report-1.0/journal.jsp?"; $form = $this->beginWidget('CActiveForm', array('id' => 'zno-form-modal', 'enableAjaxValidation' => false, 'method' => "GET", 'action' => $act)); ?> Параметри звіту: <div class="row-fluid"> <div class ="span6"> <?php echo CHtml::label("Спеціальність", 'SpecialityID'); ?> <?php echo CHtml::dropDownList('SpecialityID', "", Specialities::DropDown(0), array('empty' => '', 'class' => "span12")); ?> </div> <div class ="span2"> <?php echo CHtml::label("Форма обучения", 'eduFormID'); ?> <?php echo CHtml::dropDownList('eduFormID', "", CHtml::listData(Personeducationforms::model()->findAll(), 'idPersonEducationForm', 'PersonEducationFormName'), array('empty' => '', 'class' => "span12")); ?> </div> <div class="span2"> <?php echo Chtml::label("Окр", 'idOKR'); ?> <?php
public function getPrintPriceUrl($specid) { $model = $this->getUserModel(); if (empty($model->syspk) || empty($model->syspk->printIP)) { throw new Exception("Необхідно визначити адресу серверу друку документів!"); } $ip = $model->syspk->printIP; $spec = Specialities::model()->find("idSpeciality={$specid}"); if (empty($spec)) { throw new Exception("Необхідно визначити спеціальність!"); } return "http://" . $ip . ":8080/request_report-1.0/price_sort.jsp?idSpeciality={$specid}&iframe=true&width=1024&height=600"; return ""; }
} else { $idFacultet = $model->sepciality->FacultetID; } echo CHtml::label("Факультет", "idFacultet"); ?> <?php echo CHtml::dropDownList('idFacultet', $idFacultet, CHtml::listData(Facultets::model()->findAll(array('order' => 'FacultetFullName')), 'idFacultet', 'FacultetFullName'), array('empty' => '', 'disabled' => !$model->isNewRecord, 'onchange' => "PSN.onFacChange(this, '#" . CHtml::activeId($model, "SepcialityID") . "','" . CController::createUrl('personspeciality/speciality') . "');", 'class' => "span12")); ?> </div> <div class="span4"> <?php $url = Yii::app()->createUrl("personspeciality/znosubjects", array("personid" => $personid)); echo $form->labelEx($model, 'SepcialityID'); ?> <?php echo $form->dropDownList($model, 'SepcialityID', Specialities::DropDownMask($idFacultet, $model->EducationFormID, $model->QualificationID), array('empty' => '', 'class' => "span12", 'disabled' => !$model->isNewRecord, 'onchange' => "PSN.changeSpeciality(this, '{$url}')")); ?> <?php ?> </div> </div> <div class="row-fluid"> <div class="span2"> <?php echo $form->labelEx($model, 'QualificationID'); ?> <?php if ($model->isNewRecord && Yii::app()->user->isPkSet("QualificationID")) {
?> </div> <div class="span2"> <?php echo $form->labelEx($model, 'BudgetPlaces'); ?> <?php echo $form->textField($model, 'BudgetPlaces', array('class' => 'span12')); ?> <?php echo $form->error($model, 'BudgetPlaces'); ?> </div> <div class="span1"> <input type="hidden" name="SpecialityQuotesCreate" value="1" /> <?php echo CHtml::label('OK', 'SpecialityQuotesCreateButton'); $this->widget("bootstrap.widgets.TbButton", array('buttonType' => 'submit', 'type' => 'primary', 'icon' => 'star', 'id' => 'SpecialityQuotesCreateButton')); ?> </div> </div> <?php $this->endWidget(); ?> </div><!-- form --> </div> <?php $this->widget('bootstrap.widgets.TbGridView', array('id' => 'specialityquotes-grid', 'type' => 'striped bordered condensed', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array(array("name" => 'idSpecialityQuotes', 'htmlOptions' => array('class' => 'span1'), 'headerHtmlOptions' => array('class' => 'span1')), array('class' => 'bootstrap.widgets.TbEditableColumn', 'name' => 'SpecialityID', 'editable' => array('url' => $this->createUrl('specialityquotes/xedit'), 'type' => 'select', 'source' => Specialities::getAllSpecs(), 'placement' => 'right', 'inputclass' => 'span3'), 'htmlOptions' => array('class' => 'span5'), 'headerHtmlOptions' => array('class' => 'span5')), array('class' => 'bootstrap.widgets.TbEditableColumn', 'name' => 'QuotaID', 'editable' => array('url' => $this->createUrl('specialityquotes/xedit'), 'type' => 'select', 'source' => Quota::getAllQuota(), 'placement' => 'right', 'inputclass' => 'span3'), 'htmlOptions' => array('class' => 'span4'), 'headerHtmlOptions' => array('class' => 'span4')), array('class' => 'bootstrap.widgets.TbEditableColumn', 'name' => 'BudgetPlaces', 'editable' => array('url' => $this->createUrl('specialityquotes/xedit'), 'type' => 'text', 'placement' => 'right', 'inputclass' => 'span3'), 'htmlOptions' => array('class' => 'span2'), 'headerHtmlOptions' => array('class' => 'span2')), array('class' => 'bootstrap.widgets.TbButtonColumn'))));
public function actionEditprice() { if (isset($_POST["pk"])) { $model = Specialities::model()->findByPk($_POST["pk"]); if (!empty($model)) { $model->{$_POST["name"]} = $_POST["value"]; if (!$model->save()) { //echo $model->getError($_POST["name"]); throw new CHttpException(404, $model->getError($_POST["name"])); } } } }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Specialities::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function actionSpecialitys($idFacultet, $idEducationForm, $QualificationID) { // $data = Specialities::model()->findAll('FacultetID=:FacultetID', // array(':FacultetID'=>(int) $idFacultet)); // // $data=CHtml::listData($data,'idSpeciality','SpecialityName'); // echo CHtml::tag('option', array('value'=>""), "", true); $data = Specialities::DropDownMask1($idFacultet, $idEducationForm, $QualificationID); echo CHtml::tag('option', array('value' => ""), "", true); foreach ($data as $value => $name) { echo CHtml::tag('option', array('value' => $value), CHtml::encode($name), true); } }
<h3>Відправка документів до бази ЕДЕБО (за напрямом підготовки):</h3> <hr /> <?php $url = Yii::app()->createUrl("edebo/docsend"); ?> <form action="<?php echo $url; ?> " method="GET"> <div class="row-fluid"> <div class="span12"> <?php echo CHtml::label("Спеціальність", "idSpeciality"); ?> <?php echo CHtml::dropDownList("idSpeciality", "", Specialities::DropDown(), array("class" => "span12")); ?> </div> <?php echo CHtml::submitButton('Отримати', array("class" => "btn btn-primary btn-large")); ?> </div> </form> <h3>Відправка документів до бази ЕДЕБО (за кодами персон):</h3> <hr /> <?php $url = Yii::app()->createUrl("edebo/docsend"); ?> <form action="<?php echo $url; ?>
?> </div> <div class ="span4"> <?php echo $form->labelEx($model, 'FacultetID'); ?> <?php echo $form->dropDownList($model, 'FacultetID', CHtml::listData(Facultets::model()->findAll(), "idFacultet", "FacultetFullName"), array('class' => 'span12', "id" => "FacultetID", 'empty' => "", 'onchange' => "PSN.changeFacultet(this,'" . Yii::app()->createUrl("personspeciality/speciality") . "')")); ?> </div> <div class ="span6"> <?php echo $form->labelEx($model, 'SpecialityID'); ?> <?php echo $form->dropDownList($model, 'SpecialityID', Specialities::DropDownMask($model->FacultetID, 1, 1, ""), array('class' => 'span12', "id" => "idPreuniGroup")); ?> </div> </div> <div class="row-fluid"> <div class='span4'> <?php echo $form->labelEx($model, 'Subjects1ID'); ?> <?php echo $form->dropDownList($model, 'Subjects1ID', Subjects::DropDown(), array("class" => "span12")); ?> <?php
?> <?php echo $form->textField($model, 'PersonBaseSpecialityName', array('size' => 60, 'maxlength' => 150, "class" => "span12")); ?> <?php echo $form->error($model, 'PersonBaseSpecialityName'); ?> </div> </div> <div class="row-fluid"> <?php echo $form->labelEx($model, 'speciality'); ?> <?php echo $form->dropDownList($model, 'speciality', Specialities::DropDown(), array('empty' => "", 'style' => "width: 100%;", "multiple" => "multiple")); ?> </div> <div class="form-actions"> <?php $this->widget("bootstrap.widgets.TbButton", array('buttonType' => 'submit', 'type' => 'primary', "size" => "null", 'label' => $model->isNewRecord ? 'Створити' : 'Зберегти')); ?> </div> <?php $this->endWidget(); ?> <script>
/** * Формування рейтингових даних для цільовиків. * @param integer $mode 0 - цільовики, 1 - пільговики, 2 - бюджетники, 3 - контрактники, 4 - решта * @param boolean $sort_status сортувати за статусом? * @return Personspeciality[] */ public function rating_search($mode, $sort_status = false) { if (!is_numeric($this->SepcialityID)) { return array(); } Yii::import('application.models.Qualifications'); $spec_model = Specialities::model()->findByPk($this->SepcialityID); $first_symbol = mb_substr($spec_model->SpecialityClasifierCode, 0, 1, 'utf-8'); $is_spec_mag = $first_symbol == '7' || $first_symbol == '8'; if (!$spec_model) { return array(); } $criteria = new CDbCriteria(); //З якими відношеннями маємо справу $with_rel = array(); array_push($with_rel, 'sepciality'); array_push($with_rel, 'person'); array_push($with_rel, 'olymp'); array_push($with_rel, 'entrantdoc'); array_push($with_rel, 'educationForm'); array_push($with_rel, 'edbo'); array_push($with_rel, 'documentSubject1'); array_push($with_rel, 'documentSubject2'); array_push($with_rel, 'documentSubject3'); array_push($with_rel, 'documentSubject1.subject1'); array_push($with_rel, 'documentSubject2.subject2'); array_push($with_rel, 'documentSubject3.subject3'); $with_rel['sepciality.facultet'] = array('select' => false); $with_rel['person.country'] = array('select' => false); $with_rel['status'] = array('select' => false); $with_rel['pbenefits'] = array('select' => false); $with_rel['pbenefits.psbenefit'] = array('select' => false); $with_rel['pbenefits.psbenefit.benefit'] = array('select' => false); $criteria->with = $with_rel; //також йде вибірка :: // ПІБ персон і спеціальності, // формат поля спеціальності: (( код_спеціальності назва_спеціальності[ (назва_напряму)] , форма: назва_форми )) // бал документу ,перерахований по шкалі ЄДЕБО, // бал документу, // загальна сума балів для рейтингу, // бал профільного предмету, // відмітка про позаконкурсний вступ або ж про те, що є відповідна пільга, // відмітка про першочерговий вступ або ж про те, що є відповідна пільга, // відмітка про оригінал на іншій спеціальності, // сума балів ЗНО. // МЫ ТУТ МЕНЯЛИ УМНОЖЕНИЕ НА 5 $criteria->select = array('*', new CDbExpression("concat_ws(' ',trim(person.LastName),trim(person.FirstName),trim(person.MiddleName)) AS NAME"), new CDbExpression("concat_ws(' '," . "sepciality.SpecialityClasifierCode," . "(case substr(sepciality.SpecialityClasifierCode,1,1) when '6' then " . "sepciality.SpecialityDirectionName else sepciality.SpecialityName end)," . "(case sepciality.SpecialitySpecializationName when '' then '' " . " else concat('(',sepciality.SpecialitySpecializationName,')') end)" . ",',',concat('форма: ',educationForm.PersonEducationFormName)) AS SPEC"), new CDbExpression('ROUND( IF(ISNULL(entrantdoc.AtestatValue),0.0, IF((entrantdoc.AtestatValue > 12), entrantdoc.AtestatValue ,entrantdoc.AtestatValue)) ,2) AS ZnoDocValue'), new CDbExpression('ROUND( IF(ISNULL(entrantdoc.AtestatValue),0.0,entrantdoc.AtestatValue),2) AS PointDocValue'), new CDbExpression('(ROUND(( ROUND( IF( ISNULL(entrantdoc.AtestatValue), 0.0, IF( t.QualificationID = ' . Qualifications::$bakalavr . ', set_bal(entrantdoc.AtestatValue)* ' . Yii::app()->params['scoreweight_AtestatValue'] . ' , entrantdoc.AtestatValue ) ),2)+ IF(ISNULL(documentSubject1.SubjectValue),0.0,documentSubject1.SubjectValue*sepciality.ZnoKoef1)+ IF(ISNULL(documentSubject2.SubjectValue),0.0,documentSubject2.SubjectValue*sepciality.ZnoKoef2)+ IF(ISNULL(documentSubject3.SubjectValue),0.0,documentSubject3.SubjectValue*sepciality.ZnoKoef3)+ IF(ISNULL(t.AdditionalBall),0.0,t.AdditionalBall)+ IF(ISNULL(t.CoursedpBall),0.0,t.CoursedpBall*' . Yii::app()->params['scoreweight_CoursedpBall'] . ')+ IF(ISNULL(olymp.OlympiadAwardBonus),0.0,olymp.OlympiadAwardBonus)+ IF(ISNULL(t.Exam1Ball),0.0,t.Exam1Ball*sepciality.ZnoKoef1)+ IF(ISNULL(t.Exam2Ball),0.0,t.Exam2Ball*sepciality.ZnoKoef2)+ IF(ISNULL(t.Exam3Ball),0.0,t.Exam3Ball*sepciality.ZnoKoef3)),2)) AS ComputedPoints'), new CDbExpression('IF(documentSubject1.SubjectID IN(SELECT ssj.SubjectID FROM specialitysubjects ssj WHERE ssj.isProfile=1 AND ssj.SpecialityID=t.SepcialityID), documentSubject1.SubjectValue, IF(documentSubject2.SubjectID IN(SELECT ssj.SubjectID FROM specialitysubjects ssj WHERE ssj.isProfile=1 AND ssj.SpecialityID=t.SepcialityID), documentSubject2.SubjectValue, IF(documentSubject3.SubjectID IN(SELECT ssj.SubjectID FROM specialitysubjects ssj WHERE ssj.isProfile=1 AND ssj.SpecialityID=t.SepcialityID),documentSubject3.SubjectValue, 0 ) ) ) AS ProfileSubjectValue'), new CDbExpression('if(ISNULL((SELECT bf.idBenefit FROM personspecialitybenefits psbf ' . 'LEFT JOIN personbenefits pbf ON psbf.PersonBenefitID=pbf.idPersonBenefits ' . 'LEFT JOIN benefit bf ON pbf.BenefitID=bf.idBenefit ' . 'WHERE psbf.PersonSpecialityID=t.idPersonSpeciality AND bf.isPZK>0 LIMIT 1)),0,1) AS isOutOfComp'), new CDbExpression('if(ISNULL((SELECT bf.idBenefit FROM personspecialitybenefits psbf ' . 'LEFT JOIN personbenefits pbf ON psbf.PersonBenefitID=pbf.idPersonBenefits ' . 'LEFT JOIN benefit bf ON pbf.BenefitID=bf.idBenefit ' . 'WHERE psbf.PersonSpecialityID=t.idPersonSpeciality AND bf.isPV>0 LIMIT 1)),0,1) AS isExtraEntry'), new CDbExpression('IF((t.isCopyEntrantDoc = 0),0,(SELECT SUM(IF((ISNULL(prsp.isCopyEntrantDoc) OR prsp.isCopyEntrantDoc = 0),1,0)) FROM personspeciality prsp WHERE prsp.PersonID=t.PersonID)) AS AnyOriginal'), new CDbExpression('(IF(ISNULL(documentSubject1.SubjectValue),0.0,documentSubject1.SubjectValue)+ IF(ISNULL(documentSubject2.SubjectValue),0.0,documentSubject2.SubjectValue)+ IF(ISNULL(documentSubject3.SubjectValue),0.0,documentSubject3.SubjectValue)) AS ZNOSum')); //оформлення єдиного запиту на вибірку $criteria->together = true; //вибірка для певної спеціальності/напряму певної форми $criteria->compare("t.SepcialityID", $this->SepcialityID); //вибірка для обраних статусів або для нових заяв, допущених, рекомендованих, до наказу і затриманих $status_in = '('; $status_ids = array(); if ($this->status_confirmed) { $status_ids[] = '4'; } if ($this->status_committed) { $status_ids[] = '5'; } if ($this->status_submitted) { $status_ids[] = '7'; } $status_in .= implode(',', $status_ids) . ')'; if ($status_in != '()') { $criteria->addCondition('t.StatusID IN ' . $status_in); } else { $criteria->addCondition('t.StatusID IN (1,4,5,7,8)'); } if ($sort_status) { $criteria->addCondition('t.StatusID < 8'); } switch ($mode) { //цільовики case 0: $criteria->compare('t.QuotaID', $this->param_quotaID); if (is_numeric($this->param_quotaID)) { $criteria->limit = intval($this->quota_budget_places); } else { return array(); } if ($sort_status) { $criteria->addCondition('t.StatusID IN (7)'); } break; //пільговики //пільговики case 1: $criteria->compare('if(isnull(benefit.isPZK),0,benefit.isPZK)', 1); $criteria->addCondition('t.isBudget > 0'); if (!empty($this->exludedIDs)) { $criteria->addCondition('t.idPersonSpeciality NOT IN (' . implode(',', $this->excludedIDs) . ')'); } $criteria->limit = intval($spec_model->Quota1); if ($sort_status) { $criteria->addCondition('t.StatusID IN (7)'); } break; //бюджетники //бюджетники case 2: $criteria->addCondition('t.isBudget > 0'); $place_num = intval($spec_model->SpecialityBudgetCount) - count($this->excludedIDs); $criteria->limit = $place_num >= 0 ? $place_num : 0; if ($sort_status) { $criteria->addCondition('t.StatusID IN (7)'); } break; //контрактники //контрактники case 3: $criteria->limit = intval($spec_model->SpecialityContractCount); if ($sort_status) { $criteria->addCondition('t.StatusID IN (7,5,4)'); } break; //решта //решта case 4: $criteria->limit = 100000; break; } if (count($this->excludedIDs) > 0) { $criteria->addCondition('t.idPersonSpeciality NOT IN (' . implode(',', $this->excludedIDs) . ')'); } //дані групуються по ІД заявки $criteria->group = "t.idPersonSpeciality"; //параметр сортування даних для формування рейтингу //$rating_order = ($sort_status)? "t.StatusID DESC, ":""; $rating_order = 'ComputedPoints DESC,' . 'IF(SUM(benefit.isPV)>0,1,0) DESC, IF(ISNULL(entrantdoc.PersonDocumentsAwardsTypesID),0,10-entrantdoc.PersonDocumentsAwardsTypesID) DESC, ProfileSubjectValue DESC, t.CreateDate ASC'; // $criteria->order = $rating_order; $result_models = Personspeciality::model()->findAll($criteria); if ($mode < 4) { $excl_ids = array(); foreach ($result_models as $res_model) { $excl_ids[] = $res_model->idPersonSpeciality; } $this->excludedIDs = array_merge($this->excludedIDs, $excl_ids); } return $result_models; }