From fc291533558330f95e792ee6ff02b770000e0e8b Mon Sep 17 00:00:00 2001 From: Caroline Salib Date: Tue, 25 Aug 2015 14:17:56 -0300 Subject: [PATCH] Adicionado campo SUS no cadastro de pessoa física; Portabilis/ieducar#147 --- ieducar/intranet/atendidos_cad.php | 18 ++++++++++++++++-- ieducar/intranet/educar_aluno_det.php | 4 ++++ ieducar/intranet/include/pessoa/clsFisica.inc.php | 14 +++++++++++++- ieducar/intranet/include/pessoa/clsPessoaFisica.inc.php | 1 + ieducar/misc/database/deltas/portabilis/73_cria_campo_sus_fisica_documento.sql | 16 ++++++++++++++++ ieducar/modules/Api/Views/AlunoController.php | 13 +++++++++++++ ieducar/modules/Cadastro/Assets/Javascripts/Aluno.js | 8 +++++--- ieducar/modules/Cadastro/Views/AlunoController.php | 4 ++++ 8 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 ieducar/misc/database/deltas/portabilis/73_cria_campo_sus_fisica_documento.sql diff --git a/ieducar/intranet/atendidos_cad.php b/ieducar/intranet/atendidos_cad.php index de40c01..53395e0 100755 --- a/ieducar/intranet/atendidos_cad.php +++ b/ieducar/intranet/atendidos_cad.php @@ -108,6 +108,7 @@ class indice extends clsCadastro var $retorno; var $zona_localizacao; var $cor_raca; + var $sus; var $caminho_det; var $caminho_lst; @@ -134,7 +135,7 @@ class indice extends clsCadastro $this->idtlog, $this->sigla_uf, $this->complemento, $this->numero, $this->bloco, $this->apartamento, $this->andar, $this->zona_localizacao, $this->estado_civil, $this->pai_id, $this->mae_id, $this->tipo_nacionalidade, $this->pais_origem, $this->naturalidade, - $this->letra + $this->letra, $this->sus ) = $objPessoa->queryRapida( @@ -143,7 +144,7 @@ class indice extends clsCadastro 'tipo', 'sexo', 'cidade', 'bairro', 'logradouro', 'cep', 'idlog', 'idbai', 'idtlog', 'sigla_uf', 'complemento', 'numero', 'bloco', 'apartamento', 'andar', 'zona_localizacao', 'ideciv', 'idpes_pai', 'idpes_mae', 'nacionalidade', - 'idpais_estrangeiro', 'idmun_nascimento', 'letra' + 'idpais_estrangeiro', 'idmun_nascimento', 'letra', 'sus' ); $this->id_federal = is_numeric($this->id_federal) ? int2CPF($this->id_federal) : ''; @@ -329,6 +330,18 @@ class indice extends clsCadastro $this->inputsHelper()->uf($options, $helperOptions); + // Carteira do SUS + + $options = array( + 'required' => false, + 'label' => 'Número da carteira do SUS', + 'placeholder' => '', + 'value' => $this->sus, + 'max_length' => 20, + 'size' => 20 + ); + + $this->inputsHelper()->text('sus', $options); // tipo de certidao civil @@ -1051,6 +1064,7 @@ class indice extends clsCadastro $fisica->nacionalidade = $_REQUEST['tipo_nacionalidade']; $fisica->idpais_estrangeiro = $_REQUEST['pais_origem_id']; $fisica->idmun_nascimento = $_REQUEST['naturalidade_id']; + $fisica->sus = $this->sus; $sql = "select 1 from cadastro.fisica WHERE idpes = $1 limit 1"; diff --git a/ieducar/intranet/educar_aluno_det.php b/ieducar/intranet/educar_aluno_det.php index 77972b6..1f4db7a 100644 --- a/ieducar/intranet/educar_aluno_det.php +++ b/ieducar/intranet/educar_aluno_det.php @@ -95,6 +95,7 @@ class indice extends clsDetalhe var $nm_pai; var $nm_mae; var $ref_cod_raca; + var $sus; function Gerar() { @@ -180,6 +181,8 @@ class indice extends clsDetalhe $this->idpes_pai = $det_fisica['idpes_pai']; $this->idpes_mae = $det_fisica['idpes_mae']; + $this->sus = $det_fisica['sus']; + $this->nm_pai = $registro['nm_pai']; $this->nm_mae = $registro['nm_mae']; @@ -685,6 +688,7 @@ class indice extends clsDetalhe if (trim($reg['peso'])!='') $this->addDetalhe(array('Peso/kg', $reg['peso'])); if (trim($reg['grupo_sanguineo'])!='') $this->addDetalhe(array('Grupo sanguíneo', $reg['grupo_sanguineo'])); if (trim($reg['fator_rh'])!='') $this->addDetalhe(array('Fator RH', $reg['fator_rh'])); + if (trim($this->sus)!='') $this->addDetalhe(array('Número do cartão do SUS', $this->sus)); $this->addDetalhe(array('Possui alergia a algum medicamento', ($reg['alergia_medicamento'] == 'S' ? 'Sim': 'Não') )); if (trim($reg['desc_alergia_medicamento'])!='') $this->addDetalhe(array('Quais', $reg['desc_alergia_medicamento'])); $this->addDetalhe(array('Possui alergia a algum alimento', ($reg['alergia_alimento'] == 'S' ? 'Sim': 'Não') )); diff --git a/ieducar/intranet/include/pessoa/clsFisica.inc.php b/ieducar/intranet/include/pessoa/clsFisica.inc.php index d709946..09427f4 100755 --- a/ieducar/intranet/include/pessoa/clsFisica.inc.php +++ b/ieducar/intranet/include/pessoa/clsFisica.inc.php @@ -69,6 +69,7 @@ class clsFisica var $ref_cod_sistema; var $cpf; var $ref_cod_religiao; + var $sus; var $tabela; var $schema; @@ -327,6 +328,12 @@ class clsFisica $valores .= ", $this->cpf"; } + if(!empty($this->sus)) + { + $campos .= ", sus"; + $valores .= ", '$this->sus'"; + } + $db->Consulta( "INSERT INTO {$this->schema}.{$this->tabela} (idpes, origem_gravacao, idsis_cad, data_cad, operacao, idpes_cad $campos) VALUES ( '{$this->idpes}', 'M', 17, NOW(), 'I', '$this->idpes_cad' $valores )" ); return true; @@ -477,6 +484,11 @@ class clsFisica $gruda = ", "; } + if($this->sus) { + $set .= "$gruda sus = '{$this->sus}'"; + $gruda = ", "; + } + if(is_numeric($this->ref_cod_sistema) || $this->ref_cod_sistema == "NULL") { $set .= "$gruda ref_cod_sistema = {$this->ref_cod_sistema}"; $gruda = ", "; @@ -790,7 +802,7 @@ class clsFisica if($this->idpes) { $db = new clsBanco(); - $db->Consulta("SELECT idpes, data_nasc, sexo, idpes_mae, idpes_pai, idpes_responsavel, idesco, ideciv, idpes_con, data_uniao, data_obito, nacionalidade, idpais_estrangeiro, data_chegada_brasil, idmun_nascimento, ultima_empresa, idocup, nome_mae, nome_pai, nome_conjuge, nome_responsavel, justificativa_provisorio, cpf , ref_cod_religiao FROM {$this->schema}.{$this->tabela} WHERE idpes = {$this->idpes}"); + $db->Consulta("SELECT idpes, data_nasc, sexo, idpes_mae, idpes_pai, idpes_responsavel, idesco, ideciv, idpes_con, data_uniao, data_obito, nacionalidade, idpais_estrangeiro, data_chegada_brasil, idmun_nascimento, ultima_empresa, idocup, nome_mae, nome_pai, nome_conjuge, nome_responsavel, justificativa_provisorio, cpf , ref_cod_religiao, sus FROM {$this->schema}.{$this->tabela} WHERE idpes = {$this->idpes}"); if( $db->ProximoRegistro() ) { $tupla = $db->Tupla(); diff --git a/ieducar/intranet/include/pessoa/clsPessoaFisica.inc.php b/ieducar/intranet/include/pessoa/clsPessoaFisica.inc.php index 55b954a..5d1ec3c 100755 --- a/ieducar/intranet/include/pessoa/clsPessoaFisica.inc.php +++ b/ieducar/intranet/include/pessoa/clsPessoaFisica.inc.php @@ -296,6 +296,7 @@ class clsPessoaFisica extends clsPessoaFj $this->justificativa_provisorio = $detalhe_fisica['justificativa_provisorio']; $this->cpf = $detalhe_fisica['cpf']; $this->ref_cod_religiao = $detalhe_fisica['ref_cod_religiao']; + $this->sus = $detalhe_fisica['sus']; $tupla['idpes'] = $this->idpes; $tupla[] = & $tupla['idpes']; diff --git a/ieducar/misc/database/deltas/portabilis/73_cria_campo_sus_fisica_documento.sql b/ieducar/misc/database/deltas/portabilis/73_cria_campo_sus_fisica_documento.sql new file mode 100644 index 0000000..bede612 --- /dev/null +++ b/ieducar/misc/database/deltas/portabilis/73_cria_campo_sus_fisica_documento.sql @@ -0,0 +1,16 @@ + -- // + + -- + -- Adiciona campo sus para adicionarem o número da carteira do sus para pessoas + -- + -- @author Lucas Schmoeller da Silva + -- @license @@license@@ + -- @version $Id$ + + ALTER TABLE cadastro.fisica ADD COLUMN sus character varying(20); + + -- //@UNDO + + ALTER TABLE cadastro.fisica DROP COLUMN sus; + + -- // \ No newline at end of file diff --git a/ieducar/modules/Api/Views/AlunoController.php b/ieducar/modules/Api/Views/AlunoController.php index fdb5b46..0da19cf 100644 --- a/ieducar/modules/Api/Views/AlunoController.php +++ b/ieducar/modules/Api/Views/AlunoController.php @@ -246,6 +246,13 @@ class AlunoController extends ApiCoreController return $tipo; } + protected function saveSus($pessoaId){ + + $sus = Portabilis_String_Utils::toLatin1($this->getRequest()->sus); + + $sql = 'update cadastro.fisica set sus = $1 where idpes = $2'; + return $this->fetchPreparedQuery($sql, array($sus, $pessoaId)); + } protected function createOrUpdateTransporte($alunoId) { $tiposTransporte = array( @@ -781,6 +788,8 @@ protected function createOrUpdateUniforme($id) { $aluno = Portabilis_Array_Utils::merge($objMoradia,$aluno); } + $sql = "select sus from cadastro.fisica where idpes = $1"; + $aluno['sus'] = Portabilis_String_Utils::toUtf8($this->fetchPreparedQuery($sql, $aluno['pessoa_id'], false, 'first-field')); return $aluno; } @@ -855,9 +864,11 @@ protected function createOrUpdateUniforme($id) { protected function post() { if ($this->canPost()) { $id = $this->createOrUpdateAluno(); + $pessoaId = $this->getRequest()->pessoa_id; if (is_numeric($id)) { $this->updateResponsavel(); + $this->saveSus($pessoaId); $this->createOrUpdateTransporte($id); $this->createUpdateOrDestroyEducacensoAluno($id); $this->updateDeficiencias(); @@ -876,9 +887,11 @@ protected function createOrUpdateUniforme($id) { protected function put() { $id = $this->getRequest()->id; + $pessoaId = $this->getRequest()->pessoa_id; if ($this->canPut() && $this->createOrUpdateAluno($id)) { $this->updateResponsavel(); + $this->saveSus($pessoaId); $this->createOrUpdateTransporte($id); $this->createUpdateOrDestroyEducacensoAluno($id); $this->updateDeficiencias(); diff --git a/ieducar/modules/Cadastro/Assets/Javascripts/Aluno.js b/ieducar/modules/Cadastro/Assets/Javascripts/Aluno.js index ece64dc..676123f 100644 --- a/ieducar/modules/Cadastro/Assets/Javascripts/Aluno.js +++ b/ieducar/modules/Cadastro/Assets/Javascripts/Aluno.js @@ -95,6 +95,8 @@ resourceOptions.handleGet = function(dataResponse) { CAMPOS DA FICHA MÉDICA ************************************************/ + $j('#sus').val(dataResponse.sus); + //campos checkbox if (dataResponse.alergia_medicamento == 'S'){ $j('#alergia_medicamento').attr('checked',true); @@ -584,7 +586,7 @@ function afterChangePessoa(targetWindow, pessoaId) { $j('#tab2').toggleClass('alunoTab alunoTab-active') $j('.tablecadastro >tbody > tr').each(function(index, row) { if (row.id!='stop'){ - if (index>14 && index<61){ + if (index>14 && index<62){ row.show(); }else if (index>0){ row.hide(); @@ -605,7 +607,7 @@ function afterChangePessoa(targetWindow, pessoaId) { $j('#tab3').toggleClass('alunoTab alunoTab-active') $j('.tablecadastro >tbody > tr').each(function(index, row) { if (row.id!='stop'){ - if (index>60 && index<83){ + if (index>60 && index<84){ row.show(); }else if (index>0){ row.hide(); @@ -623,7 +625,7 @@ function afterChangePessoa(targetWindow, pessoaId) { $j('#tab4').toggleClass('alunoTab alunoTab-active') $j('.tablecadastro >tbody > tr').each(function(index, row) { - if (index<83 && index!=0){ + if (index<84 && index!=0){ row.hide(); }else{ row.show(); diff --git a/ieducar/modules/Cadastro/Views/AlunoController.php b/ieducar/modules/Cadastro/Views/AlunoController.php index 0abb36b..302993f 100644 --- a/ieducar/modules/Cadastro/Views/AlunoController.php +++ b/ieducar/modules/Cadastro/Views/AlunoController.php @@ -449,6 +449,10 @@ class AlunoController extends Portabilis_Controller_Page_EditController $options = array('label' => $this->_getLabel('fator_rh'), 'size' => 5, 'max_length' => 1, 'required' => false, 'placeholder' => '' ); $this->inputsHelper()->text('fator_rh',$options); + // sus + $options = array('label' => $this->_getLabel('sus'), 'size' => 20, 'max_length' => 20, 'required' => false, 'placeholder' => '' ); + $this->inputsHelper()->text('sus',$options); + // alergia_medicamento $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('alergia_medicamento') ), 'required' => false, 'placeholder' => ''); $this->inputsHelper()->checkbox('alergia_medicamento',$options); -- libgit2 0.21.2