Commit a3f8b4ab193439c0425d422e195615e1f0ccba6c
1 parent
311492f6
Exists in
master
#23 by Eriksen: Corrigido bug que não permitia afastar servidor
Showing
6 changed files
with
704 additions
and
490 deletions
Show diff stats
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ça', 4 => 'Quarta', 5 => 'Quinta', 6 => 'Sexta', 7 => 'Sá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ça', | |
80 | + 4 => 'Quarta', | |
81 | + 5 => 'Quinta', | |
82 | + 6 => 'Sexta', | |
83 | + 7 => 'Sá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ã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ão realizado.<br>"; | |
336 | - return false; | |
337 | - } | |
338 | - $this->mensagem = "Cadastro nã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ão realizado.<br>"; | |
389 | - return false; | |
390 | - } | |
391 | - //} | |
392 | - } | |
393 | - } | |
394 | - $this->mensagem .= "Ediçã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ção nã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ão efetuada com sucesso.<br>"; | |
420 | - header( "Location: educar_servidor_afastamento_lst.php" ); | |
421 | - die(); | |
422 | - return true; | |
423 | - } | |
424 | - | |
425 | - $this->mensagem = "Exclusão nã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ã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ão realizado.<br>"; | |
351 | + return false; | |
352 | + } | |
353 | + $this->mensagem = "Cadastro nã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ão realizado.<br>"; | |
404 | + return false; | |
405 | + } | |
406 | + //} | |
407 | + } | |
408 | + } | |
409 | + $this->mensagem .= "Ediçã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ção nã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ão efetuada com sucesso.<br>"; | |
435 | + header( "Location: educar_servidor_afastamento_lst.php" ); | |
436 | + die(); | |
437 | + return true; | |
438 | + } | |
439 | + | |
440 | + $this->mensagem = "Exclusão nã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 | ... | ... |
... | ... | @@ -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 | ... | ... |