• Nenhum resultado encontrado

Loja Virtual de Passagens Rodoviárias Interestaduais

N/A
N/A
Protected

Academic year: 2022

Share "Loja Virtual de Passagens Rodoviárias Interestaduais"

Copied!
107
0
0

Texto

(1)

Universidade Católica de Brasília

Curso de Tecnólogo em Processamento de Dados Projeto Final I

Volume II – Dicionário de Dados

Loja Virtual de Passagens Rodoviárias Interestaduais

Alunos: Allysson de Oliveira Noronha - 2000/045081 Fernanda da Silva Fialho - 94/3377-5

George Roberto Carvalho de Lacerda - 96/2835-5 Orientador: Profº. Msc. Fernando Silvera Goulart Júnior

Brasília, DF – dezembro/2001

(2)

Universidade Católica de Brasília

Curso de Tecnólogo em Processamento de Dados Projeto Final I

Volume II – Dicionário de Dados

Loja Virtual de Passagens Rodoviárias Interestaduais

Alunos: Allysson de Oliveira Noronha - 2000/045081 Fernanda da Silva Fialho - 94/3377-5

George Roberto Carvalho de Lacerda - 96/2835-5 Orientador: Profº. Msc. Fernando Silvera Goulart Júnior

Brasília, DF - dezembro/2001

(3)

ÍNDICE

1. Definições ... 5

1.1. Visão Lógica ... 5

Boundary FormBilhete ... 5

Boundary FormCadastroCliente ... 5

Boundary FormConfirmaCadastro ... 5

Boundary FormEscolhePoltrona ... 5

Boundary FormLogin ... 5

Boundary FormPagamento ... 6

Boundary FormPesquisa ... 6

Boundary FormResultadoPesquisa ... 6

Control CtrUsuario ... 6

Control ctrInformacoes ... 7

Control ctrPagamento ... 7

Control ctrPoltrona ... 7

Entity Bilhete ... 7

Entity Categoria Onibus ... 8

Entity Cidade ... 8

Entity Cliente ... 9

Entity Empresa... 9

Entity Horario ... 10

Entity Itinerario... 10

Entity Onibus ... 11

Entity Pagamento ... 11

Entity UF ... 12

1.2. Visão de negócio ... 12

Business Entity Estado ... 12

Business Entity HorariosViagem... 13

Business Entity ItemCadastro ... 13

Business Entity Linha ... 13

Business Entity Município... 14

Business OnibusEmpresa... 14

Business Entity Passagem... 15

1.3. Atores... 15

Atores que interagem com os Use Case de Negócios... 15

Atores que interagem com os Use Case de Requisitos ... 16

2.Esquema de Dados... 17

3. Script do Banco de Dados... 22

3. Listagem dos Programas ... 26

Conexão.inc ... 26

CtrlInformacoes.inc ... 27

CtrlUsuario.inc ... 37

CtrlBilhete.inc... 39

Ctrl Pagamento.inc ... 43

Ctrl Poltrona.inc... 51

Index.asp ... 60

(4)

Resultadopesquisa.asp ... 71

Cadastro.asp ... 73

Formcadastroaction.asp ... 82

FormLogin.asp ... 83

Lembrete.asp... 84

Loginerrado.asp ... 86

Logoff.asp ... 92

Pagamento.asp ... 94

Poltrona.asp ... 96

Bilhete.asp ... 99

Gerabilhete.asp ... 101

Estilo.css ... 107

(5)

1. Definições

1.1. Visão Lógica

Boundary FormBilhete

Representa a tela de impressão do bilhete de passagem.

Public Operations:

exibirBilhete () :

Boundary FormCadastroCliente

Representa a tela de cadastro do usuário Public Operations:

inserirDadosPessoais () : confirmar () :

validarCamposInformados () :

Boundary FormConfirmaCadastro

Representa a tela de confirmação do cadastro do cliente.

Public Operations:

apresentarMensagem () :

Boundary FormEscolhePoltrona

É a tela de apresentação das poltronas disponíveis e indisponíveis do ônibus escolhido de referido horário. A classe entity horário sabe qual é o ônibus solicitado.

Public Operations:

exibeResultadoPesquisa () : validaInfoPoltrona () :

Boundary FormLogin

Representa a tela de login do usuário.

(6)

Private Attributes:

login : senha :

Public Operations:

informarLogin (Login : , Senha : ) : validaCamposInformados () :

Boundary FormPagamento

Representa o de retorno da validação do pagamento.

Public Operations:

efetuarPagamento () :

Boundary FormPesquisa

Representa a tela inicial do sistema. Nela o cliente pode efetuar a consultar , o login, solicitar o cadastro e recuperar informações de sua compra.

Public Operations:

consultar () :

validaDadosInformados () :

Boundary FormResultadoPesquisa

É a tela de resultado da pesquisa realizada pelo usuário na tela inicial.

Public Operations:

exibirResultados () :

Control CtrUsuario

É a classe de controle que gerencia o cadastro do usuário Public Operations:

cadastrar () : verificaUsuario () : verificaLogin () :

(7)

Control ctrInformacoes

É a classe de controle que gerencia a parte da pesquisa do itinerário e data pretendida da viagem.

Public Operations:

solicitarPesquisa () : retornaPesquisa () :

Control ctrPagamento

É a classe de controle que gerencia o pagamento.

Public Operations:

Validar Pagamento () : solicitaImpressao () : logado ():

exibeResultados ():

Control ctrPoltrona

É a classe de controle que gerencia a parte da pesquisa da poltrona e da definição da poltrona desejada pelo usuário que informará ao bilhete.

Public Operations:

pesquisaPoltrona () :

calcularPoltronasDisponiveis () :

Entity Bilhete

É a classe onde as informações pertinentes aos dados informados pelos clientes estão armazenadas para montagem do bilhete.

Responsabilidade: receber os dados passados pelo cliente que geram o bilhete após a validação do pagamento.

Private Attributes:

idBilhete : Integer dtEmissao : Date numPoltrona : Integer idPagamento : Integer

(8)

idDataHorario : Integer idUsuario : Integer

Public Operations:

imprimirBilhete (idBilhete : ) : pesquisarBilhete (idDataHorario : ) :

Entity Categoria Onibus

É a classe onde as informações persistentes sobre os tipos de serviços (classe) do ônibus e a sua quantidade de poltronas estão armazenadas.

Responsabilidades: identificar o serviço que o ônibus oferece e sua quantidade de poltronas.

Private Attributes:

idCatOnibus : Integer Tipo_Onibus : String(20) Qtd_Poltrona : Long

Public Operations:

pesquisaCatOnibus (idCatOnibus : ) :

Entity Cidade

É a classe onde as informações persistentes as cidades estão armazenadas.

Responsabilidades: fornece a localização de um cliente quando se cadastrar, informa o cep da cidade e fornece as cidades para o itinerário.

Private Attributes:

idCidade : Integer nomeCidade : String(30) cep : Long(10)

idUF : Integer

Public Operations:

pesquisaCidade (cidadeO : , cidadeD : ) :

(9)

Entity Cliente

É a classe onde as informações persistentes aos usuários cadastrados estão armazenadas.

Responsabilidades: mantém o cadastro dos clientes no banco de dados, verifica a existência do cliente e permite a conexão do cliente no sistema.

Private Attributes:

idUsuario : Integer nomeUsuario : String(50) numCPF : String(12) numIdentidade : String(30) dataNascimento : Date endereco : String(50) loginUsuario : String(30) senha : String(10) fraseSenha : String(30) eMail : String(50) idCidade : Integer

Public Operations:

verificaUsuario (login : ) : cadastrar (cliente : ) : verificarLogin (login : ) :

Entity Empresa

É a classe onde as informações persistentes sobre as empresas transportadoras estão armazenadas.

Responsabilidades: mantém a relação com os nomes das empresas transportadores dos ônibus.

