---
# System prepended metadata

title: ValidaCGR - Fluxo

---

# ValidaCGR - Fluxo
## Processo Macro
```flow
st=>start: Início
op1=>operation: 1 - Solicita Validação:>#Macro-1
cond1=>condition: 2- Solicitação
é de Início?:>#Macro-2
cond2=>condition: 3 - Fim - Pode ser
tratada?:>#Macro-3
cond3=>condition: 4 - Início - Pode ser
tratada?:>#Macro-4
op2=>operation: 5 - Fila de validação:>#Macro-5
op3=>operation: 6 - Início de
Tratamento:>#Macro-6
cond4=>condition: 7 - Necessita Apoio?:>#Macro-7
op4=>operation: 8 - Trata Validação:>#Macro-8
op5=>operation: 9 - Aciona Apoio:>#Macro-9
op99=>operation: Fim de
Tratamento
e=>end: Fim

st->op1
op1->cond1
cond1(yes)->cond3
cond1(no)->cond2
cond2(yes)->op2
cond2(no)->op99
cond3(yes)->op2
cond3(no)->op99
op2->op3
op3->cond4
cond4(yes)->op5
cond4(no)->op4
op4->op99
op5->op4
op99->e
```
## Detalhamento de Fluxo Macro
### Macro 1
Neste ponto caso a solicitação venha da página Web, o sistema mostra os dados da JM já com uma validação inicial e após a confirmação da abertura, executa as validações novamente.

### Macro 2
Sistema valida se a JM já possui registro anterior com status **OK** ou **NOK**. Se não possuir é considerada de início. 
Os valores possíveis para considerar de início são:
* nulo, não possui registros para a JM
* Inválido
* Cancelado

### Macro 3
Sistema valida se a JM já possui registro anterior com status **OK** ou **NOK**. Se possuir é considerada de fim.
Caso o valor seja **OK**, é validado se o registro anterior é de **início** ou **fim**. Caso seja de **início** e os parâmetros de horários estiverem atendidos, a validação segue para a **fila de tratamento**. Caso seja de **fim**, a validação será encerrada pois a JM já foi encerrada.
Caso o valor seja **NOK**, a validação será encerrada pois a JM não teve a abertura aceita.

### Macro 4
Neste ponto o sistema faz a validação dos parâmetros de horário, área atendida e status da JM.

### Macro 5
Neste ponto temos o tratamento em si da JM.
* Registro na fila - só pode iniciar o tratamento caso não haja executor.
* Registro na fila com executor pode ser liberado? Quem pode liberar?
    * A liberação poderá ser feita por qualquer operador do grupo registrado. O atendimento será baixado com o status **liberado** e um novo registro sem executor será adicionado à fila. 
    * Enviar relatório gerencial com os casos liberados.

## Telegram - Início
```flow
st=>start: Entrada de Início
e=>end: Fim
op=>operation: 1 - Solicita Validação:>#Passo-1
cond=>condition: Atende Critérios?
op2=>operation: 2 - Fila
op3=>operation: 3 - Erro 406


st->op->cond
cond(yes)->op2
op2->e
op3->e
cond(no)->op3

```


### validaRegistroInicio - Micro
```flow
in=>start: validaRegistroInicio()
cd1=>condition: validaGrupoTelegram()?
cd2=>condition: consultaDadosJM($registro)?
cd3=>condition: verificaAreaAtendimentoJM()?
cd4=>condition: verificaStatusTratamentoJM()?
cd5=>condition: verificaPrazoJM()?
cd6=>condition: consultaRegistroFila()?
cd7=>condition: consultaInicioStatus()?
fl=>operation: registraInicioValidacao();
e=>end: Fim

in->cd1
cd1(yes)->cd2
cd1(no)->e
cd2(yes)->cd3
cd2(no)->e
cd3(yes)->cd4
cd3(no)->e
cd4(yes)->cd5
cd4(no)->e
cd5(yes)->cd6
cd5(no)->e
cd6(yes)->cd7
cd6(no)->e
cd7(yes)->fl
cd7(no)->e
fl->e
```

### Passo 1
Telegram: TODO /inicio?
API: POST https://10.48.103.55/validaCgr/api/v1/jm/validacao/
```json=
Content-Type: application/json
{
    "acao": "inicio", 
    "usuario": "icexxx",
    "registro": "410701", //número da JM
    "grupoEntrada": "-101010",
    "perfilSolicitacao": "cliente"
}
```
Consome método Classe Valicao->trataAcaoValidacao
:::spoiler Retorno padrão
sucesso
```json=
{
    "status": "SUCESSO",
    "descricao":  "Inclusão OK",
    "posicaoFila":  1
}
```
falha
```json=
{
    "status": "ERRO",
    "descricao":  "Fim fora do prazo: xxxxxxxx"
}
```
:::

