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,7 +608,7 @@ class indice extends clsCadastro
608 // Coloca as matrículas anteriores em andamento 608 // Coloca as matrículas anteriores em andamento
609 $obj_transferencia_antiga = new clsPmieducarTransferenciaSolicitacao(); 609 $obj_transferencia_antiga = new clsPmieducarTransferenciaSolicitacao();
610 $lista_transferencia = $obj_transferencia_antiga->lista(null,null,null,null,null,$this->cod_matricula); 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 foreach ($lista_transferencia as $transf) { 612 foreach ($lista_transferencia as $transf) {
613 613
614 $obj_mat = new clsPmieducarMatricula($transf['ref_cod_matricula_saida']); 614 $obj_mat = new clsPmieducarMatricula($transf['ref_cod_matricula_saida']);
@@ -710,6 +710,7 @@ class indice extends clsCadastro @@ -710,6 +710,7 @@ class indice extends clsCadastro
710 NULL, 710 NULL,
711 NULL, 711 NULL,
712 1); 712 1);
  713 + $enturmacao->data_enturmacao = $this->data_matricula;
713 return $enturmacao->cadastra(); 714 return $enturmacao->cadastra();
714 } 715 }
715 return false; 716 return false;
ieducar/intranet/educar_matricula_turma_cad.php
@@ -33,6 +33,7 @@ require_once 'include/clsCadastro.inc.php'; @@ -33,6 +33,7 @@ require_once 'include/clsCadastro.inc.php';
33 require_once 'include/clsBanco.inc.php'; 33 require_once 'include/clsBanco.inc.php';
34 require_once 'include/pmieducar/geral.inc.php'; 34 require_once 'include/pmieducar/geral.inc.php';
35 require_once 'include/pmieducar/clsPmieducarMatricula.inc.php'; 35 require_once 'include/pmieducar/clsPmieducarMatricula.inc.php';
  36 +require_once 'lib/Portabilis/Date/Utils.php';
