Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * classe RegistroForm
- * Cadastro de Modulo: Contem o formularo
- */
- include_once 'app.library/funcdate.php';
- class RegistroForm extends TPage {
- private $form; // formulario de cadastro
- /*
- * metodo construtor
- * Cria a pagina do formulario
- */
- public function __construct() {
- parent::__construct();
- // instancia um formulario
- $this->form = new TForm('form_Modulo');
- $this->form->setAction('RegistroForm');
- // instancia uma tabela
- $panel = new TPanelForm(900, 500);
- // adiciona a tabela ao formulario
- $this->form->add($panel);
- // cria um r�tulo para o t�tulo
- $titulo = new TLabel('Cadastro de Registro');
- $titulo->setFontFace('Arial');
- $titulo->setFontColor('red');
- $titulo->setFontSize(16);
- // cria os campos do formulario
- $codigo = new TEntry('id');
- $codigo->setEditable(false);
- $numerobo = new TEntry('numerobo');
- $delegacia_id = new TCombo('delegacia_id');
- // $delegacia_id->setValue($_SESSION['delegacia_id']);
- $numero_procedimento = new TEntry('numero_procedimento');
- $mes_procedimento = new TCombo('mes_procedimento');
- $ano_procedimento = new TEntry('ano_procedimento');
- $datainstauracao = new TDate('datainstauracao');
- $datafato = new TDate('datafato');
- $localfato = new TEntry('localfato');
- //obs tirar duvida deste campo para abrir outra tela
- $vitima = new TEntry('vitima');
- $numerovitimas = new TEntry('numerovitimas');
- $sexovitima = new TCombo('sexovitima');
- //obs tirar duvida deste campo para abrir outra tela
- $acusado = new TEntry('acusado');
- $numeroacusados = new TEntry('numeroacusados');
- $sexoacusados = new TCombo('sexoacusado');
- $tipopenal_id = new TSelect('tipopenal_id');
- $naturezatipopenal = new TCombo('naturezatipopenal');
- $apreensao = new TCombo('apreensao');
- $laudo = new TCombo('laudo');
- $situacao = new TEntry('situacao');
- $tipoprocedimento_id = new TCombo('tipoprocedimento_id');
- $subtipoprocedimento = new TCombo('subtipoprocedimento');
- $bairro = new TEntry('bairro');
- $pontoreferencia = new TEntry('pontoreferencia');
- $municipio_id = new TCombo('municipio_id');
- $numeroguiaiml = new TEntry('numeroguiaiml');
- $numerolaudoiml = new TEntry('numerolaudoiml');
- $numlaudocriminalistica = new TEntry('numerolaudocriminalistica');
- $numguiacriminalistica = new TEntry('numeroguiacriminalistica');
- $remessaautoriadefinida = new TCombo('remessaautoriadefinida');
- $usuarioalteracao = new THidden('usuarioalteracao');
- $dataalteracao = new THidden('dataalteracao');
- // define os tamanhos dos campos
- $codigo->setSize(40);
- $numerobo->setSize(200);
- $delegacia_id->setSize(450);
- $numero_procedimento->setSize(200);
- $mes_procedimento->setSize(50);
- $ano_procedimento->setSize(50);
- $datainstauracao->setSize(80);
- $datafato->setSize(80);
- $localfato->setSize(300);
- $vitima->setSize(300);
- $numerovitimas->setSize(80);
- $sexovitima->setSize(120);
- $acusado->setSize(300);
- $numeroacusados->setSize(80);
- $sexoacusados->setSize(120);
- $tipopenal_id->setSize(450);
- $tipopenal_id->setHeight(95);
- $apreensao->setSize(70);
- $laudo->setSize(70);
- $situacao->setSize(300);
- $bairro->setSize(300);
- $pontoreferencia->setSize(300);
- $municipio_id->setSize(300);
- $numeroguiaiml->setSize(100);
- $numerolaudoiml->setSize(100);
- $numlaudocriminalistica->setSize(100);
- $numguiacriminalistica->setSize(100);
- $remessaautoriadefinida->setSize(200);
- $ano_procedimento->setValue(date('Y'));
- //campos obrigatorios
- $numerobo->setProperty('required', 'required');
- $numero_procedimento->setProperty('required', 'required');
- $datafato->setProperty('required', 'required');
- $localfato->setProperty('required', 'required');
- $bairro->setProperty('required', 'required');
- $vitima->setProperty('required', 'required');
- $sexovitima->setProperty('required', 'required');
- // $acusado->setProperty('required', 'required');
- $laudo->setProperty('required', 'required');
- $remessaautoriadefinida->setProperty('required', 'required');
- $numerobo->setProperty('placeholder', 'Preencha com o número do BO');
- $vitima->setProperty('placeholder', 'Preencha com o nome da primeira vítima');
- $acusado->setProperty('placeholder', 'Preencha com o nome do primeiro acusado');
- //cria a colecao da tabela estrangeira
- // inicia transacao com o banco 'pg_ceres'
- TTransaction::open('pg_ceres');
- $delegacia = new DelegaciaRecord($_SESSION['delegacia_id']);
- $nome_delegacia = new TLabel($delegacia->nome . ' - ' . $delegacia->nome_regional . ' - ' . $delegacia->nome_municipio);
- //cria a colecao da tabela estrangeira
- // inicia transacao com o banco 'pg_ceres'
- TTransaction::open('pg_ceres');
- // instancia objeto da Classe Record
- $repository = new TRepository('Delegacia');
- // cria um criterio de selecao, ordenado pelo id
- $criteria = new TCriteria;
- $criteria->setProperty('order', 'nome, regional_id, municipio_id');
- // carrega os objetos de acordo com o criterio
- $cadastros = $repository->load($criteria);
- //adiciona os objetos no combo
- foreach ($cadastros as $object) {
- $items[$object->id] = $object->nome . ' - ' . $object->nome_regional . ' - ' . $object->nome_municipio;
- }
- // adiciona as opcoes na combo
- $delegacia_id->addItems($items);
- $delegacia_id->setValue($_SESSION['delegacia_id']);
- // finaliza a transacao
- TTransaction::close();
- //cria a colecao da tabela estrangeira
- // inicia transacao com o banco 'pg_ceres'
- TTransaction::open('pg_ceres');
- // instancia objeto da Classe Record
- $repository1 = new TRepository('TipoProcedimento');
- // cria um criterio de selecao, ordenado pelo id
- $criteria1 = new TCriteria;
- $criteria1->setProperty('order', 'nome');
- // carrega os objetos de acordo com o criterio
- $cadastros1 = $repository1->load($criteria1);
- //adiciona os objetos no combo
- foreach ($cadastros1 as $object1) {
- $items1[$object1->id] = $object1->nome;
- }
- // adiciona as opcoes na combo
- $tipoprocedimento_id->addItems($items1);
- // finaliza a transacao
- TTransaction::close();
- //cria a colecao da tabela estrangeira
- // inicia transacao com o banco 'pg_ceres'
- TTransaction::open('pg_ceres');
- // instancia objeto da Classe Record
- $repository2 = new TRepository('TipoPenal');
- // cria um criterio de selecao, ordenado pelo id
- $criteria2 = new TCriteria;
- $criteria2->setProperty('order', 'nome');
- // carrega os objetos de acordo com o criterio
- $cadastros2 = $repository2->load($criteria2);
- //adiciona os objetos no combo
- foreach ($cadastros2 as $object2) {
- $items2[$object2->id] = $object2->nome;
- }
- // adiciona as opcoes na combo
- $tipopenal_id->addItems($items2);
- // finaliza a transacao
- TTransaction::close();
- //cria a colecao da tabela estrangeira
- // inicia transacao com o banco 'pg_ceres'
- TTransaction::open('pg_ceres');
- // instancia objeto da Classe Record
- $repository3 = new TRepository('Municipio');
- // cria um criterio de selecao, ordenado pelo id
- $criteria3 = new TCriteria;
- $criteria3->setProperty('order', 'nome');
- // carrega os objetos de acordo com o criterio
- $cadastros3 = $repository3->load($criteria3);
- //adiciona os objetos no combo
- foreach ($cadastros3 as $object3) {
- $items3[$object3->id] = $object3->nome;
- }
- // adiciona as opcoes na combo
- $municipio_id->addItems($items3);
- // finaliza a transacao
- TTransaction::close();
- $items3 = array();
- $items3['M'] = "MASCULINO";
- $items3['F'] = "FEMININO";
- $sexovitima->addItems($items3);
- $sexovitima->setValue('M');
- $sexoacusados->addItems($items3);
- $sexoacusados->setValue('M');
- $items5 = array();
- $items5['SIM'] = "SIM";
- $items5['NAO'] = "NÃO";
- $apreensao->addItems($items5);
- $apreensao->setValue('NAO');
- $laudo->addItems($items5);
- $laudo->setValue('NAO');
- $items6 = array();
- $items6['CONHECIDA'] = "CONHECIDA";
- $items6['DESCONHECIDA'] = "DESCONHECIDA";
- $remessaautoriadefinida->addItems($items6);
- $remessaautoriadefinida->setValue('DESCONHECIDA');
- $items7 = array();
- $items7['FLAGRANTE'] = "FLAGRANTE";
- $items7['NAO FLAGRANTE'] = "NAO FLAGRANTE";
- $items7['PORTARIA'] = "PORTARIA";
- $subtipoprocedimento->addItems($items7);
- $subtipoprocedimento->setValue('PORTARIA');
- $items4 = array();
- $items4['1'] = "1";
- $items4['2'] = "2";
- $items4['3'] = "3";
- $items4['4'] = "4";
- $items4['5'] = "5";
- $items4['6'] = "6";
- $items4['7'] = "7";
- $items4['8'] = "8";
- $items4['9'] = "9";
- $items4['10'] = "10";
- $items4['11'] = "11";
- $items4['12'] = "12";
- $mes_procedimento->addItems($items4);
- // $mes_procedimento->setValue(date('M'));
- $items8 = array();
- $items8['TENTADO'] = "TENTADO";
- $items8['CONSUMADO'] = "CONSUMADO";
- $naturezatipopenal->addItems($items8);
- $naturezatipopenal->setValue('CONSUMADO');
- // adiciona o campo Titulo
- $panel->put($titulo, $panel->getColuna(), $panel->getLinha());
- // adiciona o campo Codigo
- $panel->putCampo($codigo, 'Código', 25, 1);
- // adiciona o usuario
- $panel->putCampo($usuarioalteracao, null, 0, 0);
- $panel->putCampo($dataalteracao, null, 0, 0);
- // adiciona o campo Delegacia atual
- $panel->putCampo($nome_delegacia, 'Delegacia atual', 25, 1);
- // adiciona o campo Delegacia destino
- $panel->putCampo($delegacia_id, 'Delegacia destino', 25, 1);
- // adiciona o campo Nº Procedimento
- $panel->putCampo($numero_procedimento, 'Nº Procedimento', 25, 1);
- // adiciona o campo Nº Procedimento
- $panel->putCampo($mes_procedimento, 'Mes', 25, 1);
- // adiciona o campo Nº Procedimento
- $panel->putCampo($ano_procedimento, 'Ano', 25, 1);
- // adiciona o campo Tipo Procedimento
- $panel->putCampo($tipoprocedimento_id, 'Tipo Procedimento', 25, 1);
- // adiciona o campo subtipoprocedimento
- $panel->putCampo($subtipoprocedimento, 'Subtipo Proc.', 25, 1);
- // adiciona o campo Data Procedimento
- $panel->putCampo($datainstauracao, 'Data Instauração', 25, 1);
- $image = new TImage('app.images/ew_calendar.gif');
- $image->__set('alt', 'Selecione uma data');
- $image->__set('style', 'cursor:pointer;');
- $image->__set('id', 'cxdatainstauracao');
- $panel->putCampo($image, null, 105, 0);
- $script = new TScriptCalendar('scriptCalendar', 'datainstauracao', 'cxdatainstauracao');
- $panel->putCampo($script, null, 105, 0);
- // adiciona o campo Data Fato
- $panel->putCampo($datafato, 'Data Fato', 25, 1);
- $image = new TImage('app.images/ew_calendar.gif');
- $image->__set('alt', 'Selecione uma data');
- $image->__set('style', 'cursor:pointer;');
- $image->__set('id', 'cxdatafato');
- $panel->putCampo($image, null, 105, 0);
- $script = new TScriptCalendar('scriptCalendar', 'datafato', 'cxdatafato');
- $panel->putCampo($script, null, 105, 0);
- // adiciona o campo Tipo Penal
- $panel->putCampo($tipopenal_id, 'Tipo Penal', 25, 1);
- // adiciona o campo Tipo Penal
- $panel->putCampo(null, null, 25, 1);
- $panel->putCampo(null, null, 25, 1);
- $panel->putCampo(null, null, 25, 1);
- // adiciona o campo Natureza Tipo Penal
- $panel->putCampo($naturezatipopenal, 'Natureza Tipo Penal', 25, 1);
- // adiciona o campo Local Fato
- $panel->putCampo($localfato, 'Local Fato', 25, 1);
- // adiciona o campo bairro
- $panel->putCampo($bairro, 'Bairro', 25, 1);
- // adiciona o campo Ponto Referencia
- $panel->putCampo($pontoreferencia, 'Ponto Referência', 25, 1);
- // adiciona o campo Municipio
- $panel->putCampo($municipio_id, 'Município', 25, 1);
- // adiciona o campo Nome
- $panel->putCampo($numerobo, 'B.O.', 25, 1);
- // adiciona o campo Vitima
- $panel->putCampo($vitima, 'Vitima', 25, 1);
- // adiciona o campo Numero Vitima
- // $panel->putCampo($numerovitimas, 'Nº Vitimas', 25, 1);
- // adiciona o campo Sexo
- $panel->putCampo($sexovitima, 'Sexo', 25, 1);
- // adiciona o campo Acusado
- $panel->putCampo($acusado, 'Acusado', 25, 1);
- // adiciona o campo Nº Acusados
- // $panel->putCampo($numeroacusados, 'Nº Acusados', 25, 1);
- // adiciona o campo Sexo Acusados
- $panel->putCampo($sexoacusados, 'Sexo', 25, 1);
- // adiciona o campo Apreensão
- $panel->putCampo($apreensao, 'Apreensão', 25, 1);
- // adiciona o campo Laudo
- $panel->putCampo($laudo, 'Laudo', 25, 1);
- // adiciona o campo Nº Guia IML
- $panel->putCampo($numeroguiaiml, 'Nº Guia IML', 25, 1);
- // adiciona o campo Nº Laudo IML
- $panel->putCampo($numerolaudoiml, 'Nº Laudo IML', 25, 1);
- // adiciona o campo Nº Laudo Criminalistica
- $panel->putCampo($numguiacriminalistica, 'Nº Guia Crim.', 25, 1);
- // adiciona o campo Nº Laudo Criminalistica
- $panel->putCampo($numlaudocriminalistica, 'Nº Laudo Crim.', 25, 1);
- // adiciona o campo Nº Guia Remessa Autoria
- $panel->putCampo($remessaautoriadefinida, 'Autoria', 25, 1);
- // cria um botao de acao (salvar)
- $save_button = new TButtonSubmit('save');
- $cancel_button = new TButton('cancel');
- // define a acao do botao
- $save_button->setAction(new TAction(array($this, 'onSave')), 'Salvar');
- // prepara o botao para chamar o form anterior
- //$lista = new ModuloList;
- $cancel_button->setAction(new TAction(array('RegistroList', '')), 'Voltar');
- // adiciona a acao do formulario
- $panel->putCampo($save_button, null, -100, 1);
- $panel->putCampo($cancel_button, null, 0, 0);
- // define quais sao os campos do formulario
- $this->form->setFields(array($codigo, $numerobo, $delegacia_id,
- $numero_procedimento, $mes_procedimento, $ano_procedimento,
- $dataalteracao, $datainstauracao, $datafato, $localfato, $vitima,
- $sexovitima, $acusado, $naturezatipopenal, $sexoacusados, $tipopenal_id,
- $apreensao, $laudo, $apreensao, $situacao, $tipoprocedimento_id,
- $bairro, $pontoreferencia, $municipio_id, $numeroguiaiml,
- $numerolaudoiml, $numlaudocriminalistica, $numguiacriminalistica,
- $remessaautoriadefinida, $usuarioalteracao, $save_button, $cancel_button));
- // adiciona a tabela a pagina
- parent::add($this->form);
- }
- /*
- * metodo onSave()
- * Executada quando o usuario clicar no botao salvar do formulario
- */
- function onSave() {
- // inicia transacao com o banco 'pg_ceres'
- TTransaction::open('pg_ceres');
- // obtem os dados no formulario em um objeto CarroRecord
- $cadastro = $this->form->getData('RegistroRecord');
- //lanca o default
- $cadastro->usuarioalteracao = $_SESSION['usuario'];
- $cadastro->dataalteracao = date("d/m/Y H:i:s");
- //antes de armazenar verifica se algum campo eh requerido e nao foi informado
- $dados = $cadastro->toArray();
- $msg = '';
- $icone = 'info';
- if (empty($dados['delegacia_id'])) {
- $msg .= 'A delegacia deve ser informado.';
- }
- if (empty($dados['tipoprocedimento_id'])) {
- $msg .= 'O Tipo do Procedimento deve ser informado.';
- }
- if (empty($dados['subtipoprocedimento'])) {
- $msg .= 'O Sub Tipo do Procedimento deve ser informado.';
- }
- if (empty($dados['tipopenal_id'])) {
- $msg .= 'O Tipo penal deve ser informado.';
- }
- if (empty($dados['naturezatipopenal'])) {
- $msg .= 'O Natureza Tipo penal deve ser informado.';
- }
- if (empty($dados['municipio_id'])) {
- $msg .= 'O municipio deve ser informado.';
- }
- try {
- if ($msg == '') {
- // armazena o objeto
- //verifica se o campo tipopenal tem mais de uma opcao
- if (count($cadastro->tipopenal_id) > 1) {
- //adiciona os objetos no combo
- $tipopenal_id = $cadastro->tipopenal_id;
- //salva o registro com o primeiro valor do array tipopenal
- $cadastro->tipopenal_id = $cadastro->tipopenal_id[0];
- $cadastro->store();
- $cadastro->tipopenal_id = $tipopenal_id;
- // percore os itens do tipopenal e salva em na tb TipoPenalRegistro
- for ($i = 0; $i < count($cadastro->tipopenal_id); $i++) {
- $obj = new TipoPenalRegistroRecord();
- $obj->tipopenal_id = $cadastro->tipopenal_id[$i];
- $obj->registro_id = $cadastro->id;
- //lanca o default
- $obj->usuarioalteracao = $_SESSION['usuario'];
- $obj->dataalteracao = date("d/m/Y H:i:s");
- $obj->store();
- // instanicia objeto Record
- $cadastro = new RegistroRecord($key);
- }
- $msg = 'Dados armazenados com sucesso';
- } else {
- //seta o primeiro valor ao tipo penal
- $cadastro->tipopenal_id = $cadastro->tipopenal_id[0];
- $cadastro->store();
- }
- // finaliza a transacao
- TTransaction::close();
- } else {
- $icone = 'error';
- // lanca os dados no formulario
- $this->form->setData($cadastro);
- }
- if ($icone == 'error') {
- // exibe mensagem de erro
- new TMessage($icone, $msg);
- // lanca os dados no formulario
- $this->form->setData($cadastro);
- } else {
- //chama o formulario com o grid
- msgAlert('RegistroList', '', '', 'sucess');
- }
- } catch (Exception $e) { // em caso de exce��o
- // exibe a mensagem gerada pela exce��o
- new TMessage('error', $e->getMessage());
- // desfaz todas altera��es no banco de dados
- TTransaction::rollback();
- // lanca os dados no formulario
- $this->form->setData($cadastro);
- }
- }
- /*
- * metodo onEdit()
- * Edita os dados de um registro
- */
- function onEdit($param) {
- // obtem o parametro $key
- $key = $param['key'];
- // inicia transacao com o banco 'pg_ceres'
- TTransaction::open('pg_ceres');
- // instancia objeto da Classe Record
- $cadastro = new RegistroRecord($key);
- if ($cadastro->remessaautoriadefinida == '') {
- $cadastro->remessaautoriadefinida = 'DESCONHECIDA';
- }
- // $cadastro->sexovitima = 'MASCULINO';
- // $cadastro->sexoacusados = 'MASCULINO';
- if ($cadastro->situacao == '') {
- $cadastro->situacao = 'EM ANDAMENTO';
- }
- // $tipopenalregistro = new TipoPenalRegistroRecord($)
- // instancia um repositorio da Classe
- $repository = new TRepository('TipoPenalRegistro');
- // cria um criterio de selecao
- $criteria = new TCriteria;
- //filtra pelo campo selecionado pelo usuário
- $criteria->add(new TFilter('registro_id', '=', $key));
- //verifica quantos registros a consulta vai retornar
- $cadastros = $repository->load($criteria);
- if (count($cadastros) > 1) {
- // $cadastro->tipopenal_id = explode(',', $cadastro->tipopenal_id);
- $cadastro->tipopenal_id = array();
- for ($i = 0; $i < count($cadastros); $i++) {
- // percorre os objetos retornados
- $cadastro->tipopenal_id[$i] = $cadastros->tipopenal_id;
- }
- }
- if ($cadastro->laudo == '') {
- $cadastro->laudo = 'NAO';
- }
- if ($cadastro->apreensao == '') {
- $cadastro->apreensao = 'NAO';
- }
- if ($cadastro->delegacia_id == '') {
- $cadastro->delegacia_id = $_SESSION["delegacia_id"];
- }
- // lanca os dados no formulario
- $this->form->setData($cadastro);
- // finaliza a transacao
- TTransaction::close();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement