# Legado PIX (CRK / Corner) - Mapa dos Frontends Angular

Analise read-only das fontes Angular do sistema legado PIX. Objetivo: inventariar telas, campos, acoes, endpoints, alcadas/permissoes e i18n para conferir paridade com o nosso PIX admin (pix-admin da Monetarie).

## Apps Angular encontrados

| App | Caminho | Estado da fonte | Papel |
|-----|---------|-----------------|-------|
| SPI (principal) | `Pix/SPI/angular/src/app` | Fonte completa (TS/HTML) | Console operacional unificado: SPI, DICT, Multiliquidacao e Contabilizacao. E o app central. |
| DICT api.angular | `Pix/DICT/api.angular/` | NAO e Angular (build .NET, so DLLs) | Deploy da API DICT (backend). Sem fonte de UI. |
| Multiliquidacao api.angular | `Pix/Multiliquidacao/api.angular/` | NAO e Angular (build .NET, so DLLs) | Deploy da API de Multiliquidacao (backend). Sem fonte de UI. |
| AdmWeb www-angular | `AdmWeb/www-angular/` | Angular BUILDADO (bundles `*-es2015.js`, sem `src/`) | Admin de seguranca/config: usuarios, grupos, alcadas, MFA, mTLS, feriados, tarifas, IFs. Features inferidas de `assets/i18n`. |

Observacao: o app SPI ja embute as telas de DICT, Multiliquidacao e Contabilizacao. Existe UM unico app Angular de fonte (SPI), que muda de "sistema" pela variavel `system` (SPI / DICT / multiliquidacao / AdmB). O AdmWeb e um app separado (buildado) para o dominio de administracao/seguranca.

## Arquitetura tecnica do app SPI

- **Roteamento por janelas (nao por URL):** `app-routing` so tem `home` + wildcard. As telas abrem como janelas Kendo (`SPIWindowStore.open(route, ...)`), mapeadas em `_shared/components/window/window.store.ts` + catalogo `routes.data.ts` (route string -> moduleId/selector, lazy `loadChildren`). Menu em `layout/menu/menu.component.html`.
- **Permissoes por funcionalidade:** cada item de menu so aparece se `loginService.funcionalidades.includes(<codigo>)`. As funcionalidades vem de `ADM_API /api/Security/GetAcessoSistema` (idSistema=4=SPI). Codigos 30xx.
- **Multi-API (9 backends), configurados em `assets/environment.json`:**

| Chave | Porta (exemplo) | Dominio |
|-------|------|---------|
| `ADM_API` | 8008 | Seguranca/usuarios/funcionalidades (AdmWeb) |
| `SPI_API` | 5000 | Motor de entrada SPI: gera pagamento/echo/devolucao/iniciacao, CAMT, REDA |
| `SPI_ANG_API` | 5120 | BFF Angular do SPI: Geral, Logs, Parametro, Report |
| `SPI_MSG_API` | 5130 | Monitoracao de mensagens: listPaginaOper, detOper, **Alcada (aprovar/rejeitar)**, MonitorTarifa |
| `SPI_SLD_API` | 5140 | Saldos: SaldoSPI, SaldoSPB, ReqSaldo, Dashboard |
| `SPI_CNT_API` | 58306 | Contabil: monitorContabil, planoconta, evento, histpadrao, centrocusto |
| `DICT_API` | 444 | DICT: entries, claims, infractionreports, refunds, limitationPolicy |
| `DICT_ANG_API` | 555 | BFF DICT: Dashboard, Indicadores, Infracao, Parametros |
| `MULTI_API` | 4000 | Multiliquidacao: consulta/ListarPix, Entrada/TratarPix/DevolvePix/CancelarPagto |

