|
|
| Linha 59: |
Linha 59: |
| | ==<b>CATRACAS</b>== | | ==<b>CATRACAS</b>== |
| | * A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech | | * A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech |
| − | * A aplicação é executada em container Docker, e grava os arquivos nos seguintes diretórios que se encontram dentro do Container: | + | * A aplicação grava os arquivos no diretório configurado para o tipo de catraca utilizada no VRMaster |
| − | <b>Catraca Acesso</b>
| |
| − | <pre style="color: silver; background: black;">
| |
| − | /VRFichaAPI/acesso
| |
| − | </pre>
| |
| − | <b>Catraca Blantech</b>
| |
| − | <pre style="color: silver; background: black;">
| |
| − | /VRFichaAPI/blantech
| |
| − | </pre>
| |
| | | | |
| − | Para que os arquivos sejam disponibilizados em uma pasta compartilhada da rede, deve-se:
| + | <b>Configuração do diretório</b> |
| | | | |
| − | 1. Montar o compartilhamento SMB/Samba no sistema operacional host.</br>
| + | Para configurar o diretório onde os arquivos serão gerados, basta ir em: |
| − | 2. Configurar um volume no Docker para mapear o diretório compartilhado para dentro do container.
| + | <pre><b><i>VRMaster -> PDV -> Parâmetro -> Periféricos -> Catraca</i></b></pre> |
| | | | |
| − | O processo envolve basicamente as duas etapas acima, montando no computador host do VRFichaAPI o diretório que é compartilhado onde o VRFicha gera os arquivos, e então configurando o volume para que o container do VRFichaAPI possa gerar arquivos dentro deste diretório.
| + | Então selecionar o tipo de catraca utilizado, ir até a aba da catraca selecionada, especificar o diretório e salvar. |
| | | | |
| − | <h3><b>PONTO DE ATENÇÃO</b></h3>
| + | <b>IMPORTANTE</b> |
| | | | |
| − | Caso a pasta onde serão gerados os arquivos seja uma pasta local no host, ou seja, fique no mesmo computador onde o VRFichaAPI está rodando, não é necessário montar o compartilhamento SMB/Samba, basta configurar o volume do Docker para mapear o diretório local para dentro do container.
| + | O diretório configurado deve ser o caminho de uma pasta compartilhada na rede, sempre informando IP e o diretório. Não utilizar caminhos locais ou referenciar outras máquinas por nome, pois essa abordagem não funcionará. Obrigatoriamente deve ser no seguinte formato: |
| | + | <pre>\\192.168.0.1\catraca</pre> |
| | | | |
| − | <b>Cenário</b>
| + | Referenciando o IP da máquina com a pasta compartilhada, e o nome da pasta. A barra pode ser tanto a invertida (\) quanto a comum (/), funcionará da mesma forma no app, se atentar se funcionará no desktop que usa a mesma configuração. |
| − | | |
| − | Considere que o cliente usa catraca Acesso, e o diretório onde os arquivos da catraca serão gerados seja /home/usuario/catraca/acesso, no mesmo computador onde o VRFichaAPI está rodando. Neste caso, basta configurar o volume da seguinte forma:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | services:
| |
| − | vrficha-api:
| |
| − | image: vrsoftbr/vrfichaapi:4.1.9
| |
| − | | |
| − | volumes:
| |
| − | - /home/usuario/catraca/acesso:/VRFichaAPI/acesso
| |
| − | | |
| − | ...
| |
| − | </pre>
| |
| − | | |
| − | Em um caso no Windows, o diretório local poderia ser C:\Catraca\Acesso, e a configuração do volume seria:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | services:
| |
| − | vrficha-api:
| |
| − | image: vrsoftbr/vrfichaapi:4.1.9
| |
| − | volumes:
| |
| − | - "C:/Catraca/Acesso:/VRFichaAPI/acesso"
| |
| − | ...
| |
| − | </pre>
| |
| − | | |
| − | <b>CASO O DIRETÓRIO SEJA LOCAL, IGNORAR TODO O RESTANTE DESTE DOCUMENTO</b>
| |
| − | | |
| − | ===<b>1. Montando um compartilhamento de rede no host</b>===
| |
| − | <b>Cenário</b>
| |
| − | | |
| − | Considere um compartilhamento disponível na rede:
| |
| − | <pre>\\192.168.1.100\ficha_entrada</pre>
| |
| − | ou
| |
| − | <pre>\\SERVIDOR\ficha_entrada</pre>
| |
| − | | |
| − | O servidor pode ser:
| |
| − | * Um computador Windows;
| |
| − | * Um servidor Linux utilizando Samba;
| |
| − | * Qualquer dispositivo que disponibilize compartilhamentos SMB.
| |
| − | | |
| − | ====<b>1.1 Montando em um host Windows</b>====
| |
| − | <b>Utilizando o Explorador de Arquivos</b>
| |
| − | | |
| − | 1. Abra o Explorador de Arquivos. <br />
| |
| − | 2. Clique em "Este Computador". <br />
| |
| − | 3. Clique em "Mapear unidade de rede". <br />
| |
| − | 4. Escolha uma letra de unidade, por exemplo: <br />
| |
| − | <pre>Z:</pre>
| |
| − | 5. Informe o caminho do compartilhamento: <br />
| |
| − | <pre>\\192.168.1.100\ficha_entrada</pre>
| |
| − | 6. Marque: Reconectar ao entrar <br />
| |
| − | 7. Clique em Concluir. <br />
| |
| − | | |
| − | Caso necessário, informe usuário e senha do compartilhamento.
| |
| − | | |
| − | Após a montagem, o compartilhamento estará disponível como:
| |
| − | <pre>Z:\</pre>
| |
| − | | |
| − | <b>Testando o acesso</b>
| |
| − | | |
| − | Crie manualmente um arquivo:
| |
| − | | |
| − | <pre>Z:\xml\acesso\teste.xml</pre>
| |
| − | ou
| |
| − | <pre>Z:\xml\blantech\teste.xml</pre>
| |
| − | | |
| − | Se o arquivo for criado corretamente, a montagem está funcionando.
| |
| − | | |
| − | ====<b>1.2 Montando em um host Linux</b>====
| |
| − | | |
| − | Instale o suporte CIFS caso ainda não esteja instalado.
| |
| − | | |
| − | Ubuntu/Debian:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | sudo apt update
| |
| − | sudo apt install cifs-utils
| |
| − | </pre>
| |
| − | | |
| − | CentOS/RHEL:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | sudo yum install cifs-utils
| |
| − | </pre>
| |
| − | | |
| − | <b>Criando o ponto de montagem</b>
| |
| − | <pre style="color: silver; background: black;">
| |
| − | sudo mkdir -p /mnt/ficha_entrada
| |
| − | </pre>
| |
| − | | |
| − | <b>Montando o compartilhamento</b>
| |
| − | <pre style="color: silver; background: black;">
| |
| − | sudo mount -t cifs \
| |
| − | //192.168.1.100/ficha_entrada \
| |
| − | /mnt/ficha_entrada \
| |
| − | -o username=USUARIO,password=SENHA
| |
| − | </pre>
| |
| − | | |
| − | Exemplo:
| |
| − | | |
| − | <pre style="color: silver; background: black;">
| |
| − | sudo mount -t cifs \
| |
| − | //192.168.1.100/ficha_entrada \
| |
| − | /mnt/ficha_entrada \
| |
| − | -o username=vr,password=123456
| |
| − | </pre>
| |
| − | | |
| − | <b>Validando a montagem</b>
| |
| − | | |
| − | Execute:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | ls /mnt/ficha_entrada
| |
| − | </pre>
| |
| − | | |
| − | Os arquivos e diretórios do compartilhamento deverão ser exibidos.
| |
| − | | |
| − | Também é possível verificar:
| |
| − | | |
| − | <pre style="color: silver; background: black;">
| |
| − | mount | grep cifs
| |
| − | </pre>
| |
| − | | |
| − | <b>Montagem automática na inicialização (opcional)</b>
| |
| − | | |
| − | Adicionar ao arquivo:
| |
| − | <pre>/etc/fstab</pre>
| |
| − | | |
| − | Exemplo:
| |
| − | <pre>//192.168.1.100/ficha_entrada /mnt/ficha_entrada cifs username=vr,password=123456,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0</pre>
| |
| − | | |
| − | Após salvar:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | sudo mount -a
| |
| − | </pre>
| |
| − | | |
| − | ===<b>2. Configurando o Docker Compose</b>===
| |
| − | | |
| − | Após a montagem do compartilhamento no host, basta mapear o diretório para dentro do container através dos volumes declarados no arquivo usado pelo Docker Compose para subir o container. Abaixo a explicação de como realizar este mapeamento.
| |
| − | | |
| − | ====<b>2.1 Configuração para catraca Acesso</b>====
| |
| − | | |
| − | A aplicação grava os XMLs em:
| |
| − | <pre>./acesso/</pre>
| |
| − | | |
| − | que corresponde a: | |
| − | <pre>/VRFichaAPI/acesso</pre>
| |
| − | | |
| − | dentro do container.
| |
| − | | |
| − | <b>Host Linux</b>
| |
| − | | |
| − | Supondo que o compartilhamento esteja montado em:
| |
| − | <pre>
| |
| − | /mnt/ficha_entrada/xml/acesso
| |
| − | </pre>
| |
| − | | |
| − | Configure:
| |
| − | | |
| − | <pre>
| |
| − | services:
| |
| − | vrficha-api:
| |
| − | image: vrsoftbr/vrfichaapi:4.1.9
| |
| − | | |
| − | volumes:
| |
| − | - /mnt/ficha_entrada/xml/acesso:/VRFichaAPI/acesso
| |
| − | | |
| − | ...
| |
| − | </pre>
| |
| − | | |
| − | <b>Host Windows</b>
| |
| − | | |
| − | Supondo que o compartilhamento esteja mapeado na unidade:
| |
| − | <pre>Z:</pre>
| |
| − | | |
| − | e que os XMLs devam ser gravados em:
| |
| − | | |
| − | <pre>Z:\xml\acesso</pre>
| |
| − | | |
| − | Configure:
| |
| − | <pre>
| |
| − | services:
| |
| − | vrficha-api:
| |
| − | image: vrsoftbr/vrfichaapi:4.1.9
| |
| − | | |
| − | volumes:
| |
| − | - "Z:/xml/acesso:/VRFichaAPI/acesso"
| |
| − | | |
| − | ...
| |
| − | </pre>
| |
| − | | |
| − | ====<b>2.2 Configuração para catraca Blantech</b>====
| |
| − | | |
| − | A aplicação grava os XMLs em:
| |
| − | | |
| − | <pre>./blantech/</pre>
| |
| − | | |
| − | que corresponde a:
| |
| − | <pre>/VRFichaAPI/blantech</pre>
| |
| − | | |
| − | dentro do container.
| |
| − | | |
| − | <b>Host Linux</b>
| |
| − | <pre>
| |
| − | services:
| |
| − | vrficha-api:
| |
| − | image: vrsoftbr/vrfichaapi:4.1.9
| |
| − | | |
| − | volumes:
| |
| − | - /mnt/ficha_entrada/xml/blantech:/VRFichaAPI/blantech
| |
| − | | |
| − | ...
| |
| − | </pre>
| |
| − | <b>Host Windows</b>
| |
| − | <pre>
| |
| − | services:
| |
| − | vrficha-api:
| |
| − | image: vrsoftbr/vrfichaapi:4.1.9
| |
| − | | |
| − | volumes:
| |
| − | - "Z:/xml/blantech:/VRFichaAPI/blantech"
| |
| − | | |
| − | ...
| |
| − | </pre>
| |
| − | | |
| − | ===<b>Validação Final</b>===
| |
| − | | |
| − | Após iniciar o container:
| |
| − | | |
| − | <pre style="color: silver; background: black;">
| |
| − | docker compose up -d
| |
| − | </pre>
| |
| − | | |
| − | Verifique se os diretórios estão montados corretamente:
| |
| − | | |
| − | <pre style="color: silver; background: black;">
| |
| − | docker exec -it vrficha-api sh
| |
| − | </pre>
| |
| − | | |
| − | Para catraca Acesso:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | ls -la /VRFichaAPI/acesso
| |
| − | </pre>
| |
| − | | |
| − | Para catraca Blantech:
| |
| − | <pre style="color: silver; background: black;">
| |
| − | ls -la /VRFichaAPI/blantech
| |
| − | </pre>
| |
| − | | |
| − | Os arquivos XML gerados pela aplicação deverão aparecer nesses diretórios e, consequentemente, no compartilhamento de rede configurado no host.
| |
REQUISITOS MÍNIMOS
Para que o VR Ficha API funcione corretamente de maneira consistente é necessário ter um computador com esta configuração ou superior:
- VRUbuntu 20.04.0-1 (No Windows, utilizar o WSL)
- Processador: i3 (5ª geração +) ou equivalente
- Memória RAM: 8 GB
- Disco: 80 GB
- Docker instalado
INSTALAÇÃO
- Certifique-se de que as configurações do VR Ubuntu foram todas executadas neste link
- Certifique-se de que o Docker está instalando no sistema operacional na versão mais recente.
- Faça o download do arquivo docker-compose-vrfichaapi.yml clicando aqui
- Se o cliente já possuir o VR Service Manager rodando, o RabbitMQ do Service Manager pode ser utilizado, caso contrário, baixe o arquivo docker-compose-rabbitmq.yml clicando aqui para subir o sistema de mensageria no servidor onde ficará o VR Ficha API.
- No arquivo docker-compose-vrfichaapi.yml é configurado a porta de comunicação com a API, a conexão com o banco de dados e a conexão com o RabbitMQ. (Obs.: A conexão com o RabbitMQ configurada tem que ser a mesma no serviço de impressão dos pedidos, para que este funcione corretamente)
services:
vrficha-api:
image: vrsoftbr/vrfichaapi:4.1.10
ports:
- "9015:9015"
environment:
- TZ=GMT-3
- PORT=9015
- DATABASE_IP=
- DATABASE_PORTA=
- DATABASE_NOME=
- DATABASE_USUARIO=
- DATABASE_SENHA=
- SYSTEM_NUMEROLOJA=
- RABBITMQ_IP=
- RABBITMQ_PORTA=5672
- RABBITMQ_USUARIO=vr
- RABBITMQ_SENHA=vr!RbtMQ
networks:
- vr-network
networks:
vr-network:
external: true
- Você deve preencher corretamente os dados de conexão com o banco, o numero da loja e os dados de conexão com o RabbitMQ. Não é mais utilizado vr.properties. A configuração é feita diretamente no arquivo de compose do docker.
- Caso seja necessário alterar a porta, alterar em environment o valor de PORT, e também alterar as portas em ports
INICIALIZAÇÃO
- Para iniciar a API, basta executar este comando, passando na flag -f o nome do arquivo yml (Executar comando no mesmo diretório onde o arquivo está)
docker compose -f docker-compose-vrfichaapi.yml up -d
Obs: Será necessário estar autenticado no docker, pois a imagem é privada. Caso não esteja, executar o comando docker login e informar as credenciais
- Caso seja necessário subir o RabbitMQ, executar o docker compose no arquivo do RabbitMQ também
docker compose -f docker-compose-rabbitmq.yml up -d
IMPRESSÃO DAS FICHAS
- Para realizar a impressão das fichas, é necessário que o VRFichaMobileImpressao esteja sendo executado no servidor e conectado ao mesmo serviço do RabbitMQ em que a API do VRFicha Mobile está, pois ele irá consumir a fila do RabbitMQ e imprimir as fichas na impressora configurada no VRFicha. Você pode encontrar como configura-lo clicando aqui
CATRACAS
- A aplicação VRFicha API gera arquivos XML para integração com catracas dos tipos Acesso e Blantech
- A aplicação grava os arquivos no diretório configurado para o tipo de catraca utilizada no VRMaster
Configuração do diretório
Para configurar o diretório onde os arquivos serão gerados, basta ir em:
<b><i>VRMaster -> PDV -> Parâmetro -> Periféricos -> Catraca</i></b>
Então selecionar o tipo de catraca utilizado, ir até a aba da catraca selecionada, especificar o diretório e salvar.
IMPORTANTE
O diretório configurado deve ser o caminho de uma pasta compartilhada na rede, sempre informando IP e o diretório. Não utilizar caminhos locais ou referenciar outras máquinas por nome, pois essa abordagem não funcionará. Obrigatoriamente deve ser no seguinte formato:
\\192.168.0.1\catraca
Referenciando o IP da máquina com a pasta compartilhada, e o nome da pasta. A barra pode ser tanto a invertida (\) quanto a comum (/), funcionará da mesma forma no app, se atentar se funcionará no desktop que usa a mesma configuração.