Пример #1
0
 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;
 }
Пример #2
0
 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');
     }
 }