| Produto: | |
|---|---|
| Linha de Produto: | |
| Segmento: | |
| Módulo: | |
| Função: | WSJurConsultas.PRW jurconsultas.service.ts custom-fields.component.ts |
| País: | Brasil |
| Ticket: | |
| Requisito/Story/Issue (informe o requisito relacionado) : |
Foi identificado que, em algumas Consultas Padrão, utilizadas via TJD, os usuários precisam preencher campos auxiliares adicionais em tela (como Banco, Agência e Conta) a partir de dados retornados pela consulta. Porém esses dados são apenas concatenados no label do campo, deixando a visualização poluída e pouco usável.
Atualmente, o cliente configura múltiplos campos de origem (ex.: A2_BANCO, A2_AGENCIA, A2_CONTA) no 3º parâmetro da JURSXB, e o sistema monta um único label com todas as informações, o que dificulta a leitura e não permite preencher automaticamente os campos de destino do cadastro (ex.: NT3__BANCO, NT3__AGENC, NT3__CONTA).
Diante disso, surgiu a necessidade de padronizar uma forma de a Consulta Padrão informar ao TJD quais campos adicionais devem ser retornados, e em quais campos do formulário esses valores deverão ser aplicados, por meio de uma estrutura de De/Para que permita ao endpoint retornar esses dados extras para os Campos Customizados.
Para tanto, implementamos uma nova regra na Consulta Padrão para permitir o retorno de campos adicionais vinculados à consulta, de forma parametrizada, contemplando o cenário em que o TJD consome essas informações para preenchimento automático de campos auxiliares em tela.
Criamos uma nova estrutura de dicionário/tabela (O1K) para registrar o De/Para dos campos, onde passamos a identificar para cada registro: (i) qual é a Consulta Padrão utilizada; (ii) qual é a tela/rotina de origem; e (iii) quais são os campos de origem e de destino que devem participar do mapeamento, garantindo que, quando houver configuração, esses campos sejam incluídos automaticamente no SELECT e retornados no payload da API.
Adaptamos o endpoint responsável pela consulta para que, ao montar o response, retorne os valores mapeados na nova estrutura dentro de um objeto de “extras”, por exemplo: “extras”: { “NT3__AGENC”: “033”, “NT3__CONTA”: “555”, ... }), permitindo que o componente de Campos Customizados aplique o patchValue nesses campos de destino e elimine a dependência da concatenação excessiva de informações no label da consulta.
Estrutura de dicionário e tabela O1K - De\Para de Campos Customizados:
| XB_ALIAS | XB_DESCRI |
|---|---|
| O1K | De\Para de Campos Customizados |
| X3_ARQUIVO | X3_ORDEM | X3_CAMPO | X3_TIPO | X3_TAMANHO | X3_TITULO | X3_DESCRIC | X3_VALID | X3_RELACAO |
|---|---|---|---|---|---|---|---|---|
| O1K | 01 | O1K_FILIAL | C | 8 | Filial | Filial do Sistema | ||
| O1K | 02 | O1K_COD | C | 10 | Código | Código | GETSXENUM"O1K","O1K_COD") | |
| O1K | 03 | O1K_ENTIDA | C | 3 | Entidade | Entidade/Rotina | ||
| O1K | 04 | O1K_CONPAD | C | 6 | Consulta Padrão | Consulta Padrão | ||
| O1K | 05 | O1K_ORIGEM | C | 10 | Campo de Origem | Campo de Origem | ||
| O1K | 06 | O1K_DESTIN | C | 10 | Campo de Destino | Campo de Destino |
| INDICE | ORDEM | CHAVE | DESCRICAO |
|---|---|---|---|
| O1K | 1 | O1K_FILIAL+O1K_COD | Código |
| O1K | 2 | O1K_FILIAL+O1K_CONPAD+O1K_ENTIDA | Consulta Padrão + Entidade |