====== Restaurante Universitário - Aplicativos Desktop ======
===== Controle de Entrada =====
**Importante:** Utilizar java 7 32 bits
==== Ambiente de desenvolvimento ====
- Utilizar uma JRE 32 bits
- Inclua na VM arguments o diretório onde estão as DLLs. Ex: **-Djava.library.path="C:/Program Files (x86)/TopData_SDK EasyInner/DLLs"**
==== Aplicativo ====
- Permissão: Gestor de Vendas do Restaurante.
- Instalar SDK da catraca: {{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:restaurante_-_configuração_da_catraca.zip|}}.
- Descompactar e instalar o SDK-EasyInner-01-20.exe.
- Configurar ''conf.properties'' e ''br/ufrn/sigaa/assistencia/remoto/applicationContext.properties'' dentro do .jar.
- Colocar o IP do painel de fotos.
- Colocar o host do servidor tanto em conf.properties e em applicationContext.properties.
Provavelmente não será direto para produção, mas sim para um servidor separado que serve só os aplicativos desktop.
- Rodar o aplicativo passando o número do inner como parâmetro
java -jar "Restaurante - Controle de Entrada.jar"
Por exemplo, para a catraca 1:
java -jar "Restaurante - Controle de Entrada.jar" 3570 1 1 0
==== Catraca ====
**Modelo TOP do fabricante TOPDATA.**
- Ligar segurando o botão OK, para apagar a memória.
- Número do Inner: 01 (OK) (ou 02, 03, etc).
- IP do Servidor: (colocar o endereço IP do computador conectado à catraca)
- IP Inner fixo? (OK) ? Coloca o IP designado para a catraca (Inner Net) (OK)
- Máscara de subrede? (OK) ? coloca a máscara (255.255.255.000) (OK)
- Sem Gateway? (OK)
- Porta padrão? (OK) *3570
- Código da empresa: 0000 (OK)
- Padrão do cartão: 2 (Padrão Livre - PL)
- Inner Catraca: (OK)
- 1 - Top/Box: 1 (Top/Box)
- Com urna:
- Buffer cheio? 2
**Modelo VIRTUAL.**
A catraca virtual é uma simulação de uma catraca usando um aplicativo que faz a leitura dos dados do cartão através de um leitor de cartão magnético conectado ao computador.
- Gerar um .jar apontando para a classe CatracaVirtualGui como classe de inicialização.
- Deixá-la no mesmo diretório do ControleAcesso.jar
O aplicativo deve estar sempre em primeiro plano para que funcione.
==== Possíveis Problemas ====
* Ao gerar o .jar pelo Eclipse, mandar empacotar as bibliotecas como .jars (//Package required libraries into generated JAR//), senão ao rodar o Java não encontra algumas coisas.
* Se o módulo da catraca começar a apitar, mexer nos sensores da catraca.
* Pode demorar um pouco (até um minuto) para o aplicativo conectar-se à catraca. Isso é normal.
// trunk/Restaurante/AcessoRUCodCartao/ //
==== Observação ====
* Durante a configuração das catracas é necessário seguir uma seqüência de portas e número de inners, ver exemplo abaixo:
| **Catraca** | **Porta** | **Inner** |
| 1 | 3570 | 01 |
| 2 | 3571 | 02 |
| 3 | 3572 | 03 |
==== Configurações do Servidor e Catracas no RU ====
* Todos os endereços IPs são ESTÁTICOS conforme as seguintes configurações abaixo:
| **Servidor** ||
|IP|10.4.132.17|
|Máscara|255.255.255.0|
|Gateway|10.4.132.1|
|DNS|192.168.1.4|
| ** Catracas ** |||||
| **Catraca** | **Porta** | **Inner** | ** IP ** | ** Máscara ** |
| 1 | 3570 | 01 | 10.4.132.18 | 255.255.255.0 |
| 2 | 3571 | 02 | 10.4.132.19 | 255.255.255.0 |
| 3 | 3572 | 03 | 10.4.132.20 | 255.255.255.0 |
| ** Estações ** ||
| **Localizacão** | **Ip** |
| Restaurante Universitário - Estação 1 | 10.4.132.21 |
| Restaurante Universitário - Estação 2 (C. CONVIVENCIA) | 10.4.16.30 |
| BIOMEDICA | 10.203.64.50 |
| Totem RU #1 | 10.4.132.64 |
Recomendações:
- Instalar software de bloqueio [[http://quartzo.com/|InterApp]] e bloquear opções informadas na instalação e na aba de permissões marcar "Bloquear todos os sites...", a senha utilizada é: "sinfoufrn"
- Instalar softwares de acesso remoto [[http://www.uvnc.com|UltraVNC]] e [[http://www.teamviewer.com|TeamViewer]]
- Criar no desktop do usuário administrador links para liberar/bloquear USB. A alteração deve ser realizada sobre o registro **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR** na variável **Start** sendo que o valor **3** libera e **4** bloqueia a USB
- Instalar o Postgres e editar o arquivo pg_hba.conf e incluir a linha "host all all XXX 255.255.255.255 trust" onde o XXX é o ip do servidor do SIPAC
==== Contatos relacionados ====
* Carlos Eduardo (Visual Identificações) 3231-8484 / 9836-0303 [Técnico de Manutenção]
===== Entrega de Cartões =====
- Instalar leitor magnético USB.
- Instalar webcam.
- Instalar {{http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#7372-jmf-2.1.1e-oth-JPR|Java Media Framework}}. **(Usar JRE 32 bits)**
- Configurar conf.properties dentro do .jar.
==== Criando novo LOTE de cartões ====
* O script de INSERT dos cartões são gerados através da classe: "br.ufrn.sipac.arq.migracao.restaurante.CriaLoteCartoesRU.main(String[])" no projeto "MigracoesUfrn"
* A tarefa do iProject relacionada a este procedimento é a de número **124918**
=== Faixa 1 ===
* **TEXTO** 'SINFO-UFRN-CARTAO-'
* **SS** second (00-59)
* **US** microsecond (000000-999999)
''SELECT 'SINFO-UFRN-CARTAO-' || to_char(now(),'SSUS')''
=== Faixa 2 e 3 ===
* **SSSS** seconds past midnight (0-86399)
* **MS** millisecond (000-999)
* **US** microsecond (000000-999999)
* **SS** second (00-59)
* **MI** minute (00-59)
* **HH24** hour of day (00-23)
* **WW** week number of year (1-53) (The first week starts on the first day of the year.)
* **YY** last 2 digits of year
* **MM** month number (01-12)
* **DD** day of month (01-31)
''SELECT to_char(now(), 'SSSSMSUSSSMIHH24WWYYMMDD')''
==== Possíveis problemas ====
* Se houver mais de uma webcam, tem que desativar uma delas.
* Se estiver dando problema na hora de tirar a foto, mudar as cores do Windows de 32bits para 16bits pode resolver o problema.
* O JMF só funciona bem em Windows 32 bits.
// trunk/Restaurante/RestauranteEntregaCartoes/ //
===== Painel de Fotos =====
- Editar o arquivo conf.properties dentro do .jar. Principalmente a lista de IPs permitidos. Nela deve ser colocado o IP da máquina que controla as catracas.
==== Possíveis problemas ====
* O firewall pode bloquear a criação do serviço na porta 5000.
// trunk/Restaurante/RestauranteFotos/ //
===== Vendas =====
- Instalar impressora térmica.
- Instalar Java Communications API: {{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:restaurante_-_configuração_da_impressora.zip|}}
- Configurar ImpressaoRestaurante.properties. Se esse arquivo não existir ainda, criá-lo na mesma pasta onde o .jar se encontra. A configuração a seguir normalmente funciona de primeira:
Impressora=DARUMA_DR600
Serial=true
Porta=COM1
Velocidade=9600
Paridade=0
DataBits=8
StopBits=1
- Instalar leitor magnético USB.
- Verificar o IP da máquina e adicioná-lo à tabela administrativo.restaurante.estacao_venda, em produção.
==== Possíveis problemas ====
* Se o aplicativo não quiser rodar, o problema pode ser o banco local que ficou travado ou corrompido. Basta removê-lo ou renomear a pasta C:\SipacBD .
// trunk/Restaurante/RestauranteUniversitario/ //
===== Totem =====
- Abrir aplicativo de vendas.
- Clicar em "Consulta de Saldo".
===== Detalhes de implementação =====
* Editar os aplicativos usando o Eclipse, para isso,instalar o WindowBuilder para mexer na parte gráfica.
===== Torniquete =====
O torniquete é um equipamento de restrição de acesso que pode ser interligado aos circuitos das catracas. Abaixo segue esquema de ligação das catracas:
==== Catraca TOPDATA ====
{{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:esquema_torniquete.png?800|}}
{{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:IMG_20150319_094259.jpg?200|}}
{{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:IMG_20150319_094306.jpg?200|}}
{{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:IMG_20150319_094318.jpg?200|}}
{{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:IMG_20150319_101208.jpg?200|}}
{{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:IMG_20150319_101239.jpg?200|}}
{{:desenvolvimento:especificacoes:sipac:restaurante:casos_de_uso:desktop:esquema_torniquete.pptx?200|}}
**Observação:** provavelmente esse esquema de ligação poderia ser feito diretamente nos conectores disponíveis na placa da catraca mas em virtude da falta de documentação técnica e da urgência em que ocorreu o processo, essa foi a forma utilizada.