Árvore de páginas

Versões comparadas

Chave

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

01. VISÃO GERAL

O Dashboard foi desenvolvido para atender a demanda de todas as áreas. Dessa forma, toda a estrutura se baseia em serviços.

Cadastros

  • Tipos de Card e Tipos de Gráficos
    • Os tipos de Card e Gráficos são cadastrados diretamente através do BackEnd.
  • Gráficos, Painéis e Visões
    • O FrontEnd consome os Tipos de Cards/Gráficos;
    • Com Realiza os Cadastro dos Cards/Gráficos;
    • Realiza o Cadastro de Visões.


Exibição de Dados

  1. O usuário seleciona qual visão deseja exibir;
  2. O Dashboard filtra os cards e gráficos de acordo com a visão e aciona os EndPoints informados no tipo de Card/Gráfico.
  3. O BackEnd faz a consulta das informações no banco de dados e retorna os dados do Dashboard;
  4. Os dados são tratados e exibidos para o usuário.

02. COMPONENTES

Painel
titleExemplos Listagem de Usocomponentes
Expandir
titleMenuComponent

Componente utilizado para definição do Menu da Rotina. Opções Disponíveis:

  • Home: Tela principal onde serão exibidos os Cards e Gráficos de acordo com a visão selecionada (Componente Home).
  • Gerenciar Cards: Apresenta uma lista com os Cards cadastrados (Componente Cards).
  • Gerenciar Gráficos: Apresenta uma lista com os Gráficos cadastrados (Componente Graphics).
  • Gerenciar Visões: Apresenta uma lista com as Visões cadastrados (Componente Visions).

Serviços Utilizados

Não há.


Expandir
titleHomeComponent

Componente utilizado para a exibição inicial dos dados. O usuário seleciona a visão desejada (Cadastro de Visões), o sistema filtra os dados conforma e visão e apresenta ao usuário.

Funcionamento

Ao selecionar a visão, um evento é disparado, acionando o serviço putVision (VisionService). Esse serviço é responsável por atualizar o BehaviorSubject setVision, utilizado para atualizar os dados dos Cards e Gráficos.

Serviços Utilizados

SharedService, VisionService


Expandir
titleChartComponent

Componente utilizado para imprimir o gráfico.

Funcionamento

O componente recebe a variável chart através do componente pai ChartComponent. O métodoerviço getChart (ChartService) é acionado para retornar os dados do gráfico que serão apresentados.

Serviços Utilizados

ChartService, Router


Expandir
titleChartsComponent

Componente responsável por apresentar todos os Gráficos cadastrados.

Funcionamento

O Componente funciona como um browser para manutenção de gráficos (CRUD).

Serviços Utilizados

Router, ChartService, PoDialogService


Expandir
titleChartFormComponent

Componente responsável por permitir a inclusão/alteração de gráficos.

Funcionamento

Inclusão

O sistema abrirá um formulário ao usuário. Ao selecionar o Tipo de Gráfico desejado, o sistema carrega de forma dinâmica as demais informações.

Alteração

O sistema recebe o ID do gráfico que deseja editar. Com base nesse ID, o sistema busca os dados do gráfico e preenche as informações do formulário. 

Serviços Utilizados

Router, ChartService, PoDialogService


Expandir
titleCardComponent

Componente utilizado para imprimir o card.

Funcionamento

O componente recebe a variável card, para obter os dados, o sistema utiliza o método getServices (CardService). Esse serviço recebe um EndPoint onde estarão as informações a serem apresentadas.

Serviços Utilizados

CardService, Router


Expandir
titleCardsComponent

Componente responsável por apresentar todos os Cards cadastrados.

Funcionamento

O Componente funciona como um browser para manutenção de cards (CRUD).

Serviços Utilizados

Router, CardService, PoDialogService


Expandir
titleCardFormComponent

Componente responsável por permitir a inclusão/alteração de cards.

Funcionamento

Inclusão

O sistema abrirá um formulário ao usuário. Ao selecionar o Tipo de cards desejado, o sistema carrega de forma dinâmica as demais informações.

Alteração

O sistema recebe o ID do card que deseja editar. Com base nesse ID, o sistema busca os dados do card e preenche as informações do formulário.

Tanto na inclusão quanto na alteração, um modelo do Card é demostrado em tempo real ao usuário.

Serviços Utilizados

Router, CardService, PoDialogService


Expandir
titleDetailsCardComponent

Componente responsável por exibir os detalhes do Card.

Funcionamento

