Mudanças entre as edições de "Calculo-Valor-Atendimento"

De MSTECH wiki
Ir para: navegação, pesquisa
(Criou página com '== Introdução == Este documento tem por base especificar a maneira como são calculados os atendimen-tos de acordo com o tipo da escola. == Objetivo == As especificações...')
 
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
== Introdução ==
 
== Introdução ==
Este documento tem por base especificar a maneira como são calculados os atendimen-tos de acordo com o tipo da escola.  
+
Este documento tem por base especificar a maneira como são calculados os atendimentos de acordo com o tipo da escola.  
 
== Objetivo ==
 
== Objetivo ==
As especificações descritas nesse documento visam esclarecer a fórmula utililazada para cálculo do atendimento realizado pelas escolas, uma vez que o mesmo difere dependendo do programa que a escola pertence, ou pertencia, no momento do atendimento.
+
As especificações descritas nesse documento visam esclarecer a fórmula utilizada para cálculo do atendimento realizado pelas escolas, uma vez que o mesmo difere dependendo do programa que a escola pertence, ou pertencia, no momento do atendimento.
  
 
== Escolas do tipo GSI ==
 
== Escolas do tipo GSI ==
Quando o atendimento for realizado por escolas do tipo GSI o mesmo poderá ser armazena-do tanto na tabela Atendimento quanto na tabela AtendimentoNaoParticipante. Uma vez  arma-zenado na tabela AtendimentoNaoParticipante, o campo referente ao tipo de escola armazenará obrigatoriamente valor 1 (teId = 1).  
+
Quando o atendimento for realizado por escolas do tipo GSI o mesmo poderá ser armazenado tanto na tabela Atendimento quanto na tabela AtendimentoNaoParticipante. Uma vez  armazenado na tabela AtendimentoNaoParticipante, o campo referente ao tipo de escola armazenará obrigatoriamente valor 1 (teId = 1).  
 
=== Tabela Atendimento ===
 
=== Tabela Atendimento ===
 
Soma do valor taValorAtendimento, conforme exemplo abaixo:
 
Soma do valor taValorAtendimento, conforme exemplo abaixo:
  
 +
<code>
 
SELECT SUM(taValorAtendimento) TotalAtendimento
 
SELECT SUM(taValorAtendimento) TotalAtendimento
 
FROM Atendimento at WITH(NOLOCK)
 
FROM Atendimento at WITH(NOLOCK)
 
INNER JOIN TipoAtendimento ta WITH(NOLOCK) ON at.taID = ta.taID
 
INNER JOIN TipoAtendimento ta WITH(NOLOCK) ON at.taID = ta.taID
 +
</code>
  
 
=== Tabela AtendimentoNaoParticipante ===
 
=== Tabela AtendimentoNaoParticipante ===
 
Soma do valor taValorAtendimento onde o tipo teId = 1, conforme exemplo abaixo:
 
Soma do valor taValorAtendimento onde o tipo teId = 1, conforme exemplo abaixo:
  
 +
<code>
 
SELECT SUM(taValorAtendimento) TotalAtendimento
 
SELECT SUM(taValorAtendimento) TotalAtendimento
 
FROM AtendimentoNaoParticipante at WITH(NOLOCK)
 
FROM AtendimentoNaoParticipante at WITH(NOLOCK)
 
INNER JOIN TipoAtendimentoNaoParticipante ta WITH(NOLOCK) ON at.taID = ta.taID
 
INNER JOIN TipoAtendimentoNaoParticipante ta WITH(NOLOCK) ON at.taID = ta.taID
 
WHERE at.teID = 1     
 
WHERE at.teID = 1     
 +
</code>
  
 
== Escola do tipo SAI ==
 
== Escola do tipo SAI ==
Quando o atendimento for realizado por escolas do tipo SAI o mesmo será armazenado somente na tabela AtendimentoNaoParticipante e com tipo de escola (teId = 2). Escolas do tipo SAI pos-suem uma particularide para a soma dos valores de atendimentos conforme exemplo abaixo:
+
Quando o atendimento for realizado por escolas do tipo SAI o mesmo será armazenado somente na tabela AtendimentoNaoParticipante e com tipo de escola (teId = 2). Escolas do tipo SAI possuem uma particularidade para a soma dos valores de atendimentos conforme exemplo abaixo:
 
=== Tabela AtendimentoNaoParticipante ===
 
=== Tabela AtendimentoNaoParticipante ===
 
