SAT BEMATECH/ELGIN

🚧 Este package inicialmente funciona somente em Android. 🚧

Esse package te ajudou? Me ajude a manter o projeto ativo. ⬇️

Donate

Testes

Este package foi testado nos seguintes SATs:

Aparelho SAT Android
SMART SAT 10 e 11
SAT@GO 10 e 11

Configurando o package | IMPORTANTE ⚠

Como se trata de um compomente que se comunica com libs externas, serão necessários fazer algumas (pouquíssimas) modificações na sua pasta android.

  1. Na sua pasta android/app, mude o seu minSdkVersion para 21, pois os componentes da Elgin utilizam uma dependência que é necessário subir a versão.

  2. Baixar a última versão do sdk que estiver SDK SAT.

    • No momento, a versão das libs está em 8.0.1, funcionando tanto nos SAT da Elgin quanto da Bematech.
  3. Ir no seu projeto, na pasta android/app e criar uma pasta chamada libs e adicionar o arquivo .aar.

  4. Ainda dentro da pasta app, iremos precisar modificar o build.gradle, pois como ele utiliza libs externas, também precisamos incluir no nosso package.
    No final do seu android/app/build.gradle , você irá colocar a seguinte informação (indicando a leitura dos métodos do SDK).

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.aar'])
    }
    
    • Trocar o compileSdkVersion para 31
    • Trocar o minSdkVersion para 22
    • Trocar o targetSdkVersion 30
  5. Depois disso você terá que fazer pequenas modificações no AndroidManifest (android/app/src/main/AndroidManifest.xml).

    • A primeira modificação será incluir o uses-feature para permitir que o USB do seu device seja utilizado, entre o fechamento do manifest e o começo do <application:
    <uses-feature android:name="android.hardware.usb.host" />
    
    • Dentro da sua activity, você deverá informar um intent-filter para o USB:
    <intent-filter>
        <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
    </intent-filter>
    
    • Abaixo do fechamento do activity, um service indicando que o método de USB da lib Elgin será acionado:
    <service android:name="br.com.elgin.sat.USBService" android:enabled="true" />
    

    ✔️ Aqui possui um exemplo de como o seu AndroidManifest deverá ficar. ✔️️

Métodos Implementados

Método Entrada Descrição
deviceInfo void Pegar o modelo do SAT conectado
ativarSAT número de sessão, Mapsubcomando (1 ou 2 ), cnpj, codUf Ativa o SAT para uso
associarAssinatura número de sessão, Map[codigo de ativação,concatenação do cnpj + cnpj da software house, assinatura AC
consultarSAT número de sessão Retorna o status do SAT
statusOperacional número de sessão, código de ativação Retorna um objeto do status operacional
extrairLog número de sessão, código de ativação Retorna um objeto do log completo do SAT
enviarVenda número de sessão, código de ativação, xml Envia a venda e retorna um objeto da venda
cancelarVenda número de sessão, código de ativação, Mapchave,xml de cancelamento Cancela a nota de acordo com os parâmetros acima
bloquearSat número de sessão, código de ativação Faz o bloqueio manual do SAT
desbloquearSat número de sessão, código de ativação Faz o desbloqueio manual do SAT quando possível
consultarNumeroSessao número de sessão, código de ativação, número de sessão para consulta Consulta a resposta de um número de sessão específico
atualizarSoftwareSat número de sessão, código de ativação Faz a atualização do software base do SAT

⌛ Não implementados ainda

Método Entrada Descrição
trocarCodigoDeAtivacao número de sessão, método de troca, código de ativação, código novo, confirmação do código Troca o código de ativação, dependendo do método de troca, utilizando a senha emergencial ou a senha anterior do aparelho
configurarInterfaceDeRede número de sessão, código de ativação, dados Configura a rede, DHCP ou IP fixo de acordo com as configurações
comunicarCertificadoIcpbrasil número de sessão, código de ativação, certificado Associa o SAT com o certificado do ICP BRASIL