Ao clicar na opção “Detalhes”, o sistema busca as informações dos detalhes que serão apresentados através do serviço getTypeCardsById (CardService). Com o EndPoint encontrado, o sistema utiliza o serviço genérico getServices (CardService) para retornar o cabeçalho e dados apresentados.

O usuário poderá exportar os dados apresentados através da opção “Exportar”.

Serviços Utilizados

Router, CardService, PoDialogService


Expandir
titleVisionsComponent

Componente responsável por apresentar todas as visões cadastradas.

Funcionamento

O Componente funciona como um browser para manutenção de visões (CRUD).

Serviços Utilizados

Router, VisionService, PoDialogService


Expandir
titleVisionFormComponent

Componente responsável por permitir a inclusão/alteração de visões.

Funcionamento

Inclusão

O sistema abrirá um formulário ao usuário. O usuário deverá informar o nome e descrição da Visão. É possível vincular essa visão a vários Cards e Gráficos.

Alteração

O sistema recebe o ID da visão que deseja editar. Com base nesse ID, o sistema busca os dados da visão e preenche as informações do formulário.

Serviços Utilizados

PoNotificationService, VisionService, ActivatedRoute, ChartService, CardService


Expandir
titleFilterComponent

Componente responsável por montar a tela de Filtro de Informações. Esse componente é utilizado na inclusão/alteração de Cards e Gráficos.

Funcionamento

O Componente espera receber via Input as seguintes informações:

  1. endPontFilter: String contendo o filtro que será utilizado no EndPoint das requisições em formato REST.
    1. Exemplo: eq_product=ABC&eq_order=001
  2. expFilter: String contendo o filtro que será utilizado no EndPoint das requisições em formato Texto
    1. Exemplo: Produto = ABC E Pedido = 001
  3. itemsFields: Os campos que poderão ser utilizados no filtro. O componente espera um array respeitando a interface do PoComboOption.

Com base nesses dados, o sistema exibe a tela e permite criação de novos filtros. Ao incluir/excluir um filtro, o sistema emite um evento (OutPut) retornando um objeto contendo o filtro no formato EndPoint e o filtro no formato texto. Essas informações são utilizadas na gravação do card e gráfico.

Os filtros gravados também são exibidos como Tags no componente FilterTagsComponent.

Serviços Utilizados

PoNotificationService




03.

MÉTODOS

SERVIÇOS

Sintaxe:

CoreDash():SetQuery(cQuery)

Descrição:

Método que define a query que será utilizada no serviço.

Parâmetros:

Painel
titleMétodos da ClasseListagem de Serviços

Sintaxe:

CoreDash():SetFields(aCampos)

Descrição:

Método que define os campos que serão retornados no JSON do serviço.

Parâmetros:

Expandir
titleNew()

Sintaxe:

CoreDash():New()

Descrição:

Método construtor da classe.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Expandir
titleSetFields()
NomeTipoDescriçãoDefaultObrigatórioReferência
aCamposArrayArray que contém o De / Para dos campos que serão apresentados no serviçoX
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Local aCampos 	 := {} 
 
Aadd(aCampos, {"code", "A1_CODIGO"}) 
Aadd(aCampos, {"name", "A1_NOME"}) 
oCoreDash:SetFields(aCampos) 
Expandir
titleSetQuery()
NomeTipoDescriçãoDefaultObrigatórioReferência
cQueryCaractereRecebe a query que será executada. X
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Local cQuery 	 := "" 

cQuery := " SELECT A1_COD, A1_NOME FROM " + RetSqlName("SA1") + " SA1 "
oCoreDash:SetQuery(cQuery)
Expandir
titleSetWhere()

Sintaxe:

CoreDash():SetWhere(cWhere)

Descrição:

Método que define a clausula where que será no método SetQuery().

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciacWhereCaractereWhere que será utilizado na query enviada para o método SetQuery()  
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Local cQuery 	 := " SELECT A1_COD, A1_NOME FROM "+ RetSqlName("SA1") + " SA1 "
Local cWhere 	 := "" 

oCoreDash:SetQuery(cQuery)

cWhere := " SA1.D_E_L_E_T = ' ' "
oCoreDash:SetWhere(cWhere)
Expandir
titleSetIndexKey()

Sintaxe:

CoreDash():SetIndexKey(cIndexFather)

Descrição:

Método que atribui a ordenação do Alias principal.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciacIndexFatherCaractereOrdem utilizada no alias
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 