36 37
37 /** 38 /**
38 * clsIndexBase class. 39 * clsIndexBase class.
@@ -78,6 +79,7 @@ class indice extends clsCadastro @@ -78,6 +79,7 @@ class indice extends clsCadastro
78 var $ref_cod_turma_origem; 79 var $ref_cod_turma_origem;
79 var $ref_cod_turma_destino; 80 var $ref_cod_turma_destino;
80 var $ref_cod_curso; 81 var $ref_cod_curso;
  82 + var $data_enturmacao;
81 83
82 var $sequencial; 84 var $sequencial;
83 85
@@ -97,6 +99,8 @@ class indice extends clsCadastro @@ -97,6 +99,8 @@ class indice extends clsCadastro
97 $this->$key = $value; 99 $this->$key = $value;
98 } 100 }
99 101
  102 + $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao);
  103 +
100 $obj_permissoes = new clsPermissoes(); 104 $obj_permissoes = new clsPermissoes();
101 $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_matricula_lst.php'); 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,6 +148,7 @@ class indice extends clsCadastro
144 NULL, 148 NULL,
145 NULL, 149 NULL,
146 1); 150 1);
  151 + $enturmacao->data_enturmacao = $this->data_enturmacao;
147 return $enturmacao->cadastra(); 152 return $enturmacao->cadastra();
148 } 153 }
149 return false; 154 return false;
ieducar/intranet/educar_matricula_turma_det.php
@@ -78,6 +78,7 @@ class indice extends clsDetalhe @@ -78,6 +78,7 @@ class indice extends clsDetalhe
78 var $ref_cod_escola; 78 var $ref_cod_escola;
79 var $ref_cod_turma_origem; 79 var $ref_cod_turma_origem;
80 var $ref_cod_curso; 80 var $ref_cod_curso;
  81 + var $data_enturmacao;
81 82
82 var $sequencial; 83 var $sequencial;
83 84
@@ -239,6 +240,9 @@ class indice extends clsDetalhe @@ -239,6 +240,9 @@ class indice extends clsDetalhe
239 $this->addDetalhe(array('<b>Enturmação</b>', $selectEnturmacoes)); 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 $this->addDetalhe(array( 246 $this->addDetalhe(array(
243 '-', 247 '-',
244 sprintf(' 248 sprintf('
@@ -248,6 +252,7 @@ class indice extends clsDetalhe @@ -248,6 +252,7 @@ class indice extends clsDetalhe
248 <input type="hidden" name="ref_cod_escola" value=""> 252 <input type="hidden" name="ref_cod_escola" value="">
249 <input type="hidden" name="ref_cod_turma_origem" value="%d"> 253 <input type="hidden" name="ref_cod_turma_origem" value="%d">
250 <input type="hidden" name="ref_cod_turma_destino" value=""> 254 <input type="hidden" name="ref_cod_turma_destino" value="">
  255 + <input type="hidden" name="data_enturmacao" value="">
251 <input type="hidden" name="sequencial" value="%d"> 256 <input type="hidden" name="sequencial" value="%d">
252 </form> 257 </form>
253 ', $this->ref_cod_turma_origem, $this->sequencial) 258 ', $this->ref_cod_turma_origem, $this->sequencial)
@@ -289,6 +294,7 @@ class indice extends clsDetalhe @@ -289,6 +294,7 @@ class indice extends clsDetalhe
289 294
290 document.formcadastro.ref_cod_matricula.value = ref_cod_matricula; 295 document.formcadastro.ref_cod_matricula.value = ref_cod_matricula;
291 document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino; 296 document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino;
  297 + document.formcadastro.data_enturmacao.value = document.getElementById("data_enturmacao").value;
292 document.formcadastro.submit(); 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,6 +32,7 @@ require_once &#39;include/clsBase.inc.php&#39;;
32 require_once 'include/clsCadastro.inc.php'; 32 require_once 'include/clsCadastro.inc.php';
33 require_once 'include/clsBanco.inc.php'; 33 require_once 'include/clsBanco.inc.php';
34 require_once 'include/pmieducar/geral.inc.php'; 34 require_once 'include/pmieducar/geral.inc.php';
  35 +require_once 'lib/Portabilis/Date/Utils.php';
35 36
36 /** 37 /**
37 * clsIndexBase class. 38 * clsIndexBase class.
@@ -83,6 +84,7 @@ class indice extends clsCadastro @@ -83,6 +84,7 @@ class indice extends clsCadastro
83 84
84 var $matriculas_turma; 85 var $matriculas_turma;
85 var $incluir_matricula; 86 var $incluir_matricula;
  87 + var $data_enturmacao;
86 88
87 function Inicializar() 89 function Inicializar()
88 { 90 {
@@ -263,6 +265,7 @@ class indice extends clsCadastro @@ -263,6 +265,7 @@ class indice extends clsCadastro
263 } 265 }
264 266
265 if (count($opcoes)) { 267 if (count($opcoes)) {
  268 + $this->inputsHelper()->date('data_enturmacao', array('label' => 'Data da enturmação', 'value' => date('Y-m-d')));
266 asort($opcoes); 269 asort($opcoes);
267 foreach ($opcoes as $key => $aluno) { 270 foreach ($opcoes as $key => $aluno) {
268 $this->campoCheck('ref_cod_matricula[' . $key . ']', 'Aluno', $key, 271 $this->campoCheck('ref_cod_matricula[' . $key . ']', 'Aluno', $key,
@@ -286,6 +289,7 @@ class indice extends clsCadastro @@ -286,6 +289,7 @@ class indice extends clsCadastro
286 { 289 {
287 @session_start(); 290 @session_start();
288 $this->pessoa_logada = $_SESSION['id_pessoa']; 291 $this->pessoa_logada = $_SESSION['id_pessoa'];
  292 + $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao);
289 @session_write_close(); 293 @session_write_close();
290 294
291 if ($this->matriculas_turma) { 295 if ($this->matriculas_turma) {
@@ -296,6 +300,7 @@ class indice extends clsCadastro @@ -296,6 +300,7 @@ class indice extends clsCadastro
296 $existe = $obj->existe(); 300 $existe = $obj->existe();
297 301
298 if (!$existe) { 302 if (!$existe) {
  303 + $obj->data_enturmacao = $this->data_enturmacao;
299 $cadastrou = $obj->cadastra(); 304 $cadastrou = $obj->cadastra();
300 305
301 if (!$cadastrou) { 306 if (!$cadastrou) {
ieducar/intranet/include/pmieducar/clsPmieducarMatriculaTurma.inc.php
@@ -108,13 +108,13 @@ class clsPmieducarMatriculaTurma @@ -108,13 +108,13 @@ class clsPmieducarMatriculaTurma
108 function clsPmieducarMatriculaTurma($ref_cod_matricula = NULL, 108 function clsPmieducarMatriculaTurma($ref_cod_matricula = NULL,
109 $ref_cod_turma = NULL, $ref_usuario_exc = NULL, $ref_usuario_cad = NULL, 109 $ref_cod_turma = NULL, $ref_usuario_exc = NULL, $ref_usuario_cad = NULL,
110 $data_cadastro = NULL, $data_exclusao = NULL, $ativo = NULL, 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 $db = new clsBanco(); 113 $db = new clsBanco();
114 $this->_schema = "pmieducar."; 114 $this->_schema = "pmieducar.";
115 $this->_tabela = "{$this->_schema}matricula_turma"; 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 if (is_numeric($ref_usuario_exc)) { 119 if (is_numeric($ref_usuario_exc)) {
120 if (class_exists("clsPmieducarUsuario")) { 120 if (class_exists("clsPmieducarUsuario")) {
@@ -237,6 +237,10 @@ class clsPmieducarMatriculaTurma @@ -237,6 +237,10 @@ class clsPmieducarMatriculaTurma
237 if (is_numeric($sequencial)) { 237 if (is_numeric($sequencial)) {
238 $this->sequencial = $sequencial; 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,6 +290,12 @@ class clsPmieducarMatriculaTurma
286 $valores .= "{$gruda}'1'"; 290 $valores .= "{$gruda}'1'";
287 $gruda = ", "; 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 $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); 299 $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)");
290 300
291 return TRUE; 301 return TRUE;
@@ -333,6 +343,11 @@ class clsPmieducarMatriculaTurma @@ -333,6 +343,11 @@ class clsPmieducarMatriculaTurma
333 $gruda = ", "; 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 if ($set) { 351 if ($set) {
337 $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' "); 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 return TRUE; 353 return TRUE;
ieducar/misc/database/deltas/portabilis/67_cria_coluna_data_enturmacao.sql 0 → 100644
@@ -0,0 +1,43 @@ @@ -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 \ No newline at end of file 44 \ No newline at end of file