Your IP : 18.191.165.101


Current Path : /data/web/virtuals/51568/virtual/www/subdom/srps/src/models/
Upload File :
Current File : /data/web/virtuals/51568/virtual/www/subdom/srps/src/models/Vypisy.php

<?php

namespace app\models;
use app\Model;
use app\Application;

class Vypisy extends Model
{
    public $vypis;
    public $idakce;
    public $id;

    public function tableName(): string
    {
        return "sr_vypisy";
    }

    public function primaryKey(): string
    {
        return 'id';
    }
    
    public function rules(): array
    {
        return [
            'vypis' => [self::RULE_REQUIRED],
            'idakce' => [self::RULE_REQUIRED],
            'id' => [],
        ];
    }

    public function labels(): array
    {
        return [
            'akce' => 'Označení výpisu',
            'idakce' => 'Akce',
        ];
    }

    public function types(): array
    {
        return [
            'vypis' => self::FIELD_INPUT,  
            'id' => self::FIELD_HIDDEN,  
        ];
    }

    public function attributes(): array
    {
        return ['vypis', 'idakce', 'id'];
    }

    public function vypisyAkce()
    {
        return Application::$app->db->fetchAll('SELECT `sr_akce`.`id`, `akce`, `rok`, `mesic` 
            FROM `sr_akce` 
            LEFT JOIN `jak_roky` on `sr_akce`.`idrok`=`jak_roky`.`id` 
            ORDER BY rok desc, mesic desc, akce');
    }

    public function vypisySeznam($data)
    {
        $data = @json_decode($data); 
        $idakce = ((json_last_error() === JSON_ERROR_NONE) && $data->idakce) ? $data->idakce : $data;
        $vypisy = Application::$app->db->fetchAll('SELECT `id`, `vypis`, `nacteno`, `fromDate`, `toDate` 
            FROM `sr_vypisy` 
            WHERE `idakce` = :idakce 
            ORDER BY vypis desc', $idakce);
        return $vypisy;        
    }

    public function polozkyVypisu(int $idvypis)
    {
        $sql = "SELECT `sr_vypisy_polozky`.`id`, `ref`, `sr_vypisy_polozky`.`castka`, `dattransakce`, `SS`, `VS`, `ucetplatce`, 
          `bankaplatce`, `jmenoplatce`, `zprava`, `zaci`.`rodne_cislo`, `zaci`.id as idzaci
        FROM `sr_vypisy_polozky` 
        LEFT JOIN `sr_zaci_pohyby` ON  `sr_zaci_pohyby`.`idvypisypolozky`= `sr_vypisy_polozky`.`id`
        LEFT JOIN `zaci` ON `zaci`.`id`=`sr_zaci_pohyby`.`idzak`
        WHERE `idvypis` = :idvypis";
        return Application::$app->db->fetchAll($sql, $idvypis);

        // $sql = "SELECT `sr_vypisy_polozky`.`id`, `ref`, `sr_vypisy_polozky`.`castka`, `dattransakce`, `SS`, `VS`, `ucetplatce`, `bankaplatce`, `jmenoplatce`, `zprava` , `zaci`.`rodne_cislo`
        // FROM `sr_vypisy_polozky` 
        // LEFT JOIN `zaci` ON `zaci`.`id`=`sr_vypisy_polozky`.`idzaka`
        // WHERE `idvypis` =  :idvypis";
    }

    public function getOznaceni($idvypis)
    {
        return Application::$app->db->fetchOne("SELECT `vypis` 
            FROM `sr_vypisy` 
            WHERE `id` = :id", $idvypis)->vypis;
    }

    public function vypisySmaz($idvypis)
    {
        $idakce = Application::$app->db->fetchOne("SELECT `idakce` 
            FROM `sr_vypisy` 
            WHERE `id` = :id", $idvypis)->idakce;
        Application::$app->db->query("DELETE FROM `sr_vypisy` WHERE `id` = :id", $idvypis);
        return $this->vypisySeznam($idakce);        
    }

    public function seznamTrid()
    {
        $idrok = Application::$app->db->fetchone("SELECT id FROM jak_roky WHERE aktualni='1'")->id;
        return Application::$app->db->fetchall("SELECT id, nazev FROM tridy WHERE idroky=:idroky ORDER BY nazev", $idrok);
    }

    public function vypis($idvypis)
    {
        return Application::$app->db->fetchone("SELECT  `VS`, `jmenoplatce`, `zprava` FROM `sr_vypisy_polozky` WHERE `id`=:id", $idvypis);
    }

    public function vypisySparovatDlgZaci($trida)
    {
        $idrok = Application::$app->db->fetchone("SELECT id FROM jak_roky WHERE aktualni='1'")->id;
        return Application::$app->db->fetchall("SELECT id, prijmeni, jmeno, rodne_cislo from zaci where idskolnirok=:idrok and trida=:trida order by prijmeni, jmeno", $idrok, $trida);
    }

    public function najdiZakaTridu($idvypis)
    {
        return Application::$app->db->fetchone("SELECT `zaci`.trida, `zaci`.id
        from `sr_zaci_pohyby`
        left join `zaci` on `zaci`.id=`sr_zaci_pohyby`.idzak
        where `sr_zaci_pohyby`.idvypisypolozky=:idvypis", $idvypis);
    }

    public function sparovat($data)
    {
        if ($data->akce == 'edit')
        {
            Application::$app->db->query("UPDATE `sr_zaci_pohyby` SET `idzak`=:idzak WHERE `idvypisypolozky`=:idvypisypolozky and `idakce` = :idakce",  
            $data->idzaka, $data->idpolozky, $data->idakce);
        } else {
            $castka = Application::$app->db->fetchone("SELECT castka FROM sr_vypisy_polozky where id=:id", $data->idpolozky)->castka;
            Application::$app->db->query("INSERT INTO `sr_zaci_pohyby`(`idzak`, `idakce`, `pohybtyp`, `idvypisypolozky`, `castka`) 
                VALUES (:idzak, :idakce, :pohybtyp, :idvypisypolozky, :castka)",
                $data->idzaka, $data->idakce, 'b', $data->idpolozky, $castka);
        }
    }

}