BISModulesSocket: mudanças entre as edições

De BIS Wiki
Ir para navegação Ir para pesquisar
Linha 617: Linha 617:




==== findLocationListToSync ====
==== findLocationCountryListToSync ====
Solicita ao servidor que retorne os objetos de location (LocationAddress, LocationCity, LocationState e LocationCountry) alterados recentemente para sincronização com outros sistemas.
Solicita ao servidor que retorne o cadastro de Países alterados recentemente para sincronização com outros sistemas externos.


<center>
<center>
Linha 628: Linha 628:
|-
|-
|PROPERTY_COMMAND
|PROPERTY_COMMAND
|FINDLOCATIONLISTTOSYNC
|FINDLOCATIONCOUNTRYLISTTOSYNC
|-
|-
|PROPERTY_FINDLOCATIONLISTTOSYNC_LASTSYNCDATE
|PROPERTY_FINDLOCATIONCOUNTRYLISTTOSYNC_LASTSYNCDATE
|<Date> Data da última sincronização.
|<Date> Data da última sincronização.
|}
|}
Linha 643: Linha 643:
|-
|-
|PROPERTY_COMMAND
|PROPERTY_COMMAND
|OK_FINDLOCATIONLISTTOSYNC
|OK_FINDLOCATIONCOUNTRYLISTTOSYNC
|-
|-
|PROPERTY_FINDLOCATIONLISTTOSYNC_SYNCLIST
|PROPERTY_FINDLOCATIONCOUNTRYLISTTOSYNC_SYNCLIST
|List<Object> Retorna uma lista com todos os LocationAddressVO, LocationCityVO, LocationStateVO e LocationCountryVO cuja data de última alteração seja maior que a data recebida.
|List<LocationCountryVO> Retorna uma lista com todos os LocationCountryVO cuja data de última alteração seja maior que a data recebida.
|}
</center>
 
==== findLocationStateListToSync ====
Solicita ao servidor que retorne o cadastro de Estados alterados recentemente para sincronização com outros sistemas externos.
 
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Requisição
|-
!style="width:15%"|Propriedade
!style="width:65%"|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.
|}
</center>
 
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Retorno
|-
!style="width:15%"|Propriedade
!style="width:65%"|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.
|}
</center>
 
==== findLocationCityListToSync ====
Solicita ao servidor que retorne o cadastro de Municípios alterados recentemente para sincronização com outros sistemas externos.
 
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Requisição
|-
!style="width:15%"|Propriedade
!style="width:65%"|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.
|}
</center>
 
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Retorno
|-
!style="width:15%"|Propriedade
!style="width:65%"|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.
|}
</center>
 
==== findLocationAddressListToSync ====
Solicita ao servidor que retorne o cadastro de Municípios alterados recentemente para sincronização com outros sistemas externos.
 
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Requisição
|-
!style="width:15%"|Propriedade
!style="width:65%"|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.
|}
</center>
 
<center>
{| class="wikitable" style="width:80%;"
!scope="col" colspan="2" | Retorno
|-
!style="width:15%"|Propriedade
!style="width:65%"|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.
|}
|}
</center>
</center>

Edição das 03h54min de 4 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

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.