- **Auth/sessao (`layout/login/login.service.ts`):** `ADM_API`
  - `POST /api/SecurityNoAuth/IniciaSessao` (ispbif, username, password, passwordNew, origem=SPI, idSistema=4)
  - `POST /api/Security/GetAcessoSistema` -> lista de `id_funcionalidade` do usuario
  - `POST /api/Security/ChecaSessao` (renova JWT), `EncerraSessao` (logout)
  - `POST /api/SecurityNoAuth/SingleSignOn`, `GetPasswordValidators`, `GET /api/Security/LoginAAD` (**SSO Azure AD / OAuth2**, config em `app.config.oauth2.ts` + `azure.json`)
  - Trilha de alertas: `SPI_ANG_API /api/Logs/logAlertaViaTelaMsg`, `/marcarAlertasComoLidos`

---

## App SPI - Arvore de telas por area

### 1. SPI > Monitoracao

| Tela | Rota | Func | Componente | O que faz |
|------|------|------|-----------|-----------|
| Lancamentos | `lancamentos` | 3001 | `monitoracao/lancamentos` | Monitor central de operacoes/mensagens SPI. Lista, detalhe, XML, historico, **inclusao manual (pagto/echo/iniciacao), devolucao, e aprovacao/rejeicao de alcada**. |
| Integracao | `integracao` (param 1) | 3002 | `monitoracao/monitor_integracao` | Monitor de integracao com legado. |
| Nao Integradas | `integracao` (param 2) | 3003 | idem | Operacoes nao integradas ao legado. |
| Nao Processadas - Clearing | `integracao` (param 3) | 3004 | idem | Nao processadas na clearing. |
| Arquivos | `monitorArquivos` | 3035 | `monitoracao/monitor_arquivos` | Monitor de arquivos (download via `Logs/downloadArquivo`). |
| Tarifas | `mon_tarifas` | 3005 | `monitoracao/tarifas/monitor-tarifas` | Monitor de tarifas (`SPI_MSG_API /api/MonitorTarifa/listPaged`). |
| RCO | `mon_tir` | 3043 | `monitoracao/tarifas/monitor-tir-rco` | Monitor RCO/TIR (`Logs/demonstrativoTIR`, `totalTIR`, `Geral/PagaTIRParticipante`). |
| Log | `monitorlog` | 3032 | `monitoracao/monitor_log` | Monitor de log de atividade (`Logs/listLogAtividade`, `addLogAtividade`). |
| Sub: Editar Lancamento | `editlancamentos` | - | `lancamentos/edit` | Inclusao/edicao de lancamento manual. |
| Sub: Historico | `histlancamentos` | - | `lancamentos/hist` | Historico do lancamento. |
| Sub: Detalhe XML | `detxml` | - | `lancamentos/detxml` | XML bruto da mensagem. |
| Sub: XML Traduzido | `detxmltraduzido` | - | `lancamentos/detxmltraduzido` | XML traduzido (`Geral/traduzXML`). |

### 2. SPI > Relatorios

| Tela | Rota | Func | Endpoint principal |
|------|------|------|--------------------|
| Relatorios Genericos | `relatorios` | 3006 | `SPI_ANG_API /api/Report/geraDadosReport`, `gravaLayout`, `listLayout`, `getExcel` (relatorio configuravel por layout) |
| Extrato | `extrato` | 3037 | `SPI_ANG_API /api/Report/Extrato/{idIF}/{ini}/{fim}/{origem}/{tipo}/{ispb}/{cpfcnpj}` |
| Por Participante | `operparticipante` | 3038 | `SPI_ANG_API /api/Report/OperacaoPorParticipante/...` |
| Pagamento de QR Code | `qrcodereport` | 3039 | `SPI_ANG_API /api/Report/PagamentoQrCode/...` |
| Tempo de Resposta | `temporsprecebedor` | 3040 | `SPI_ANG_API /api/Report/TempoRespostaRecebedor/...` |
| Estatistica | `estatistica` | 3041 | `SPI_ANG_API /api/Report/Estatistica/...` |

### 3. SPI > Saldos