Atendimentos do tipo 1-Livre, 2-Rede de Projetos, 3-Aula e 4-Impressão, possuem calculo diferente do atendimento do tipo 5-ativação de Usuário. Com exceção do tipo 5, é realizada a fórmula (horafinal – horainicial)/30 (1 atendimento equivale a 30 minutos), já para atendimento do tipo 5 será feita a soma do campo taValorAtendimento conforme exemplo abaixo.
 
Atendimentos do tipo 1-Livre, 2-Rede de Projetos, 3-Aula e 4-Impressão, possuem calculo diferente do atendimento do tipo 5-ativação de Usuário. Com exceção do tipo 5, é realizada a fórmula (horafinal – horainicial)/30 (1 atendimento equivale a 30 minutos), já para atendimento do tipo 5 será feita a soma do campo taValorAtendimento conforme exemplo abaixo.
  
 +
<code>
 
SELECT CASE WHEN  at.taID = 5 THEN SUM(ISNULL(ta.taValorAtendimento,0))
 
SELECT CASE WHEN  at.taID = 5 THEN SUM(ISNULL(ta.taValorAtendimento,0))
 
  ELSE SUM(CEILING(ISNULL(DATEDIFF(MINUTE, at.at_hora_inicio,at.at_hora_final), 0)/30.0))  
 
  ELSE SUM(CEILING(ISNULL(DATEDIFF(MINUTE, at.at_hora_inicio,at.at_hora_final), 0)/30.0))  
Linha 34: Linha 39:
 
INNER JOIN TipoAtendimentoNaoParticipante ta WITH(NOLOCK) ON at.taID = ta.taID
 
INNER JOIN TipoAtendimentoNaoParticipante ta WITH(NOLOCK) ON at.taID = ta.taID
 
WHERE at.teID = 2
 
WHERE at.teID = 2
 +
</code>

Edição atual tal como às 20h19min de 2 de junho de 2016

Introdução

Este documento tem por base especificar a maneira como são calculados os atendimentos de acordo com o tipo da escola.

Objetivo

As especificações descritas nesse documento visam esclarecer a fórmula utilizada para cálculo do atendimento realizado pelas escolas, uma vez que o mesmo difere dependendo do programa que a escola pertence, ou pertencia, no momento do atendimento.

Escolas do tipo GSI

Quando o atendimento for realizado por escolas do tipo GSI o mesmo poderá ser armazenado tanto na tabela Atendimento quanto na tabela AtendimentoNaoParticipante. Uma vez armazenado na tabela AtendimentoNaoParticipante, o campo referente ao tipo de escola armazenará obrigatoriamente valor 1 (teId = 1).

Tabela Atendimento

Soma do valor taValorAtendimento, conforme exemplo abaixo:

SELECT SUM(taValorAtendimento) TotalAtendimento FROM Atendimento at WITH(NOLOCK) INNER JOIN TipoAtendimento ta WITH(NOLOCK) ON at.taID = ta.taID

Tabela AtendimentoNaoParticipante

Soma do valor taValorAtendimento onde o tipo teId = 1, conforme exemplo abaixo:

SELECT SUM(taValorAtendimento) TotalAtendimento FROM AtendimentoNaoParticipante at WITH(NOLOCK) INNER JOIN TipoAtendimentoNaoParticipante ta WITH(NOLOCK) ON at.taID = ta.taID WHERE at.teID = 1

Escola do tipo SAI

Quando o atendimento for realizado por escolas do tipo SAI o mesmo será armazenado somente na tabela AtendimentoNaoParticipante e com tipo de escola (teId = 2). Escolas do tipo SAI possuem uma particularidade para a soma dos valores de atendimentos conforme exemplo abaixo:

Tabela AtendimentoNaoParticipante

Atendimentos do tipo 1-Livre, 2-Rede de Projetos, 3-Aula e 4-Impressão, possuem calculo diferente do atendimento do tipo 5-ativação de Usuário. Com exceção do tipo 5, é realizada a fórmula (horafinal – horainicial)/30 (1 atendimento equivale a 30 minutos), já para atendimento do tipo 5 será feita a soma do campo taValorAtendimento conforme exemplo abaixo.

SELECT CASE WHEN at.taID = 5 THEN SUM(ISNULL(ta.taValorAtendimento,0)) ELSE SUM(CEILING(ISNULL(DATEDIFF(MINUTE, at.at_hora_inicio,at.at_hora_final), 0)/30.0)) END ELSE 0 END AS TotalAtendimento FROM AtendimentoNaoParticipante at WITH(NOLOCK) INNER JOIN TipoAtendimentoNaoParticipante ta WITH(NOLOCK) ON at.taID = ta.taID WHERE at.teID = 2