Private Attributes:

idEmpresa : Integer nomeEmpresa : String(50) numCNPJ : String(15)

(10)

eMail : String(50)

Public Operations:

pesquisaEmpresa (idEmpresa : ) :

Entity Horario

É a classe onde as informações persistentes aos horários de viagem de cada ônibus estão armazenadas.

Responsabilidades: receber os dados referentes à classe ônibus e informar a classe bilhete.

Private Attributes:

idDataHorario : Integer dtChegada : Date hrChegada : Tiime dtPartida : Date hrPartida : Time tempoViagem : Time idOnibus : Integer

Public Operations:

pesquisaHorario (idOnibus : ) :

Entity Itinerario

É a classe onde as informações persistentes sobre as linhas origem/destino, prefixo da linha, tempo de viagem, distanciam do percurso estão armazenadas.

Responsabilidades: buscar as cidades de origem e destino para consulta, gerenciar o prefixo da linha.

Private Attributes:

idItinerario : Integer distPercurso : Long prefLinha : String(20) cidadeO : Integer

(11)

cidadeD : Integer

Public Operations:

pesquisaItinerario (cidadeO : , cidadeD : ) :

Entity Onibus

É a classe onde as informações persistentes sobre os tipos de serviços (classe) do ônibus e a sua quantidade de poltronas estão armazenadas.

Responsabilidades: identificar o serviço que o ônibus oferece e sua quantidade de poltronas;

Private Attributes:

idOnibus : Integer tarifaPassagem : Long tarifaSeguro : Long idEmpresa : Integer idCatOnibus : Integer idItinerario : Integer

Public Operations:

pesquisaOnibus (idItinerario : ) :

Entity Pagamento

É a classe que contém as informações persistentes ao pagamento da passagem.

Responsabilidades: validar o pagamento da passagem, e indicar o valor total da passagem.

Private Attributes:

idPagamento : Integer valorTotalPassagem : Long

Public Operations:

validaPagamento (idPagamento : ) :

(12)

Entity UF

É a classe onde as informações persistentes sobre os Estados são armazenadas.

Responsabilidades: fornece a unidade de federação de cada munícipio.

Faz a classe cidade existir.

Private Attributes:

idUF : Integer siglaUF : String(2) nomeUF : String(30)

Public Operations:

pesquisaUF (idUF : ) :

1.2. Visão de negócio

Business Entity Estado

É a classe onde as informações persistentes sobre os Estados são armazenadas.

Responsabilidades: fornece a unidade de federação de cada município.

Faz a classe município existir.

Private Attributes:

codigoEstado : Integer siglaEstado : String nomeEstado : String

Public Operations:

pesquisarUF () : Boolean

(13)

Business Entity HorariosViagem

É a classe onde as informações persistentes aos horários de viagem de cada ônibus estão armazenadas.

Responsabilidades: receber os dados referentes a classe ônibus e informa para a classe bilhete.

Private Attributes:

codigoDtHorario : Integer dataDesembarque : Date horaDesembarque : Tiime dataEmbarque : Date horaEmbarque : Time tempoMedioViagem : Time

Public Operations:

pesquisaHorarioViagem () :

Business Entity ItemCadastro

É a classe onde a informação persistente ao login e a senha do funcionário estão armazenadas.

Responsabilidades: efetuar o login do funcionário no sistema.

Private Attributes:

nomeFunc : String loginFunc : String senhaFunc : String

Public Operations:

efetuarLogin () :

Business Entity Linha

É a classe onde as informações persistentes sobre as linhas origem/destino, prefixo da linha e a distancia do percurso estão armazenadas.

Responsabilidades: buscar as cidades de origem e destino para consulta, gerenciar o prefixo da linha.

(14)

Private Attributes:

codigoLinha : Integer percurso : Long prefixoLinha : String cidOrigem : Integer cidDestino : Integer

Public Operations:

pesquisaLinha () : Boolean

Business Entity Município

É a classe onde as informações persistentes aos municípios estão armazenadas.

Responsabilidades: fornece as cidades origem e destino.

Private Attributes:

codigoMunicipio : Integer nomeMunicipio : String

Public Operations:

pesquisarMunicipio () :

Business OnibusEmpresa

É a classe onde as informações persistentes ao ônibus da empresa e suas características como: categorias, quantidade de poltronas estão armazenadas. Para cada tipo de ônibus existe um valor de passagem conforme a linha.

Responsabilidades: fornecer as características do ônibus.

Private Attributes:

codigoOnibusEmp : Integer tipoOnibusEmp : String qtdePoltronaEmp : Long valorPassagem : Long valorSeguro : Long

(15)

Public Operations:

pesquisarOnibusEmp () : pesquisarTipoOnibusEmp () : pesquisarQtdePoltronasEmp () :

Business Entity Passagem

É a classe onde as informações pertinentes aos dados informados pelos clientes estão armazenadas para montagem do bilhete de passagem.

Responsabilidade: receber os dados passados pelo cliente que geram o bilhete de passagem após o pagamento.

Private Attributes:

codigoPassagem : Integer dataEmissaoPassagem : Date numeroPoltronaPassagem : Integer

Public Operations:

criarPassagem () : imprimirPassagem () :

1.3. Atores

Atores que interagem com os Use Case de Negócios

Cliente: representa as pessoas que desejam consultar ou comprar passagens.

Funcionário: representa pessoas que trabalham na empresa.

Ø Atendente: representa as pessoas que realiza pesquisa e atende o cliente;

Ø Pessoal de Suporte: representa as pessoas que trabalham internamente na empresa;

Ø Administrador: representa a pessoa que é responsável (gerência).

(16)

Atores que interagem com os Use Case de Requisitos

Cliente: representam todas as pessoas que acessem o sistema via internet.

(17)

2.Esquema de Dados

Tabela Rod_Usuario:

Esta tabela contém as informações sobre os usuários cadastrados no sistema:

Ø idUsuario: campo numérico que associa a cada usuário do sistema um número único;

Ø idCidade: campo numérico que associa a cada cidade um número único. Esse campo funciona como uma chave estrangeira;

Ø nomeUsuario: campo de texto que irá armazenar o nome de cada usuário;

Ø numCPF: campo de texto que irá armazenar o nome de cada

usuário;

Ø numIdentidade: campo de texto que irá armazenar o número da identidade de cada usuário;

Ø dataNascimento: campo em formato de data que armazena a data de nascimento de cada usuário;

Ø endereco: campo de texto que irá armazenar o endereço de cada usuário;

Ø Login_usuário: campo de texto que irá armazenar o login que será utilizado pelo usuário para acessar o sistema;

Ø Senha: campo de texto que irá armazenar a senha do usuário;

Ø Frase_senha: campo de texto que irá armazenar uma frase que servirá de auxílio caso o usuário esqueça a senha;

Ø E-mail: campo de texto que irá armazenar o e-mail do usuário;

Tabela Rod_Cidade

Esta tabela contém as informações sobre as cidades cadastradas no sistema:

Ø idCidade: campo numérico que associa a cada cidade um número único;

(18)

Ø idUF: campo numérico que associa a cada UF um número único.

Esse campo funciona como uma chave estrangeira;

Ø nomeCidade: campo de texto que irá que irá armazenar o nome de cada cidade;

Ø cep: campo de texto que irá armazenar o cep de cada cidade;

Tabela Rod_UF

Esta tabela contém as informações sobre as cidades cadastradas no sistema:

Ø idUF: campo numérico que associa a cada UF um número único;

Ø nomeUF: campo de texto que irá armazenar o nome de cada UF;

Ø siglaUF: campo de texto que irá armazenar a sigla de cada UF;

Tabela Rod_Bilhete

Esta tabela contém as seguintes informações sobre os bilhetes que podem ser ou foram emitidos pelo sistema:

Ø idBilhete: campo numérico que associa a cada bilhete um número único;

Ø idUsuario: campo numérico que associa a cada usuário um número único. Este campo funciona como uma chave estrangeira;

Ø idPagamento: campo numérico que associa a cada pagamento um número único. Este campo funciona como uma chave estrangeira;

Ø idDataHorario: campo numérico que associa a cada horário um número único. Este campo funciona como uma chave estrangeira;

Ø dataEmissao: campo em formato de data que irá identificar a data de emissão do bilhete;

Ø numPoltrona: campo numérico que irá identificar o número da poltrona adquirida.

(19)

Tabela Rod_Itinerário

Esta tabela contém as informações sobre os itinerários cadastrados no sistema:

Ø idItinerario: campo numérico que associa a cada itinerário um número único;

Ø idCidadeO: campo numérico que associa a cada cidade um

número único. Sua existência na tabela é dada pela necessidade de identificar a cidade de origem de cada itinerário. Este campo funciona como uma chave estrangeira;

Ø idCidadeD: campo numérico que associa a cada cidade um

número único. Sua existência na tabela é dada pela necessidade de identificar a cidade de destino de cada itinerário. Este campo funciona como uma chave estrangeira;

Ø distanciaPercurso: campo numérico que identifica a distância entre as cidades de origem e destino para cada itinerário;

Ø prefixoLinha: campo de texto que irá armazenar o prefixo da linha à qual o itinerário está associado.

Tabela Rod_CategOnibus

Esta tabela contém as informações sobre as categorias de ônibus cadastrados no sistema:

Ø idCatOnibus: campo numérico que associa a cada categoria de ônibus um número único;

Ø tipoOnibus: campo de texto que irá armazenar os tipo de ônibus existentes;

Ø qtdePoltronas: campo numérico que armazena a quantidade de poltronas existente em cada ônibus, de acordo com o seu tipo.

Tabela Rod_ônibus

Esta tabela contém as informações sobre os ônibus cadastrados no sistema:

(20)

Ø idOnibus: campo numérico que associa a cada UF um número único;

Ø idItinerario: campo numérico que associa a cada itinerário um número único. Este campo funciona como uma chave estrangeira;

Ø idCatOnibus: campo numérico que associa a cada categoria de ônibus um número único. Este campo funciona como uma chave estrangeira;

Ø idEmpresa: campo numérico que associa a cada empresa um

número único. Este campo funciona como uma chave estrangeira;

Ø tarPassagem: campo em formato de moeda que irá especificar o valor da tarifa de cada passagem, segundo o tipo de cada ônibus;

Ø tarSeguro: campo em formato de moeda que irá especificar o valor da tarifa de seguro associada a cada passagem.

Tabela Rod_Pagamento

Esta tabela contém as informações sobre cada pagamento cadastrado no sistema:

Ø idPagamento: campo numérico que associa a cada pagamento um número único;

Ø valoTotalPassagem: campo em formato de moeda que armazenará o valor total de cada passagem;

Ø validaPagemento: campo em formato numérico que servirá como um indicador da efetivação ou não de um pagamento.

Tabela Rod_Horário

Esta tabela contém as informações sobre os horários de viagens cadastrados no sistema:

Ø idDataHorario: campo numérico que associa a cada horário um número único;

Ø idOnibus: campo numérico que associa a cada UF um número único. Este campo funciona como uma chave estrangeira;

(21)

Ø dtChegada: campo em formato de data que irá armazenar a data prevista para o desembarque na cidade destino de determinado itinerário;

Ø dtPartida: campo em formato de data que irá armazenar a data de partida de uma determinada viagem em uma cidade de origem;

Ø hrPartida: campo em formato de hora que irá armazenar a hora prevista para o embarque de determinada viagem, a partir da cidade de origem.

Ø hrChegada: campo em formato de hora que irá armazenar a hora prevista para o desembarque na cidade destino de determinado itinerário;

Ø tempoviagem: campo de texto que armazena o tempo de viagem estimado para percorrer a distância entre as cidades de origem e destino especificado para cada itinerário.

Tabela Rod_Empresa

Esta tabela contém as seguintes informações sobre as cidades cadastradas no sistema:

Ø idEmpresa: campo numérico que associa a cada UF um número único;

Ø nomeEmpresa: campo de texto que irá armazenar o nome de cada empresa cadastrada no sistema;

Ø endEmpresa: campo de texto que irá armazenar o endereço para contato de cada empresa cadastrada no sistema;

Ø numCNPJ: campo de texto que irá armazenar o CNPJ de cada empresa cadastrada no sistema;

Ø e-mail: campo de texto que irá armazenar o e-mail de cada empresa cadastrada no sistema.

(22)

3. Script do Banco de Dados

CREATE TABLE T_UF(

idUF VARCHAR, siglaUF VARCHAR, nomeUF VARCHAR,

CidadeId NUMBER(5) REFERENCES T_Cidade(CidadeId), UFId NUMBER(5),

PRIMARY KEY(UFId)) go

CREATE TABLE T_Cidade(

idCidade VARCHAR, nomeCidade VARCHAR, cep VARCHAR,

idUF VARCHAR,

UFId NUMBER(5) REFERENCES T_UF(UFId), CidadeId NUMBER(5),

PRIMARY KEY(CidadeId)) go

CREATE TABLE T_Pagamento(

idPagamento VARCHAR, valorTotalPassagem VARCHAR,

BilheteId NUMBER(5) REFERENCES T_Bilhete(BilheteId), PagamentoId NUMBER(5),

PRIMARY KEY(PagamentoId)) go

CREATE TABLE T_Cliente(

idUsuario VARCHAR, nomeUsuario VARCHAR, numCPF VARCHAR,

(23)

numIdentidade VARCHAR, dataNascimento VARCHAR, endereco VARCHAR, loginUsuario VARCHAR, senha VARCHAR, fraseSenha VARCHAR, eMail VARCHAR, idCidade VARCHAR,

Possui NUMBER(5) REFERENCES T_Bilhete(BilheteId), ClienteId NUMBER(5),

PRIMARY KEY(ClienteId)) go

CREATE INDEX Cliente_1 ON T_Cliente(idUsuario,name,name) go

CREATE TABLE T_Bilhete(

idBilhete VARCHAR, dtEmissao VARCHAR, numPoltrona VARCHAR, idPagameto VARCHAR, idDataHorario VARCHAR, idUsuario VARCHAR,

Tem NUMBER(5) REFERENCES T_Horario(HorarioId), BilheteId NUMBER(5),

PRIMARY KEY(BilheteId)) go

CREATE TABLE T_Itinerario(

idItinerario VARCHAR, distPercurso VARCHAR, prefLinha VARCHAR, cidadeO VARCHAR, cidadeD VARCHAR,

(24)

Possui NUMBER(5) REFERENCES T_Cidade(CidadeId), Possui NUMBER(5) REFERENCES T_Onibus(OnibusId), ItinerarioId NUMBER(5),

PRIMARY KEY(ItinerarioId)) go

CREATE TABLE T_Horario(

idDataHorario VARCHAR, dtChegada VARCHAR, hrChegada VARCHAR, dtPartida VARCHAR, hrPartida VARCHAR, tempoViagem VARCHAR, idOnibus VARCHAR, HorarioId NUMBER(5), PRIMARY KEY(HorarioId)) go

CREATE TABLE T_Empresa(

idEmpresa VARCHAR, nomeEmpresa VARCHAR, numCNPJ VARCHAR, eMail VARCHAR,

Possui NUMBER(5) REFERENCES T_Onibus(OnibusId), EmpresaId NUMBER(5),

PRIMARY KEY(EmpresaId)) go