| Tela | Rota | Func | O que faz / endpoint |
|------|------|------|----------------------|
| Detalhamento de Saldo | `saldos` | 3009 | `SPI_SLD_API /api/SaldoSPI/find/{idIF}/{data}` (saldo PI) e `SaldoSPB/refresh/{idIF}/{data}` (saldo reserva). |
| Solicitar Credito de Saldo | `solicitacao_saldo_cred` (tipo 1) | 3010 | `SPI_SLD_API /api/ReqSaldo/add` (idTipoRequisicao=credito) - LDL/aporte para a Conta PI. |
| Solicitar Debito de Saldo | `solicitacao_saldo_deb` (tipo 2) | 3011 | `ReqSaldo/add` (debito) - retirada da Conta PI para a Reserva. |
| Solicitar Aporte de Liquidez | `solicitacao_saldo_aporte` (tipo 3) | 3012 | `ReqSaldo/add` (aporte de liquidez / LPI, campo `finlddLPI`). |
| Sub: Parametrizacao de Saldos | `saldos_parametrizacao` | - | Parametros de saldo (grupo saldo, previsoes). |
| (Solicitacao lista) | - | - | `ReqSaldo/listPaginaReqSaldo` (historico das solicitacoes). |

Campos de `ReqSaldo/add`: idInstFinanc, idFilialInst, dtMovto, idTipoMsg, idTipoRequisicao, vlr, finlddLPI (finalidade LPI), idUsuario, ispbVinculado.

### 4. SPI > Parametrizacoes

| Tela | Rota | Func | O que faz / endpoint |
|------|------|------|----------------------|
| **Alcadas** | `alcadas` | 3033 | CRUD de alcadas (`SPI_ANG_API /api/Parametro/listParamAlcadas`, `manAlcada`, `removerAlcadas`, `listCamposFiltroAlcada`). Detalhe abaixo. |
| Notificacoes (Alertas) | `alertas` | 3034 | Parametrizacao de alertas por mensagem/usuario (`Parametro/listParamAlerta`, `manParamsAlerta`, `removeParamAlerta`). |
| Tarifas | `param_tarifas` | 3014 | Parametros de tarifa (`Parametro/listParamTarifas`, `manTarifa`). |
| Legados | `legados_parametrizacao` | 3033 | Parametrizacao de integracao com sistemas legados. |
| Participantes | `participantes` | 3033 | Participantes indiretos (`geral/listPartIndireto`, `manPartIndireto`, `excPartIndireto`). |
| Parametrizacoes Gerais | `parametrizacoes` | 3033 | Parametros gerais do sistema (`Parametro/list`, `atualiza`). |

### 5. SPI > Contabilizacao (`SPI_CNT_API`)

| Tela | Rota | O que faz / endpoint |
|------|------|----------------------|
| Cadastro > Plano de Contas | `spi-plano-contas` | `planoconta/ListaConta`, `IncluiConta`, `AlteraConta/{id}`, `ExcluiPlano/{id}` |
| Cadastro > Historico Padrao | `spi-historico-padrao` | `histpadrao/ListaHist`, `IncluiHist`, `AlteraHist/{id}`, `ExcluiHist/{id}` |
| Cadastro > Centro de Custo | `spi-centro-custo` | `centrocusto/Lista`, `Inclui`, `Altera/{id}`, `Exclui/{id}` |
| Cadastro > Eventos Contabeis | `spi-eventos-contabeis` | `evento/ListaEvento`, `IncluiEvento`, `AlteraEvento/{id}`, `ExcluiEvento/{id}` |
| Monitor > Monitor Contabil | `spi-monitor-contabil` | `monitorContabil/MonitorListar` (por empresa/data/evento/cdMsg/conta deb/cre) + `BaixaArquivo` (gera arquivo contabil por layout). |

---

## App SPI - Modulo DICT (embutido)

### DICT > Monitoracao

