-
Notifications
You must be signed in to change notification settings - Fork 48
/
Script 2 - VIEWS_API_PGD_SUSEP.sql
129 lines (108 loc) · 5.03 KB
/
Script 2 - VIEWS_API_PGD_SUSEP.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/**************************************************************************************/
/* VW_ATIVIDADE */
CREATE OR ALTER VIEW VW_ATIVIDADE
AS
SELECT ROW_NUMBER() OVER (ORDER BY ativ.titulo, ativ.complexidade) AS id_atividade,
CASE WHEN ativ.complexidade IS NOT NULL
THEN ativ.titulo + ' - ' + ativ.complexidade
ELSE ativ.titulo
END AS nome_atividade
FROM [ProgramaGestao].[ItemCatalogo] AS ativ
GROUP BY ativ.titulo, ativ.complexidade
GO
/**************************************************************************************/
/* VW_PACTO_HORAS_HOMOLOGADAS */
CREATE OR ALTER VIEW VW_PACTO_HORAS_HOMOLOGADAS
AS
SELECT PactoTrabalhoId AS IdPacto, sum(tempoHomologado) as HorasHomologadas
FROM [ProgramaGestao].[PactoTrabalhoAtividade]
WHERE NOTA IS NOT NULL
GROUP BY PactoTrabalhoId
GO
/**************************************************************************************/
/* VW_PACTO */
CREATE OR ALTER VIEW VW_PACTO
AS
select [pactoTrabalhoId] as id_pacto,
CASE WHEN pa.situacaoId IN (404) THEN 'cancelado' ELSE NULL END AS situacao,
pe.pesMatriculaSiape as matricula_siape, pe.pesCPF as cpf,
pe.pesnome as nome_participante,
s.undCodigoSIORG as cod_unidade_exercicio,
s.undDescricao as nome_unidade_exercicio,
s.undSiglaCompleta as sigla_unidade_exercicio,
cd1.descricao as desc_situacao_pacto,
pa.formaExecucaoId - 100 as modalidade_execucao,
pe.cargaHoraria * 5 as carga_horaria_semanal,
pa.dataInicio as data_inicio, pa.dataFim as data_fim,
pa.tempoTotalDisponivel as carga_horaria_total,
NULL as data_interrupcao,
'true' as entregue_no_prazo,
vw.HorasHomologadas as horas_homologadas
from [ProgramaGestao].[PactoTrabalho] as pa
inner join dbo.Pessoa as pe on pe.pessoaId = pa.pessoaId
inner join VW_UnidadeSiglaCompleta as s on pa.unidadeId = s.unidadeId
inner join [dbo].[CatalogoDominio] AS cd1 on pa.situacaoId = cd1.catalogoDominioId
inner join VW_PACTO_HORAS_HOMOLOGADAS AS vw on vw.IdPacto = pa.pactoTrabalhoId
WHERE pa.situacaoId in (403, 405, 406 , 407)
GO
/**************************************************************************************/
/* VW_PRODUTO */
CREATE OR ALTER VIEW VW_PRODUTO
AS
SELECT ROW_NUMBER() OVER (ORDER BY pta.pactoTrabalhoAtividadeId ASC) AS id
,pta.pactoTrabalhoAtividadeId id_produto
,pta.pactoTrabalhoId AS id_pacto
,ic.itemCatalogoId AS id_atividade
,NULL nome_grupo_atividade
,ic.titulo nome_atividade
,ic.complexidade faixa_complexidade
,ic.definicaoComplexidade parametros_complexidade
,CASE WHEN pt.formaExecucaoId = 101 OR (pt.formaExecucaoId = 102 AND pta.modalidadeExecucaoId = 101)
THEN pta.tempoPrevistoPorItem ELSE 0 END tempo_presencial_estimado
,CASE WHEN pt.formaExecucaoId = 101 OR (pt.formaExecucaoId = 102 AND pta.modalidadeExecucaoId = 101)
THEN pta.tempoRealizado ELSE 0 END tempo_presencial_programado
,CASE WHEN pt.formaExecucaoId = 101 OR (pt.formaExecucaoId = 102 AND pta.modalidadeExecucaoId = 101)
THEN pta.tempoHomologado ELSE 0 END tempo_presencial_executado
,CASE WHEN pt.formaExecucaoId = 103 OR (pt.formaExecucaoId = 102 AND pta.modalidadeExecucaoId = 103)
THEN pta.tempoPrevistoPorItem ELSE 0 END tempo_teletrabalho_estimado
,CASE WHEN pt.formaExecucaoId = 103 OR (pt.formaExecucaoId = 102 AND pta.modalidadeExecucaoId = 103)
THEN pta.tempoRealizado ELSE 0 END tempo_teletrabalho_programado
,CASE WHEN pt.formaExecucaoId = 103 OR (pt.formaExecucaoId = 102 AND pta.modalidadeExecucaoId = 103)
THEN pta.tempoHomologado ELSE 0 END tempo_teletrabalho_executado
,ic.entregasEsperadas entrega_esperada
,1 qtde_entregas
,NULL qtde_entregas_efetivas
,pta.nota avaliacao
,NULL data_avaliacao
,pta.justificativa justificativa
FROM ProgramaGestao.PactoTrabalhoAtividade pta
INNER JOIN ProgramaGestao.PactoTrabalho pt ON pta.pactoTrabalhoId = pt.pactoTrabalhoId
INNER JOIN ProgramaGestao.ItemCatalogo ic ON pta.itemCatalogoId = ic.itemCatalogoId
WHERE pta.nota is not null
GO
/**************************************************************************************/
/* VW_SITUACAO_PACTO */
CREATE OR ALTER VIEW VW_SITUACAO_PACTO
AS
SELECT catalogodominioid as id, DESCRICAO
FROM CatalogoDominio
WHERE classificacao = 'SituacaoPactoTrabalho'
GO
/**************************************************************************************/
/* VW_TIPO_ATIVIDADE */
CREATE OR ALTER VIEW VW_TIPO_ATIVIDADE
AS
SELECT ROW_NUMBER() OVER (ORDER BY ativ.itemCatalogoId ASC) AS id_atividade,
ativ.titulo , ativ.complexidade,
ativ.definicaoComplexidade
FROM [ProgramaGestao].[ItemCatalogo] AS ativ
GO
/**************************************************************************************/
/* VW_UNIDADE */
CREATE OR ALTER VIEW VW_UNIDADE
AS
SELECT unidadeId AS id_unidade, undDescricao as nome, undSiglaCompleta as sigla, undCodigoSIORG as codigo
FROM dbo.VW_UnidadeSiglaCompleta
WHERE (situacaoUnidadeId = 1)
GO
/**************************************************************************************/