/**
  * Construtor.
  */
 function clsPmieducarDispensaDisciplina($ref_cod_matricula = NULL, $ref_cod_serie = NULL, $ref_cod_escola = NULL, $ref_cod_disciplina = NULL, $ref_usuario_exc = NULL, $ref_usuario_cad = NULL, $ref_cod_tipo_dispensa = NULL, $data_cadastro = NULL, $data_exclusao = NULL, $ativo = NULL, $observacao = NULL, $cod_dispensa = NULL)
 {
     $db = new clsBanco();
     $this->_schema = 'pmieducar.';
     $this->_tabela = $this->_schema . 'dispensa_disciplina';
     $this->_campos_lista = $this->_todos_campos = 'ref_cod_matricula, ref_cod_serie, ref_cod_escola, ref_cod_disciplina, ref_usuario_exc, ref_usuario_cad, ref_cod_tipo_dispensa, data_cadastro, data_exclusao, ativo, observacao';
     if (is_numeric($ref_usuario_exc)) {
         $usuario = new clsPmieducarUsuario($ref_usuario_exc);
         if ($usuario->existe()) {
             $this->ref_usuario_exc = $ref_usuario_exc;
         }
     }
     if (is_numeric($ref_usuario_cad)) {
         $usuario = new clsPmieducarUsuario($ref_usuario_cad);
         if ($usuario->existe()) {
             $this->ref_usuario_cad = $ref_usuario_cad;
         }
     }
     if (is_numeric($ref_cod_matricula)) {
         $matricula = new clsPmieducarMatricula($ref_cod_matricula);
         if ($matricula->existe()) {
             $this->ref_cod_matricula = $ref_cod_matricula;
         }
     }
     if (is_numeric($ref_cod_tipo_dispensa)) {
         $tipoDispensa = new clsPmieducarTipoDispensa($ref_cod_tipo_dispensa);
         if ($tipoDispensa->existe()) {
             $this->ref_cod_tipo_dispensa = $ref_cod_tipo_dispensa;
         }
     }
     if (is_numeric($ref_cod_disciplina) && is_numeric($ref_cod_escola) && is_numeric($ref_cod_serie)) {
         require_once 'ComponenteCurricular/Model/AnoEscolarDataMapper.php';
         $anoEscolarMapper = new ComponenteCurricular_Model_AnoEscolarDataMapper();
         $componenteAnos = $anoEscolarMapper->findAll(array(), array('componenteCurricular' => $ref_cod_disciplina, 'anoEscolar' => $ref_cod_serie));
         if (1 == count($componenteAnos)) {
             $this->ref_cod_disciplina = $ref_cod_disciplina;
             $this->ref_cod_serie = $ref_cod_serie;
             $this->ref_cod_escola = $ref_cod_escola;
         }
     }
     if (is_string($data_cadastro)) {
         $this->data_cadastro = $data_cadastro;
     }
     if (is_string($data_exclusao)) {
         $this->data_exclusao = $data_exclusao;
     }
     if (is_numeric($ativo)) {
         $this->ativo = $ativo;
     }
     if (is_string($observacao)) {
         $this->observacao = $observacao;
     }
     if (is_numeric($cod_dispensa)) {
         $this->cod_dispensa = $cod_dispensa;
     }
 }