| Tela | Rota | Func | Endpoint (DICT_API) |
|------|------|------|---------------------|
| Chaves | `monitorChaves` | 3046 | `entries/ListaChaves`, `ConsultaChave`, `IncluiChave` (POST), `AlteraChave` (PUT), `ExcluiChave` (DELETE), `Sincronismo`. Sub: detalhe e editar chave. |
| Devolucoes | `monitorDevolucao` | 3058 | `refunds/ListarDevEspecial`, `IncluiDevEspecial`, `ConsultarDevEspecial`, `FecharDevEspecial`, `CancelarDevEspecial`. Sub: incluir/detalhe/fechar. |
| Indicadores | `monitorIndicadores` | 3067 | `DICT_ANG_API /api/Indicadores/Amostras` (indicadores anti-fraude/limitacao). |
| Reivindicacoes | `monitorReivindicacao` | 3050 | `claims/ListaReivindicacaoBacen`, `ReivindicaChave`, `ConfirmaReivindicacao`, `CancelaReivindicacao`, `ConcluiReivindicacaoPosse/Portabilidade`, `ConsultaReivindicacaoChave`. Sub: incluir/detalhe. |
| Relatos de Infracao | `monitorInfracao` | 3054 | `infractionreports/ListaInfracoes`, `IncluirInfracao`, `ConsultarInfracao`, `Fechar`, `Cancelar`. Sub: incluir/detalhe/fechar. |
| Politica de Limitacao | `dictpoliticas` | 3069 | `limitationPolicy/ListaPoliticas`, `ConsultaPolitica`. |

### DICT > Relatorios

| Tela | Rota | Func |
|------|------|------|
| Chaves | `relatorioChaves` | 3063 |
| Devolucoes | `relatorioDevolucao` | 3064 |
| Reivindicacoes | `relatorioReivindicacao` | 3065 |
| Relatos de Infracao | `relatorioInfracao` | 3066 |

### DICT > Parametrizacoes

| Tela | Rota | Func | Endpoint |
|------|------|------|----------|
| Parametrizacoes Gerais | `dictparametrizacao` | 3073 | `DICT_ANG_API /api/Parametros/Listar`, `Alterar` |

DICT Dashboard (component, sem entrada de menu direta): `DICT_ANG_API /api/Dashboard/Indicadores`, `InfracoesEmAbertoQtde`, `Sincronismo`.

---

## App SPI - Modulo Multiliquidacao (embutido)

### Multiliquidacao > Monitoracao

| Tela | Rota | Func | Endpoint (MULTI_API) |
|------|------|------|----------------------|
| Pix Saque e Troco | `multiMonitorPixSaquePixTroco` | 3045 | `consulta/ListarPixSaquePixTroco`. |
| Operacoes | `multiMonitorOperacao` | 3068 | `consulta/ListarPix` (filtros por data, SPB, agencia, conta, idOperacao, idFimAFim, conciliacao, chave recebedor). Acoes: **incluir/tratar Pix** (`Entrada/TratarPix`), **cancelar** (`Entrada/CancelarPagto`), **devolver** (`Entrada/DevolvePix`). Sub: detalhe, incluir, devolucao. |

`Entrada/TratarPix` e uma tela rica de iniciacao de PIX (QR, prioridade, payload, valores por tipo, pagador/recebedor completos, agendamento, iniciador de pagamento, modalidade agente/prestador de saque, razoes de devolucao).

### Multiliquidacao > Parametrizacoes

| Tela | Rota | Func | Endpoint |
|------|------|------|----------|
| Parametros de Sistema | `multiparametrizacao` | 3075 | `MULTI_API /api/geral/ListarGrupo`, `AlterarParametro`. |

---

## Alcadas / Permissoes (o ponto mais importante para paridade)

Ha DOIS niveis de permissao/aprovacao:

### A) Permissao de acesso (funcionalidades)
- Cada usuario tem um vetor `funcionalidades` (codigos 30xx) vindo de `ADM_API /api/Security/GetAcessoSistema`.
- O menu inteiro e gated por `funcionalidade.includes(codigo)`. Ou seja, a autorizacao de tela e por funcionalidade, administrada no AdmWeb (Cadastro de Usuarios/Grupos + Configuracao de Sistemas).

### B) Alcada de valor (aprovacao de operacao / "vistos")
Modelo completo de alcada (`parametrizacoes/alcadas` + `alcadas.service.ts` + `create-edit.component.ts`):