//Ordenação Crescente (ASC)
oCoreDash:SetIndexKey("A1_NOME")

//Ordenação Decrescente (DESC)
oCoreDash:SetIndexKey("-A1_NOME")
Expandir
titleSetGroupBy()

Sintaxe:

CoreDash():SetGroupBy(cGroup)

Descrição:

Método responsável por definir um agrupador na query utilizada no serviço.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciacGroupCaractere

Campos que devem compor o agrupador

X
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Local cQuery	 := " SELECT tbl.CAMPO1, tbl.CAMPO2, COUNT(1) COUNT FROM TABLE tbl "
Local cWhere	 := " WHERE FILIAL = 'valor' AND D_E_L_E_T_ = ' ' "

oCoreDash:SetQuery(cQuery)
oCoreDash:SetWhere(cWhere)
oCoreDash:SetGroupBy(" tbl.CAMPO1, tbl.CAMPO2 ")
oCoreDash:SetIndexKey("tbl.CAMPO1")
Expandir
titleSetPage()

Sintaxe:

CoreDash():SetPage(nPage)

Descrição:

Método que atribui o número da página em que o usuário vai navegar.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferêncianPageNuméricoNúmero da página que será apresentada para o usuário1
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()
Local nPage 	 := 8 

oCoreDash:SetPage(nPage)
Expandir
titleSetPageSize()

Sintaxe:

CoreDash():SetPageSize(nPageSize)

Descrição:

Método que atribui a quantidade máxima de registros que serão exibidos por página.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferêncianPageSizeNuméricoQuantidade máxima de registros apresentados por página para o usuário.10
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()
Local nPageSize	 := 20

oCoreDash:SetPageSize(nPageSize)
Expandir
titleDefFields()

Sintaxe:

CoreDash():DefFields(lConvProt, cField)

Descrição:

Método que efetua a conversão entre campos do Objeto e Protheus

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferêncialConvProtLógicoDefine se deve converter os campos para padrão Protheus.T.cFieldCaractereCampo que será convertido
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()

oCoreDash:DefFields(.T.,"CAMPO")
Expandir
titleGetDataType()

Sintaxe:

CoreDash():GetDataType(lConvProt, cField)

Descrição:

Retorna o tipo do dado de um determinado campo.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferêncialConvProtLógicoDefine se deve converter os campos para padrão Protheus.T.cFieldCaracteresCampo que será convertido
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()
Local dData

If oCoreDash:GetDataType(.T.,"CAMPO") == "D"
	dData := Date()
Endif
Expandir
titleSetFieldsFilt()

Sintaxe:

CoreDash():SetFieldsFilt(cFields) 

Descrição:

Método que define quais campos serão retornados pelo serviço.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciacFieldsCaractereCampos que serão retornados no JSON.X
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()
Local cFields 	 := "order, totValue, product"

oCoreDash:SetFieldsFilt(cFields) 
Expandir
titleToObjectJson()

Sintaxe:

CoreDash():ToObjectJson()

Descrição:

Método que retorna o JSON serializado.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()
Local lRet 		 := .T. 
Local cError := "Erro na requisição"
 
If lRet 
	Self:SetResponse( oCoreDash:ToObjectJson())
Else 
	cError := oCoreDash:GetJsonError() 
	SetRestFault( 500,  EncodeUtf8(cError) ) 
EndIf 
Expandir
titleToSingleObject()

Sintaxe:

CoreDash():ToSingleObject()

Descrição:

Método que retorna um JSON serializado para apenas um objeto.

Utilizado em requisições do tipo GET que retornam informações de apenas um registro.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()
Local cError     := "Erro na requisição"
Local lRet 		 := .T. 
 
If lRet 
	Self:SetResponse(oCoreDash:ToSingleObject()) 
Else 
	cError := oCoreDash:GetJsonError() 
	SetRestFault( 500,  EncodeUtf8(cError) ) 
EndIf 
Expandir
titleGetJsonObject()

Sintaxe:

CoreDash():GetJsonObject()

Descrição:

Método que retorna o objeto JSON da classe

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New()
Local oJson

oJson:= oCoreDash:GetJsonObject()

If oJson["items"] != Nil
	...
Endif
Expandir
titleSetApiQstring()

Sintaxe:

CoreDash():SetApiQstring(aQueryString)

Descrição:

Método que define os campos (Retornados pelo JSON), page (página que será apresentada) e pagesize (Quantidade máxima de registros por página) e filtros.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciaaQueryStringArrayRecebe o filtro a ser utilizado quando retornado o JSON
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash 	:= CoreDash():New()
Local aQueryString 	:= {} 

