Commit 41bed8827ad8adbaec8ba569f65674c518c11f5e

Authored by Lucas Schmoeller da Silva
1 parent 7d74c34c
Exists in master

Criado campo para data efetiva de enturmação

portabilis/ieducar#113
ieducar/intranet/educar_matricula_cad.php
... ... @@ -608,7 +608,7 @@ class indice extends clsCadastro
608 608 // Coloca as matrículas anteriores em andamento
609 609 $obj_transferencia_antiga = new clsPmieducarTransferenciaSolicitacao();
610 610 $lista_transferencia = $obj_transferencia_antiga->lista(null,null,null,null,null,$this->cod_matricula);
611   - if (is_array($lista_transferencia))){
  611 + if (is_array($lista_transferencia)){
612 612 foreach ($lista_transferencia as $transf) {
613 613  
614 614 $obj_mat = new clsPmieducarMatricula($transf['ref_cod_matricula_saida']);
... ... @@ -710,6 +710,7 @@ class indice extends clsCadastro
710 710 NULL,
711 711 NULL,
712 712 1);
  713 + $enturmacao->data_enturmacao = $this->data_matricula;
713 714 return $enturmacao->cadastra();
714 715 }
715 716 return false;
... ...
ieducar/intranet/educar_matricula_turma_cad.php
... ... @@ -33,6 +33,7 @@ require_once 'include/clsCadastro.inc.php';
33 33 require_once 'include/clsBanco.inc.php';
34 34 require_once 'include/pmieducar/geral.inc.php';
35 35 require_once 'include/pmieducar/clsPmieducarMatricula.inc.php';
  36 +require_once 'lib/Portabilis/Date/Utils.php';
36 37  
37 38 /**
38 39 * clsIndexBase class.
... ... @@ -78,6 +79,7 @@ class indice extends clsCadastro
78 79 var $ref_cod_turma_origem;
79 80 var $ref_cod_turma_destino;
80 81 var $ref_cod_curso;
  82 + var $data_enturmacao;
81 83  
82 84 var $sequencial;
83 85  
... ... @@ -97,6 +99,8 @@ class indice extends clsCadastro
97 99 $this->$key = $value;
98 100 }
99 101  
  102 + $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao);
  103 +
100 104 $obj_permissoes = new clsPermissoes();
101 105 $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_matricula_lst.php');
102 106  
... ... @@ -144,6 +148,7 @@ class indice extends clsCadastro
144 148 NULL,
145 149 NULL,
146 150 1);
  151 + $enturmacao->data_enturmacao = $this->data_enturmacao;
147 152 return $enturmacao->cadastra();
148 153 }
149 154 return false;
... ...
ieducar/intranet/educar_matricula_turma_det.php
... ... @@ -78,6 +78,7 @@ class indice extends clsDetalhe
78 78 var $ref_cod_escola;
79 79 var $ref_cod_turma_origem;
80 80 var $ref_cod_curso;
  81 + var $data_enturmacao;
81 82  
82 83 var $sequencial;
83 84  
... ... @@ -239,6 +240,9 @@ class indice extends clsDetalhe
239 240 $this->addDetalhe(array('<b>Enturmação</b>', $selectEnturmacoes));
240 241 }
241 242  
  243 + if(!$this->possuiEnturmacaoTurmaDestino)
  244 + $this->addDetalhe(array('Data da enturmação', '<input onkeypress="formataData(this,event);" value="'.date('d/m/Y').'" class="geral" type="text" name="data_enturmacao" id="data_enturmacao" size="9" maxlength="10"/>'));
  245 +
242 246 $this->addDetalhe(array(
243 247 '-',
244 248 sprintf('
... ... @@ -248,6 +252,7 @@ class indice extends clsDetalhe
248 252 <input type="hidden" name="ref_cod_escola" value="">
249 253 <input type="hidden" name="ref_cod_turma_origem" value="%d">
250 254 <input type="hidden" name="ref_cod_turma_destino" value="">
  255 + <input type="hidden" name="data_enturmacao" value="">
251 256 <input type="hidden" name="sequencial" value="%d">
252 257 </form>
253 258 ', $this->ref_cod_turma_origem, $this->sequencial)
... ... @@ -289,6 +294,7 @@ class indice extends clsDetalhe
289 294  
290 295 document.formcadastro.ref_cod_matricula.value = ref_cod_matricula;
291 296 document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino;
  297 + document.formcadastro.data_enturmacao.value = document.getElementById("data_enturmacao").value;
292 298 document.formcadastro.submit();
293 299 }
294 300  
... ...
ieducar/intranet/educar_matriculas_turma_cad.php
... ... @@ -32,6 +32,7 @@ require_once &#39;include/clsBase.inc.php&#39;;
32 32 require_once 'include/clsCadastro.inc.php';
33 33 require_once 'include/clsBanco.inc.php';
34 34 require_once 'include/pmieducar/geral.inc.php';
  35 +require_once 'lib/Portabilis/Date/Utils.php';
35 36  
36 37 /**
37 38 * clsIndexBase class.
... ... @@ -83,6 +84,7 @@ class indice extends clsCadastro
83 84  
84 85 var $matriculas_turma;
85 86 var $incluir_matricula;
  87 + var $data_enturmacao;
86 88  
87 89 function Inicializar()
88 90 {
... ... @@ -263,6 +265,7 @@ class indice extends clsCadastro
263 265 }
264 266  
265 267 if (count($opcoes)) {
  268 + $this->inputsHelper()->date('data_enturmacao', array('label' => 'Data da enturmação', 'value' => date('Y-m-d')));
266 269 asort($opcoes);
267 270 foreach ($opcoes as $key => $aluno) {
268 271 $this->campoCheck('ref_cod_matricula[' . $key . ']', 'Aluno', $key,
... ... @@ -286,6 +289,7 @@ class indice extends clsCadastro
286 289 {
287 290 @session_start();
288 291 $this->pessoa_logada = $_SESSION['id_pessoa'];
  292 + $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao);
289 293 @session_write_close();
290 294  
291 295 if ($this->matriculas_turma) {
... ... @@ -296,6 +300,7 @@ class indice extends clsCadastro
296 300 $existe = $obj->existe();
297 301  
298 302 if (!$existe) {
  303 + $obj->data_enturmacao = $this->data_enturmacao;
299 304 $cadastrou = $obj->cadastra();
300 305  
301 306 if (!$cadastrou) {
... ...
ieducar/intranet/include/pmieducar/clsPmieducarMatriculaTurma.inc.php
... ... @@ -108,13 +108,13 @@ class clsPmieducarMatriculaTurma
108 108 function clsPmieducarMatriculaTurma($ref_cod_matricula = NULL,
109 109 $ref_cod_turma = NULL, $ref_usuario_exc = NULL, $ref_usuario_cad = NULL,
110 110 $data_cadastro = NULL, $data_exclusao = NULL, $ativo = NULL,
111   - $ref_cod_turma_transf = NULL,$sequencial = NULL
  111 + $ref_cod_turma_transf = NULL,$sequencial = NULL, $data_enturmacao = NULL
112 112 ) {
113 113 $db = new clsBanco();
114 114 $this->_schema = "pmieducar.";
115 115 $this->_tabela = "{$this->_schema}matricula_turma";
116 116  
117   - $this->_campos_lista = $this->_todos_campos = "mt.ref_cod_matricula, mt.ref_cod_turma, mt.ref_usuario_exc, mt.ref_usuario_cad, mt.data_cadastro, mt.data_exclusao, mt.ativo, mt.sequencial, (SELECT pes.nome FROM cadastro.pessoa pes, pmieducar.aluno alu, pmieducar.matricula mat WHERE pes.idpes = alu.ref_idpes AND mat.ref_cod_aluno = alu.cod_aluno AND mat.cod_matricula = mt.ref_cod_matricula ) AS nome, (SELECT to_ascii(pes.nome) FROM cadastro.pessoa pes, pmieducar.aluno alu, pmieducar.matricula mat WHERE pes.idpes = alu.ref_idpes AND mat.ref_cod_aluno = alu.cod_aluno AND mat.cod_matricula = mt.ref_cod_matricula ) AS nome_ascii";
  117 + $this->_campos_lista = $this->_todos_campos = "mt.ref_cod_matricula, mt.ref_cod_turma, mt.ref_usuario_exc, mt.ref_usuario_cad, mt.data_cadastro, mt.data_exclusao, mt.ativo, mt.sequencial, mt.data_enturmacao, (SELECT pes.nome FROM cadastro.pessoa pes, pmieducar.aluno alu, pmieducar.matricula mat WHERE pes.idpes = alu.ref_idpes AND mat.ref_cod_aluno = alu.cod_aluno AND mat.cod_matricula = mt.ref_cod_matricula ) AS nome, (SELECT to_ascii(pes.nome) FROM cadastro.pessoa pes, pmieducar.aluno alu, pmieducar.matricula mat WHERE pes.idpes = alu.ref_idpes AND mat.ref_cod_aluno = alu.cod_aluno AND mat.cod_matricula = mt.ref_cod_matricula ) AS nome_ascii";
118 118  
119 119 if (is_numeric($ref_usuario_exc)) {
120 120 if (class_exists("clsPmieducarUsuario")) {
... ... @@ -237,6 +237,10 @@ class clsPmieducarMatriculaTurma
237 237 if (is_numeric($sequencial)) {
238 238 $this->sequencial = $sequencial;
239 239 }
  240 +
  241 + if (is_string($data_enturmacao)) {
  242 + $this->data_enturmacao = $data_enturmacao;
  243 + }
240 244 }
241 245  
242 246 /**
... ... @@ -286,6 +290,12 @@ class clsPmieducarMatriculaTurma
286 290 $valores .= "{$gruda}'1'";
287 291 $gruda = ", ";
288 292  
  293 + if (is_string($this->data_enturmacao)) {
  294 + $campos .= "{$gruda}data_enturmacao";
  295 + $valores .= "{$gruda}'{$this->data_enturmacao}'";
  296 + $gruda = ", ";
  297 + }
  298 +
289 299 $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)");
290 300  
291 301 return TRUE;
... ... @@ -333,6 +343,11 @@ class clsPmieducarMatriculaTurma
333 343 $gruda = ", ";
334 344 }
335 345  
  346 + if (is_string($this->data_enturmacao)) {
  347 + $set .= "{$gruda}data_enturmacao = '{$this->data_enturmacao}'";
  348 + $gruda = ", ";
  349 + }
  350 +
336 351 if ($set) {
337 352 $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_turma = '{$this->ref_cod_turma}' and sequencial = '$this->sequencial' ");
338 353 return TRUE;
... ...
ieducar/misc/database/deltas/portabilis/67_cria_coluna_data_enturmacao.sql 0 → 100644
... ... @@ -0,0 +1,43 @@
  1 + -- //
  2 +
  3 + --
  4 + -- Cria colunas para armazenar data dos processos da matrícula
  5 + --
  6 + -- @author Lucas Schmoeller da Silva <lucas@portabilis.com.br>
  7 + -- @license @@license@@
  8 + -- @version $Id$
  9 +
  10 + ALTER TABLE pmieducar.matricula ADD COLUMN data_matricula timestamp without time zone;
  11 + ALTER TABLE pmieducar.matricula ADD COLUMN data_cancel timestamp without time zone;
  12 +
  13 + CREATE OR REPLACE FUNCTION retira_data_cancel_matricula_fun()
  14 + RETURNS trigger AS
  15 + $func$
  16 + BEGIN
  17 +
  18 + UPDATE pmieducar.matricula
  19 + SET data_cancel = NULL
  20 + WHERE cod_matricula = new.cod_matricula
  21 + AND data_cancel IS DISTINCT FROM NULL
  22 + AND aprovado = 3
  23 + AND (SELECT 1 FROM pmieducar.transferencia_solicitacao WHERE ativo = 1 AND ref_cod_matricula_saida = new.cod_matricula limit 1) is null;
  24 +
  25 + RETURN NULL;
  26 + END
  27 + $func$ LANGUAGE plpgsql;
  28 +
  29 + CREATE TRIGGER retira_data_cancel_matricula_trg
  30 + AFTER UPDATE ON pmieducar.matricula
  31 + FOR EACH ROW
  32 + EXECUTE PROCEDURE retira_data_cancel_matricula_fun();
  33 +
  34 + -- //@UNDO
  35 +
  36 + ALTER TABLE pmieducar.matricula DROP COLUMN data_matricula;
  37 + ALTER TABLE pmieducar.matricula DROP COLUMN data_cancel;
  38 +
  39 + DROP TRIGGER retira_data_cancel_matricula_trg ON pmieducar.matricula;
  40 +
  41 + DROP FUNCTION public.retira_data_cancel_matricula_fun();
  42 +
  43 + -- //
0 44 \ No newline at end of file
... ...