**Parametrizacao da alcada (`manAlcada`):**
- `nmAlcada` (nome), `idInstFinanc`
- `periodo` (dia/janela), `nrQtdeVistos` (**quantos aprovadores/"vistos" sao exigidos** - suporta N niveis)
- **Escopo de quem cai na alcada:** `usuariosAlcada[]`, `gruposAlcada[]`, `sistemasAlcada[]` (sistemas legados)
- **Aprovadores:** `usuariosAprovadores[]`, `gruposAprovadores[]`
- **Limites de valor:** `vlrMinimo`, `vlrMaximo`, `vlrDiario`
- **Janela de verificacao:** `hrInicioVerificacao`, `hrFimVerificacao`
- `ativa` (bool)
- **Mensagens + excecoes:** por codigo de mensagem, com filtros de campo (`listCamposFiltroAlcada/{cdMsg}`) e operadores: igual, diferente, maior, maior/igual, menor, menor/igual, contem, nao contem. Ou seja, alcada configuravel por regra sobre campos da mensagem.

**Aprovacao/rejeicao da operacao (na tela Lancamentos, `SPI_MSG_API /api/Alcada`):**
- `aprovarAlcada(idsOperacoes[], dsVisto)` - aprova em lote, com texto do "visto".
- `rejeitarAlcada(idsOperacoes[], dsVisto)` - rejeita em lote.
- `detAlcada(idOperacao)` - detalhe/status dos vistos de uma operacao.

**AdmWeb "Monitor de Vistos de Alcadas" (MonVistos):** tela dedicada de aprovacao com colunas Ag/Conta Debitada, Ag/Conta Creditada, NumCtrlIF, Valor, Vistos, Status (Autorizada/Rejeitada/Pendente), "Ted Coincidente"; acoes Autorizar/Rejeitar (individual e **em lote**) e Imprimir XMLs. E o mesmo fluxo de alcada, com telas tanto no SPI (Lancamentos) quanto no AdmWeb (MonVistos + CadAlcada + Vistos de Alcadas).

---

## App AdmWeb (buildado) - features inferidas de assets/i18n

Confirmado por `assets/i18n/pt-BR.json` (secao `Adm`, `CadAlcada`, `MonVistos`, `titleMTLS`, `MFA`, `InstFinanc`, `Feriados`, `CadGer`, etc). E o admin de seguranca/config do ecossistema.

- **Seguranca/Usuarios:** Cadastro de Usuarios, Grupos, Empresas, Filiais, Filas, Legados; Usuarios Conectados; Revogacao de Usuarios; Restricoes/Configuracao de Senhas; **MFA** (enrollment por QR + OTP); Operacoes Pendentes; Configuracao de Sistemas (mapeia funcionalidades por sistema); Configuracoes Gerais/Especiais; LOG Bacen; Configurar E-Mails/Arquivos/URLs/Conexoes.
- **Alcadas (AdmWeb):** Cadastro de Alcadas, Vistos de Alcadas, Monitor de Vistos de Alcadas (Autorizar/Rejeitar individual e em lote, Imprimir XMLs).
- **mTLS:** Destinos Autorizados, Origens Autorizadas, Certificados Autorizados, Certificados para Envio (gestao de certificados de comunicacao RSFN/BACEN).
- **Cadastros:** Instituicoes Financeiras (ISPB, Cod Banco, Cod Compensacao, Cod SISBACEN, ativa/inativa), Feriados (movel/fixo), Cadastros Gerais (compulsorio, reserva tecnica, previsao de operacao, grupo saldo), Tarifas (CadTarifas, MonTar), Grade de Horarios, Avisos, Alertas (Redesconto, Devolucao).
- **Relatorios/Exportacoes** e ajuda contextual (Reserva, DDA, Monitores, Tarifas, Cadastros, Relatorios, MTLS, Exportacoes).

---

## i18n