CREATE TABLE T_Onibus(

idOnibus VARCHAR, tarifaPassagem VARCHAR, tarifaSeguro VARCHAR, idEmpresa VARCHAR, idCatOnibus VARCHAR,

(25)

idItinerario VARCHAR,

Categoria OnibusId NUMBER(5) REFERENCES T_Categoria Onibus(Categoria OnibusId),

Possui NUMBER(5) REFERENCES T_Horario(HorarioId), OnibusId NUMBER(5),

PRIMARY KEY(OnibusId)) go

CREATE TABLE T_Categoria Onibus(

idCatOnibus VARCHAR, Tipo_Onibus VARCHAR, Qtd_Poltrona VARCHAR,

OnibusId NUMBER(5) REFERENCES T_Onibus(OnibusId), Categoria OnibusId NUMBER(5),

PRIMARY KEY(Categoria OnibusId)) go

(26)

3. Listagem dos Programas

Conexão.inc

<%

'--- 'Declaração de variaveis e constantes para conexão do Banco de Dados.

'String de caminho do banco: strbdRodonet.

'objeto com a instância da classe ADODB.Connection: objConexao 'Criação do objeto ADO. O método Create Object é utilizado para criar a ' variável objConexao como um objeto Connection.

'objeto de RecordSet: objRecordSet (Controle de registros das tabelas do BD).

'Criação do objeto RecordSet. O método CreateObject é utilizado para criar 'as variáveis Rs como objetos RecordSet.

'O método Open é usado para abrir a conexão após ter sido criado.

'--- Dim objConexao, strBdrodonet, objRecordSet

strBdrodonet = "DBQ=" & "c:/bco/BD_Rodonet_2000.mdb"

set objConexao = Server.CreateObject("adodb.Connection")

objConexao.Open = "DRIVER={Microsoft Access Driver (*.mdb)};" & strBdrodonet

%>

<!--Montar titulo do topo da página-->

<%

Sub fMontarTitulo(caminho)

%>

<LINK rel="stylesheet" type="text/css" href="<%=caminho%>css/estilo.css">

</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<table width="700" border="0" cellspacing="0" cellpadding="0" align="center">

<tr>

<td>

<div align="center"> <a href="<%=caminho%>index.asp">

<img src="images/Rod_logo.gif" alt="Página Inicial" width="700" height="60"

border="0"></a>

</div>

</td>

</tr>

</table>

<%

End Sub

%>

<!---FIM--->

(27)

CtrlInformacoes.inc

<!--Controladora de Informações da Consulta de Viagem -->

<%

'Declarando as variáveis utilizadas nos métodos Dim vdestino, vorigem, vDataViagem

Dim vidItinerario, vCidadeOrigem, vCidadeDestino, vDistancia, vPrefixo Dim vNomeEmpresa, vidEmpresa

Dim vtipoOnibus, vidCatOnibus, vidOnibus Dim vFormatData, cont

set objRsHorario = Server.CreateObject("ADODB.RecordSet") 'Recebe as variáveis passadas na consulta do itinerario

vdestino = Request.Form("slcdestino") vorigem = Request.Form("slcorigem")

vDataViagem = Request.Form("txtDataViagem") 'Response.write(vDataViagem)

'formatação da data recebida para dd/mm/aaaa Call FormatDataInverte(vDataViagem)

'Response.write(vDataViagem)

'Recupera o carrinho de compras do cliente após o login session("Origem") = vorigem

session("Destino") = vdestino

%>

<%

'chamar os métodos

Call PesquisaItinerario(vorigem,vdestino) 'chama o método de itinerario

Call PesquisaCidade(vorigem,vdestino) 'chama o método da consulta de destino

if not vidItinerario="" then 'condição do itinerario <> 0 Call PesquisaOnibus(vidItinerario)

else

%>

<br>

<table class="tabConsulta" align="center">

<tr>

<td align="center">

<font color="#996600" size="2">

<b>NÃO EXISTEM ÔNIBUS PARA ESSE ITINERÁRIO OU DATA!</b></font>

</td>

(28)

</tr>

</table>

<br>

<%

end if

'Função de formatação da data para fazer consulta function FormatDataInverte(data)

If month(data) > 9 Then

vFormatData= month(data) else

vFormatData= "0" & month(data) end if

If day(data) > 9 Then

vFormatData= vFormatData & "/" & day(data) & "/"&

year(data)

else

vFormatData= vFormatData & "/" & "0" & day(data) & "/"&

year(data)

end if end function

'Data

function FormatData (data)

FormatData = right( "0" &day(data),2 ) & "/" & right("0"&month(data),2) &

"/"& year ( data ) end function

'Função de PesquisaItinerário

function PesquisaItinerario(vorigem,vdestino) Dim sql

sql = "SELECT Rod_Itinerario.idItinerario, Rod_Itinerario.distanciaPercurso, Rod_Itinerario.prefixolinha "

sql = sql & " FROM Rod_Itinerario WHERE Rod_Itinerario.idCidadeO =" &

vorigem & " AND Rod_Itinerario.idCidadeD = " & vdestino set objRs = objConexao.Execute(sql)

if not objRS.EOF then

vidItinerario = objRs(0) vDistancia = objRs(1) vPrefixo = objRs(2)

(29)

end if end function

'Função de PesquisaCidade

function PesquisaCidade(vorigem,vdestino) Dim sql

set objRs = Server.CreateObject("ADODB.RecordSet") set objRs2 = Server.CreateObject("ADODB.RecordSet")

sql = "select nomeCidade as Origem from rod_cidade WHERE idCidade =" &

vorigem

objRs = objconexao.Execute(sql)

sql = "select nomeCidade as Destino from rod_cidade WHERE idCidade =" &

vdestino

objRs2 = objconexao.Execute(sql)

vCidadeOrigem = objRs(0) ' recupera o idcidadeO que é único vCidadeDestino = objRs2(0) ' recupera o idcidadeD que é único end function

'Função de PesquisaOnibus

function PesquisaOnibus(vidItinerario) Dim sql

sql = "select idOnibus, idCatOnibus, idEmpresa, tarPassagem, tarSeguro from rod_onibus "

sql = sql & "WHERE idItinerario =" & vidItinerario set objRsOnibus = objconexao.Execute(sql)

%>

<%

If not objRsOnibus.EOF then

%>

<!-- Exibe as informações de consulta fornecidas pelo usuário---->

<form action="poltrona.asp" name="frmInfo" method="post">

<input type="hidden" name="vCidadeOrigem"

value="<%=vCidadeOrigem%>">

<input type="hidden" name="vCidadeDestino"

value="<%=vCidadeDestino%>">

<input type="hidden" name="vPrefixo" value="<%=vPrefixo%>">

<input type="hidden" name="vDataViagem"

value="<%=vDataViagem%>">

(30)

<table class="tabResultado" align="center" width="98%">

<tr bgcolor="#CDB69C">

<td>

<div align="left"> Embarque em:&nbsp;<br> <%=vCidadeOrigem%> </div>

</td>

<td>

<div align="left"> Desembarque em:&nbsp;<br> <%=vCidadeDestino%> </div>

</td>

<td>

<div align="left"> Prefixo da Linha:&nbsp;<br><%=vPrefixo%> </div>

</td>

<td>

<div align="left"> Data da Partida:&nbsp;<br><%=vDataViagem%> </div>

</td>

</tr>

</table>

<br>

<!----exibe o resultado da consulta--->

<div align="center">

<font color="#996600" size="2">

<b>Para escolher poltrona, defina uma opção de viagem.</b></font></div><br>

<table class="tabResultado" width="99%"align="center">

<tr bgcolor="#B3B300">

<td>

<div align="center"><b>Empresa</b></div>

</td>

<td>

<div align="center"><b>Classe</b></div>

</td>

<td>

<div align="center"><b>Partida</b></div>

</td>

<td>

<div align="center"><b>Tempo de Viagem</b></div>

</td>

<td>

<div align="center"><b>Data da Chegada</b></div>

</td>

<td>

(31)

<div align="center"><b>Hora</b></div>

