Mudanças entre as edições de "Calculo-Valor-Atendimento"
(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 | + | 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 | + | 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 | + | 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 | + | 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
Índice
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