- **Idiomas (ambos os apps, 4):** `pt-BR`, `en-US`, `es-ES`, `fr-FR` (em `assets/i18n/`).
- **SPI** (chaves reveladas): Saldos (Slds), Cabecalho, Nao Processadas, Cadastro de Eventos, Consulta de Historico, Abertura/Fechamento, Grade de Horarios, Circular 3290, Auto Consultas/Mensagens, Instituicao Financeira, Exportacao de Movimento/Plano TED, Atualizacao de Dominios/Saldo, Mensageria, Desdobramento, Cadastro Gerente, Agencia, Import XML, Reproc(essamento), Relatorios; helps de Reserva/DDA/Monitores/Cadastros/Relatorios/Exportacoes.
- **AdmWeb** (superset): tudo acima + DesdAut, IfsOperantesCip, MonTar (Monitor Tarifas), Rastreamento, AlertaRedesconto, AlertaDevolucao, Avisos, CadTarifas, Alertas, Feriados, CadTarifaTIB, StatusOper, **MonVistos**, **CadAlcada**, titleMTLS, **MFA**, **Adm** (menu completo de administracao). Confirma que AdmWeb concentra seguranca, alcada, mTLS, feriados, tarifas e MFA.

---

## Funcionalidades mais relevantes para conferir paridade no PIX admin (Monetarie)

Com enfase em alcadas, monitoracao de operacoes, parametrizacoes e saldos:

1. **Alcada de valor com N vistos (aprovacao multi-nivel):** parametrizacao por valor (min/max/diario), janela de horario, escopo por usuario/grupo/sistema, aprovadores por usuario/grupo, **regras por campo de mensagem com operadores** (igual/maior/contem/...). Conferir se temos alcada configuravel assim.
2. **Monitor de Vistos / fluxo Aprovar-Rejeitar em lote com "visto":** tela de operacoes pendentes com Autorizar/Rejeitar individual e em lote, texto de justificativa, status Pendente/Autorizada/Rejeitada, Imprimir XML. Conferir se o pix-admin tem workflow de aprovacao de operacoes.
3. **Monitor de Lancamentos/Operacoes SPI:** lista rica com filtros (IF, filial, data/hora, valor de/ate, codigos de mensagem, status, finalidade, natureza, CPF/CNPJ, ISPB, txId, E2E, texto generico) + detalhe + XML bruto + XML traduzido + historico + export Excel.
4. **Monitor de Operacoes Multiliquidacao (Pix):** ListarPix por SPB/agencia/conta/E2E/chave recebedor; incluir (TratarPix), **cancelar** e **devolver** operacao pela tela.
5. **Detalhamento e Solicitacao de Saldo da Conta PI:** ver Saldo PI x Saldo Reserva (SPB); solicitar Credito, Debito e Aporte de Liquidez (LDL/LPI) pela tela, com historico das requisicoes.
6. **Devolucao de PIX pela tela (SPI e Multi):** devPagto / DevolvePix com returnReasonCode + info adicional; monitor de devolucoes DICT (dev especial: incluir/consultar/fechar/cancelar).
7. **DICT - Chaves:** consultar/incluir/alterar/excluir chave + **Sincronismo** com o BACEN pela tela.
8. **DICT - Reivindicacoes (claims):** ciclo completo (reivindicar, confirmar, concluir posse/portabilidade, cancelar) pela tela.
9. **DICT - Relatos de Infracao e Politica de Limitacao:** incluir/consultar/fechar/cancelar infracao; consultar politicas de limitacao. (Alinha com MED/infracao do nosso PIX.)
10. **Monitor de Integracao (Integradas / Nao Integradas / Nao Processadas-Clearing):** visibilidade de operacoes que nao integraram ao core/legado - equivalente ao nosso monitor de DLQ / stuck outbound.
11. **Parametrizacao de Alertas/Notificacoes por mensagem+usuario** e **Tarifas** (parametro + monitor + RCO/TIR).
12. **Contabilizacao SPI:** Plano de Contas, Historico Padrao, Centro de Custo, Eventos Contabeis e **Monitor Contabil** (com baixa de arquivo por layout) - espelha o nosso COSIF/monitor contabil.

Extras a checar (admin/seguranca, hoje no AdmWeb): usuarios/grupos + **funcionalidades por sistema** (autorizacao de tela), **MFA (OTP/QR)**, **gestao de certificados mTLS** (destinos/origens/certificados autorizados e de envio), Instituicoes Financeiras, Feriados, grade de horarios, teste de conectividade (addEcho), status de workers e certificados (dashboard).