aAdd(aQueryString, {"fields"	, "order, totValue"	}) 
aAdd(aQueryString, {"page"		, 10				}) 
aAdd(aQueryString, {"pagesize"	, 5					}) 

oCoreDash:SetApiQString(aQueryString) 
Expandir
titleSetApiFilter()

Sintaxe:

CoreDash():SetApiFilter(aFilter)

Descrição:

Método que atribui um filtro de pesquisa.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciaaFilterArrayArray com expressões de filtro que serão utilizadasX
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash 	:= CoreDash():New()
Local aFilter		:= {} 

aAdd(aFilter, {"A1_COD = '000001'"}) 

oCoreDash:SetApiFilter(aFilter)
Expandir
titleGetApiFilter()

Sintaxe:

CoreDash():GetApiFilter()

Descrição:

Método que retorna o filtro de pesquisa.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash 	:= CoreDash():New()

oCoreDash:GetApiFilter()
Expandir
titleBuildJson()

Sintaxe:

CoreDash():BuildJson()

Descrição:

Método que responsável por construir o objeto JSON.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash  := CoreDash():New() 
 
Self:SetContentType("application/json") 
 
oCoreDash:SetQuery(cQuery) 
oCoreDash:SetWhere(cWhere) 
oCoreDash:SetFields(aCampos) 
oCoreDash:SetApiQstring(aQueryString) 
oCoreDash:BuildJson() 
Expandir
titleSetJson()

Sintaxe:

CoreDash():SetJson(lHasNext, aItems)

Descrição:

Método que responsável por atribuir um objeto JSON, de acordo com o contrato estabelecido pela TOTVS, contento o [items] e o [hasNext].

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferêncialHasNextLógicoIndica se o objeto possui próxima página..T.aItemsArrayArray com os valores do objeto.
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local aItems 		:= {} 
Local lHasNext 		:= .T. 
Local oCoreDash  	:= CoreDash():New() 
Local oItem 		:= JsonObject():New()
 
If (cTemp)->(Eof()) 
	lHasnext := .F. 
EndIf 
 
aAdd(aItems, oItem) 
oCoreDash:SetJson(lHasNext, aItems) 
Expandir
titleSetTable()

Sintaxe:

CoreDash():SetTable(cAlias)

Descrição:

Método que recebe o alias que será responsável pela geração do JSON.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciacAliasCaractereAlias recebido para a geração do JSON.X
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Local cAlias 	 := GetNextArea() 
 
oCoreDash:SetTable(cAlias) 
Expandir
titleSetUpsertData()

Sintaxe:

CoreDash():SetUpsertData(cAlias, cIndex, cBody)

Descrição:

Método que efetua a inclusão ou alteração de registros.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciacAliasCaractereAlias recebido para a geração do JSON.XcIndexCaractereÍndice utilizado na busca.cBodyCaractereJSON recebido no Body da mensagem.X
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 

If oCoreDash:SetUpsertData(cAlias, Nil, cBody)
	Self:SetResponse( EncodeUtf8("Registro incluído com sucesso"))
Else
	SetRestFault( 500,  EncodeUtf8("Falha ao converter o arquivo.") )
Endif 
Expandir
titleDestroy()

Sintaxe:

CoreDash():Destroy()

Descrição:

Método responsável por destruir o objeto.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 

If oCoreDash:SetUpsertData(cAlias, Nil, cBody)
	Self:SetResponse( EncodeUtf8("Registro incluído com sucesso"))
Else
	SetRestFault( 500,  EncodeUtf8("Falha ao converter o arquivo.") )
Endif 

oCoreDash:Destroy()
Expandir
titleSetPOHeader()

Sintaxe:

CoreDash():SetPOHeader(aFields)

Descrição:

Método responsável por retornar um Array conforme esperado na propriedade p-columns do componente Table da biblioteca de componentes PO-UI

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciaaFieldsArray

Array de até quatro dimensões com os dados:

aFields[n, 1] = Property

aFields[n, 2] = Label - Descrição apresentada na tabela.

aFields[n, 3] = Determina se a propriedade Action possui um link para o próximo nivel da visão.

aFields[n, 3] = Formato

X
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local aFields 	 := {}
Local aItems     := {}
Local oResponse	 :=	JsonObject():New()
Local oCoreDash := CoreDash():New()

