Commit ad64726cfec4c83d2cb46cf3f08292bfe2e1a428
1 parent
b32808eb
Exists in
master
Criado controle de fechamento de turma e ordenação
portabilis/ieducar#114
Showing
4 changed files
with
84 additions
and
16 deletions
Show diff stats
ieducar/intranet/educar_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 'Portabilis/String/Utils.php'; | 35 | require_once 'Portabilis/String/Utils.php'; |
36 | +require_once 'lib/Portabilis/Date/Utils.php'; | ||
36 | 37 | ||
37 | /** | 38 | /** |
38 | * clsIndexBase class. | 39 | * clsIndexBase class. |
@@ -85,6 +86,7 @@ class indice extends clsCadastro | @@ -85,6 +86,7 @@ class indice extends clsCadastro | ||
85 | var $hora_final; | 86 | var $hora_final; |
86 | var $hora_inicio_intervalo; | 87 | var $hora_inicio_intervalo; |
87 | var $hora_fim_intervalo; | 88 | var $hora_fim_intervalo; |
89 | + var $data_fechamento; | ||
88 | 90 | ||
89 | var $ref_cod_instituicao; | 91 | var $ref_cod_instituicao; |
90 | var $ref_cod_curso; | 92 | var $ref_cod_curso; |
@@ -319,6 +321,8 @@ class indice extends clsCadastro | @@ -319,6 +321,8 @@ class indice extends clsCadastro | ||
319 | 321 | ||
320 | $this->campoNumero('max_aluno', 'Máximo de Alunos', $this->max_aluno, 3, 3, TRUE); | 322 | $this->campoNumero('max_aluno', 'Máximo de Alunos', $this->max_aluno, 3, 3, TRUE); |
321 | 323 | ||
324 | + $this->inputsHelper()->date('data_fechamento', array('required' => false,'label' => 'Data de fechamento' ,'value' => Portabilis_Date_Utils::pgSQLToBr($this->data_fechamento))); | ||
325 | + | ||
322 | $ativo = isset($this->cod_turma) ? dbBool($this->visivel) : true; | 326 | $ativo = isset($this->cod_turma) ? dbBool($this->visivel) : true; |
323 | $this->campoCheck('visivel', 'Ativo', $ativo); | 327 | $this->campoCheck('visivel', 'Ativo', $ativo); |
324 | 328 | ||
@@ -672,6 +676,8 @@ class indice extends clsCadastro | @@ -672,6 +676,8 @@ class indice extends clsCadastro | ||
672 | $this->pessoa_logada = $_SESSION['id_pessoa']; | 676 | $this->pessoa_logada = $_SESSION['id_pessoa']; |
673 | @session_write_close(); | 677 | @session_write_close(); |
674 | 678 | ||
679 | + $this->data_fechamento = Portabilis_Date_Utils::brToPgSQL($this->data_fechamento); | ||
680 | + | ||
675 | if(! $this->canCreateTurma($this->ref_cod_escola, $this->ref_ref_cod_serie, $this->turma_turno_id)) | 681 | if(! $this->canCreateTurma($this->ref_cod_escola, $this->ref_ref_cod_serie, $this->turma_turno_id)) |
676 | return false; | 682 | return false; |
677 | 683 | ||
@@ -705,7 +711,7 @@ class indice extends clsCadastro | @@ -705,7 +711,7 @@ class indice extends clsCadastro | ||
705 | $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, | 711 | $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, |
706 | $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, | 712 | $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, |
707 | $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, | 713 | $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, |
708 | - $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano); | 714 | + $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano, $this->data_fechamento); |
709 | 715 | ||
710 | $cadastrou = $obj->cadastra(); | 716 | $cadastrou = $obj->cadastra(); |
711 | 717 | ||
@@ -772,7 +778,7 @@ class indice extends clsCadastro | @@ -772,7 +778,7 @@ class indice extends clsCadastro | ||
772 | $this->ref_cod_regente, $this->ref_cod_instituicao_regente, | 778 | $this->ref_cod_regente, $this->ref_cod_instituicao_regente, |
773 | $this->ref_cod_instituicao, $this->ref_cod_curso, | 779 | $this->ref_cod_instituicao, $this->ref_cod_curso, |
774 | $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, $this->visivel, | 780 | $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, $this->visivel, |
775 | - $this->turma_turno_id, $this->tipo_boletim, $this->ano); | 781 | + $this->turma_turno_id, $this->tipo_boletim, $this->ano, $this->data_fechamento); |
776 | 782 | ||
777 | $cadastrou = $obj->cadastra(); | 783 | $cadastrou = $obj->cadastra(); |
778 | 784 | ||
@@ -801,6 +807,8 @@ class indice extends clsCadastro | @@ -801,6 +807,8 @@ class indice extends clsCadastro | ||
801 | $this->pessoa_logada = $_SESSION['id_pessoa']; | 807 | $this->pessoa_logada = $_SESSION['id_pessoa']; |
802 | @session_write_close(); | 808 | @session_write_close(); |
803 | 809 | ||
810 | + $this->data_fechamento = Portabilis_Date_Utils::brToPgSQL($this->data_fechamento); | ||
811 | + | ||
804 | if(is_numeric($this->ano_hidden)) | 812 | if(is_numeric($this->ano_hidden)) |
805 | $this->ano = $this->ano_hidden; | 813 | $this->ano = $this->ano_hidden; |
806 | 814 | ||
@@ -837,7 +845,7 @@ class indice extends clsCadastro | @@ -837,7 +845,7 @@ class indice extends clsCadastro | ||
837 | $this->visivel, | 845 | $this->visivel, |
838 | $this->turma_turno_id, | 846 | $this->turma_turno_id, |
839 | $this->tipo_boletim, | 847 | $this->tipo_boletim, |
840 | - $this->ano); | 848 | + $this->ano, $this->data_fechamento); |
841 | 849 | ||
842 | $editou = $obj->edita(); | 850 | $editou = $obj->edita(); |
843 | 851 | ||
@@ -908,7 +916,7 @@ class indice extends clsCadastro | @@ -908,7 +916,7 @@ class indice extends clsCadastro | ||
908 | $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, | 916 | $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, |
909 | $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, | 917 | $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, |
910 | $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, | 918 | $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, |
911 | - $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano); | 919 | + $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano, $this->data_fechamento); |
912 | 920 | ||
913 | $editou = $obj->edita(); | 921 | $editou = $obj->edita(); |
914 | } | 922 | } |
ieducar/intranet/include/pmieducar/clsPmieducarMatriculaTurma.inc.php
@@ -51,6 +51,7 @@ class clsPmieducarMatriculaTurma | @@ -51,6 +51,7 @@ class clsPmieducarMatriculaTurma | ||
51 | var $ativo; | 51 | var $ativo; |
52 | var $ref_cod_turma_transf; | 52 | var $ref_cod_turma_transf; |
53 | var $sequencial; | 53 | var $sequencial; |
54 | + var $sequencial_fechamento; | ||
54 | 55 | ||
55 | /** | 56 | /** |
56 | * Armazena o total de resultados obtidos na última chamada ao método lista(). | 57 | * Armazena o total de resultados obtidos na última chamada ao método lista(). |
@@ -294,6 +295,14 @@ class clsPmieducarMatriculaTurma | @@ -294,6 +295,14 @@ class clsPmieducarMatriculaTurma | ||
294 | $campos .= "{$gruda}data_enturmacao"; | 295 | $campos .= "{$gruda}data_enturmacao"; |
295 | $valores .= "{$gruda}'{$this->data_enturmacao}'"; | 296 | $valores .= "{$gruda}'{$this->data_enturmacao}'"; |
296 | $gruda = ", "; | 297 | $gruda = ", "; |
298 | + } | ||
299 | + | ||
300 | + $this->sequencial_fechamento = $this->getSequencialFechamento($this->ref_cod_matricula, $this->ref_cod_turma, $this->data_enturmacao); | ||
301 | + | ||
302 | + if(is_numeric($this->sequencial_fechamento)){ | ||
303 | + $campos .= "{$gruda}sequencial_fechamento"; | ||
304 | + $valores .= "{$gruda}'{$this->sequencial_fechamento}'"; | ||
305 | + $gruda = ", "; | ||
297 | } | 306 | } |
298 | 307 | ||
299 | $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); | 308 | $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); |
@@ -1269,4 +1278,15 @@ class clsPmieducarMatriculaTurma | @@ -1269,4 +1278,15 @@ class clsPmieducarMatriculaTurma | ||
1269 | 1278 | ||
1270 | return FALSE; | 1279 | return FALSE; |
1271 | } | 1280 | } |
1281 | + function getSequencialFechamento($matriculaId, $turmaId, $dataEnturmacao){ | ||
1282 | + $db = new clsBanco(); | ||
1283 | + $possui_fechamento = $db->CampoUnico("SELECT data_fechamento FROM pmieducar.turma WHERE cod_turma = {$turmaId}"); | ||
1284 | + if (is_string($possui_fechamento)){ | ||
1285 | + if (strtotime($possui_fechamento) < strtotime($dataEnturmacao)) | ||
1286 | + return $db->CampoUnico("SELECT MAX(sequencial_fechamento)+1 FROM {$this->_tabela} where ref_cod_turma = {$turmaId}"); | ||
1287 | + else | ||
1288 | + return 0; | ||
1289 | + }else | ||
1290 | + return 0; | ||
1291 | + } | ||
1272 | } | 1292 | } |
ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php
@@ -54,14 +54,15 @@ class clsPmieducarTurma | @@ -54,14 +54,15 @@ class clsPmieducarTurma | ||
54 | var $hora_fim_intervalo; | 54 | var $hora_fim_intervalo; |
55 | 55 | ||
56 | var $ref_cod_regente; | 56 | var $ref_cod_regente; |
57 | - var $ref_cod_instituicao_regente; | 57 | + var $ref_cod_instituicao_regente; |
58 | 58 | ||
59 | - var $ref_cod_instituicao; | ||
60 | - var $ref_cod_curso; | 59 | + var $ref_cod_instituicao; |
60 | + var $ref_cod_curso; | ||
61 | 61 | ||
62 | - var $ref_ref_cod_serie_mult; | ||
63 | - var $ref_ref_cod_escola_mult; | ||
64 | - var $visivel; | 62 | + var $ref_ref_cod_serie_mult; |
63 | + var $ref_ref_cod_escola_mult; | ||
64 | + var $visivel; | ||
65 | + var $data_fechamento; | ||
65 | // propriedades padrao | 66 | // propriedades padrao |
66 | 67 | ||
67 | /** | 68 | /** |
@@ -126,13 +127,13 @@ class clsPmieducarTurma | @@ -126,13 +127,13 @@ class clsPmieducarTurma | ||
126 | * | 127 | * |
127 | * @return object | 128 | * @return object |
128 | */ | 129 | */ |
129 | - function clsPmieducarTurma( $cod_turma = null, $ref_usuario_exc = null, $ref_usuario_cad = null, $ref_ref_cod_serie = null, $ref_ref_cod_escola = null, $ref_cod_infra_predio_comodo = null, $nm_turma = null, $sgl_turma = null, $max_aluno = null, $multiseriada = null, $data_cadastro = null, $data_exclusao = null, $ativo = null, $ref_cod_turma_tipo = null, $hora_inicial = null, $hora_final = null, $hora_inicio_intervalo = null, $hora_fim_intervalo = null, $ref_cod_regente = null, $ref_cod_instituicao_regente = null, $ref_cod_instituicao = null, $ref_cod_curso = null, $ref_ref_cod_serie_mult = null, $ref_ref_cod_escola_mult = null, $visivel = null, $turma_turno_id = null, $tipo_boletim = null, $ano = null) | ||
130 | - { | 130 | + function clsPmieducarTurma( $cod_turma = null, $ref_usuario_exc = null, $ref_usuario_cad = null, $ref_ref_cod_serie = null, $ref_ref_cod_escola = null, $ref_cod_infra_predio_comodo = null, $nm_turma = null, $sgl_turma = null, $max_aluno = null, $multiseriada = null, $data_cadastro = null, $data_exclusao = null, $ativo = null, $ref_cod_turma_tipo = null, $hora_inicial = null, $hora_final = null, $hora_inicio_intervalo = null, $hora_fim_intervalo = null, $ref_cod_regente = null, $ref_cod_instituicao_regente = null, $ref_cod_instituicao = null, $ref_cod_curso = null, $ref_ref_cod_serie_mult = null, $ref_ref_cod_escola_mult = null, $visivel = null, $turma_turno_id = null, $tipo_boletim = null, $ano = null, $data_fechamento = NULL) |
131 | + { | ||
131 | $db = new clsBanco(); | 132 | $db = new clsBanco(); |
132 | $this->_schema = "pmieducar."; | 133 | $this->_schema = "pmieducar."; |
133 | $this->_tabela = "{$this->_schema}turma"; | 134 | $this->_tabela = "{$this->_schema}turma"; |
134 | 135 | ||
135 | - $this->_campos_lista = $this->_todos_campos = "t.cod_turma, t.ref_usuario_exc, t.ref_usuario_cad, t.ref_ref_cod_serie, t.ref_ref_cod_escola, t.ref_cod_infra_predio_comodo, t.nm_turma, t.sgl_turma, t.max_aluno, t.multiseriada, t.data_cadastro, t.data_exclusao, t.ativo, t.ref_cod_turma_tipo, t.hora_inicial, t.hora_final, t.hora_inicio_intervalo, t.hora_fim_intervalo, t.ref_cod_regente, t.ref_cod_instituicao_regente,t.ref_cod_instituicao, t.ref_cod_curso, t.ref_ref_cod_serie_mult, t.ref_ref_cod_escola_mult, t.visivel, t.turma_turno_id, t.tipo_boletim, t.ano"; | 136 | + $this->_campos_lista = $this->_todos_campos = "t.cod_turma, t.ref_usuario_exc, t.ref_usuario_cad, t.ref_ref_cod_serie, t.ref_ref_cod_escola, t.ref_cod_infra_predio_comodo, t.nm_turma, t.sgl_turma, t.max_aluno, t.multiseriada, t.data_cadastro, t.data_exclusao, t.ativo, t.ref_cod_turma_tipo, t.hora_inicial, t.hora_final, t.hora_inicio_intervalo, t.hora_fim_intervalo, t.ref_cod_regente, t.ref_cod_instituicao_regente,t.ref_cod_instituicao, t.ref_cod_curso, t.ref_ref_cod_serie_mult, t.ref_ref_cod_escola_mult, t.visivel, t.turma_turno_id, t.tipo_boletim, t.ano, t.data_fechamento "; |
136 | 137 | ||
137 | if( is_numeric( $ref_cod_turma_tipo ) ) | 138 | if( is_numeric( $ref_cod_turma_tipo ) ) |
138 | { | 139 | { |
@@ -453,9 +454,10 @@ class clsPmieducarTurma | @@ -453,9 +454,10 @@ class clsPmieducarTurma | ||
453 | $this->visivel = dbBool($visivel); | 454 | $this->visivel = dbBool($visivel); |
454 | } | 455 | } |
455 | 456 | ||
456 | - $this->turma_turno_id = $turma_turno_id; | ||
457 | - $this->tipo_boletim = $tipo_boletim; | ||
458 | - $this->ano = $ano; | 457 | + $this->turma_turno_id = $turma_turno_id; |
458 | + $this->tipo_boletim = $tipo_boletim; | ||
459 | + $this->ano = $ano; | ||
460 | + $this->data_fechamento = $data_fechamento; | ||
459 | } | 461 | } |
460 | 462 | ||
461 | /** | 463 | /** |
@@ -616,6 +618,12 @@ class clsPmieducarTurma | @@ -616,6 +618,12 @@ class clsPmieducarTurma | ||
616 | $gruda = ", "; | 618 | $gruda = ", "; |
617 | } | 619 | } |
618 | 620 | ||
621 | + if(is_string($this->data_fechamento) && $this->data_fechamento!=''){ | ||
622 | + $campos .= "{$gruda}data_fechamento"; | ||
623 | + $valores .= "{$gruda}'{$this->data_fechamento}'"; | ||
624 | + $gruda = ", "; | ||
625 | + } | ||
626 | + | ||
619 | $db->Consulta( "INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )" ); | 627 | $db->Consulta( "INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )" ); |
620 | return $db->InsertId( "{$this->_tabela}_cod_turma_seq"); | 628 | return $db->InsertId( "{$this->_tabela}_cod_turma_seq"); |
621 | } | 629 | } |
@@ -801,6 +809,15 @@ class clsPmieducarTurma | @@ -801,6 +809,15 @@ class clsPmieducarTurma | ||
801 | $gruda = ", "; | 809 | $gruda = ", "; |
802 | } | 810 | } |
803 | 811 | ||
812 | + if(is_string($this->data_fechamento) && $this->data_fechamento!='') { | ||
813 | + $set .= "{$gruda}data_fechamento = '{$this->data_fechamento}'"; | ||
814 | + $gruda = ", "; | ||
815 | + } | ||
816 | + else { | ||
817 | + $set .= "{$gruda}data_fechamento = NULL"; | ||
818 | + $gruda = ", "; | ||
819 | + } | ||
820 | + | ||
804 | if( $set ) | 821 | if( $set ) |
805 | { | 822 | { |
806 | $db->Consulta( "UPDATE {$this->_tabela} SET $set WHERE cod_turma = '{$this->cod_turma}'" ); | 823 | $db->Consulta( "UPDATE {$this->_tabela} SET $set WHERE cod_turma = '{$this->cod_turma}'" ); |
ieducar/misc/database/deltas/portabilis/68_cria_processo_fechamento_turma.sql
0 → 100644
@@ -0,0 +1,23 @@ | @@ -0,0 +1,23 @@ | ||
1 | + -- // | ||
2 | + | ||
3 | + -- | ||
4 | + -- Cria coluna para data de enturmação | ||
5 | + -- | ||
6 | + -- @author Lucas Schmoeller da Silva <lucas@portabilis.com.br> | ||
7 | + -- @license @@license@@ | ||
8 | + -- @version $Id$ | ||
9 | + | ||
10 | + ALTER TABLE pmieducar.matricula_turma ALTER COLUMN data_enturmacao SET NOT NULL; | ||
11 | + | ||
12 | + ALTER TABLE pmieducar.matricula_turma | ||
13 | + add COLUMN sequencial_fechamento INTEGER NOT NULL default 0; | ||
14 | + | ||
15 | + ALTER TABLE pmieducar.turma | ||
16 | + add COLUMN data_fechamento date; | ||
17 | + | ||
18 | + -- //@UNDO | ||
19 | + | ||
20 | + ALTER TABLE pmieducar.matricula_turma DROP COLUMN sequencial_fechamento; | ||
21 | + ALTER TABLE pmieducar.turma DROP COLUMN data_fechamento; | ||
22 | + | ||
23 | + -- // | ||
0 | \ No newline at end of file | 24 | \ No newline at end of file |