</td>

<td>

<div align="center"><b>Distância</b></div>

</td>

<td>

<div align="center"><b>Tarifa</b></div>

</td>

<td>

<div align="center"><b>Seguro</b></div>

</td>

<td>

<div align="center"><b>Comprar</b></div>

</td>

</tr>

<% cont=1

Do While not objRsOnibus.EOF

Call PesquisaEmpresa(objRsOnibus(2)) Call PesquisaCatOnibus(objRsOnibus(1))

%>

<% Call PesquisaHorario(objRsOnibus(0),vFormatData) If not objRsHorario.EOF then

DO While not objRsHorario.EOF

%>

<tr bgcolor="#EBEBC2">

<td >

<div align="center"><b><%=vNomeEmpresa%></b></div>

</td>

<td>

<div align="center"><b><%=vtipoOnibus%></b></div>

</td>

<td>

<div align="center"><b><%=left(objRsHorario("HoraPartida"),5)%></b></div>

</td>

<td>

<div align="center"><b><%=left(objRsHorario("Viagem"),5)%></b></div>

</td>

(32)

<td>

<div

align="center"><b><%=FormatData(objRsHorario("DataChegada"))%></b></div>

</td>

<td>

<div

align="center"><b><%=left(objRsHorario("HoraChegada"),5)%></b></div>

</td>

<td>

<div align="center"><b><%=vDistancia%></b></div>

</td>

<td>

<div align="right"><b><%=formatcurrency(objRsOnibus(3),2)%></b> </div>

</td>

<td>

<div align="right"><b><%=formatcurrency(objRsOnibus(4),2)%></b></div>

</td>

<td>

<div align="center">

<input type="radio" name="rad_compra"

value="<%=cont%>" language="javascript" onClick="Envia(this.value);"></div>

</td>

</tr>

<input type="hidden"

name="vNomeEmpresa<%=cont%>" value="<%=vNomeEmpresa%>">

<input type="hidden"

name="vtipoOnibus<%=cont%>" value="<%=vtipoOnibus%>">

<input type="hidden"

name="vHoraPartida<%=cont%>"

value="<%=left(objRsHorario("HoraPartida"),5)%>">

<input type="hidden"

name="vTarifa<%=cont%>" value="<%=formatcurrency(objRsOnibus(3),2)%>">

<input type="hidden"

name="vidDataHorario<%=cont%>"

value="<%=objRsHorario("idDataHorario")%>">

<input type="hidden"

name="vidCatOnibus<%=cont%>" value="<%=objRsOnibus(1)%>">

<input type="hidden"

name="vViagem<%=cont%>" value="<%=left(objRsHorario("Viagem"),5)%>">

(33)

<input type="hidden"

name="vDataChegada<%=cont%>"

value="<%=FormatData(objRsHorario("DataChegada"))%>">

<input type="hidden"

name="vHoraChegada<%=cont%>"

value="<%=left(objRsHorario("HoraChegada"),5)%>">

<input type="hidden"

name="vDistancia<%=cont%>" value="<%=vDistancia%>">

<input type="hidden"

name="vtarPassagem<%=cont%>"

value="<%=formatcurrency(objRsOnibus(3),2)%>">

<input type="hidden"

name="vtarSeguro<%=cont%>"

value="<%=formatcurrency(objRsOnibus(4),2)%>">

<% objRsHorario.MoveNext

cont=cont+1 Loop

End if

objRsOnibus.MoveNext Loop%>

</form>

</table>

<script language="JavaScript">

function Envia(c) {

var vEmp="vNomeEmpresa" + c var vTip="vtipoOnibus" + c var vHoraP="vHoraPartida" + c var vTar="vTarifa" + c

var vidDtHora="vidDataHorario" + c var vidCat="vidCatOnibus" + c var vViag="vViagem" + c var vDtCh="vDataChegada" + c var vHrCh="vHoraChegada" + c var vDst="vDistancia" + c

(34)

var vtarP="vtarPassagem" + c var vtarS="vtarSeguro" + c

var vCidO=document.frmInfo["vCidadeOrigem"].value var vCidD=document.frmInfo["vCidadeDestino"].value var vPre=document.frmInfo["vPrefixo"].value

var vDtViag=document.frmInfo["vDataViagem"].value

vEmp=document.frmInfo[vEmp].value vTip=document.frmInfo[vTip].value vHoraP=document.frmInfo[vHoraP].value vTar=document.frmInfo[vTar].value

vidDtHora=document.frmInfo[vidDtHora].value vidCat=document.frmInfo[vidCat].value

vViag=document.frmInfo[vViag].value vDtCh=document.frmInfo[vDtCh].value vHrCh=document.frmInfo[vHrCh].value vDst=document.frmInfo[vDst].value

vtarP=document.frmInfo[vtarP].value vtarS=document.frmInfo[vtarS].value

window.location.href="poltrona.asp?vNomeEmpresa="+vEmp+"&vtipoOnibu s="+vTip+"&vHoraPartida="+vHoraP+"&vTarifa="+vTar+"&vidDataHorario="+vid DtHora+"&vidCatOnibus="+vidCat+"&vCidadeOrigem="+vCidO+"&vCidadeDestin o="+vCidD+"&vPrefixo="+vPre+"&vDataViagem="+vDtViag+"&vViagem="+vVia g+"&vDataChegada="+vDtCh+"&vHoraChegada="+vHrCh+"&vDistancia="+vDst+

"&vtarPassagem="+vtarP+"&vtarSeguro="+vtarS;

}

</script>

<%

(35)

else

%>

<br>

<table class="tabConsulta" align="center">

<tr>

<td align="center"> <font color="#996600" size="2"><b>NÃO EXISTEM ÔNIBUS PARA

ESSE ITINERÁRIO OU DATA!</b></font> </td>

</tr>

</table>

<br>

<%

end if end function

'Função de PesquisaEmpresa

function PesquisaEmpresa(vidEmpresa) Dim sql

set objRs = Server.CreateObject("ADODB.RecordSet")

sql = "select nomeEmpresa as Empresa from Rod_Empresa WHERE idEmpresa =" & vidEmpresa

objRs = objconexao.Execute(sql)

vNomeEmpresa = objRs(0) ' recupera o cidade que é único end function

'Função de PesquisaCategoriaOnibus function PesquisaCatOnibus(vidCatOnibus)

Dim sql

set objRs = Server.CreateObject("ADODB.RecordSet")

sql = "select IdCatOnibus, tipoOnibus as Classe from Rod_CategOnibus WHERE idCatOnibus =" & vidCatOnibus

objRs = objconexao.Execute(sql) vidCatOnibus = objRs(0)

vtipoOnibus = objRs(1) 'recupera o cidade que é único end function

'Função de PesquisaHorario

function PesquisaHorario(vidOnibus,vDataViagem)

(36)

Dim sql

sql = "select dtPartida as DataPartida, dtChegada as DataChegada, hrPartida as HoraPartida, hrChegada as HoraChegada, tempoViagem as Viagem, idDataHorario from Rod_Horario "

sql = sql & "WHERE idOnibus =" & vidOnibus & " AND dtPartida = #" &

vDataViagem & "# "

set objRsHorario = objconexao.Execute(sql) end function

%>

(37)

CtrlUsuario.inc

<!--Controladora de Informações do Usuario -->

<% Response.Buffer = True %>

<% Session("loginUsuario")= "" %>

<%

'Declarando as variáveis utilizadas nos métodos Dim vLogin, vSenha

Dim vNome,vCPF,vIdentidade,vEndereco,vDatanasc Dim vEstado,vUF,vConfirmaSenha,vFrase,vMail,vCep 'Recebe as variáveis de login informadas pelo usuario vLogin = Request.Form("txtLogin")

vSenha = Request.Form("txtSenha") Verifica = 0

Function verificaLogin Dim sql

