BISModulesSocket: mudanças entre as edições

De BIS Wiki
Ir para navegação Ir para pesquisar
Sem resumo de edição
Linha 61: Linha 61:


=== Métodos de Integração com o BISCore ===
=== Métodos de Integração com o BISCore ===
==== findBISCertificateList ====
Busca uma lista de certificados do sistema.
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Requisição
|-
!style="width:15%"|Propriedade
!style="width:65%"|Valor
|-
|PROPERTY_COMMAND
|FINDBISCERTIFICATELIST
|-
|PROPERTY_FINDBISCERTIFICATELIST_MO
|<BISCertificateMO> - MO para filtrar os dados
|-
|PROPERTY_FINDBISCERTIFICATELISTLIST_ORDERBY
|<BISOrderBy> - Objeto para organizar a lista retornada
|-
|PROPERTY_FINDBISCERTIFICATELIST_ATTRIBUTES
|<String[]> Array de propriedades à serem populadas
|}
</center>
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Retorno
|-
!style="width:15%"|Propriedade
!style="width:65%"|Valor
|-
|PROPERTY_COMMAND
|OK_FINDBISCERTIFICATELIST
|-
|PROPERTY_FINDBISCERTIFICATELIST_LIST
|<ArrayList<BISCertificateVO>> - Lista com os objetos solicitados
|}
</center>


==== findCompanyList ====
==== findCompanyList ====

Edição das 02h02min de 5 de maio de 2015

Introdução

O TerminalApp é como uma pequena biblioteca que facilita a comunicação entre terminais (aplicações externas ao servidor de aplicações) e o BISCore e BISModules. Desenvolvido apenas com Java e Sockets (implementado em cima do BISSocket), pode ser usado para realizar chamadas e comunicar com o sistema sem a necessidade de utilizar bibliotecas RMI/JNDI ou outras mais complexas de integração.

Funcionamento

O lado servidor será "levantado" junto com o plugin. A partir deste momento o servidor já estará escutando a porta e aguardado conexão dos terminais.

A utilização é simples:

  1. Cria uma instância do TerminalAppClient, passe no construtor o host e a porta do servidor BISERP para que o cliente conecte-se;
  2. Chama os métodos passando os atributos desejados e aguarde pela resposta.


Protocolo entre TerminalAppClient e TerminalAppServer

Abaixo estão listados os comandos utilizados atualmente pelas duas classes para abstrair a comunicação. Para utilizar as classes não é necessário se familiarizar com o protocolo, apenas para manutenção e implementação das mesmas.

Chamada Pela Fachada
Quando o TerminalAppServer faz o repasse da chamada dos métodos na parte do Core (do BIS ou dos Plugins), deve sempre chamar a fachada de acesso. Para que o servidor de aplicações instancie as transações e o Interceptor da fachada possa fazer seu trabalho.

Uma chamada direta ao CRUD pode funcionar em alguns casos, mas com certeza desabilitará o BISLogger, as transações dos EJBs e outros serviços oferecidos pelo servidor de aplicação.

Métodos de Serviço do TerminalApp

serverTime

Recupera o horário do Servidor.

Requisição
Propriedade Valor
PROPERTY_COMMAND SERVERTIME
PROPERTY_SERVERTIME_REQID <Long> - Número qualquer para identificar a requisição. O mesmo valor é retornado na resposta.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_SERVERTIME
PROPERTY_SERVERTIME_TIME <Long> System.currentTimeMillis() do servidor.
PROPERTY_SERVERTIME_REQID <Long> Exatamente mesmo valor recebido na requisição, mesmo que null.

Métodos de Integração com o BISCore

findBISCertificateList

Busca uma lista de certificados do sistema.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDBISCERTIFICATELIST
PROPERTY_FINDBISCERTIFICATELIST_MO <BISCertificateMO> - MO para filtrar os dados
PROPERTY_FINDBISCERTIFICATELISTLIST_ORDERBY <BISOrderBy> - Objeto para organizar a lista retornada
PROPERTY_FINDBISCERTIFICATELIST_ATTRIBUTES <String[]> Array de propriedades à serem populadas
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDBISCERTIFICATELIST
PROPERTY_FINDBISCERTIFICATELIST_LIST <ArrayList<BISCertificateVO>> - Lista com os objetos solicitados

