From e82e740adc6c6b8f79a32e59290fb9df19a3f97d Mon Sep 17 00:00:00 2001 From: Lucas Schmoeller da Silva Date: Mon, 30 Dec 2013 18:54:32 -0200 Subject: [PATCH] #47 #46 Adicionando módulo de transporte escolar --- ieducar/intranet/include/modules/clsModulesEmpresaTransporteEscolar.inc.php | 428 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/include/modules/clsModulesItinerarioTransporteEscolar.inc.php | 540 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/include/modules/clsModulesMotorista.inc.php | 481 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/include/modules/clsModulesPessoaTransporte.inc.php | 529 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/include/modules/clsModulesPontoTransporteEscolar.inc.php | 339 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/include/modules/clsModulesRotaTransporteEscolar.inc.php | 530 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/include/modules/clsModulesTipoVeiculo.inc.php | 341 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/include/modules/clsModulesVeiculo.inc.php | 679 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/ponto_xml.php | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_empresa_det.php | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_empresa_lst.php | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_index.php | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_itinerario_cad.php | 325 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_itinerario_del.php | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_motorista_det.php | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_motorista_lst.php | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_pessoa_det.php | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_pessoa_lst.php | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_ponto_det.php | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_ponto_lst.php | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_rota_det.php | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_rota_lst.php | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_veiculo_det.php | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/transporte_veiculo_lst.php | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchEmpresa.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchMotorista.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPessoaj.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPonto.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchRota.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchVeiculo.php | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/lib/Portabilis/View/Helper/Inputs.php | 37 +++++++++++++++++++++++++++++++++++++ ieducar/misc/database/deltas/portabilis/55_controle_de_empresas_transporte_escolar.sql | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/misc/database/deltas/portabilis/56_controle_das_rotas_transporte_escolar.sql | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/misc/database/deltas/portabilis/57_menus_sql_modulo_transporte_escolar.sql | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Api/Views/EmpresaController.php | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Api/Views/MotoristaController.php | 245 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Api/Views/PessoajController.php | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Api/Views/PessoatransporteController.php | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Api/Views/PontoController.php | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Api/Views/RotaController.php | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Api/Views/VeiculoController.php | 262 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js~ | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Motorista.js | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Pessoatransporte.js | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js | 32 ++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js~ | 37 +++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Rota.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Javascripts/Veiculo.js | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Stylesheets/Empresa.css | 18 ++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css | 15 +++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css~ | 18 ++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Stylesheets/PessoaFisica.css | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Stylesheets/Pessoatransporte.css | 18 ++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Stylesheets/Rota.css | 18 ++++++++++++++++++ ieducar/modules/TransporteEscolar/Assets/Stylesheets/Veiculo.css | 18 ++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/EmpresaController.php | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/ItinerarioController.php | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/MotoristaController.php | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/PessoatransporteController.php | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/PontoController.php | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/ProcessoController.php | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/RotaController.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/TransporteEscolar/Views/VeiculoController.php | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 64 files changed, 10838 insertions(+), 0 deletions(-) create mode 100644 ieducar/intranet/include/modules/clsModulesEmpresaTransporteEscolar.inc.php create mode 100644 ieducar/intranet/include/modules/clsModulesItinerarioTransporteEscolar.inc.php create mode 100644 ieducar/intranet/include/modules/clsModulesMotorista.inc.php create mode 100644 ieducar/intranet/include/modules/clsModulesPessoaTransporte.inc.php create mode 100644 ieducar/intranet/include/modules/clsModulesPontoTransporteEscolar.inc.php create mode 100644 ieducar/intranet/include/modules/clsModulesRotaTransporteEscolar.inc.php create mode 100644 ieducar/intranet/include/modules/clsModulesTipoVeiculo.inc.php create mode 100644 ieducar/intranet/include/modules/clsModulesVeiculo.inc.php create mode 100644 ieducar/intranet/ponto_xml.php create mode 100644 ieducar/intranet/transporte_empresa_det.php create mode 100644 ieducar/intranet/transporte_empresa_lst.php create mode 100644 ieducar/intranet/transporte_index.php create mode 100644 ieducar/intranet/transporte_itinerario_cad.php create mode 100644 ieducar/intranet/transporte_itinerario_del.php create mode 100644 ieducar/intranet/transporte_motorista_det.php create mode 100644 ieducar/intranet/transporte_motorista_lst.php create mode 100644 ieducar/intranet/transporte_pessoa_det.php create mode 100644 ieducar/intranet/transporte_pessoa_lst.php create mode 100644 ieducar/intranet/transporte_ponto_det.php create mode 100644 ieducar/intranet/transporte_ponto_lst.php create mode 100644 ieducar/intranet/transporte_rota_det.php create mode 100644 ieducar/intranet/transporte_rota_lst.php create mode 100644 ieducar/intranet/transporte_veiculo_det.php create mode 100644 ieducar/intranet/transporte_veiculo_lst.php create mode 100644 ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchEmpresa.php create mode 100644 ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchMotorista.php create mode 100644 ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPessoaj.php create mode 100644 ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPonto.php create mode 100644 ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchRota.php create mode 100644 ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchVeiculo.php create mode 100644 ieducar/misc/database/deltas/portabilis/55_controle_de_empresas_transporte_escolar.sql create mode 100644 ieducar/misc/database/deltas/portabilis/56_controle_das_rotas_transporte_escolar.sql create mode 100644 ieducar/misc/database/deltas/portabilis/57_menus_sql_modulo_transporte_escolar.sql create mode 100644 ieducar/modules/Api/Views/EmpresaController.php create mode 100644 ieducar/modules/Api/Views/MotoristaController.php create mode 100644 ieducar/modules/Api/Views/PessoajController.php create mode 100644 ieducar/modules/Api/Views/PessoatransporteController.php create mode 100644 ieducar/modules/Api/Views/PontoController.php create mode 100644 ieducar/modules/Api/Views/RotaController.php create mode 100644 ieducar/modules/Api/Views/VeiculoController.php create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js~ create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Motorista.js create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Pessoatransporte.js create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js~ create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Rota.js create mode 100644 ieducar/modules/TransporteEscolar/Assets/Javascripts/Veiculo.js create mode 100644 ieducar/modules/TransporteEscolar/Assets/Stylesheets/Empresa.css create mode 100644 ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css create mode 100644 ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css~ create mode 100644 ieducar/modules/TransporteEscolar/Assets/Stylesheets/PessoaFisica.css create mode 100644 ieducar/modules/TransporteEscolar/Assets/Stylesheets/Pessoatransporte.css create mode 100644 ieducar/modules/TransporteEscolar/Assets/Stylesheets/Rota.css create mode 100644 ieducar/modules/TransporteEscolar/Assets/Stylesheets/Veiculo.css create mode 100644 ieducar/modules/TransporteEscolar/Views/EmpresaController.php create mode 100644 ieducar/modules/TransporteEscolar/Views/ItinerarioController.php create mode 100644 ieducar/modules/TransporteEscolar/Views/MotoristaController.php create mode 100644 ieducar/modules/TransporteEscolar/Views/PessoatransporteController.php create mode 100644 ieducar/modules/TransporteEscolar/Views/PontoController.php create mode 100644 ieducar/modules/TransporteEscolar/Views/ProcessoController.php create mode 100644 ieducar/modules/TransporteEscolar/Views/RotaController.php create mode 100644 ieducar/modules/TransporteEscolar/Views/VeiculoController.php diff --git a/ieducar/intranet/include/modules/clsModulesEmpresaTransporteEscolar.inc.php b/ieducar/intranet/include/modules/clsModulesEmpresaTransporteEscolar.inc.php new file mode 100644 index 0000000..e8830af --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesEmpresaTransporteEscolar.inc.php @@ -0,0 +1,428 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesEmpresaTransporteEscolar class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesEmpresaTransporteEscolar +{ + var $cod_empresa_transporte_escolar; + var $ref_idpes; + var $ref_resp_idpes; + var $observacao; + + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesEmpresaTransporteEscolar($cod_empresa_transporte_escolar = NULL, + $ref_idpes = NULL, $ref_resp_idpes = NULL, + $observacao = NULL) + { + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}empresa_transporte_escolar"; + + $this->_campos_lista = $this->_todos_campos = " cod_empresa_transporte_escolar, ref_idpes, ref_resp_idpes, observacao "; + + + + if (is_numeric($cod_empresa_transporte_escolar)) { + $this->cod_empresa_transporte_escolar = $cod_empresa_transporte_escolar; + } + + if (is_numeric($ref_idpes)) { + $this->ref_idpes = $ref_idpes; + } + + if (is_numeric($ref_resp_idpes)) { + $this->ref_resp_idpes = $ref_resp_idpes; + } + + if (is_string($observacao)) { + $this->observacao = $observacao; + } + + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + if (is_numeric($this->ref_idpes) && is_numeric($this->ref_resp_idpes)) + { + $db = new clsBanco(); + + $campos = ''; + $valores = ''; + $gruda = ''; + + if (is_numeric($this->ref_idpes)) { + $campos .= "{$gruda}ref_idpes"; + $valores .= "{$gruda}'{$this->ref_idpes}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_resp_idpes)) { + $campos .= "{$gruda}ref_resp_idpes"; + $valores .= "{$gruda}'{$this->ref_resp_idpes}'"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $campos .= "{$gruda}observacao"; + $valores .= "{$gruda}'{$this->observacao}'"; + $gruda = ", "; + } + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + if (is_numeric($this->cod_empresa_transporte_escolar)) { + $db = new clsBanco(); + $set = ''; + + if (is_numeric($this->ref_idpes)) { + $set .= "{$gruda}ref_idpes = '{$this->ref_idpes}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_resp_idpes)) { + $set .= "{$gruda}ref_resp_idpes = '{$this->ref_resp_idpes}'"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $set .= "{$gruda}observacao = '{$this->observacao}'"; + $gruda = ", "; + } + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"); + return TRUE; + } + } + + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_empresa_transporte_escolar = NULL, $ref_idpes = NULL, + $ref_resp_idpes = NULL, $nm_idpes = NULL, + $nm_resp_idpes = NULL) + { + $sql = "SELECT {$this->_campos_lista}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes + ) AS nome_empresa , (SELECT nome FROM cadastro.pessoa WHERE idpes = ref_resp_idpes) AS nome_responsavel, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes + ) AS nome_empresa , (SELECT '(' || ddd || ')' || fone FROM cadastro.fone_pessoa WHERE idpes = ref_idpes limit 1) AS telefone FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + + if (is_numeric($cod_empresa_transporte_escolar)) { + $filtros .= "{$whereAnd} cod_empresa_transporte_escolar = '{$cod_empresa_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_idpes)) { + $filtros .= "{$whereAnd} ref_idpes = '{$ref_idpes}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_resp_idpes)) { + $filtros .= "{$whereAnd} ref_resp_idpes = '{$ref_resp_idpes}'"; + $whereAnd = " AND "; + } + + if (is_string($nm_idpes)) { + $filtros .= " + {$whereAnd} exists ( + SELECT + 1 + FROM + cadastro.pessoa + WHERE + cadastro.pessoa.idpes = ref_idpes + AND TO_ASCII(LOWER(nome)) LIKE TO_ASCII(LOWER('%{$nm_idpes}%')) + )"; + + $whereAnd = ' AND '; + } + + if (is_string($nm_resp_idpes)) { + $filtros .= " + {$whereAnd} exists ( + SELECT + 1 + FROM + cadastro.pessoa + WHERE + cadastro.pessoa.idpes = ref_resp_idpes + AND TO_ASCII(LOWER(nome)) LIKE TO_ASCII(LOWER('%{$nm_resp_idpes}%')) + )"; + + $whereAnd = ' AND '; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + if (is_numeric($this->cod_empresa_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes + ) AS nome_empresa , (SELECT nome FROM cadastro.pessoa WHERE idpes = ref_resp_idpes) AS nome_responsavel FROM {$this->_tabela} WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_empresa_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + if (is_numeric($this->cod_empresa_transporte_escolar)) { + $sql = "DELETE FROM {$this->_tabela} WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + + return FALSE; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/include/modules/clsModulesItinerarioTransporteEscolar.inc.php b/ieducar/intranet/include/modules/clsModulesItinerarioTransporteEscolar.inc.php new file mode 100644 index 0000000..37c092b --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesItinerarioTransporteEscolar.inc.php @@ -0,0 +1,540 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesItinerarioTransporteEscolar class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesItinerarioTransporteEscolar +{ + var $cod_itinerario_transporte_escolar; + var $ref_cod_rota_transporte_escolar; + var $seq; + var $ref_cod_ponto_transporte_escolar; + var $ref_cod_veiculo; + var $hora; + var $tipo; + + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesItinerarioTransporteEscolar($cod_itinerario_transporte_escolar = NULL, $ref_cod_rota_transporte_escolar = NULL + , $seq = NULL, $ref_cod_ponto_transporte_escolar = NULL, $ref_cod_veiculo = NULL, + $hora = NULL, $tipo = NULL) + { + + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}itinerario_transporte_escolar"; + + $this->_campos_lista = $this->_todos_campos = " cod_itinerario_transporte_escolar, ref_cod_rota_transporte_escolar, ref_cod_ponto_transporte_escolar, ref_cod_veiculo, seq, hora, tipo"; + + if (is_numeric($cod_itinerario_transporte_escolar)) { + $this->cod_itinerario_transporte_escolar = $cod_itinerario_transporte_escolar; + } + + if (is_numeric($ref_cod_rota_transporte_escolar)) { + $this->ref_cod_rota_transporte_escolar = $ref_cod_rota_transporte_escolar; + } + + if (is_numeric($seq)) { + $this->seq = $seq; + } + + if (is_numeric($ref_cod_ponto_transporte_escolar)) { + $this->ref_cod_ponto_transporte_escolar = $ref_cod_ponto_transporte_escolar; + } + + if (is_numeric($ref_cod_veiculo)) { + $this->ref_cod_veiculo = $ref_cod_veiculo; + } + + if (is_string($hora)) { + $this->hora = $hora; + } + + if (is_string($tipo)) { + $this->tipo = $tipo; + } + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + + if ( is_numeric($this->ref_cod_rota_transporte_escolar) + && is_numeric($this->seq) && is_numeric($this->ref_cod_ponto_transporte_escolar) + && is_string($this->tipo)) + { + $db = new clsBanco(); + + $campos = ''; + $valores = ''; + $gruda = ''; + + if (is_numeric($this->ref_cod_rota_transporte_escolar)) { + $campos .= "{$gruda}ref_cod_rota_transporte_escolar"; + $valores .= "{$gruda}'{$this->ref_cod_rota_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->seq)) { + $campos .= "{$gruda}seq"; + $valores .= "{$gruda}'{$this->seq}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_ponto_transporte_escolar)) { + $campos .= "{$gruda}ref_cod_ponto_transporte_escolar"; + $valores .= "{$gruda}'{$this->ref_cod_ponto_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_veiculo)) { + $campos .= "{$gruda}ref_cod_veiculo"; + $valores .= "{$gruda}'{$this->ref_cod_veiculo}'"; + $gruda = ", "; + } + + if ($this->checktime($this->hora)) { + $campos .= "{$gruda}hora"; + $valores .= "{$gruda}'{$this->hora}'"; + $gruda = ", "; + } + + if (is_string($this->tipo)) { + $campos .= "{$gruda}tipo"; + $valores .= "{$gruda}'{$this->tipo}'"; + $gruda = ", "; + } + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + + if (is_string($this->cod_itinerario_transporte_escolar)) { + $db = new clsBanco(); + $set = ''; + $gruda = ''; + + if (is_numeric($this->cod_itinerario_transporte_escolar)) { + $set .= "{$gruda}cod_itinerario_transporte_escolar = '{$this->cod_itinerario_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_rota_transporte_escolar)) { + $set .= "{$gruda}ref_cod_rota_transporte_escolar = '{$this->ref_cod_rota_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->seq)) { + $set .= "{$gruda}seq = '{$this->seq}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_ponto_transporte_escolar)) { + $set .= "{$gruda}ref_cod_ponto_transporte_escolar = '{$this->ref_cod_ponto_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_veiculo)) { + $set .= "{$gruda}ref_cod_veiculo = '{$this->ref_cod_veiculo}'"; + $gruda = ", "; + } + + if (is_string($this->hora)) { + $set .= "{$gruda}hora = '{$this->hora}'"; + $gruda = ", "; + } + + if (is_string($this->tipo)) { + $set .= "{$gruda}tipo = '{$this->tipo}'"; + $gruda = ", "; + } + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_itinerario_transporte_escolar = '{$this->cod_itinerario_transporte_escolar}'"); + return TRUE; + } + } + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_itinerario_transporte_escolar = NULL, $ref_cod_rota_transporte_escolar = NULL, + $seq = NULL , $ref_cod_veiculo = NULL, $tipo = NULL, $ref_cod_ponto_transporte_escolar = NULL) + { + $sql = "SELECT {$this->_campos_lista}, + (SELECT descricao + FROM modules.ponto_transporte_escolar + WHERE ref_cod_ponto_transporte_escolar = cod_ponto_transporte_escolar) as descricao, + (SELECT descricao || ', Placa: ' || placa + FROM modules.veiculo + WHERE ref_cod_veiculo = cod_veiculo) as nome_onibus FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + + if (is_numeric($cod_itinerario_transporte_escolar)) { + $filtros .= "{$whereAnd} cod_itinerario_transporte_escolar = '{$cod_itinerario_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_cod_rota_transporte_escolar)) { + $filtros .= "{$whereAnd} ref_cod_rota_transporte_escolar = '{$ref_cod_rota_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_numeric($seq)) { + $filtros .= "{$whereAnd} seq = '{$seq}'"; + $whereAnd = " AND "; + } + if (is_numeric($ref_cod_veiculo)){ + $filtros .= "{$whereAnd} ref_cod_veiculo = '{$ref_cod_veiculo}'"; + $whereAnd = " AND "; + } + + if (is_string($tipo)){ + $filtros .= "{$whereAnd} tipo = '{$tipo}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_cod_ponto_transporte_escolar)){ + $filtros .= "{$whereAnd} ref_cod_ponto_transporte_escolar = '{$ref_cod_ponto_transporte_escolar}'"; + $whereAnd = " AND "; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + + function listaPontos($ref_cod_rota_transporte_escolar = NULL) + { + $sql = "SELECT ref_cod_ponto_transporte_escolar, + (SELECT descricao + FROM modules.ponto_transporte_escolar + WHERE ref_cod_ponto_transporte_escolar = cod_ponto_transporte_escolar) as descricao, + (SELECT tipo + FROM modules.ponto_transporte_escolar + WHERE ref_cod_ponto_transporte_escolar = cod_ponto_transporte_escolar) as tipo FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + + if (is_numeric($ref_cod_rota_transporte_escolar)) { + $filtros .= "{$whereAnd} ref_cod_rota_transporte_escolar = '{$ref_cod_rota_transporte_escolar}'"; + $whereAnd = " AND "; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + if (is_numeric($this->cod_rota_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes_destino + ) AS nome_destino , ( + SELECT + nome + FROM + cadastro.pessoa, modules.empresa_transporte_escolar + WHERE + idpes = ref_idpes and cod_empresa_transporte_escolar = ref_cod_empresa_transporte_escolar + ) AS nome_empresa FROM {$this->_tabela} WHERE cod_rota_transporte_escolar = '{$this->cod_rota_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_rota_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_rota_transporte_escolar = '{$this->cod_rota_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + if (is_numeric($this->cod_rota_transporte_escolar)) { + $sql = "DELETE FROM {$this->_tabela} WHERE ref_cod_rota_transporte_escolar = '{$this->ref_cod_rota_transporte_escolar}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + + return FALSE; + } + + /** + * Exclui todos registros. + * @return bool + */ + function excluirTodos($ref_cod_rota_transporte_escolar) + { + if (is_numeric($ref_cod_rota_transporte_escolar)) { + $sql = "DELETE FROM {$this->_tabela} WHERE ref_cod_rota_transporte_escolar = '{$ref_cod_rota_transporte_escolar}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + + return FALSE; + } + + function checktime($time) + { + list($hour,$minute) = explode(':',$time); + + if ($hour > -1 && $hour < 24 && $minute > -1 && $minute < 60 && is_numeric($hour) && is_numeric($minute)) + { + return true; + } else + return false; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/include/modules/clsModulesMotorista.inc.php b/ieducar/intranet/include/modules/clsModulesMotorista.inc.php new file mode 100644 index 0000000..ad2822a --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesMotorista.inc.php @@ -0,0 +1,481 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesMotorista class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesMotorista +{ + var $cod_motorista; + var $ref_idpes; + var $cnh; + var $tipo_cnh; + var $dt_habilitacao; + var $vencimento_cnh; + var $ref_cod_empresa_transporte_escolar; + var $observacao; + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesMotorista( $cod_motorista = NULL, $ref_idpes = NULL, $cnh = NULL, + $tipo_cnh = NULL, $dt_habilitacao = NULL, $vencimento_cnh = NULL, $ref_cod_empresa_transporte_escolar = NULL, + $observacao = NULL) + { + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}motorista"; + + $this->_campos_lista = $this->_todos_campos = " cod_motorista, ref_idpes, cnh, tipo_cnh, dt_habilitacao, vencimento_cnh, ref_cod_empresa_transporte_escolar, + observacao"; + + if (is_numeric($cod_motorista)) { + $this->cod_motorista = $cod_motorista; + } + + if (is_numeric($ref_idpes)) { + $this->ref_idpes = $ref_idpes; + } + + if (is_string($cnh)) { + $this->cnh = $cnh; + } + + if (is_string($tipo_cnh)) { + $this->tipo_cnh = $tipo_cnh; + } + + if (is_string($dt_habilitacao)) { + $this->dt_habilitacao = $dt_habilitacao; + } + + if (is_string($vencimento_cnh)) { + $this->vencimento_cnh = $vencimento_cnh; + } + + if (is_numeric($ref_cod_empresa_transporte_escolar)) { + $this->ref_cod_empresa_transporte_escolar = $ref_cod_empresa_transporte_escolar; + } + + if (is_string($observacao)) { + $this->observacao = $observacao; + } + + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + + if (is_string($this->cnh) && is_string($this->tipo_cnh) && is_numeric($this->ref_cod_empresa_transporte_escolar) + && is_numeric($this->ref_idpes) ) + { + + $db = new clsBanco(); + $campos = ''; + $valores = ''; + $gruda = ''; + + if (is_numeric($this->cod_motorista)) { + $campos .= "{$gruda}cod_motorista"; + $valores .= "{$gruda}'{$this->cod_motorista}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_idpes)) { + $campos .= "{$gruda}ref_idpes"; + $valores .= "{$gruda}'{$this->ref_idpes}'"; + $gruda = ", "; + } + + if (is_string($this->cnh)) { + $campos .= "{$gruda}cnh"; + $valores .= "{$gruda}'{$this->cnh}'"; + $gruda = ", "; + } + + if (is_string($this->tipo_cnh)) { + $campos .= "{$gruda}tipo_cnh"; + $valores .= "{$gruda}'{$this->tipo_cnh}'"; + $gruda = ", "; + } + + if (is_string($this->dt_habilitacao) && trim($this->dt_habilitacao)!='') { + $campos .= "{$gruda}dt_habilitacao"; + $valores .= "{$gruda}'{$this->dt_habilitacao}'"; + $gruda = ", "; + } + + if (is_string($this->vencimento_cnh) && trim($this->vencimento_cnh)!='') { + $campos .= "{$gruda}vencimento_cnh"; + $valores .= "{$gruda}'{$this->vencimento_cnh}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_empresa_transporte_escolar)) { + $campos .= "{$gruda}ref_cod_empresa_transporte_escolar"; + $valores .= "{$gruda}'{$this->ref_cod_empresa_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $campos .= "{$gruda}observacao"; + $valores .= "{$gruda}'{$this->observacao}'"; + $gruda = ", "; + } + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + + if (is_numeric($this->cod_motorista)) { + + $db = new clsBanco(); + $set = ''; + + if (is_numeric($this->cod_motorista)) { + $set .= "{$gruda}cod_motorista = '{$this->cod_motorista}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_idpes)) { + $set .= "{$gruda}ref_idpes = '{$this->ref_idpes}'"; + $gruda = ", "; + } + + if (is_string($this->cnh)) { + $set .= "{$gruda}cnh = '{$this->cnh}'"; + $gruda = ", "; + } + + if (is_string($this->tipo_cnh)) { + $set .= "{$gruda}tipo_cnh = '{$this->tipo_cnh}'"; + $gruda = ", "; + } + + if (is_string($this->dt_habilitacao) && trim($this->dt_habilitacao)!='') { + + $set .= "{$gruda}dt_habilitacao = '{$this->dt_habilitacao}'"; + $gruda = ", "; + } + + if (is_string($this->vencimento_cnh) && trim($this->vencimento_cnh)!='') { + $set .= "{$gruda}vencimento_cnh = '{$this->vencimento_cnh}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_empresa_transporte_escolar)) { + $set .= "{$gruda}ref_cod_empresa_transporte_escolar = '{$this->ref_cod_empresa_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $set .= "{$gruda}observacao = '{$this->observacao}'"; + $gruda = ", "; + } + + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_motorista = '{$this->cod_motorista}'"); + return TRUE; + } + } + + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_motorista = NULL, $nome_motorista = NULL, + $cnh = NULL, $tipo_cnh = NULL, + $ref_cod_empresa_transporte_escolar = NULL) + { + + $sql = "SELECT {$this->_campos_lista}, ( + SELECT + nome + FROM + modules.empresa_transporte_escolar emp,cadastro.pessoa p + WHERE + ref_cod_empresa_transporte_escolar = cod_empresa_transporte_escolar AND p.idpes = emp.ref_idpes + ) AS nome_empresa , (SELECT nome FROM cadastro.pessoa WHERE idpes = ref_idpes) AS nome_motorista FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + if (is_numeric($cod_motorista)) { + $filtros .= "{$whereAnd} cod_motorista = '{$cod_motorista}'"; + $whereAnd = " AND "; + } + + if (is_string($nome_motorista)) { + $filtros .= " + {$whereAnd} TO_ASCII(LOWER((SELECT nome FROM cadastro.pessoa WHERE idpes = ref_idpes))) LIKE TO_ASCII(LOWER('%{$nome_motorista}%')) "; + + $whereAnd = ' AND '; + } + + if (is_string($cnh)) { + $filtros .= "{$whereAnd} cnh = '{$cnh}'"; + $whereAnd = " AND "; + } + + if (is_string($tipo_cnh)) { + $filtros .= "{$whereAnd} tipo_cnh = '{$tipo_cnh}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_cod_empresa_transporte_escolar)) { + $filtros .= "{$whereAnd} ref_cod_empresa_transporte_escolar = '{$ref_cod_empresa_transporte_escolar}'"; + $whereAnd = " AND "; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + + if (is_numeric($this->cod_motorista)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos}, ( + SELECT + nome + FROM + modules.empresa_transporte_escolar emp,cadastro.pessoa p + WHERE + ref_cod_empresa_transporte_escolar = cod_empresa_transporte_escolar AND p.idpes = emp.ref_idpes + ) AS nome_empresa , (SELECT nome FROM cadastro.pessoa WHERE idpes = ref_idpes) AS nome_motorista FROM {$this->_tabela} WHERE cod_motorista = '{$this->cod_motorista}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_motorista)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_motorista = '{$this->cod_motorista}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + + if (is_numeric($this->cod_motorista)) { + $sql = "DELETE FROM {$this->_tabela} WHERE cod_motorista = '{$this->cod_motorista}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + return FALSE; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/include/modules/clsModulesPessoaTransporte.inc.php b/ieducar/intranet/include/modules/clsModulesPessoaTransporte.inc.php new file mode 100644 index 0000000..1a014b5 --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesPessoaTransporte.inc.php @@ -0,0 +1,529 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesPessoaTransporte class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesPessoaTransporte +{ + var $cod_pessoa_transporte; + var $ref_idpes; + var $ref_cod_rota_transporte_escolar; + var $ref_cod_ponto_transporte_escolar; + var $ref_idpes_destino; + var $observacao; + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesPessoaTransporte( $cod_pessoa_transporte = NULL, $ref_cod_rota_transporte_escolar = NULL, + $ref_idpes = null ,$ref_cod_ponto_transporte_escolar = NULL, $ref_idpes_destino = NULL, + $observacao = NULL) + { + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}pessoa_transporte"; + + $this->_campos_lista = $this->_todos_campos = "cod_pessoa_transporte, ref_cod_rota_transporte_escolar, + ref_idpes, ref_cod_ponto_transporte_escolar, ref_idpes_destino, observacao"; + + if (is_numeric($cod_pessoa_transporte)) { + $this->cod_pessoa_transporte = $cod_pessoa_transporte; + } + + if (is_numeric($ref_cod_rota_transporte_escolar)) { + $this->ref_idpes = $ref_idpes; + } + + if (is_numeric($ref_idpes)) { + $this->ref_idpes = $ref_idpes; + } + + if (is_numeric($ref_cod_ponto_transporte_escolar)) { + $this->ref_cod_ponto_transporte_escolar = $ref_cod_ponto_transporte_escolar; + } + + if (is_numeric($ref_idpes_destino)) { + $this->ref_idpes_destino = $ref_idpes_destino; + } + + if (is_string($observacao)) { + $this->observacao = $observacao; + } + + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + + if (is_numeric($this->ref_idpes) && is_numeric($this->ref_cod_rota_transporte_escolar)) + { + + $db = new clsBanco(); + $campos = ''; + $valores = ''; + $gruda = ''; + + if (is_numeric($this->cod_pessoa_transporte)) { + $campos .= "{$gruda}cod_pessoa_transporte"; + $valores .= "{$gruda}'{$this->cod_pessoa_transporte}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_rota_transporte_escolar)) { + $campos .= "{$gruda}ref_cod_rota_transporte_escolar"; + $valores .= "{$gruda}'{$this->ref_cod_rota_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_idpes)) { + $campos .= "{$gruda}ref_idpes"; + $valores .= "{$gruda}'{$this->ref_idpes}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_ponto_transporte_escolar)) { + $campos .= "{$gruda}ref_cod_ponto_transporte_escolar"; + $valores .= "{$gruda}'{$this->ref_cod_ponto_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_idpes_destino)) { + $campos .= "{$gruda}ref_idpes_destino"; + $valores .= "{$gruda}'{$this->ref_idpes_destino}'"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $campos .= "{$gruda}observacao"; + $valores .= "{$gruda}'{$this->observacao}'"; + $gruda = ", "; + } + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + + if (is_numeric($this->cod_pessoa_transporte)) { + + $db = new clsBanco(); + $set = ''; + + if (is_numeric($this->ref_cod_rota_transporte_escolar)) { + $set .= "{$gruda}ref_cod_rota_transporte_escolar = '{$this->ref_cod_rota_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_idpes)) { + $set .= "{$gruda}ref_idpes = '{$this->ref_idpes}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_ponto_transporte_escolar)) { + $set .= "{$gruda}ref_cod_ponto_transporte_escolar = '{$this->ref_cod_ponto_transporte_escolar}'"; + $gruda = ", "; + }else{ + $set .= "{$gruda}ref_cod_ponto_transporte_escolar = null"; + $gruda = ", "; + } + + if (is_numeric($this->ref_idpes_destino)) { + $set .= "{$gruda}ref_idpes_destino = '{$this->ref_idpes_destino}'"; + $gruda = ", "; + }else{ + $set .= "{$gruda}ref_idpes_destino = null"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $set .= "{$gruda}observacao = '{$this->observacao}'"; + $gruda = ", "; + } + + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_pessoa_transporte = '{$this->cod_pessoa_transporte}'"); + return TRUE; + } + } + + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_pessoa_transporte = NULL, $ref_idpes = NULL, + $ref_cod_rota_transporte_escolar = NULL, + $ref_cod_ponto_transporte_escolar = NULL, $ref_idpes_destino = NULL, $nome_pessoa = NULL, $nome_destino = NULL) + { + + $sql = "SELECT {$this->_campos_lista}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes_destino + ) AS nome_destino, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes + ) AS nome_pessoa, ( + SELECT + descricao + FROM + modules.rota_transporte_escolar + WHERE + ref_cod_rota_transporte_escolar = cod_rota_transporte_escolar + ) AS nome_rota, ( + SELECT + descricao + FROM + modules.ponto_transporte_escolar + WHERE + ref_cod_ponto_transporte_escolar = cod_ponto_transporte_escolar + ) AS nome_ponto, ( + SELECT + nome + FROM + cadastro.pessoa p, modules.rota_transporte_escolar rt + WHERE + p.idpes = rt.ref_idpes_destino and ref_cod_rota_transporte_escolar = rt.cod_rota_transporte_escolar + ) AS nome_destino2 FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + $whereNomes = ''; + if (is_numeric($cod_pessoa_transporte)) { + $filtros .= "{$whereAnd} cod_pessoa_transporte = '{$cod_pessoa_transporte}'"; + $whereAnd = " AND "; + } + + + if (is_numeric($ref_idpes)) { + $filtros .= "{$whereAnd} ref_idpes = '{$ref_idpes}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_cod_rota_transporte_escolar)) { + $filtros .= "{$whereAnd} ref_cod_rota_transporte_escolar = '{$ref_cod_rota_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_cod_ponto_transporte_escolar)) { + $filtros .= "{$whereAnd} ref_cod_ponto_transporte_escolar = '{$ref_cod_ponto_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_idpes_destino)) { + $filtros .= "{$whereAnd} ref_idpes_destino = '{$ref_idpes_destino}'"; + $whereAnd = " AND "; + } + + if (is_string($nome_pessoa)) { + $filtros .= " + {$whereAnd} TO_ASCII(LOWER(( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes + ))) LIKE TO_ASCII(LOWER('%{$nome_pessoa}%')) "; + $whereAnd = " AND "; + } + + if (is_string($nome_destino)) { + $filtros .= " + {$whereAnd} TO_ASCII(LOWER(( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes_destino + ))) LIKE TO_ASCII(LOWER('%{$nome_destino}%')) "; + $whereAnd = " AND "; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $whereNomes. $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + + if (is_numeric($this->cod_pessoa_transporte)) { + + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes_destino + ) AS nome_destino, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes + ) AS nome_pessoa, ( + SELECT + descricao + FROM + modules.rota_transporte_escolar + WHERE + ref_cod_rota_transporte_escolar = cod_rota_transporte_escolar + ) AS nome_rota, ( + SELECT + descricao + FROM + modules.ponto_transporte_escolar + WHERE + ref_cod_ponto_transporte_escolar = cod_ponto_transporte_escolar + ) AS nome_ponto, ( + SELECT + nome + FROM + cadastro.pessoa p, modules.rota_transporte_escolar rt + WHERE + p.idpes = rt.ref_idpes_destino and ref_cod_rota_transporte_escolar = rt.cod_rota_transporte_escolar + ) AS nome_destino2 FROM {$this->_tabela} WHERE cod_pessoa_transporte = '{$this->cod_pessoa_transporte}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_pessoa_transporte)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_pessoa_transporte = '{$this->cod_pessoa_transporte}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + if (is_numeric($this->cod_pessoa_transporte)) { + $sql = "DELETE FROM {$this->_tabela} WHERE cod_pessoa_transporte = '{$this->cod_pessoa_transporte}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + return FALSE; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/include/modules/clsModulesPontoTransporteEscolar.inc.php b/ieducar/intranet/include/modules/clsModulesPontoTransporteEscolar.inc.php new file mode 100644 index 0000000..4757332 --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesPontoTransporteEscolar.inc.php @@ -0,0 +1,339 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesPontoTransporteEscolar class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesPontoTransporteEscolar +{ + var $cod_ponto_transporte_escolar; + var $descricao; + + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesPontoTransporteEscolar($cod_ponto_transporte_escolar = NULL, $descricao = NULL) + { + + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}ponto_transporte_escolar"; + + $this->_campos_lista = $this->_todos_campos = " cod_ponto_transporte_escolar, descricao"; + + if (is_numeric($cod_ponto_transporte_escolar)) { + $this->cod_ponto_transporte_escolar = $cod_ponto_transporte_escolar; + } + + if (is_string($descricao)) { + $this->descricao = $descricao; + } + + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + + if (is_string($this->descricao)) + { + $db = new clsBanco(); + + $campos = ''; + $valores = ''; + $gruda = ''; + + if (is_string($this->descricao)) { + $campos .= "{$gruda}descricao"; + $valores .= "{$gruda}'{$this->descricao}'"; + $gruda = ", "; + } + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + + if (is_string($this->cod_ponto_transporte_escolar)) { + $db = new clsBanco(); + $set = ''; + $gruda = ''; + + if (is_string($this->descricao)) { + $set .= "{$gruda}descricao = '{$this->descricao}'"; + $gruda = ", "; + } + + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_ponto_transporte_escolar = '{$this->cod_ponto_transporte_escolar}'"); + return TRUE; + } + } + + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_ponto_transporte_escolar = NULL, $descricao = NULL) + { + $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + + if (is_numeric($cod_ponto_transporte_escolar)) { + $filtros .= "{$whereAnd} cod_ponto_transporte_escolar = '{$cod_ponto_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_string($descricao)) { + $filtros .= "{$whereAnd} TO_ASCII(LOWER(descricao)) LIKE TO_ASCII(LOWER('%{$descricao}%'))"; + $whereAnd = " AND "; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + + if (is_numeric($this->cod_ponto_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE cod_ponto_transporte_escolar = '{$this->cod_ponto_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_ponto_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_ponto_transporte_escolar = '{$this->cod_ponto_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + if (is_numeric($this->cod_ponto_transporte_escolar)) { + $sql = "DELETE FROM {$this->_tabela} WHERE cod_ponto_transporte_escolar = '{$this->cod_ponto_transporte_escolar}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + + return FALSE; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/include/modules/clsModulesRotaTransporteEscolar.inc.php b/ieducar/intranet/include/modules/clsModulesRotaTransporteEscolar.inc.php new file mode 100644 index 0000000..7538dd9 --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesRotaTransporteEscolar.inc.php @@ -0,0 +1,530 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesRotaTransporteEscolar class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesRotaTransporteEscolar +{ + var $cod_rota_transporte_escolar; + var $ref_idpes_destino; + var $descricao; + var $ano; + var $tipo_rota; + var $km_pav; + var $km_npav; + var $ref_cod_empresa_transporte_escolar; + var $tercerizado; + + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesRotaTransporteEscolar($cod_rota_transporte_escolar = NULL, $ref_idpes_destino = NULL, $descricao = NULL, $ano = NULL, $tipo_rota = NULL, $km_pav = NULL, $km_npav = NULL, $ref_cod_empresa_transporte_escolar=NULL, $tercerizado = NULL) + { + + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}rota_transporte_escolar"; + + $this->_campos_lista = $this->_todos_campos = " cod_rota_transporte_escolar, ref_idpes_destino, descricao, ano, tipo_rota, km_pav, km_npav, ref_cod_empresa_transporte_escolar, tercerizado"; + + if (is_numeric($cod_rota_transporte_escolar)) { + $this->cod_rota_transporte_escolar = $cod_rota_transporte_escolar; + } + + if (is_numeric($ref_idpes_destino)) { + $this->ref_idpes_destino = $ref_idpes_destino; + } + + if (is_string($descricao)) { + $this->descricao = $descricao; + } + + if (is_numeric($ano)) { + $this->ano = $ano; + } + + if (is_string($tipo_rota)) { + $this->tipo_rota = $tipo_rota; + } + + if (is_numeric($km_pav)) { + $this->km_pav = $km_pav; + } + + if (is_numeric($km_npav)) { + $this->km_npav = $km_npav; + } + + if (is_numeric($ref_cod_empresa_transporte_escolar)) { + $this->ref_cod_empresa_transporte_escolar = $ref_cod_empresa_transporte_escolar; + } + + if (is_string($tercerizado)) { + $this->tercerizado = $tercerizado; + } + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + + if (is_numeric($this->ref_idpes_destino) && is_numeric($this->ano) && is_string($this->descricao) + && is_string($this->tipo_rota) && is_numeric($this->ref_cod_empresa_transporte_escolar) + && is_string($this->tercerizado)) + { + $db = new clsBanco(); + + $campos = ''; + $valores = ''; + $gruda = ''; + + if (is_numeric($this->ref_idpes_destino)) { + $campos .= "{$gruda}ref_idpes_destino"; + $valores .= "{$gruda}'{$this->ref_idpes_destino}'"; + $gruda = ", "; + } + + if (is_string($this->descricao)) { + $campos .= "{$gruda}descricao"; + $valores .= "{$gruda}'{$this->descricao}'"; + $gruda = ", "; + } + + if (is_numeric($this->ano)) { + $campos .= "{$gruda}ano"; + $valores .= "{$gruda}'{$this->ano}'"; + $gruda = ", "; + } + + if (is_string($this->tipo_rota)) { + $campos .= "{$gruda}tipo_rota"; + $valores .= "{$gruda}'{$this->tipo_rota}'"; + $gruda = ", "; + } + + if (is_numeric($this->km_pav)) { + $campos .= "{$gruda}km_pav"; + $valores .= "{$gruda}'{$this->km_pav}'"; + $gruda = ", "; + } + + if (is_numeric($this->km_npav)) { + $campos .= "{$gruda}km_npav"; + $valores .= "{$gruda}'{$this->km_npav}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_empresa_transporte_escolar)) { + $campos .= "{$gruda}ref_cod_empresa_transporte_escolar"; + $valores .= "{$gruda}'{$this->ref_cod_empresa_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_string($this->tercerizado)) { + $campos .= "{$gruda}tercerizado"; + $valores .= "{$gruda}'{$this->tercerizado}'"; + $gruda = ", "; + } + + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + + if (is_string($this->cod_rota_transporte_escolar)) { + $db = new clsBanco(); + $set = ''; + $gruda = ''; + + if (is_numeric($this->ref_idpes_destino)) { + $set .= "{$gruda}ref_idpes_destino = '{$this->ref_idpes_destino}'"; + $gruda = ", "; + } + + if (is_string($this->descricao)) { + $set .= "{$gruda}descricao = '{$this->descricao}'"; + $gruda = ", "; + } + + if (is_numeric($this->ano)) { + $set .= "{$gruda}ano = '{$this->ano}'"; + $gruda = ", "; + } + + if (is_string($this->tipo_rota)) { + $set .= "{$gruda}tipo_rota = '{$this->tipo_rota}'"; + $gruda = ", "; + } + + if (is_numeric($this->km_pav)) { + $set .= "{$gruda}km_pav = '{$this->km_pav}'"; + $gruda = ", "; + } + + if (is_numeric($this->km_npav)) { + $set .= "{$gruda}km_npav = '{$this->km_npav}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_empresa_transporte_escolar)) { + $set .= "{$gruda}ref_cod_empresa_transporte_escolar = '{$this->ref_cod_empresa_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_string($this->tercerizado)) { + $set .= "{$gruda}tercerizado = '{$this->tercerizado}'"; + $gruda = ", "; + } + + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_rota_transporte_escolar = '{$this->cod_rota_transporte_escolar}'"); + return TRUE; + } + } + + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_rota_transporte_escolar = NULL, $descricao = NULL, $ref_idpes_destino = NULL , $nome_destino = NULL, + $ano = NULL, $ref_cod_empresa_transporte_escolar = NULL, $nome_empresa = NULL, $tercerizado = NULL) + { + + $sql = "SELECT {$this->_campos_lista}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes_destino + ) AS nome_destino , ( + SELECT + nome + FROM + cadastro.pessoa, modules.empresa_transporte_escolar + WHERE + idpes = ref_idpes and cod_empresa_transporte_escolar = ref_cod_empresa_transporte_escolar + ) AS nome_empresa FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + + if (is_numeric($cod_rota_transporte_escolar)) { + $filtros .= "{$whereAnd} cod_rota_transporte_escolar = '{$cod_rota_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_string($descricao)) { + $filtros .= "{$whereAnd} TO_ASCII(LOWER(descricao)) LIKE TO_ASCII(LOWER('%{$descricao}%'))"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_idpes_destino)) { + $filtros .= "{$whereAnd} ref_idpes_destino = '{$ref_idpes_destino}'"; + $whereAnd = " AND "; + } + if (is_string($nome_destino)) { + $filtros .= " + {$whereAnd} exists ( + SELECT + 1 + FROM + cadastro.pessoa + WHERE + cadastro.pessoa.idpes = ref_idpes_destino + AND TO_ASCII(LOWER(nome)) LIKE TO_ASCII(LOWER('%{$nome_destino}%')) + )"; + + $whereAnd = ' AND '; + } + + if (is_numeric($ano)) { + $filtros .= "{$whereAnd} ano = '{$ano}'"; + $whereAnd = " AND "; + } + if (is_string($ref_cod_empresa_transporte_escolar)){ + $filtros .= "{$whereAnd} ref_cod_empresa_transporte_escolar = '{$ref_cod_empresa_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_string($nome_empresa)) { + $filtros .= " + {$whereAnd} exists ( + SELECT + nome + FROM + cadastro.pessoa, modules.empresa_transporte_escolar + WHERE + idpes = ref_idpes and cod_empresa_transporte_escolar = ref_cod_empresa_transporte_escolar + AND TO_ASCII(LOWER(nome)) LIKE TO_ASCII(LOWER('%{$nome_empresa}%')) + )"; + + $whereAnd = ' AND '; + } + + if (is_string($tercerizado)){ + $filtros .= "{$whereAnd} tercerizado = '{$tercerizado}'"; + $whereAnd = " AND "; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + if (is_numeric($this->cod_rota_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes_destino + ) AS nome_destino , ( + SELECT + nome + FROM + cadastro.pessoa, modules.empresa_transporte_escolar + WHERE + idpes = ref_idpes and cod_empresa_transporte_escolar = ref_cod_empresa_transporte_escolar + ) AS nome_empresa FROM {$this->_tabela} WHERE cod_rota_transporte_escolar = '{$this->cod_rota_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_rota_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_rota_transporte_escolar = '{$this->cod_rota_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + if (is_numeric($this->cod_rota_transporte_escolar)) { + $sql = "DELETE FROM {$this->_tabela} WHERE cod_rota_transporte_escolar = '{$this->cod_rota_transporte_escolar}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + + return FALSE; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/include/modules/clsModulesTipoVeiculo.inc.php b/ieducar/intranet/include/modules/clsModulesTipoVeiculo.inc.php new file mode 100644 index 0000000..a5d7d90 --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesTipoVeiculo.inc.php @@ -0,0 +1,341 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesTipoVeiculo class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesTipoVeiculo +{ + var $cod_tipo_veiculo; + var $descricao; + + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesTipoVeiculo($cod_tipo_veiculo = NULL, $descricao = NULL ) + { + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}tipo_veiculo"; + + $this->_campos_lista = $this->_todos_campos = " cod_tipo_veiculo, descricao"; + + if (is_numeric($cod_tipo_veiculo)) { + $this->cod_tipo_veiculo = $cod_tipo_veiculo; + } + + if (is_string($descricao)) { + $this->descricao = $descricao; + } + + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + if (is_string($this->descricao)) + { + $db = new clsBanco(); + + $campos = ''; + $valores = ''; + $gruda = ''; + + + $campos .= "{$gruda}descricao"; + $valores .= "{$gruda}'{$this->descricao}'"; + $gruda = ", "; + + + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + if (is_string($this->descricao)) { + $db = new clsBanco(); + $set = ''; + + $set .= "descricao = '{$this->descricao}'"; + + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"); + return TRUE; + } + } + + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_tipo_veiculo = NULL, $descricao = NULL) + { + $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}"; + $filtros = ""; + + $whereAnd = " WHERE "; + + if (is_numeric($cod_tipo_veiculo)) { + $filtros .= "{$whereAnd} cod_tipo_veiculo = '{$cod_tipo_veiculo}'"; + $whereAnd = " AND "; + } + + if (is_string($descricao)) { + $filtros .= "{$whereAnd} TO_ASCII(LOWER(descricao)) LIKE TO_ASCII(LOWER('%{$descricao}%'))"; + $whereAnd = " AND "; + } + + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + if (is_numeric($this->cod_empresa_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos}, ( + SELECT + nome + FROM + cadastro.pessoa + WHERE + idpes = ref_idpes + ) AS nome_empresa , (SELECT nome FROM cadastro.pessoa WHERE idpes = ref_resp_idpes) AS nome_responsavel FROM {$this->_tabela} WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_empresa_transporte_escolar)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + if (is_numeric($this->cod_empresa_transporte_escolar)) { + $sql = "DELETE FROM {$this->_tabela} WHERE cod_empresa_transporte_escolar = '{$this->cod_empresa_transporte_escolar}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + + return FALSE; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/include/modules/clsModulesVeiculo.inc.php b/ieducar/intranet/include/modules/clsModulesVeiculo.inc.php new file mode 100644 index 0000000..25ff7f4 --- /dev/null +++ b/ieducar/intranet/include/modules/clsModulesVeiculo.inc.php @@ -0,0 +1,679 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/pmieducar/geral.inc.php'; + +/** + * clsModulesVeiculo class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version @@package_version@@ + */ +class clsModulesVeiculo +{ + var $cod_veiculo; + var $descricao; + var $placa; + var $renavam; + var $chassi; + var $marca; + var $ano_fabricacao; + var $ano_modelo; + var $passageiros; + var $malha; + var $ref_cod_tipo_veiculo; + var $exclusivo_transporte_escolar; + var $adaptado_necessidades_especiais; + var $ativo; + var $descricao_inativo; + var $ref_cod_empresa_transporte_escolar; + var $ref_cod_motorista; + var $observacao; + + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * @var int + */ + var $_total; + + /** + * Nome do schema. + * @var string + */ + var $_schema; + + /** + * Nome da tabela. + * @var string + */ + var $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * @var string + */ + var $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * @var string + */ + var $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * @var int + */ + var $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * @var int + */ + var $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * @var string + */ + var $_campo_order_by; + + /** + * Construtor. + */ + function clsModulesVeiculo($cod_veiculo = NULL, $descricao = NULL, $placa = NULL, $renavam = NULL, + $chassi = NULL, $marca = NULL, $ano_fabricacao = NULL, + $ano_modelo = NULL, $passageiros = NULL, $malha = NULL, $ref_cod_tipo_veiculo = NULL, + $exclusivo_transporte_escolar = NULL, $adaptado_necessidades_especiais = NULL, + $ativo = NULL, $descricao_inativo = NULL, $ref_cod_empresa_transporte_escolar = NULL, + $ref_cod_motorista = NULL, $observacao = NULL ) + { + $db = new clsBanco(); + $this->_schema = "modules."; + $this->_tabela = "{$this->_schema}veiculo"; + + $this->_campos_lista = $this->_todos_campos = " cod_veiculo, descricao, placa, renavam, chassi, marca, ano_fabricacao, + ano_modelo, passageiros, malha, ref_cod_tipo_veiculo, exclusivo_transporte_escolar, + adaptado_necessidades_especiais, ativo, descricao_inativo, ref_cod_empresa_transporte_escolar, + ref_cod_motorista, observacao"; + + if (is_numeric($cod_veiculo)) { + $this->cod_veiculo = $cod_veiculo; + } + + if (is_string($descricao)) { + $this->descricao = $descricao; + } + + if (is_string($placa)) { + $this->placa = $placa; + } + + if (is_string($renavam)) { + $this->renavam = $renavam; + } + + if (is_string($marca)) { + $this->marca = $marca; + } + + if (is_string($ano_fabricacao)) { + $this->marca = $marca; + } + + if (is_string($ano_modelo)) { + $this->marca = $marca; + } + + if (is_numeric($passageiros)) { + $this->passageiros = $passageiros; + } + + if (is_string($malha)) { + $this->malha = $malha; + } + + + if (is_numeric($ref_cod_tipo_veiculo)) { + $this->ref_cod_tipo_veiculo = $ref_cod_tipo_veiculo; + } + + if (is_string($exclusivo_transporte_escolar)) { + $this->exclusivo_transporte_escolar = $exclusivo_transporte_escolar; + } + + if (is_string($adaptado_necessidades_especiais)) { + $this->adaptado_necessidades_especiais = $adaptado_necessidades_especiais; + } + + if (is_string($ativo)) { + $this->ativo = $ativo; + } + + if (is_string($descricao_inativo)) { + $this->descricao_inativo = $descricao_inativo; + } + + if (is_numeric($ref_cod_empresa_transporte_escolar)) { + $this->ref_cod_empresa_transporte_escolar = $ref_cod_empresa_transporte_escolar; + } + + if (is_numeric($ref_cod_motorista)) { + $this->ref_cod_motorista = $ref_cod_motorista; + } + + if (is_string($observacao)) { + $this->observacao = $observacao; + } + + } + + /** + * Cria um novo registro. + * @return bool + */ + function cadastra() + { + + + if (is_string($this->descricao) && is_string($this->placa) && is_string($this->renavam) + && is_numeric($this->passageiros) && is_string($this->malha) && is_string($this->adaptado_necessidades_especiais) + && is_string($this->exclusivo_transporte_escolar) && is_numeric($this->ref_cod_empresa_transporte_escolar) + && is_numeric($this->ref_cod_motorista)) + { + + $db = new clsBanco(); + + $campos = ''; + $valores = ''; + $gruda = ''; + + + if (is_numeric($this->cod_veiculo)) { + $campos .= "{$gruda}cod_veiculo"; + $valores .= "{$gruda}'{$this->cod_veiculo}'"; + $gruda = ", "; + } + + if (is_string($this->descricao)) { + $campos .= "{$gruda}descricao"; + $valores .= "{$gruda}'{$this->descricao}'"; + $gruda = ", "; + } + + if (is_string($this->placa)) { + $campos .= "{$gruda}placa"; + $valores .= "{$gruda}'{$this->placa}'"; + $gruda = ", "; + } + + if (is_string($this->renavam)) { + $campos .= "{$gruda}renavam"; + $valores .= "{$gruda}'{$this->renavam}'"; + $gruda = ", "; + } + + if (is_string($this->marca)) { + $campos .= "{$gruda}marca"; + $valores .= "{$gruda}'{$this->marca}'"; + $gruda = ", "; + } + + if (is_string($this->chassi)) { + $campos .= "{$gruda}chassi"; + $valores .= "{$gruda}'{$this->chassi}'"; + $gruda = ", "; + } + + if (is_numeric($this->ano_fabricacao)) { + $campos .= "{$gruda}ano_fabricacao"; + $valores .= "{$gruda}'{$this->ano_fabricacao}'"; + $gruda = ", "; + } + + if (is_numeric($this->ano_modelo)) { + $campos .= "{$gruda}ano_modelo"; + $valores .= "{$gruda}'{$this->ano_modelo}'"; + $gruda = ", "; + } + + if (is_numeric($this->passageiros)) { + $campos .= "{$gruda}passageiros"; + $valores .= "{$gruda}'{$this->passageiros}'"; + $gruda = ", "; + } + + if (is_string($this->malha)) { + $campos .= "{$gruda}malha"; + $valores .= "{$gruda}'{$this->malha}'"; + $gruda = ", "; + } + + + if (is_numeric($this->ref_cod_tipo_veiculo)) { + $campos .= "{$gruda}ref_cod_tipo_veiculo"; + $valores .= "{$gruda}'{$this->ref_cod_tipo_veiculo}'"; + $gruda = ", "; + } + + if (is_string($this->exclusivo_transporte_escolar)) { + $campos .= "{$gruda}exclusivo_transporte_escolar"; + $valores .= "{$gruda}'{$this->exclusivo_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_string($this->adaptado_necessidades_especiais)) { + $campos .= "{$gruda}adaptado_necessidades_especiais"; + $valores .= "{$gruda}'{$this->adaptado_necessidades_especiais}'"; + $gruda = ", "; + } + + if (is_string($this->ativo)) { + $campos .= "{$gruda}ativo"; + $valores .= "{$gruda}'{$this->ativo}'"; + $gruda = ", "; + } + + if (is_string($this->descricao_inativo)) { + $campos .= "{$gruda}descricao_inativo"; + $valores .= "{$gruda}'{$this->descricao_inativo}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_empresa_transporte_escolar)) { + $campos .= "{$gruda}ref_cod_empresa_transporte_escolar"; + $valores .= "{$gruda}'{$this->ref_cod_empresa_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_motorista)) { + $campos .= "{$gruda}ref_cod_motorista"; + $valores .= "{$gruda}'{$this->ref_cod_motorista}'"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $campos .= "{$gruda}observacao"; + $valores .= "{$gruda}'{$this->observacao}'"; + $gruda = ", "; + } + + $db->Consulta("INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )"); + return $db->InsertId("{$this->_tabela}_seq"); + } + + return FALSE; + } + + /** + * Edita os dados de um registro. + * @return bool + */ + function edita() + { + + if (is_numeric($this->cod_veiculo)) { + $db = new clsBanco(); + $set = ''; + + if (is_numeric($this->cod_veiculo)) { + $set .= "{$gruda}cod_veiculo = '{$this->cod_veiculo}'"; + $gruda = ", "; + } + + if (is_string($this->descricao)) { + $set .= "{$gruda}descricao = '{$this->descricao}'"; + $gruda = ", "; + } + + if (is_string($this->placa)) { + $set .= "{$gruda}placa = '{$this->placa}'"; + $gruda = ", "; + } + + if (is_string($this->renavam)) { + $set .= "{$gruda}renavam = '{$this->renavam}'"; + $gruda = ", "; + } + + if (is_string($this->marca)) { + $set .= "{$gruda}marca = '{$this->marca}'"; + $gruda = ", "; + } + + if (is_numeric($this->ano_fabricacao)) { + $set .= "{$gruda}ano_fabricacao = '{$this->ano_fabricacao}'"; + $gruda = ", "; + } + + if (is_numeric($this->ano_modelo)) { + $set .= "{$gruda}ano_modelo = '{$this->ano_modelo}'"; + $gruda = ", "; + } + + if (is_numeric($this->this->passageiros)) { + $set .= "{$gruda}passageiros = '{$this->passageiros}'"; + $gruda = ", "; + } + + if (is_string($this->malha)) { + $set .= "{$gruda}malha = '{$this->malha}'"; + $gruda = ", "; + } + + + if (is_numeric($this->ref_cod_tipo_veiculo)) { + $set .= "{$gruda}ref_cod_tipo_veiculo = '{$this->ref_cod_tipo_veiculo}'"; + $gruda = ", "; + } + + if (is_string($this->exclusivo_transporte_escolar)) { + $set .= "{$gruda}exclusivo_transporte_escolar = '{$this->exclusivo_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_string($this->adaptado_necessidades_especiais)) { + $set .= "{$gruda}adaptado_necessidades_especiais = '{$this->adaptado_necessidades_especiais}'"; + $gruda = ", "; + } + + if (is_string($this->ativo)) { + $set .= "{$gruda}ativo = '{$this->ativo}'"; + $gruda = ", "; + } + + if (is_string($this->descricao_inativo)) { + $set .= "{$gruda}descricao_inativo = '{$this->descricao_inativo}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_empresa_transporte_escolar)) { + $set .= "{$gruda}ref_cod_empresa_transporte_escolar = '{$this->ref_cod_empresa_transporte_escolar}'"; + $gruda = ", "; + } + + if (is_numeric($this->ref_cod_motorista)) { + $set .= "{$gruda}ref_cod_motorista = '{$this->ref_cod_motorista}'"; + $gruda = ", "; + } + + if (is_string($this->observacao)) { + $set .= "{$gruda}observacao = '{$this->observacao}'"; + $gruda = ", "; + } + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_veiculo = '{$this->cod_veiculo}'"); + return TRUE; + } + } + + return FALSE; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * @return array + */ + function lista($cod_veiculo = NULL, $descricao = NULL, + $placa = NULL, $renavam = NULL, + $nome_motorista = NULL, $ref_cod_empresa_transporte_escolar = NULL, $marca = null, $ativo = null, $ref_cod_motorista = NULL) + { + $sql = "SELECT {$this->_campos_lista}, ( + SELECT + nome + FROM + modules.empresa_transporte_escolar emp,cadastro.pessoa p + WHERE + ref_cod_empresa_transporte_escolar = cod_empresa_transporte_escolar AND p.idpes = emp.ref_idpes + ) AS nome_empresa FROM {$this->_tabela}"; + $filtros = ""; + $whereNomes = ''; + $whereAnd = " WHERE "; + + if (is_numeric($cod_veiculo)) { + $filtros .= "{$whereAnd} cod_veiculo = '{$cod_veiculo}'"; + $whereAnd = " AND "; + } + + if (is_string($descricao)) { + $filtros .= " + {$whereAnd} TO_ASCII(LOWER(descricao)) LIKE TO_ASCII(LOWER('%{$descricao}%')) "; + + $whereAnd = ' AND '; + } + + if (is_string($placa)) { + $filtros .= "{$whereAnd} placa = '{$placa}'"; + $whereAnd = " AND "; + } + + if (is_string($renavam)) { + $filtros .= "{$whereAnd} renavam = '{$renavam}'"; + $whereAnd = " AND "; + } + + if (is_string($nome_motorista)) { + $whereNomes .= " + {$whereAnd} TO_ASCII(LOWER((SELECT + nome + FROM + modules.motorista m,cadastro.pessoa p + WHERE + ref_cod_motorista = cod_motorista AND p.idpes = m.ref_idpes))) LIKE TO_ASCII(LOWER('%{$nome_motorista}%')) "; + + $whereAnd = ' AND '; + } + + if (is_numeric($ref_cod_empresa_transporte_escolar)) { + $filtros .= "{$whereAnd} ref_cod_empresa_transporte_escolar = '{$ref_cod_empresa_transporte_escolar}'"; + $whereAnd = " AND "; + } + + if (is_numeric($ref_cod_motorista)) { + $filtros .= "{$whereAnd} ref_cod_motorista = '{$ref_cod_motorista}'"; + $whereAnd = " AND "; + } + + if (is_string($ativo)) { + $filtros .= "{$whereAnd} ativo = '{$ativo}'"; + $whereAnd = " AND "; + } + + if (is_string($marca)) { + $filtros .= " + {$whereAnd} TO_ASCII(LOWER(marca)) LIKE TO_ASCII(LOWER('%{$marca}%')) "; + $whereAnd = " AND "; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista))+2; + $resultado = array(); + + $sql .= $filtros.$whereNomes.$this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $tupla["_total"] = $this->_total; + $resultado[] = $tupla; + } + } + else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + if (count($resultado)) { + return $resultado; + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function detalhe() + { + if (is_numeric($this->cod_veiculo)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos},( + SELECT + nome + FROM + modules.empresa_transporte_escolar emp,cadastro.pessoa p + WHERE + ref_cod_empresa_transporte_escolar = cod_empresa_transporte_escolar AND p.idpes = emp.ref_idpes + ) AS nome_empresa, ( + SELECT + nome + FROM + modules.motorista m,cadastro.pessoa p + WHERE + ref_cod_motorista = cod_motorista AND p.idpes = m.ref_idpes + ) AS nome_motorista,(SELECT descricao FROM modules.tipo_veiculo where cod_tipo_veiculo = ref_cod_tipo_veiculo) AS descricao_tipo FROM {$this->_tabela} WHERE cod_veiculo = '{$this->cod_veiculo}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Retorna um array com os dados de um registro. + * @return array + */ + function existe() + { + if (is_numeric($this->cod_veiculo)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_veiculo = '{$this->cod_veiculo}'"); + $db->ProximoRegistro(); + return $db->Tupla(); + } + + return FALSE; + } + + /** + * Exclui um registro. + * @return bool + */ + function excluir() + { + if (is_numeric($this->cod_veiculo)) { + $sql = "DELETE FROM {$this->_tabela} WHERE cod_veiculo = '{$this->cod_veiculo}'"; + $db = new clsBanco(); + $db->Consulta($sql); + return true; + } + + return FALSE; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + function setLimite($intLimiteQtd, $intLimiteOffset = NULL) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + return $retorno; + } + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo ) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + return ''; + } +} \ No newline at end of file diff --git a/ieducar/intranet/ponto_xml.php b/ieducar/intranet/ponto_xml.php new file mode 100644 index 0000000..90433e3 --- /dev/null +++ b/ieducar/intranet/ponto_xml.php @@ -0,0 +1,58 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'include/modules/clsModulesItinerarioTransporteEscolar.inc.php'; + +// Id do país na tabela public.pais +$id = isset($_GET['rota']) ? $_GET['rota'] : NULL; + +header('Content-type: text/xml; charset=iso-8859-1'); + +require_once 'Portabilis/Utils/DeprecatedXmlApi.php'; +Portabilis_Utils_DeprecatedXmlApi::returnEmptyQueryUnlessUserIsLoggedIn(); + +print '' . PHP_EOL; +print '' . PHP_EOL; + +if ($id == strval(intval($id))) { + + $obj = new clsModulesItinerarioTransporteEscolar(); + $obj->setOrderBy(' seq asc '); + $pontos = $obj->listaPontos($id); + + $c=0; + foreach ($pontos as $reg) { + print sprintf(' %s' . PHP_EOL, + $reg['ref_cod_ponto_transporte_escolar'], $reg['descricao'].' - '.($reg['tipo']=='I'?'Ida':'Volta')); + } +} + +print ''; \ No newline at end of file diff --git a/ieducar/intranet/transporte_empresa_det.php b/ieducar/intranet/transporte_empresa_det.php new file mode 100644 index 0000000..a9801b1 --- /dev/null +++ b/ieducar/intranet/transporte_empresa_det.php @@ -0,0 +1,140 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Arquivo disponível desde a versão 1.0.0 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsDetalhe.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesEmpresaTransporteEscolar.inc.php'; + +require_once 'Portabilis/View/Helper/Application.php'; + + +/** + * clsIndexBase class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo($this->_instituicao . ' i-Educar - Empresas'); + $this->processoAp = 21235; + } +} + +/** + * indice class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class indice extends clsDetalhe +{ + var $titulo; + + function Gerar() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + // Verificação de permissão para cadastro. + $this->obj_permissao = new clsPermissoes(); + + $this->nivel_usuario = $this->obj_permissao->nivel_acesso($this->pessoa_logada); + + $this->titulo = 'Empresa transporte escolar - Detalhe'; + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); + + $cod_empresa_transporte_escolar = $_GET['cod_empresa']; + + $tmp_obj = new clsModulesEmpresaTransporteEscolar($cod_empresa_transporte_escolar); + $registro = $tmp_obj->detalhe(); + + if (! $registro) { + header('Location: transporte_empresa_lst.php'); + die(); + } + + $objPessoaJuridica = new clsPessoaJuridica(); + list ($id_federal, $endereco, $cep, $nm_bairro, $cidade, $ddd_telefone_1, $telefone_1, $ddd_telefone_2, $telefone_2, $ddd_telefone_mov, $telefone_mov, $ddd_telefone_fax, $telefone_fax, $email, $ins_est) = $objPessoaJuridica->queryRapida($registro['ref_idpes'], "cnpj","logradouro","cep","bairro","cidade", "ddd_1","fone_1","ddd_2","fone_2","ddd_mov","fone_mov","ddd_fax","fone_fax", "email","insc_estadual"); + + $this->addDetalhe( array("Código da empresa", $cod_empresa_transporte_escolar)); + $this->addDetalhe( array("Nome fantasia", $registro['nome_empresa']) ); + $this->addDetalhe( array("Nome do responsável", $registro['nome_responsavel']) ); + $this->addDetalhe( array("CNPJ", int2CNPJ($id_federal)) ); + $this->addDetalhe( array("Endereço", $endereco) ); + $this->addDetalhe( array("CEP", $cep) ); + $this->addDetalhe( array("Bairro", $nm_bairro) ); + $this->addDetalhe( array("Cidade", $cidade) ); + if (trim($telefone_1)!='') + $this->addDetalhe( array("Telefone 1", "({$ddd_telefone_1}) {$telefone_1}") ); + if (trim($telefone_2)!='') + $this->addDetalhe( array("Telefone 2", "({$ddd_telefone_2}) {$telefone_2}") ); + if (trim($telefone_mov)!='') + $this->addDetalhe( array("Celular", "({$ddd_telefone_mov}) {$telefone_mov}") ); + if (trim($telefone_fax)!='') + $this->addDetalhe( array("Fax", "({$ddd_telefone_fax}) {$telefone_fax}") ); + + $this->addDetalhe( array("E-mail", $email) ); + + if( ! $ins_est ) $ins_est = "isento"; + $this->addDetalhe( array("Inscrição estadual", $ins_est) ); + $this->addDetalhe( array("Observação", $registro['observacao'])); + $this->url_novo = "../module/TransporteEscolar/Empresa"; + $this->url_editar = "../module/TransporteEscolar/Empresa?id={$cod_empresa_transporte_escolar}"; + $this->url_cancelar = "transporte_empresa_lst.php"; + + $this->largura = "100%"; + } +} + +// Instancia o objeto da página +$pagina = new clsIndexBase(); + +// Instancia o objeto de conteúdo +$miolo = new indice(); + +// Passa o conteúdo para a página +$pagina->addForm($miolo); + +// Gera o HTML +$pagina->MakeAll(); diff --git a/ieducar/intranet/transporte_empresa_lst.php b/ieducar/intranet/transporte_empresa_lst.php new file mode 100644 index 0000000..b4b103f --- /dev/null +++ b/ieducar/intranet/transporte_empresa_lst.php @@ -0,0 +1,146 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ +require_once 'include/clsBase.inc.php'; +require_once 'include/clsListagem.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesEmpresaTransporteEscolar.inc.php'; + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Empresas" ); + $this->processoAp = "21235"; + } +} + +class indice extends clsListagem +{ + + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $pessoa_logada; + + /** + * Titulo no topo da pagina + * + * @var int + */ + var $titulo; + + /** + * Quantidade de registros a ser apresentada em cada pagina + * + * @var int + */ + var $limite; + + /** + * Inicio dos registros a serem exibidos (limit) + * + * @var int + */ + var $offset; + + var $cod_empresa; + var $nome_empresa; + var $nome_responsavel; + + function Gerar() + { + + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + $this->titulo = "Empresas de transporte escolar - Listagem"; + + foreach( $_GET AS $var => $val ) // passa todos os valores obtidos no GET para atributos do objeto + $this->$var = ( $val === "" ) ? null: $val; + + $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); + + $this->campoNumero("cod_empresa","Código da empresa",$this->cod_empresa,20,255,false); + $this->campoTexto("nome_empresa","Nome fantasia", $this->nome_empresa,50,255,false); + $this->campoTexto("nome_responsavel","Nome do responsável", $this->nome_responsavel,50,255,false); + + $obj_permissoes = new clsPermissoes(); + + $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); + + $this->addCabecalhos( array( + "Código da empresa", + "Nome fantasia", + "Nome do responsável", + "Telefone" + ) ); + + // Paginador + $this->limite = 20; + $this->offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->limite-$this->limite: 0; + + + $obj_empresa = new clsModulesEmpresaTransporteEscolar(); + $obj_empresa->setLimite($this->limite,$this->offset); + + $empresas = $obj_empresa->lista($this->cod_empresa,null,null,$this->nome_empresa, $this->nome_responsavel); + $total = $empresas->_total; + + foreach ( $empresas AS $registro ) { + + $this->addLinhas( array( + "{$registro["cod_empresa_transporte_escolar"]}", + "{$registro["nome_empresa"]}", + "{$registro["nome_responsavel"]}", + "{$registro["telefone"]}" + ) ); + } + + $this->addPaginador2( "transporte_empresa_lst.php", $total, $_GET, $this->nome, $this->limite ); + + $this->acao = "go(\"../module/TransporteEscolar/Empresa\")"; + $this->nome_acao = "Novo"; + + //** + $this->largura = "100%"; + } +} +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> diff --git a/ieducar/intranet/transporte_index.php b/ieducar/intranet/transporte_index.php new file mode 100644 index 0000000..7661d9e --- /dev/null +++ b/ieducar/intranet/transporte_index.php @@ -0,0 +1,62 @@ +SetTitulo( "{$this->_instituicao} i-Educar - Transporte Escolar" ); + $this->processoAp = "21234"; + } +} + +class indice +{ + function RenderHTML() + { + return " + + +
+ "; + } +} + + +$pagina = new clsIndex(); + +$miolo = new indice(); +$pagina->addForm( $miolo ); + +$pagina->MakeAll(); + +?> \ No newline at end of file diff --git a/ieducar/intranet/transporte_itinerario_cad.php b/ieducar/intranet/transporte_itinerario_cad.php new file mode 100644 index 0000000..e99658f --- /dev/null +++ b/ieducar/intranet/transporte_itinerario_cad.php @@ -0,0 +1,325 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsCadastro.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'lib/Portabilis/View/Helper/Application.php'; + +require_once 'include/modules/clsModulesRotaTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesItinerarioTransporteEscolar.inc.php'; + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Itinerário" ); + $this->processoAp = "21238"; + } +} + +class indice extends clsCadastro +{ + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $pessoa_logada; + + var $cod_rota; + var $descricao; + +// INCLUI NOVO + var $pontos; + var $ref_cod_ponto_transporte_escolar; + var $hora; + var $tipo; + var $ref_cod_veiculo; + + function Inicializar() + { + $retorno = "Editar"; + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + @session_write_close(); + + $this->cod_rota=$_GET["cod_rota"]; + + $obj_permissoes = new clsPermissoes(); + $obj_permissoes->permissao_cadastra( 21238, $this->pessoa_logada, 7, "transporte_rota_det.php?cod_rota={$this->cod_rota}" ); + $volta = false; + if( is_numeric( $this->cod_rota )) + { + $obj = new clsModulesRotaTransporteEscolar( $this->cod_rota ); + $registro = $obj->detalhe(); + if( $registro ) + $this->descricao = $registro['descricao']; + else + $volta = true; + }else + $volta = true; + + + if ($volta){ + header('Location: transporte_rota_lst.php'); + die(); + } + $this->url_cancelar = "transporte_rota_det.php?cod_rota={$this->cod_rota}"; + $this->nome_url_cancelar = "Cancelar"; + + return $retorno; + } + + function Gerar() + { + + if( $_POST ) + foreach( $_POST AS $campo => $val ) + $this->$campo = ( !$this->$campo ) ? $val : $this->$campo ; + + $this->campoRotulo("cod_rota","Código da rota" ,$this->cod_rota); + $this->campoRotulo("descricao","Rota", $this->descricao ); + + $this->campoQuebra(); + + if( is_numeric( $this->cod_rota) && !$_POST) + { + $obj = new clsModulesItinerarioTransporteEscolar(); + $obj->setOrderby(" seq ASC"); + $registros = $obj->lista(null, $this->cod_rota); + $qtd_pontos = 0; + if( $registros ) + { + foreach ( $registros AS $campo ) + { + $this->pontos[$qtd_pontos][] = $campo["ref_cod_ponto_transporte_escolar"].' - '.$campo["descricao"]; + $this->pontos[$qtd_pontos][] = $campo["hora"]; + $this->pontos[$qtd_pontos][] = $campo["tipo"]; + $this->pontos[$qtd_pontos][] = $campo["ref_cod_veiculo"].' - '.$campo["nome_onibus"]; + $qtd_pontos++; + } + } + } + + $this->campoTabelaInicio("pontos","Itinerário",array("Ponto (Requer pré-cadastro)
Digite o código ou nome do ponto e selecione o desejado","Hora","Tipo","Veículo (Requer pré-cadastro)
Digite o código, nome ou placa do veículo e selecione o desejado" ),$this->pontos); + + $this->campoTexto( "ref_cod_ponto_transporte_escolar", "Ponto (Requer pré-cadastro)", $this->ref_cod_ponto_transporte_escolar, 50, 255, false, true, false, '', '', '', 'onfocus' ); + + $this->campoHora( "hora", "Hora", $this->hora); + $this->campoLista( "tipo", "Tipo", array( '' => "Selecione", 'I' => 'Ida', 'V' => 'Volta'),$this->tipo ); + $this->campoTexto( "ref_cod_veiculo", "Veículo", $this->ref_cod_veiculo, 50, 255, false, false, false, '', '', '', 'onfocus' ); + $this->campoTabelaFim(); + + $this->campoQuebra(); + + $style = "/modules/Portabilis/Assets/Stylesheets/Frontend.css"; + Portabilis_View_Helper_Application::loadStylesheet($this, $style); + + + Portabilis_View_Helper_Application::loadJQueryLib($this); + Portabilis_View_Helper_Application::loadJQueryUiLib($this); + + Portabilis_View_Helper_Application::loadJavascript( + $this, + array('/modules/Portabilis/Assets/Javascripts/Utils.js', + '/modules/Portabilis/Assets/Javascripts/Frontend/Inputs/SimpleSearch.js', + '/modules/Portabilis/Assets/Javascripts/Validator.js') + ); + $this->addBotao('Excluir todos',"transporte_itinerario_del.php?cod_rota={$this->cod_rota}"); + + } + + function Novo() + { + return true; + } + + function Editar() + { + + + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + @session_write_close(); + $obj_permissoes = new clsPermissoes(); + $obj_permissoes->permissao_cadastra( 21238, $this->pessoa_logada, 7, "transporte_rota_det.php?cod_rota={$this->cod_rota}" ); + + if ($this->ref_cod_ponto_transporte_escolar) + { + + $obj = new clsModulesItinerarioTransporteEscolar(); + $excluiu = $obj->excluirTodos( $this->cod_rota ); + if ( $excluiu ) + { + $sequencial = 1; + foreach ( $this->ref_cod_ponto_transporte_escolar AS $key => $ponto ) + { + + $obj = new clsModulesItinerarioTransporteEscolar(NULL, $this->cod_rota, $sequencial, $this->retornaCodigo($ponto), $this->retornaCodigo($this->ref_cod_veiculo[$key]), + $this->hora[$key], $this->tipo[$key]); + $cadastrou1 = $obj->cadastra(); + if( !$cadastrou1 ) + { + $this->mensagem = "Cadastro não realizado.
"; + return false; + } + $sequencial++; + + } + } + $this->mensagem .= "Edição efetuada com sucesso.
"; + header( "Location: transporte_rota_det.php?cod_rota={$this->cod_rota}" ); + die(); + return true; + + } + + } + + function Excluir() + { + return true; + } + + protected function retornaCodigo($palavra){ + + return substr($palavra, 0, strpos($palavra, " -")); + } + + protected function fixupFrequencia($frequencia) { + if (strpos($frequencia, ',')) { + $frequencia = str_replace('.', '', $frequencia); + $frequencia = str_replace(',', '.', $frequencia); + } + + return $frequencia; + } +} + +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); + +?> + + \ No newline at end of file diff --git a/ieducar/intranet/transporte_itinerario_del.php b/ieducar/intranet/transporte_itinerario_del.php new file mode 100644 index 0000000..bed9fde --- /dev/null +++ b/ieducar/intranet/transporte_itinerario_del.php @@ -0,0 +1,99 @@ +SetTitulo( "{$this->_instituicao} i-Educar - Itinerário" ); + $this->processoAp = "21238"; + } +} + +class indice extends clsCadastro +{ + + var $cod_rota; + + + function Inicializar() + { + $retorno = "Novo"; + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + @session_write_close(); + + $this->cod_rota=$_GET["cod_rota"]; + + $obj_permissoes = new clsPermissoes(); + $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "transporte_itinerario_cad.php?cod_rota={$this->cod_rota}" ); + + $obj = new clsModulesItinerarioTransporteEscolar(); + $excluiu = $obj->excluirTodos( $this->cod_rota ); + + if($excluiu) + { + echo ""; + } + + + die(); + return; + } + + function Gerar() + { + + } + + function Novo() + { + + } + + function Excluir() + { + + } +} + +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> diff --git a/ieducar/intranet/transporte_motorista_det.php b/ieducar/intranet/transporte_motorista_det.php new file mode 100644 index 0000000..be54e00 --- /dev/null +++ b/ieducar/intranet/transporte_motorista_det.php @@ -0,0 +1,126 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsDetalhe.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesMotorista.inc.php'; + +require_once 'Portabilis/Date/Utils.php'; +require_once 'Portabilis/View/Helper/Application.php'; + + +/** + * clsIndexBase class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo($this->_instituicao . ' i-Educar - Motoristas'); + $this->processoAp = 21236; + } +} + +/** + * indice class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class indice extends clsDetalhe +{ + var $titulo; + + function Gerar() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + // Verificação de permissão para cadastro. + $this->obj_permissao = new clsPermissoes(); + + $this->nivel_usuario = $this->obj_permissao->nivel_acesso($this->pessoa_logada); + + $this->titulo = 'Motorista - Detalhe'; + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); + + $cod_motorista = $_GET['cod_motorista']; + + $tmp_obj = new clsModulesMotorista($cod_motorista); + $registro = $tmp_obj->detalhe(); + + if (! $registro) { + header('Location: transporte_motorista_lst.php'); + die(); + } + + $this->addDetalhe( array("Código do motorista", $cod_motorista)); + $this->addDetalhe( array("Nome", $registro['nome_motorista'].'
Visualizar pessoa') ); + $this->addDetalhe( array("CNH", $registro['cnh']) ); + $this->addDetalhe( array("Categoria", $registro['tipo_cnh']) ); + if (trim($registro['dt_habilitacao'])!='') + $this->addDetalhe( array("Data da habilitação", Portabilis_Date_Utils::pgSQLToBr($registro['dt_habilitacao']) )); + if (trim($registro['vencimento_cnh'])!='') + $this->addDetalhe( array("Vencimento da habilitação", Portabilis_Date_Utils::pgSQLToBr($registro['vencimento_cnh']) ) ); + + $this->addDetalhe( array("Observação", $registro['observacao'])); + $this->url_novo = "../module/TransporteEscolar/Motorista"; + $this->url_editar = "../module/TransporteEscolar/motorista?id={$cod_motorista}"; + $this->url_cancelar = "transporte_motorista_lst.php"; + + $this->largura = "100%"; + } +} + +// Instancia o objeto da página +$pagina = new clsIndexBase(); + +// Instancia o objeto de conteúdo +$miolo = new indice(); + +// Passa o conteúdo para a página +$pagina->addForm($miolo); + +// Gera o HTML +$pagina->MakeAll(); diff --git a/ieducar/intranet/transporte_motorista_lst.php b/ieducar/intranet/transporte_motorista_lst.php new file mode 100644 index 0000000..0d64add --- /dev/null +++ b/ieducar/intranet/transporte_motorista_lst.php @@ -0,0 +1,175 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ +require_once ("include/clsBase.inc.php"); +require_once ("include/clsListagem.inc.php"); +require_once ("include/clsBanco.inc.php"); +require_once( "include/public/geral.inc.php" ); + +require_once("include/modules/clsModulesEmpresaTransporteEscolar.inc.php"); +require_once("include/modules/clsModulesMotorista.inc.php"); + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Motoristas" ); + $this->processoAp = "21236"; + } +} + +class indice extends clsListagem +{ + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $__pessoa_logada; + + /** + * Titulo no topo da pagina + * + * @var int + */ + var $__titulo; + + /** + * Quantidade de registros a ser apresentada em cada pagina + * + * @var int + */ + var $__limite; + + /** + * Inicio dos registros a serem exibidos (limit) + * + * @var int + */ + var $__offset; + + var $cod_motorista; + var $nome_motorista; + var $cod_empresa; + var $cnh; + var $tipo_cnh; + + function Gerar() + { + @session_start(); + $this->__pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + $this->__titulo = "Motoristas - Listagem"; + + foreach( $_GET AS $var => $val ) + $this->$var = ( $val === "" ) ? null: $val; + + $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); + + $this->addCabecalhos( array( + "Código motorista", + "Nome", + "CNH", + "Categoria CNH", + "Empresa" + ) ); + + // Filtros de Foreign Keys + $opcoes = array( "" => "Selecione" ); + + $objTemp = new clsModulesEmpresaTransporteEscolar(); + $objTemp->setOrderby(' nome_empresa ASC'); + $lista = $objTemp->lista(); + if ( is_array( $lista ) && count( $lista ) ) + { + foreach ( $lista as $registro ) + { + $opcoes["{$registro['cod_empresa_transporte_escolar']}"] = "{$registro['nome_empresa']}"; + } + }else{ + $opcoes = array( "" => "Sem empresas cadastradas" ); + } + + $this->campoLista( "cod_empresa", "Empresa", $opcoes, $this->cod_empresa, "", false, "", "", false, false ); + $this->campoNumero('cod_motorista','Código do motorista',$this->cod_motorista,29,15); + $this->campoNumero('cnh','CNH',$this->cnh,29,15); + $this->campoTexto( "tipo_cnh", "Categoria", $this->tipo_cnh, 2, 2, false ); + $this->campoTexto( "nome_motorista", "Nome", $this->nome_motorista, 29, 30, false ); + + + // Paginador + $this->__limite = 20; + $this->__offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->__limite-$this->__limite: 0; + + $obj_uf = new clsModulesMotorista(); + $obj_uf->setOrderby( " nome_motorista ASC" ); + $obj_uf->setLimite( $this->__limite, $this->__offset ); + + $lista = $obj_uf->lista( + $this->cod_motorista, + $this->nome_motorista, + $this->cnh, + $this->tipo_cnh, + $this->cod_empresa + ); + + $total = $obj_uf->_total; + + // monta a lista + if( is_array( $lista ) && count( $lista ) ) + { + foreach ( $lista AS $registro ) + { + $this->addLinhas( array( + "{$registro["cod_motorista"]}", + "{$registro["nome_motorista"]}", + "{$registro["cnh"]}", + "{$registro["tipo_cnh"]}", + "{$registro["nome_empresa"]}" + ) ); + } + } + + $this->addPaginador2( "transporte_motorista_lst.php", $total, $_GET, $this->nome, $this->__limite ); + + $this->acao = "go(\"/module/TransporteEscolar/Motorista\")"; + $this->nome_acao = "Novo"; + + $this->largura = "100%"; + } +} +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> \ No newline at end of file diff --git a/ieducar/intranet/transporte_pessoa_det.php b/ieducar/intranet/transporte_pessoa_det.php new file mode 100644 index 0000000..1016518 --- /dev/null +++ b/ieducar/intranet/transporte_pessoa_det.php @@ -0,0 +1,122 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Arquivo disponível desde a versão 1.0.0 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsDetalhe.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesPessoaTransporte.inc.php'; + +require_once 'Portabilis/View/Helper/Application.php'; + + +/** + * clsIndexBase class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo($this->_instituicao . ' i-Educar - Usuários de transporte'); + $this->processoAp = 21240; + } +} + +/** + * indice class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class indice extends clsDetalhe +{ + var $titulo; + + function Gerar() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + // Verificação de permissão para cadastro. + $this->obj_permissao = new clsPermissoes(); + + $this->nivel_usuario = $this->obj_permissao->nivel_acesso($this->pessoa_logada); + + $this->titulo = 'Usuário de transporte - Detalhe'; + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); + + $cod_pt = $_GET['cod_pt']; + + $tmp_obj = new clsModulesPessoaTransporte($cod_pt); + $registro = $tmp_obj->detalhe(); + + if (! $registro) { + header('Location: transporte_empresa_lst.php'); + die(); + } + + $this->addDetalhe( array("Código", $cod_pt)); + $this->addDetalhe( array("Pessoa", $registro['nome_pessoa']) ); + $this->addDetalhe( array("Rota", $registro['nome_rota']) ); + $this->addDetalhe( array("Destino", (trim($registro['nome_destino'])=='' ? $registro['nome_destino2'] : $registro['nome_destino'])) ); + $this->addDetalhe( array("Ponto de embarque", $registro['nome_ponto'] )); + $this->addDetalhe( array("Observação", $registro['observacao']) ); + + $this->url_novo = "../module/TransporteEscolar/Pessoatransporte"; + $this->url_editar = "../module/TransporteEscolar/Pessoatransporte?id={$cod_pt}"; + $this->url_cancelar = "transporte_pessoa_lst.php"; + + $this->largura = "100%"; + } +} + +// Instancia o objeto da página +$pagina = new clsIndexBase(); + +// Instancia o objeto de conteúdo +$miolo = new indice(); + +// Passa o conteúdo para a página +$pagina->addForm($miolo); + +// Gera o HTML +$pagina->MakeAll(); diff --git a/ieducar/intranet/transporte_pessoa_lst.php b/ieducar/intranet/transporte_pessoa_lst.php new file mode 100644 index 0000000..2e364df --- /dev/null +++ b/ieducar/intranet/transporte_pessoa_lst.php @@ -0,0 +1,162 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ +require_once 'include/clsBase.inc.php'; +require_once 'include/clsListagem.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesRotaTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesPessoaTransporte.inc.php'; + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Usuários de transporte" ); + $this->processoAp = "21240"; + } +} + +class indice extends clsListagem +{ + + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $pessoa_logada; + + /** + * Titulo no topo da pagina + * + * @var int + */ + var $titulo; + + /** + * Quantidade de registros a ser apresentada em cada pagina + * + * @var int + */ + var $limite; + + /** + * Inicio dos registros a serem exibidos (limit) + * + * @var int + */ + var $offset; + + var $cod_pessoa_transporte; + var $ref_cod_rota_transporte_escolar; + var $nome_pessoa; + var $nome_destino; + + function Gerar() + { + + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + $this->titulo = "Usuário de transporte - Listagem"; + + foreach( $_GET AS $var => $val ) // passa todos os valores obtidos no GET para atributos do objeto + $this->$var = ( $val === "" ) ? null: $val; + + $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); + + // Cria lista de rotas + $obj_rota = new clsModulesRotaTransporteEscolar(); + $obj_rota->setOrderBy(' descricao asc '); + $lista_rota = $obj_rota->lista(); + $select_rota = array("" => "Selecione uma rota" ); + foreach ($lista_rota as $reg) { + $select_rota["{$reg['cod_rota_transporte_escolar']}"] = "{$reg['descricao']}"; + } + + $this->campoNumero("cod_pessoa_transporte","Código",$this->cod_pessoa_transporte,20,255,false); + $this->campoTexto("nome_pessoa","Nome da pessoa", $this->nome_pessoa,50,255,false); + $this->campoTexto("nome_destino","Nome do destino", $this->nome_destino,70,255,false); + $this->campoLista( "ref_cod_rota_transporte_escolar", "Rota", $select_rota, $this->ref_cod_rota_transporte_escolar, "", false, "", "", false, false ); + + $obj_permissoes = new clsPermissoes(); + + $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); + + $this->addCabecalhos( array( + "Código", + "Nome da pessoa", + "Rota", + "Destino", + "Ponto de embarque" + ) ); + + // Paginador + $this->limite = 20; + $this->offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->limite-$this->limite: 0; + + + $obj = new clsModulesPessoaTransporte(); + $obj->setLimite($this->limite,$this->offset); + + $lista = $obj->lista($this->cod_pessoa_transporte, null, + $this->ref_cod_rota_transporte_escolar,null, null,$this->nome_pessoa,$this->nome_destino + ); + $total = $lista->_total; + + foreach ( $lista AS $registro ) { + + $this->addLinhas( array( + "{$registro["cod_pessoa_transporte"]}", + "{$registro["nome_pessoa"]}", + "{$registro["nome_rota"]}", + "".(trim($registro["nome_destino"])=='' ? $registro["nome_destino2"] : $registro["nome_destino"])."", + "{$registro["nome_ponto"]}" + ) ); + } + + $this->addPaginador2( "transporte_pessoa_lst.php", $total, $_GET, $this->nome, $this->limite ); + + $this->acao = "go(\"../module/TransporteEscolar/Pessoatransporte\")"; + $this->nome_acao = "Novo"; + + //** + $this->largura = "100%"; + } +} +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> \ No newline at end of file diff --git a/ieducar/intranet/transporte_ponto_det.php b/ieducar/intranet/transporte_ponto_det.php new file mode 100644 index 0000000..b7ad477 --- /dev/null +++ b/ieducar/intranet/transporte_ponto_det.php @@ -0,0 +1,117 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Arquivo disponível desde a versão 1.0.0 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsDetalhe.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesPontoTransporteEscolar.inc.php'; + +require_once 'Portabilis/View/Helper/Application.php'; + + +/** + * clsIndexBase class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo($this->_instituicao . ' i-Educar - Pontos'); + $this->processoAp = 21239; + } +} + +/** + * indice class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class indice extends clsDetalhe +{ + var $titulo; + + function Gerar() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + // Verificação de permissão para cadastro. + $this->obj_permissao = new clsPermissoes(); + + $this->nivel_usuario = $this->obj_permissao->nivel_acesso($this->pessoa_logada); + + $this->titulo = 'Ponto - Detalhe'; + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); + + $cod_ponto_transporte_escolar = $_GET['cod_ponto']; + $tmp_obj = new clsModulesPontoTransporteEscolar($cod_ponto_transporte_escolar); + $registro = $tmp_obj->detalhe(); + + if (! $registro) { + header('Location: transporte_ponto_lst.php'); + die(); + } + + $this->addDetalhe( array("Código do ponto", $cod_ponto_transporte_escolar)); + $this->addDetalhe( array("Descrição", $registro['descricao']) ); + + $this->url_novo = "../module/TransporteEscolar/Ponto"; + $this->url_editar = "../module/TransporteEscolar/Ponto?id={$cod_ponto_transporte_escolar}"; + $this->url_cancelar = "transporte_ponto_lst.php"; + + $this->largura = "100%"; + } +} + +// Instancia o objeto da página +$pagina = new clsIndexBase(); + +// Instancia o objeto de conteúdo +$miolo = new indice(); + +// Passa o conteúdo para a página +$pagina->addForm($miolo); + +// Gera o HTML +$pagina->MakeAll(); diff --git a/ieducar/intranet/transporte_ponto_lst.php b/ieducar/intranet/transporte_ponto_lst.php new file mode 100644 index 0000000..84441db --- /dev/null +++ b/ieducar/intranet/transporte_ponto_lst.php @@ -0,0 +1,141 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ +require_once 'include/clsBase.inc.php'; +require_once 'include/clsListagem.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesPontoTransporteEscolar.inc.php'; + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Pontos" ); + $this->processoAp = "21239"; + } +} + +class indice extends clsListagem +{ + + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $pessoa_logada; + + /** + * Titulo no topo da pagina + * + * @var int + */ + var $titulo; + + /** + * Quantidade de registros a ser apresentada em cada pagina + * + * @var int + */ + var $limite; + + /** + * Inicio dos registros a serem exibidos (limit) + * + * @var int + */ + var $offset; + + var $cod_ponto; + var $descricao; + + function Gerar() + { + + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + $this->titulo = "Pontos - Listagem"; + + foreach( $_GET AS $var => $val ) // passa todos os valores obtidos no GET para atributos do objeto + $this->$var = ( $val === "" ) ? null: $val; + + $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); + + $this->campoNumero("cod_ponto","Código do ponto",$this->cod_ponto,20,255,false); + $this->campoTexto("descricao","Descrição", $this->descricao,50,255,false); + + + $obj_permissoes = new clsPermissoes(); + + $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); + + $this->addCabecalhos( array( + "Código do ponto", + "Descrição" + ) ); + + // Paginador + $this->limite = 20; + $this->offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->limite-$this->limite: 0; + + + $obj_ponto = new clsModulesPontoTransporteEscolar(); + $obj_ponto->setOrderBy(' descricao asc '); + $obj_ponto->setLimite($this->limite,$this->offset); + + $pontos = $obj_ponto->lista($this->cod_ponto,$this->descricao); + $total = $pontos->_total; + + foreach ( $pontos AS $registro ) { + + $this->addLinhas( array( + "{$registro["cod_ponto_transporte_escolar"]}", + "{$registro["descricao"]}" + ) ); + } + + $this->addPaginador2( "transporte_ponto_lst.php", $total, $_GET, $this->nome, $this->limite ); + + $this->acao = "go(\"../module/TransporteEscolar/Ponto\")"; + $this->nome_acao = "Novo"; + + $this->largura = "100%"; + } +} +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> diff --git a/ieducar/intranet/transporte_rota_det.php b/ieducar/intranet/transporte_rota_det.php new file mode 100644 index 0000000..fb84023 --- /dev/null +++ b/ieducar/intranet/transporte_rota_det.php @@ -0,0 +1,191 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsDetalhe.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesRotaTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesItinerarioTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesPontoTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesVeiculo.inc.php'; + +require_once 'Portabilis/Date/Utils.php'; +require_once 'Portabilis/View/Helper/Application.php'; + + +/** + * clsIndexBase class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo($this->_instituicao . ' i-Educar - Rotas'); + $this->processoAp = 21238; + } +} + +/** + * indice class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class indice extends clsDetalhe +{ + var $titulo; + + function Gerar() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + // Verificação de permissão para cadastro. + $this->obj_permissao = new clsPermissoes(); + + $this->nivel_usuario = $this->obj_permissao->nivel_acesso($this->pessoa_logada); + + $this->titulo = 'Rota - Detalhe'; + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); + + $cod_rota_transporte_escolar = $_GET['cod_rota']; + + $tmp_obj = new clsModulesRotaTransporteEscolar($cod_rota_transporte_escolar); + $registro = $tmp_obj->detalhe(); + + if (! $registro) { + header('Location: transporte_rota_lst.php'); + die(); + } + + $this->addDetalhe( array("Ano", $registro['ano']) ); + $this->addDetalhe( array("Código da rota", $cod_rota_transporte_escolar)); + $this->addDetalhe( array("Descrição", $registro['descricao']) ); + $this->addDetalhe( array("Destino", $registro['nome_destino'])); + $this->addDetalhe( array("Empresa", $registro['nome_empresa'])); + $this->addDetalhe( array("Tipo da rota", ($registro['tipo_rota'] == 'U' ? 'Urbana' : 'Rural' ))); + if (trim($registro['km_pav'])!='') + $this->addDetalhe( array("Percurso pavimentado", $registro['km_pav'].' km')); + if (trim($registro['km_npav'])!='') + $this->addDetalhe( array("Percurso não pavimentado", $registro['km_npav'].' km')); + + $this->addDetalhe( array("Terceirizado", ($registro['tercerizado'] == 'S' ? 'Sim' : 'Não' ))); + + // Itinerário + + $obj = new clsModulesItinerarioTransporteEscolar(); + $obj->setOrderby('seq ASC'); + $lst = $obj->lista(null, $cod_rota_transporte_escolar ); + + if ($lst) { + $tabela = ' + + + + + + + + + '; + + $cont = 0; + + foreach ($lst as $valor) { + if (($cont % 2) == 0) { + $color = ' bgcolor="#E4E9ED" '; + } + else { + $color = ' bgcolor="#FFFFFF" '; + } + + $obj_veiculo = new clsModulesVeiculo($valor['ref_cod_veiculo']); + $obj_veiculo = $obj_veiculo->detalhe(); + $valor_veiculo = $obj_veiculo['descricao']==''?'':$obj_veiculo['descricao'].' - Placa: '.$obj_veiculo['placa']; + + $obj_ponto = new clsModulesPontoTransporteEscolar($valor['ref_cod_ponto_transporte_escolar']); + $obj_ponto = $obj_ponto->detalhe(); + $valor_ponto = $obj_ponto['descricao']; + + $tabela .= sprintf(' + + + + + + + ', + $color, $valor['seq'], $color, $valor_ponto, $color, $valor['hora'],$color, ($valor['tipo'] == 'V' ? 'Volta' : 'Ida'),$color, $valor_veiculo + ); + + $cont++; + } + + $tabela .= '
Editar itinerário
SequencialPontoHoraTipoVeículo
%s%s%s%s%s
'; + + + } + if ($tabela) { + $this->addDetalhe(array('Itinerário', $tabela)); + } else{ + $this->addDetalhe(array('Itinerário', 'Editar itinerário')); + } + $this->url_novo = "../module/TransporteEscolar/Rota"; + $this->url_editar = "../module/TransporteEscolar/Rota?id={$cod_rota_transporte_escolar}"; + $this->url_cancelar = "transporte_rota_lst.php"; + + $this->largura = "100%"; + } +} + +// Instancia o objeto da página +$pagina = new clsIndexBase(); + +// Instancia o objeto de conteúdo +$miolo = new indice(); + +// Passa o conteúdo para a página +$pagina->addForm($miolo); + +// Gera o HTML +$pagina->MakeAll(); diff --git a/ieducar/intranet/transporte_rota_lst.php b/ieducar/intranet/transporte_rota_lst.php new file mode 100644 index 0000000..13018ce --- /dev/null +++ b/ieducar/intranet/transporte_rota_lst.php @@ -0,0 +1,181 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ +require_once ("include/clsBase.inc.php"); +require_once ("include/clsListagem.inc.php"); +require_once ("include/clsBanco.inc.php"); +require_once( "include/public/geral.inc.php" ); + +require_once("include/modules/clsModulesRotaTransporteEscolar.inc.php"); +require_once("include/modules/clsModulesEmpresaTransporteEscolar.inc.php"); + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Rotas" ); + $this->processoAp = "21238"; + } +} + +class indice extends clsListagem +{ + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $__pessoa_logada; + + /** + * Titulo no topo da pagina + * + * @var int + */ + var $__titulo; + + /** + * Quantidade de registros a ser apresentada em cada pagina + * + * @var int + */ + var $__limite; + + /** + * Inicio dos registros a serem exibidos (limit) + * + * @var int + */ + var $__offset; + + var $descricao; + var $ref_idpes_destino; + var $ano; + var $tipo_rota; + var $km_pav; + var $km_npav; + var $ref_cod_empresa_transporte_escolar; + var $tercerizado; + var $nome_destino; + + function Gerar() + { + @session_start(); + $this->__pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + $this->__titulo = "Rotas - Listagem"; + + foreach( $_GET AS $var => $val ) + $this->$var = ( $val === "" ) ? null: $val; + + $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); + + $this->addCabecalhos( array( + "Ano", + "Código da rota", + "Descrição", + "Destino", + "Empresa", + "Terceirizado" + ) ); + + // Filtros de Foreign Keys + $opcoes = array( "" => "Selecione" ); + + $objTemp = new clsModulesEmpresaTransporteEscolar(); + $objTemp->setOrderby(' nome_empresa ASC'); + $lista = $objTemp->lista(); + if ( is_array( $lista ) && count( $lista ) ) + { + foreach ( $lista as $registro ) + { + $opcoes["{$registro['cod_empresa_transporte_escolar']}"] = "{$registro['nome_empresa']}"; + } + }else{ + $opcoes = array( "" => "Sem empresas cadastradas" ); + } + + $this->campoLista( "ref_cod_empresa_transporte_escolar", "Empresa", $opcoes, $this->ref_cod_empresa_transporte_escolar, "", false, "", "", false, false ); + $this->campoTexto('descricao','Descrição',$this->descricao,50,30); + $this->campoNumero('ano','Ano',$this->cnh,4,5); + $this->campoTexto('nome_destino','Destino',$this->nome_destino,50,30); + + + // Paginador + $this->__limite = 20; + $this->__offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->__limite-$this->__limite: 0; + + $obj_rota = new clsModulesRotaTransporteEscolar(); + $obj_rota->setOrderby( " descricao ASC" ); + $obj_rota->setLimite( $this->__limite, $this->__offset ); + + $lista = $obj_rota->lista( + null, + $this->descricao, + null, + $this->nome_destino, + $this->ano, + $this->ref_cod_empresa_transporte_escolar + ); + + $total = $obj_rota->_total; + + // monta a lista + if( is_array( $lista ) && count( $lista ) ) + { + foreach ( $lista AS $registro ) + { + $this->addLinhas( array( + "{$registro["ano"]}", + "{$registro["cod_rota_transporte_escolar"]}", + "{$registro["descricao"]}", + "{$registro["nome_destino"]}", + "{$registro["nome_empresa"]}", + "".($registro["tercerizado"] == 'S'? 'Sim' : 'Não')."" + ) ); + } + } + + $this->addPaginador2( "transporte_rota_lst.php", $total, $_GET, $this->nome, $this->__limite ); + + $this->acao = "go(\"/module/TransporteEscolar/Rota\")"; + $this->nome_acao = "Novo"; + + $this->largura = "100%"; + } +} +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> \ No newline at end of file diff --git a/ieducar/intranet/transporte_veiculo_det.php b/ieducar/intranet/transporte_veiculo_det.php new file mode 100644 index 0000000..ba2a045 --- /dev/null +++ b/ieducar/intranet/transporte_veiculo_det.php @@ -0,0 +1,147 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsDetalhe.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; +require_once 'include/modules/clsModulesVeiculo.inc.php'; + +require_once 'Portabilis/Date/Utils.php'; +require_once 'Portabilis/View/Helper/Application.php'; + + +/** + * clsIndexBase class.21239 + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo($this->_instituicao . ' i-Educar - Veiculos'); + $this->processoAp = 21237; + } +} + +/** + * indice class. + * + * @author Prefeitura Municipal de Itajaí + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since Classe disponível desde a versão 1.0.0 + * @version @@package_version@@ + */ +class indice extends clsDetalhe +{ + var $titulo; + + function Gerar() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + // Verificação de permissão para cadastro. + $this->obj_permissao = new clsPermissoes(); + + $this->nivel_usuario = $this->obj_permissao->nivel_acesso($this->pessoa_logada); + + $this->titulo = 'Veiculo - Detalhe'; + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); + + $cod_veiculo = $_GET['cod_veiculo']; + + $tmp_obj = new clsModulesVeiculo($cod_veiculo); + $registro = $tmp_obj->detalhe(); + + if (! $registro) { + header('Location: transporte_veiculo_lst.php'); + die(); + } + + $this->addDetalhe( array("Código do veículo", $cod_veiculo)); + $this->addDetalhe( array("Descrição", $registro['descricao']) ); + $this->addDetalhe( array("Placa", $registro['placa']) ); + $this->addDetalhe( array("Renavam", $registro['renavam']) ); + $this->addDetalhe( array("Chassi", $registro['chassi']) ); + $this->addDetalhe( array("Marca", $registro['marca']) ); + $this->addDetalhe( array("Ano fabricação", $registro['ano_fabricacao']) ); + $this->addDetalhe( array("Ano modelo", $registro['ano_modelo']) ); + $this->addDetalhe( array("Limite de passageiros", $registro['passageiros']) ); + $malha =''; + switch ($registro['malha']){ + case 'A': + $malha = 'Aquática/Embarcação'; + break; + case 'F': + $malha = 'Ferroviária'; + break; + case 'R': + $malha = 'Rodoviária'; + break; + } + $this->addDetalhe( array("Malha", $malha) ); + $this->addDetalhe( array("Categoria", $registro['descricao_tipo']) ); + $this->addDetalhe( array("Exclusivo para transporte escolar", ($registro['exclusivo_transporte_escolar'] == 'S' ? 'Sim' : 'Não')) ); + $this->addDetalhe( array("Adaptado para pessoas com necessidades especiais", ($registro['adaptado_necessidades_especiais'] == 'S' ? 'Sim' : 'Não')) ); + $this->addDetalhe( array("Ativo", ($registro['ativo'] == 'S' ? 'Sim' : 'Não')) ); + if ($registro['ativo']=='N') + $this->addDetalhe( array("Descrição inativo", $registro['descricao_inativo']) ); + $this->addDetalhe( array("Empresa", $registro['nome_empresa']) ); + $this->addDetalhe( array("Motorista responsável", $registro['nome_motorista']) ); + $this->addDetalhe( array("Observação", $registro['observacao'])); + $this->url_novo = "../module/TransporteEscolar/Veiculo"; + $this->url_editar = "../module/TransporteEscolar/Veiculo?id={$cod_veiculo}"; + $this->url_cancelar = "transporte_veiculo_lst.php"; + + $this->largura = "100%"; + } +} + +// Instancia o objeto da página +$pagina = new clsIndexBase(); + +// Instancia o objeto de conteúdo +$miolo = new indice(); + +// Passa o conteúdo para a página +$pagina->addForm($miolo); + +// Gera o HTML +$pagina->MakeAll(); diff --git a/ieducar/intranet/transporte_veiculo_lst.php b/ieducar/intranet/transporte_veiculo_lst.php new file mode 100644 index 0000000..88fa285 --- /dev/null +++ b/ieducar/intranet/transporte_veiculo_lst.php @@ -0,0 +1,188 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Module + * @since 07/2013 + * @version $Id$ + */ +require_once ("include/clsBase.inc.php"); +require_once ("include/clsListagem.inc.php"); +require_once ("include/clsBanco.inc.php"); +require_once( "include/public/geral.inc.php" ); + +require_once("include/modules/clsModulesEmpresaTransporteEscolar.inc.php"); +require_once("include/modules/clsModulesVeiculo.inc.php"); + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Veículos" ); + $this->processoAp = "21237"; + } +} + +class indice extends clsListagem +{ + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $__pessoa_logada; + + /** + * Titulo no topo da pagina + * + * @var int + */ + var $__titulo; + + /** + * Quantidade de registros a ser apresentada em cada pagina + * + * @var int + */ + var $__limite; + + /** + * Inicio dos registros a serem exibidos (limit) + * + * @var int + */ + var $__offset; + + var $cod_veiculo; + var $descricao; + var $placa; + var $renavam; + var $marca; + var $ativo; + var $cod_empresa; + var $nome_motorista; + + function Gerar() + { + @session_start(); + $this->__pessoa_logada = $_SESSION['id_pessoa']; + session_write_close(); + + $this->__titulo = "Veículos - Listagem"; + + foreach( $_GET AS $var => $val ) + $this->$var = ( $val === "" ) ? null: $val; + + $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); + + $this->addCabecalhos( array( + "Código do veículo", + "Descrição", + "Placa", + "Marca", + "Empresa", + "Motorista responsável" + ) ); + + // Filtros de Foreign Keys + $opcoes = array( "" => "Selecione" ); + + $objTemp = new clsModulesEmpresaTransporteEscolar(); + $objTemp->setOrderby(' nome_empresa ASC'); + $lista = $objTemp->lista(); + if ( is_array( $lista ) && count( $lista ) ) + { + foreach ( $lista as $registro ) + { + $opcoes["{$registro['cod_empresa_transporte_escolar']}"] = "{$registro['nome_empresa']}"; + } + }else{ + $opcoes = array( "" => "Sem empresas cadastradas" ); + } + + $this->campoNumero('cod_veiculo','Código do veículo',$this->cod_veiculo,29,15); + $this->campoTexto( "descricao", "Descrição", $this->descricao, 29, 50, false ); + $this->campoTexto( "placa", "Placa", $this->placa, 29, 10, false ); + $this->campoTexto( "renavam", "Renavam", $this->renavam, 29, 30, false ); + $this->campoTexto( "marca", "Marca", $this->marca, 29, 50, false ); + + $this->campoLista( "ativo", "Ativo", array( null => 'Selecione', 'S' => 'Ativo', 'N' => 'Inativo'), $this->ativo, "", false, "", "", false, false ); + $this->campoLista( "cod_empresa", "Empresa", $opcoes, $this->cod_empresa, "", false, "", "", false, false ); + $this->campoTexto( "nome_motorista", "Motorista responsável", $this->nome_motorista, 29, 30, false ); + + + // Paginador + $this->__limite = 20; + $this->__offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->__limite-$this->__limite: 0; + + $obj = new clsModulesVeiculo(); + $obj->setOrderby( " descricao ASC" ); + $obj->setLimite( $this->__limite, $this->__offset ); + + $lista = $obj->lista( + $this->cod_veiculo, + $this->descricao, + $this->placa, + $this->renavam, + $this->nome_motorista, + $this->cod_empresa, + $this->marca, + $this->ativo + + ); + + $total = $obj->_total; + + // monta a lista + if( is_array( $lista ) && count( $lista ) ) + { + foreach ( $lista AS $registro ) + { + $this->addLinhas( array( + "{$registro["cod_veiculo"]}", + "{$registro["descricao"]}", + "{$registro["placa"]}", + "{$registro["marca"]}", + "{$registro["nome_empresa"]}", + "{$registro["nome_motorista"]}" + ) ); + } + } + + $this->addPaginador2( "transporte_veiculo_lst.php", $total, $_GET, $this->nome, $this->__limite ); + + $this->acao = "go(\"/module/TransporteEscolar/Veiculo\")"; + $this->nome_acao = "Novo"; + + $this->largura = "100%"; + } +} +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> \ No newline at end of file diff --git a/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchEmpresa.php b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchEmpresa.php new file mode 100644 index 0000000..9e32f84 --- /dev/null +++ b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchEmpresa.php @@ -0,0 +1,70 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ + +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php'; + +/** + * Portabilis_View_Helper_Input_SimpleSearchEmpresa class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ +class Portabilis_View_Helper_Input_Resource_SimpleSearchEmpresa extends Portabilis_View_Helper_Input_SimpleSearch { + + protected function resourceValue($id) { + if ($id) { + $sql = "select nome from modules.empresa_transporte_escolar, cadastro.pessoa where ref_idpes = idpes and cod_empresa_transporte_escolar = $1"; + $options = array('params' => $id, 'return_only' => 'first-field'); + $nome = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options); + + return Portabilis_String_Utils::toLatin1($nome, array('transform' => true, 'escape' => false)); + } + } + + public function simpleSearchEmpresa($attrName = '', $options = array()) { + $defaultOptions = array('objectName' => 'empresa', + 'apiController' => 'Empresa', + 'apiResource' => 'empresa-search'); + + $options = $this->mergeOptions($options, $defaultOptions); + + parent::simpleSearch($options['objectName'], $attrName, $options); + } + + protected function inputPlaceholder($inputOptions) { + return 'Informe o código ou nome da empresa'; + } + +} \ No newline at end of file diff --git a/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchMotorista.php b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchMotorista.php new file mode 100644 index 0000000..2295faa --- /dev/null +++ b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchMotorista.php @@ -0,0 +1,70 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ + +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php'; + +/** + * Portabilis_View_Helper_Input_SimpleSearchMotorista class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ +class Portabilis_View_Helper_Input_Resource_SimpleSearchMotorista extends Portabilis_View_Helper_Input_SimpleSearch { + + protected function resourceValue($id) { + if ($id) { + $sql = "select nome from modules.motorista, cadastro.pessoa where ref_idpes = idpes and cod_motorista = $1"; + $options = array('params' => $id, 'return_only' => 'first-field'); + $nome = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options); + + return Portabilis_String_Utils::toLatin1($nome, array('transform' => true, 'escape' => false)); + } + } + + public function simpleSearchMotorista($attrName = '', $options = array()) { + $defaultOptions = array('objectName' => 'motorista', + 'apiController' => 'Motorista', + 'apiResource' => 'motorista-search'); + + $options = $this->mergeOptions($options, $defaultOptions); + + parent::simpleSearch($options['objectName'], $attrName, $options); + } + + protected function inputPlaceholder($inputOptions) { + return 'Informe o código ou nome do motorista'; + } + +} \ No newline at end of file diff --git a/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPessoaj.php b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPessoaj.php new file mode 100644 index 0000000..37867c7 --- /dev/null +++ b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPessoaj.php @@ -0,0 +1,70 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ + +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php'; + +/** + * Portabilis_View_Helper_Input_SimpleSearchEmpresa class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ +class Portabilis_View_Helper_Input_Resource_SimpleSearchPessoaj extends Portabilis_View_Helper_Input_SimpleSearch { + + protected function resourceValue($id) { + if ($id) { + $sql = "select nome from cadastro.pessoa where idpes = $1 and tipo='J'"; + $options = array('params' => $id, 'return_only' => 'first-field'); + $nome = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options); + + return Portabilis_String_Utils::toLatin1($nome, array('transform' => true, 'escape' => false)); + } + } + + public function simpleSearchPessoaj($attrName = '', $options = array()) { + $defaultOptions = array('objectName' => 'pessoaj', + 'apiController' => 'Pessoaj', + 'apiResource' => 'pessoaj-search'); + + $options = $this->mergeOptions($options, $defaultOptions); + + parent::simpleSearch($options['objectName'], $attrName, $options); + } + + protected function inputPlaceholder($inputOptions) { + return 'Informe o código ou nome da pessoa jurídica'; + } + +} \ No newline at end of file diff --git a/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPonto.php b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPonto.php new file mode 100644 index 0000000..59b4176 --- /dev/null +++ b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchPonto.php @@ -0,0 +1,70 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ + +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php'; + +/** + * Portabilis_View_Helper_Input_SimpleSearchMotorista class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ +class Portabilis_View_Helper_Input_Resource_SimpleSearchPonto extends Portabilis_View_Helper_Input_SimpleSearch { + + protected function resourceValue($id) { + if ($id) { + $sql = "select descricao from modules.ponto_transporte_escolar where cod_ponto_transporte_escolar = $1"; + $options = array('params' => $id, 'return_only' => 'first-field'); + $nome = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options); + + return Portabilis_String_Utils::toLatin1($nome, array('transform' => true, 'escape' => false)); + } + } + + public function simpleSearchPonto($attrName = '', $options = array()) { + $defaultOptions = array('objectName' => 'ponto', + 'apiController' => 'Ponto', + 'apiResource' => 'ponto-search'); + + $options = $this->mergeOptions($options, $defaultOptions); + + parent::simpleSearch($options['objectName'], $attrName, $options); + } + + protected function inputPlaceholder($inputOptions) { + return 'Informe o código ou a descrição do ponto'; + } + +} \ No newline at end of file diff --git a/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchRota.php b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchRota.php new file mode 100644 index 0000000..746aa83 --- /dev/null +++ b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchRota.php @@ -0,0 +1,70 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ + +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php'; + +/** + * Portabilis_View_Helper_Input_SimpleSearchMotorista class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ +class Portabilis_View_Helper_Input_Resource_SimpleSearchRota extends Portabilis_View_Helper_Input_SimpleSearch { + + protected function resourceValue($id) { + if ($id) { + $sql = "select descricao from modules.rota_transporte_escolar where cod_rota_transporte_escolar = $1"; + $options = array('params' => $id, 'return_only' => 'first-field'); + $nome = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options); + + return Portabilis_String_Utils::toLatin1($nome, array('transform' => true, 'escape' => false)); + } + } + + public function simpleSearchRota($attrName = '', $options = array()) { + $defaultOptions = array('objectName' => 'rota', + 'apiController' => 'Rota', + 'apiResource' => 'rota-search'); + + $options = $this->mergeOptions($options, $defaultOptions); + + parent::simpleSearch($options['objectName'], $attrName, $options); + } + + protected function inputPlaceholder($inputOptions) { + return 'Informe o código ou a descrição da rota'; + } + +} \ No newline at end of file diff --git a/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchVeiculo.php b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchVeiculo.php new file mode 100644 index 0000000..fdf450b --- /dev/null +++ b/ieducar/lib/Portabilis/View/Helper/Input/Resource/SimpleSearchVeiculo.php @@ -0,0 +1,70 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ + +require_once 'lib/Portabilis/View/Helper/Input/SimpleSearch.php'; + +/** + * Portabilis_View_Helper_Input_SimpleSearchMotorista class. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Portabilis + * @since 07/2013 + * @version @@package_version@@ + */ +class Portabilis_View_Helper_Input_Resource_SimpleSearchVeiculo extends Portabilis_View_Helper_Input_SimpleSearch { + + protected function resourceValue($id) { + if ($id) { + $sql = "select (descricao || ',Placa: ' || placa) from modules.veiculo where cod_veiculo = $1"; + $options = array('params' => $id, 'return_only' => 'first-field'); + $nome = Portabilis_Utils_Database::fetchPreparedQuery($sql, $options); + + return Portabilis_String_Utils::toLatin1($nome, array('transform' => true, 'escape' => false)); + } + } + + public function simpleSearchVeiculo($attrName = '', $options = array()) { + $defaultOptions = array('objectName' => 'veiculo', + 'apiController' => 'Veiculo', + 'apiResource' => 'veiculo-search'); + + $options = $this->mergeOptions($options, $defaultOptions); + + parent::simpleSearch($options['objectName'], $attrName, $options); + } + + protected function inputPlaceholder($inputOptions) { + return 'Informe o código ou a descrição do veiculo'; + } + +} \ No newline at end of file diff --git a/ieducar/lib/Portabilis/View/Helper/Inputs.php b/ieducar/lib/Portabilis/View/Helper/Inputs.php index 2ace721..4872121 100644 --- a/ieducar/lib/Portabilis/View/Helper/Inputs.php +++ b/ieducar/lib/Portabilis/View/Helper/Inputs.php @@ -169,6 +169,38 @@ class Portabilis_View_Helper_Inputs { $this->simpleSearchResourceInput('simpleSearchAluno', $attrName, $inputOptions, $helperOptions); } + public function simpleSearchEmpresa($attrName, $inputOptions = array(), $helperOptions = array()) { + $this->simpleSearchResourceInput('simpleSearchEmpresa', $attrName, $inputOptions, $helperOptions); + } + + public function simpleSearchPessoaj($attrName, $inputOptions = array(), $helperOptions = array()) { + $this->simpleSearchResourceInput('simpleSearchPessoaj', $attrName, $inputOptions, $helperOptions); + } + + public function simpleSearchMotorista($attrName, $inputOptions = array(), $helperOptions = array()) { + + $this->simpleSearchResourceInput('simpleSearchMotorista', $attrName, $inputOptions, $helperOptions); + + } + + public function simpleSearchPonto($attrName, $inputOptions = array(), $helperOptions = array()) { + + $this->simpleSearchResourceInput('simpleSearchPonto', $attrName, $inputOptions, $helperOptions); + + } + + public function simpleSearchRota($attrName, $inputOptions = array(), $helperOptions = array()) { + + $this->simpleSearchResourceInput('simpleSearchRota', $attrName, $inputOptions, $helperOptions); + + } + + public function simpleSearchVeiculo($attrName, $inputOptions = array(), $helperOptions = array()) { + + $this->simpleSearchResourceInput('simpleSearchVeiculo', $attrName, $inputOptions, $helperOptions); + + } + // multiple search resource input helper @@ -217,13 +249,18 @@ class Portabilis_View_Helper_Inputs { } protected function simpleSearchResourceInput($helperName, $attrName, $inputOptions = array(), $helperOptions = array()) { + $options = $this->mergeInputOptions($inputOptions, $helperOptions); $helperClassName = 'Portabilis_View_Helper_Input_Resource_' . ucfirst($helperName); + $this->includeHelper($helperClassName); $helper = new $helperClassName($this->viewInstance, $this); + $helper->$helperName($attrName, $options); + + } protected function multipleSearchResourceInput($helperName, $attrName, $inputOptions = array(), $helperOptions = array()) { diff --git a/ieducar/misc/database/deltas/portabilis/55_controle_de_empresas_transporte_escolar.sql b/ieducar/misc/database/deltas/portabilis/55_controle_de_empresas_transporte_escolar.sql new file mode 100644 index 0000000..131e0e0 --- /dev/null +++ b/ieducar/misc/database/deltas/portabilis/55_controle_de_empresas_transporte_escolar.sql @@ -0,0 +1,157 @@ + -- // + + -- + -- Cria tabelas e squenciais para controle de empresas + -- + -- @author Lucas Schmoeller da Silva + -- @license @@license@@ + -- @version $Id$ + + + CREATE SEQUENCE modules.empresa_transporte_escolar_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.empresa_transporte_escolar_seq + OWNER TO ieducar; + + CREATE TABLE modules.empresa_transporte_escolar + ( + cod_empresa_transporte_escolar integer NOT NULL DEFAULT nextval('modules.empresa_transporte_escolar_seq'::regclass), + ref_idpes integer NOT NULL, + ref_resp_idpes integer NOT NULL, + observacao character varying(255), + CONSTRAINT empresa_transporte_escolar_cod_empresa_transporte_escolar_pkey PRIMARY KEY (cod_empresa_transporte_escolar ), + CONSTRAINT empresa_transporte_escolar_ref_idpes_fkey FOREIGN KEY (ref_idpes) + REFERENCES cadastro.juridica (idpes) MATCH SIMPLE, + CONSTRAINT empresa_transporte_escolar_ref_resp_idpes_fkey FOREIGN KEY (ref_resp_idpes) + REFERENCES cadastro.fisica (idpes) MATCH SIMPLE + ON UPDATE RESTRICT ON DELETE RESTRICT + ) + WITH ( + OIDS=TRUE + ); + + CREATE SEQUENCE modules.motorista_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.motorista_seq + OWNER TO ieducar; + + + CREATE TABLE modules.motorista + ( + cod_motorista integer NOT NULL DEFAULT nextval('modules.motorista_seq'::regclass), + ref_idpes integer NOT NULL, + cnh character varying(15) NOT NULL, + tipo_cnh character varying(2) NOT NULL, + dt_habilitacao date, + vencimento_cnh date, + ref_cod_empresa_transporte_escolar integer NOT NULL, + observacao character varying(255), + CONSTRAINT motorista_pkey PRIMARY KEY (cod_motorista), + CONSTRAINT motorista_ref_idpes_fkey FOREIGN KEY (ref_idpes) + REFERENCES cadastro.fisica (idpes) MATCH SIMPLE + ON UPDATE RESTRICT ON DELETE RESTRICT, + CONSTRAINT motorista_ref_cod_empresa_transporte_escolar_fkey FOREIGN KEY (ref_cod_empresa_transporte_escolar) + REFERENCES modules.empresa_transporte_escolar(cod_empresa_transporte_escolar) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE RESTRICT + ) + WITH ( + OIDS=TRUE + ); + + CREATE SEQUENCE modules.tipo_veiculo_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.tipo_veiculo_seq + OWNER TO ieducar; + + CREATE TABLE modules.tipo_veiculo + ( + cod_tipo_veiculo integer NOT NULL DEFAULT nextval('modules.tipo_veiculo_seq'::regclass), + descricao character varying(60), + CONSTRAINT tipo_veiculo_pkey PRIMARY KEY (cod_tipo_veiculo) + ) + WITH ( + OIDS=TRUE + ); + + + CREATE SEQUENCE modules.veiculo_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.veiculo_seq + OWNER TO ieducar; + + CREATE TABLE modules.veiculo + ( + cod_veiculo integer NOT NULL DEFAULT nextval('modules.veiculo_seq'::regclass), + descricao character varying(255) NOT NULL, + placa character varying(10) NOT NULL, + renavam character varying(15) NOT NULL, + chassi character varying(30), + marca character varying(50), + ano_fabricacao integer, + ano_modelo integer, + passageiros integer NOT NULL, + malha char(1) NOT NULL, + ref_cod_tipo_veiculo integer NOT NULL, + exclusivo_transporte_escolar char(1) NOT NULL, + adaptado_necessidades_especiais char(1) NOT NULL, + ativo char(1), + descricao_inativo char(155), + ref_cod_empresa_transporte_escolar integer NOT NULL, + ref_cod_motorista integer NOT NULL, + observacao character varying(255), + CONSTRAINT veiculo_pkey PRIMARY KEY (cod_veiculo), + CONSTRAINT veiculo_ref_cod_empresa_transporte_escolar_fkey FOREIGN KEY (ref_cod_empresa_transporte_escolar) + REFERENCES modules.empresa_transporte_escolar(cod_empresa_transporte_escolar) MATCH SIMPLE, + CONSTRAINT veiculo_ref_cod_tipo_veiculo_fkey FOREIGN KEY (ref_cod_tipo_veiculo) + REFERENCES modules.tipo_veiculo(cod_tipo_veiculo) MATCH SIMPLE + ON UPDATE RESTRICT ON DELETE RESTRICT + ) + WITH ( + OIDS=TRUE + ); + + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (1,'Vans/Kombis'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (2,'Microônibus'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (3,'Ônibus'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (4,'Bicicleta'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (5,'Tração Animal'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (6,'Outro'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (7,'Capacidade de até 5 Alunos'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (8,'Capacidade entre 5 a 15 Alunos'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (9,'Capacidade entre 15 a 35 Alunos'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (10,'Capacidade acima de 35 Alunos'); + INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (11,'Trem/Metrô'); + + -- //@UNDO + + DROP TABLE modules.veiculo; + DROP SEQUENCE modules.veiculo_seq; + DROP TABLE modules.tipo_veiculo; + DROP SEQUENCE modules.tipo_veiculo_seq; + DROP TABLE modules.motorista; + DROP SEQUENCE modules.motorista_seq; + DROP TABLE modules.empresa_transporte_escolar; + DROP SEQUENCE modules.empresa_transporte_escolar_seq; + + DELETE FROM modules.tipo_veiculo WHERE cod_tipo_veiculo IN (1,2,3,4,5,6,7,8,9,10,11); + + + -- // + + + diff --git a/ieducar/misc/database/deltas/portabilis/56_controle_das_rotas_transporte_escolar.sql b/ieducar/misc/database/deltas/portabilis/56_controle_das_rotas_transporte_escolar.sql new file mode 100644 index 0000000..790c060 --- /dev/null +++ b/ieducar/misc/database/deltas/portabilis/56_controle_das_rotas_transporte_escolar.sql @@ -0,0 +1,154 @@ + -- // + + -- + -- Cria tabelas e squenciais para controle de rotas + -- + -- @author Lucas Schmoeller da Silva + -- @license @@license@@ + -- @version $Id$ + + --Criar a tabela de rota + + -- Sequence: modules.empresa_transporte_escolar_seq + CREATE SEQUENCE modules.rota_transporte_escolar_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.rota_transporte_escolar_seq + OWNER TO ieducar; + + + -- Table: modules.rota_transporte_escolar + CREATE TABLE modules.rota_transporte_escolar + ( + cod_rota_transporte_escolar integer NOT NULL DEFAULT nextval('modules.rota_transporte_escolar_seq'::regclass), + ref_idpes_destino integer NOT NULL, + descricao character varying(50) NOT NULL, + ano integer NOT NULL, + tipo_rota char(1) NOT NULL, + km_pav float, + km_npav float, + ref_cod_empresa_transporte_escolar integer, + tercerizado character(1) not null, + CONSTRAINT rota_transporte_escolar_cod_rota_transporte_escolar_pkey PRIMARY KEY (cod_rota_transporte_escolar ), + CONSTRAINT rota_transporte_escolar_ref_idpes_destino_fkey FOREIGN KEY (ref_idpes_destino) + REFERENCES cadastro.juridica (idpes) MATCH SIMPLE, + CONSTRAINT rota_transporte_escolar_ref_cod_empresa_transporte_escolar_fkey FOREIGN KEY (ref_cod_empresa_transporte_escolar) + REFERENCES modules.empresa_transporte_escolar (cod_empresa_transporte_escolar) MATCH SIMPLE + ON UPDATE RESTRICT ON DELETE RESTRICT + ) + WITH ( + OIDS=TRUE + ); + + + -- Sequence: modules.itinerario_transporte_escolar_seq + CREATE SEQUENCE modules.itinerario_transporte_escolar_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.itinerario_transporte_escolar_seq + OWNER TO ieducar; + + + -- Table: modules.itinerario_transporte_escolar + CREATE TABLE modules.itinerario_transporte_escolar + ( + cod_itinerario_transporte_escolar integer NOT NULL DEFAULT nextval('modules.itinerario_transporte_escolar_seq'::regclass), + ref_cod_rota_transporte_escolar integer not null, + seq integer not null, + ref_cod_ponto_transporte_escolar integer not null, + ref_cod_veiculo integer, + hora time without time zone, + tipo character(1) not null, + CONSTRAINT itinerario_transporte_escolar_cod_itinerario_transporte_escolar_pkey PRIMARY KEY (cod_itinerario_transporte_escolar), + CONSTRAINT itinerario_transporte_escolar_ref_cod_rota_transporte_escolar_fkey FOREIGN KEY (ref_cod_rota_transporte_escolar) + REFERENCES modules.rota_transporte_escolar (cod_rota_transporte_escolar) MATCH SIMPLE, + CONSTRAINT ponto_transporte_escolar_ref_cod_veiculo_fkey FOREIGN KEY (ref_cod_veiculo) + REFERENCES modules.veiculo (cod_veiculo) MATCH SIMPLE + ON UPDATE RESTRICT ON DELETE RESTRICT + ) + WITH ( + OIDS=TRUE + ); + + -- Sequence: modules.ponto_transporte_escolar_seq + CREATE SEQUENCE modules.ponto_transporte_escolar_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.ponto_transporte_escolar_seq + OWNER TO ieducar; + + + -- Table: modules.ponto_transporte_escolar + CREATE TABLE modules.ponto_transporte_escolar + ( + cod_ponto_transporte_escolar integer NOT NULL DEFAULT nextval('modules.ponto_transporte_escolar_seq'::regclass), + descricao varchar(70) not null, + CONSTRAINT ponto_transporte_escolar_cod_ponto_transporte_escolar_pkey PRIMARY KEY (cod_ponto_transporte_escolar ) + ) + WITH ( + OIDS=TRUE + ); + + + -- Sequence: modules.pessoa_transporte_seq + CREATE SEQUENCE modules.pessoa_transporte_seq + INCREMENT 1 + MINVALUE 1 + MAXVALUE 9223372036854775807 + START 1 + CACHE 1; + ALTER TABLE modules.pessoa_transporte_seq + OWNER TO ieducar; + + + -- Table: modules.pessoa_transporte + CREATE TABLE modules.pessoa_transporte + ( + cod_pessoa_transporte integer NOT NULL DEFAULT nextval('modules.pessoa_transporte_seq'::regclass), + ref_idpes integer not null, + ref_cod_rota_transporte_escolar integer not null, + ref_cod_ponto_transporte_escolar integer, + ref_idpes_destino integer, + observacao varchar(255), + CONSTRAINT pessoa_transporte_cod_pessoa_transporte_pkey PRIMARY KEY (cod_pessoa_transporte ), + CONSTRAINT pessoa_transporte_ref_cod_rota_transporte_escolar_fkey FOREIGN KEY (ref_cod_rota_transporte_escolar) + REFERENCES modules.rota_transporte_escolar (cod_rota_transporte_escolar) MATCH SIMPLE, + CONSTRAINT pessoa_transporte_ref_cod_ponto_transporte_escolar_fkey FOREIGN KEY (ref_cod_ponto_transporte_escolar) + REFERENCES modules.ponto_transporte_escolar (cod_ponto_transporte_escolar) MATCH SIMPLE, + CONSTRAINT pessoa_transporte_ref_idpes_destino_fkey FOREIGN KEY (ref_idpes_destino) + REFERENCES cadastro.juridica (idpes) MATCH SIMPLE, + CONSTRAINT pessoa_transporte_ref_idpes_fkey FOREIGN KEY (ref_idpes) + REFERENCES cadastro.fisica (idpes) MATCH SIMPLE + ON UPDATE RESTRICT ON DELETE RESTRICT + ) + WITH ( + OIDS=TRUE + ); + + + + -- //@UNDO + + DROP TABLE modules.pessoa_transporte; + DROP SEQUENCE modules.pessoa_transporte_seq; + DROP TABLE modules.ponto_transporte_escolar; + DROP SEQUENCE modules.ponto_transporte_escolar_seq; + DROP TABLE modules.itinerario_transporte_escolar; + DROP SEQUENCE modules.itinerario_transporte_escolar_seq; + DROP SEQUENCE modules.rotas_transporte_escolar_seq; + + + + -- // + + + diff --git a/ieducar/misc/database/deltas/portabilis/57_menus_sql_modulo_transporte_escolar.sql b/ieducar/misc/database/deltas/portabilis/57_menus_sql_modulo_transporte_escolar.sql new file mode 100644 index 0000000..c6054d8 --- /dev/null +++ b/ieducar/misc/database/deltas/portabilis/57_menus_sql_modulo_transporte_escolar.sql @@ -0,0 +1,72 @@ + -- // + + -- + -- Cria o menu lateral e o menu suspenso para o módulo transporte escolar + -- + -- @author Lucas Schmoeller da Silva + -- @author Ricardo Bortolotto + -- @license @@license@@ + -- @version $Id$ + + INSERT INTO portal.menu_menu (cod_menu_menu, nm_menu) + VALUES (69,'Transporte Escolar'); + + INSERT INTO portal.menu_submenu (cod_menu_submenu, ref_cod_menu_menu, cod_sistema, nm_submenu, arquivo, nivel) + VALUES (21234, 69, 2, 'Apresentação', 'transporte_index.php', '2'); + + INSERT INTO pmicontrolesis.tutormenu (cod_tutormenu,nm_tutormenu) + VALUES (17,'Transporte Escolar'); + + INSERT INTO pmicontrolesis.menu (cod_menu,tt_menu,ord_menu,alvo,suprime_menu,ref_cod_tutormenu,ref_cod_ico) + VALUES(20710,'Cadastros',1,'_self',1,17,1); + + INSERT INTO pmicontrolesis.menu (cod_menu,tt_menu,ord_menu,alvo,suprime_menu,ref_cod_tutormenu,ref_cod_ico) + VALUES(20711,'Movimentação',2,'_self',1,17,1); + + INSERT INTO pmicontrolesis.menu (cod_menu,tt_menu,ord_menu,alvo,suprime_menu,ref_cod_tutormenu,ref_cod_ico) + VALUES(20712,'Relatórios',3,'_self',1,17,1); + + INSERT INTO portal.menu_submenu + VALUES (21235, 69, 2, 'Empresas', 'transporte_empresa_lst.php',null,3); + + INSERT INTO portal.menu_submenu + VALUES (21236, 69, 2, 'Motoristas', 'transporte_motorista_lst.php',null,3); + + INSERT INTO portal.menu_submenu + VALUES (21237, 69, 2, 'Veículos', 'transporte_veiculo_lst.php',null,3); + + INSERT INTO portal.menu_submenu + VALUES (21238, 69, 2, 'Rotas', 'transporte_rota_lst.php',null,3); + + INSERT INTO portal.menu_submenu + VALUES (21239, 69, 2, 'Pontos', 'transporte_ponto_lst.php',null,3); + + INSERT INTO pmicontrolesis.menu + VALUES(21235,21235,20710,'Empresas',1,'transporte_empresa_lst.php','_self',1,17,192); + + INSERT INTO pmicontrolesis.menu + VALUES(21236,21236,20710,'Motoristas',2,'transporte_motorista_lst.php','_self',1,17,192); + + INSERT INTO pmicontrolesis.menu + VALUES(21237,21237,20710,'Veículos',3,'transporte_veiculo_lst.php','_self',1,17,192); + + INSERT INTO pmicontrolesis.menu + VALUES(21238,21238,20710,'Pontos',4,'transporte_ponto_lst.php','_self',1,17,192); + + INSERT INTO pmicontrolesis.menu + VALUES(21239,21239,20710,'Rotas',5,'transporte_rota_lst.php','_self',1,17,192); + + -- //@UNDO + + DELETE FROM pmicontrolesis.menu where cod_menu in (21235,21236,21237,21238,21239); + DELETE FROM portal.menu_submenu where cod_menu_submenu in (21234,21235,21236,21237,21238,21239); + DELETE FROM pmicontrolesis.menu where cod_menu in (20710,20711,20712); + DELETE FROM pmicontrolesis.tutormenu where cod_tutormenu in (17); + DELETE FROM menu_submenu where ref_cod_menu_menu = 69; + DELETE FROM menu_menu where cod_menu_menu = 69; + + + -- // + + + diff --git a/ieducar/modules/Api/Views/EmpresaController.php b/ieducar/modules/Api/Views/EmpresaController.php new file mode 100644 index 0000000..8268791 --- /dev/null +++ b/ieducar/modules/Api/Views/EmpresaController.php @@ -0,0 +1,261 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Api + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'include/modules/clsModulesEmpresaTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesRotaTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesMotorista.inc.php'; + +require_once 'Portabilis/Controller/ApiCoreController.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/String/Utils.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/Date/Utils.php'; + +class EmpresaController extends ApiCoreController +{ + protected $_processoAp = 578; //verificar + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; // verificar + + // validation + + protected function validatePessoaJuridica($id){ + + + } + + // load resources + + protected function loadNomePessoa($id) { + $sql = "select nome from cadastro.pessoa, modules.empresa_transporte_escolar where idpes = ref_idpes and cod_empresa_transporte_escolar = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function loadNomePessoaj($id) { + $sql = "select nome from cadastro.pessoa, modules.empresa_transporte_escolar emp where idpes = emp.ref_idpes and cod_empresa_transporte_escolar = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + + + protected function createOrUpdateEmpresa($id = null){ + + + $empresa = new clsModulesEmpresaTransporteEscolar(); + $empresa->cod_empresa_transporte_escolar = $id; + + + $empresa->ref_resp_idpes = $this->getRequest()->pessoa_id; + $empresa->ref_idpes = $this->getRequest()->pessoaj_id; + $empresa->observacao = Portabilis_String_Utils::toLatin1($this->getRequest()->observacao); + + return (is_null($id) ? $empresa->cadastra() : $empresa->edita()); + } + + + protected function get() { + if ($this->canGet()){ + $id = $this->getRequest()->id; + $empresa = new clsModulesEmpresaTransporteEscolar(); + $empresa->cod_empresa_transporte_escolar = $id; + $empresa = $empresa->detalhe(); + + $attrs = array( + 'cod_empresa_transporte_escolar' => 'id', + 'ref_idpes' => 'pessoaj', + 'observacao' => 'observacao', + 'ref_resp_idpes' => 'pessoa' + ); + + $empresa = Portabilis_Array_Utils::filter($empresa, $attrs); + + $empresa['nome'] = $this->loadNomePessoa($id); + $empresa['pessoajnome'] = $this->loadNomePessoaj($id); + $empresa['observacao'] = Portabilis_String_Utils::toUtf8($empresa['observacao']); + return $empresa; + } + + } + + protected function validateIfEmpresaIsNotInUse(){ + + $id = $this->getRequest()->id; + + $pt = new clsModulesRotaTransporteEscolar(); + $lista = $pt->lista(null,null,null,null,null,$id ); + if(is_array($lista) && count($lista)>0){ + $this->messenger->append('Não é possível excluir uma empresa que está vinculada a uma rota.', + 'error', false, 'error'); + return false; + }else{ + $motorista = new clsModulesMotorista(); + $lst = $motorista->lista(null,null,null,null,$id ); + + if(is_array($lst) && count($lst)>0){ + $this->messenger->append('Não é possível excluir uma empresa que está vinculada a um motorista.', + 'error', false, 'error'); + return false; + }else + return true; + } + } + + protected function sqlsForNumericSearch() { + + $sqls[] = "select distinct cod_empresa_transporte_escolar as id, nome as name from + modules.empresa_transporte_escolar, cadastro.pessoa where idpes = ref_idpes + and cod_empresa_transporte_escolar like $1||'%'"; + + return $sqls; + } + + + protected function sqlsForStringSearch() { + + $sqls[] = "select distinct cod_empresa_transporte_escolar as id, nome as name from + modules.empresa_transporte_escolar, cadastro.pessoa where idpes = ref_idpes + and lower(to_ascii(nome)) like '%'||lower(to_ascii($1))||'%'"; + + return $sqls; + } + + protected function canGet(){ + + $id = $this->getRequest()->id; + $empresa = new clsModulesEmpresaTransporteEscolar(); + $empresa->cod_empresa_transporte_escolar = $id; + if ($empresa->existe()) + return true; + else + return false; + } + + protected function validateSizeOfObservacao(){ + + if (strlen($this->getRequest()->observacao)<=255) + return true; + else{ + $this->messenger->append('O campo Observações não pode ter mais que 255 caracteres.'); + return false; + } + + + } + + protected function post() { + + + if ($this->validateSizeOfObservacao()){ + + $id = $this->createOrUpdateEmpresa(); + + if (is_numeric($id)) { + + $this->messenger->append('Cadastro realizado com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente a empresa não pode ser cadastrada, por favor, verifique.'); + } + + + return array('id' => $id); + } + + protected function put() { + + if ($this->validateSizeOfObservacao()){ + $id = $this->getRequest()->id; + $editou = $this->createOrUpdateEmpresa($id); + + if ($editou) { + + $this->messenger->append('Alteração realizada com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente a empresa não pode ser alterado, por favor, verifique.'); + } + + + return array('id' => $id); + } + + + + protected function delete() { + $id = $this->getRequest()->id; + + + $empresa = new clsModulesEmpresaTransporteEscolar(); + $empresa->cod_empresa_transporte_escolar = $id; + + + if($empresa->excluir()){ + $this->messenger->append('Cadastro removido com sucesso', 'success', false, 'error'); + }else + $this->messenger->append('Aparentemente o cadastro não pode ser removido, por favor, verifique.', + 'error', false, 'error'); + + return array('id' => $id); + } + + + public function Gerar() { + if ($this->isRequestFor('get', 'empresa')) + $this->appendResponse($this->get()); + elseif($this->isRequestFor('get', 'empresa-search')) + $this->appendResponse($this->search()); + // create + elseif ($this->isRequestFor('post', 'empresa')) + $this->appendResponse($this->post()); + + // update + elseif ($this->isRequestFor('put', 'empresa')) + $this->appendResponse($this->put()); + + elseif ($this->isRequestFor('delete', 'empresa')){ + if ($this->validateIfEmpresaIsNotInUse()){ + $this->appendResponse($this->delete()); + echo ""; + die(); + } + + }else + $this->notImplementedOperationError(); + } +} diff --git a/ieducar/modules/Api/Views/MotoristaController.php b/ieducar/modules/Api/Views/MotoristaController.php new file mode 100644 index 0000000..edd2b30 --- /dev/null +++ b/ieducar/modules/Api/Views/MotoristaController.php @@ -0,0 +1,245 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Api + * @subpackage Modules + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/modules/clsModulesMotorista.inc.php'; +require_once 'include/modules/clsModulesVeiculo.inc.php'; + +require_once 'Portabilis/Controller/ApiCoreController.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/String/Utils.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/Date/Utils.php'; + +class MotoristaController extends ApiCoreController +{ + protected $_processoAp = 578; //verificar + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; // verificar + + // load resources + + protected function loadNomePessoa($id) { + $sql = "select nome from cadastro.pessoa, modules.motorista where idpes = ref_idpes and cod_motorista = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function loadNomeEmpresa($id) { + $sql = "select nome from cadastro.pessoa, modules.motorista ,modules.empresa_transporte_escolar emp where idpes = emp.ref_idpes and cod_empresa_transporte_escolar = ref_cod_empresa_transporte_escolar and cod_motorista = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function sqlsForNumericSearch() { + + $sqls[] = "select distinct cod_motorista as id, nome as name from + modules.motorista, cadastro.pessoa where idpes = ref_idpes + and cod_motorista like $1||'%'"; + + return $sqls; + } + + + protected function sqlsForStringSearch() { + + $sqls[] = "select distinct cod_motorista as id, nome as name from + modules.motorista, cadastro.pessoa where idpes = ref_idpes + and lower(to_ascii(nome)) like '%'||lower(to_ascii($1))||'%'"; + + return $sqls; + } + + + protected function createOrUpdateMotorista($id = null){ + + + $motorista = new clsModulesMotorista(); + $motorista->cod_motorista = $id; + // após cadastro não muda mais id pessoa + $motorista->ref_idpes = $this->getRequest()->pessoa_id; + $motorista->cnh = $this->getRequest()->cnh; + $motorista->tipo_cnh = Portabilis_String_Utils::toLatin1($this->getRequest()->tipo_cnh); + $motorista->dt_habilitacao = Portabilis_Date_Utils::brToPgSQL($this->getRequest()->dt_habilitacao); + $motorista->vencimento_cnh = Portabilis_Date_Utils::brToPgSQL($this->getRequest()->vencimento_cnh); + $motorista->ref_cod_empresa_transporte_escolar = $this->getRequest()->empresa_id; + $motorista->observacao = Portabilis_String_Utils::toLatin1($this->getRequest()->observacao); + + + return (is_null($id) ? $motorista->cadastra() : $motorista->edita()); + } + + protected function get() { + + $id = $this->getRequest()->id; + $motorista = new clsModulesMotorista(); + $motorista->cod_motorista = $id; + $motorista = $motorista->detalhe(); + + $attrs = array( + 'cod_motorista' => 'id', + 'ref_idpes' => 'pessoa', + 'tipo_cnh' => 'tipo_cnh', + 'ref_cod_empresa_transporte_escolar' => 'ref_cod_empresa_transporte_escolar', + 'cnh' => 'cnh', + 'observacao' => 'observacao', + 'dt_habilitacao' => 'dt_habilitacao', + 'vencimento_cnh' => 'vencimento_cnh' + ); + + $motorista = Portabilis_Array_Utils::filter($motorista, $attrs); + + $motorista['nome'] = Portabilis_String_Utils::toUtf8($this->loadNomePessoa($id)); + $motorista['empresa'] = Portabilis_String_Utils::toUtf8($this->loadNomeEmpresa($id)); + $motorista['dt_habilitacao'] = Portabilis_Date_Utils::pgSQLToBr($motorista['dt_habilitacao']); + $motorista['vencimento_cnh'] = Portabilis_Date_Utils::pgSQLToBr($motorista['vencimento_cnh']); + $motorista['cnh'] = Portabilis_String_Utils::toUtf8($motorista['cnh']); + $motorista['observacao'] = Portabilis_String_Utils::toUtf8($motorista['observacao']); + return $motorista; + + } + + protected function validateSizeOfObservacao(){ + if (strlen($this->getRequest()->observacao)<=255) + return true; + else{ + $this->messenger->append('O campo Observações não pode ter mais que 255 caracteres.'); + return false; + } + + } + + protected function validateIfMotoristaIsNotInUse(){ + + $v = new clsModulesVeiculo(); + $lista = $v->lista(null,null,null,null,null,null,null,null,$this->getRequest()->id); + if(is_array($lista) && count($lista)>0){ + $this->messenger->append('Não é possível excluir uma motorista responsável por um veículo.', + 'error', false, 'error'); + return false; + }else{ + return true; + } + } + + protected function canGet(){ +/* + $id = $this->getRequest()->id; + $empresa = new clsModulesEmpresaTransporteEscolar(); + $empresa->cod_empresa_transporte_escolar = $id; + if ($empresa->existe()) + return true; + else + return false;*/ + } + + protected function post() { + + if ($this->validateSizeOfObservacao()){ + + $id = $this->createOrUpdateMotorista(); + + if (is_numeric($id)) { + + $this->messenger->append('Cadastro realizado com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o motorista não pode ser cadastrado, por favor, verifique.'); + } + + + return array('id' => $id); + } + + protected function put() { + + if ($this->validateSizeOfObservacao()){ + $id = $this->getRequest()->id; + $editou = $this->createOrUpdateMotorista($id); + + if ($editou) { + $this->messenger->append('Alteração realizada com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o aluno não pode ser alterado, por favor, verifique.'); + } + + return array('id' => $id); + } + + protected function delete() { + $id = $this->getRequest()->id; + + + $motorista = new clsModulesMotorista(); + $motorista->cod_motorista = $id; + + if($motorista->excluir()){ + $this->messenger->append('Cadastro removido com sucesso', 'success', false, 'error'); + }else + $this->messenger->append('Aparentemente o cadastro não pode ser removido, por favor, verifique.','error', false, 'error'); + + return array('id' => $id); + } + + + public function Gerar() { + + if ($this->isRequestFor('get', 'motorista')) + $this->appendResponse($this->get()); + + elseif ($this->isRequestFor('get', 'motorista-search')) + $this->appendResponse($this->search()); + + // create + elseif ($this->isRequestFor('post', 'motorista')) + $this->appendResponse($this->post()); + + // update + elseif ($this->isRequestFor('put', 'motorista')) + $this->appendResponse($this->put()); + + elseif ($this->isRequestFor('delete', 'motorista')){ + if ($this->validateIfMotoristaIsNotInUse()){ + $this->appendResponse($this->delete()); + echo ""; + die(); + } + + }else + $this->notImplementedOperationError(); + } +} \ No newline at end of file diff --git a/ieducar/modules/Api/Views/PessoajController.php b/ieducar/modules/Api/Views/PessoajController.php new file mode 100644 index 0000000..4e2bf73 --- /dev/null +++ b/ieducar/modules/Api/Views/PessoajController.php @@ -0,0 +1,64 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Api + * @subpackage Modules + * @since 07/2013 + * @version $Id$ + */ + +require_once 'lib/Portabilis/Controller/ApiCoreController.php'; +require_once 'lib/Portabilis/Array/Utils.php'; +require_once 'lib/Portabilis/String/Utils.php'; + +class PessoajController extends ApiCoreController +{ + + protected function sqlsForNumericSearch() { + + $sqls[] = "select distinct idpes as id, nome as name from + cadastro.pessoa where tipo='J' and idpes like $1||'%'"; + + return $sqls; + } + + protected function sqlsForStringSearch() { + + $sqls[] = "select distinct idpes as id, nome as name from + cadastro.pessoa where tipo='J' and lower(to_ascii(nome)) like '%'||lower(to_ascii($1))||'%'"; + + return $sqls; + } + + public function Gerar() { + if ($this->isRequestFor('get', 'pessoaj-search')) + $this->appendResponse($this->search()); + else + $this->notImplementedOperationError(); + } +} diff --git a/ieducar/modules/Api/Views/PessoatransporteController.php b/ieducar/modules/Api/Views/PessoatransporteController.php new file mode 100644 index 0000000..7cd4f12 --- /dev/null +++ b/ieducar/modules/Api/Views/PessoatransporteController.php @@ -0,0 +1,189 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Api + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'include/modules/clsModulesPessoaTransporte.inc.php'; +require_once 'include/modules/clsModulesItinerarioTransporteEscolar.inc.php'; + +require_once 'Portabilis/Controller/ApiCoreController.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/String/Utils.php'; +require_once 'Portabilis/Date/Utils.php'; + +class PessoatransporteController extends ApiCoreController +{ + protected $_processoAp = 21240; //verificar + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; // verificar + + protected function loadNomePessoaj($id) { + $sql = "select nome from cadastro.pessoa, modules.pessoa_transporte where idpes = ref_idpes_destino and cod_pessoa_transporte = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function loadNomePessoa($id) { + $sql = "select nome from cadastro.pessoa, modules.pessoa_transporte where idpes = ref_idpes and cod_pessoa_transporte = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function createOrUpdatePessoaTransporte($id = null){ + + $pt = new clsModulesPessoaTransporte(); + $pt->cod_pessoa_transporte = $id; + + // após cadastro não muda mais id pessoa + $pt->ref_idpes = $this->getRequest()->pessoa_id; + $pt->ref_idpes_destino = $this->getRequest()->pessoaj_id; + $pt->ref_cod_ponto_transporte_escolar = $this->getRequest()->ponto; + $pt->ref_cod_rota_transporte_escolar = $this->getRequest()->rota; + $pt->observacao = Portabilis_String_Utils::toLatin1($this->getRequest()->observacao); + + return (is_null($id) ? $pt->cadastra() : $pt->edita()); + } + + + protected function get() { + + $id = $this->getRequest()->id; + $pt = new clsModulesPessoaTransporte(); + $pt->cod_pessoa_transporte = $id; + $pt = $pt->detalhe(); + + + + $attrs = array( + 'cod_pessoa_transporte' => 'id', + 'ref_cod_rota_transporte_escolar' => 'rota', + 'ref_cod_ponto_transporte_escolar' => 'ponto', + 'ref_idpes_destino' => 'pessoaj', + 'ref_idpes' => 'pessoa', + 'observacao' => 'observacao' + ); + + $pt = Portabilis_Array_Utils::filter($pt, $attrs); + $pt['pessoaj_nome'] = $this->loadNomePessoaj($id); + $pt['pessoa_nome'] = $this->loadNomePessoa($id); + + return $pt; + } + + protected function validateSizeOfObservacao(){ + + if (strlen($this->getRequest()->observacao)<=255) + return true; + else{ + $this->messenger->append('O campo Observações não pode ter mais que 255 caracteres.'); + return false; + } + + } + + protected function post() { + + if ($this->validateSizeOfObservacao()){ + $id = $this->createOrUpdatePessoaTransporte(); + if (is_numeric($id)) { + $this->messenger->append('Cadastro realizado com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o vinculo não pode ser cadastrada, por favor, verifique.'); + } + + return array('id' => $id); + } + + protected function put() { + + if ($this->validateSizeOfObservacao()){ + + $id = $this->getRequest()->id; + $editou = $this->createOrUpdatePessoaTransporte($id); + + if ($editou) { + + $this->messenger->append('Alteração realizada com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o vinculo não pode ser alterado, por favor, verifique.'); + + } + + return array('id' => $id); + } + + protected function delete() { + $id = $this->getRequest()->id; + + + + $pt = new clsModulesPessoaTransporte(); + $pt->cod_pessoa_transporte = $id; + + if($pt->excluir()){ + + $this->messenger->append('Cadastro removido com sucesso', 'success', false, 'error'); + }else + $this->messenger->append('Aparentemente o cadastro não pode ser removido, por favor, verifique.', + 'error', false, 'error'); + + + return array('id' => $id); + } + + + public function Gerar() { + + if ($this->isRequestFor('get', 'pessoatransporte')) + $this->appendResponse($this->get()); + + // create + elseif ($this->isRequestFor('post', 'pessoatransporte')) + $this->appendResponse($this->post()); + + // update + elseif ($this->isRequestFor('put', 'pessoatransporte')) + $this->appendResponse($this->put()); + + elseif ($this->isRequestFor('delete', 'pessoatransporte')){ + $this->appendResponse($this->delete()); + echo ""; + die(); + }else + $this->notImplementedOperationError(); + } +} diff --git a/ieducar/modules/Api/Views/PontoController.php b/ieducar/modules/Api/Views/PontoController.php new file mode 100644 index 0000000..f01cb38 --- /dev/null +++ b/ieducar/modules/Api/Views/PontoController.php @@ -0,0 +1,189 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Api + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'include/modules/clsModulesPessoaTransporte.inc.php'; +require_once 'include/modules/clsModulesItinerarioTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesPontoTransporteEscolar.inc.php'; + +require_once 'Portabilis/Controller/ApiCoreController.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/String/Utils.php'; +require_once 'Portabilis/Date/Utils.php'; + +class PontoController extends ApiCoreController +{ + protected $_processoAp = 578; //verificar + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; // verificar + + protected function createOrUpdatePonto($id = null){ + + $ponto = new clsModulesPontoTransporteEscolar(); + $ponto->cod_ponto_transporte_escolar = $id; + + // após cadastro não muda mais id pessoa + $ponto->descricao = Portabilis_String_Utils::toLatin1($this->getRequest()->desc); + + return (is_null($id) ? $ponto->cadastra() : $ponto->edita()); + } + + + protected function get() { + + $id = $this->getRequest()->id; + $ponto = new clsModulesPontoTransporteEscolar(); + $ponto->cod_ponto_transporte_escolar = $id; + $ponto = $ponto->detalhe(); + + $attrs = array( + 'cod_ponto_transporte_escolar' => 'id', + ); + + $pt = Portabilis_Array_Utils::filter($ponto, $attrs); + $pt['desc'] = Portabilis_String_Utils::toUtf8($ponto['descricao']); + + return $pt; + } + + protected function validateIfPontoIsNotInUse(){ + $itinerario = new clsModulesItinerarioTransporteEscolar(); + $lista = $itinerario->lista(NULL,NULL,NULL,NULL,NULL,$this->getRequest()->id); + if(is_array($lista) && count($lista)>0){ + $this->messenger->append('Não é possível excluir um ponto que está vinculado a um itinerário.', + 'error', false, 'error'); + return false; + }else{ + return true; + } + } + + + protected function post() { + + $id = $this->createOrUpdatePonto(); + if (is_numeric($id)) { + $this->messenger->append('Cadastro realizado com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o ponto não pode ser cadastrada, por favor, verifique.'); + + return array('id' => $id); + } + + protected function sqlsForNumericSearch() { + + $sqls[] = "select distinct cod_ponto_transporte_escolar as id, descricao as name from + modules.ponto_transporte_escolar where cod_ponto_transporte_escolar like $1||'%'"; + + return $sqls; + } + + + protected function sqlsForStringSearch() { + + $sqls[] = "select distinct cod_ponto_transporte_escolar as id, descricao as name from + modules.ponto_transporte_escolar where lower(to_ascii(descricao)) like '%'||lower(to_ascii($1))||'%'"; + + return $sqls; + } + + protected function put() { + $id = $this->getRequest()->id; + $editou = $this->createOrUpdatePonto($id); + + if ($editou) { + + $this->messenger->append('Alteração realizada com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o ponto não pode ser alterado, por favor, verifique.'); + + + return array('id' => $id); + } + + protected function delete() { + $id = $this->getRequest()->id; + + $pessoas = new clsModulesPessoaTransporte(); + $lista = $pessoas->lista(NULL,NULL,NULL,$id); + + foreach($lista as $registro){ + $editaPessoa = new clsModulesPessoaTransporte($registro['cod_pessoa_transporte'], + $registro['ref_cod_rota_transporte_escolar'],$registro['ref_idpes'], + null,$registro['ref_idpes_destino'],$registro['observacao']); + $editaPessoa->edita(); + } + + $ponto = new clsModulesPontoTransporteEscolar(); + $ponto->cod_ponto_transporte_escolar = $id; + + if($ponto->excluir()){ + $this->messenger->append('Cadastro removido com sucesso', 'success', false, 'error'); + }else + $this->messenger->append('Aparentemente o cadastro não pode ser removido, por favor, verifique.', + 'error', false, 'error'); + + + return array('id' => $id); + } + + + public function Gerar() { + + if ($this->isRequestFor('get', 'ponto')) + $this->appendResponse($this->get()); + + elseif ($this->isRequestFor('get', 'ponto-search')) + $this->appendResponse($this->search()); + + // create + elseif ($this->isRequestFor('post', 'ponto')) + $this->appendResponse($this->post()); + + // update + elseif ($this->isRequestFor('put', 'ponto')) + $this->appendResponse($this->put()); + + elseif ($this->isRequestFor('delete', 'ponto')){ + if($this->validateIfPontoIsNotInUse()){ + $this->appendResponse($this->delete()); + echo ""; + die(); + } + }else + $this->notImplementedOperationError(); + } +} diff --git a/ieducar/modules/Api/Views/RotaController.php b/ieducar/modules/Api/Views/RotaController.php new file mode 100644 index 0000000..fc1fb9c --- /dev/null +++ b/ieducar/modules/Api/Views/RotaController.php @@ -0,0 +1,222 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Api + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ +require_once 'include/modules/clsModulesPessoaTransporte.inc.php'; +require_once 'include/modules/clsModulesRotaTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesItinerarioTransporteEscolar.inc.php'; + +require_once 'Portabilis/Controller/ApiCoreController.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/String/Utils.php'; +require_once 'Portabilis/Date/Utils.php'; + +class RotaController extends ApiCoreController +{ + protected $_processoAp = 21238; //verificar + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; // verificar + + protected function loadNomePessoaj($id) { + $sql = "select nome from cadastro.pessoa, modules.rota_transporte_escolar rt where idpes = rt.ref_idpes_destino and cod_rota_transporte_escolar = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function loadNomeEmpresa($id) { + $sql = "select nome from cadastro.pessoa, modules.empresa_transporte_escolar emp, modules.rota_transporte_escolar rt where idpes = emp.ref_idpes and emp.cod_empresa_transporte_escolar = rt.ref_cod_empresa_transporte_escolar and rt.cod_rota_transporte_escolar = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function validatesValueIsNumeric($value){ + return (is_numeric($value) || empty($value)); + } + + protected function createOrUpdateRota($id = null){ + + $rota = new clsModulesRotaTransporteEscolar(); + $rota->cod_rota_transporte_escolar = $id; + + // após cadastro não muda mais id pessoa + $rota->descricao = Portabilis_String_Utils::toLatin1($this->getRequest()->desc); + $rota->ref_idpes_destino = $this->getRequest()->pessoaj_id; + $rota->ano = $this->getRequest()->ano; + $rota->tipo_rota = $this->getRequest()->tipo_rota; + $rota->km_pav = $this->getRequest()->km_pav; + $rota->km_npav = $this->getRequest()->km_npav; + $rota->ref_cod_empresa_transporte_escolar = $this->getRequest()->empresa_id; + $rota->tercerizado = ($this->getRequest()->tercerizado == 'on' ? 'S' : 'N'); + + return (is_null($id) ? $rota->cadastra() : $rota->edita()); + } + + protected function sqlsForNumericSearch() { + + $sqls[] = "select distinct cod_rota_transporte_escolar as id, descricao as name from + modules.rota_transporte_escolar where cod_rota_transporte_escolar like $1||'%'"; + + return $sqls; + } + + + protected function sqlsForStringSearch() { + + $sqls[] = "select distinct cod_rota_transporte_escolar as id, descricao as name from + modules.rota_transporte_escolar where lower(to_ascii(descricao)) like '%'||lower(to_ascii($1))||'%'"; + + return $sqls; + } + + protected function get() { + + $id = $this->getRequest()->id; + $rota = new clsModulesRotaTransporteEscolar(); + $rota->cod_rota_transporte_escolar = $id; + $rota = $rota->detalhe(); + + $attrs = array( + 'cod_rota_transporte_escolar' => 'id', + 'descricao' => 'desc', + 'ref_idpes_destino' => 'ref_idpes_destino', + 'ano' => 'ano', + 'tipo_rota' => 'tipo_rota', + 'km_pav' => 'km_pav', + 'km_npav' => 'km_npav', + 'ref_cod_empresa_transporte_escolar' => 'ref_cod_empresa_transporte_escolar', + 'tercerizado' => 'tercerizado' + ); + + $rota = Portabilis_Array_Utils::filter($rota, $attrs); + + $rota['nomeEmpresa'] = Portabilis_String_Utils::toUtf8($this->loadNomeEmpresa($id)); + $rota['nomeDestino'] = Portabilis_String_Utils::toUtf8($this->loadNomePessoaj($id)); + $rota['desc'] = Portabilis_String_Utils::toUtf8($rota['desc']); + return $rota; + } + + protected function validateIfRotaIsNotInUse(){ + + $pt = new clsModulesPessoaTransporte(); + $lista = $pt->lista(null,null,$this->getRequest()->id); + if(is_array($lista) && count($lista)>0){ + $this->messenger->append('Não é possível excluir uma rota que está vinculada a uma pessoa.', + 'error', false, 'error'); + return false; + }else{ + return true; + } + } + + protected function post() { + + if ($this->validatesValueIsNumeric($this->getRequest()->km_pav) && $this->validatesValueIsNumeric($this->getRequest()->km_npav)){ + + $id = $this->createOrUpdateRota(); + if (is_numeric($id)) { + + $this->messenger->append('Cadastro realizado com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente a rota não pode ser cadastrada, por favor, verifique.'); + + + return array('id' => $id); + }else{ + $this->messenger->append('Os dados para Km devem ser númericos (ex: 23.3 ou 55)'); + } + } + + protected function put() { + $id = $this->getRequest()->id; + $editou = $this->createOrUpdateRota($id); + + if ($editou) { + + $this->messenger->append('Alteração realizada com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente a rota não pode ser alterado, por favor, verifique.'); + + + return array('id' => $id); + } + + protected function delete() { + $id = $this->getRequest()->id; + + $itinerario = new clsModulesItinerarioTransporteEscolar(); + $itinerario->excluirTodos($id); + + $rota = new clsModulesRotaTransporteEscolar(); + $rota->cod_rota_transporte_escolar = $id; + + if($rota->excluir()){ + $this->messenger->append('Cadastro removido com sucesso', 'success', false, 'error'); + }else + $this->messenger->append('Aparentemente o cadastro não pode ser removido, por favor, verifique.', + 'error', false, 'error'); + + return array('id' => $id); + } + + + public function Gerar() { + + if ($this->isRequestFor('get', 'rota')) + $this->appendResponse($this->get()); + + elseif ($this->isRequestFor('get', 'rota-search')) + $this->appendResponse($this->search()); + + // create + elseif ($this->isRequestFor('post', 'rota')) + $this->appendResponse($this->post()); + + // update + elseif ($this->isRequestFor('put', 'rota')) + $this->appendResponse($this->put()); + + elseif ($this->isRequestFor('delete', 'rota')){ + if ($this->validateIfRotaIsNotInUse()){ + $this->appendResponse($this->delete()); + echo ""; + die(); + } + + }else + $this->notImplementedOperationError(); + } +} diff --git a/ieducar/modules/Api/Views/VeiculoController.php b/ieducar/modules/Api/Views/VeiculoController.php new file mode 100644 index 0000000..e4cb762 --- /dev/null +++ b/ieducar/modules/Api/Views/VeiculoController.php @@ -0,0 +1,262 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package Api + * @subpackage Modules + * @since 07/2013 + * @version $Id$ + */ + +require_once 'include/modules/clsModulesItinerarioTransporteEscolar.inc.php'; +require_once 'include/modules/clsModulesVeiculo.inc.php'; + +require_once 'Portabilis/Controller/ApiCoreController.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/String/Utils.php'; +require_once 'Portabilis/Array/Utils.php'; +require_once 'Portabilis/Date/Utils.php'; + +class VeiculoController extends ApiCoreController +{ + protected $_processoAp = 578; //verificar + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; // verificar + + protected function loadNomeEmpresa($id) { + $sql = "select nome from cadastro.pessoa, modules.empresa_transporte_escolar emp where idpes = emp.ref_idpes and emp.cod_empresa_transporte_escolar = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function loadNomeMotorista($id) { + $sql = "select nome from cadastro.pessoa, modules.motorista where idpes = ref_idpes and cod_motorista = $1"; + $nome = $this->fetchPreparedQuery($sql, $id, false, 'first-field'); + + return $this->toUtf8($nome, array('transform' => true)); + } + + protected function createOrUpdateVeiculo($id = null){ + + + $veiculo = new clsModulesVeiculo(); + $veiculo->cod_veiculo = $id; + // após cadastro não muda mais id pessoa + + $veiculo->descricao = Portabilis_String_Utils::toLatin1($this->getRequest()->descricao); + $veiculo->placa = Portabilis_String_Utils::toLatin1($this->getRequest()->placa); + $veiculo->renavam = $this->getRequest()->renavam; + $veiculo->chassi = $this->getRequest()->chassi; + $veiculo->marca = Portabilis_String_Utils::toLatin1($this->getRequest()->marca); + $veiculo->passageiros = $this->getRequest()->passageiros; + $veiculo->ano_fabricacao = $this->getRequest()->ano_fabricacao; + $veiculo->ano_modelo = $this->getRequest()->ano_modelo; + $veiculo->malha = $this->getRequest()->malha; + $veiculo->ref_cod_tipo_veiculo = $this->getRequest()->tipo; + $veiculo->exclusivo_transporte_escolar = ($this->getRequest()->exclusivo_transporte_escolar == 'on' ? 'S' : 'N'); + $veiculo->adaptado_necessidades_especiais = ($this->getRequest()->adaptado_necessidades_especiais == 'on' ? 'S' : 'N'); + $veiculo->ativo = ($this->getRequest()->ativo == 'on' ? 'S' : 'N'); + $veiculo->descricao_inativo = Portabilis_String_Utils::toLatin1($this->getRequest()->descricao_inativo); + $veiculo->ref_cod_empresa_transporte_escolar = $this->getRequest()->empresa_id; + $veiculo->ref_cod_motorista = $this->getRequest()->motorista_id; + $veiculo->observacao = Portabilis_String_Utils::toLatin1($this->getRequest()->observacao); + + return (is_null($id) ? $veiculo->cadastra() : $veiculo->edita()); + } + + protected function sqlsForNumericSearch() { + + $sqls[] = "select distinct cod_veiculo as id, (descricao || ', Placa: ' || placa) as name from + modules.veiculo where (cod_veiculo like $1||'%') OR (lower(to_ascii(placa)) like '%'||lower(to_ascii($1))||'%')"; + + return $sqls; + } + + + protected function sqlsForStringSearch() { + + $sqls[] = "select distinct cod_veiculo as id, (descricao || ', Placa: ' || placa ) as name from + modules.veiculo where (lower(to_ascii(descricao)) like '%'||lower(to_ascii($1))||'%') OR (lower(to_ascii(placa)) like '%'||lower(to_ascii($1))||'%')"; + + return $sqls; + } + + protected function validateSizeOfObservacao(){ + if (strlen($this->getRequest()->observacao)<=255) + return true; + else{ + $this->messenger->append('O campo Observações não pode ter mais que 255 caracteres.'); + return false; + } + + } + + protected function validateSizeOfDescricaoInativo(){ + if (strlen($this->getRequest()->descricao_inativo)<=255) + return true; + else{ + $this->messenger->append('O campo Descrição de inatividade não pode ter mais que 255 caracteres.'); + return false; + } + + } + + protected function validateIfVeiculoIsNotInUse(){ + + $it = new clsModulesItinerarioTransporteEscolar(); + $lista = $it->lista(null,null,null,$this->getRequest()->id); + if(is_array($lista) && count($lista)>0){ + $this->messenger->append('Não é possível excluir um veículo que está vinculada a um itinerário.', + 'error', false, 'error'); + return false; + }else{ + return true; + } + } + + protected function get() { + + $id = $this->getRequest()->id; + $veiculo = new clsModulesVeiculo(); + $veiculo->cod_veiculo = $id; + $veiculo = $veiculo->detalhe(); + + $attrs = array( + 'cod_veiculo' => 'id', + 'descricao' => 'descricao', + 'placa' => 'placa', + 'renavam' => 'renavam', + 'chassi' => 'chassi', + 'marca' => 'marca', + 'ano_fabricacao' => 'ano_fabricacao', + 'ano_modelo' => 'ano_modelo', + 'passageiros' => 'passageiros', + 'malha' => 'malha', + 'ref_cod_tipo_veiculo' => 'tipo', + 'exclusivo_transporte_escolar' => 'exclusivo_transporte_escolar', + 'adaptado_necessidades_especiais' => 'adaptado_necessidades_especiais', + 'ativo' => 'ativo', + 'descricao_inativo' => 'descricao_inativo', + 'ref_cod_empresa_transporte_escolar' => 'empresa', + 'ref_cod_motorista' => 'motorista', + 'observacao' => 'observacao' + ); + + $veiculo = Portabilis_Array_Utils::filter($veiculo, $attrs); + + $veiculo['empresaNome'] = Portabilis_String_Utils::toUtf8($this->loadNomeEmpresa($veiculo['empresa'])); + + $veiculo['motoristaNome'] = Portabilis_String_Utils::toUtf8($this->loadNomeMotorista($veiculo['motorista'])); + $veiculo['descricao'] = Portabilis_String_Utils::toUtf8($veiculo['descricao']); + $veiculo['marca'] = Portabilis_String_Utils::toUtf8($veiculo['marca']); + $veiculo['placa'] = Portabilis_String_Utils::toUtf8($veiculo['placa']); + $veiculo['chassi'] = Portabilis_String_Utils::toUtf8($veiculo['chassi']); + $veiculo['descricao_inativo'] = Portabilis_String_Utils::toUtf8($veiculo['descricao_inativo']); + $veiculo['observacao'] = Portabilis_String_Utils::toUtf8($veiculo['observacao']); + + return $veiculo; + + } + + protected function post() { + + if ($this->validateSizeOfDescricaoInativo() && $this->validateSizeOfObservacao()){ + $id = $this->createOrUpdateVeiculo(); + + if (is_numeric($id)) { + + $this->messenger->append('Cadastro realizado com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o veículo não pode ser cadastrado, por favor, verifique.'); + } + + return array('id' => $id); + } + + protected function put() { + + if ($this->validateSizeOfDescricaoInativo() && $this->validateSizeOfObservacao()){ + $id = $this->getRequest()->id; + $editou = $this->createOrUpdateVeiculo($id); + + if ($editou) { + $this->messenger->append('Alteração realizada com sucesso', 'success', false, 'error'); + } + else + $this->messenger->append('Aparentemente o cadastro não pode ser alterado, por favor, verifique.'); + } + + + return array('id' => $id); + } + + protected function delete() { + $id = $this->getRequest()->id; + + + $veiculo = new clsModulesVeiculo(); + $veiculo->cod_veiculo = $id; + + if($veiculo->excluir()){ + $this->messenger->append('Cadastro removido com sucesso', 'success', false, 'error'); + }else + $this->messenger->append('Aparentemente o cadastro não pode ser removido, por favor, verifique.','error', false, 'error'); + + return array('id' => $id); + } + + + public function Gerar() { + + if ($this->isRequestFor('get', 'veiculo')) + $this->appendResponse($this->get()); + + elseif ($this->isRequestFor('get', 'veiculo-search')) + $this->appendResponse($this->search()); + + // create + elseif ($this->isRequestFor('post', 'veiculo')) + $this->appendResponse($this->post()); + + elseif ($this->isRequestFor('delete', 'veiculo')){ + if($this->validateIfVeiculoIsNotInUse()){ + $this->appendResponse($this->delete()); + echo ""; + + die(); + } + // update + }elseif ($this->isRequestFor('put', 'veiculo')) + $this->appendResponse($this->put()); + + else + $this->notImplementedOperationError(); + } +} \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js new file mode 100644 index 0000000..faa4590 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js @@ -0,0 +1,160 @@ +// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); + +var $idField = $j('#id'); +var $nomeField = $j('#pessoa_nome'); + +var $resourceNotice = $j('').html('') + .addClass('error resource-notice') + .hide() + .width($nomeField.outerWidth() - 12) + .insertBefore($idField.parent()); + +var $pessoaNotice = $resourceNotice.clone() + .appendTo($nomeField.parent()); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + $nomeField.attr('disabled', 'disabled'); + $j('.pessoa-links .cadastrar-pessoa').hide(); + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_empresa_det.php?cod_empresa=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_empresa_det.php?cod_empresa=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + handleMessages(dataResponse.msgs); + $resourceNotice.hide(); + + $deleteButton.removeAttr('disabled').show(); + + if (dataResponse.pessoa) + getPersonDetails(dataResponse.pessoa); + + $idField.val(dataResponse.id); + $j('#observacao').val(dataResponse.observacao); + + $j('#pessoaj_pessoaj').val(dataResponse.pessoaj+' - '+dataResponse.pessoajnome); + $j('#pessoaj_id').val(dataResponse.pessoaj); + +}; + +var handleGetPersonDetails = function(dataResponse) { + handleMessages(dataResponse.msgs); + $pessoaNotice.hide(); + + var alunoId = dataResponse.aluno_id; + + $j('.pessoa-links .editar-pessoa').attr('href', '/intranet/atendidos_cad.php?cod_pessoa_fj=' + dataResponse.id) + .show().css('display', 'inline'); + + $submitButton.removeAttr('disabled').show(); + + + $j('#pessoa_id').val(dataResponse.id); + $nomeField.val(dataResponse.id + ' - ' + dataResponse.nome); + + +} + +var getPersonDetails = function(personId) { + var additionalVars = { + id : personId + }; + + var options = { + url : getResourceUrlBuilder.buildUrl('/module/Api/pessoa', 'pessoa', additionalVars), + dataType : 'json', + data : {}, + success : handleGetPersonDetails + }; + + getResource(options); +} + +var updatePersonDetails = function() { + if ($j('#pessoa_nome').val() && $j('#pessoa_id').val()) + getPersonDetails($j('#pessoa_id').val()); + else + clearPersonDetails(); +} + +var clearPersonDetails = function() { + $j('#pessoa_id').val(''); + $j('.pessoa-links .editar-pessoa').hide(); +} + +// simple search options + +var simpleSearchPessoaOptions = { + autocompleteOptions : { close : updatePersonDetails /*, change : updatePersonDetails*/ } +}; + + +// children callbacks + +function afterChangePessoa(targetWindow, pessoaId) { + targetWindow.close(); + + // timeout para usuario perceber mudança + window.setTimeout(function() { + messageUtils.success('Pessoa alterada com sucesso', $nomeField); + + $j('#pessoa_id').val(pessoaId); + getPersonDetails(pessoaId); + + if ($nomeField.is(':active')) + $nomeField.focus(); + + }, 500); +} + + +// when page is ready + +(function($) { + $(document).ready(function() { + + // pessoa + + var $pessoaActionBar = $j('').html('') + .addClass('pessoa-links') + .width($nomeField.outerWidth() - 12) + .appendTo($nomeField.parent()); + + $j('').hide() + .addClass('cadastrar-pessoa decorated') + .attr('href', '/intranet/atendidos_cad.php') + .attr('target', '_blank') + .html('Cadastrar pessoa') + .appendTo($pessoaActionBar); + + $j('').hide() + .addClass('editar-pessoa decorated') + .attr('href', '#') + .attr('target', '_blank') + .html('Editar pessoa') + .appendTo($pessoaActionBar); + + if (resource.isNew()) { + $nomeField.focus(); + $j('.pessoa-links .cadastrar-pessoa').show().css('display', 'inline'); + } + else + $nomeField.attr('disabled', 'disabled'); + + + }); // ready +})(jQuery); diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js~ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js~ new file mode 100644 index 0000000..8b6137a --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Empresa.js~ @@ -0,0 +1,123 @@ +// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); + +var $idField = $j('#id'); +var $nomeField = $j('#pessoa_nome'); + +var $resourceNotice = $j('').html('') + .addClass('error resource-notice') + .hide() + .width($nomeField.outerWidth() - 12) + .insertBefore($idField.parent()); + +var $pessoaNotice = $resourceNotice.clone() + .appendTo($nomeField.parent()); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + $nomeField.attr('disabled', 'disabled'); + $j('.pessoa-links .cadastrar-pessoa').hide(); + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_empresa_det.php?cod_empresa=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_empresa_det.php?cod_empresa=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + handleMessages(dataResponse.msgs); + $resourceNotice.hide(); + + $deleteButton.removeAttr('disabled').show(); + + if (dataResponse.pessoa) + getPersonDetails(dataResponse.pessoa); + + $idField.val(dataResponse.id); + $j('#observacao').val(dataResponse.observacao); + + $j('#pessoaj_pessoaj').val(dataResponse.pessoaj+' - '+dataResponse.pessoajnome); + $j('#pessoaj_id').val(dataResponse.pessoaj); + +}; + +var handleGetPersonDetails = function(dataResponse) { + handleMessages(dataResponse.msgs); + $pessoaNotice.hide(); + + var alunoId = dataResponse.aluno_id; + + $j('.pessoa-links .editar-pessoa').attr('href', '/intranet/atendidos_cad.php?cod_pessoa_fj=' + dataResponse.id) + .show().css('display', 'inline'); + + $submitButton.removeAttr('disabled').show(); + + + $j('#pessoa_id').val(dataResponse.id); + $nomeField.val(dataResponse.id + ' - ' + dataResponse.nome); + + +} + +var getPersonDetails = function(personId) { + var additionalVars = { + id : personId + }; + + var options = { + url : getResourceUrlBuilder.buildUrl('/module/Api/pessoa', 'pessoa', additionalVars), + dataType : 'json', + data : {}, + success : handleGetPersonDetails + }; + + getResource(options); +} + +var updatePersonDetails = function() { + if ($j('#pessoa_nome').val() && $j('#pessoa_id').val()) + getPersonDetails($j('#pessoa_id').val()); + else + clearPersonDetails(); +} + +var clearPersonDetails = function() { + $j('#pessoa_id').val(''); + $j('.pessoa-links .editar-pessoa').hide(); +} + +// simple search options + +var simpleSearchPessoaOptions = { + autocompleteOptions : { close : updatePersonDetails /*, change : updatePersonDetails*/ } +}; + + +// children callbacks + +function afterChangePessoa(targetWindow, pessoaId) { + targetWindow.close(); + + // timeout para usuario perceber mudança + window.setTimeout(function() { + messageUtils.success('Pessoa alterada com sucesso', $nomeField); + + $j('#pessoa_id').val(pessoaId); + getPersonDetails(pessoaId); + + if ($nomeField.is(':active')) + $nomeField.focus(); + + }, 500); +} + diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Motorista.js b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Motorista.js new file mode 100644 index 0000000..6d897b5 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Motorista.js @@ -0,0 +1,166 @@ +// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); +var $idField = $j('#id'); +var $nomeField = $j('#pessoa_nome'); + +var $resourceNotice = $j('').html('') + .addClass('error resource-notice') + .hide() + .width($nomeField.outerWidth() - 12) + .insertBefore($idField.parent()); + +var $pessoaNotice = $resourceNotice.clone() + .appendTo($nomeField.parent()); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + $nomeField.attr('disabled', 'disabled'); + $j('.pessoa-links .cadastrar-pessoa').hide(); + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_motorista_det.php?cod_motorista=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_motorista_det.php?cod_motorista=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + handleMessages(dataResponse.msgs); + $resourceNotice.hide(); + + $deleteButton.removeAttr('disabled').show(); + + if (dataResponse.pessoa) + getPersonDetails(dataResponse.pessoa); + + $idField.val(dataResponse.id); + $j('#cnh').val(dataResponse.cnh); + $j('#tipo_cnh').val(dataResponse.tipo_cnh); + + $j('#dt_habilitacao').val(dataResponse.dt_habilitacao); + $j('#vencimento_cnh').val(dataResponse.vencimento_cnh); + $j('#observacao').val(dataResponse.observacao); + + $j('#empresa_ref_cod_empresa_transporte_escolarf').val(dataResponse.ref_cod_empresa_transporte_escolar+' - '+dataResponse.empresa); + $j('#empresa_id').val(dataResponse.ref_cod_empresa_transporte_escolar); + + + +}; + +var handleGetPersonDetails = function(dataResponse) { + handleMessages(dataResponse.msgs); + $pessoaNotice.hide(); + + var alunoId = dataResponse.aluno_id; + + $j('.pessoa-links .editar-pessoa').attr('href', '/intranet/atendidos_cad.php?cod_pessoa_fj=' + dataResponse.id) + .show().css('display', 'inline'); + + $submitButton.removeAttr('disabled').show(); + + + $j('#pessoa_id').val(dataResponse.id); + $nomeField.val(dataResponse.id + ' - ' + dataResponse.nome); + + +} + +var getPersonDetails = function(personId) { + var additionalVars = { + id : personId + }; + + var options = { + url : getResourceUrlBuilder.buildUrl('/module/Api/pessoa', 'pessoa', additionalVars), + dataType : 'json', + data : {}, + success : handleGetPersonDetails + }; + + getResource(options); +} + +var updatePersonDetails = function() { + if ($j('#pessoa_nome').val() && $j('#pessoa_id').val()) + getPersonDetails($j('#pessoa_id').val()); + else + clearPersonDetails(); +} + +var clearPersonDetails = function() { + $j('#pessoa_id').val(''); + $j('.pessoa-links .editar-pessoa').hide(); +} + +// simple search options + +var simpleSearchPessoaOptions = { + autocompleteOptions : { close : updatePersonDetails /*, change : updatePersonDetails*/ } +}; + + +// children callbacks + +function afterChangePessoa(targetWindow, pessoaId) { + targetWindow.close(); + + // timeout para usuario perceber mudança + window.setTimeout(function() { + messageUtils.success('Pessoa alterada com sucesso', $nomeField); + + $j('#pessoa_id').val(pessoaId); + getPersonDetails(pessoaId); + + if ($nomeField.is(':active')) + $nomeField.focus(); + + }, 500); +} + + +// when page is ready + +(function($) { + $(document).ready(function() { + + // pessoa + + var $pessoaActionBar = $j('').html('') + .addClass('pessoa-links') + .width($nomeField.outerWidth() - 12) + .appendTo($nomeField.parent()); + + $j('').hide() + .addClass('cadastrar-pessoa decorated') + .attr('href', '/intranet/atendidos_cad.php') + .attr('target', '_blank') + .html('Cadastrar pessoa') + .appendTo($pessoaActionBar); + + $j('').hide() + .addClass('editar-pessoa decorated') + .attr('href', '#') + .attr('target', '_blank') + .html('Editar pessoa') + .appendTo($pessoaActionBar); + + if (resource.isNew()) { + $nomeField.focus(); + $j('.pessoa-links .cadastrar-pessoa').show().css('display', 'inline'); + } + else + $nomeField.attr('disabled', 'disabled'); + + + }); // ready +})(jQuery); diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Pessoatransporte.js b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Pessoatransporte.js new file mode 100644 index 0000000..7a6da99 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Pessoatransporte.js @@ -0,0 +1,221 @@ +document.getElementById('rota').onchange = function() +{ + chamaGetPonto(); +} + +var valPonto = 0; + +function chamaGetPonto(){ + + var campoRota = document.getElementById('rota').value; + var campoPonto= document.getElementById('ponto'); + + if (campoRota==''){ + campoPonto.length = 1; + campoPonto.options[0].text = 'Selecione uma rota acima'; + + }else{ + + campoPonto.length = 1; + campoPonto.disabled = true; + campoPonto.options[0].text = 'Carregando pontos...'; + + var xml_ponto = new ajax( getPonto ); + xml_ponto.envia( "ponto_xml.php?rota="+campoRota ); + } +} + +function getPonto( xml_ponto ) +{ + var campoPonto = document.getElementById('ponto'); + var DOM_array = xml_ponto.getElementsByTagName( "ponto" ); + + if(DOM_array.length) + { + campoPonto.length = 1; + campoPonto.options[0].text = 'Selecione um ponto'; + campoPonto.disabled = false; + + for( var i = 0; i < DOM_array.length; i++ ) + { + campoPonto.options[campoPonto.options.length] = new Option( DOM_array[i].firstChild.data, DOM_array[i].getAttribute("cod_ponto"),false,false); + } + $j('#ponto').val(valPonto); + } + else + campoPonto.options[0].text = 'Rota sem pontos'; + + +} + +// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); +var $idField = $j('#id'); +var $nomeField = $j('#pessoa_nome'); + +var $resourceNotice = $j('').html('') + .addClass('error resource-notice') + .hide() + .width($nomeField.outerWidth() - 12) + .insertBefore($idField.parent()); + +var $pessoaNotice = $resourceNotice.clone() + .appendTo($nomeField.parent()); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + $nomeField.attr('disabled', 'disabled'); + $j('.pessoa-links .cadastrar-pessoa').hide(); + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_pessoa_det.php?cod_pt=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_pessoa_det.php?cod_pt=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + valPonto = dataResponse.ponto; + handleMessages(dataResponse.msgs); + $resourceNotice.hide(); + + $deleteButton.removeAttr('disabled').show(); + + $(''); + if (dataResponse.pessoa) + getPersonDetails(dataResponse.pessoa); + + $idField.val(dataResponse.id); + + $j('#rota').val(dataResponse.rota); + chamaGetPonto(); + + $j('#observacao').val(dataResponse.observacao); + + $j('#nome').val(dataResponse.pessoa+' - '+dataResponse.pessoa_nome); + $j('#pessoa_id').val(dataResponse.pessoa); + + if (dataResponse.pessoaj){ + $j('#pessoaj_destino').val(dataResponse.pessoaj+' - '+dataResponse.pessoaj_nome); + $j('#pessoaj_id').val(dataResponse.pessoaj); + } + + +}; + +var handleGetPersonDetails = function(dataResponse) { + handleMessages(dataResponse.msgs); + $pessoaNotice.hide(); + + var alunoId = dataResponse.aluno_id; + + $j('.pessoa-links .editar-pessoa').attr('href', '/intranet/atendidos_cad.php?cod_pessoa_fj=' + dataResponse.id) + .show().css('display', 'inline'); + + $submitButton.removeAttr('disabled').show(); + + + $j('#pessoa_id').val(dataResponse.id); + $nomeField.val(dataResponse.id + ' - ' + dataResponse.nome); + + +} + +var getPersonDetails = function(personId) { + var additionalVars = { + id : personId + }; + + var options = { + url : getResourceUrlBuilder.buildUrl('/module/Api/pessoa', 'pessoa', additionalVars), + dataType : 'json', + data : {}, + success : handleGetPersonDetails + }; + + getResource(options); +} + +var updatePersonDetails = function() { + if ($j('#pessoa_nome').val() && $j('#pessoa_id').val()) + getPersonDetails($j('#pessoa_id').val()); + else + clearPersonDetails(); +} + +var clearPersonDetails = function() { + $j('#pessoa_id').val(''); + $j('.pessoa-links .editar-pessoa').hide(); +} + +// simple search options + +var simpleSearchPessoaOptions = { + autocompleteOptions : { close : updatePersonDetails /*, change : updatePersonDetails*/ } +}; + + +// children callbacks + +function afterChangePessoa(targetWindow, pessoaId) { + targetWindow.close(); + + // timeout para usuario perceber mudança + window.setTimeout(function() { + messageUtils.success('Pessoa alterada com sucesso', $nomeField); + + $j('#pessoa_id').val(pessoaId); + getPersonDetails(pessoaId); + + if ($nomeField.is(':active')) + $nomeField.focus(); + + }, 500); +} + + +// when page is ready + +(function($) { + $(document).ready(function() { + + // pessoa + + var $pessoaActionBar = $j('').html('') + .addClass('pessoa-links') + .width($nomeField.outerWidth() - 12) + .appendTo($nomeField.parent()); + + $j('').hide() + .addClass('cadastrar-pessoa decorated') + .attr('href', '/intranet/atendidos_cad.php') + .attr('target', '_blank') + .html('Cadastrar pessoa') + .appendTo($pessoaActionBar); + + $j('').hide() + .addClass('editar-pessoa decorated') + .attr('href', '#') + .attr('target', '_blank') + .html('Editar pessoa') + .appendTo($pessoaActionBar); + + if (resource.isNew()) { + $nomeField.focus(); + $j('.pessoa-links .cadastrar-pessoa').show().css('display', 'inline'); + } + else + $nomeField.attr('disabled', 'disabled'); + + + }); // ready +})(jQuery); diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js new file mode 100644 index 0000000..7de81b2 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js @@ -0,0 +1,32 @@ +// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); + +var $idField = $j('#id'); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_ponto_det.php?cod_ponto=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_ponto_det.php?cod_ponto=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + handleMessages(dataResponse.msgs); + + $deleteButton.removeAttr('disabled').show(); + + $idField.val(dataResponse.id); + $j('#desc').val(dataResponse.desc); +}; \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js~ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js~ new file mode 100644 index 0000000..7f5af11 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Ponto.js~ @@ -0,0 +1,37 @@ +s// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); + +var $idField = $j('#id'); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_ponto_det.php?cod_ponto=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_ponto_det.php?cod_ponto=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + handleMessages(dataResponse.msgs); + $resourceNotice.hide(); + + $deleteButton.removeAttr('disabled').show(); + + if (dataResponse.pessoa) + getPersonDetails(dataResponse.pessoa); + + $idField.val(dataResponse.id); + $j('#desc').val(dataResponse.desc); + +}; diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Rota.js b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Rota.js new file mode 100644 index 0000000..373c422 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Rota.js @@ -0,0 +1,45 @@ +// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); +var $idField = $j('#id'); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_rota_det.php?cod_rota=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_rota_det.php?cod_rota=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + handleMessages(dataResponse.msgs); + + $deleteButton.removeAttr('disabled').show(); + + $idField.val(dataResponse.id); + $j('#desc').val(dataResponse.desc); + $j('#pessoaj_id').val(dataResponse.ref_idpes_destino); + $j('#pessoaj_ref_idpes_destino').val(dataResponse.ref_idpes_destino+' - '+dataResponse.nomeDestino); + $j('#empresa_id').val(dataResponse.ref_cod_empresa_transporte_escolar); + $j('#empresa_ref_cod_empresa_transporte_escolar').val(dataResponse.ref_cod_empresa_transporte_escolar+' - '+dataResponse.nomeEmpresa); + $j('#ano').val(dataResponse.ano); + $j('#tipo_rota').val(dataResponse.tipo_rota); + $j('#km_pav').val(dataResponse.km_pav); + $j('#km_npav').val(dataResponse.km_npav); + $j('#km_npav').val(dataResponse.km_npav); + if (dataResponse.tercerizado == 'S'){ + $j('#tercerizado').attr('checked',true); + $j('#tercerizado').val('on'); + } + +}; \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Javascripts/Veiculo.js b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Veiculo.js new file mode 100644 index 0000000..66b4209 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Javascripts/Veiculo.js @@ -0,0 +1,189 @@ +// before page is ready + +$deleteButton = $j('').html('') + .addClass('botaolistagem').insertAfter('#btn_enviar'); +var $idField = $j('#id'); +var $nomeField = $j('#pessoa_nome'); + +var $resourceNotice = $j('').html('') + .addClass('error resource-notice') + .hide() + .width($nomeField.outerWidth() - 12) + .insertBefore($idField.parent()); + +var $pessoaNotice = $resourceNotice.clone() + .appendTo($nomeField.parent()); + +// ajax + +resourceOptions.handlePost = function(dataResponse) { + $nomeField.attr('disabled', 'disabled'); + $j('.pessoa-links .cadastrar-pessoa').hide(); + + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_veiculo_det.php?cod_veiculo=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handlePut = function(dataResponse) { + if (! dataResponse.any_error_msg) + window.setTimeout(function() { document.location = '/intranet/transporte_veiculo_det.php?cod_veiculo=' + resource.id(); }, 500); + else + $submitButton.removeAttr('disabled').val('Gravar'); +} + +resourceOptions.handleGet = function(dataResponse) { + handleMessages(dataResponse.msgs); + $resourceNotice.hide(); + + $deleteButton.removeAttr('disabled').show(); + + if (dataResponse.pessoa) + getPersonDetails(dataResponse.pessoa); + + $idField.val(dataResponse.id); + $j('#descricao').val(dataResponse.descricao); + $j('#placa').val(dataResponse.placa); + $j('#renavam').val(dataResponse.renavam); + $j('#chassi').val(dataResponse.chassi); + $j('#marca').val(dataResponse.marca); + $j('#ano_fabricacao').val(dataResponse.ano_fabricacao); + $j('#ano_modelo').val(dataResponse.ano_modelo); + $j('#passageiros').val(dataResponse.passageiros); + $j('#malha').val(dataResponse.malha); + $j('#tipo').val(dataResponse.tipo); + if (dataResponse.exclusivo_transporte_escolar == 'S'){ + $j('#exclusivo_transporte_escolar').attr('checked',true); + $j('#exclusivo_transporte_escolar').val('on'); + } + if (dataResponse.adaptado_necessidades_especiais == 'S'){ + $j('#adaptado_necessidades_especiais').attr('checked',true); + $j('#adaptado_necessidades_especiais').val('on'); + } + + if (dataResponse.ativo == 'N'){ + $j('#ativo').attr('checked',false); + $j('#ativo').val(''); + } + + $j('#motorista_motorista').val(dataResponse.motorista+' - '+dataResponse.motoristaNome); + $j('#motorista_id').val(dataResponse.motorista); + + $j('#descricao_ativo').val(dataResponse.descricao_ativo); + $j('#empresa_empresa').val(dataResponse.empresa+' - '+dataResponse.empresaNome); + $j('#empresa_id').val(dataResponse.empresa); + $j('#observacao').val(dataResponse.observacao); + + + + +}; + +var handleGetPersonDetails = function(dataResponse) { + handleMessages(dataResponse.msgs); + $pessoaNotice.hide(); + + var alunoId = dataResponse.aluno_id; + + $j('.pessoa-links .editar-pessoa').attr('href', '/intranet/atendidos_cad.php?cod_pessoa_fj=' + dataResponse.id) + .show().css('display', 'inline'); + + $submitButton.removeAttr('disabled').show(); + + + $j('#pessoa_id').val(dataResponse.id); + $nomeField.val(dataResponse.id + ' - ' + dataResponse.nome); + + +} + +var getPersonDetails = function(personId) { + var additionalVars = { + id : personId + }; + + var options = { + url : getResourceUrlBuilder.buildUrl('/module/Api/pessoa', 'pessoa', additionalVars), + dataType : 'json', + data : {}, + success : handleGetPersonDetails + }; + + getResource(options); +} + +var updatePersonDetails = function() { + if ($j('#pessoa_nome').val() && $j('#pessoa_id').val()) + getPersonDetails($j('#pessoa_id').val()); + else + clearPersonDetails(); +} + +var clearPersonDetails = function() { + $j('#pessoa_id').val(''); + $j('.pessoa-links .editar-pessoa').hide(); +} + +// simple search options + +var simpleSearchPessoaOptions = { + autocompleteOptions : { close : updatePersonDetails /*, change : updatePersonDetails*/ } +}; + + +// children callbacks + +function afterChangePessoa(targetWindow, pessoaId) { + targetWindow.close(); + + // timeout para usuario perceber mudança + window.setTimeout(function() { + messageUtils.success('Pessoa alterada com sucesso', $nomeField); + + $j('#pessoa_id').val(pessoaId); + getPersonDetails(pessoaId); + + if ($nomeField.is(':active')) + $nomeField.focus(); + + }, 500); +} + + +// when page is ready + +(function($) { + $(document).ready(function() { + + // pessoa + + var $pessoaActionBar = $j('').html('') + .addClass('pessoa-links') + .width($nomeField.outerWidth() - 12) + .appendTo($nomeField.parent()); + + $j('').hide() + .addClass('cadastrar-pessoa decorated') + .attr('href', '/intranet/atendidos_cad.php') + .attr('target', '_blank') + .html('Cadastrar pessoa') + .appendTo($pessoaActionBar); + + $j('').hide() + .addClass('editar-pessoa decorated') + .attr('href', '#') + .attr('target', '_blank') + .html('Editar pessoa') + .appendTo($pessoaActionBar); + + if (resource.isNew()) { + $nomeField.focus(); + $j('.pessoa-links .cadastrar-pessoa').show().css('display', 'inline'); + } + else + $nomeField.attr('disabled', 'disabled'); + + + }); // ready +})(jQuery); diff --git a/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Empresa.css b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Empresa.css new file mode 100644 index 0000000..3e55879 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Empresa.css @@ -0,0 +1,18 @@ +.pessoa-links { + display: block; + padding: 5px; + margin: 2px; +} + +.pessoa-links a { + /* + obs: no firefox, ao mostrar o elemento (.show, jquery), é setado display como block, + para reparar isto, após chamar .show(), chamar .css('display', 'inline'); + */ + + margin-right: 5px; +} + +#deficiencias_chzn ul { + width: 307px; +} \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css new file mode 100644 index 0000000..4e59ec3 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css @@ -0,0 +1,15 @@ +.pessoa-links { + display: block; + padding: 5px; + margin: 2px; +} + +.pessoa-links a { + /* + obs: no firefox, ao mostrar o elemento (.show, jquery), é setado display como block, + para reparar isto, após chamar .show(), chamar .css('display', 'inline'); + */ + + margin-right: 5px; +} + diff --git a/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css~ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css~ new file mode 100644 index 0000000..3e55879 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Motorista.css~ @@ -0,0 +1,18 @@ +.pessoa-links { + display: block; + padding: 5px; + margin: 2px; +} + +.pessoa-links a { + /* + obs: no firefox, ao mostrar o elemento (.show, jquery), é setado display como block, + para reparar isto, após chamar .show(), chamar .css('display', 'inline'); + */ + + margin-right: 5px; +} + +#deficiencias_chzn ul { + width: 307px; +} \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Stylesheets/PessoaFisica.css b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/PessoaFisica.css new file mode 100644 index 0000000..3c2670f --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/PessoaFisica.css @@ -0,0 +1,57 @@ +/* Por alguma razão, no chrome ao mudar o width dos elementos eles recuam 2px */ +@media screen and (-webkit-min-device-pixel-ratio:0) { + select, + #data_emissao_certidao_civil, + #termo_certidao_civil, + #certidao_nascimento, + #carteira_trabalho, + #data_emissao_carteira_trabalho, + #titulo_eleitor, + #data_nasc, + #complemento { + margin-left: 2px; + } +} + +select { + width: 184px !important; +} + +#estado_civil_id { + width: 133px !important; +} + +#data_emissao_rg, #uf_emissao_rg { + width: 135px !important; +} + +#data_emissao_certidao_civil, #data_emissao_carteira_trabalho, #data_nasc { + width: 98px; +} + +#termo_certidao_civil { + width: 121px !important; +} + +#carteira_trabalho, #titulo_eleitor, #complemento { + width: 170px; +} + +#zona_localizacao { + width: 182px !important; +} + +.pessoa-links { + display: block; + padding: 5px; + margin: 2px; +} + +.pessoa-links a { + /* + obs: no firefox, ao mostrar o elemento (.show, jquery), é setado display como block, + para reparar isto, após chamar .show(), chamar .css('display', 'inline'); + */ + + margin-right: 5px; +} \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Pessoatransporte.css b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Pessoatransporte.css new file mode 100644 index 0000000..3e55879 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Pessoatransporte.css @@ -0,0 +1,18 @@ +.pessoa-links { + display: block; + padding: 5px; + margin: 2px; +} + +.pessoa-links a { + /* + obs: no firefox, ao mostrar o elemento (.show, jquery), é setado display como block, + para reparar isto, após chamar .show(), chamar .css('display', 'inline'); + */ + + margin-right: 5px; +} + +#deficiencias_chzn ul { + width: 307px; +} \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Rota.css b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Rota.css new file mode 100644 index 0000000..3e55879 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Rota.css @@ -0,0 +1,18 @@ +.pessoa-links { + display: block; + padding: 5px; + margin: 2px; +} + +.pessoa-links a { + /* + obs: no firefox, ao mostrar o elemento (.show, jquery), é setado display como block, + para reparar isto, após chamar .show(), chamar .css('display', 'inline'); + */ + + margin-right: 5px; +} + +#deficiencias_chzn ul { + width: 307px; +} \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Veiculo.css b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Veiculo.css new file mode 100644 index 0000000..3e55879 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Assets/Stylesheets/Veiculo.css @@ -0,0 +1,18 @@ +.pessoa-links { + display: block; + padding: 5px; + margin: 2px; +} + +.pessoa-links a { + /* + obs: no firefox, ao mostrar o elemento (.show, jquery), é setado display como block, + para reparar isto, após chamar .show(), chamar .css('display', 'inline'); + */ + + margin-right: 5px; +} + +#deficiencias_chzn ul { + width: 307px; +} \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/EmpresaController.php b/ieducar/modules/TransporteEscolar/Views/EmpresaController.php new file mode 100644 index 0000000..e42c378 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/EmpresaController.php @@ -0,0 +1,111 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; + +class EmpresaController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'i-Educar - Empresas'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 21235; + + protected $_formMap = array( + 'pessoa' => array( + 'label' => 'Pessoa responsável', + 'help' => '', + ), + + 'observacao' => array( + 'label' => 'Observações', + 'help' => '', + ), + + 'id' => array( + 'label' => 'Código da empresa', + 'help' => '', + ), + + 'pessoaj' => array( + 'label' => 'Pessoa jurídica', + 'help' => '', + ) + ); + + + protected function _preConstruct() + { + $this->_options = $this->mergeOptions(array('edit_success' => '/intranet/transporte_empresa_lst.php','delete_success' => '/intranet/transporte_empresa_lst.php'), $this->_options); + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + $this->url_cancelar = '/intranet/transporte_empresa_lst.php'; + + // Código da empresa + $options = array('label' => $this->_getLabel('id'), 'disabled' => true, + 'required' => false, 'size' => 25); + $this->inputsHelper()->integer('id', $options); + + + $options = array('label' => $this->_getLabel('pessoaj'), 'required' => true); +// $this->inputsHelper()->integer('pessoaj', $options); + $this->inputsHelper()->simpleSearchPessoaj('pessoaj', $options); + + // nome + $options = array('label' => $this->_getLabel('pessoa'), 'size' => 68); + $this->inputsHelper()->simpleSearchPessoa('nome', $options); + + + // observações + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('observacao')), 'required' => false, 'size' => 50, 'max_length' => 253); + $this->inputsHelper()->textArea('observacao', $options); + + $this->loadResourceAssets($this->getDispatcher()); + } + +} +?> \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/ItinerarioController.php b/ieducar/modules/TransporteEscolar/Views/ItinerarioController.php new file mode 100644 index 0000000..36071b7 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/ItinerarioController.php @@ -0,0 +1,156 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'include/modules/clsModulesRotaTransporteEscolar.inc.php'; +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; + +class ItinerarioController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'Cadastro de Rota'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 578; + protected $_deleteOption = false; + + protected $_formMap = array( + + 'id' => array( + 'label' => 'Código da rota', + 'help' => '', + ), + 'descricao' => array( + 'label' => 'Descrição', + 'help' => '', + ) + ); + + + protected function _preConstruct() + { + $this->_options = $this->mergeOptions(array('edit_success' => '/intranet/transporte_rota_lst.php','delete_sucess' => '/intranet/transporte_rota_lst.php'), $this->_options); + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + $id = (isset($_GET['id']) ? $_GET['id'] : 0) ; + if ($id==0 || !$this->verificaIdRota($id)) + header('Location: /intranet/transporte_rota_lst.php'); + + $this->url_cancelar = '/intranet/transporte_rota_det.php?cod_rota='.$id.''; + + // Código da rota + $options = array('label' => $this->_getLabel('id'), 'disabled' => true, + 'required' => false, 'size' => 25); + $this->inputsHelper()->integer('id', $options); + + // descricao + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('descricao')), 'disabled' => true, 'size' => 50, 'max_length' => 50); + $this->inputsHelper()->text('descricao', $options); + $resourceOptionsTable = " + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PontoHoraTipoVeiculoAção
+ + + + + Remover +
+ + + + + Remover +
+ +
"; + + $this->appendOutput($resourceOptionsTable); + + //$this->loadResourceAssets($this->getDispatcher()); + } + + function verificaIdRota($id){ + $obj = new clsModulesRotaTransporteEscolar($id); + return $obj->existe(); + } + +} +?> \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/MotoristaController.php b/ieducar/modules/TransporteEscolar/Views/MotoristaController.php new file mode 100644 index 0000000..f3f37a3 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/MotoristaController.php @@ -0,0 +1,146 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; + +class MotoristaController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'i-Educar - Motoristas'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 21236; + protected $_deleteOption = true; + + protected $_formMap = array( + 'id' => array( + 'label' => 'Código do motorista', + 'help' => '', + ), + + 'pessoa' => array( + 'label' => 'Pessoa', + 'help' => '', + ), + + 'cnh' => array( + 'label' => 'CNH', + 'help' => '', + ), + + 'tipo_cnh' =>array( + 'label' => 'Categoria CNH', + 'help' => '', + ), + + 'dt_habilitacao' =>array( + 'label' => 'Data da habilitação', + 'help' => '', + ), + + 'vencimento_cnh' =>array( + 'label' => 'Vencimento da habilitação', + 'help' => '', + ), + + 'ref_cod_empresa_transporte_escolar' =>array( + 'label' => 'Empresa', + 'help' => '', + ), + + 'observacao' =>array( + 'label' => 'Observações', + 'help' => '', + ) + + ); + + + protected function _preConstruct() + { + $this->_options = $this->mergeOptions(array('edit_success' => '/intranet/transporte_motorista_lst.php','delete_success' => '/intranet/transporte_motorista_lst.php'), $this->_options); + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + $this->url_cancelar = '/intranet/transporte_motorista_lst.php'; + + // Código do Motorista + $options = array('label' => $this->_getLabel('id'), 'disabled' => true, + 'required' => false, 'size' => 25); + $this->inputsHelper()->integer('id', $options); + + // nome + $options = array('label' => $this->_getLabel('pessoa'), 'size' => 50); + $this->inputsHelper()->simpleSearchPessoa('nome', $options); + + //número da CNH + $options = array('label' => $this->_getLabel('cnh'), 'max_length' => 15, 'size' => 15, 'placeholder' => Portabilis_String_Utils::toLatin1('Número da CNH'), 'required' => true); + $this->inputsHelper()->integer('cnh',$options); + + //Categoria da CNH + $options = array('label' => $this->_getLabel('tipo_cnh'), 'max_length' => 2, 'size' => 1, 'placeholder' => '', 'required' => true); + $this->inputsHelper()->text('tipo_cnh',$options); + + // Vencimento + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('dt_habilitacao')), 'required' => false, 'size' => 10, 'placeholder' => ''); + $this->inputsHelper()->date('dt_habilitacao',$options); + + // Habilitação + $options = array('label' =>Portabilis_String_Utils::toLatin1($this->_getLabel('vencimento_cnh')), 'required' => false, 'size' => 10,'placeholder' => ''); + $this->inputsHelper()->date('vencimento_cnh',$options); + + // Codigo da empresa + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('ref_cod_empresa_transporte_escolar')), 'required' => true); + $this->inputsHelper()->simpleSearchEmpresa('ref_cod_empresa_transporte_escolarf', $options); + + // observações + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('observacao')), 'required' => false, 'size' => 50, 'max_length' => 255); + $this->inputsHelper()->textArea('observacao', $options); + + $this->loadResourceAssets($this->getDispatcher()); + } + +} +?> \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/PessoatransporteController.php b/ieducar/modules/TransporteEscolar/Views/PessoatransporteController.php new file mode 100644 index 0000000..7dab6d8 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/PessoatransporteController.php @@ -0,0 +1,141 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; +require_once 'include/modules/clsModulesRotaTransporteEscolar.inc.php'; +require_once ("include/clsBanco.inc.php"); + +class PessoatransporteController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'i-Educar - Usuários de transporte'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 21240; + protected $_deleteOption = true; + + protected $_formMap = array( + + 'id' => array( + 'label' => 'Código', + 'help' => '', + ), + 'pessoa' => array( + 'label' => 'Pessoa', + 'help' => '', + ), + 'rota' => array( + 'label' => 'Rota', + 'help' => '', + ), + 'ponto' => array( + 'label' => 'Ponto de embarque', + 'help' => '', + ), + 'destino' => array( + 'label' => 'Destino (Caso for diferente da rota)', + 'help' => '', + ), + 'observacao' => array( + 'label' => 'Observações', + 'help' => '', + ), + ); + + + protected function _preConstruct() + { + $this->_options = $this->mergeOptions(array('edit_success' => '/intranet/transporte_pessoa_lst.php','delete_success' => '/intranet/transporte_pessoa_lst.php'), $this->_options); + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + $this->url_cancelar = '/intranet/transporte_pessoa_lst.php'; + + // Código do vinculo + $options = array('label' => $this->_getLabel('id'), 'disabled' => true, + 'required' => false, 'size' => 25); + $this->inputsHelper()->integer('id', $options); + + // Pessoa + $options = array('label' =>Portabilis_String_Utils::toLatin1($this->_getLabel('pessoa')), 'required' => true); + $this->inputsHelper()->simpleSearchPessoa('nome',$options); + + // Montar o inputsHelper->select \/ + // Cria lista de rotas + $obj_rota = new clsModulesRotaTransporteEscolar(); + $obj_rota->setOrderBy(' descricao asc '); + $lista_rota = $obj_rota->lista(); + $rota_resources = array("" => "Selecione uma rota" ); + foreach ($lista_rota as $reg) { + $rota_resources["{$reg['cod_rota_transporte_escolar']}"] = "{$reg['descricao']}"; + } + + // Rota + $options = array('label' =>Portabilis_String_Utils::toLatin1($this->_getLabel('rota')), 'required' => true, 'resources' => $rota_resources); + $this->inputsHelper()->select('rota',$options); + + // Ponto de Embarque + $options = array('label' =>Portabilis_String_Utils::toLatin1($this->_getLabel('ponto')), 'required' => false, 'resources' => array("" => "Selecione uma rota acima")); + $this->inputsHelper()->select('ponto',$options); + + // Destino + $options = array('label' =>Portabilis_String_Utils::toLatin1($this->_getLabel('destino')), 'required' => false); + $this->inputsHelper()->simpleSearchPessoaj('destino',$options); + + // observacoes + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('observacao')), 'required' => false, 'size' => 50, 'max_length' => 255); + $this->inputsHelper()->textArea('observacao', $options); + + + $this->loadResourceAssets($this->getDispatcher()); + } + + function Excluir(){ + die( $this->getOption('delete_success') ); + } + +} +?> \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/PontoController.php b/ieducar/modules/TransporteEscolar/Views/PontoController.php new file mode 100644 index 0000000..858aaa0 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/PontoController.php @@ -0,0 +1,92 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ + +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; + +class PontoController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'i-Educar - Pontos'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 21239; + + protected $_formMap = array( + + 'id' => array( + 'label' => 'Código do ponto', + 'help' => '', + ), + 'desc' => array( + 'label' => 'Descrição', + 'help' => '', + ) + ); + + + protected function _preConstruct() + { + $this->_options = $this->mergeOptions(array('edit_success' => '/intranet/transporte_ponto_lst.php','delete_success' => '/intranet/transporte_ponto_lst.php'), $this->_options); + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + $this->url_cancelar = '/intranet/transporte_ponto_lst.php'; + + // Código do ponto + $options = array('label' => $this->_getLabel('id'), 'disabled' => true, + 'required' => false, 'size' => 25); + $this->inputsHelper()->integer('id', $options); + + // descricao + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('desc')), 'required' => true, 'size' => 50, 'max_length' => 70); + $this->inputsHelper()->text('desc', $options); + + + $this->loadResourceAssets($this->getDispatcher()); + } + +} +?> \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/ProcessoController.php b/ieducar/modules/TransporteEscolar/Views/ProcessoController.php new file mode 100644 index 0000000..4510ebe --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/ProcessoController.php @@ -0,0 +1,112 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; +require_once 'Avaliacao/Views/DiarioApiController.php'; +require_once 'include/pmieducar/clsPmieducarMatriculaTurma.inc.php'; +require_once 'include/pmieducar/clsPmieducarEscola.inc.php'; + +class ProcessoController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'i-Educar - Processo'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 21236; + protected $_deleteOption = true; + + protected $_formMap = array( + ); + + + protected function _preConstruct() + { + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + + + /* $objEscola = new clsPmieducarEscola(); + + $listaEscola = $objEscola->lista($int_cod_escola = NULL, $int_ref_usuario_cad = NULL, + $int_ref_usuario_exc = NULL, $int_ref_cod_instituicao = NULL, + $int_ref_cod_escola_localizacao = NULL, $int_ref_cod_escola_rede_ensino = NULL, + $int_ref_idpes = NULL, $str_sigla = NULL, $date_data_cadastro = NULL, + $date_data_exclusao = NULL, $int_ativo = 1, $str_nome = NULL, + $escola_sem_avaliacao = NULL); + + foreach ($listaEscola as $regEscola) { + */ + $objMat = new clsPmieducarMatriculaTurma(); + $objMat->setOrderBy(' ref_cod_turma ASC '); + $lista = $objMat->lista($int_ref_cod_matricula = NULL, $int_ref_cod_turma = NULL, + $int_ref_usuario_exc = NULL, $int_ref_usuario_cad = NULL, + $date_data_cadastro_ini = NULL, $date_data_cadastro_fim = NULL, + $date_data_exclusao_ini = NULL, $date_data_exclusao_fim = NULL, $int_ativo = 1, + $int_ref_cod_serie = NULL, $int_ref_cod_curso = NULL, $int_ref_cod_escola = 13170, //$regEscola['cod_escola'], + $int_ref_cod_instituicao = NULL, $int_ref_cod_aluno = NULL, $mes = NULL, + $aprovado = 3, $mes_menor_que = NULL, $int_sequencial = NULL, + $int_ano_matricula = 2013, $tem_avaliacao = NULL, $bool_get_nome_aluno = FALSE, + $bool_aprovados_reprovados = NULL, $int_ultima_matricula = 1, + $bool_matricula_ativo = TRUE, $bool_escola_andamento = TRUE, + $mes_matricula_inicial = FALSE, $get_serie_mult = FALSE, + $int_ref_cod_serie_mult = NULL, $int_semestre = NULL, + $pegar_ano_em_andamento = TRUE, $parar=NULL); + + foreach ($lista as $reg) { + $objDiario = null; + $objDiario = new DiarioApiController(); + $objDiario->_currentMatriculaId = $reg['ref_cod_matricula']; + $objDiario->processaNotasNecessarias($reg['ref_cod_matricula']); + } + + die('lol fez todas de uma escola *_*'); + //} + die('Notas de exame de todas as matrículas processadas.'); + + } + +} +?> \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/RotaController.php b/ieducar/modules/TransporteEscolar/Views/RotaController.php new file mode 100644 index 0000000..35f22fd --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/RotaController.php @@ -0,0 +1,157 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ?21238 + * @version $Id$ + */ + +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; + +class RotaController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'i-Educar - Rotas'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 21238; + + protected $_formMap = array( + + 'id' => array( + 'label' => 'Código da rota', + 'help' => '', + ), + 'desc' => array( + 'label' => 'Descrição', + 'help' => '', + ), + 'ref_idpes_destino' => array( + 'label' => 'Instituição destino', + 'help' => '', + ), + 'ano' => array( + 'label' => 'Ano', + 'help' => '', + ), + 'tipo_rota' => array( + 'label' => 'Tipo da rota', + 'help' => '', + ), + 'km_pav' => array( + 'label' => 'Km pavimentados', + 'help' => '', + ), + 'km_npav' => array( + 'label' => 'Km não pavimentados', + 'help' => '', + ), + 'ref_cod_empresa_transporte_escolar' => array( + 'label' => 'Empresa', + 'help' => '', + ), + 'tercerizado' => array( + 'label' => 'Terceirizado', + 'help' => '', + ) + ); + + + protected function _preConstruct() + { + $this->_options = $this->mergeOptions(array('edit_success' => '/intranet/transporte_rota_lst.php','delete_success' => '/intranet/transporte_rota_lst.php'), $this->_options); + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + $this->url_cancelar = '/intranet/transporte_rota_lst.php'; + + // ano + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('ano')), 'required' => true, 'size' => 5, 'max_length' => 4); + $this->inputsHelper()->integer('ano', $options); + + // Código da rota + $options = array('label' => $this->_getLabel('id'), 'disabled' => true, + 'required' => false, 'size' => 25); + $this->inputsHelper()->integer('id', $options); + + // descricao + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('desc')), 'required' => true, 'size' => 50, 'max_length' => 50); + $this->inputsHelper()->text('desc', $options); + + // Destino + $options = array('label' => $this->_getLabel('ref_idpes_destino'), 'required' => true, 'size' => 50); + $this->inputsHelper()->simpleSearchPessoaj('ref_idpes_destino', $options); + + + // Empresa rota + $options = array('label' => $this->_getLabel('ref_cod_empresa_transporte_escolar'), 'required' => true, 'size' => 50); + $this->inputsHelper()->simpleSearchEmpresa('ref_cod_empresa_transporte_escolar', $options); + + // Tipo + $tipos = array(null => 'Selecione um tipo', 'U' => 'Urbana', + 'R' => 'Rural'); + + $options = array('label' => $this->_getLabel('tipo_rota'), + 'resources' => $tipos, + 'required' => true); + + $this->inputsHelper()->select('tipo_rota', $options); + + // km pavimentados + $options = array('label' => $this->_getLabel('km_pav'), 'required' => false, 'size' => 9, 'max_length' => 10, 'placeholder' => ''); + $this->inputsHelper()->numeric('km_pav', $options); + + // km não pavimentados + $options = array('label' => $this->_getLabel('km_npav'), 'required' => false, 'size' => 9, 'max_length' => 10, 'placeholder' => ''); + $this->inputsHelper()->numeric('km_npav', $options); + + // Tercerizado + $options = array('label' => $this->_getLabel('tercerizado')); + $this->inputsHelper()->checkbox('tercerizado', $options); + + + + + $this->loadResourceAssets($this->getDispatcher()); + } + +} +?> \ No newline at end of file diff --git a/ieducar/modules/TransporteEscolar/Views/VeiculoController.php b/ieducar/modules/TransporteEscolar/Views/VeiculoController.php new file mode 100644 index 0000000..09ef360 --- /dev/null +++ b/ieducar/modules/TransporteEscolar/Views/VeiculoController.php @@ -0,0 +1,269 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÃFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Lucas Schmoeller da Silva + * @category i-Educar + * @license @@license@@ + * @package TransporteEscolar + * @subpackage Modules + * @since Arquivo disponível desde a versão ? + * @version $Id$ + */ +require_once 'lib/Portabilis/Controller/Page/EditController.php'; +require_once 'Usuario/Model/FuncionarioDataMapper.php'; +require_once 'include/modules/clsModulesTipoVeiculo.inc.php'; + +class VeiculoController extends Portabilis_Controller_Page_EditController +{ + protected $_dataMapper = 'Usuario_Model_FuncionarioDataMapper'; + protected $_titulo = 'i-Educar - Motoristas'; + + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; + protected $_processoAp = 21237; + + protected $_formMap = array( + 'id' => array( + 'label' => 'Código do veículo', + 'help' => '', + ), + + 'descricao' => array( + 'label' => 'Descrição', + 'help' => '', + ), + + 'placa' => array( + 'label' => 'Placa', + 'help' => '', + ), + + 'renavam' => array( + 'label' => 'Renavam', + 'help' => '', + ), + + 'chassi' => array( + 'label' => 'Chassi', + 'help' => '', + ), + + 'marca' => array( + 'label' => 'Marca', + 'help' => '', + ), + + 'ano_fabricacao' => array( + 'label' => 'Ano fabricação', + 'help' => '', + ), + + 'ano_modelo' => array( + 'label' => 'Ano modelo', + 'help' => '', + ), + + 'passageiros' => array( + 'label' => 'Limite de passageiros', + 'help' => '', + ), + + 'tipo' => array( + 'label' => 'Categoria', + 'help' => '', + ), + + + 'malha' => array( + 'label' => 'Malha', + 'help' => '', + ), + + 'abrangencia' => array( + 'label' => 'Abrangência', + 'help' => '', + ), + + 'exclusivo_transporte_escolar' => array( + 'label' => 'Exclusivo para transporte escolar', + 'help' => '', + ), + + 'adaptado_necessidades_especiais' => array( + 'label' => 'Adaptado para pessoas com necessidades especiais', + 'help' => '', + ), + + 'tercerizado' => array( + 'label' => 'Tercerizado', + 'help' => '', + ), + + 'ativo' =>array( + 'label' => 'Ativo', + 'help' => '', + ), + + 'descricao_inativo' =>array( + 'label' => 'Descrição de inatividade', + 'help' => '', + ), + + 'empresa' =>array( + 'label' => 'Empresa', + 'help' => '', + ), + + 'motorista' =>array( + 'label' => 'Motorista responsável', + 'help' => '', + ), + + 'observacao' =>array( + 'label' => 'Observações', + 'help' => '', + ) + + ); + + + protected function _preConstruct() + { + $this->_options = $this->mergeOptions(array('edit_success' => '/intranet/transporte_veiculo_lst.php','delete_success' => '/intranet/transporte_veiculo_lst.php'), $this->_options); + } + + + protected function _initNovo() { + return false; + } + + + protected function _initEditar() { + return false; + } + + + public function Gerar() + { + $this->url_cancelar = '/intranet/transporte_veiculo_lst.php'; + + // Código do Motorista + $options = array('label' => $this->_getLabel('id'), 'disabled' => true, + 'required' => false, 'size' => 25); + $this->inputsHelper()->integer('id', $options); + + // descrição + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('descricao')), 'required' => true, 'size' => 50, 'max_length' => 255); + $this->inputsHelper()->text('descricao', $options); + + //placa + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('placa')), 'required' => true, 'size' => 10, 'max_length' => 10); + $this->inputsHelper()->text('placa', $options); + + //renavam + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('renavam')), 'required' => false, 'size' => 15, 'max_length' => 15); + $this->inputsHelper()->integer('renavam', $options); + + //chassi + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('chassi')), 'required' => false, 'size' => 30, 'max_length' => 30); + $this->inputsHelper()->text('chassi', $options); + + //marca + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('marca')), 'required' => true, 'size' => 50, 'max_length' => 50); + $this->inputsHelper()->text('marca', $options); + + //Ano de fabricacao + $options = array('label' => $this->_getLabel('ano_fabricacao'), 'max_length' => 4, 'size' => 5, 'required' => false, 'placeholder' => ''); + $this->inputsHelper()->integer('ano_fabricacao',$options); + + // Ano do modelo + $options = array('label' => $this->_getLabel('ano_modelo'), 'max_length' => 4, 'size' => 5, 'required' => false, 'placeholder' => ''); + $this->inputsHelper()->integer('ano_modelo',$options); + + // Passageiros + $options = array('label' => $this->_getLabel('passageiros'), 'max_length' => 3, 'size' => 5, 'required' => true, 'placeholder' => ''); + $this->inputsHelper()->integer('passageiros',$options); + + // Malha + $malhas = array(null => 'Selecione uma Malha', 'A' => Portabilis_String_Utils::toLatin1('Aquaviária/Embarcação'), + 'F' => Portabilis_String_Utils::toLatin1('Ferroviária'), 'R' => Portabilis_String_Utils::toLatin1('Rodoviária')); + + $options = array('label' => $this->_getLabel('malha'), + 'resources' => $malhas, + 'required' => true); + + $this->inputsHelper()->select('malha', $options); + + // Tipo de veículo + $tiposVeiculo = array( null => 'Selecione um Tipo'); + + $objTipo = new clsModulesTipoVeiculo(); + $lista = $objTipo->lista(); + if ( is_array( $lista ) && count( $lista ) ) + { + foreach ( $lista as $registro ) + { + $tiposVeiculo["{$registro['cod_tipo_veiculo']}"] = "{$registro['descricao']}"; + } + } + + $options = array('label' => $this->_getLabel('tipo'), + 'resources' => $tiposVeiculo, + 'required' => true); + + $this->inputsHelper()->select('tipo', $options); + + // Exclusivo transporte escolar + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('exclusivo_transporte_escolar'))); + $this->inputsHelper()->checkbox('exclusivo_transporte_escolar', $options); + + // Adaptado a necessidades especiais + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('adaptado_necessidades_especiais'))); + $this->inputsHelper()->checkbox('adaptado_necessidades_especiais', $options); + + // Ativo + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('ativo')), 'value' => 'on'); + $this->inputsHelper()->checkbox('ativo', $options); + + // descricao_inativo + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('descricao_inativo')), 'required' => false, 'size' => 50, 'max_length' => 155); + $this->inputsHelper()->textArea('descricao_inativo', $options); + + + // Codigo da empresa + $options = array('label' =>Portabilis_String_Utils::toLatin1($this->_getLabel('empresa')), 'required' => true); + $this->inputsHelper()->simpleSearchEmpresa('empresa',$options); + + // Codigo do motorista + $options = array('label' =>Portabilis_String_Utils::toLatin1($this->_getLabel('motorista')), 'required' => true); + $this->inputsHelper()->simpleSearchMotorista('motorista',$options); + + // observações + $options = array('label' => Portabilis_String_Utils::toLatin1($this->_getLabel('observacao')), 'required' => false, 'size' => 50, 'max_length' => 255); + $this->inputsHelper()->textArea('observacao', $options); + + $this->loadResourceAssets($this->getDispatcher()); + } + +} +?> \ No newline at end of file -- libgit2 0.21.2