BISModulesSocket: mudanças entre as edições

De BIS Wiki
Ir para navegação Ir para pesquisar
Sem resumo de edição
Linha 19: Linha 19:
=== Métodos de Serviço do TerminalApp ===
=== Métodos de Serviço do TerminalApp ===


==== serverTime====
==== serverTime ====
Recupera o horário do Servidor.
Recupera o horário do Servidor.


Linha 62: Linha 62:
=== Métodos de Integração com o BISCore ===
=== Métodos de Integração com o BISCore ===


==== FINDCOMPANYLIST ====
==== findCompanyList ====
Busca uma lista de empresas.
Busca uma lista de empresas.


Linha 106: Linha 106:
</center>
</center>


==== FINDUSERLIST ====
==== findUserList ====
Busca uma lista de usuários do sistema.
Busca uma lista de usuários do sistema.


Linha 146: Linha 146:




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


Linha 184: Linha 184:
=== Métodos de Integração com o BISModules ===
=== Métodos de Integração com o BISModules ===


==== REGISTERTERMINAL ====
==== 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.
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.


Linha 218: Linha 218:




==== FINDPDVITEMLISTTOSYNC ====
==== 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.
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.


Linha 255: Linha 255:




==== FINDFISCALIBPTRATIOSLISTTOSYNC ====
==== 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.
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.


Linha 292: Linha 292:




==== FINDPDVPAYMENTLISTTOSYNC ====
==== 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.
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.


Linha 322: Linha 322:
</center>
</center>


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


Linha 352: Linha 352:
</center>
</center>


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


Linha 391: Linha 391:
</center>
</center>


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


Linha 424: Linha 424:
</center>
</center>


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


Linha 454: Linha 454:
</center>
</center>


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


Linha 484: Linha 484:
</center>
</center>


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


Linha 514: Linha 514:
</center>
</center>


==== SYNCPDVCHECKOUTVOLIST ====
==== 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.
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.


Linha 547: Linha 547:
</center>
</center>


==== SYNCPDVCUPOMVOLIST ====
==== 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.
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.


Linha 580: Linha 580:
</center>
</center>


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



Edição das 04h08min 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.