sql = "SELECT loginusuario, senha, nomeUsuario FROM rod_usuario WHERE loginusuario='" & vLogin & "'"

verificaLogin = sql

set objRs = objConexao.Execute(verificaLogin) If not objRs.EOF Then

If objRs("Senha") <> vSenha Then

Session("loginUsuario")= "1" 'senha diferente Else

Session("loginUsuario") = "0" 'exite a senha e o login Session("UsuarioLogado") = objRS(2) 'nome do usuario End If

End if

response.redirect "index.asp"

end function

%>

(38)

<!--- cadastro de usuário --->

<%

function FormatData (data)

FormatData= right( "0" &day(data),2 ) & "/" & right("0"&month(data),2) &

"/"& year ( data ) end function

'Recebe as variáveis de cadastro informadas pelo usuário vNome = Request.Form("txtNome") vCPF = Request.Form("txtCPF") vIdentidade = Request.Form("txtIdentidade") vEndereco = Request.Form("txtEndereco") vDatanasc = Request.Form("txtDtnasc")

vCidade = Request.Form("slcCidade")

vUF = Request.Form("slcSigla")

vCep = Request.Form("slcCep") vConfirmaSenha = Request.Form("txtConfirma") vFrase = Request.Form("txtFrase") vMail = Request.Form("txtMail")

Function Cadastrar Dim sql

sql = "INSERT INTO rod_usuario

