Base de Conhecimento de Gestão Comercial de Saneamento

A maior base de documentação de GSAN do mercado mantida pela Consenso Tecnologia

Ferramentas do usuário

Ferramentas do site


casos_de_uso:postgres:arrecadacao:uc1678:menu

[UC1678] - Registrar Movimento Cartão de Débito EEVD

Este caso de uso permite o registro do movimento de cartão de crédito/débito.


Ator: Usuário da Divisão de Arrecadação (complexo (1)).
Prioridade: Essencial.
Pré-condição: Existência do arquivo de movimento de arrecadador.
Pós-condição: Movimento de Arrecadador Registrado.
Complexidade: Complexo (1).
Histórico de Alterações:

Data Analista Descrição da Alteração
27/03/2015 Vivianne Sousa Versão Inicial

Diagrama do caso de uso

PlantUML Graph

Fluxo Principal:

  1. O sistema recebe os seguintes parâmetros do caso de uso que chamou esta funcionalidade:
    1. Arrecadador
    2. Arquivo de movimento de arrecadador
  2. O sistema distribui e valida o header e trailer do arquivo de movimento de arrecadador.
    [SB0001 - Distribuir e Validar o Header e Trailer do arquivo];
  3. O sistema insere o movimento do arrecadador.
    [SB0002 - Inserir o movimento do arrecadador];
  4. A partir do segundo e para cada registro guardado na coleção, o sistema:
    1. Atribui o valor OK ao campo Descrição da Ocorrência do Movimento;
    2. Atribui o valor 1 (SIM) ao Indicador de Aceitação do Registro do Movimento;
    3. Caso o tipo de registro = 05 (D01 = 05), o sistema distribui os dados do conteúdo do registro de movimento do arrecadador,
      [SB0004 - Distribuir Dados do Registro de Movimento de Cartão];
    4. Insere a sequência do cartão
      [SB0007 - Inserir sequencia do cartão];
    5. Confirma as operações efetuadas no banco de dados
      [FS0002 - Verificar sucesso da transação].


Subfluxo:

[SB0001] - Distribuir e Validar o Header e Trailer do arquivo

O sistema distribui os dados do conteúdo do registro código 00 do movimento do arrecadador:

Coluna Tam. Tipo Descrição do campo
A01 2 Num. Tipo de registro
A02 9 Num. Nº de filiação da matriz ou grupo comercial
A03 8 Num. Data de emissão
A04 8 Num. Data de movimento
A05 39 Alfa Movimentação Diária - Cartões de Débito
A06 8 Alfa Rede
A07 26 Alfa Nome comercial do estabelecimento
A08 6 Num. Sequência de movimento
A09 15 Alfa Tipo de processamento (Diário/Reprocessamento)
A10 20 Alfa Versão do arquivo (V1.04 – 07/10 – EEVD)
  • 2. Caso o código do registro (campo A01) não corresponda a 00, exibir a mensagem: Arquivo de Movimento de Arrecadador sem Header e encerrar o caso de uso.
  • 3. O sistema seleciona o estabelecimento matriz que corresponda ao da empresa que está recebendo o arquivo (ARCT_NNCONTRATO da tabela ARRECADACAO.ARRECADADOR_CONTRATO com ARRC_ID = ARRC_ID do arrecadador selecionado e com ARFM_ID = id correspondente a Cartão de Débito)
    • 3.1. Caso não exista ARCT_NNCONTRATO, exibir a mensagem: Arrecadador informado não possui contrato de Cartão de Débito e encerrar o caso de uso.
    • 3.2. Caso (campo A02) diferente do ARCT_NNCONTRATO, exibir a mensagem: Número do contrato inválido e encerrar o caso de uso.
  • 4. O sistema verifica se o arquivo já foi processado, verificando se a sequência do arquivo já está na tabela de registros (SEQUENCIA (A08) existe na tabela ARRECADACAO.SEQUENCIA_CARTAO com SEQU_NNNSA = SEQUENCIA (A08) e com ARFM_ID = id correspondente a Cartão de Débito).
    • 4.1. Caso exista o sistema exibe a mensagem: Arquivo já processado e encerrar o caso de uso.
  • 5. O sistema lê o arquivo de movimento de arrecadador sequencialmente até encontrar o registro código 04, contando a quantidade total registros e guardando os registros código 05 lidos em uma coleção.
    [FS0001 - Verificar a existência do registro código 04].
  • 6. O sistema distribui os dados do conteúdo do registro 04 do movimento do arrecadador:
