---
title: Refatoração do Controle de SLA
slug: cit-9/refatoracao-do-controle-de-sla
description: This document discusses the changes made to the time parameterization of SLA for Tickets and Problems, including the creation of a new table and the addition of automatic data loading scripts. The concept of Global, By Customer, and Specific SLAs has been
docTags: 
createdAt: 2022-11-11T14:56:27.000Z
---

Foi alterada a modelagem e telas que realizam a parametrização do tempo de SLA nos itens que&#x20;possuem esse controle: **Ticket&#x20;**&#x65; **Problema**.

## Tabelas

A tabela **acordoservicocontrato** deixou de ser utilizada para parametrizar o tempo de SLA das atividades. A tabela **tempoatendservicocontrato** foi criada para definir este relacionamento. Agora é criado conectando-se ao **servicocontrato** diretamente ao **acordonivelservico** (Tempo de atendimento)

Então, para&#x20;que seja definido o SLA a uma atividade, o Acordo de Nível de Serviço deve ser definido para a atividade no&#x20;cadastro de portfólio ou na tela de manutenção.

Carga automática


Foram incluídos no sistema scripts de atualização que irão realizar a carga de dados na tabela&#x20;**tempoatendservicocontrato**, no momento da atualização. Assim, respeitando os relacionamentos já existentes.

Portanto, após esta atualização o sistema deve continuar a aplicar os SLAs parametrizados anteriormente.

Remoção dos alvos


A tela de tempo de atendimento foi reprojetada e alterada para não mais definir os alvos de contrato e&#x20;atividade para o tempo de atendimento. Esta responsabilidade foi passada para a tela de **portfólio&#x20;**&#x65;&#xD;**&#x20;manutenção de portfólio**.

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/W2tMdlFTCy7ix8222GJd4_image.png)

Remoção do conceito Global, Por cliente e Específico


Foi removido do sistema o conceito de SLA Global, por cliente e específico. Agora todos são SLAs&#x20;específicos, definidos diretamente no portfólio das atividades. O conceito de SLA sazonal e a definição de prioridades VIP permanece.

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/WsBDVcL7I-2Ldz05toFC8_image.png)

Nova Regra de Negócio


É possível relacionar somente um único tempo de atendimento (Acordo de nível de serviço) principal à uma atividade. Contudo, quantos tempos do tipo sazonal que sejam necessários.

Tela de portfólio


A tela de portfólio foi alterada para registrar o relacionamento de servicocontrato com os acordos de&#x20;nível de serviço, que poderão ser aplicados aos tickets. A escolha do SLA será de acordo com o que possuir a&#x20;maior prioridade, respeitando a prioridade do acordo de nivel de serviço. É calculada pelo impacto e prioridade do&#x20;tempo te atendimento, a prioridade da unidade, a prioridade do colaborador e grupo do solicitante. A definição do tempo será escolhida a partir da prioridade mais alta.

Os componentes de definição de fluxo e tempo de atendimento trocaram de posição e agora a&#x20;definição de fluxo é do tipo “**select**”. Já a definição de tempo de atendimento é no formato tabela, já que esta possui a necessidade de adicionarmos mais registros, não o fluxo que se restringe a um por atividade.

### Tela antiga

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/KvB5xBm1nrmDUTXWzni9Y_image.png)



### Nova tela

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/vb0zV6iKu6olQzrvaWQ_0_image.png)

Tela de Manutenção de Portfólio


Foi adicionada a possibilidade de definirmos o tempo de SLA para múltiplas atividades, usando a tela de&#x20;manutenção de portfólio. Agora é possível atualizar informações em lote de&#x20;atividades já relacionadas ao contrato. As regras são essas:

- Na operação de vínculo de atividades ao contrato ou contrato à atividades, o sistema irá incluir novos relacionamentos e **atualizar os já existentes**, com as informações alimentadas na etapa final de vínculo, onde o usuário pode definir fluxo, tempo de atendimento, calendário, data de inicio…
- Só serão aplicadas as informações que **estiverem preenchidas** na etapa final de vínculo, sendo uma  &#x20;inclusão ou atualização de registro;
- Caso uma ou mais atividades estejam sendo vinculadas ao serviço contrato (realizando uma  &#x20;**operação de inserção** na base de dados ou **faltando alguma informação obrigatória**) a operação **não será  &#x20;concluída** e o usuário receberá uma mensagem solicitando-as.

### Nova tela de manutenção

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/espXK1aIMqlMi2NOAQSrE_image.png)



### Definição de tempo

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/y7uXXSJjotQoT3k3F0uuQ_image.png)



## Regras não alteradas

- Cálculo de prioridade usando ou não o parâmetro 104;
- Definição de prioridade VIP;
- Controle de sazonalidade;
- Algorítimo de definição do SLA para todos os módulos – Este códido foi refatorado, porém sem  &#x20;alteração de regras de negócio;
- Definição de SLA por tarefa;
- Cálculo de cumprimento de SLA.

Impactos


### Telas&#xD;

- Ticket
- SmartPortal
- ExperienceCenter
- TemplateSolicitacao
- AcaoIncidenteRequisicao
- Problema

### Remoção

Foram removidos os seguintes métodos:

- AcordoNivelServicoService().findANSSazonalByIdServicoContrato
- AcordoNivelServicoService().findANSIncReqProcByIdServicoContrato
- AcordoNivelServicoService().findANSCliente
- AcordoNivelServicoService().findANSGlobal
- AcordoNivelServicoService().getIdANSSazonal

Apendix


Para este conhecimento se encontra em anexo ao **Tasker-14847** o arquivo SQL com o script utilizado para&#x20;realizar a carga dos dados para definição de SLA.

SQLs para análise da base de dados


### Tabela que armazena servico e atividade

```sql
select * from servico s
```

### Tabela que define a natureza de cada registro&#xD;

```sql
select * from servicoautorelacionamento s2
idservico - Refere-se à atividade
idservicorelacionado - Refere-se ao servico de negócio
```

### Relacionamento do serviço/atividade com o contrato

```sql
select * from servicocontrato
```



### Tempo de Atendimento

```sql
select * from acordonivelservico a
```



### Relacionamento antigo

```sql
select * from acordonivelservicocontrato a
```

### Relacionamento novo

```sql
select * from tempoatendservicocontrato t
```