findCompanyList

Busca uma lista de empresas.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDCOMPANYLIST
PROPERTY_FINDCOMPANYLIST_MO <CompanyMO> - MO para filtrar os dados
PROPERTY_FINDCOMPANYLIST_ORDERBY <BISOrderBy> - Objeto para organizar a lista retornada
PROPERTY_FINDCOMPANYLIST_ATTRIBUTES <String[]> Array de propriedades à serem populadas
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDCOMPANYLIST
PROPERTY_FINDCOMPANYLIST_LIST <ArrayList<CompanyVO>> - Lista com os objetos solicitados

findUserList

Busca uma lista de usuários do sistema.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDUSERLIST
PROPERTY_FINDUSERLIST_MO <UserMO> - MO para filtrar os dados
PROPERTY_FINDUSERLIST_ORDERBY <BISOrderBy> - Objeto para organizar a lista retornada
PROPERTY_FINDUSERLIST_ATTRIBUTES <String[]> Array de propriedades à serem populadas
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDUSERLIST
PROPERTY_FINDUSERLIST_LIST <ArrayList<UserVO>> - Lista com os objetos solicitados


createNewTokenToUser

Solicita ao servidor que gere um novo token para o usuário passado.

Requsição
Propriedade Valor
PROPERTY_COMMAND CREATENEWTOKENTOUSER
PROPERTY_CREATENEWTOKENTOUSER_USER <String> - Login do usuário
PROPERTY_CREATENEWTOKENTOUSER_PASS <String> - Senha do usuário
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_CREATENEWTOKENTOUSER
PROPERTY_CREATENEWTOKENTOUSER_TOKEN <String> - Token recém criado para o usuário.

Métodos de Integração com o BISModules

registerTerminal

Faz o registro do terminal no servidor do BIS. Necessário para que o BIS reconheça esse terminal e possa gerencia-lo adequadamente, como sincronizar dados, conhecer status, etc.

Requisição
Propriedade Valor
PROPERTY_COMMAND REGISTERTERMINAL
PROPERTY_REGISTERTERMINAL_UNIQUEID <String> - ID do terminal. String gerada que deve ser única par o terminal. Normalmente usado o macaddress da máquina por já ser uma númeração única.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_REGISTERTERMINAL
PROPERTY_REGISTERTERMINAL_SERVERID <Long> - ID Gerado pelo servidor que passará a identificar o terminal no servidor


findPDVItemListToSync

Solicita do módulo PDV uma lista de itens. Esta lista terá apenas os itens alterados a partir da data passada. Método usado para sincronizar novos itens no terminal.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDPDVITEMLISTTOSYNC
PROPERTY_FINDPDVITEMLISTTOSYNC_COMPANYID <Long> - ID da empresa usada no temrinal
PROPERTY_FINDPDVITEMLISTTOSYNC_LASTSYNCDATE <Long> - Última data sincronizada. Usada para retornar apenas os itens mais novos que esta data. Se for nulo, retornamos todos os itens.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDPDVITEMLISTTOSYNC
PROPERTY_FINDPDVITEMLISTTOSYNC_LIST <ArrayList<PDVItemVO>> - Lista com os objetos solicitados


findFiscalIBPTRatiosListToSync

Solicita do módulo Fiscal uma lista dos ratios fornecida pelo IBPT usada para calcular o total de imposto aproximado pago no cupom. Esta lista terá apenas os objetos alterados a partir da data passada. Método usado para sincronizar novos objetos nos terminais.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDFISCALIBPTRATIOSLISTTOSYNC
PROPERTY_FINDFISCALIBPTRATIOSLISTTOSYNC_COMPANYID <Long> - ID da empresa usada no temrinal
PROPERTY_FINDFISCALIBPTRATIOSLISTTOSYNC_LASTSYNCDATE <Long> - Última data sincronizada. Usada para retornar apenas os objetos mais novos que esta data. Se for nulo, retornamos todos os objetos.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDFISCALIBPTRATIOSLISTTOSYNC
PROPERTY_FINDFISCALIBPTRATIOSLISTTOSYNC_LIST <ArrayList<FiscalIBPTRatioVO>> - Lista com os objetos solicitados


findPDVPaymentListToSync