Coluna Tam. Tipo Descrição do campo
Z01 2 Num. Tipo de registro
Z02 9 Num. Nº de filiação da matriz ou grupo comercial
Z03 6 Num. Quantidade de Resumos de Vendas
Z04 6 Num. Quantidade de Comprovantes de Vendas
Z05 15 9(13)V99 Total bruto
Z06 15 9(13)V99 Total desconto
Z07 15 9(13)V99 Total líquido
Z08 15 9(13)V99 Valor bruto pré-datado
Z09 15 9(13)V99 Desconto pré-datado
Z10 15 9(13)V99 Líquido pré-datado
Z11 6 Num. Total de registros no arquivo
  • 7. Caso a quantidade total de registros não seja igual ao total de registros do arquivo (campo Z(11)) exibir a mensagem: Total de registros do arquivo de movimento inválido e encerrar o caso de uso.


[SB0002] - Inserir Movimento do Arrecadador

O sistema insere os dados dos registros códigos 00 e 04 na tabela ARRECADACAO.ARRECADADOR_MOVIMENTO com os seguintes valores:

ARMV_ID Id do movimento gerado pelo sistema
ARMV_DTGERACAO Data corrente
ARMV_NNNSA Sequencia do movimento (Campo A08)
ARMV_CDCONVENIO Campo A02
ARMV_NMEMPRESA Campo A07
ARMV_CDBANCO Código agente do arrecadador (ARRC_CDAGENTE da tabela ARRECADACAO. ARRECADADOR com ARRC_ID = ARRC_ID selecionado/informado)
ARMV_NNVERSAOLAYOUT 1
ARMV_CDREMESSA 1
ARMV_NMBANCO CLIE_NMCLIENTE da tabela CADASTRO.CLIENTE com CLIE_ID = CLIE_ID da tabela ARRECADACAO.ARRECADADOR com ARRC_ID = ARRC_ID selecionado/informado
ARMV_DSIDENTIFICACAOSERVICO Campo A05
ARMV_NNREGISTROSMOVIMENTO Campo Z11 Número total de registros, não inclui header e trailler
ARMV_VLTOTALMOVIMENTO Somatório dos valores contidos nos campos D05 - Valor bruto dos registros tipo 05
ARMV_TMULTIMAALTERACAO Data e hora correntes


[SB0003] - Inserir o item de movimento do arrecadador

  1. Insere o item de movimento do arrecadador na tabela ARRECADACAO.ARRECADADOR_MOVIMENTO_ITEM com os seguintes valores:
AMIT_ID Id do item de movimento do arrecadador, gerado pelo sistema.
RGCD_ID RGCD_ID da tabela ARRECADACAO.REGISTRO_CODIGO com RGCD_CDREGISTROCODIGO igual ao código do registro
AMIT_CNREGISTRO Conteúdo do movimento com 200 posições
ARMV_ID Id do movimento
AMIT_DSOCORRENCIA Descrição da Ocorrência do Movimento
AMIT_ICACEITACAO Indicador de Aceitação do Registro do Movimento
AMIT_TMULTIMAALTERACAO Data e hora correntes
IMOV_ID Nulo
  • 1.1. Caso a descrição da ocorrência do movimento seja igual a Número do cartão de débito não localizado,
    [SB0006 - Inserir o movimento do cartão rejeitado].


