# onehost-ecf

## Instalação no linux para desenvolvedores

1 - Execute
```bash
npm install ; mkdir -p tmp/Req ; mkdir -p tmp/Resp
DEV=1 node init.js
```

2 - Execute o simulador de sitef. Execute em outro terminal:
```bash
cd ~/sites
git clone git@github.com:OneWebBr/simulador-sitef.git
cd simulador-sitef
composer install
php index.php --pasta ../socketio/tmp
```

3 - Conforme necessário, adapte o arquivo imprimir.sh. Se você precisa VER o conteúdo da impressão sem ter uma impressora,
comente a linha que imprime e também linha que remove o arquivo imprimir.txt. Aí você pode imprimir no sistema e ver o conteúdo do arquivo imprimir.txt
Lembre-se sempre de remover o arquivo imprimir.txt após ver ele, pois ele não é sobrescrito na próxima impressão.
Para ver os caracteres especiais use o programa `hexdump -C imprimir.txt` O parâmetro ( -C ) pode variar conforme necessidade. Leia mais em https://man7.org/linux/man-pages/man1/hexdump.1.html

4 - Faça os testes no sistema

## Instalação de impressora térmica (de cupons eletrônicos) no caixa 1

1 - Baixar de <http://downloads.oneweb.com.br/socketio.zip>
descompactar em ``C:\onehost\socketio``

2 - Cadastrar corretamente o terminal em <http://...../admin/ow_cupom_fiscal/ecf_terminais>. Será wss://localhost:81

3 - Instalar o respectivo driver da impressora para que ela apareça na lista de impressoras do Windows. Os principais drivers estão aqui: <http://downloads.oneweb.com.br/impressoras/>

4 - compartilhar a impressora na rede, clicando com o direito nela, Propriedades da impressora, Compartilhamento, colocar um nome de compartilhamento simples, facil de memorizar, exemplo: ELGIN

5 - No arquivo IMPRIMIR.BAT precisa corrigir no nome do compartilhamento, onde diz:

```cmd
type imprimir.txt >> \\127.0.0.1\impressora
```

para o nome correto daquele **PC** e da **impressora**. Em vez de 127.0.0.1 pode tentar usar localhost. Ou trocar 127.0.0.1 pelo nome do pc tem no icone "Computador" do iniciar, ou em outras areas.

6 - Executar como **administrador (clicar com o botão Direito e depois Executar como Administrador)** ``install-32bits.bat`` ou ``install-64bits.bat``!

7 - Confira se esta escutando na porta especificada no arquivo config.js, exemplo:

```cmd
netstat -ant | find "]:81"
```

## Instalação no Caixa 2 ( onde não tem a impressora )

1 - Baixar de <http://downloads.oneweb.com.br/socketio.zip> descompactar em ``C:\onehost\socketio``

2 - Instalar a **impressora de rede**. Você deve instalar a impressora de rede que está no caixa 1.

3 - Edite o arquivo `C:\onehost\socketio\imprimir.bat` e coloque o nome correto do compartilhamento:
```
type imprimir.txt >> \\NOME-PC-DO-CAIXA-ONDE-ESTA-A-IMPRESSORA\impressora
```
4 - Execute como **administrador** ``install-32bits.bat`` ou ``install-64bits.bat``

### Observação sobre Impressoras Bematech 2500 TH

- Caso ela não esteja imprimindo QRCode, deve-se atualizar o firmware dela. Faça os downloads dos arquivos necessários por esse link: <http://downloads.oneweb.com.br/impressoras/bematech-2500-th/>

- Segue o link com os detalhes: <http://partners.bematech.com.br/bemacast/Paginas/post.aspx?title=edicao-192---atualizando-e-imprimindo-qr-code-na-impressora-mp-2500-th&idPost=6207>