### Passo 2
Registro foi gravado na fila de atendimento e deve ser tratado por algum agente
é tratado via WEB
WEB - TODO


### Consultas
Consultas que podes ser feitas a qualquer momento, ficam fora do fluxo principal.

#### JM
Telegram: TODO /jm/{{jm}}
API: GET https://10.48.103.55/validaCgr/api/v1/jm/{{jm}}


#### Tratamento
Telegram: TODO /tratamento/{{jm}}
API: GET https://10.48.103.55/validaCgr/api/v1/jm/tratamento/{{jm}}

:::spoiler Retorno da chamada
```json=
GET {{link}}/jm/tratamento/{{jm}}}
{
  "Registro": [
    {
      "idfilaValidacao": "227",
      "tipoValidacao_idtipoValidacao": "3",
      "statusValidacao_idstatusValidacao": "6",
      "grupoTelegram_idgrupoTelegram": "4",
      "numRegistro": "410702",
      "previsaoInicio": "2020-08-10 00:00:00",
      "previsaoFim": "2020-08-10 05:30:00",
      "dataInclusaoValidacao": "2020-09-15 14:46:29",
      "dataFimValidacao": null,
      "statusValidacao_tipoValidacao": "AGUARDANDO",
      "usuarioInclusao": "ice",
      "idTipoRede": "73",
      "idtipoValidacao": "3",
      "descricaoTipoValidacao": "Inicio de valida\u00e7\u00e3o via  Telegram",
      "idTipo": "31",
      "descricaoTipo": "PLATAFORMA TV CAS",
      "valido": "S",
      "idgrupoTelegram": "4",
      "idTelegram": "-101010",
      "nomeGrupo": "teste ",
      "validacaoViaSite": "S",
      "validacaoViaTelegram": "S"
    }
  ],
  "Logs": [
    {
      "idLog": "436",
      "tipoAcao": "VALIDACAO",
      "statusAcao": "OK",
      "descricao": "Inclus\u00e3o OK",
      "dataInclusao": "2020-09-15 14:46:29",
      "operInclusao": "ice",
      "ip": "10.55.89.93",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "437",
      "tipoAcao": "VALIDACAO",
      "statusAcao": "NOK",
      "descricao": "Atendimento j\u00e1 iniciado",
      "dataInclusao": "2020-09-15 14:46:31",
      "operInclusao": "ice",
      "ip": "10.55.89.93",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "438",
      "tipoAcao": "VALIDACAO",
      "statusAcao": "NOK",
      "descricao": "Atendimento j\u00e1 iniciado",
      "dataInclusao": "2020-09-15 14:46:32",
      "operInclusao": "ice",
      "ip": "10.55.89.93",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "546",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "N\u00e3o pode ser cancelado",
      "dataInclusao": "2020-09-16 10:36:02",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "547",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "N\u00e3o pode ser cancelado",
      "dataInclusao": "2020-09-16 10:37:07",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "548",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "N\u00e3o pode ser cancelado",
      "dataInclusao": "2020-09-16 10:37:09",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "549",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:20",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "550",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:27",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "551",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:29",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "552",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:31",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    }
  ],
  "Tratamento": [
    {
      "idLog": "436",
      "tipoAcao": "VALIDACAO",
      "statusAcao": "OK",
      "descricao": "Inclus\u00e3o OK",
      "dataInclusao": "2020-09-15 14:46:29",
      "operInclusao": "ice",
      "ip": "10.55.89.93",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "437",
      "tipoAcao": "VALIDACAO",
      "statusAcao": "NOK",
      "descricao": "Atendimento j\u00e1 iniciado",
      "dataInclusao": "2020-09-15 14:46:31",
      "operInclusao": "ice",
      "ip": "10.55.89.93",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "438",
      "tipoAcao": "VALIDACAO",
      "statusAcao": "NOK",
      "descricao": "Atendimento j\u00e1 iniciado",
      "dataInclusao": "2020-09-15 14:46:32",
      "operInclusao": "ice",
      "ip": "10.55.89.93",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "546",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "N\u00e3o pode ser cancelado",
      "dataInclusao": "2020-09-16 10:36:02",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "547",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "N\u00e3o pode ser cancelado",
      "dataInclusao": "2020-09-16 10:37:07",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "548",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "N\u00e3o pode ser cancelado",
      "dataInclusao": "2020-09-16 10:37:09",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "549",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:20",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "550",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:27",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "551",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:29",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    },
    {
      "idLog": "552",
      "tipoAcao": "CANCELA",
      "statusAcao": "NOK",
      "descricao": "S\u00f3 pode ser cancelado por ice",
      "dataInclusao": "2020-09-16 10:37:31",
      "operInclusao": "",
      "ip": "10.55.89.24",
      "telegram": "-101010",
      "registro": "410702"
    }
  ]
}

```
:::


