Visão geral
Este comando listará todos os indicadores que estão com medição atrasada, acompanhado do responsável pela entrada de medição do indicador, do identificador e nome do indicador do scorecard, identificador e nome do scorecard, e o tipo de acesso que está vinculado ao indicador que faz com que tarefa seja mostrada ao usuário responsável.
Tabelas relacionadas
TABELA
|
Descrição
|
Chave primária (PK)
|
Tabelas de ligação
|
STSCMETRIC
|
Armazena o indicador do Scorecard
|
CDSCMETRIC
CDSCORECARD
CDREVISION
|
STSCORECARD
STSCMETRICACCESS
|
STSCMETRICACCESS
|
Armazena as seguranças do indicador do Scorecard
|
CDSCMETRICACCESS
CDSCMETRIC
CDSCORECARD
CDREVISION
|
STSCMETRIC
|
STSCORECARD
|
Armazena o Scorecard
|
CDSCORECARD
CDREVISION
|
STSCMETRIC
|
STMETRIC
|
Armazena o indicador
|
CDMETRIC
|
STSCMETRIC
|
ADTEAMUSER
|
Armazena os usuários de equipes
|
CDTEAM
CDUSER
|
ADUSER
|
ADUSER
|
Armazena os usuários internos do sistema
|
CDUSER
|
|
ADUSERDEPTPOS
|
Armazena os usuários das áreas e funções
|
CDUSER
CDDEPARTMENT
CDPOSITION
|
ADUSER
|
ADALLUSER
|
Armazena os usuários internos/externos do sistema
|
CDUSER
|
|
Oracle
SELECT
SUBQUERY.IDUSER AS 'Identificador do usuário',
SUBQUERY.IDSCMETRIC AS 'Identificador do indicador do Scorecard',
SUBQUERY.NMMETRIC AS 'Nome do indicador',
SUBQUERY.IDSCORECARD AS 'Identificador do Scorecard',
SUBQUERY.NMSCORECARD AS 'Nome do Scorecard',
SUBQUERY.FGACCESSTYPE AS 'Tipo de acesso',
SUBQUERY.FGPERMISSION AS 'Permissão'
FROM (
SELECT
STSCMETRIC.IDSCMETRIC,
STMETRIC.NMMETRIC,
STSCORECARD.IDSCORECARD,
STSCORECARD.NMSCORECARD,
CASE WHEN MACCESS.FGACCESSTYPE = 1 THEN 'Equipe' WHEN MACCESS.FGACCESSTYPE = 2 THEN 'Área' WHEN MACCESS.FGACCESSTYPE = 3 THEN 'Área/Função' WHEN MACCESS.FGACCESSTYPE = 4 THEN 'Função' WHEN MACCESS.FGACCESSTYPE = 5 THEN 'Usuário' WHEN MACCESS.FGACCESSTYPE = 6 THEN 'Todos' END AS FGACCESSTYPE,
CASE WHEN MACCESS.FGACCESSTYPE = 1 THEN ADUTEAM.IDUSER WHEN MACCESS.FGACCESSTYPE = 2 THEN ADUDEPART.IDUSER WHEN MACCESS.FGACCESSTYPE = 3 THEN ADUDEPTPOS.IDUSER WHEN MACCESS.FGACCESSTYPE = 4 THEN ADUPOS.IDUSER WHEN MACCESS.FGACCESSTYPE = 5 THEN ADUSER.IDUSER WHEN MACCESS.FGACCESSTYPE = 6 THEN ADALLUSERS.IDUSER END AS IDUSER,
MACCESS.FGPERMISSION
FROM STSCMETRIC
INNER JOIN STSCMETRICACCESS MACCESS ON(MACCESS.CDSCMETRIC = STSCMETRIC.CDSCMETRIC AND MACCESS.CDSCORECARD = STSCMETRIC.CDSCORECARD AND MACCESS.CDREVISION = STSCMETRIC.CDREVISION AND MACCESS.FGACCESSACTUAL = 1) /* OBS1 */
INNER JOIN STSCORECARD ON(STSCORECARD.CDSCORECARD = STSCMETRIC.CDSCORECARD AND STSCORECARD.CDREVISION = STSCMETRIC.CDREVISION AND STSCORECARD.FGCURRENT = 1 AND STSCORECARD.FGSTATUS = 1) /* OBS2 */
INNER JOIN STMETRIC ON (STMETRIC.CDMETRIC = STSCMETRIC.CDMETRIC AND STMETRIC.FGENABLED = 1) /* OBS3 */
LEFT OUTER JOIN ADTEAMUSER ADTU ON(ADTU.CDTEAM = MACCESS.CDTEAM AND MACCESS.FGACCESSTYPE = 1) /* OBS4 */
LEFT OUTER JOIN ADUSER ADUTEAM ON(ADUTEAM.CDUSER = ADTU.CDUSER)
LEFT OUTER JOIN ADUSERDEPTPOS DEPARTMENT ON(DEPARTMENT.CDDEPARTMENT = MACCESS.CDDEPARTMENT AND MACCESS.FGACCESSTYPE = 2) /* OBS5 */
LEFT OUTER JOIN ADUSER ADUDEPART ON(ADUDEPART.CDUSER = DEPARTMENT.CDUSER)
LEFT OUTER JOIN ADUSERDEPTPOS DEPTPOS ON(DEPTPOS.CDDEPARTMENT = MACCESS.CDDEPARTMENT AND DEPTPOS.CDDEPARTMENT = MACCESS.CDDEPARTMENT AND MACCESS.FGACCESSTYPE = 3) /* OBS6 */
LEFT OUTER JOIN ADUSER ADUDEPTPOS ON(DEPTPOS.CDUSER = ADUDEPTPOS.CDUSER)
LEFT OUTER JOIN ADUSERDEPTPOS POSITION ON(POSITION.CDPOSITION = MACCESS.CDPOSITION AND MACCESS.FGACCESSTYPE = 4) /* OBS7 */
LEFT OUTER JOIN ADUSER ADUPOS ON(POSITION.CDUSER = ADUPOS.CDUSER)
LEFT OUTER JOIN ADUSER ON(ADUSER.CDUSER = MACCESS.CDUSER AND MACCESS.FGACCESSTYPE = 5) /* OBS8 */
LEFT OUTER JOIN ADALLUSERS ON(MACCESS.FGACCESSTYPE = 6) /* OBS9 */
WHERE STSCMETRIC.DTDUEMEASURE < CURRENT_DATE /* OBS10 */
AND STSCMETRIC.FGMETRICENABLED = 1 /* OBS11 */
AND STSCMETRIC.FGTODOTASK = 1 /* OBS12 */
) SUBQUERY
WHERE SUBQUERY.IDUSER IS NOT NULL
GROUP BY SUBQUERY.IDUSER, SUBQUERY.IDSCMETRIC, SUBQUERY.NMMETRIC, SUBQUERY.IDSCORECARD, SUBQUERY.NMSCORECARD, SUBQUERY.FGACCESSTYPE, SUBQUERY.FGPERMISSION
HAVING MAX(SUBQUERY.FGPERMISSION) = 1 /* OBS13 */
|
Postgres
SELECT
SUBQUERY.IDUSER AS 'Identificador do usuário',
SUBQUERY.IDSCMETRIC AS 'Identificador do indicador do Scorecard',
SUBQUERY.NMMETRIC AS 'Nome do indicador',
SUBQUERY.IDSCORECARD AS 'Identificador do Scorecard',
SUBQUERY.NMSCORECARD AS 'Nome do Scorecard',
SUBQUERY.FGACCESSTYPE AS 'Tipo de acesso',
SUBQUERY.FGPERMISSION AS 'Permissão'
FROM (
SELECT
STSCMETRIC.IDSCMETRIC,
STMETRIC.NMMETRIC,
STSCORECARD.IDSCORECARD,
STSCORECARD.NMSCORECARD,
CASE WHEN ACCESS.FGACCESSTYPE = 1 THEN 'Equipe' WHEN ACCESS.FGACCESSTYPE = 2 THEN 'Área' WHEN ACCESS.FGACCESSTYPE = 3 THEN 'Área/Função' WHEN ACCESS.FGACCESSTYPE = 4 THEN 'Função' WHEN ACCESS.FGACCESSTYPE = 5 THEN 'Usuário' WHEN ACCESS.FGACCESSTYPE = 6 THEN 'Todos' END AS FGACCESSTYPE,
CASE WHEN ACCESS.FGACCESSTYPE = 1 THEN ADUTEAM.IDUSER WHEN ACCESS.FGACCESSTYPE = 2 THEN ADUDEPART.IDUSER WHEN ACCESS.FGACCESSTYPE = 3 THEN ADUDEPTPOS.IDUSER WHEN ACCESS.FGACCESSTYPE = 4 THEN ADUPOS.IDUSER WHEN ACCESS.FGACCESSTYPE = 5 THEN ADUSER.IDUSER WHEN ACCESS.FGACCESSTYPE = 6 THEN ADALLUSERS.IDUSER END AS IDUSER,
ACCESS.FGPERMISSION
FROM STSCMETRIC
INNER JOIN STSCMETRICACCESS ACCESS ON(ACCESS.CDSCMETRIC = STSCMETRIC.CDSCMETRIC AND ACCESS.CDSCORECARD = STSCMETRIC.CDSCORECARD AND ACCESS.CDREVISION = STSCMETRIC.CDREVISION AND ACCESS.FGACCESSACTUAL = 1) /* OBS1 */
INNER JOIN STSCORECARD ON(STSCORECARD.CDSCORECARD = STSCMETRIC.CDSCORECARD AND STSCORECARD.CDREVISION = STSCMETRIC.CDREVISION AND STSCORECARD.FGCURRENT = 1 AND STSCORECARD.FGSTATUS = 1) /* OBS2 */
INNER JOIN STMETRIC ON (STMETRIC.CDMETRIC = STSCMETRIC.CDMETRIC AND STMETRIC.FGENABLED = 1) /* OBS3 */
LEFT OUTER JOIN ADTEAMUSER ADTU ON(ADTU.CDTEAM = ACCESS.CDTEAM AND ACCESS.FGACCESSTYPE = 1) /* OBS4 */
LEFT OUTER JOIN ADUSER ADUTEAM ON(ADUTEAM.CDUSER = ADTU.CDUSER)
LEFT OUTER JOIN ADUSERDEPTPOS DEPARTMENT ON(DEPARTMENT.CDDEPARTMENT = ACCESS.CDDEPARTMENT AND ACCESS.FGACCESSTYPE = 2) /* OBS5 */
LEFT OUTER JOIN ADUSER ADUDEPART ON(ADUDEPART.CDUSER = DEPARTMENT.CDUSER)
LEFT OUTER JOIN ADUSERDEPTPOS DEPTPOS ON(DEPTPOS.CDDEPARTMENT = ACCESS.CDDEPARTMENT AND DEPTPOS.CDDEPARTMENT = ACCESS.CDDEPARTMENT AND ACCESS.FGACCESSTYPE = 3) /* OBS6 */
LEFT OUTER JOIN ADUSER ADUDEPTPOS ON(DEPTPOS.CDUSER = ADUDEPTPOS.CDUSER)
LEFT OUTER JOIN ADUSERDEPTPOS POSITION ON(POSITION.CDPOSITION = ACCESS.CDPOSITION AND ACCESS.FGACCESSTYPE = 4) /* OBS7 */
LEFT OUTER JOIN ADUSER ADUPOS ON(POSITION.CDUSER = ADUPOS.CDUSER)
LEFT OUTER JOIN ADUSER ON(ADUSER.CDUSER = ACCESS.CDUSER AND ACCESS.FGACCESSTYPE = 5) /* OBS8 */
LEFT OUTER JOIN ADALLUSERS ON(ACCESS.FGACCESSTYPE = 6) /* OBS9 */
WHERE STSCMETRIC.DTDUEMEASURE < CURRENT_DATE /* OBS10 */
AND STSCMETRIC.FGMETRICENABLED = 1 /* OBS11 */
AND STSCMETRIC.FGTODOTASK = 1 /* OBS12 */
) SUBQUERY
WHERE SUBQUERY.IDUSER IS NOT NULL
GROUP BY SUBQUERY.IDUSER, SUBQUERY.IDSCMETRIC, SUBQUERY.NMMETRIC, SUBQUERY.IDSCORECARD, SUBQUERY.NMSCORECARD, SUBQUERY.FGACCESSTYPE, SUBQUERY.FGPERMISSION
HAVING MAX(SUBQUERY.FGPERMISSION) = 1 /* OBS13 */
|
SQL Server
SELECT
SUBQUERY.IDUSER AS 'Identificador do usuário',
SUBQUERY.IDSCMETRIC AS 'Identificador do indicador do Scorecard',
SUBQUERY.NMMETRIC AS 'Nome do indicador',
SUBQUERY.IDSCORECARD AS 'Identificador do Scorecard',
SUBQUERY.NMSCORECARD AS 'Nome do Scorecard',
SUBQUERY.FGACCESSTYPE AS 'Tipo de acesso',
SUBQUERY.FGPERMISSION AS 'Permissão'
FROM (
SELECT
STSCMETRIC.IDSCMETRIC,
STMETRIC.NMMETRIC,
STSCORECARD.IDSCORECARD,
STSCORECARD.NMSCORECARD,
CASE WHEN ACCESS.FGACCESSTYPE = 1 THEN 'Equipe' WHEN ACCESS.FGACCESSTYPE = 2 THEN 'Área' WHEN ACCESS.FGACCESSTYPE = 3 THEN 'Área/Função' WHEN ACCESS.FGACCESSTYPE = 4 THEN 'Função' WHEN ACCESS.FGACCESSTYPE = 5 THEN 'Usuário' WHEN ACCESS.FGACCESSTYPE = 6 THEN 'Todos' END AS FGACCESSTYPE,
CASE WHEN ACCESS.FGACCESSTYPE = 1 THEN ADUTEAM.IDUSER WHEN ACCESS.FGACCESSTYPE = 2 THEN ADUDEPART.IDUSER WHEN ACCESS.FGACCESSTYPE = 3 THEN ADUDEPTPOS.IDUSER WHEN ACCESS.FGACCESSTYPE = 4 THEN ADUPOS.IDUSER WHEN ACCESS.FGACCESSTYPE = 5 THEN ADUSER.IDUSER WHEN ACCESS.FGACCESSTYPE = 6 THEN ADALLUSERS.IDUSER END AS IDUSER,
ACCESS.FGPERMISSION
FROM STSCMETRIC
INNER JOIN STSCMETRICACCESS ACCESS ON(ACCESS.CDSCMETRIC = STSCMETRIC.CDSCMETRIC AND ACCESS.CDSCORECARD = STSCMETRIC.CDSCORECARD AND ACCESS.CDREVISION = STSCMETRIC.CDREVISION AND ACCESS.FGACCESSACTUAL = 1) /* OBS1 */
INNER JOIN STSCORECARD ON(STSCORECARD.CDSCORECARD = STSCMETRIC.CDSCORECARD AND STSCORECARD.CDREVISION = STSCMETRIC.CDREVISION AND STSCORECARD.FGCURRENT = 1 AND STSCORECARD.FGSTATUS = 1) /* OBS2 */
INNER JOIN STMETRIC ON(STMETRIC.CDMETRIC = STSCMETRIC.CDMETRIC AND STMETRIC.FGENABLED = 1) /* OBS3 */
LEFT OUTER JOIN ADTEAMUSER ADTU ON(ADTU.CDTEAM = ACCESS.CDTEAM AND ACCESS.FGACCESSTYPE = 1) /* OBS4 */
LEFT OUTER JOIN ADUSER ADUTEAM ON(ADUTEAM.CDUSER = ADTU.CDUSER)LEFT OUTER JOIN ADUSERDEPTPOS DEPARTMENT ON(DEPARTMENT.CDDEPARTMENT = ACCESS.CDDEPARTMENT AND ACCESS.FGACCESSTYPE = 2) /* OBS5 */
LEFT OUTER JOIN ADUSER ADUDEPART ON(ADUDEPART.CDUSER = DEPARTMENT.CDUSER)LEFT OUTER JOIN ADUSERDEPTPOS DEPTPOS ON(DEPTPOS.CDDEPARTMENT = ACCESS.CDDEPARTMENT AND DEPTPOS.CDDEPARTMENT = ACCESS.CDDEPARTMENT AND ACCESS.FGACCESSTYPE = 3) /* OBS6 */
LEFT OUTER JOIN ADUSER ADUDEPTPOS ON(DEPTPOS.CDUSER = ADUDEPTPOS.CDUSER)LEFT OUTER JOIN ADUSERDEPTPOS POSITION ON(POSITION.CDPOSITION = ACCESS.CDPOSITION AND ACCESS.FGACCESSTYPE = 4) /* OBS7 */
LEFT OUTER JOIN ADUSER ADUPOS ON(POSITION.CDUSER = ADUPOS.CDUSER)LEFT OUTER JOIN ADUSER ON(ADUSER.CDUSER = ACCESS.CDUSER AND ACCESS.FGACCESSTYPE = 5) /* OBS8 */
LEFT OUTER JOIN ADALLUSERS ON(ACCESS.FGACCESSTYPE = 6) /* OBS9 */
WHERE STSCMETRIC.DTDUEMEASURE < GETDATE() /* OBS10 */
AND STSCMETRIC.FGMETRICENABLED = 1 /* OBS11 */
AND STSCMETRIC.FGTODOTASK = 1 /* OBS12 */
) SUBQUERY
WHERE SUBQUERY.IDUSER IS NOT NULL
GROUP BY SUBQUERY.IDUSER, SUBQUERY.IDSCMETRIC, SUBQUERY.NMMETRIC, SUBQUERY.IDSCORECARD, SUBQUERY.NMSCORECARD, SUBQUERY.FGACCESSTYPE, SUBQUERY.FGPERMISSION
HAVING MAX(SUBQUERY.FGPERMISSION) = 1 /* OBS13 */
|
Observações
▪1: O campo FGACCESSACTUAL igual a 1 determina se o usuário/equipe/área/função tem permissão para inserir valores de medição no indicador. ▪2: Os campos FGSTATUS igual a 1, e FGCURRENT igual a 1 determinam respectivamente, a situação do scorecard (1-Ativo), e a vigência do scorecard (1-Homologado). ▪3: O campo FGENABLED igual a 1 determina se o indicador presente no menu de cadastro de indicador está ativo. ▪4: O campo FGACCESSTYPE igual a 1, determina se o tipo de acesso na segurança do indicador é por equipe. ▪5: O campo FGACCESSTYPE igual a 2, determina se o tipo de acesso na segurança do indicador é por área. ▪6: O campo FGACCESSTYPE igual a 3, determina se o tipo de acesso na segurança do indicador é por área/função. ▪7: O campo FGACCESSTYPE igual a 4, determina se o tipo de acesso na segurança do indicador é por função. ▪8: O campo FGACCESSTYPE igual a 5, determina se o tipo de acesso na segurança do indicador é por usuário. ▪9: O campo FGACCESSTYPE igual a 6, determina se o tipo de acesso na segurança do indicador é todos. ▪10: O campo DTDUEMEASURE determina a data de vencimento da próxima medição a ser informada. Logo, ela é utilizada na condição WHERE que verifica com o uso da função (CURRENT_DATE|GETDATE) que traz a data atual, se o indicador está atrasado. ▪11: O campo FGMETRICENABLED igual a 1 determina se o indicador do scorecard está ativo na estrutura do scorecard. ▪12: O campo FGTODOTASK igual a 1, determina se o indicador está gerando tarefa de inclusão de meta/medição. ▪13: O campo FGPERMISSION igual a 1, determina se o usuário tem permissão na segurança, que conforme OBS1 remete a segurança de inserção de medição. A função MAX é utilizada para que não se considere caso o indicador possua duas seguranças sendo uma negar(2) e a outra permitir(1).
|