(idCidade,nomeUsuario,numCpf,numIdentidade,endereco,dataNascimento, "

sql = sql & "loginUsuario,senha,fraseSenha,email) VALUES (" &

vCidade & ",'" &vNome& "','" &vCPF& "','" &vIdentidade& "','" &vEndereco& "', "

sql = sql & "'" &vDatanasc& "','" &vLogin& "','" &vSenha& "','"

&vFrase& "','" &vMail& "') "

objConexao.Execute(sql) Response.write(sql)

Session("cadastro") = "1"

response.redirect "index.asp"

end Function

%>

(39)

CtrlBilhete.inc

<!--- Controladora Bilhete ---->

<%

'Declarando as variáveis utilizadas nos métodos

Dim vorigem, vdestino, vPrefixo, vDataViagem, vNomeEmpresa, vtipoOnibus, vHoraPartida, vTarifa, vViagem

Dim vDataChegada, vHoraChegada, vDistancia, vidDataHorario, vidUsuario Dim vradSeguro, vtarPassagem, vtarSeguro

Public vValorTotal

Public vMaxPagamento, vpoltrona

'set objRsHorario = Server.CreateObject("ADODB.RecordSet") 'Recebe as variáveis passadas na pagamento da passagem vorigem = Request.Form("vorigem")

vdestino = Request.Form("vdestino") vPrefixo = Request.Form("vPrefixo")

vDataViagem = Request.Form("vDataViagem") vNomeEmpresa = Request.Form("vNomeEmpresa") vtipoOnibus = Request.Form("vtipoOnibus")

vHoraPartida = Request.Form("vHoraPartida") vTarifa = Request.Form("vTarifa")

vViagem = Request.Form("vViagem")

vDataChegada = Request.Form("vDataChegada") vHoraChegada = Request.Form("vHoraChegada") vDistancia = Request.Form("vDistancia")

vtarPassagem = Request.Form("vtarPassagem") vtarSeguro = Request.Form("vtarSeguro") vpoltrona = Request.Form("vPoltrona") vradSeguro = Request.Form("vradSeguro")

vidDataHorario = Request.Form("vidDataHorario") vidUsuario = Session("idUsuario")

'formatação da data recebida para dd/mm/aaaa 'Call FormatDataInverte(vDataViagem)

%>

<%

'chamar os métodos

Call validarCompra(vradSeguro,vtarPassagem,vtarSeguro) 'chama o método de validação da compra

Call cadastraPagamento 'chama o método que insere o pagamento

Call cadastraBilhete 'chama o método que insere as informações na tabela bilhete Call geraBilhete 'chama o método que constroi o bilhete

%>

(40)

<%

'Função que verifica o valor da compra, com ou sem seguro function validarCompra(vradSeguro,vtarPassagem,vtarSeguro)

If vradSeguro = "SIM" then

vvalortotal = cdbl(vtarPassagem) + cdbl(vtarSeguro)

else

vvalortotal = vtarPassagem vtarseguro = "---"

end if end function

%>

<%

'Data

'function FormatData (data)

' FormatData = right( "0" &day(data),2 ) & "/" & right("0"&month(data),2) &

"/"& year ( data ) 'end function

'Função que insere o pagamento function cadastraPagamento

Dim sql

set objRsPagamento = Server.CreateObject("ADODB.RecordSet") set objRsPagamento2 = Server.CreateObject("ADODB.RecordSet")

sql = "insert into rod_pagamento

(valorTotalPassagem,validaPagamento) values ('" & formatcurrency(vValorTotal) &

"',1) "

objRsPagamento1 = objconexao.Execute(sql)

(41)

sql = "select Max(Rod_Pagamento.idPagamento) AS maxPagamento from Rod_Pagamento "

objRsPagamento2 = objconexao.Execute(sql) vMaxPagamento = objRsPagamento2(0) 'recupera o maior idPagamento da tabela para inserir na tabela rodBilhete

end function

%>

<%

'Função que insere as informações na tabela bilhete function cadastraBilhete

Dim sql,vdatahoje

vdatahoje = date

set objRsBilhete = Server.CreateObject("ADODB.RecordSet") sql = "insert into rod_Bilhete

(idUsuario,idPagamento,idDataHorario,dataEmissao,numPoltrona) "

sql = sql & " values ('" & vidUsuario & "','" & vMaxPagamento & "','" &

vidDataHorario & "', "

sql = sql & " #" & vdatahoje & "#,'" & vpoltrona & "') "

objRsBilhete = objconexao.Execute(sql)

end function

%>

<SCRIPT LANGUAGE=javascript>

<!--Função que abre a página do bilhete!-->

function abreBilhete(){

newwindow = window.open("geraBilhete.asp","Bilhete", "width=650, height=450, toolbar=0,status=0,scrollbars=1,resizable=0").location.href

="./geraBilhete.asp?vbilhete=Gerar+Bilhete&vorigem=<%=vorigem%>&vdestino=<

%=vdestino%>&vPrefixo=<%=vPrefixo%>&vDataViagem=<%=vDataViagem%>&

vNomeEmpresa=<%=vNomeEmpresa%>&vtipoOnibus=<%=vtipoOnibus%>&vHor aPartida=<%=vHoraPartida%>&vViagem=<%=vViagem%>&vDataChegada=<%=v DataChegada%>&vHoraChegada=<%=vHoraChegada%>&vDistancia=<%=vDistanc ia%>&vtarPassagem=<%=vtarPassagem%>&vvalortotal=<%=vvalortotal%>&vtarSe guro=<%=vtarSeguro%>&vpoltrona=<%=vpoltrona%>"

}

(42)

</SCRIPT>

<%

'Função que constrói o bilhete Function geraBilhete%>

<div align="center">

<font size="2">Parabéns&nbsp;

<font size="2" color="brown">

<b><%=Session("UsuarioLogado")%></b></font>

, seu pagamento foi realizado com sucesso!!</font><br>

<br>

<input type="button" name="vbilhete" language="javascript"

onclick="abreBilhete()" value="Gerar Bilhete">

<input type="hidden" name="vorigem" value="<%=vorigem%>">

<input type="hidden" name="vdestino" value="<%=vdestino%>">

<input type="hidden" name="vPrefixo" value="<%=vPrefixo%>">

<input type="hidden" name="vDataViagem"

value="<%=vDataViagem%>">

<input type="hidden" name="vNomeEmpresa"

value="<%=vNomeEmpresa%>">

<input type="hidden" name="vtipoOnibus"

value="<%=vtipoOnibus%>">

<input type="hidden" name="vHoraPartida"

value="<%=vHoraPartida%>">

<input type="hidden" name="vViagem" value="<%=vViagem%>">

<input type="hidden" name="vDataChegada"

value="<%=vDataChegada%>">

<input type="hidden" name="vHoraChegada"

value="<%=vHoraChegada%>">

<input type="hidden" name="vDistancia"

value="<%=vDistancia%>">

<input type="hidden" name="vtarPassagem"

value="<%=vtarPassagem%>">

<input type="hidden" name="vvalortotal"

value="<%=vvalortotal%>">

<input type="hidden" name="vtarSeguro"

value="<%=vtarSeguro%>">

<input type="hidden" name="vpoltrona" value="<%=vpoltrona%>">

</div>

<%end function%>

(43)

Ctrl Pagamento.inc

<!--Controladora de Pagamento -->

<%

'Declarando as variáveis utilizadas nos métodos

Dim vorigem, vdestino, vPrefixo, vidDataHorario, vDataViagem

Dim vNomeEmpresa, vtipoOnibus, vHoraPartida, vTarifa, vViagem, vDataChegada Dim vHoraChegada, vDistancia, vtarPassagem, vtarSeguro, vpoltrona

'set objRsHorario = Server.CreateObject("ADODB.RecordSet") 'Recebe as variáveis passadas na consulta da poltrona

'vpoltrona2 = Request.Form("selecionados") 'vpoltrona = Request.Form("slc_poltrona") vpoltrona = Request("selecionados") vorigem = Request("vorigem") vdestino = Request("vdestino") vPrefixo = Request("vPrefixo")

vidDataHorario = Request("vidDataHorario") vDataViagem = Request("vDataViagem") vNomeEmpresa = Request("vNomeEmpresa") vtipoOnibus = Request("vtipoOnibus")

vHoraPartida = Request("vHoraPartida") vTarifa = Request("vTarifa")

vViagem = Request("vViagem")

vDataChegada = Request("vDataChegada") vHoraChegada = Request("vHoraChegada") vDistancia = Request("vDistancia")

vtarPassagem = Request("vtarPassagem") vtarSeguro = Request("vtarSeguro")

%>

<%

'formatação da data recebida para dd/mm/aaaa 'Call FormatDataInverte(vDataViagem)

'Response.write(vDataViagem)

'Recupera o carrinho de compras do cliente após o login 'session("Origem") = vorigem

'session("Destino") = vdestino

%>

<%

'chamar os métodos

(44)

Call logado 'chama o método para verificar se o usuário esta logado no sistema Call exibeResultados() 'chama o método que exibe o resultado da consulta da poltrona

' if not vidItinerario="" then 'condição do itinerario <> 0

' Call PesquisaOnibus(vidItinerario)

' else

' end if

%>

<%

'Verificando se o usuário está logado e guardando informações function logado

Dim mensagem

if session("loginUsuario") = "" then session("vpoltrona") = vpoltrona session("vorigem") = vorigem session("vdestino") = vdestino session("vPrefixo") = vPrefixo

session("vidDataHorario") = vidDataHorario session("vDataViagem") = vDataViagem session("vNomeEmpresa") = vNomeEmpresa session("vtipoOnibus") = vtipoOnibus

session("vHoraPartida") = vHoraPartida session("vTarifa") = vTarifa

session("vViagem") = vViagem

session("vDataChegada") = vDataChegada session("vHoraChegada") = vHoraChegada session("vDistancia") = vDistancia

session("vtarPassagem") = vtarPassagem session("vtarSeguro") = vtarSeguro

mensagem = "Você não escolheu nenhuma passagem ou ainda não efetuou login"

'response.write "Você deve estar logado para efetuar o pagamento"

'response.redirect "index.asp"

response.redirect "loginerrado.asp?vmensagem=" & mensagem else

session("vpoltrona") = vpoltrona session("vorigem") = vorigem session("vdestino") = vdestino

(45)

session("vPrefixo") = vPrefixo

session("vidDataHorario") = vidDataHorario session("vDataViagem") = vDataViagem session("vNomeEmpresa") = vNomeEmpresa session("vtipoOnibus") = vtipoOnibus

session("vHoraPartida") = vHoraPartida session("vTarifa") = vTarifa

session("vViagem") = vViagem

session("vDataChegada") = vDataChegada session("vHoraChegada") = vHoraChegada session("vDistancia") = vDistancia

session("vtarPassagem") = vtarPassagem session("vtarSeguro") = vtarSeguro end if

end function

%>

<%

'Exibindo os resultados da poltrona escolhida function exibeResultados()

%>

<form name="formpag" action="bilhete.asp" onsubmit="return validaCampos()" method="post">

<table class="tabResultado" align="center" width="98%">

<tr bgcolor="#E2C78D">

<td>

<div align="left"> Embarque em:&nbsp;<br> <%=vorigem%> </div>

<input type="hidden" name="vorigem"

value="<%=vorigem%>">

</td>

<td>

<div align="left"> Desembarque em:&nbsp;<br> <%=vdestino%> </div>

<input type="hidden" name="vdestino"

value="<%=vdestino%>">

</td>

<td>

<div align="left"> Prefixo da Linha:&nbsp;<br><%=vPrefixo%> </div>

<input type="hidden" name="vPrefixo"

value="<%=vPrefixo%>">

</td>

(46)

<td>

<div align="left"> Data da Partida:&nbsp;<br><%=vDataViagem%> </div>

<input type="hidden" name="vDataViagem"

value="<%=vDataViagem%>">

</td>

</tr>

</table>

<br>

<!----exibe o resultado da consulta--->

<table class="tabResultado" width="99%"align="center">

<tr bgcolor="#CCCC99">

<td>

<div align="center"><b>Empresa</b></div>

</td>

<td>

<div align="center"><b>Classe</b></div>

</td>

<td>

<div align="center"><b>Partida</b></div>

</td>

<td>

<div align="center"><b>Tempo de Viagem</b></div>

</td>

<td>

<div align="center"><b>Data da Chegada</b></div>

</td>

<td>

<div align="center"><b>Hora</b></div>

</td>

<td>

<div align="center"><b>Distância</b></div>

</td>

<td>

<div align="center"><b>Tarifa</b></div>

</td>

<td>

<div align="center"><b>Seguro</b></div>

</td>

<td>

<div align="center"><b>Poltrona</b></div>

(47)

</td>

</tr>

<tr bgcolor="#EBEBD6">

<td >

<div align="center"><b><%=vNomeEmpresa%></b></div>

<input type="hidden" name="vNomeEmpresa"

value="<%=vNomeEmpresa%>">

</td>

<td>

<div align="center"><b><%=vtipoOnibus%></b></div>

<input type="hidden" name="vtipoOnibus"

value="<%=vtipoOnibus%>">

</td>

<td>

<div align="center"><b><%=vHoraPartida%></b></div>

<input type="hidden" name="vHoraPartida"

value="<%=vHoraPartida%>">

</td>

<td>

<div align="center"><b><%=vViagem%></b></div>

<input type="hidden" name="vViagem"

value="<%=vViagem%>">

</td>

<td>

<div align="center"><b><%=vDataChegada%></b></div>

<input type="hidden" name="vDataChegada"

value="<%=vDataChegada%>">

</td>

<td>

<div align="center"><b><%=vHoraChegada%></b></div>

<input type="hidden" name="vHoraChegada"

value="<%=vHoraChegada%>">

</td>

<td>

<div align="center"><b><%=vDistancia%></b></div>

<input type="hidden" name="vDistancia"

value="<%=vDistancia%>">

</td>

<td>

<div align="right"><b><%=vtarPassagem%></b> </div>

(48)

<input type="hidden" name="vtarPassagem"

value="<%=vtarPassagem%>">

</td>

<td>

<div align="right"><b><%=vtarSeguro%></b></div>

<input type="hidden" name="vtarSeguro"

value="<%=vtarSeguro%>">

</td>

<td>

<div align="right"><b><%=vpoltrona%></b></div>

<input type="hidden" name="vpoltrona"

value="<%=vpoltrona%>">

</td>

</tr>

</table>

<div align="center">

<table class="tabResultado" align="center" width="51%">

<tr>

<td width="63%">&nbsp;</td>

<td width="9%">&nbsp;</td>

<td width="8%">&nbsp;</td>

<td width="10%">&nbsp;</td>

<td width="10%">&nbsp;</td>

</tr>

<tr>

<td width="63%">

<div align="center">

<font color="#996600"><b>Deseja pagar o seguro facultativo?

</b></font></div>

</td>

<td width="9%">

<div align="center"><font color="#FF0000"><b>Sim</b></font></div>

</td>

<td width="8%">

<input type="radio" name="vradSeguro" value="SIM">

</td>

<td width="10%">

<div align="right"><font color="#FF0000"><b>Não</b></font></div>

</td>

<td width="10%">

<input type="radio" name="vradSeguro" value="NAO">

</td>

</tr>

</table>

<br>

(49)

</div>

<table class="tabResultado" align="center" width="66%">

<tr>

<td width="41%">

<div align="right"><b>N&uacute;mero Cart&atilde;o:</b></div>

</td>

<td width="59%">

<input type="text" name="vNum" size="16" maxlength="16">

</td>

</tr>

<tr>

<td width="41%">

<div align="right"><b>Nome do Titular:</b></div>

</td>

<td width="59%">

<div align="left">

<input type="text" name="vNome" size="50" maxlength="50">

</div>

</td>

</tr>

<tr>

<td width="41%">

<div align="right"><b>Validade:</b></div>

</td>

<td width="59%">

<input type="text" name="vValidade" size="12" maxlength="12">

</td>

</tr>

<tr>

<td width="41%">

<div align="right"><b>Tipo:</b></div>

</td>

<td width="59%">

<input type="radio" name="vRadcartao" value="Visa">

Visa&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="radio" name="vRadcartao" value="MasterCard">

MasterCard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>

</tr>

<tr>

<td colspan="2" height="30">

<div align="center">

<input type="hidden" name="vidDataHorario"

value="<%=vidDataHorario%>">

<input type="submit" name="vValidar" value="Efetuar Pagamento">

<br>

</div>

</td>

</tr>

</table>

</form>

(50)

<script language="JavaScript">

//validação dos campos do seguro opcional function validaCampos(){

var checado;

if (document.formpag.vradSeguro[0].checked == false &&

document.formpag.vradSeguro[1].checked == false){

alert("É necessário preencher o campo seguro!");

return(false);

} }

</script>

<%end function%>

(51)

Ctrl Poltrona.inc

<!--Controladora de Poltrona -->

<%

'Declarando as variáveis utilizadas nos métodos Dim vdestino, vorigem, vDataViagem, vPrefixo

set objRsHorario = Server.CreateObject("ADODB.RecordSet") 'Recebe as variáveis passadas na consulta do itinerario

vdestino = Request("vCidadeDestino") vorigem = Request("vCidadeOrigem") vDataViagem = Request("vDataViagem") vPrefixo = Request("vPrefixo")

vViagem = Request("vViagem")

vDataChegada = Request("vDataChegada") vHoraChegada = Request("vHoraChegada") vTarifa = Request("vTarifa")

vHoraPartida = Request("vHoraPartida") vDistancia = Request("vDistancia") vSeguro = Request("vtarSeguro")

vidDataHorario = Request("vidDataHorario")

'left(Request("rad_compra"),instr(Request("rad_compra"),"-")-1) vidCatOnibus = Request("vidCatOnibus")

'mid(Request("rad_compra"),instr(Request("rad_compra"),"-")+1)

dim objRsBilhetes, objRsCatOnibus 'chama os métodos

Call PesquisaBilhete(vidDataHorario) Call PesquisaQuantPoltronas(vidCatOnibus) call CalculaPoltronasDis()

function PesquisaBilhete(vidDataHorario) Dim sql

sql = "SELECT Rod_Bilhete.numPoltrona, Rod_Bilhete.idBilhete FROM Rod_Bilhete where Rod_Bilhete.idDataHorario=" & vidDataHorario& " order by Rod_Bilhete.numPoltrona "

set objRsBilhetes = objConexao.Execute(sql)

(52)

end function

function PesquisaQuantPoltronas(vidCatOnibus) Dim sql

sql = "select idCatOnibus, qtdePoltronas from Rod_CategOnibus WHERE idCatOnibus =" & vidCatOnibus & " "

set objRsCatOnibus = objconexao.Execute(sql)

'vqtdePoltronas = objRsCatOnibus(1) ' recupera o cidade que é único end function

%>

<% function CalculaPoltronasDis()%>

<%

On Error Resume Next Dim a,j

Dim vet ()

objRsBilhetes.movefirst

Select Case objRsCatOnibus(0) Case 1

Redim vet(50) j=50

Case 2

Redim vet(46) j=46

Case 3

Redim vet(46) j=46

Case 4

Redim vet(38) j=38

Case 5

Redim vet(38) j=38

Case 6

(53)

Redim vet(34) j=34

Case 7

Redim vet(18) j=18

End Select

For i = 1 to j

a = objRsBilhetes(0) if i <> a then

vet(i) = i else

vet(i)= cstr(i) & "r"

objRsBilhetes.movenext end if

next

%>

<table class="tabResultado" align="center" width="98%">

<form name="frmCompra" action="pagamento.asp" method="post">

<tr bgcolor="#F5D8A0">

<td>

<div align="left"> Embarque em:&nbsp;<br> <%=vorigem%> </div>

</td>

<td>

<div align="left"> Desembarque em:&nbsp;<br> <%=vdestino%> </div>

</td>

<td>

<div align="left"> Prefixo da Linha:&nbsp;<br><%=vPrefixo%> </div>

</td>

<td>

<div align="left"> Data da Partida:&nbsp;<br><%=vDataViagem%>

</div>

</td>

</tr>

</table>

<br>

<table class="tabResultado" width="99%"align="center">

<tr>

<td bgcolor="#CCCC66">

<div align="center"><b>Empresa</b></div>

</td>

<td bgcolor="#CCCC66">

<div align="center"><b>Classe</b></div>

</td>

Referências

Documentos relacionados

Você agora está pronto para ver as imagens em seu monitor de tela grande e operar todas as funções no dispositivo móvel como surfar na internet, jogar jogos, navegar por

O trabalho desenvolvido pelo GEPEFE envolve professores do ensino superior tanto da UEPG como de algumas Instituições particulares, que atuam como docentes no Curso de

DO PAGAMENTO - O arrematante deverá efetuar o pagamento do preço dos bens arrematados, no prazo de até 05 (cinco) dias úteis contados do encerramento do

FRI 26 APR 2019, START TIME 09:00 CDN Jamor Senhoras 10m AIR RIFLE FINAL RESULTS Remarks Total.. 2nd Competition Stage - Elimination

A cor “verde” reflecte a luz ultravioleta, porém como as minhocas castanhas são mais parecidas com as minhocas verdadeiras, não se confundem com a vegetação, sendo

firmada entre o Sinduscon-AL e Sindticmal e que não tiver nenhuma ausência em cada período de aferição, bem como contar com 3 (três) meses ou mais de vigência de contrato de

· 4.3 Indicações sobre cuidados médicos urgentes e tratamentos especiais necessários Não existe mais nenhuma informação relevante disponível.. SECÇÃO 5: Medidas de combate

Estes dois modelos de interface com o usuario estendem de um mesmo framework de controle e interface com o usuario, o UIKON (User Interface and Control Framework), que e a base