aAdd(aFields, { "A1_COD"	, "Código"		,"Link"	})
aAdd(aFields, { "A1_LOJA"	, "Loja"				})
aAdd(aFields, { "A1_NOME"	, "Nome"				})
aAdd(aFields, { "total"		, "Total Faturado"		})

aItems := oCoreDash:SetPOHeader(aFields)

oResponse["items"]      := aItems

Self:SetResponse( EncodeUtf8(oResponse:ToJson()))

Expandir
titleSetPOCombo()

Sintaxe:

CoreDash():SetPOCombo(aOptions)

Descrição:

Método responsável por retornar um Array conforme esperado na propriedade p-options do componente Combo da biblioteca de componentes PO-UI.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciaaOptionsArray

Array de duas dimensões com as seguintes informações:

aOptions[n, 1] = Valor (Value)

aOptions[n, 2] = Rotulo (Label)

X
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Local aOptions	 := {}

aAdd(aOptions, {"phone"		,"Telefono"	})
aAdd(aOptions, {"cellPhone"	,"Celular"	})

oCoreDash:SetPOCombo(aOptions)
Expandir
titleSetPOForm()

Sintaxe:

CoreDash():SetPOForm(cDivider, cProperty, cGridColumns, cLabel, lRequired, cType, aOptions, loptionsMulti)

Descrição:

Método responsável por construir um Formulário utilizando como base o componente DynamicForm do da biblioteca da PO-UI.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciacDividerCaractere

Cria uma divisória entre os campos, utilizando o nome definido na propriedade cDivider.

cPropertyCaractereNome da Propriedade.cGridColumnsCaractere

Número de Colunas Ocupado pelo Campo.

cLabelCaractereRotulo/Label do Campo.lRequiredLógicoDefine se o campo é obrigatório.cTypeCaractereTipo do Campo.aOptionsArrayLista de opções do campo.loptionsMultiCaractereDefine se o campo é MultSelect.
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oResponse   := JsonObject():New()
Local oCoreDash  := CoreDash():New()

oCoreDash:SetPOForm("Tipo de Gráfico", "graphictype"     , 6  , "Tipo de Gráfico"    , .T., "string", oCoreDash:SetPOCombo({{"pie","Pizza"},{"polarArea","Radar"}}))
oCoreDash:SetPOForm("Filtros"        , "typesearchcombo" , 12 , "Tipo de Pesquisa"   , .T., "string", oCoreDash:SetPOCombo({{"mensal","Mensal"},{"anual","Anual"}}))
oCoreDash:SetPOForm(""               , "datadereferencia", 6  , "Data de Referência" , .T., "date")

oResponse  := oCoreDash:GetPOForm()

Self:SetResponse( EncodeUtf8(oResponse:ToJson()))
Expandir
titleGetPOForm()

Sintaxe:

CoreDash():GetPOForm()

Descrição:

Método responsável por retornar o Formulário, construído através do método SetPOForm.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oResponse   := JsonObject():New()
Local oCoreDash  := CoreDash():New()

oCoreDash:SetPOForm("Tipo de Gráfico", "graphictype"     , 6  , "Tipo de Gráfico"    , .T., "string", oCoreDash:SetPOCombo({{"pie","Pizza"},{"polarArea","Radar"}}))
oCoreDash:SetPOForm("Filtros"        , "typesearchcombo" , 12 , "Tipo de Pesquisa"   , .T., "string", oCoreDash:SetPOCombo({{"mensal","Mensal"},{"anual","Anual"}}))
oCoreDash:SetPOForm(""               , "datadereferencia", 6  , "Data de Referência" , .T., "date")

oResponse  := oCoreDash:GetPOForm()

Self:SetResponse( EncodeUtf8(oResponse:ToJson()))
Expandir
titleSetGraphInfo()

Sintaxe:

CoreDash():SetGraphInfo(aDados, cLegenda, cTipo, cBgColor, lBackGround, lDrillDown)

Descrição:

Método responsável por adicionar linhas e/ou colunas em um Gráfico de Barra ou Linha.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciaaDadosCaractere

Cria uma divisória entre os campos, utilizando o nome definido na propriedade cDivider.

XcLegendaCaractereNome da Propriedade.XcTipoCaractere

Número de Colunas Ocupado pelo Campo.

