Histórico da Página
...
Métodos que devem ser implementados na classe que herdar esta
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Method new(cVerb as character) as object Class home
_Super:new( cVerb, .T. )
// Cards disponiveis na home do dashboard de privilégio
::addCard("total_users", STR0001 ) //"Total de usuários"
Return self
//-------------------------------------------------------------------
/*/{Protheus.doc} total_users
definições referente ao card total_users
@param, oCard, objeto de card a ser criado.
@param, jResponse, json de retorno da api até o momento
@return objeto de card passado por parametro
@author totvs
@since 15/12/2023
//-----------------------------------------------------------------*/
Method total_users(oCard as object, jResponse as json) as object Class home
Local cSql as character
cSql := ::total_UsersQuery("total")
oCard:setDescription(STR0010) //"Total de usuários existente no protheus"
oCard:setValue(FwExecCachedQuery():ExecScalar(cSql, "QTD", "30", "10"))
oCard:addColumn("user_id", STR0011, "string", .T.) //"Id do usuário"
oCard:addColumn("user_code", STR0012, "string", .T.) //"Código do usuário"
oCard:addColumn("name", STR0013, "string", .T.) //"Nome do usuário"
Return(oCard) |
...
chart_name Âncora chart_name chart_name
chart_name | |
chart_name |
Descrição
Método que irá criar um chart (grafico) no dashboard, o nome desse método é dinâmico, deve ser de acordo com o card que foi criado no new da classe.
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
oChart | Objeto | Objeto do tipo totvs.framework.adapter.dashboard.chart |
Retorno nil
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Method new(cVerb as character) as object Class home
_Super:new( cVerb, .T. )
// graficos disponiveis na home do dashboard de privilégio
::addChart("group_rules", STR0009 ) //"Regra de grupo do usuário"
Return self
//-------------------------------------------------------------------
/*/{Protheus.doc} group_rules
definições referente ao chart group_rules
@param, oCard, objeto de chart a ser criado.
@param, jResponse, json de retorno da api até o momento
@return objeto de chart passado por parametro
@author Caio Lima
@since 15/12/2023
//-----------------------------------------------------------------*/
Method group_rules(oChart as object, jResponse as json) as object Class home
Local cSql as character
Local cAlias as character
Local cAliasBk as character
oChart:setDescription(STR0029) //"Total de usuários por regra de acesso do grupo (prioriza, desconsidera ou soma)"
oChart:addColumn("user_id", STR0011, "string", .T.) //"Id do usuário"
oChart:addColumn("user_code", STR0012, "string", .T.) //"Código do usuário"
oChart:addColumn("name", STR0013, "string", .T.) //"Nome do usuário"
oChart:addColumn("group_rule", STR0030, "string", .T.) //"Regra de acesso do grupo"
// a api de detalhes desse grafico será a mesma referente a api de total de usuários,
// apenas mostrando a coluna de regra de acesso do grupo a mais
oChart:setApiDetail("/api/framework/dashboard/detail/totvs.framework.adapter.privileges.home/total_users")
cAliasBk := Alias()
cSql := ::group_RulesQuery("total")
cAlias := FwExecCachedQuery():OpenQuery(cSql,,,,"30","10")
oChart:addDataChart(STR0032, (cAlias)->PRIORIZA, STR0031, "color-03") //"Usuários que priorizam os acessos do grupo" //"Prioriza"
oChart:addDataChart(STR0033, (cAlias)->DESCONSIDERA, STR0034, "color-05") //"Desconsidera" //"Usuários que desconsideram os acessos do grupo"
oChart:addDataChart(STR0036, (cAlias)->soma, STR0035, "color-07") //"Usuários que somam os acessos do grupo" //"Soma"
(cAlias)->(DbCloseArea())
FWRestAlias(cAliasBk)
Return(oChart) |
...
card_nameQuery Âncoracard_nameQuery card_nameQuery
card_nameQuery | |
card_nameQuery |
...
Método para definir a query que será utilizada nos detalhes de uma card ou chart, o nome desse método é dinâmico, deve ser de acordo com o card que foi criado no new da classe.
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
sem parâmetros |
Retorno caractere
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Method new(cVerb as character) as object Class home _Super:new( cVerb, .T. ) // Cards disponiveis na home do dashboard de privilégio ::addCard("total_users", STR0001 ) //"Total de usuários" Return self //------------------------------------------------------------------- /*/{Protheus.doc} total_UsersQuery Retorna a query referente a quantidade total de usuarios @param cType, tipo de query a ser retornado, podendo ser detail ou total @return character, sql a ser utilizado @author totvs @since 08/12/2023 //-----------------------------------------------------------------*/ Method total_UsersQuery(cType as character) as character Class home Local cSql as character If cType == "total" cSql := " SELECT COUNT(*) QTD " ElseIf cType == "detail" cSql := " SELECT #QueryFields# " cSql += " FROM ( SELECT US.*, " cSql += " CASE USR_GRPRULE "+CRLF cSql += " WHEN '1' THEN '"+STR0032+"' "+CRLF // 'Priorizar' cSql += " WHEN '2' THEN '"+STR0033+"' "+CRLF // 'Desconsiderar' cSql += " WHEN '3' THEN '"+STR0036+"' END group_rule "+CRLF // 'Somar' EndIf cSql += " FROM "+MPSysSqlName("MPUSR_USR")+" US " cSql += " WHERE US.D_E_L_E_T_=' ' " If cType == "detail" cSql += " ) TAB WHERE 1=1 #QueryWhere# " EndIf Return(cSql) |
...
Método para definir os campos que serão utilizados nos detalhes de uma card ou chart, o nome desse método é dinâmico, deve ser de acordo com o card que foi criado no new da classe.
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
sem parâmetros |
Retorno caractere
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Method new(cVerb as character) as object Class home _Super:new( cVerb, .T. ) // Cards disponiveis na home do dashboard de privilégio ::addCard("total_users", STR0001 ) //"Total de usuários" Return self //----------------------------------------------------------------------------- /*/{Protheus.doc} addFieldsTotal_Users Função para geração do mapa de campos @author totvs @since 11/12/2023 @version 1.0 /*/ //----------------------------------------------------------------------------- Method addFieldsTotal_Users() Class home ::addMapFields( 'user_id' , 'USR_ID' , .T., .T., { 'USR_ID', 'C', 06, 0 },,.T. ) ::addMapFields( 'user_code' , 'USR_CODIGO' , .T., .T., { 'USR_CODIGO', 'C', 25, 0 },,.T. ) ::addMapFields( 'name' , 'USR_NOME' , .T., .F., { 'USR_NOME', 'C', 30, 0 },,.T. ) ::addMapFields( 'group_rule' , 'group_rule' , .T., .F., { 'group_rule', 'C', 12, 0 },,.T. ) ::setOrderDefault('user_id') Return |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas