<?php

class SpiInternalOpdDetail extends \Phalcon\Mvc\Model
{

    /**
     *
     * @var integer
     */
    public $id;

    /**
     *
     * @var string
     */
    public $tahun;

    /**
     *
     * @var integer
     */
    public $id_instansi;

    /**
     *
     * @var integer
     */
    public $id_provinsi;

    /**
     *
     * @var integer
     */
    public $id_kota_kabupaten;

    /**
     *
     * @var string
     */
    public $kode_wilayah;

    /**
     *
     * @var string
     */
    public $nama_instansi;

    /**
     *
     * @var string
     */
    public $opd;

    /**
     *
     * @var double
     */
    public $n_int;

    /**
     *
     * @var double
     */
    public $int_401a;

    /**
     *
     * @var double
     */
    public $int_401b;

    /**
     *
     * @var double
     */
    public $int_402_1;

    /**
     *
     * @var double
     */
    public $int_402_2;

    /**
     *
     * @var double
     */
    public $int_402_3;

    /**
     *
     * @var double
     */
    public $int_402_4;

    /**
     *
     * @var double
     */
    public $int_402_5;

    /**
     *
     * @var double
     */
    public $int_402_6;

    /**
     *
     * @var double
     */
    public $int_403a;

    /**
     *
     * @var double
     */
    public $int_403b;

    /**
     *
     * @var double
     */
    public $int_404a;

    /**
     *
     * @var double
     */
    public $int_404b;

    /**
     *
     * @var double
     */
    public $int_405a;

    /**
     *
     * @var double
     */
    public $int_405b;

    /**
     *
     * @var double
     */
    public $int_501c_1;

    /**
     *
     * @var double
     */
    public $int_501c_2;

    /**
     *
     * @var double
     */
    public $int_501c_3;

    /**
     *
     * @var double
     */
    public $int_501c_4;

    /**
     *
     * @var double
     */
    public $int_501c_5;

    /**
     *
     * @var double
     */
    public $int_502a;

    /**
     *
     * @var double
     */
    public $int_502b;

    /**
     *
     * @var double
     */
    public $int_503c;

    /**
     *
     * @var double
     */
    public $int_504a;

    /**
     *
     * @var double
     */
    public $int_504b;

    /**
     *
     * @var double
     */
    public $int_601a_1;

    /**
     *
     * @var double
     */
    public $int_601a_2;

    /**
     *
     * @var double
     */
    public $int_601a_3;

    /**
     *
     * @var double
     */
    public $int_601b;

    /**
     *
     * @var double
     */
    public $int_602a;

    /**
     *
     * @var double
     */
    public $int_602c;

    /**
     *
     * @var double
     */
    public $int_701;

    /**
     *
     * @var double
     */
    public $int_702a;

    /**
     *
     * @var double
     */
    public $int_702b_1;

    /**
     *
     * @var double
     */
    public $int_702b_2;

    /**
     *
     * @var double
     */
    public $int_702b_3;

    /**
     *
     * @var double
     */
    public $int_702b_4;

    /**
     *
     * @var double
     */
    public $int_702b_5;

    /**
     *
     * @var double
     */
    public $int_703a;

    /**
     *
     * @var double
     */
    public $int_703b;

    /**
     *
     * @var double
     */
    public $int_705a;

    /**
     *
     * @var double
     */
    public $int_705b;

    /**
     *
     * @var double
     */
    public $int_706a;

    /**
     *
     * @var double
     */
    public $int_706b;

    /**
     *
     * @var double
     */
    public $transparansi;

    /**
     *
     * @var double
     */
    public $sosialisasi_antikorupsi;

    /**
     *
     * @var double
     */
    public $trading_in_influence;

    /**
     *
     * @var double
     */
    public $pengelolaan_sdm;

    /**
     *
     * @var double
     */
    public $pengelolaan_pbj;

    /**
     *
     * @var double
     */
    public $pengelolaan_anggaran;

    /**
     *
     * @var double
     */
    public $integritas_tugas;

    /**
     *
     * @var double
     */
    public $indeks_internal;

    /**
     *
     * @var integer
     */
    public $id_unit_kerja;

    /**
     *
     * @var string
     */
    public $nama_unit_kerja;

    /**
     * Initialize method for model.
     */
    public function initialize()
    {
        $this->setSchema("jaga");
        $this->setSource("spi_internal_opd_detail");
    }

    /**
     * Returns table name mapped in the model.
     *
     * @return string
     */
    public function getSource()
    {
        return 'spi_internal_opd_detail';
    }

    /**
     * Allows to query a set of records that match the specified conditions
     *
     * @param mixed $parameters
     * @return SpiInternalOpdDetail[]|SpiInternalOpdDetail|\Phalcon\Mvc\Model\ResultSetInterface
     */
    public static function find($parameters = null)
    {
        return parent::find($parameters);
    }

    public static function findBy($idInstansi, $tahun)
    {
        return self::find([
            'conditions' => 'tahun = :tahun: AND id_instansi = :id_instansi:',
            'bind' => [
                'id_instansi' => $idInstansi,
                'tahun' => $tahun,
            ],
            'order' => 'opd'
        ]);
    }

    /**
     * Allows to query the first record that match the specified conditions
     *
     * @param mixed $parameters
     * @return SpiInternalOpdDetail|\Phalcon\Mvc\Model\ResultInterface
     */
    public static function findFirst($parameters = null)
    {
        return parent::findFirst($parameters);
    }

    public static function findFirstBy($idInstansi, $tahun, $opd)
    {
        return self::findFirst([
            'conditions' => 'tahun = :tahun: AND id_instansi = :id_instansi: AND opd = :opd:',
            'bind' => [
                'id_instansi' => $idInstansi,
                'tahun' => $tahun,
                'opd' => $opd
            ]
        ]);
    }

}