cBgColorCaractereRotulo/Label do Campo.lBackGroundLógicoDefine se o campo é obrigatório..F.lDrillDownCaractereTipo do Campo..T.
Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash  := CoreDash():New()
Local aHeader	  := {"2019","2020","2021"}
Local aData1	  := { Randomize(1,99), Randomize(1,99), Randomize(1,99) }
Local aData2	  := { Randomize(1,99), Randomize(1,99), Randomize(1,99) }
Local aSaldo	  := {}
Local nSaldo	  := 0

oCoreDash:SetGraphInfo( aData1, 'Vendedor 01' )
oCoreDash:SetGraphInfo( aData2, 'Vendedor 02' )

nSaldo := aData1[1] + aData2[1]
aAdd(aSaldo, nSaldo)
nSaldo := aData1[2] + aData2[2]
aAdd(aSaldo, nSaldo)
nSaldo := aData1[3] + aData2[3]
aAdd(aSaldo, nSaldo)

oCoreDash:SetGraphInfo( aSaldo, "Média", "line", "rgba(255,240,210,0.0)", .F., .F.)
Expandir
titleGetGraphInfo()

Sintaxe:

CoreDash():GetGraphInfo()

Descrição:

Método responsável por retornar todos os gráficos adicionados através do método SetGraphInfo.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local aGraphic 	  := {}
Local oCoreDash  := CoreDash():New()

oCoreDash:SetGraphInfo( aSaldo, "Média", "line", "rgba(23,132,175,0.59)", .F., .F.)
aGraphic := oCoreDash:GetGraphInfo()
Expandir
titleSetChart()

Sintaxe:

CoreDash():SetChart( aLegenda, aDados, lCurrency, cType, cTitle ) Class CoreDash

Descrição:

Método responsável por adicionar linhas e/ou colunas em um Gráfico de Barra ou Linha.

Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferênciaaLegendaArrayLegendas apresentadas no GráficoXaDadosArray

Dados impressos no Gráfico.

Observação: Para gráficos do tipo barra/linha, pode se usar o próprio GetGraphInfo

lCurrencyLógicoInforma se a máscara retornada será ou não do tipo moeda.F.cTypeCaractereTipo de Gráfico que será retornado.cTitleCaractereTítulo apresentado no Gráfico.
Expandir
titleGetCposLGPD()

Sintaxe:

CoreDash():GetCposLGPD()

Descrição:

Método responsável por retornar array com os campos sensíveis que deverão ter exibição restrita de acordo com o Usuário logado.

Bloco de código
themeEclipse
titleExemplo de utilização
linenumberstrue
Local oCoreDash := CoreDash():New() 
Local aCampos 	:= {}
Local aCposLGPD	:= {} 
 
Aadd(aCampos, {"code", "A1_CODIGO"}) 
Aadd(aCampos, {"name", "A1_NOME"}) 

oCoreDash:SetFields(aCampos) 

aCposLGPD := oCoreDash:GetCposLGPD()

04. DEMAIS INFORMAÇÕES

ExcelService

Serviço responsável pela geração do excel.

Métodos


exportAsExcelFile

Método responsável pela exportação do objeto para o excel.

Parâmetros

  • Json: Json que será enviado para o excel;
  • ExcelFileName: Nome do arquivo.

saveAsExcelFile

Método responsável pelo salvamento do objeto em excel, bem como definição do nome que será dado ao arquivo.

Parâmetros

  • Buffer: Xlsx gerado a partir do json;
  • FileName: Nome do arquivo).


Expandir
titleVisionService

Serviço responsável pelo CRUD de visões.

Métodos

getVisions

Método que retorna todas as visões.

postVision

Método responsável pela inclusão de visões.

Parâmetros:

  • Vision: Objeto json que será incluído.

putVision

Método responsável pela alteração de visões.

Parâmetros:

  • Vision: Objeto json alterado;
  • Id: Id do objeto que será alterado com informação passadas no parâmetro vision.

getById

Método responsável por retornar uma visão.

Parâmetros

  • Id: Id da visão que deseja retornar.

removeVision

Método responsável pela exclusão de visões.

Parâmetros

  • Id: Id da visão que deseja retornar.

filterAdvanced

Método responsável por retornar os campos que o usuário poderá filtrar na opção de “Busca avançada” das visões.



Expandir
titleChartService

Serviço responsável tratar os dados referente aos gráficos.

Métodos


getChart

Método que realiza um Get genérico de acordo com o EndPoint especificado.

Parâmetros

  • Service: EndPoint que será realizado o Get.

getChartbyId

Método que retorna um gráfico específico

Parâmetros

  • Id: Id do gráfico que deseja consultar.

getTypeChartbyId

Método que retorna um tipo de gráfico específico

