/**
  * Construtor.
  */
 function clsPmieducarServidorAlocacao($cod_servidor_alocacao = NULL, $ref_ref_cod_instituicao = NULL, $ref_usuario_exc = NULL, $ref_usuario_cad = NULL, $ref_cod_escola = NULL, $ref_cod_servidor = NULL, $data_cadastro = NULL, $data_exclusao = NULL, $ativo = NULL, $carga_horaria = NULL, $periodo = NULL)
 {
     $db = new clsBanco();
     $this->_schema = 'pmieducar.';
     $this->_tabela = $this->_schema . 'servidor_alocacao';
     $this->_campos_lista = $this->_todos_campos = 'cod_servidor_alocacao, ref_ref_cod_instituicao, ref_usuario_exc, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, data_cadastro, data_exclusao, ativo, carga_horaria, periodo';
     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_usuario_exc)) {
         $usuario = new clsPmieducarUsuario($ref_usuario_exc);
         if ($usuario->existe()) {
             $this->ref_usuario_exc = $ref_usuario_exc;
         }
     }
     if (is_numeric($ref_cod_escola)) {
         $escola = new clsPmieducarEscola($ref_cod_escola);
         if ($escola->existe()) {
             $this->ref_cod_escola = $ref_cod_escola;
         }
     }
     if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) {
         $servidor = new clsPmieducarServidor($ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $ref_ref_cod_instituicao);
         if ($servidor->existe()) {
             $this->ref_cod_servidor = $ref_cod_servidor;
             $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao;
         }
     }
     if (is_numeric($cod_servidor_alocacao)) {
         $this->cod_servidor_alocacao = $cod_servidor_alocacao;
     }
     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;
     }
     // Valida a carga horária
     if (is_string($carga_horaria)) {
         $datetime = explode(':', $carga_horaria);
         $minutos = (int) $datetime[0] * 60 + (int) $datetime[1];
         if (self::$cargaHorariaMax * 60 >= $minutos) {
             $this->carga_horaria = $carga_horaria;
         }
     }
     if (is_numeric($periodo)) {
         $this->periodo = $periodo;
     }
 }