SELECT
R034FUN.CodFil 'Cod.Unid',
R030FIL.NomFil 'Nome Unidade',
CAST(R030ORG.TabOrg AS VARCHAR(200)) + '/' + CAST(R016HIE.CodLoc AS VARCHAR(200)) 'Cod.Setor', R016ORN.NomLoc 'Nome Setor',
CAST(R030CAR.EstCar AS VARCHAR(200)) + '/' + CAST(R034FUN.CodCar AS VARCHAR(200)) 'Cod.Cargo', R024CAR.TitRed 'Nome Cargo',
CAST(R034FUN.TIPCOL AS VARCHAR(200))+ '/'+ CAST(R034FUN.NUMCAD AS VARCHAR(200)) 'Cod. Ident. Prestador SST',
'' 'Cod Funcionário',
R034FUN.NomFun 'Nome Funcionário',
CASE
WHEN (convert(varchar, R034FUN.DatNas, 103) = '31/12/1900') THEN null
ELSE (convert(varchar, R034FUN.DatNas, 103))
END 'Dt.Nascimento',
R034FUN.TipSex 'Sexo',
R010SIT.DesSit 'Situação',
CASE
WHEN (convert(varchar, R034FUN.DatAdm, 103) = '31/12/1900') THEN null
ELSE (convert(varchar, R034FUN.DatAdm, 103))
END 'Dt.Admissão',
CASE
WHEN (convert(varchar, R038AFA.DatAfa, 103) = '31/12/1900') THEN null
ELSE (convert(varchar, R038AFA.DatAfa, 103))
END 'Dt.Demissão',
CASE R034FUN.EstCiv
WHEN 1 THEN 'Solteiro'
WHEN 2 THEN 'Casado'
WHEN 3 THEN 'Divorciado'
WHEN 4 THEN 'Viúvo'
WHEN 5 THEN 'Concubinato'
WHEN 6 THEN 'Separado'
WHEN 7 THEN 'União Estável'
WHEN 9 THEN 'Outros'
ELSE 'Solteiro'
END 'Estado Civil',
R034FUN.NumPis 'Pis/Pasep',
CASE R034FUN.tipcon
WHEN 1 THEN 'Empregado'
WHEN 2 THEN 'Diretor'
WHEN 3 THEN 'Trabalhador Rural'
WHEN 4 THEN 'Aposentado'
WHEN 5 THEN 'Estágiario'
WHEN 6 THEN 'Aprendiz'
WHEN 7 THEN 'Prazo Determinado - Lei 9.601/98'
WHEN 8 THEN 'Diretor Aposentado'
WHEN 9 THEN 'Agente Público'
WHEN 10 THEN 'Professor'
WHEN 11 THEN 'Cooperador'
WHEN 12 THEN 'Trabalhador Doméstico'
WHEN 13 THEN 'Professor Prazo Determinado'
ELSE 'Empregado'
END 'Contratação',
R033PES.NumCid 'Rg',
R033PES.EstCid 'UF-RG',
CASE
WHEN R034FUN.NumCPF = 0 THEN ' '
WHEN R034FUN.NumCPF IS NULL THEN ' '
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 1)) THEN (SUBSTRING('0000000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('0000000000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('0000000000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0000000000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 2)) THEN (SUBSTRING('000000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('000000000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('000000000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('000000000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 3)) THEN (SUBSTRING('00000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('00000000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('00000000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('00000000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 4)) THEN (SUBSTRING('0000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('0000000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('0000000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0000000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 5)) THEN (SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 6)) THEN (SUBSTRING('00000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('00000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('00000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('00000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 7)) THEN (SUBSTRING('0000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('0000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('0000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 8)) THEN (SUBSTRING('000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('000' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 9)) THEN (SUBSTRING('00' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('00' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('00' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('00' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 10)) THEN (SUBSTRING('0' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('0' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('0' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0' + CONVERT(CHAR, R034FUN.NumCPF),10,2))
WHEN ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 11)) THEN (SUBSTRING(CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING(CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING(CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING(CONVERT(CHAR, R034FUN.NumCPF),10,2))
ELSE ''
END 'CPF'
FROM R034FUN
inner join R030EMP on (R030EMP.NumEmp = R034FUN.NumEmp)
inner join R030CAR on (R030CAR.NumEmp = R034FUN.NumEmp AND R030CAR.EstCar = R034FUN.EstCar AND R030CAR.DatAlt = (SELECT MAX(C.DATALT) FROM R030CAR C WHERE R030EMP.NumEmp = C.NumEmp AND C.DatAlt <= GETDATE()))
inner join R024CAR on (R024CAR.EstCar = R034FUN.EstCar AND R024CAR.CodCar = R034FUN.CodCar)
inner join R030ORG on (R030ORG.NumEmp = R034FUN.NumEmp AND R030ORG.TabOrg = R034FUN.TabOrg AND R030ORG.DatAlt = (SELECT MAX(O.DATALT) FROM R030ORG O WHERE R030EMP.NumEmp = O.NumEmp AND O.DatAlt <= GETDATE()))
inner join R016ORN on (R016ORN.TabOrg = R034FUN.TabOrg AND R016ORN.NumLoc = R034FUN.NumLoc)
inner join R016HIE on (R016HIE.TabOrg = R034FUN.TabOrg AND R016HIE.NumLoc = R034FUN.NumLoc AND R016HIE.DatIni = (SELECT MAX(H.DATINI) FROM R016HIE H WHERE R034FUN.TabOrg = H.TabOrg AND R034FUN.NumLoc = H.NumLoc AND H.DatIni <= GETDATE()))
inner join R030FIL on (R030FIL.NumEmp = R034FUN.NumEmp AND R030FIL.CodFil = R034FUN.CodFil)
inner join R010SIT on (R010SIT.CodSit = R034FUN.SitAfa)
left join R033PES on (R033PES.CodPES = R034FUN.CodPes)
left join R038AFA on (R038AFA.numemp = R034FUN.NumEmp AND R038AFA.TipCol = R034FUN.tipcol AND R038AFA.NumCad = R034FUN.numcad AND r038afa.sitafa in (SELECT S.codsit FROM r010sit S WHERE S.tipsit = 7))
WHERE R034FUn.tipcol IN (1,2)
ORDER BY 1,3,4