Commit a3f8b4ab193439c0425d422e195615e1f0ccba6c

Authored by Eriksen Costa Paixão
1 parent 311492f6
Exists in master

#23 by Eriksen: Corrigido bug que não permitia afastar servidor

ieducar/intranet/educar_servidor_afastamento_cad.php
1 1 <?php
2   -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3   - * *
4   - * @author Prefeitura Municipal de Itajaí *
5   - * @updated 29/03/2007 *
6   - * Pacote: i-PLB Software Público Livre e Brasileiro *
7   - * *
8   - * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí *
9   - * ctima@itajai.sc.gov.br *
10   - * *
11   - * Este programa é software livre, você pode redistribuí-lo e/ou *
12   - * modificá-lo sob os termos da Licença Pública Geral GNU, conforme *
13   - * publicada pela Free Software Foundation, tanto a versão 2 da *
14   - * Licença como (a seu critério) qualquer versão mais nova. *
15   - * *
16   - * Este programa é distribuído na expectativa de ser útil, mas SEM *
17   - * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI- *
18   - * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con- *
19   - * sulte a Licença Pública Geral GNU para obter mais detalhes. *
20   - * *
21   - * Você deve ter recebido uma cópia da Licença Pública Geral GNU *
22   - * junto com este programa. Se não, escreva para a Free Software *
23   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *
24   - * 02111-1307, USA. *
25   - * *
26   - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
27 2 /**
28   - * @author Adriano Erik Weiguert Nagasava
  3 + *
  4 + * @author Prefeitura Municipal de Itajaí
  5 + * @version $Id$
  6 + *
  7 + * Pacote: i-PLB Software Público Livre e Brasileiro
  8 + *
  9 + * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí
  10 + * ctima@itajai.sc.gov.br
  11 + *
  12 + * Este programa é software livre, você pode redistribuí-lo e/ou
  13 + * modificá-lo sob os termos da Licença Pública Geral GNU, conforme
  14 + * publicada pela Free Software Foundation, tanto a versão 2 da
  15 + * Licença como (a seu critério) qualquer versão mais nova.
  16 + *
  17 + * Este programa é distribuído na expectativa de ser útil, mas SEM
  18 + * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-
  19 + * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-
  20 + * sulte a Licença Pública Geral GNU para obter mais detalhes.
  21 + *
  22 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU
  23 + * junto com este programa. Se não, escreva para a Free Software
  24 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  25 + * 02111-1307, USA.
  26 + *
29 27 */
30   -require_once ("include/clsBase.inc.php");
31   -require_once ("include/clsCadastro.inc.php");
32   -require_once ("include/clsBanco.inc.php");
33   -require_once( "include/pmieducar/geral.inc.php" );
34   -
35   -class clsIndexBase extends clsBase
36   -{
37   - function Formular()
38   - {
39   - $this->SetTitulo( "{$this->_instituicao} i-Educar - Servidor Afastamento" );
40   - $this->processoAp = "635";
41   - }
  28 +
  29 +require_once 'include/clsBase.inc.php';
  30 +require_once 'include/clsCadastro.inc.php';
  31 +require_once 'include/clsBanco.inc.php';
  32 +require_once 'include/pmieducar/geral.inc.php';
  33 +
  34 +
  35 +class clsIndexBase extends clsBase {
  36 +
  37 + public function Formular() {
  38 + $this->SetTitulo($this->_instituicao . ' i-Educar - Servidor Afastamento');
  39 + $this->processoAp = '635';
  40 + }
  41 +
42 42 }
43 43  
44   -class indice extends clsCadastro
45   -{
46   - /**
47   - * Referencia pega da session para o idpes do usuario atual
48   - *
49   - * @var int
50   - */
51   - var $pessoa_logada;
52   -
53   - var $ref_cod_servidor;
54   - var $sequencial;
55   - var $ref_cod_instituicao;
56   - var $ref_cod_motivo_afastamento;
57   - var $ref_usuario_exc;
58   - var $ref_usuario_cad;
59   - var $data_cadastro;
60   - var $data_exclusao;
61   - var $data_retorno;
62   - var $data_saida;
63   - var $ativo;
64   - var $status;
65   - var $alocacao_array;
66   - var $dias_da_semana = array( '' => 'Selecione', 1 => 'Domingo', 2 => 'Segunda', 3 => 'Ter&ccedil;a', 4 => 'Quarta', 5 => 'Quinta', 6 => 'Sexta', 7 => 'S&aacute;bado' );
67   - var $parametros;
68   -
69   - function Inicializar()
70   - {
71   - $retorno = "Novo";
72   - $this->status = "N";
73   - @session_start();
74   - $this->pessoa_logada = $_SESSION['id_pessoa'];
75   - @session_write_close();
76 44  
77   - $this->ref_cod_instituicao = $_GET["ref_cod_instituicao"];
78   - $this->ref_cod_servidor = $_GET["ref_cod_servidor"];
79   - $this->sequencial = $_GET["sequencial"];
  45 +class indice extends clsCadastro {
80 46  
81   - $obj_permissoes = new clsPermissoes();
82   - $obj_permissoes->permissao_cadastra( 635, $this->pessoa_logada, 7, "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
  47 + /**
  48 + * Referência a usuário da sessão
  49 + *
  50 + * @var int
  51 + */
  52 + public $pessoa_logada = NULL;
83 53  
84   - if( is_numeric( $this->ref_cod_servidor ) && is_numeric( $this->sequencial ) && is_numeric( $this->ref_cod_instituicao ) )
85   - {
86   - $obj = new clsPmieducarServidorAfastamento( $this->ref_cod_servidor, $this->sequencial, null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao );
87   - $registro = $obj->detalhe();
88   - if( $registro )
89   - {
90   - foreach( $registro AS $campo => $val ) // passa todos os valores obtidos no registro para atributos do objeto
91   - $this->$campo = $val;
92   - if ( $this->data_retorno )
93   - $this->data_retorno = dataFromPgToBr( $this->data_retorno );
94   - if ( $this->data_saida )
95   - $this->data_saida = dataFromPgToBr( $this->data_saida );
96   -
97   - $obj_permissoes = new clsPermissoes();
98   - if( $obj_permissoes->permissao_excluir( 635, $this->pessoa_logada, 7 ) )
99   - {
100   - //$this->fexcluir = true;
101   - }
  54 + public
  55 + $ref_cod_servidor = NULL,
  56 + $sequencial = NULL,
  57 + $ref_cod_instituicao = NULL,
  58 + $ref_cod_motivo_afastamento = NULL,
  59 + $ref_usuario_exc = NULL,
  60 + $ref_usuario_cad = NULL,
  61 + $data_cadastro = NULL,
  62 + $data_exclusao = NULL,
  63 + $data_retorno = NULL,
  64 + $data_saida = NULL,
  65 + $ativo = NULL,
  66 + $status = NULL,
  67 + $alocacao_array = NULL,
  68 + $parametros = NULL;
  69 +
  70 + /**
  71 + * Array dos dias da semana
  72 + *
  73 + * @var Array
  74 + */
  75 + public $dias_da_semana = array(
  76 + '' => 'Selecione',
  77 + 1 => 'Domingo',
  78 + 2 => 'Segunda',
  79 + 3 => 'Ter&ccedil;a',
  80 + 4 => 'Quarta',
  81 + 5 => 'Quinta',
  82 + 6 => 'Sexta',
  83 + 7 => 'S&aacute;bado'
  84 + );
  85 +
  86 +
  87 +
  88 + public function Inicializar() {
  89 + session_start();
  90 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  91 + session_write_close();
  92 +
  93 + $retorno = "Novo";
  94 + $this->status = "N";
  95 +
  96 + $this->ref_cod_instituicao = $_GET['ref_cod_instituicao'];
  97 + $this->ref_cod_servidor = $_GET['ref_cod_servidor'];
  98 + $this->sequencial = $_GET['sequencial'];
  99 +
  100 + $urlPermite = sprintf('educar_servidor_det.php?cod_servidor=%s&ref_cod_instituicao=%s',
  101 + $this->ref_cod_servidor, $this->ref_cod_instituicao);
  102 +
  103 + $obj_permissoes = new clsPermissoes();
  104 + $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, $urlPemite);
  105 +
  106 + if (is_numeric($this->ref_cod_servidor) && is_numeric($this->sequencial) &&
  107 + is_numeric($this->ref_cod_instituicao)) {
  108 +
  109 + $obj = new clsPmieducarServidorAfastamento(
  110 + $this->ref_cod_servidor, $this->sequencial, NULL, NULL, NULL, NULL,
  111 + NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
  112 +
  113 + $registro = $obj->detalhe();
  114 +
  115 + if ($registro) {
  116 +
  117 + // passa todos os valores obtidos no registro para atributos do objeto
  118 + foreach ($registro as $campo => $val) {
  119 + $this->$campo = $val;
  120 + }
  121 +
  122 + if ($this->data_retorno) {
  123 + $this->data_retorno = dataFromPgToBr($this->data_retorno);
  124 + }
  125 +
  126 + if ($this->data_saida) {
  127 + $this->data_saida = dataFromPgToBr($this->data_saida);
  128 + }
  129 +
  130 + $retorno = "Editar";
  131 + $this->status = "E";
  132 + }
  133 + }
  134 +
  135 + $this->url_cancelar = sprintf(
  136 + 'educar_servidor_det.php?cod_servidor=%s&ref_cod_instituicao=%s',
  137 + $this->ref_cod_servidor, $this->ref_cod_instituicao);
  138 +
  139 + $this->nome_url_cancelar = "Cancelar";
  140 +
  141 + return $retorno;
  142 + }
  143 +
  144 +
  145 +
  146 + public function Gerar() {
  147 + $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor);
  148 + $this->campoOculto('sequencial', $this->sequencial);
  149 + $this->campoOculto('ref_cod_instituicao', $this->ref_cod_instituicao);
  150 +
  151 + $opcoes = array('' => 'Selecione');
  152 +
  153 + $objTemp = new clsPmieducarMotivoAfastamento();
  154 + $lista = $objTemp->lista();
  155 +
  156 + if (is_array($lista) && count($lista)) {
  157 + foreach ($lista as $registro) {
  158 + $opcoes[$registro['cod_motivo_afastamento']] = $registro['nm_motivo'];
  159 + }
  160 + }
  161 + else {
  162 + $opcoes = array('' => 'Erro na geracao');
  163 + }
102 164  
103   - $retorno = "Editar";
104   - $this->status = "E";
105   - }
106   - }
107   - $this->url_cancelar = ($retorno == "Editar") ? "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" : "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}";
108   - $this->nome_url_cancelar = "Cancelar";
109   - return $retorno;
110   - }
  165 + if ($this->status == 'N') {
  166 + $this->campoLista('ref_cod_motivo_afastamento', 'Motivo Afastamento',
  167 + $opcoes, $this->ref_cod_motivo_afastamento);
  168 + }
  169 + elseif ($this->status == 'E') {
  170 + $this->campoLista('ref_cod_motivo_afastamento', 'Motivo Afastamento',
  171 + $opcoes, $this->ref_cod_motivo_afastamento, '', FALSE, '', '', TRUE);
  172 + }
111 173  
112   - function Gerar()
113   - {
114   - // primary keys
115   - $this->campoOculto( "ref_cod_servidor", $this->ref_cod_servidor );
116   - $this->campoOculto( "sequencial", $this->sequencial );
117   - $this->campoOculto( "ref_cod_instituicao", $this->ref_cod_instituicao );
118   -
119   - // foreign keys
120   - $opcoes = array( "" => "Selecione" );
121   - if( class_exists( "clsPmieducarMotivoAfastamento" ) )
122   - {
123   - $objTemp = new clsPmieducarMotivoAfastamento();
124   - $lista = $objTemp->lista();
125   - if ( is_array( $lista ) && count( $lista ) )
126   - {
127   - foreach ( $lista as $registro )
128   - {
129   - $opcoes["{$registro['cod_motivo_afastamento']}"] = "{$registro['nm_motivo']}";
130   - }
131   - }
132   - }
133   - else
134   - {
135   - echo "<!--\nErro\nClasse clsPmieducarMotivoAfastamento nao encontrada\n-->";
136   - $opcoes = array( "" => "Erro na geracao" );
137   - }
138   - if ( $this->status == "N" )
139   - $this->campoLista( "ref_cod_motivo_afastamento", "Motivo Afastamento", $opcoes, $this->ref_cod_motivo_afastamento );
140   - elseif ( $this->status == "E" )
141   - $this->campoLista( "ref_cod_motivo_afastamento", "Motivo Afastamento", $opcoes, $this->ref_cod_motivo_afastamento, "", false, "", "", true );
142   -
143   - // text
144   -
145   - // data
146   - if ( $this->status == "N" )
147   - $this->campoData( "data_saida", "Data de Afastamento", $this->data_saida, true );
148   - elseif ( $this->status == "E" )
149   - $this->campoRotulo( "data_saida", "Data de Afastamento", $this->data_saida );
150   -
151   - if ( $this->status == "E" )
152   - $this->campoData( "data_retorno", "Data de Retorno", $this->data_retorno, false );
153   - if ( "clsPmieducarServidor" ) {
154   - $obj_servidor = new clsPmieducarServidor( $this->ref_cod_servidor, null, null, null, null, null, 1, $this->ref_cod_instituicao );
155   - $det_servidor = $obj_servidor->detalhe();
156   - if ( $det_servidor ) {
157   - if ( "clsPmieducarFuncao" ) {
158   - $obj_funcao = new clsPmieducarFuncao( $det_servidor["ref_cod_funcao"], null, null, null, null, null, null, null, 1, $this->ref_cod_instituicao );
159   - $det_funcao = $obj_funcao->detalhe();
160   - if ( $det_funcao["professor"] == 1 )
161   - {
162   - //$obj = new clsPmieducarQuadroHorarioHorarios( null, null, null, null, null, null, null, $this->ref_cod_instituicao, null, $this->ref_cod_servidor, null, null, null, null, 1, null );
163   - //$obj = new clsPmieducarServidorAlocacao();
164   - $obj = new clsPmieducarQuadroHorarioHorarios();
165   - $lista = $obj->lista( null, null, null, null, null, null, null, $this->ref_cod_instituicao, null, $this->ref_cod_servidor, null, null, null, null, null, null, null, null, 1, null );
166   - //$lista = $obj->lista( null, $this->ref_cod_instituicao, null, null, null, $this->ref_cod_servidor, null, null, null, null, null, null, null, null, null, 1 );
167   - if( $lista )
168   - {
169   - foreach( $lista AS $campo => $val ){ // passa todos os valores obtidos no registro para atributos do objeto
170   - $temp = array();
171   - $temp['hora_inicial'] = $val['hora_inicial'];
172   - $temp['hora_final'] = $val['hora_final'];
173   - $temp['dia_semana'] = $val['dia_semana'];
174   - $temp['ref_cod_escola'] = $val['ref_cod_escola'];
175   - $temp['ref_cod_substituto'] = $val['ref_servidor_substituto'] ;
176   - $this->alocacao_array[] = $temp;
177   - }
178   - if ( $this->alocacao_array ){
179   - $tamanho = sizeof( $alocacao );
180   - $script = "<script>\nvar num_alocacao = {$tamanho};\n";
181   - $script .= "var array_servidores = Array();\n";
182   -
183   - foreach ( $this->alocacao_array as $key => $alocacao ) {
184   - $script .= "array_servidores[{$key}] = new Array();\n";
185   -
186   - $hora_ini = explode(":",$alocacao['hora_inicial']);
187   - $hora_fim = explode(":",$alocacao['hora_final']);
188   -
189   - $horas_utilizadas = ( $hora_fim[0] - $hora_ini[0] );
190   - $minutos_utilizados = ( $hora_fim[1] - $hora_ini[1] );
191   - $horas = sprintf("%02d",(int)$horas_utilizadas);
192   - $minutos = sprintf("%02d",(int)$minutos_utilizados);
193   - $str_horas_utilizadas = "{$horas}:{$minutos}";
194   - $script .= "array_servidores[{$key}][0] = '{$str_horas_utilizadas}'; \n";
195   - $script .= "array_servidores[{$key}][1] = ''; \n\n";
196   -
197   -
198   - $obj_escola = new clsPmieducarEscola($alocacao['ref_cod_escola']);
199   - $det_escola = $obj_escola->detalhe();
200   - $det_escola = $det_escola["nome"];
201   - $nm_dia_semana = $this->dias_da_semana[$alocacao["dia_semana"]];
202   -
203   - $obj_subst = new clsPessoa_( $alocacao["ref_cod_substituto"] );
204   - $det_subst = $obj_subst->detalhe();
205   -
206   - if($this->status == "N"){
207   - $this->campoTextoInv( "dia_semana_{$key}_", "", $nm_dia_semana, 8, 8, false, false, true,"","","","","dia_semana" );
208   - $this->campoTextoInv( "hora_inicial_{$key}_", "", $alocacao['hora_inicial'], 5, 5, false, false, true, "","","","","ds_hora_inicial_" );
209   - $this->campoTextoInv( "hora_final_{$key}_", "", $alocacao['hora_final'], 5, 5, false, false, true, "", "","","","ds_hora_final_" );
210   - $this->campoTextoInv( "ref_cod_escola_{$key}", "", $det_escola, 30, 255, false, false, true, "", "","","","ref_cod_escola_" );
211   - $this->campoTextoInv( "ref_cod_servidor_substituto_{$key}_", "", $det_subst["nome"], 30, 255, false, false, false, "", "<span name=\"ref_cod_servidor_substituto\" id=\"ref_cod_servidor_substituicao_{$key}\"><img border='0' onclick=\"pesquisa_valores_popless('educar_pesquisa_servidor_lst.php?campo1=ref_cod_servidor_substituto[{$key}]&campo2=ref_cod_servidor_substituto_{$key}_&ref_cod_instituicao={$this->ref_cod_instituicao}&dia_semana={$alocacao["dia_semana"]}&hora_inicial={$alocacao["hora_inicial"]}&hora_final={$alocacao["hora_final"]}&ref_cod_servidor={$this->ref_cod_servidor}&professor=1&ref_cod_escola={$alocacao['ref_cod_escola']}&horario=S', 'nome')\" src=\"imagens/lupa.png\" ></span>","","","ref_cod_servidor_substituto" );
212   - }
213   - $this->campoOculto( "dia_semana_{$key}", $alocacao["dia_semana"] );
214   - $this->campoOculto( "hora_inicial_{$key}", $alocacao['hora_inicial'] );
215   - $this->campoOculto( "hora_final_{$key}", $alocacao['hora_final'] );
216   - $this->campoOculto( "ref_cod_escola_{$key}", $alocacao['ref_cod_escola'] );
217   - $this->campoOculto( "ref_cod_servidor_substituto[{$key}]", $alocacao["ref_cod_substituto"] );
218   -
219   - }
220   -
221   - /*nao esta sendo utilizado em lugar algum =o
222   - if($this->status == "N"){
223   - $db = new clsBanco();
224   - $consulta = "SELECT ref_cod_servidor
225   - ,ref_ref_cod_instituicao
226   - ,sum( carga_horaria ) as horas
227   - FROM pmieducar.servidor_alocacao
228   - WHERE ativo = 1
229   - GROUP BY ref_cod_servidor,ref_ref_cod_instituicao";
230   - $registros = $db->Consulta($consulta);
231   - if($registros)
232   - {
233   - $ct = 0;
234   - $script .="array_horas_utilizadas_servidor = new Array();\n";
235   -
236   - while($db->ProximoRegistro()){
237   - $registro = $db->Tupla();
238   -
239   - $script .= "array_horas_utilizadas_servidor['{$registro['ref_cod_servidor']}_'] = new Array('{$registro['horas']}'); \n";
240   - $ct++;
241   - }
242   - }
243   -
244   -
245   - $consulta = "SELECT DISTINCT cod_servidor
246   - ,ref_cod_instituicao
247   - ,coalesce(s.carga_horaria , '0') as carga_horaria
248   - FROM pmieducar.servidor s
249   - ,pmieducar.servidor_alocacao a
250   - WHERE s.ativo = 1
251   - AND a.ativo = 1
252   - AND s.ref_cod_instituicao = a.ref_ref_cod_instituicao";
253   - $registros = $db->Consulta( $consulta );
254   - if ( $registros ) {
255   - $ct = 0;
256   - $script .="array_horas_servidor = new Array();\n";
257   -
258   - while($db->ProximoRegistro()){
259   - $registro = $db->Tupla();
260   - $carga_horaria = $registro['carga_horaria'];
261   - $total_horas = sprintf("%02d",(int)floor($carga_horaria));
262   - $total_minutos = sprintf("%02d",(int)(floatval($carga_horaria) - floatval($total_horas)) * 60);
263   - $carga_horaria = "{$total_horas}:{$total_minutos}";//date("H:i",mktime($total_horas, $total_minutos, 0, 1, 1, 1970));
264   - $script .= "array_horas_servidor['{$registro['cod_servidor']}_'] = new Array('{$carga_horaria}'); \n";
265   - $ct++;
266   - }
267   - }
268   -
269   - $script .= "\n</script>";
270   - echo $script;
271   - }*/
272   - $script .= "\n</script>";
273   - echo $script;
274   - }
275   - }
276   - }
277   - }
278   - }
279   - }
280   - }
  174 + // data
  175 + if ($this->status == 'N') {
  176 + $this->campoData('data_saida', 'Data de Afastamento', $this->data_saida, TRUE);
  177 + }
  178 + elseif ($this->status == 'E') {
  179 + $this->campoRotulo('data_saida', 'Data de Afastamento', $this->data_saida);
  180 + }
281 181  
282   - function Novo()
283   - {
284   - @session_start();
285   - $this->pessoa_logada = $_SESSION['id_pessoa'];
286   - @session_write_close();
287   -
288   - $obj_permissoes = new clsPermissoes();
289   - $obj_permissoes->permissao_cadastra( 635, $this->pessoa_logada, 7, "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
290   -//echo '<pre>';print_r($_POST);die;
291   - $obj = new clsPmieducarServidorAfastamento( $this->ref_cod_servidor, null, $this->ref_cod_motivo_afastamento, null, $this->pessoa_logada, null, null, $this->data_retorno, $this->data_saida, 1, $this->ref_cod_instituicao );
292   - $cadastrou = $obj->cadastra();
293   - if( $cadastrou )
294   - {
295   - if(is_array($_POST['ref_cod_servidor_substituto']))
296   - foreach ( $_POST['ref_cod_servidor_substituto'] as $key => $valor )
297   - {
298   - //if ( substr( $campo, 0, 28 ) == 'ref_cod_servidor_substituto_' )
299   - // {
300   - $ref_cod_servidor_substituto = $valor;
301   - // }
302   - //if ( substr( $campo, 0, 15 ) == 'ref_cod_escola_' )
303   - $ref_cod_escola = $_POST["ref_cod_escola_{$key}"];
304   - //if ( substr( $campo, 0, 11 ) == 'dia_semana_' )
305   - $dia_semana = $_POST["dia_semana_{$key}"];
306   - //if ( substr( $campo, 0, 13 ) == 'hora_inicial_' )
307   - $hora_inicial = urldecode( $_POST["hora_inicial_{$key}"] );
308   - // if ( substr( $campo, 0, 11 ) == 'hora_final_' )
309   - $hora_final = urldecode( $_POST["hora_final_{$key}"] );
310   -
311   - if ( is_numeric( $ref_cod_servidor_substituto ) && is_numeric( $ref_cod_escola ) && is_numeric( $dia_semana ) && is_string( $hora_inicial ) && is_string( $hora_final ) )
312   - {
313   -
314   - //if ( substr( $campo, 0, 28 ) == 'ref_cod_servidor_substituto_' )
315   - //{die;
316   - $obj_horarios = new clsPmieducarQuadroHorarioHorarios( null, null, $ref_cod_escola,null, null,null, $this->ref_cod_instituicao,$ref_cod_servidor_substituto, $this->ref_cod_servidor, $hora_inicial, $hora_final, null, null, 1, $dia_semana );
317   - $det_horarios = $obj_horarios->detalhe($ref_cod_escola);
318   - //echo " = new clsPmieducarQuadroHorarioHorarios( {$det_horarios["ref_cod_quadro_horario"]}, {$det_horarios["ref_cod_serie"]}, {$det_horarios["ref_cod_escola"]}, {$det_horarios["ref_cod_disciplina"]}, {$det_horarios["ref_ref_cod_turma"]}, {$det_horarios["sequencial"]}, {$det_horarios["ref_cod_instituicao_servidor"]}, null, {$ref_cod_servidor_substituto}, null, null, null, null, null, null, null );";die;
319   - $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_cod_serie"], $det_horarios["ref_cod_escola"], $det_horarios["ref_cod_disciplina"], $det_horarios["sequencial"], $det_horarios["ref_cod_instituicao_servidor"],$det_horarios["ref_cod_instituicao_servidor"], $ref_cod_servidor_substituto, $this->ref_cod_servidor, null, null, null, null, null, null );
320   - if( !$obj_horario->edita() )
321   - {
322   - $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
323   - return false;
324   - }
325   - //}
326   - }
327   - }
328   - $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
329   - header( "Location: educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
330   - die();
331   - return true;
332   - }
333   - else
334   - {
335   - $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
336   - return false;
337   - }
338   - $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
339   - echo "<!--\nErro ao cadastrar clsPmieducarServidorAfastamento\nvalores obrigatorios\nis_numeric( $this->ref_cod_servidor ) && is_numeric( $this->sequencial ) && is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_cod_motivo_afastamento ) && is_numeric( $this->ref_usuario_cad ) && is_string( $this->data_saida )\n-->";
340   - return false;
341   - }
  182 + if ($this->status == 'E') {
  183 + $this->campoData('data_retorno', 'Data de Retorno', $this->data_retorno, FALSE);
  184 + }
342 185  
343   - function Editar()
344   - {
345   - @session_start();
346   - $this->pessoa_logada = $_SESSION['id_pessoa'];
347   - @session_write_close();
  186 + if (class_exists('clsPmieducarServidor')) {
  187 + $obj_servidor = new clsPmieducarServidor($this->ref_cod_servidor,
  188 + NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
348 189  
349   - $obj_permissoes = new clsPermissoes();
350   - $obj_permissoes->permissao_cadastra( 635, $this->pessoa_logada, 7, "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
  190 + $det_servidor = $obj_servidor->detalhe();
351 191  
352   - $obj = new clsPmieducarServidorAfastamento( $this->ref_cod_servidor, $this->sequencial, $this->ref_cod_motivo_afastamento, $this->pessoa_logada, null, null, null, $this->data_retorno, unserialize( $this->data_saida ), 1, $this->ref_cod_instituicao );
353   - $editou = $obj->edita();
354   - if( $editou )
355   - {
356   - if(is_array($_POST['ref_cod_servidor_substituto']))
357   - foreach ( $_POST['ref_cod_servidor_substituto'] as $key => $valor )
358   - {
359   - $ref_cod_servidor_substituto = $valor;
360   -
361   - //if ( substr( $campo, 0, 15 ) == 'ref_cod_escola_' )
362   - $ref_cod_escola = $_POST["ref_cod_escola_{$key}"];
363   - //if ( substr( $campo, 0, 11 ) == 'dia_semana_' )
364   - $dia_semana = $_POST["dia_semana_{$key}"];
365   - //if ( substr( $campo, 0, 13 ) == 'hora_inicial_' )
366   - $hora_inicial = urldecode( $_POST["hora_inicial_{$key}"] );
367   - // if ( substr( $campo, 0, 11 ) == 'hora_final_' )
368   - $hora_final = urldecode( $_POST["hora_final_{$key}"] );
369   -
370   - if ( is_numeric( $ref_cod_servidor_substituto ) && is_numeric( $ref_cod_escola ) && is_numeric( $dia_semana ) && is_string( $hora_inicial ) && is_string( $hora_final ) )
371   - {
372   - //if ( substr( $campo, 0, 28 ) == 'ref_cod_servidor_substituto_' )
373   - //{
374   - $obj_horarios = new clsPmieducarQuadroHorarioHorarios( null, null, $ref_cod_escola,null, null,null, $this->ref_cod_instituicao,$ref_cod_servidor_substituto, $this->ref_cod_servidor, $hora_inicial, $hora_final, null, null, 1, $dia_semana );
375   - $det_horarios = $obj_horarios->detalhe($ref_cod_escola);
376   - //if ( is_string( $this->data_retorno ) && $this->data_retorno != '' )
377   - //{
378   - //$obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_ref_cod_serie"], $det_horarios["ref_ref_cod_escola"], $det_horarios["ref_ref_cod_disciplina"], $det_horarios["ref_ref_cod_turma"], $det_horarios["sequencial"], null, null, null, null, null, null, null, null, null, null );
379   - $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_cod_serie"], $det_horarios["ref_cod_escola"], $det_horarios["ref_cod_disciplina"], $det_horarios["sequencial"], null,$det_horarios["ref_cod_instituicao_servidor"], null, $this->ref_cod_servidor, null, null, null, null, null, null );
380   - //}
381   - /* else
382   - {
383   - // $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_ref_cod_serie"], $det_horarios["ref_ref_cod_escola"], $det_horarios["ref_ref_cod_disciplina"], $det_horarios["ref_ref_cod_turma"], $det_horarios["sequencial"], $det_horarios["ref_cod_instituicao_servidor"], null, $ref_cod_servidor_substituto, null, null, null, null, null, null, null );
384   - $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_cod_serie"], $det_horarios["ref_cod_escola"], $det_horarios["ref_cod_disciplina"], $det_horarios["sequencial"], $det_horarios["ref_cod_instituicao_servidor"],$det_horarios["ref_cod_instituicao_servidor"], $ref_cod_servidor_substituto, $this->ref_cod_servidor, null, null, null, null, null, null );
385   - }*/
386   - if( !$obj_horario->edita() )
387   - {
388   - $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
389   - return false;
390   - }
391   - //}
392   - }
393   - }
394   - $this->mensagem .= "Edi&ccedil;&atilde;o efetuada com sucesso.<br>";
395   - header( "Location: educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
396   - die();
397   - return true;
398   - }
399   -
400   - $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada.<br>";
401   - echo "<!--\nErro ao editar clsPmieducarServidorAfastamento\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_servidor ) && is_numeric( $this->sequencial ) && is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_usuario_exc ) )\n-->";
402   - return false;
403   - }
  192 + if ($det_servidor) {
404 193  
405   - function Excluir()
406   - {
407   - @session_start();
408   - $this->pessoa_logada = $_SESSION['id_pessoa'];
409   - @session_write_close();
  194 + if (class_exists('clsPmieducarFuncao')) {
  195 + $obj_funcao = new clsPmieducarFuncao($det_servidor['ref_cod_funcao'],
  196 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
410 197  
411   - $obj_permissoes = new clsPermissoes();
412   - $obj_permissoes->permissao_excluir( 635, $this->pessoa_logada, 7, "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
  198 + $det_funcao = $obj_funcao->detalhe();
413 199  
  200 + if ($det_funcao['professor'] == 1) {
  201 + $obj = new clsPmieducarQuadroHorarioHorarios();
  202 + $lista = $obj->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  203 + $this->ref_cod_instituicao, NULL, $this->ref_cod_servidor, NULL,
  204 + NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
414 205  
415   - $obj = new clsPmieducarServidorAfastamento($this->ref_cod_servidor, $this->sequencial, $this->ref_ref_cod_instituicao, $this->ref_cod_motivo_afastamento, $this->pessoa_logada, $this->pessoa_logada, $this->data_cadastro, $this->data_exclusao, $this->data_retorno, $this->data_saida, 0);
416   - $excluiu = $obj->excluir();
417   - if( $excluiu )
418   - {
419   - $this->mensagem .= "Exclus&atilde;o efetuada com sucesso.<br>";
420   - header( "Location: educar_servidor_afastamento_lst.php" );
421   - die();
422   - return true;
423   - }
424   -
425   - $this->mensagem = "Exclus&atilde;o n&atilde;o realizada.<br>";
426   - echo "<!--\nErro ao excluir clsPmieducarServidorAfastamento\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_servidor ) && is_numeric( $this->sequencial ) && is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_usuario_exc ) )\n-->";
427   - return false;
428   - }
  206 + if ($lista) {
  207 +
  208 + // Passa todos os valores obtidos no registro para atributos do objeto
  209 + foreach ($lista as $campo => $val) {
  210 + $temp = array();
  211 + $temp['hora_inicial'] = $val['hora_inicial'];
  212 + $temp['hora_final'] = $val['hora_final'];
  213 + $temp['dia_semana'] = $val['dia_semana'];
  214 + $temp['ref_cod_escola'] = $val['ref_cod_escola'];
  215 + $temp['ref_cod_substituto'] = $val['ref_servidor_substituto'];
  216 + $this->alocacao_array[] = $temp;
  217 + }
  218 +
  219 + if ($this->alocacao_array) {
  220 + $tamanho = sizeof($alocacao);
  221 + $script = "<script>\nvar num_alocacao = {$tamanho};\n";
  222 + $script .= "var array_servidores = Array();\n";
  223 +
  224 + foreach ($this->alocacao_array as $key => $alocacao) {
  225 + $script .= "array_servidores[{$key}] = new Array();\n";
  226 +
  227 + $hora_ini = explode(":", $alocacao['hora_inicial']);
  228 + $hora_fim = explode(":", $alocacao['hora_final']);
  229 +
  230 + $horas_utilizadas = ($hora_fim[0] - $hora_ini[0]);
  231 + $minutos_utilizados = ($hora_fim[1] - $hora_ini[1]);
  232 +
  233 + $horas = sprintf('%02d', (int) $horas_utilizadas);
  234 + $minutos = sprintf('%02d', (int) $minutos_utilizados);
  235 +
  236 + $str_horas_utilizadas = "{$horas}:{$minutos}";
  237 +
  238 + $script .= "array_servidores[{$key}][0] = '{$str_horas_utilizadas}';\n";
  239 + $script .= "array_servidores[{$key}][1] = '';\n\n";
  240 +
  241 + $obj_escola = new clsPmieducarEscola($alocacao['ref_cod_escola']);
  242 + $det_escola = $obj_escola->detalhe();
  243 + $det_escola = $det_escola['nome'];
  244 + $nm_dia_semana = $this->dias_da_semana[$alocacao['dia_semana']];
  245 +
  246 + $obj_subst = new clsPessoa_($alocacao['ref_cod_substituto']);
  247 + $det_subst = $obj_subst->detalhe();
  248 +
  249 + if ($this->status == 'N') {
  250 + $this->campoTextoInv("dia_semana_{$key}_", '', $nm_dia_semana,
  251 + 8, 8, FALSE, FALSE, TRUE, '', '', '', '', 'dia_semana');
  252 +
  253 + $this->campoTextoInv("hora_inicial_{$key}_", '', $alocacao['hora_inicial'],
  254 + 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_hora_inicial_');
  255 +
  256 + $this->campoTextoInv("hora_final_{$key}_", '', $alocacao['hora_final'],
  257 + 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_hora_final_');
  258 +
  259 + $this->campoTextoInv("ref_cod_escola_{$key}", '', $det_escola,
  260 + 30, 255, FALSE, FALSE, TRUE, '', '', '', '', 'ref_cod_escola_');
  261 +
  262 + $this->campoTextoInv("ref_cod_servidor_substituto_{$key}_",
  263 + '', $det_subst['nome'], 30, 255, FALSE, FALSE, FALSE, '',
  264 + "<span name=\"ref_cod_servidor_substituto\" id=\"ref_cod_servidor_substituicao_{$key}\"><img border='0' onclick=\"pesquisa_valores_popless('educar_pesquisa_servidor_lst.php?campo1=ref_cod_servidor_substituto[{$key}]&campo2=ref_cod_servidor_substituto_{$key}_&ref_cod_instituicao={$this->ref_cod_instituicao}&dia_semana={$alocacao["dia_semana"]}&hora_inicial={$alocacao["hora_inicial"]}&hora_final={$alocacao["hora_final"]}&ref_cod_servidor={$this->ref_cod_servidor}&professor=1&ref_cod_escola={$alocacao['ref_cod_escola']}&horario=S', 'nome')\" src=\"imagens/lupa.png\" ></span>",
  265 + '', '', 'ref_cod_servidor_substituto');
  266 + }
  267 +
  268 + $this->campoOculto("dia_semana_{$key}", $alocacao['dia_semana']);
  269 + $this->campoOculto("hora_inicial_{$key}", $alocacao['hora_inicial']);
  270 + $this->campoOculto("hora_final_{$key}", $alocacao['hora_final']);
  271 + $this->campoOculto("ref_cod_escola_{$key}", $alocacao['ref_cod_escola']);
  272 + $this->campoOculto("ref_cod_servidor_substituto[{$key}]", $alocacao['ref_cod_substituto']);
  273 +
  274 + }
  275 +
  276 + $script .= "\n</script>";
  277 +
  278 + // Print do Javascript
  279 + print $script;
  280 + }
  281 + }
  282 + }
  283 + }
  284 +
  285 + }
  286 + }
  287 + }
  288 +
  289 +
  290 +
  291 + public function Novo() {
  292 + session_start();
  293 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  294 + session_write_close();
  295 +
  296 + $this->ref_cod_servidor = isset($_POST['ref_cod_servidor']) ?
  297 + $_POST['ref_cod_servidor'] : NULL;
  298 +
  299 + $obj_permissoes = new clsPermissoes();
  300 + $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7,
  301 + "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}");
  302 +
  303 + $obj = new clsPmieducarServidorAfastamento($this->ref_cod_servidor, NULL,
  304 + $this->ref_cod_motivo_afastamento, NULL, $this->pessoa_logada, NULL, NULL,
  305 + $this->data_retorno, $this->data_saida, 1, $this->ref_cod_instituicao);
  306 +
  307 + $cadastrou = $obj->cadastra();
  308 + if ($cadastrou) {
  309 +
  310 + if(is_array($_POST['ref_cod_servidor_substituto']))
  311 + foreach ( $_POST['ref_cod_servidor_substituto'] as $key => $valor )
  312 + {
  313 + //if ( substr( $campo, 0, 28 ) == 'ref_cod_servidor_substituto_' )
  314 + // {
  315 + $ref_cod_servidor_substituto = $valor;
  316 + // }
  317 + //if ( substr( $campo, 0, 15 ) == 'ref_cod_escola_' )
  318 + $ref_cod_escola = $_POST["ref_cod_escola_{$key}"];
  319 + //if ( substr( $campo, 0, 11 ) == 'dia_semana_' )
  320 + $dia_semana = $_POST["dia_semana_{$key}"];
  321 + //if ( substr( $campo, 0, 13 ) == 'hora_inicial_' )
  322 + $hora_inicial = urldecode( $_POST["hora_inicial_{$key}"] );
  323 + // if ( substr( $campo, 0, 11 ) == 'hora_final_' )
  324 + $hora_final = urldecode( $_POST["hora_final_{$key}"] );
  325 +
  326 + if ( is_numeric( $ref_cod_servidor_substituto ) && is_numeric( $ref_cod_escola ) && is_numeric( $dia_semana ) && is_string( $hora_inicial ) && is_string( $hora_final ) )
  327 + {
  328 +
  329 + //if ( substr( $campo, 0, 28 ) == 'ref_cod_servidor_substituto_' )
  330 + //{die;
  331 + $obj_horarios = new clsPmieducarQuadroHorarioHorarios( null, null, $ref_cod_escola,null, null,null, $this->ref_cod_instituicao,$ref_cod_servidor_substituto, $this->ref_cod_servidor, $hora_inicial, $hora_final, null, null, 1, $dia_semana );
  332 + $det_horarios = $obj_horarios->detalhe($ref_cod_escola);
  333 + //echo " = new clsPmieducarQuadroHorarioHorarios( {$det_horarios["ref_cod_quadro_horario"]}, {$det_horarios["ref_cod_serie"]}, {$det_horarios["ref_cod_escola"]}, {$det_horarios["ref_cod_disciplina"]}, {$det_horarios["ref_ref_cod_turma"]}, {$det_horarios["sequencial"]}, {$det_horarios["ref_cod_instituicao_servidor"]}, null, {$ref_cod_servidor_substituto}, null, null, null, null, null, null, null );";die;
  334 + $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_cod_serie"], $det_horarios["ref_cod_escola"], $det_horarios["ref_cod_disciplina"], $det_horarios["sequencial"], $det_horarios["ref_cod_instituicao_servidor"],$det_horarios["ref_cod_instituicao_servidor"], $ref_cod_servidor_substituto, $this->ref_cod_servidor, null, null, null, null, null, null );
  335 + if( !$obj_horario->edita() )
  336 + {
  337 + $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
  338 + return false;
  339 + }
  340 + //}
  341 + }
  342 + }
  343 + $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
  344 + header( "Location: educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
  345 + die();
  346 + return true;
  347 + }
  348 + else
  349 + {
  350 + $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
  351 + return false;
  352 + }
  353 + $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
  354 + echo "<!--\nErro ao cadastrar clsPmieducarServidorAfastamento\nvalores obrigatorios\nis_numeric( $this->ref_cod_servidor ) && is_numeric( $this->sequencial ) && is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_cod_motivo_afastamento ) && is_numeric( $this->ref_usuario_cad ) && is_string( $this->data_saida )\n-->";
  355 + return false;
  356 + }
  357 +
  358 + function Editar()
  359 + {
  360 + @session_start();
  361 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  362 + @session_write_close();
  363 +
  364 + $obj_permissoes = new clsPermissoes();
  365 + $obj_permissoes->permissao_cadastra( 635, $this->pessoa_logada, 7, "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
  366 +
  367 + $obj = new clsPmieducarServidorAfastamento( $this->ref_cod_servidor, $this->sequencial, $this->ref_cod_motivo_afastamento, $this->pessoa_logada, null, null, null, $this->data_retorno, unserialize( $this->data_saida ), 1, $this->ref_cod_instituicao );
  368 + $editou = $obj->edita();
  369 + if( $editou )
  370 + {
  371 + if(is_array($_POST['ref_cod_servidor_substituto']))
  372 + foreach ( $_POST['ref_cod_servidor_substituto'] as $key => $valor )
  373 + {
  374 + $ref_cod_servidor_substituto = $valor;
  375 +
  376 + //if ( substr( $campo, 0, 15 ) == 'ref_cod_escola_' )
  377 + $ref_cod_escola = $_POST["ref_cod_escola_{$key}"];
  378 + //if ( substr( $campo, 0, 11 ) == 'dia_semana_' )
  379 + $dia_semana = $_POST["dia_semana_{$key}"];
  380 + //if ( substr( $campo, 0, 13 ) == 'hora_inicial_' )
  381 + $hora_inicial = urldecode( $_POST["hora_inicial_{$key}"] );
  382 + // if ( substr( $campo, 0, 11 ) == 'hora_final_' )
  383 + $hora_final = urldecode( $_POST["hora_final_{$key}"] );
  384 +
  385 + if ( is_numeric( $ref_cod_servidor_substituto ) && is_numeric( $ref_cod_escola ) && is_numeric( $dia_semana ) && is_string( $hora_inicial ) && is_string( $hora_final ) )
  386 + {
  387 + //if ( substr( $campo, 0, 28 ) == 'ref_cod_servidor_substituto_' )
  388 + //{
  389 + $obj_horarios = new clsPmieducarQuadroHorarioHorarios( null, null, $ref_cod_escola,null, null,null, $this->ref_cod_instituicao,$ref_cod_servidor_substituto, $this->ref_cod_servidor, $hora_inicial, $hora_final, null, null, 1, $dia_semana );
  390 + $det_horarios = $obj_horarios->detalhe($ref_cod_escola);
  391 + //if ( is_string( $this->data_retorno ) && $this->data_retorno != '' )
  392 + //{
  393 + //$obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_ref_cod_serie"], $det_horarios["ref_ref_cod_escola"], $det_horarios["ref_ref_cod_disciplina"], $det_horarios["ref_ref_cod_turma"], $det_horarios["sequencial"], null, null, null, null, null, null, null, null, null, null );
  394 + $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_cod_serie"], $det_horarios["ref_cod_escola"], $det_horarios["ref_cod_disciplina"], $det_horarios["sequencial"], null,$det_horarios["ref_cod_instituicao_servidor"], null, $this->ref_cod_servidor, null, null, null, null, null, null );
  395 + //}
  396 + /* else
  397 + {
  398 + // $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_ref_cod_serie"], $det_horarios["ref_ref_cod_escola"], $det_horarios["ref_ref_cod_disciplina"], $det_horarios["ref_ref_cod_turma"], $det_horarios["sequencial"], $det_horarios["ref_cod_instituicao_servidor"], null, $ref_cod_servidor_substituto, null, null, null, null, null, null, null );
  399 + $obj_horario = new clsPmieducarQuadroHorarioHorarios( $det_horarios["ref_cod_quadro_horario"], $det_horarios["ref_cod_serie"], $det_horarios["ref_cod_escola"], $det_horarios["ref_cod_disciplina"], $det_horarios["sequencial"], $det_horarios["ref_cod_instituicao_servidor"],$det_horarios["ref_cod_instituicao_servidor"], $ref_cod_servidor_substituto, $this->ref_cod_servidor, null, null, null, null, null, null );
  400 + }*/
  401 + if( !$obj_horario->edita() )
  402 + {
  403 + $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
  404 + return false;
  405 + }
  406 + //}
  407 + }
  408 + }
  409 + $this->mensagem .= "Edi&ccedil;&atilde;o efetuada com sucesso.<br>";
  410 + header( "Location: educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
  411 + die();
  412 + return true;
  413 + }
  414 +
  415 + $this->mensagem = "Edi&ccedil;&atilde;o n&atilde;o realizada.<br>";
  416 + echo "<!--\nErro ao editar clsPmieducarServidorAfastamento\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_servidor ) && is_numeric( $this->sequencial ) && is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_usuario_exc ) )\n-->";
  417 + return false;
  418 + }
  419 +
  420 + function Excluir()
  421 + {
  422 + @session_start();
  423 + $this->pessoa_logada = $_SESSION['id_pessoa'];
  424 + @session_write_close();
  425 +
  426 + $obj_permissoes = new clsPermissoes();
  427 + $obj_permissoes->permissao_excluir( 635, $this->pessoa_logada, 7, "educar_servidor_det.php?cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}" );
  428 +
  429 +
  430 + $obj = new clsPmieducarServidorAfastamento($this->ref_cod_servidor, $this->sequencial, $this->ref_ref_cod_instituicao, $this->ref_cod_motivo_afastamento, $this->pessoa_logada, $this->pessoa_logada, $this->data_cadastro, $this->data_exclusao, $this->data_retorno, $this->data_saida, 0);
  431 + $excluiu = $obj->excluir();
  432 + if( $excluiu )
  433 + {
  434 + $this->mensagem .= "Exclus&atilde;o efetuada com sucesso.<br>";
  435 + header( "Location: educar_servidor_afastamento_lst.php" );
  436 + die();
  437 + return true;
  438 + }
  439 +
  440 + $this->mensagem = "Exclus&atilde;o n&atilde;o realizada.<br>";
  441 + echo "<!--\nErro ao excluir clsPmieducarServidorAfastamento\nvalores obrigatorios\nif( is_numeric( $this->ref_cod_servidor ) && is_numeric( $this->sequencial ) && is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_usuario_exc ) )\n-->";
  442 + return false;
  443 + }
429 444 }
430 445  
431 446 // cria uma extensao da classe base
... ...
ieducar/intranet/include/pmieducar/clsPmieducarServidor.inc.php
1 1 <?php
2   -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3   -* *
4   -* @author Prefeitura Municipal de Itajaí *
5   -* @updated 29/03/2007 *
6   -* Pacote: i-PLB Software Público Livre e Brasileiro *
7   -* *
8   -* Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí *
9   -* ctima@itajai.sc.gov.br *
10   -* *
11   -* Este programa é software livre, você pode redistribuí-lo e/ou *
12   -* modificá-lo sob os termos da Licença Pública Geral GNU, conforme *
13   -* publicada pela Free Software Foundation, tanto a versão 2 da *
14   -* Licença como (a seu critério) qualquer versão mais nova. *
15   -* *
16   -* Este programa é distribuído na expectativa de ser útil, mas SEM *
17   -* QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI- *
18   -* ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con- *
19   -* sulte a Licença Pública Geral GNU para obter mais detalhes. *
20   -* *
21   -* Você deve ter recebido uma cópia da Licença Pública Geral GNU *
22   -* junto com este programa. Se não, escreva para a Free Software *
23   -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *
24   -* 02111-1307, USA. *
25   -* *
26   -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
27 2 /**
28   -* @author Prefeitura Municipal de Itajaí
29   -*
30   -* Criado em 26/06/2006 16:19 pelo gerador automatico de classes
31   -*/
32   -
33   -require_once( "include/pmieducar/geral.inc.php" );
  3 + *
  4 + * @author Prefeitura Municipal de Itajaí
  5 + * @version $Id$
  6 + *
  7 + * Pacote: i-PLB Software Público Livre e Brasileiro
  8 + *
  9 + * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí
  10 + * ctima@itajai.sc.gov.br
  11 + *
  12 + * Este programa é software livre, você pode redistribuí-lo e/ou
  13 + * modificá-lo sob os termos da Licença Pública Geral GNU, conforme
  14 + * publicada pela Free Software Foundation, tanto a versão 2 da
  15 + * Licença como (a seu critério) qualquer versão mais nova.
  16 + *
  17 + * Este programa é distribuído na expectativa de ser útil, mas SEM
  18 + * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-
  19 + * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-
  20 + * sulte a Licença Pública Geral GNU para obter mais detalhes.
  21 + *
  22 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU
  23 + * junto com este programa. Se não, escreva para a Free Software
  24 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  25 + * 02111-1307, USA.
  26 + *
  27 + */
  28 +
  29 +require_once 'include/pmieducar/geral.inc.php';
34 30  
35 31 class clsPmieducarServidor
36 32 {
... ... @@ -110,9 +106,12 @@ class clsPmieducarServidor
110 106 *
111 107 * @return object
112 108 */
113   - function clsPmieducarServidor( $cod_servidor = null, $ref_cod_deficiencia = null, $ref_idesco = null, $carga_horaria = null, $data_cadastro = null, $data_exclusao = null, $ativo = null, $ref_cod_instituicao = null, $ref_cod_subnivel = null )
114   - {
115   - $db = new clsBanco();
  109 + public function clsPmieducarServidor(
  110 + $cod_servidor = NULL, $ref_cod_deficiencia = NULL, $ref_idesco = NULL,
  111 + $carga_horaria = NULL, $data_cadastro = NULL, $data_exclusao = NULL,
  112 + $ativo = NULL, $ref_cod_instituicao = NULL, $ref_cod_subnivel = NULL) {
  113 +
  114 + $db = new clsBanco();
116 115 $this->_schema = "pmieducar.";
117 116 $this->_tabela = "{$this->_schema}servidor";
118 117  
... ... @@ -409,8 +408,19 @@ class clsPmieducarServidor
409 408 *
410 409 * @return array
411 410 */
412   - function lista( $int_cod_servidor = null, $int_ref_cod_deficiencia = null, $int_ref_idesco = null, $int_carga_horaria = null, $date_data_cadastro_ini = null, $date_data_cadastro_fim = null, $date_data_exclusao_ini = null, $date_data_exclusao_fim = null, $int_ativo = null, $int_ref_cod_instituicao = null, $str_tipo = null, $array_horario = null, $str_not_in_servidor = null, $str_nome_servidor = null, $boo_professor = false, $str_horario = null, $bool_ordena_por_nome = false, $lst_matriculas = null, $matutino = false, $vespertino = false, $noturno = false, $int_ref_cod_escola = null, $str_hr_mat = nul, $str_hr_ves = null, $str_hr_not = null, $int_dia_semana = null,$alocacao_escola_instituicao = null, $int_identificador = null, $int_ref_cod_curso = null, $int_ref_cod_disciplina = null, $int_ref_cod_subnivel = null )
413   - {
  411 + public function lista($int_cod_servidor = NULL, $int_ref_cod_deficiencia = NULL,
  412 + $int_ref_idesco = null, $int_carga_horaria = NULL, $date_data_cadastro_ini = NULL,
  413 + $date_data_cadastro_fim = NULL, $date_data_exclusao_ini = NULL,
  414 + $date_data_exclusao_fim = NULL, $int_ativo = NULL,
  415 + $int_ref_cod_instituicao = NULL, $str_tipo = NULL, $array_horario = NULL,
  416 + $str_not_in_servidor = NULL, $str_nome_servidor = NULL, $boo_professor = FALSE,
  417 + $str_horario = NULL, $bool_ordena_por_nome = FALSE, $lst_matriculas = NULL,
  418 + $matutino = FALSE, $vespertino = FALSE, $noturno = FALSE,
  419 + $int_ref_cod_escola = NULL, $str_hr_mat = NULL, $str_hr_ves = NULL,
  420 + $str_hr_not = NULL, $int_dia_semana = NULL,
  421 + $alocacao_escola_instituicao = NULL, $int_identificador = NULL,
  422 + $int_ref_cod_curso = NULL, $int_ref_cod_disciplina = NULL,
  423 + $int_ref_cod_subnivel = NULL) {
414 424  
415 425 $whereAnd = " WHERE ";
416 426 $filtros = "";
... ... @@ -425,7 +435,7 @@ class clsPmieducarServidor
425 435 {
426 436 $tabela_compl .= ", cadastro.pessoa p";
427 437 $this->_campos_lista2 .= ",p.nome";
428   - $filtros .= "{$whereAnd} cod_servidor = idpes ";
  438 + $filtros .= "{$whereAnd} s.cod_servidor = p.idpes ";
429 439 $whereAnd = " AND ";
430 440 $this->setOrderby( "nome" );
431 441 }
... ... @@ -540,9 +550,14 @@ class clsPmieducarServidor
540 550 {
541 551 $filtros .= "{$whereAnd} s.cod_servidor IN ( SELECT a.ref_cod_servidor
542 552 FROM pmieducar.servidor_alocacao a
543   - WHERE a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}'
544   - and ref_cod_escola = '{$int_ref_cod_escola}' )";
545   -
  553 + WHERE ";
  554 + if (is_numeric($int_ref_cod_instituicao)) {
  555 + $filtros .= " a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}'";
  556 + }
  557 + if (is_numeric($int_ref_cod_escola)) {
  558 + $filtros .= " and ref_cod_escola = '{$int_ref_cod_escola}' ";
  559 + }
  560 + $filtros .= ') ';
546 561 }
547 562  
548 563 if ( is_array( $array_horario ) )
... ... @@ -791,7 +806,7 @@ class clsPmieducarServidor
791 806 $sql = "SELECT {$this->_campos_lista2} FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}".$this->getOrderby().$this->getLimite();
792 807  
793 808 $this->_total = $db->CampoUnico( "SELECT COUNT(0) FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}" );
794   -
  809 +print '<pre>'.$sql.'</pre>';
795 810 $db->Consulta( $sql );
796 811  
797 812 if( $countCampos > 1 )
... ... @@ -976,5 +991,4 @@ class clsPmieducarServidor
976 991 return $db->Tupla();
977 992 }
978 993  
979   -}
980   -?>
981 994 \ No newline at end of file
  995 +}
982 996 \ No newline at end of file
... ...
ieducar/intranet/include/pmieducar/clsPmieducarServidorAfastamento.inc.php
1 1 <?php
2   -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3   -* *
4   -* @author Prefeitura Municipal de Itajaí *
5   -* @updated 29/03/2007 *
6   -* Pacote: i-PLB Software Público Livre e Brasileiro *
7   -* *
8   -* Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí *
9   -* ctima@itajai.sc.gov.br *
10   -* *
11   -* Este programa é software livre, você pode redistribuí-lo e/ou *
12   -* modificá-lo sob os termos da Licença Pública Geral GNU, conforme *
13   -* publicada pela Free Software Foundation, tanto a versão 2 da *
14   -* Licença como (a seu critério) qualquer versão mais nova. *
15   -* *
16   -* Este programa é distribuído na expectativa de ser útil, mas SEM *
17   -* QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI- *
18   -* ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con- *
19   -* sulte a Licença Pública Geral GNU para obter mais detalhes. *
20   -* *
21   -* Você deve ter recebido uma cópia da Licença Pública Geral GNU *
22   -* junto com este programa. Se não, escreva para a Free Software *
23   -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *
24   -* 02111-1307, USA. *
25   -* *
26   -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
27 2 /**
28   -* @author Prefeitura Municipal de Itajaí
29   -*
30   -* Criado em 26/06/2006 16:19 pelo gerador automatico de classes
31   -*/
32   -
33   -require_once( "include/pmieducar/geral.inc.php" );
  3 + *
  4 + * @author Prefeitura Municipal de Itajaí
  5 + * @version $Id$
  6 + *
  7 + * Pacote: i-PLB Software Público Livre e Brasileiro
  8 + *
  9 + * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí
  10 + * ctima@itajai.sc.gov.br
  11 + *
  12 + * Este programa é software livre, você pode redistribuí-lo e/ou
  13 + * modificá-lo sob os termos da Licença Pública Geral GNU, conforme
  14 + * publicada pela Free Software Foundation, tanto a versão 2 da
  15 + * Licença como (a seu critério) qualquer versão mais nova.
  16 + *
  17 + * Este programa é distribuído na expectativa de ser útil, mas SEM
  18 + * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-
  19 + * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-
  20 + * sulte a Licença Pública Geral GNU para obter mais detalhes.
  21 + *
  22 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU
  23 + * junto com este programa. Se não, escreva para a Free Software
  24 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  25 + * 02111-1307, USA.
  26 + *
  27 + */
  28 +
  29 +require_once 'include/pmieducar/geral.inc.php';
34 30  
35 31 class clsPmieducarServidorAfastamento
36 32 {
... ... @@ -112,7 +108,7 @@ class clsPmieducarServidorAfastamento
112 108 */
113 109 function clsPmieducarServidorAfastamento( $ref_cod_servidor = null, $sequencial = null, $ref_cod_motivo_afastamento = null, $ref_usuario_exc = null, $ref_usuario_cad = null, $data_cadastro = null, $data_exclusao = null, $data_retorno = null, $data_saida = null, $ativo = null, $ref_cod_instituicao = null )
114 110 {
115   - $db = new clsBanco();
  111 + $db = new clsBanco();
116 112 $this->_schema = "pmieducar.";
117 113 $this->_tabela = "{$this->_schema}servidor_afastamento";
118 114  
... ... @@ -206,7 +202,7 @@ class clsPmieducarServidorAfastamento
206 202 {
207 203 if( class_exists( "clsPmieducarServidor" ) )
208 204 {
209   - $tmp_obj = new clsPmieducarServidor( $ref_cod_servidor, null, null, null, null, null, null, 1, $ref_cod_instituicao );
  205 + $tmp_obj = new clsPmieducarServidor( $ref_cod_servidor, null, null, null, null, null, 1, $ref_cod_instituicao );
210 206 if( method_exists( $tmp_obj, "existe") )
211 207 {
212 208 if( $tmp_obj->existe() )
... ... @@ -710,5 +706,4 @@ class clsPmieducarServidorAfastamento
710 706 }
711 707 return false;
712 708 }
713   -}
714   -?>
715 709 \ No newline at end of file
  710 +}
716 711 \ No newline at end of file
... ...
ieducar/intranet/include/pmieducar/clsPmieducarServidorFuncao.inc.php
... ... @@ -291,11 +291,21 @@ class clsPmieducarServidorFuncao
291 291 */
292 292 function detalhe()
293 293 {
294   - if( is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_cod_servidor ) && is_numeric( $this->ref_cod_funcao ) )
  294 + if( is_numeric( $this->ref_ref_cod_instituicao ) && is_numeric( $this->ref_cod_servidor ) ) #&& is_numeric( $this->ref_cod_funcao ) )
295 295 {
  296 + $sql = sprintf(
  297 + "SELECT %s FROM %s WHERE ref_ref_cod_instituicao = '%d' AND ref_cod_servidor = '%d'",
  298 + $this->_todos_campos, $this->_tabela, $this->ref_ref_cod_instituicao,
  299 + $this->ref_cod_servidor
  300 + );
  301 +
  302 + if (is_numeric($this->ref_cod_funcao)) {
  303 + $sql .= sprintf(" AND ref_cod_funcao = '%d'", $this->ref_cod_funcao);
  304 + }
296 305  
297 306 $db = new clsBanco();
298   - $db->Consulta( "SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}' AND ref_cod_funcao = '{$this->ref_cod_funcao}'" );
  307 + #$db->Consulta( "SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}' AND ref_cod_funcao = '{$this->ref_cod_funcao}'" );
  308 + $db->Consulta($sql);
299 309 $db->ProximoRegistro();
300 310 return $db->Tupla();
301 311 }
... ...
ieducar/tests/functional/ServidorAfastarWebTest.class.php 0 → 100644
... ... @@ -0,0 +1,142 @@
  1 +<?php
  2 +
  3 +/**
  4 + * ServidorAfastarWebTest class.
  5 + *
  6 + * Esse teste precisa ser executado com o banco de dados distribuído na
  7 + * versão 1.0.0.
  8 + *
  9 + * @author Eriksen Costa <eriksen.paixao_bs@cobra.com.br>
  10 + * @since 1.0.1
  11 + * @version $Id$
  12 + */
  13 +
  14 +require_once realpath(dirname(__FILE__) . '/../') . '/FunctionalBaseTest.class.php';
  15 +
  16 +class ServidorAfastarWebTest extends FunctionalBaseTest {
  17 +
  18 + private
  19 + $slPessoaNome = 'Selenese Test User',
  20 + $slPessoaMatricula = 'selen_tuser',
  21 + $slPessoaID = NULL;
  22 +
  23 +
  24 +
  25 + protected function setUp() {
  26 + parent::setUp();
  27 +
  28 + $db = new clsBanco();
  29 +
  30 + // Cria uma nova pessoa e guarda o ID gerado
  31 + $db->Consulta(sprintf("INSERT INTO cadastro.pessoa (nome, data_cad,tipo,situacao,origem_gravacao, idsis_cad, operacao , idpes_cad) VALUES ('%s', NOW(), 'F', 'P', 'U', 17, 'I' , '1')", $this->slPessoaNome));
  32 + $this->slPessoaID = $id = $db->InsertId('cadastro.seq_pessoa');
  33 +
  34 +
  35 + // Cria pessoa física
  36 + $db->Consulta(sprintf("INSERT INTO cadastro.fisica (idpes, origem_gravacao, idsis_cad, data_cad, operacao, idpes_cad , sexo) VALUES ( '%d', 'M', 17, NOW(), 'I', '1' , 'M')", $id));
  37 +
  38 + // Cria novo funcionário no sistema
  39 + $db->Consulta(
  40 + sprintf(
  41 + "INSERT INTO portal.funcionario
  42 + (ref_cod_pessoa_fj, matricula, senha, ativo, ramal, ref_cod_funcionario_vinculo, tempo_expira_senha, tempo_expira_conta, data_troca_senha, data_reativa_conta, ref_ref_cod_pessoa_fj, proibido, ref_cod_setor_new, matricula_permanente)
  43 + VALUES
  44 + ('%d', '%s', '25d55ad283aa400af464c76d713c07ad', '1', '', '4', '30', '365', NOW(), NOW(), '28', '0', '1', '1')", $id, $this->slPessoaMatricula)
  45 + );
  46 +
  47 +
  48 + // Cria um novo servidor, com a função de professor
  49 + $sql = sprintf("INSERT INTO pmieducar.servidor (cod_servidor, ref_idesco, carga_horaria, data_cadastro, ativo, ref_cod_instituicao ) VALUES( '%d', '14', '40', NOW(), '1', '2' )", $id);
  50 + $db->Consulta($sql);
  51 +
  52 + $sql = sprintf("INSERT INTO pmieducar.servidor_funcao (ref_ref_cod_instituicao, ref_cod_servidor, ref_cod_funcao ) VALUES( '2', '%d', '2')", $id);
  53 + $db->Consulta($sql);
  54 +
  55 +
  56 + // Atribue disciplinas ao servidor e o curso em que ministra
  57 + $sql = sprintf("INSERT INTO pmieducar.servidor_disciplina (ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor) VALUES('6', '2', '%d')", $id);
  58 + $db->Consulta($sql);
  59 + $sql = sprintf("INSERT INTO pmieducar.servidor_disciplina (ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor) VALUES('3', '2', '%d')", $id);
  60 + $db->Consulta($sql);
  61 + $sql = sprintf("INSERT INTO pmieducar.servidor_disciplina (ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor) VALUES('4', '2', '%d')", $id);
  62 + $db->Consulta($sql);
  63 +
  64 + $sql = sprintf("INSERT INTO pmieducar.servidor_curso_ministra (ref_cod_curso, ref_ref_cod_instituicao, ref_cod_servidor) VALUES('1', '2', '%d')", $id);
  65 + $db->Consulta($sql);
  66 +
  67 +
  68 + // Aloca tempo de trabalho para o servidor
  69 + $sql = sprintf("INSERT INTO pmieducar.servidor_alocacao (ref_ref_cod_instituicao, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, carga_horaria, periodo, data_cadastro, ativo ) VALUES( '2', '28', '1', '%d', '10:00', '1', NOW(), '1')", $id);
  70 + $db->Consulta($sql);
  71 + $sql = sprintf("INSERT INTO pmieducar.servidor_alocacao (ref_ref_cod_instituicao, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, carga_horaria, periodo, data_cadastro, ativo ) VALUES( '2', '28', '1', '%d', '06:00', '2', NOW(), '1')", $id);
  72 + $db->Consulta($sql);
  73 + $sql = sprintf("INSERT INTO pmieducar.servidor_alocacao (ref_ref_cod_instituicao, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, carga_horaria, periodo, data_cadastro, ativo ) VALUES( '2', '28', '2', '%d', '14:00', '1', NOW(), '1')", $id);
  74 + $db->Consulta($sql);
  75 + $sql = sprintf("INSERT INTO pmieducar.servidor_alocacao (ref_ref_cod_instituicao, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, carga_horaria, periodo, data_cadastro, ativo ) VALUES( '2', '28', '2', '%d', '05:00', '2', NOW(), '1')", $id);
  76 + $db->Consulta($sql);
  77 +
  78 + // Aloca horas aula ao servidor
  79 + $sql = sprintf("INSERT INTO pmieducar.quadro_horario_horarios ( ref_cod_quadro_horario, ref_cod_serie, ref_cod_escola, ref_cod_disciplina, sequencial, ref_cod_instituicao_servidor, ref_servidor, hora_inicial, hora_final, data_cadastro, ativo, dia_semana ) VALUES( '2', '2', '1', '6', '3', '2', '%d', '09:00', '10:00', NOW(), '1', '3')", $id);
  80 + $db->Consulta($sql);
  81 +
  82 + $sql = sprintf("INSERT INTO pmieducar.quadro_horario_horarios ( ref_cod_quadro_horario, ref_cod_serie, ref_cod_escola, ref_cod_disciplina, sequencial, ref_cod_instituicao_servidor, ref_servidor, hora_inicial, hora_final, data_cadastro, ativo, dia_semana ) VALUES( '2', '2', '1', '3', '4', '2', '%d', '08:00', '09:00', NOW(), '1', '5' )", $id);
  83 + $db->Consulta($sql);
  84 + }
  85 +
  86 +
  87 +
  88 + protected function tearDown() {
  89 + $db = new clsBanco();
  90 +
  91 + // ID da pessoa/servidor
  92 + $id = $this->slPessoaID;
  93 +
  94 + // Array com instruções SQL para limpar os registros
  95 + $sqls = array();
  96 +
  97 + $sqls[] = sprintf("DELETE FROM pmieducar.quadro_horario_horarios WHERE ref_servidor = '%d'", $id);
  98 + $sqls[] = sprintf("DELETE FROM pmieducar.servidor_alocacao WHERE ref_cod_servidor = '%d'", $id);
  99 + $sqls[] = sprintf("DELETE FROM pmieducar.servidor_curso_ministra WHERE ref_cod_servidor = '%d'", $id);
  100 + $sqls[] = sprintf("DELETE FROM pmieducar.servidor_disciplina WHERE ref_cod_servidor = '%d'", $id);
  101 + $sqls[] = sprintf("DELETE FROM pmieducar.servidor_funcao WHERE ref_cod_servidor = '%d'", $id);
  102 + $sqls[] = sprintf("DELETE FROM pmieducar.servidor_afastamento WHERE ref_cod_servidor = '%d'", $id); // Criado na interface, apenas para não ter problemas com alguma restrição referencial
  103 + $sqls[] = sprintf("DELETE FROM pmieducar.servidor WHERE cod_servidor = '%d'", $id);
  104 + $sqls[] = sprintf("DELETE FROM portal.menu_funcionario WHERE ref_ref_cod_pessoa_fj = '%d'", $id); // Não é criado mas apenas para não ser surpreendido por alguma restrição referencial
  105 + $sqls[] = sprintf("DELETE FROM portal.funcionario WHERE ref_cod_pessoa_fj = '%d'", $id);
  106 + $sqls[] = sprintf("DELETE FROM cadastro.fisica WHERE idpes = '%d'", $id);
  107 + $sqls[] = sprintf("DELETE FROM cadastro.pessoa WHERE idpes = '%d'", $id);
  108 +
  109 + foreach ($sqls as $sql) {
  110 + $db->Consulta($sql);
  111 + }
  112 +
  113 + }
  114 +
  115 +
  116 +
  117 + /**
  118 + * Testa a ação afastar servidor.
  119 + *
  120 + * Verifica pelo nome de matrícula que aparece na página de detalhes logo após
  121 + * a requisição enviada ao servidor.
  122 + */
  123 + public function testServidorAfastar() {
  124 + $this->doLogin();
  125 +
  126 + $this->open('/intranet/educar_servidor_lst.php');
  127 + $this->clickAndWait('link=' . $this->slPessoaNome);
  128 + $this->clickAndWait("//input[@value='Afastar Servidor']");
  129 +
  130 + $this->select('ref_cod_motivo_afastamento', 'label=Capacitação');
  131 +
  132 + // Cria data daqui a 10 dias
  133 + $data = date('d/m/Y', (time() + (60 * 60 * 24 * 10)));
  134 + $this->type('data_saida', $data);
  135 +
  136 + $this->clickAndWait('btn_enviar');
  137 + $this->assertTrue($this->isTextPresent($this->slPessoaMatricula));
  138 +
  139 + $this->doLogout();
  140 + }
  141 +
  142 +}
0 143 \ No newline at end of file
... ...
ieducar/tests/unit/ClsPmieducarServidorTest.class.php 0 → 100644
... ... @@ -0,0 +1,38 @@
  1 +<?php
  2 +
  3 +/**
  4 + * ClsPmieducarServidorTest class.
  5 + *
  6 + * @author Eriksen Costa <eriksen.paixao_bs@cobra.com.br>
  7 + * @version $Id$
  8 + */
  9 +
  10 +require_once realpath(dirname(__FILE__) . '/../') . '/UnitBaseTest.class.php';
  11 +require_once 'include/pmieducar/clsPmieducarServidor.inc.php';
  12 +
  13 +class ClsPmieducarServidorTest extends UnitBaseTest {
  14 +
  15 + private
  16 + $codServidor = NULL,
  17 + $codInstituicao = NULL;
  18 +
  19 + protected function setUp() {
  20 + $db = new clsBanco();
  21 + $sql = 'SELECT cod_servidor, ref_cod_instituicao FROM pmieducar.servidor WHERE ativo = 1 LIMIT 1';
  22 +
  23 + $db->Consulta($sql);
  24 + $db->ProximoRegistro();
  25 + list($this->codServidor, $this->codInstituicao) = $db->Tupla();
  26 + }
  27 +
  28 + public function testPmieducarServidorExists() {
  29 + $codServidor = $this->codServidor;
  30 + $codInstituicao = $this->codInstituicao;
  31 +
  32 + $servidor = new clsPmieducarServidor(
  33 + $codServidor, NULL, NULL, NULL, NULL, NULL, 1, $codInstituicao);
  34 +
  35 + $this->assertTrue((boolean) $servidor->existe());
  36 + }
  37 +
  38 +}
0 39 \ No newline at end of file
... ...