[SB0004] - Distribuir Dados do Registro de Movimento de Cartão.

  1. O sistema distribui os dados do conteúdo do registro 05 do movimento do arrecadador:
Coluna Tam. Tipo Descrição do campo
D01 2 Num. Tipo de registro
D02 9 Num. N.º de filiação do Ponto de Venda
D03 9 Num. N.º do Resumo de Vendas
D04 8 Num. Data do CV (DDMMAAAA)
D05 15 9(13)V99 Valor bruto (para o Compre e Saque, este campo será composto pelo Valor da Compra + Valor do Saque)
D06 15 9(13)V99 Valor desconto
D07 15 9(13)V99 Valor líquido
D08 19 Alfa Número do cartão
D09 1 Alfa Tipo de transação
D10 12 Num. Número do CV
D11 8 Num. Data do crédito
D12 2 Num. Status da transação (01 – acatada)
D13 6 Num. Hora da transação (HHMMSS)
D14 8 Alfa Número do terminal
D15 2 Num. Tipo de captura
D16 5 Num. Reservado
D17 15 9(13)V99 Valor da compra (para o Compre e Saque)
D18 15 9(13)V99 Valor do saque (para o Compre e Saque)
D19 1 Alfa Bandeira
D20 7 Num. Código da autorização
  • 2. O sistema verifica se o registro informado é válido para o movimento corrente.
    • 2.1. Caso o número do cartão não esteja informado (Campo D(08) com valor igual a zeros ou espaços), o sistema deverá desprezar o registro atribuindo à descrição da ocorrência a informação: (Número do cartão não informado).
    • 2.2. Caso a data da transação de cartão de crédito não seja válida para o sistema de arrecadação atual (Campo D(04) menor que constante de data de implantação do sistema GSAN (PARM_DTIMPLANTACAOSISTEM da tabela CADASTRO.SISTEMA_PARAMETROS)), o sistema não deverá registrar o registro e atribuir à descrição da ocorrência a informação: (Transação efetuada no sistema anterior).
    • 2.3. Caso o status da transação seja diferente de acatada (Campo D(12) com valor diferente 01), o sistema deverá desprezar o registro e atribuir à descrição da ocorrência o valor do conteúdo do campo.
    • 2.4. Caso Contrário, o sistema deverá validar as informações do registro no cartão de débito.
      • 2.4.1. O sistema deverá comparar o campo com a numeração do cartão de débito (Campo D(08)), após a criptografia do mesmo, com o valor do cartão informado na confirmação do pagamento por cartão de débito (a partir da tabela ARRECADACAO.PAGAMENTO_CARTAO_DEBITO onde PACC_NNNUMEROCARTAOCREDITO = numeração do cartão de débito, PACD_ICCONFIRMADOOPERADORA = 2 , PACD_VLPAGAMENTOS >= (Valor informado pela operadora (Campo D(05)) – 0,03)) e PACD_VLPAGAMENTOS ⇐ (Valor informado pela operadora (Campo D(05)) + 0,03)).
      • 2.4.2. Caso o número tenha sido encontrado, o sistema deverá atualizar a confirmação do recebimento da operadora de cartão de débito (ARRECADACAO.PAGAMENTO_CARTAO_DEBITO):
PACD_ID Id do cartão confirmado
PACD_ICCONFIRMADOOPERADORA Indicador de Confirmação (atualizar com valor 1 (Sim)).
PACD_DTCONFIRMADOOPERADORA Data da Confirmação (Campo D(04))
PACD_VLCONFIRMADOOPERADORA Valor informado pela operadora (Campo D(05))
PACD_TMULTIMAALTERACAO Data e Hora correntes
      • 2.4.3. Caso Contrário, o número não tenha sido encontrado e atribuir à descrição da ocorrência a informação:“Número do cartão de débito não localizado” e não aceitar o registro.
    • 2.5. Atribuir a Descrição da Ocorrência do Movimento à Descrição da Ocorrência do Movimento deste caso de uso;
    • 2.6. Atribuir o Indicador de Aceitação do Registro do Movimento ao Indicador de Aceitação do Registro do Movimento deste caso de uso;
    • 2.7. O sistema insere o item de movimento do arrecadador
      [SB0003 - Inserir o item de movimento do arrecadador].
    • 2.8. O sistema deverá atualizar as informações de recebimento no aviso bancário correspondente
      [SB0005 - Processar Pagamento Cartão de Débito].


