Está en la página 1de 2

DECLARE @c_listaJefesTmp varchar(400)

DECLARE @c_listaJefes varchar(400)

DECLARE CURSOR_JEFES CURSOR FOR


SELECT
CAST(ISNULL(id_EvaluacionJefeEmpleadoIn, '') AS VARCHAR) + ',' +
CAST(ISNULL(id_MatrizJefeEmpleadoIn, '') AS varchar) + ','
+ CAST(ISNULL(idEvaluacionIn, '') AS varchar) + ',' +
ISNULL(DescripcionEstatus, '') + ',' + ISNULL(JefeNumeroRedVc, '') + ','
+ CAST(ISNULL(nivelJefe, '') AS varchar) + ',' +
CAST(ISNULL(id_EstatusJefe, '') AS varchar) AS strInfoJefe
FROM
(
SELECT f.id_EvaluacionJefeEmpleadoIn
,f.id_MatrizJefeEmpleadoIn
,f.idEvaluacionIn
,eej.DescripcionVc as DescripcionEstatus
,f.comentarioVc
,f.numRefJefeIn
,f.numRefEmpleadoIn
,f.usuarioRedJefeVc as JefeNumeroRedVc
,f.nivelJefesSIn as nivelJefe
,f.fechaModificacionDt
,eej.idEstatusIn as id_EstatusJefe
,jefe.referenciaNumeroEmpleadoIn as NumeroEmpleado
,jefe.empleadoNombreCompletoVc
,jefe.nombreCompaniaCompuestoVc
,jefe.nombreDepartamentoVc
,jefe.nombrePlantaVc
,autorizador.empleadoNombreCompletoVc as modificadorPorVc
FROM
(
SELECT
id_EvaluacionJefeEmpleadoIn
,id_MatrizJefeEmpleadoIn
,idEvaluacionIn
,id_EstatusJefe
,comentarioVc
,numRefJefeIn
,numRefEmpleadoIn
,usuarioRedJefeVc
,nivelJefesSIn
,fechaModificacionDt
,modificadorPorVc
FROM GMS_Evaluacion_JefeEmpleado eje
WHERE eje.idEvaluacionIn = 44571

UNION ALL

SELECT
null as id_EvaluacionJefeEmpleadoIn
,id_MatrizJefeEmpleadoIn
,null as idEvaluacionIn
,null as id_EstatusJefe
,null as comentarioVc
,null as numRefJefeIn
,numEmpleadoIn
,JefeNumeroRedVc
,nivelJefe
,null as fechaModificacion
,null as modificadoPorVc
FROM GMS_MatrizJefeEmpleado mje
WHERE mje.numEmpleadoIn = 28163
AND mje.nivelJefe >
CASE
WHEN (SELECT MAX(eje.nivelJefesSIn) FROM
GMS_Evaluacion_JefeEmpleado eje WHERE eje.idEvaluacionIn = 44571) IS NULL THEN 0
ELSE (SELECT MAX(eje.nivelJefesSIn) FROM
GMS_Evaluacion_JefeEmpleado eje WHERE eje.idEvaluacionIn = 44571)
END
) f
INNER JOIN empleados jefe
ON jefe.empleadoUsuarioRedVc = f.usuarioRedJefeVc
LEFT JOIN Empleados autorizador
ON autorizador.empleadoUsuarioRedVc = f.modificadorPorVc
LEFT JOIN GMS_Estatus_EvaluacionEmpleadoJefe eej
ON eej.idEstatusIn = f.id_EstatusJefe
) tblRegs
ORDER BY nivelJefe

SET @c_listaJefes = ''


OPEN CURSOR_JEFES

FETCH NEXT FROM CURSOR_JEFES INTO @c_listaJefesTmp

WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @c_listaJefes = @c_listaJefes + '|' + @c_listaJefesTmp
select @c_listaJefesTmp
FETCH NEXT FROM CURSOR_JEFES INTO @c_listaJefesTmp

END

SET @c_listaJefes = SUBSTRING(@c_listaJefes, 2, LEN(@c_listaJefes))

CLOSE CURSOR_JEFES

DEALLOCATE CURSOR_JEFES

select @c_listaJefes

También podría gustarte