public function actionIndex() { $periods = VremyaProvedeniyaAttestacii::find()->all(); $komissiyaId = RabotnikAttestacionnojKomissii::find()->joinWith('attestacionnayaKomissiyaRel')->where(['fiz_lico' => ApiGlobals::getFizLicoPolzovatelyaId()])->andWhere(['predsedatel' => true])->select(['rabotnik_attestacionnoj_komissii.attestacionnaya_komissiya', 'attestacionnaya_komissiya.nazvanie'])->all(); //->scalar(); //print_r($komissiyaId[0]->attestacionnayaKomissiyaRel->nazvanie);die(); return $this->render('index.php', compact('periods', 'komissiyaId')); }
public function actionChangeVremyaProvedeniya() { Yii::$app->response->format = Response::FORMAT_JSON; $response = new JsResponse(); $id = Yii::$app->request->post('id'); $vremyaId = Yii::$app->request->post('vremya_id'); /** * @var ZayavlenieNaAttestaciyu $zayavlenie */ $zayavlenie = ZayavlenieNaAttestaciyu::findOne(['id' => $id]); $zayavlenie->vremya_provedeniya = $vremyaId; $zayavlenie->status = StatusZayavleniyaNaAttestaciyu::PODPISANO_OTDELOM_ATTESTACII; $period = VremyaProvedeniyaAttestacii::findOne($vremyaId); if (!$zayavlenie->save()) { $response->type = JsResponse::ERROR; $response->msg = JsResponse::MSG_OPERATION_ERROR; } else { $email = FizLico::getEmailById($zayavlenie->fiz_lico); \Yii::$app->mailer->compose('/attestaciya/vremya-izmeneno.php', compact('period'))->setTo($email)->send(); } return $response; }
<?php use yii\helpers\Html; use app\entities\VremyaProvedeniyaAttestacii; use app\modules\attestaciya_otchety\Asset; Asset::register($this); $this->title = 'Итоговый отчет'; ?> <div class="row relative"> <div class="col-md-4"> <?php echo Html::label('Период прохождения аттестации', 'periods', []); ?> <?php echo Html::dropDownList('periods', null, VremyaProvedeniyaAttestacii::getItemsToSelect(), ['id' => 'periods', 'class' => 'form-control inline-block', 'onchange' => 'change_url()']); ?> </div> <div class="col-md-4"> <label for="dolzhnosti">Должность</label> <select name="dolzhnosti" id="dolzhnosti" class="form-control inline-block" onchange="change_url()"> <?php foreach ($dolzhnosti as $key => $value) { ?> <option value="<?php echo $value->id; ?> "><?php echo $value['nazvanie']; ?> </option> <?php
} } ?> <div class="filters" style="<?php echo $filter_display; ?> background: #eee;padding: 5px;border-radius:5px;margin-bottom:10px;" id="filters"> <?php $form = ActiveForm::begin(['method' => 'get', 'action' => [Yii::$app->controller->id . '/' . Yii::$app->controller->action->id]]); ?> <div class="row" style=""> <div class="col-md-3"> <?php echo $form->field($filterModel, 'vreamyaProvedeniya')->widget(Select2::className(), ['data' => \app\entities\VremyaProvedeniyaAttestacii::getItemsToSelect(), 'options' => ['multiple' => 'true']]); ?> <?php echo $form->field($filterModel, 'dolzhnost')->widget(Select2::className(), ['data' => Dolzhnost::find()->formattedAll(EntityQuery::DROP_DOWN, 'nazvanie'), 'options' => ['placeholder' => 'Выберите должность', 'multiple' => true]]); ?> </div> <div class="col-md-3"> <?php echo $form->field($filterModel, 'varIspytanie2')->widget(Select2::className(), ['data' => \app\entities\AttestacionnoeVariativnoeIspytanie_2::find()->formattedAll(EntityQuery::DROP_DOWN, 'nazvanie'), 'options' => ['multiple' => true]]); ?> <?php echo $form->field($filterModel, 'varIspytanie3')->widget(Select2::className(), ['data' => \app\entities\AttestacionnoeVariativnoeIspytanie_2::find()->formattedAll(EntityQuery::DROP_DOWN, 'nazvanie'), 'options' => ['multiple' => true]]); ?> </div> <div class="col-md-3"> <?php
public function actionOtchetByRajon() { if (isset($_GET['vp']) and $vremya_provedeniya = $_GET['vp']) { $ispytaniya = AttestacionnoeVariativnoeIspytanie_3::find()->orderBy('nazvanie')->all(); $sql = "SELECT\n t.rajon_id,\n t.rajon,\n EXTRACT(YEAR from t.nachalo) as year,\n EXTRACT(month from t.nachalo) as month,\n SUM(CASE WHEN t.na_kategoriyu = 'pervaya_kategoriya' and t.count_bally_below_min = 0 THEN 1 ELSE 0 end) as pervaya_reccomended,\n SUM(CASE WHEN t.na_kategoriyu = 'pervaya_kategoriya' and t.count_bally_below_min > 0 THEN 1 ELSE 0 end) as pervaya_notreccomended,\n SUM(CASE WHEN t.na_kategoriyu = 'vyshaya_kategoriya' and t.count_bally_below_min = 0 THEN 1 ELSE 0 end) as vyshaya_reccomended,\n SUM(CASE WHEN t.na_kategoriyu = 'vyshaya_kategoriya' and t.count_bally_below_min > 0 THEN 1 ELSE 0 end) as vyshaya_notreccomended,\n count(*) as all_zayavleniya\n FROM\n (\n SELECT\n z.id as zayavlenie_id,\n count_bally_below_min(z.id),\n vpa.nachalo, z.na_kategoriyu,\n coalesce(ao.formalnoe_nazvanie, 'не задано') as rajon,\n COALESCE(ao.id, -1) as rajon_id\n FROM zayavlenie_na_attestaciyu AS z\n INNER JOIN organizaciya as o on z.rabota_organizaciya = o.id\n left JOIN adresnyj_objekt as ao on o.adres_adresnyj_objekt = ao.id\n INNER JOIN vremya_provedeniya_attestacii as vpa on z.vremya_provedeniya = vpa.id\n WHERE z.status = 'podpisano_otdelom_attestacii' AND z.vremya_provedeniya = :vp\n ) AS t\n GROUP BY t.nachalo, t.rajon, t.rajon_id\n ORDER BY t.rajon"; $data = \Yii::$app->db->createCommand($sql)->bindValue(':vp', $vremya_provedeniya)->queryAll(); $report = []; foreach ($data as $item) { $report[$item['rajon_id']] = $item; } $vremya = VremyaProvedeniyaAttestacii::findOne($vremya_provedeniya); $content = $this->renderPartial('rajon', compact('vremya', 'report', 'ispytaniya')); $pdf = new Pdf($this->getPdfSeetings($content)); // return the pdf output as per the destination setting return $pdf->render(); } else { return $this->render('rajon-form'); } }
public function actionList() { $periods = VremyaProvedeniyaAttestacii::find()->all(); return $this->render('list.php', compact('periods')); }
use app\entities\AttestacionnayaKomissiya; use app\modules\attestaciya_otchety\SotrudnikiAsset; SotrudnikiAsset::register($this); $this->title = 'Отчет по сотруднику'; $this->registerJsFile('/js/angular.min.js'); ?> <div ng-app="othect" ng-controller="OtchetController as o"> <div class="row relative" > <div class="col-md-4"> <?php echo Html::label('Период прохождения аттестации', 'periods', []); ?> <?php echo Html::dropDownList('periods', null, VremyaProvedeniyaAttestacii::getItemsToSelectFromSeptember(), ['ng-model' => 'o.vp', 'id' => 'periods', 'class' => 'form-control inline-block']); ?> </div> <div class="col-md-4" > <?php echo Html::label('Период прохождения аттестации', 'komissiya', []); ?> <?php echo Html::dropDownList('komissiya', null, AttestacionnayaKomissiya::getKomissiiForDropDown(), ['ng-model' => 'o.komissiya', 'id' => 'komissiya', 'class' => 'form-control inline-block']); ?> </div> <div class="col-md-4" style="position:absolute;bottom:0;right: 0"> <button class="btn btn-primary" ng-click="o.load()">Загрузить</button> </div> </div> <p> </p>
public function getVremyaProvedeniyaAttestaciiRel() { return $this->hasOne(VremyaProvedeniyaAttestacii::className(), ['id' => 'vremya_provedeniya'])->inverseOf('zayavlenieNaAttestaciyuRel'); }
</div> <div id="panel-o-sebe" class="panel panel-default"> <div class="panel-heading"><b>Сведения о себе</b></div> <div class="panel-body"> <?php echo $form->field($registraciya, 'svedeniysOSebe')->textarea(['style' => 'height:6em'])->label('Текст'); ?> <?php echo $form->field($registraciya, 'svedeniysOSebeFajl')->widget(\app\widgets\Files2Widget::className(), [])->label('Файл'); ?> </div> </div> <?php echo $form->field($registraciya, 'vremyaProvedeniya')->dropDownList(VremyaProvedeniyaAttestacii::getItemsToSelect(true, $registraciya->vremyaProvedeniya)); echo '<div class="panel panel-default"> <div class="panel-heading"><b>Стаж</b></div> <div class="panel-body">'; echo Html::tag('div', $form->field($registraciya, 'pedStazh')->input('number', ['class' => 'form-control'])->label('общий педагогический'), ['class' => 'col-md-4 no-left-padding']); echo Html::tag('div', $form->field($registraciya, 'pedStazhVDolzhnosti')->input('number', ['class' => 'form-control'])->label('в занимаемой должности'), ['class' => 'col-md-4']); echo Html::tag('div', $form->field($registraciya, 'rabotaPedStazhVDolzhnosti')->input('number', ['class' => 'form-control'])->label('в данном обр. учр-ии по занимаемой должн.'), ['class' => 'col-md-4 no-right-padding']); echo '</div> </div>'; echo '<div class="panel panel-default"> <div class="panel-heading"><b>Дата назначения на должность</b></div> <div class="panel-body">'; echo Html::tag('div', $form->field($registraciya, 'rabotaDataNaznacheniya')->widget(\kartik\widgets\DatePicker::className(), ['pluginOptions' => ['format' => 'dd.mm.yyyy']]), ['class' => 'col-md-4']); echo Html::tag('div', $form->field($registraciya, 'rabotaDataNaznacheniyaVUchrezhdenii')->widget(\kartik\widgets\DatePicker::className(), ['pluginOptions' => ['format' => 'dd.mm.yyyy']]), ['class' => 'col-md-4']); echo '</div> </div>';