# 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" } ] } ``` :::