Páginas filhas
  • totvs.framework.adapter.dashboard - cards e charts

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Métodos que devem ser implementados na classe que herdar esta

Exemplos


...

addCard
Âncora
addcard
addcard

...

Método que irá criar um card 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:

NomeTipoDescrição
oCardObjetoObjeto do tipo totvs.framework.adapter.dashboard.card

Retorno nil

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
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 Caio Limatotvs
@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)


...

card_nameQuery
Âncora
card_nameQuery
card_nameQuery

Descrição

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:

NomeTipoDescrição


sem parâmetros

Retorno caractere

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
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)


...

addFieldscard_name
Âncora
addFieldscard_name
addFieldscard_name

Descrição

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:

NomeTipoDescrição


sem parâmetros

Retorno caractere

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
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