Solicita do módulo PDV uma lista de itens. Esta lista terá apenas os itens alterados a partir da data passada. Método usado para sincronizar novos itens no terminal.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDPDVPAYMENTLISTTOSYNC
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDPDVPAYMENTLISTTOSYNC
PROPERTY_FINDPDVPAYMENTLISTTOSYNC_LIST <ArrayList<PDVPaymentVO>> - Lista com os objetos solicitados

findPDVContractListToSync

Solicita do módulo PDV uma lista de contratos (convênios) para venda no caixa.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDPDVCONTRACTLISTTOSYNC
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDPDVCONTRACTLISTTOSYNC
PROPERTY_FINDPDVCONTRACTLISTTOSYNC_LIST <ArrayList<PDVContractVO>> - Lista com os objetos solicitados

findPDVTokenList

Solicita do módulo PDV uma lista dos tokens de sistema filtrados de acordo com o MO passado.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDPDVTOKENLIST
PROPERTY_FINDPDVTOKENLIST_MO <PDVTokenMO> MO para filtrar a lista
PROPERTY_FINDPDVTOKENLIST_ORDERBY <BISOrderBy> para organizar a lista
PROPERTY_FINDPDVTOKENLIST_ATTRIBUTE <String[]> Atributos que devem ser populados nos objetos da lista.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDPDVTOKENLIST
PROPERTY_FINDPDVTOKENLIST_LIST <ArrayList<PDVTokenVO>> - Lista com os objetos solicitados

lockPDVToken

Solicita do módulo PDV uma lista dos tokens de sistema filtrados de acordo com o MO passado.

Requisição
Propriedade Valor
PROPERTY_COMMAND LOCKPDVTOKEN
PROPERTY_LOCKPDVTOKEN_TOKEN <Long> Número do token a ser bloqueado
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_LOCKPDVTOKEN
PROPERTY_LOCKPDVTOKEN_OBJ <PDVTokenVO> - Token bloqueado para edição

saveAndUnlockToken

Solicita do módulo PDV que salva uma comanda e a deixe desbloqueada para edição por outros terminais.

Requisição
Propriedade Valor
PROPERTY_COMMAND SAVEANDUNLOCKTOKEN
PROPERTY_SAVEANDUNLOCKTOKEN_OBJ <PDVTokenVO> Objeto representando o token a ser salvo e desbloqueado.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_SAVEANDUNLOCKTOKEN

unlockToken

Solicita do módulo PDV que desbloqueie uma comanda da edição.

Requisição
Propriedade Valor
PROPERTY_COMMAND UNLOCKTOKEN
PROPERTY_UNLOCKTOKEN_TOKEN <Long> Número do token a ser desbloqueado da edição.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_UNLOCKTOKEN

clearTokens

Solicita do módulo PDV que limpe e desbloqueie as comandas informadas.

Requisição
Propriedade Valor
PROPERTY_COMMAND CLEARTOKENS
PROPERTY_CLEARTOKENS_TOKENS <ArrayList<PDVTokenVO>> Coleção de comandas a serem limpas e desbloqueadas.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_CLEARTOKENS

syncPDVCheckoutVOList

Envia para o servidor uma lista de objetos PDVCheckoutVO para ser salvo. Esses objetos normalmente são criados nas aplicações de PDV e são salvos no servidor para ficarem centralizados.

Requisição
Propriedade Valor
PROPERTY_COMMAND SYNCPDVCHECKOUTVOLIST
PROPERTY_SYNCPDVCHECKOUTVOLIST_SERVERID <Long> Identificador do terminal - gerado quando a estação se resgistrou no servidor.
PROPERTY_SYNCPDVCHECKOUTVOLIST_LIST <ArrayList<PDVCheckoutVO>> Coleção de checkouts para serem sincronizados com o servidor.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_SYNCPDVCHECKOUTVOLIST

syncPDVCupomVOList

Envia para o servidor uma lista de objetos PDVCheckoutVO para ser salvo. Esses objetos normalmente são criados nas aplicações de PDV e são salvos no servidor para ficarem centralizados.

Requisição
Propriedade Valor
PROPERTY_COMMAND SYNCPDVCUPOMVOLIST
PROPERTY_SYNCPDVCUPOMVOLIST_SERVERID <Long> Identificador do terminal - gerado quando a estação se resgistrou no servidor.
PROPERTY_SYNCPDVCUPOMVOLIST_LIST <ArrayList<PDVCupomVO>> Coleção de cupons para serem sincronizados com o servidor.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_SYNCPDVCUPOMVOLIST

findPDVNFCeLastDocumentNumber

Solicita ao servidor que retorne o número do documento do último cupom emitido para uma determinada empresa e série da documento.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDPDVNFCELASTDOCUMENTNUMBER
PROPERTY_FINDPDVNFCELASTDOCUMENTNUMBER_COMPANYID <Long> ID da empresa.
PROPERTY_FINDPDVNFCELASTDOCUMENTNUMBER_DOCSERIAL <Integer> Número da série do documento desejado.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDPDVNFCELASTDOCUMENTNUMBER
PROPERTY_FINDPDVNFCELASTDOCUMENTNUMBER_DOCNUMBER <Long> Número do último documento emitido para a empresa e na série solicitada.


findLocationCountryListToSync

Solicita ao servidor que retorne o cadastro de Países alterados recentemente para sincronização com outros sistemas externos.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDLOCATIONCOUNTRYLISTTOSYNC
PROPERTY_FINDLOCATIONCOUNTRYLISTTOSYNC_LASTSYNCDATE <Date> Data da última sincronização.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDLOCATIONCOUNTRYLISTTOSYNC
PROPERTY_FINDLOCATIONCOUNTRYLISTTOSYNC_SYNCLIST List<LocationCountryVO> Retorna uma lista com todos os LocationCountryVO cuja data de última alteração seja maior que a data recebida.

findLocationStateListToSync

Solicita ao servidor que retorne o cadastro de Estados alterados recentemente para sincronização com outros sistemas externos.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDLOCATIONSTATELISTTOSYNC
PROPERTY_FINDLOCATIONSTATELISTTOSYNC_IDCOUNTRY <Long> ID do País que se deseja os estados.

Obrigamos o filtro de países para evitar que o excesso de dados em memória atrapalhe o funcionamento do BIS.

PROPERTY_FINDLOCATIONSTATELISTTOSYNC_LASTSYNCDATE <Date> Data da última sincronização.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDLOCATIONSTATELISTTOSYNC
PROPERTY_FINDLOCATIONSTATELISTTOSYNC_SYNCLIST List<LocationStateVO> Retorna uma lista com todos os LocationStateVO cuja data de última alteração seja maior que a data recebida.

findLocationCityListToSync

Solicita ao servidor que retorne o cadastro de Municípios alterados recentemente para sincronização com outros sistemas externos.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDLOCATIONCITYLISTTOSYNC
PROPERTY_FINDLOCATIONCITYLISTTOSYNC_IDSTATE <Long> ID do Estado que se deseja os municípios.

Obrigamos o filtro de estados para evitar que o excesso de dados em memória atrapalhe o funcionamento do BIS.

PROPERTY_FINDLOCATIONCITYLISTTOSYNC_LASTSYNCDATE <Date> Data da última sincronização.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDLOCATIONCITYLISTTOSYNC
PROPERTY_FINDLOCATIONCITYLISTTOSYNC_SYNCLIST List<LocationCityVO> Retorna uma lista com todos os LocationCityVO cuja data de última alteração seja maior que a data recebida.

findLocationAddressListToSync

Solicita ao servidor que retorne o cadastro de Municípios alterados recentemente para sincronização com outros sistemas externos.

Requisição
Propriedade Valor
PROPERTY_COMMAND FINDLOCATIONADDRESSLISTTOSYNC
PROPERTY_FINDLOCATIONADDRESSLISTTOSYNC_IDCITY <Long> ID do Estado que se deseja os municípios.

Obrigamos o filtro de cidade para evitar que o excesso de dados em memória atrapalhe o funcionamento do BIS.

PROPERTY_FINDLOCATIONADDRESSLISTTOSYNC_LASTSYNCDATE <Date> Data da última sincronização.
Retorno
Propriedade Valor
PROPERTY_COMMAND OK_FINDLOCATIONADDRESSLISTTOSYNC
PROPERTY_FINDLOCATIONADDRESSLISTTOSYNC_SYNCLIST List<LocationAddressVO> Retorna uma lista com todos os LocationAddressVO cuja data de última alteração seja maior que a data recebida.