[SB0005] - Processar Pagamento Cartão de Débito

  1. Atribuir Cartão de Débito à Descrição da Ocorrência do Movimento deste caso de uso;
  2. Atribuir Sim ao Indicador de Aceitação do Registro do Movimento;
  3. Caso o Indicador de Aceitação do Registro do Movimento corresponda a 1 (SIM), o sistema:
  4. Seleciona o aviso bancário e atualiza o valor da arrecadação e valor realizado conforme descrito abaixo: (a partir da tabela ARRECADACAO.AVISO_BANCARIO onde AVBC_DTLANCAMENTO = Campo D11 (Data do crédito), ARFM_ID que tenha o ARFM_CDARRECADACAOFORMA= Cartão de Débito, (AVBC_DTPREVISTA = Campo D11 (Data do crédito) ou AVBC_DTREALIZADA = Campo D11 (Data do crédito)) , (AVBC_VLARRECADACAOCALCULADO com o valor zero ou com ARMV_ID com o id do movimento que está sendo processado) e ARRC_ID = ARRC_ID da tabela ARRECADACAO.ARRECADADOR onde ARRC_CDAGENTE = código agente do arrecadador inserido.
AVBC_VLARRECADACAOINFORMADO Adiciona o valor bruto do pagamento
AVBC_VLREALIZADO Adiciona o valor bruto do pagamento


[SB0006] - Inserir o movimento do cartão rejeitado

O sistema insere o movimento do cartão rejeitado na tabela ARRECADACAO.MOVIMENTO_CARTAO_REJEITA com os seguintes valores:

MCRE_ID Id gerado pelo sistema
MCRE_NNCARTAO Numero do cartão
MCRE_DTCOMPRA Data em que o cliente realizou a compra
MCRE_VLVENDA Valor da venda
MCRE_NNPARCELA 1
MCRE_NNPARCELADEBITO 1
AMIT_ID Id do item do movimento do arrecadador
MCRE_TMULTIMAALTERACAO Data e hora correntes


[SB0007] - Inserir sequencia do cartão

O sistema insere a sequência do cartão na tabela ARRECADACAO.SEQUENCIA_CARTAO com os seguintes valores:

SEQU_ID Id gerado pelo sistema
SEQU_NNNSA Sequencia do movimento (Campo A08)
ARRC_ID Arrecadador
SEQU_TMULTIMAALRERACAO Data e hora correntes
SEQU_CDOPCAOEXTRATO 1
ARFM_ID Id correspondente a Cartão de Débito


Fluxo Secundário:

[FS0001] - Verificar a existência do registro 04

Caso até o final do arquivo não seja encontrado o registro código 04 ou, antes do fim do arquivo seja encontrado outro registro código 00 exibir a mensagem: Arquivo de Movimento Não Possui o registro código 04 (Total do Arquivo) e encerrar o caso de uso.


[FS0002] - Verificar sucesso da transação

  • Caso o código de retorno da operação efetuada no banco de dados seja diferente de zero, exibir a mensagem conforme o código de retorno e encerrar o caso de uso.


Referências

Registrar Movimento Cartão de Débito EEVD

Termos Principais

casos_de_uso/postgres/arrecadacao/uc1678/menu.txt · Última modificação: 01/08/2018 12:58 por tadeu.sarmento