Você está na página 1de 3

SELECT

DISTINCT
TOP 1000
CHAPA,
NOME,
CODTIPO,
CODFILIAL,
DATA,
BATIDAS_PORTAL,
ESCALA,

(CASE WHEN ATRASO_JUST = 0 THEN 0


WHEN ATRASO_JUST > 0 AND ATRASO_JUST < ATRASO_CASE THEN ATRASO_JUST
WHEN ATRASO_JUST > 0 AND ATRASO_JUST > ATRASO_CASE THEN ATRASO_CASE
ELSE ATRASO_CASE END )
ATRASO_CASE
,
(CASE WHEN FALTA_CASE = 0 THEN 0
WHEN FALTA_JUST > 0 AND FALTA_JUST < FALTA_CASE THEN FALTA_JUST
WHEN FALTA_JUST > 0 AND FALTA_JUST > FALTA_CASE THEN FALTA_CASE ELSE
FALTA_CASE END )
FALTA_CASE
, EXTRAEXECUTADO_CASE, SEM_PAR_CORRESPONDENTE, INTERJORNADA,
JORNADA_MAIOR_10HORAS, SEM_PAR_CORRESPONDENTE_DESC, INTERJORNADA_DESC,
JORNADA_MAIOR_10HORAS_DESC,BANCO_HORA, JUSTIFICATIVA, JUSTIFICATIVA_CODIGO,
QTDE_ABONO, ABONO_PENDENTE_RH, JUSTIFICATIVA_ATITUDE
---> ,USABANCOHORAS
FROM (

SELECT
A.CHAPA,
B.NOME,
B.CODTIPO,
B.CODFILIAL,
A.DATA,
ATRASO,
FALTA,
EXTRAEXECUTADO,

(SELECT
COALESCE(dbo.MINTOTIME(ENTRADA1),'') + (CASE WHEN
dbo.MINTOTIME(ENTRADA1) IS NULL THEN '' ELSE ' ' END) +
COALESCE(dbo.MINTOTIME(SAIDA1),'') + (CASE WHEN
dbo.MINTOTIME(SAIDA1) IS NULL THEN '' ELSE ' ' END) +
COALESCE(dbo.MINTOTIME(ENTRADA2),'') + (CASE WHEN
dbo.MINTOTIME(ENTRADA2) IS NULL THEN '' ELSE ' ' END) +
COALESCE(dbo.MINTOTIME(SAIDA2),'') ESCALA
FROM dbo.CALCULO_HORARIO_PT4 (CONVERT(VARCHAR(10),A.DATA,103),
A.CHAPA, A.CODCOLIGADA, 0)
) ESCALA,

(CASE WHEN ATRASO >= '0' THEN ATRASO ELSE NULL END) ATRASO_CASE,
ISNULL((SELECT SUM(FIM-INICIO) FROM AJUSTFUN D WHERE A.CODCOLIGADA =
D.CODCOLIGADA AND A.CHAPA = D.CHAPA AND A.DATA = D.DATAREFERENCIA AND
TIPOOCORRENCIA IN ('A','AC') AND JUSTIFICATIVA IS NULL),0) ATRASO_JUST,

(CASE WHEN FALTA > '0' THEN FALTA ELSE NULL END) FALTA_CASE,
ISNULL((SELECT SUM(FIM-INICIO) FROM AJUSTFUN D WHERE A.CODCOLIGADA =
D.CODCOLIGADA AND A.CHAPA = D.CHAPA AND A.DATA = D.DATA AND TIPOOCORRENCIA IN ('F')
AND JUSTIFICATIVA IS NULL),0) FALTA_JUST,

(CASE WHEN EXTRAEXECUTADO >= '0' THEN EXTRAEXECUTADO ELSE NULL END)
EXTRAEXECUTADO_CASE,
(SELECT CODAVISO FROM AAVISOCALCULADO C WHERE A.CODCOLIGADA =
C.CODCOLIGADA AND A.CHAPA = C.CHAPA AND A.DATA = C.DATAREFERENCIA AND CODAVISO =
'5') SEM_PAR_CORRESPONDENTE,
(SELECT CODAVISO FROM AAVISOCALCULADO C WHERE A.CODCOLIGADA =
C.CODCOLIGADA AND A.CHAPA = C.CHAPA AND A.DATA = C.DATAREFERENCIA AND CODAVISO =
'1') INTERJORNADA,
(SELECT CODAVISO FROM AAVISOCALCULADO C WHERE A.CODCOLIGADA =
C.CODCOLIGADA AND A.CHAPA = C.CHAPA AND A.DATA = C.DATAREFERENCIA AND CODAVISO =
'2') JORNADA_MAIOR_10HORAS,
(SELECT DESCRICAO FROM AAVISOCALCULADO C WHERE A.CODCOLIGADA =
C.CODCOLIGADA AND A.CHAPA = C.CHAPA AND A.DATA = C.DATAREFERENCIA AND CODAVISO =
'5') SEM_PAR_CORRESPONDENTE_DESC,
(SELECT DESCRICAO FROM AAVISOCALCULADO C WHERE A.CODCOLIGADA =
C.CODCOLIGADA AND A.CHAPA = C.CHAPA AND A.DATA = C.DATAREFERENCIA AND CODAVISO =
'1') INTERJORNADA_DESC,
(SELECT DESCRICAO FROM AAVISOCALCULADO C WHERE A.CODCOLIGADA =
C.CODCOLIGADA AND A.CHAPA = C.CHAPA AND A.DATA = C.DATAREFERENCIA AND CODAVISO =
'2') JORNADA_MAIOR_10HORAS_DESC,
(SELECT COUNT(*) FROM ABATFUN AS hor WHERE hor.DATA = A.DATA AND
hor.CODCOLIGADA = A.CODCOLIGADA AND hor.CHAPA = A.CHAPA) AS BATIDAS_PORTAL,
(CASE WHEN D.justificativa IN (1,21) THEN 'X' ELSE NULL END)
BANCO_HORA,

(
SELECT max(CAST(BB.descricao AS VARCHAR)) FROM
PortalRHDEV..zcrmportal_ponto_justificativa_func AA
INNER JOIN PortalRHDEV..zcrmportal_ponto_motivos BB ON
AA.justificativa = BB.id AND AA.coligada = BB.codcoligada WHERE AA.coligada =
A.CODCOLIGADA AND AA.dtponto = A.DATA AND AA.chapa = A.CHAPA Collate
Database_Default
) JUSTIFICATIVA,

(
SELECT max(CAST(BB.id AS VARCHAR)) FROM
PortalRHDEV..zcrmportal_ponto_justificativa_func AA
INNER JOIN PortalRHDEV..zcrmportal_ponto_motivos BB ON
AA.justificativa = BB.id AND AA.coligada = BB.codcoligada WHERE AA.coligada =
A.CODCOLIGADA AND AA.dtponto = A.DATA AND AA.chapa = A.CHAPA Collate
Database_Default
) JUSTIFICATIVA_CODIGO,

(
select max(CONCAT(justificativa_excecao,status)) FROM
PortalRHDEV..zcrmportal_ponto_horas AA WHERE AA.chapa = A.CHAPA Collate
Database_Default AND AA.coligada = A.CODCOLIGADA AND AA.dtponto = A.DATA AND
AA.movimento = 9 AND dt_delete IS NULL
) JUSTIFICATIVA_ATITUDE,

(SELECT COUNT(CHAPA) FROM AABONFUN WHERE CODCOLIGADA = A.CODCOLIGADA


AND CHAPA = A.CHAPA AND DATA = A.DATA AND CODABONO NOT IN (030)) QTDE_ABONO,
(SELECT COUNT(CHAPA) FROM AABONFUN WHERE CODCOLIGADA = A.CODCOLIGADA
AND CHAPA = A.CHAPA AND DATA = A.DATA AND DESCONSIDERA = 1 AND CODABONO NOT IN
(030)) ABONO_PENDENTE_RH
---> ,ISNULL(AC.USABANCOHORAS,0) USABANCOHORAS
FROM
AAFHTFUN A
LEFT JOIN PortalRHDEV..zcrmportal_ponto_justificativa_func D ON
A.DATA = D.dtponto AND A.CHAPA = D.chapa Collate Database_Default AND
A.CODCOLIGADA = D.coligada AND D.justificativa IN (1,21)
---> INNER JOIN APARFUN AB ON A.CODCOLIGADA = AB.CODCOLIGADA AND A.CHAPA =
AB.CHAPA
---> INNER JOIN APARCOL AC ON AB.CODCOLIGADA = AC.CODCOLIGADA AND
AB.CODPARCOL = AC.CODIGO
,
PFUNC B
WHERE
A.CODCOLIGADA = B.CODCOLIGADA AND A.CHAPA = B.CHAPA AND
A.CODCOLIGADA = '1' AND
-- A.DATA BETWEEN 16/09/202215/10/2022
A.DATA BETWEEN '2022-09-16' AND '2022-10-15'
AND A.CHAPA = '050002451'

AND B.CODSITUACAO <> 'D'

AND (SELECT ISNULL(SUM(FIM - INICIO), 0) FROM AJUSTFUN WHERE CODCOLIGADA


= A.CODCOLIGADA AND CHAPA = A.CHAPA AND DATAREFERENCIA = A.DATA AND APROVADO = '1')
<= 0

-- AND (B.DATADEMISSAO > (GETDATE() - 30) OR B.DATADEMISSAO IS NULL)

) X
WHERE
(ATRASO_CASE IS NOT NULL OR FALTA_CASE IS NOT NULL OR
EXTRAEXECUTADO_CASE IS NOT NULL OR SEM_PAR_CORRESPONDENTE IS NOT NULL OR
INTERJORNADA IS NOT NULL OR JORNADA_MAIOR_10HORAS IS NOT NULL)
AND ( SEM_PAR_CORRESPONDENTE IS NOT NULL OR EXTRAEXECUTADO_CASE >= '1'
OR
(CASE WHEN ATRASO_JUST = 0 THEN 0
WHEN ATRASO_JUST > 0 AND ATRASO_JUST < ATRASO_CASE THEN ATRASO_JUST
WHEN ATRASO_JUST > 0 AND ATRASO_JUST > ATRASO_CASE THEN ATRASO_CASE
ELSE ATRASO_CASE END )
>= '1' OR
((CASE WHEN FALTA_JUST = 0 THEN 0
WHEN FALTA_JUST > 0 AND FALTA_JUST < FALTA_CASE THEN FALTA_JUST
WHEN FALTA_JUST > 0 AND FALTA_JUST > FALTA_CASE THEN FALTA_CASE ELSE
FALTA_CASE END )
> 0 AND BATIDAS_PORTAL = 0) OR JORNADA_MAIOR_10HORAS IS NOT NULL
OR INTERJORNADA IS NOT NULL )
/*AND (CASE WHEN FALTA_CASE > 0 AND BATIDAS_PORTAL > 0 THEN 0 ELSE 1
END) > 0*/
AND X.BANCO_HORA IS NULL

ORDER BY NOME, DATA

Você também pode gostar