Parâmetros

  • Id: Id do tipo de gráfico que deseja consultar.

getTypeChart

Método que retorna uma lista de tipos de gráficos.

getCharts

Método que retorna uma lista de gráficos

Parâmetros

  • Filter: filtro que deseja realizar na busca dos gráficos.

deleteChart

Método que deleta um gráfico específico.

Parâmetros

  • Id: Id do gráfico que deseja deletar.

postChart

Método de inclusão de gráficos.

Parâmetros

  • Chart: Json contendo os dados utilizados para inclusão de um gráfico.

patchChart

Método alterar gráficos.

Parâmetros

  • Chart: Json contendo os dados utilizados para alteração de um gráfico.
  • Id: Id do gráfico que deseja alterar.


Expandir
titleCardService

Serviço responsável tratar os dados referente aos cards.

Métodos


getServices

Método que realiza um Get genérico de acordo com o EndPoint especificado.

Parâmetros

  • Service: EndPoint que será realizado o Get.

getCards

Método que retorna uma lista de cards.

Parâmetros

  • Filter: filtro que deseja realizar na busca dos card.

getTypeCards

Método que retorna uma lista de tipos de cards.

Parâmetros

  • Filter: filtro que deseja realizar na busca dos tipos de card.

getTypeCardsbyId

Método que retorna um tipo de card específico

Parâmetros

  • Id: Id do tipo de card que deseja consultar.

getCardsbyId

Método que retorna um card específico

Parâmetros

  • Id: Id do card que deseja consultar.

deleteCard

Método que deleta um card específico.

Parâmetros

  • Id: Id do card que deseja deletar.

postCard

Método de inclusão de card.

Parâmetros

  • Card: Json contendo os dados utilizados para inclusão de um card.

patchCard

Método alterar cards.

Parâmetros

  • Card: Json contendo os dados utilizados para alteração de um card.

Id: Id do card que deseja alterar.

Expandir
titleDetailsService

Serviço responsável pelos Detalhes dos Cards/Gráficos.

Métodos


putDetails

Método responsável pela alteração dos detalhes dos Cards/Gráficos.

Parâmetros

  • header: Campos referente ao formulário de Card/Gráfico.
  • item: Item referente ao serviço do Card/Gráfico.
  • title: Título do Card/Gráfico.
  • filter: Filtro do Card.
  • chartFilter: filtro do Gráfico.
  • detailFilter: detalhamento do filtro.
  • chart: código do Gráfico.
  • card: código do Card.


getDetailsServices

Método responsável por retornar os detalhes dos Cards/Gráficos.

getDetailJson

Método responsável por retornar um JSON com as propriedades chartFilter e detailFilter.

postService

Método responsável por realizar o POST no ENDPOINT do Card/Gráfico de acordo com as informações do objeto JSON enviado.

Parâmetros

  • json: Objeto JSON com as informações que serão enviadas.
  • endPoint: serviço que receberá as informações do objeto JSON.


putDetailsFilter

Método responsável pela alteração dos detalhes do filtro.

Parâmetros

  • detailFilter: Detalhes do Filtro.


putChart

Método responsável pela alteração do Gráfico.

Parâmetros

  • chart: Código do Gráfico para atualização.


putCard

Método responsável pela alteração do Card.

Parâmetros

  • card: Código do Card para atualização.
Expandir
titleGroupsService

Serviço responsável pelos Grupos de Usuários associados as visões.

Métodos


getGroups

Método responsável por retornar os grupos de usuários associados as visões.

Parâmetros

  • pageSize: Tamanho de itens a retornar por página.



getGroupId

Método responsável por retornar os dados referente a um grupo de usuário.

Parâmetros

  • cGroup: Código do grupo de usuário para retornar as informações.
Expandir
titleLiteralsService

Serviço responsável por retornar os textos referentes as traduções.

Métodos


getLiteralModule

Método responsável por retornar um módulo com as traduções para ser utilizado nas rotinas.

Expandir
titleSharedService

Serviço responsável por carregar a visão selecionada pelo Usuário.

Métodos


putVision

Método responsável por atualizar a Visão selecionada pelo Usuário.

Parâmetros

  • combo: Combo com as visões disponíveis para o usuário.
  • Visions: Visões cadastradas no Dashboard.



getSelectVision

Método responsável por retornar as visões disponíveis para o Usuário através de um combo.

getVision

Método responsável por retornar as informações de Card/Gráfico de acordo com a visão escolhida pelo usuário.

Expandir
titleUsersService

Serviço responsável pelos Usuários associados as visões.

Métodos


getUsersDash

Método responsável por retornar os dados referente aos Usuários do Dash.


getGroups

Método responsável por retornar os dados referente aos Grupos de Usuário do Dash.

 

getUserIdDash

Método responsável por retornar os dados referente a um Usuário do Dash.


getGroupsIdDash

Método responsável por retornar os dados referente a um grupo de usuário do Dash.

04. TABELAS

Painel
titleListagem de Serviços
Expandir
titleA1N - Tipo de Card

Tabela

Nome

A1N

Descrição

Tipo de Card

Campos

Nome

Descrição

Tipo

Tamanho

A1N_ID   

Número do ID

C

6

A1N_TITULO

Título do Tipo de Card

C

251

A1N_CARSER

Serviço do Card       

C

254

A1N_FLDSER

Serviço Campos          

C

251

A1N_ITSER

Serviço Itens           

C

251

A1N_CABSER

Serviço Cabeçalho        

C

254

Índice

Número

Índice

1

A1N_FILIAL+A1N_ID

Expandir
titleA1O - Cards

Tabela

Nome

A1O

Descrição

Cards

Campos

Nome

Descrição

Tipo

Tamanho

A1O_ID   

Número do ID

C

6

A1O_TITULO

Título do Card

C

29

A1O_DETALH

Título Detalhes

C

15

A1O_INFO1

Informação 01

C

30

A1O_INFO2

Informação 02

C

30

A1O_INFO3

Informação 03

C

30

A1O_INFO4

Informação 04

C

30

A1O_CAMPOS

Campos Card

C

251

A1O_EXPFIL

Filtro Expressão

C

251

A1O_ENDFIL

Filtro EndPoint

C

251

A1O_STATUS

Status

C

1

A1O_IDTIPO

ID Tipo Painel

C

6

A1O_LABEL1

Label 01

C

30

A1O_LABEL2

Label 02

C

30

A1O_LABEL3

Label 03

C

30

A1O_LABEL4

Label 04

C

30

A1O_FILTRO

Exibe Filtro

C

1

Índice

Número

Índice

1

A1O_FILIAL+A1O_ID+A1O_IDTIPO

2

A1O_FILIAL+A1O_IDTIPO

Expandir
titleA1P - Tipo de Gráfico

Tabela

Nome

A1P

Descrição

Tipo de Gráfico

Campos

Nome

Descrição

Tipo

Tamanho

A1P_ID

ID

C

6

A1P_TITULO

Título do Tipo de Gráfico

C

50

A1P_SRVFOR

Serviço de Formulário        

C

251

A1P_SRVDAT

Serviço de Dados             

C

251

A1P_SRVFIL

Serviço de Filtro       

C

251

A1P_TITULO

Titulo

C

50

A1P_MAXNIV

Nível Máximo

N

2

A1P_ITSERV

Item Serviço

C

254

A1P_CABSER

Serviço Cabeçalho

C

254

Índice

Número

Índice

1

A1P_FILIAL+A1P_ID

Expandir
titleA1Q - Gráfico

Tabela

Nome

A1Q

Descrição

Gráfico

Campos

Nome

Descrição

Tipo

Tamanho

A1Q_ID   

ID

C

6

A1Q_JSON 

Formulário Json

M

50

A1Q_TITULO

Título

C

251

A1Q_IDTIPO

ID Tipo Chart         

C

6

A1Q_EXPFIL

Filtro Expressao

C

251

A1Q_FILEND

Filtro EndPoint

C

251

A1Q_HELP

Help

M

10

Índice

Número

Índice

1

A1Q_FILIAL+A1Q_ID

2

A1Q_FILIAL+A1Q_VISAO

Expandir
titleA1R - Visões

Tabela

Nome

A1R

Descrição

Visões

Campos

Nome

Descrição

Tipo

Tamanho

A1R_ID   

ID

Caracter

6

A1R_TITULO

Título

Caracter

50

A1R_DESCRI

Descrição

Caracter

50

A1R_CARDS

Códigos dos Cards

Caracter

254

A1R_CHARTS

Códigos dos Gráficos

Caracter

254

A1R_USERS

Usuários da Visão

Caracter

254

A1R_GRUPOS

Grupos da Visão

Caracter

254

A1R_STATUS

Status da Visão

Caracter

1

Índice

Número

Índice

1

A1R_FILIAL+A1R_ID

05. ASSUNTOS RELACIONADOS