Contexto de negócio

Cada vez mais o mercado exige que as operações complexas de dados sejam ainda mais ágeis e com custos reduzidos. Com o RH não é diferente, os processos cada vez mais complexos e com muitas variáveis a serem analisadas no que tange as informações do ponto eletrônico os profissionais de RH precisam de agilidade na hora de controlar processos funcionais da empresa.

Com essa necessidade e a importância desta área dentro da empresa, surgiu a necessidade da criação de um produto que possibilite a visualização do Banco de Horas dos funcionários. Para isso foi desenvolvido o Dashboard Banco de Horas. Nele estarão presentes 6 indicadores, 8 destaques e 5 gráficos, sendo eles:

Indicadores:

  1. Saldo Atual do Banco de Horas.
  2. Saldo do Banco de Horas dos funcionários no período selecionado.
  3. Funcionários com saldo positivo no período selecionado.
  4. Funcionários com saldo negativo no período selecionado.
  5. Funcionários com horas à vencer no período selecionado.
  6. Funcionários com horas vencidas no período selecionado.

Destaques:

  1. Filial com maior aumento no saldo do Banco de Horas.
  2. Filial com maior redução no saldo do Banco de Horas.
  3. Departamento com maior aumento no saldo do Banco de Horas.
  4. Departamento com maior redução no saldo do Banco de Horas.
  5. Centro de Custo com maior aumento no saldo do Banco de Horas.
  6. Centro de Custo com maior redução no saldo do Banco de Horas.
  7. Gestores com maior aumento no saldo do Banco de Horas.
  8. Gestores com maior redução no saldo do Banco de Horas.

Gráficos:

  1. Filiais - Acompanhamento da evolução do Banco de Horas por filial.
  2. Departamento - Acompanhamento da evolução do Banco de Horas por departamento .
  3. Centro de Custo - Acompanhamento da evolução do Banco de Horas por centro de custo.
  4. Total por gestor - Total do Banco de Horas por gestor.
  5. Gestores - Acompanhamento da evolução do Banco de Horas por gestor.


Pré requisitos, configuração serviço REST

(Acesse a documentação aqui)

API

No total foram desenvolvidas 6 APIs para atender o Dashboard RH, sendo elas:

  1. DbHrBranches para listar as filiais que serão utilizadas no filtro.
  2. (Verificar nome para a API) - para listar os departamentos que serão utilizados no filtro.
  3. (Verificar nome para a API) - para listar os centros de custo que serão utilizados no filtro.
  4. DbHrManagers para listar os gestores que serão utilizados no filtro.
  5. (Verificar nome para a API) - para trazer os indicadores do Saldo Atual, Saldo do funcionários, funcionários com saldo positivo e funcionários com saldo negativo.
  6. (Verificar nome para a API) - para trazer os indicadores de horas a vencer e horas vencidas.
  7. (Verificar nome para a API) - para trazer o detalhamento dos indicadores.
  8. (Verificar nome para a API) - para trazer os destaques e os dados para a geração dos gráficos.
  9. (Verificar nome para a API) - para trazer o detalhamento dos destaques e gráficos.

.

Filiais - api/rh/v1/DbHrBranches

API responsável por trazer todas as filiais para serem utilizadas no filtro do Dashboard RH. Assim será possível ter uma visão macro da empresa ou apenas de uma filial em específico.

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar todas as filiais cadastradas para serem utilizadas no filtro do Dashboard RH.

Cadastro

Esta API contempla apenas a consulta das filiais cadastradas.

Processos

O Dashboard RH realizará o consumo da API para buscar todas as filiais.

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB;
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/DbHrBranches;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

Por ser uma API que retorna todas as filiais, não existe qualquer parâmetro que precisa ser enviado.


Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DbHrBranches

Response da API:


{
	"branches": [
		"D MG 01 ",
		"D MG 02 ",
		"D RJ 01 ",
		"D RJ 02 ",
		"M PR 01 ",
		"M PR 02 ",
		"M SP 01 ",
		"M SP 02 ",
		"M SP 03 "
	]
}


Departamentos - api/rh/v1/Departaments

API responsável por trazer todos os departamentos para serem utilizados no filtro do Dashboard RH. 

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar todos os departamentos cadastrados para serem utilizadas no filtro do Dashboard RH.

Cadastro

Esta API contempla apenas a consulta dos departamentos cadastrados.

Processos

O Dashboard RH realizará o consumo da API para buscar todos os departamentos.

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB(Veriricar nome do fonte posteriormente);
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/Departaments;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

Por ser uma API que retorna todos os departamentos, não existe qualquer parâmetro que precisa ser enviado.


Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/Departaments

Response da API:


{
	"departaments": [
		{
			"label": "Financeiro (D MG 01)"
			"value": "0000001 - D MG 01"
		},
		{
			"label": "Recursos Humanos (D MG 01)"
			"value": "0000002 - D MG 01"
		},
		{
			"label": "Financeiro (M SP 01)"
			"value": "0000001 - M SP 01"
		}
	]
}

Centros de Custo - api/rh/v1/CostCenter

API responsável por trazer todos os Centros de Custo para serem utilizados no filtro do Dashboard RH. 

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar todos os Centros de Custo cadastrados para serem utilizadas no filtro do Dashboard RH.

Cadastro

Esta API contempla apenas a consulta dos Centros de Custo cadastrados.

Processos

O Dashboard RH realizará o consumo da API para buscar todos os Centros de Custo.

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB(Veriricar nome do fonte posteriormente);
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/CostCenter;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

Por ser uma API que retorna todos os centros de custo, não existe qualquer parâmetro que precisa ser enviado.


Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/CostCenter

Response da API:

{
	"costsCenter": [
		{
			"label": "Desenvolvimento Rotinas (D MG 01)"
			"value": "0000001 - D MG 01"
		},
		{
			"label": "Desenvolvimento Jornadas (D MG 01)"
			"value": "0000002 - D MG 01"
		},
		{
			"label": "Desenvolvimento Rotinas (M SP 01)"
			"value": "0000001 - M SP 01"
		}
	]
}


Gestores - api/rh/v1/DbHrManagers

API responsável por trazer todos os gestores para serem utilizados no filtro do Dashboard RH. Assim será possível realizar filtros dos funcionários separados por gestor ou gestores.

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar todos os gestores cadastrados para serem utilizadas no filtro do Dashboard RH.

Cadastro

Esta API contempla apenas a consulta dos gestores cadastrados.

Processos

O Dashboard RH realizará o consumo da API para buscar todos os gestores.

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB;
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/DbHrManagers;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

Por ser uma API que retorna todos os gestores, não existe qualquer parâmetro que precisa ser enviado.


Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DbHrManagers

Response da API:

{
	"managers": [
		"GESTOR FINANCEIRO D MG (D MG 01  - 000001)",
		"GESTOR RH M SP (M SP 01  - 000001)",
		"GESTOR TI D MG (D MG 01  - 000002)"
	]
}

Observações:
1 - Para que o Dashboard RH consiga localizar corretamente os funcionários que percentem à um gestor é necessário informar a filial e matrícula (separados por espaço + "-" + espaço) dos gestores entre parênteses. Exemplo: Gestor A (M SP 01 - 000001), Gestor B (M SP 01 - 000002) e Gestor C (M SP 01 - 000003).
2 - Caso o ERP não possua uma hierarquia ou não foram encontrados os gestores, o retorno a API deverá ser um Array vazio. Enviado um Array vazio o Dashboard RH irá desativar o filtro por gestor e o botão de enviar e-mail para os gestores.

Saldo Banco de Horas - api/rh/v1/Balance

API responsável por trazer os saldos (Total, Positivo e Negativo) do Banco de Horas dos funcionários.

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar os saldos (Total, Positivo e Negativo) do Banco de Horas dos funcionários.

Cadastro

Esta API contempla apenas a consulta dos saldos (Total, Positivo e Negativo) do Banco de Horas dos funcionários.

Processos

O Dashboard RH realizará o consumo da API para buscar todos os saldos (Total, Positivo e Negativo) do Banco de Horas dos funcionários.

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB(Veriricar nome do fonte posteriormente);
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/Balance;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD.

Parâmetros de Entrada:

ParâmetroValor de ExemploObrigatórioTipoParâmetroDescrição
startDate"2024-07-01"SimDateBodyData inicial do período
endDate"2024-07-31"SimDateBodyData final do período
branch[" "] ou ["D MG 01", "D MG 02"]SimArrayBodyFiliais selecionadas
departament[" "] ou ["0000001 - M SP 01", "0000001 - M SP 01"]        SimArrayBodyDepartamentos selecionados
costCenter[" "] ou ["000000001 - M SP 01", "0000000001 - D MG 01"]SimArrayBodyCentros de Custo selecionados
manager[" "] ou ["GESTOR RH M SP (M SP 01  - 000001)", "GESTOR TI D MG (D MG 01  - 000002)"]SimArrayBodyGestores selecionados
acceptapplication/jsonSimStringHeader
content-typeapplication/jsonSimStringHeader

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/Balance

Response da API:

{
	"results": [
		{
			"indicatorType": "CurrentBalance",
			"hours": 100.02
		},
		{
			"indicatorType": "balance",
			"hours": 200.15
		}, 
		{   
			"indicatorType": "positiveHours",
			"hours": 300.45
		}, 
		{   
			"indicatorType": "negativeHours",
			"hours": -100.30
		}
	]
}

Saldo Banco de Horas - api/rh/v1/BalanceHours

API responsável por trazer os funcionários com horas à vencer ou com horas vencidas.

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar os funcionários com horas à vencer ou com horas vencidas.

Cadastro

Esta API contempla apenas a consulta funcionários com horas à vencer ou com horas vencidas.

Processos

O Dashboard RH realizará o consumo da API para buscar todos os funcionários com horas à vencer ou com horas vencidas.

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB(Veriricar nome do fonte posteriormente);
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/BalanceHours;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD.

Parâmetros de Entrada:

ParâmetroValor de ExemploObrigatórioTipoParâmetroDescrição
startDate"2024-07-01"SimDateBodyData inicial do período
endDate"2024-07-31"SimDateBodyData final do período
branch[" "] ou ["D MG 01", "D MG 02"]SimArrayBodyFiliais selecionadas
departament[" "] ou ["0000001 - M SP 01", "0000001 - M SP 01"]        SimArrayBodyDepartamentos selecionados
costCenter[" "] ou ["000000001 - M SP 01", "0000000001 - D MG 01"]SimArrayBodyCentros de Custo selecionados
manager[" "] ou ["GESTOR RH M SP (M SP 01  - 000001)", "GESTOR TI D MG (D MG 01  - 000002)"]SimArrayBodyGestores selecionados
acceptapplication/jsonSimStringHeader
content-typeapplication/jsonSimStringHeader

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/BalanceHours

Response da API:

{
	"results": [
		{
			"indicatorType": "hoursToExpire",
			"hours": 150.59
		},
		{
			"indicatorType": "expiredHours",
			"hours": 100.47
		}
	]
}

Saldo Banco de Horas - api/rh/v1/DetailsBalance

API responsável por trazer o detalhamento do indicador selecionado (Saldo, Horas Positivas, Horas Negativas, Horas à Vencer e Horas Vencidas).

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar o detalhamento do indicador selecionado (Saldo, Horas Positivas, Horas Negativas, Horas à Vencer e Horas Vencidas).

Cadastro

Esta API contempla apenas a consulta do detalhamento do indicador selecionado (Saldo, Horas Positivas, Horas Negativas, Horas à Vencer e Horas Vencidas).

Processos

O Dashboard RH realizará o consumo da API para buscar o detalhamento do indicador selecionado (Saldo, Horas Positivas, Horas Negativas, Horas à Vencer e Horas Vencidas).

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB(Veriricar nome do fonte posteriormente);
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/DetailsBalance;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD.

Parâmetros de Entrada:

ParâmetroValor de ExemploObrigatórioTipoParâmetroDescrição
startDate"2024-07-01"SimDateBodyData inicial do período
endDate"2024-07-31"SimDateBodyData final do período
branch[" "] ou ["D MG 01", "D MG 02"]SimArrayBodyFiliais selecionadas
departament[" "] ou ["0000001 - M SP 01", "0000001 - M SP 01"]        SimArrayBodyDepartamentos selecionados
costCenter[" "] ou ["000000001 - M SP 01", "0000000001 - D MG 01"]SimArrayBodyCentros de Custo selecionados
manager[" "] ou ["GESTOR RH M SP (M SP 01  - 000001)", "GESTOR TI D MG (D MG 01  - 000002)"]SimArrayBodyGestores selecionados
indicatorType"balance" (Opções: "balance", "positive", "negative", "hoursToExpire", "expiredHours")SimStringBodyIndicador selecionado
pageSize15SimNumberBodyItens por página
page1SimNumberBodyPágina selecionada
acceptapplication/jsonSimStringHeader
content-typeapplication/jsonSimStringHeader

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DetailsBalance

Response da API:

{
	"totalPages": 2,
	"rows": [
		{
			"company": "Totvs",
			"branch": "D MG 01",
			"name": "João",
			"registration": "000001",
			"position": "Analisa Desenvolvedor",
			"costCenters": "00000001 - RH",
			"manager": "Taka",
			"department": "Desenvolvimento RH",
			"totalHours": 7,
			"details": [
				{
					"hours": 3,
					"deadLine": "2024-08-15"
				},
				{
					"hours": 2,
					"deadLine": "2024-08-17"
				},
				{
					"hours": 2,
					"deadLine": "2024-08-18"
				}
			]
		},
		{
			"company": "Totvs",
			"branch": "D MG 01",
			"name": "José",
			"registration": "000002",
			"position": "Analisa Desenvolvedor",
			"costCenters": "00000001 - RH",
			"manager": "Taka",
			"department": "Desenvolvimento RH",
			"totalHours": 5.35,
			"details": [
				{
					"hours": 3.15,
					"deadLine": "2024-08-15"
				},
				{
					"hours": 2.2,
					"deadLine": "2024-08-15"
				}
			]
		},
		{
			"company": "Totvs",
			"branch": "M SP 01",
			"name": "Maria",
			"registration": "000001",
			"position": "Analisa Desenvolvedor",
			"costCenters": "00000001 - RH",
			"manager": "Taka",
			"department": "Desenvolvimento RH",
			"totalHours": -5:59,
			"details": [
				{
					"hours": -3.30,
					"deadLine": "2024-08-15"
				},
				{
					"hours": -2.29,
					"deadLine": "2024-08-15"
				}
			]
		}
	]
}

Saldo Banco de Horas - api/rh/v1/Charts

API responsável por trazer os dados que serão exibidos nos gráficos (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar os dados que serão exibidos nos gráficos (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Cadastro

Esta API contempla apenas a consulta dos dados que serão exibidos nos gráficos (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Processos

O Dashboard RH realizará o consumo da API para buscar os dados que serão exibidos nos gráficos (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB(Veriricar nome do fonte posteriormente);
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/Charts;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD.

Parâmetros de Entrada:

ParâmetroValor de ExemploObrigatórioTipoParâmetroDescrição
startDate"2024-07-01"SimDateBodyData inicial do período
endDate"2024-07-31"SimDateBodyData final do período
branch[" "] ou ["D MG 01", "D MG 02"]SimArrayBodyFiliais selecionadas
departament[" "] ou ["0000001 - M SP 01", "0000001 - M SP 01"]        SimArrayBodyDepartamentos selecionados
costCenter[" "] ou ["000000001 - M SP 01", "0000000001 - D MG 01"]SimArrayBodyCentros de Custo selecionados
manager[" "] ou ["GESTOR RH M SP (M SP 01  - 000001)", "GESTOR TI D MG (D MG 01  - 000002)"]SimArrayBodyGestores selecionados
acceptapplication/jsonSimStringHeader
content-typeapplication/jsonSimStringHeader

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/Charts

Response da API:

{

	"highlights": [
		{	
			// Não apresentar quando estiver vazios os dados de aumento e redução
			highlight: "branches"
			totalHours: 300
			biggestIncrease
				{
					data: ""
					value: 0
					hours: 0
				}
			biggestReduction
				{
					data: ""
					value: 0
					hours: 0
				}
		},
		{
			highlight: "departaments"
			totalHours: 300
			biggestIncrease
				{
					data: "Recursos Humanos"
					value: 60
					hours: 100
				}
			biggestReduction
				{
					data: "Financeiro"
					value: 40
					hours: 200
				}
		},
		{
			highlight: "costCenters"
			totalHours: 300
			biggestIncrease
				{
					data: "Desenvolvimento Jornadas"
					value: 60
					hours: 100
				}
			biggestReduction
				{
					data: "Desenvolvimento Rotinas"
					value: 40
					hours: 200
				}
		},
		{
			highlight: "managers"
			totalHours: 300
			biggestIncrease
				{
					data: "Fulano"
					value: 60
					hours: 100
				}
			biggestReduction
				{
					data: "Beltrano"
					value: 40
					hours: 200
				}
		}
	]
	"charts":[
		{
			"chartType": "branches"
			{
				"branch": "D MG 01"
				"data": [
					{"Jan/2024",367.43}
					{"Fev/2024",321}
					{"Mar/2024",298}
					{"Abr/2024",240}
				]
			},
			{
				"branch": "M SP 01"
				"data": {
					{"Jan/2024",500}
					{"Fev/2024",400}
					{"Mar/2024",300}
					{"Abr/2024",200}
				}
			}
		},
		{
			"chartType": "departaments"
			{
				"branch": "Recursos Humanos"
				"data": [
					{"1º Semana",500}
					{"2º Semana",400}
					{"3º Semana",300}
					{"4º Semana",200}
				]
			},
			{
				"branch": "Financeiro"
				"data": {
					{"1º Semana",500}
					{"2º Semana",400}
					{"3º Semana",300}
					{"4º Semana",200}
				}
			}
		},
		{
			"chartType": "costCenters"
			{
				"costCenter": "Desenvolvimento Jornadas"
				"data": [
					{"Jan/2024",500}
					{"Fev/2024",400}
					{"Mar/2024",300}
					{"Abr/2024",200}
				]
			},
			{
				"costCenter": "Desenvolvimento Rotinas"
				"data": {
					{"Jan/2024",500}
					{"Fev/2024",400}
					{"Mar/2024",300}
					{"Abr/2024",200}
				}
			}
		},
		{
			// Validar o USO do ABS
			"chartType": "managersPieChart"
			{
				"manager": "Fulano"
				"hours": 105.15
			},
			{
				"manager": "Fulano"
				"hours": -50.30
			}
		},
		{
			"chartType": "managers"
			{
				"manager": "Fulano"
				"data": [
					{"Jan/2024",500}
					{"Fev/2024",400}
					{"Mar/2024",300}
					{"Abr/2024",200}
				]
			},
			{
				"manager": "Beltrano"
				"data": {
					{"Jan/2024",500}
					{"Fev/2024",400}
					{"Mar/2024",300}
					{"Abr/2024",200}
				}
			}
		}
	]
}

Saldo Banco de Horas - api/rh/v1/DetailsCharts

API responsável por trazer o detalhamento do gráfico selecionado (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Ativação/Desativação da API

Por padrão esta API estará no sistema, porém será necessário realizar a devida configuração do serviço REST.

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância da linha Protheus.

Suporte

O suporte aos recursos da API será de responsabilidade da linha Protheus onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta API traz a funcionalidade exclusivamente para consultar o detalhamento do gráfico selecionado (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Cadastro

Esta API contempla apenas a consulta o detalhamento do gráfico selecionado (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Processos

O Dashboard RH realizará o consumo da API para buscar o detalhamento do gráfico selecionado (Evolução por Filial, Evolução por Departamento, Evolução por Centro de Custo, Horas por Gestor, Evolução por Gestor).

Como realizar a chamada da API REST

  • Preenchimento do EndPoint da API PONAPIDSB(Veriricar nome do fonte posteriormente);
  • Utilizar a chamada do método GET e do Serviço api/rh/v1/DetailsCharts;

Internamente o Protheus identifica automaticamente o endereço do servidor REST, porém para que isso aconteça será necessário habilitar a porta multiprotocolo do Appserver. Para mais informações sobre a porta multiprotocolo acesse o link abaixo:
https://tdn.totvs.com/x/jIUoI

Formatos de Data

As Entradas de dados tipo data(Date) acompanham o formato padrão YYYY-MM-DD.

Parâmetros de Entrada:

ParâmetroValor de ExemploObrigatórioTipoParâmetroDescrição
startDate"2024-07-01"SimDateBodyData inicial do período
endDate"2024-07-31"SimDateBodyData final do período
branch[" "] ou ["D MG 01", "D MG 02"]SimArrayBodyFiliais selecionadas
departament[" "] ou ["0000001 - M SP 01", "0000001 - M SP 01"]        SimArrayBodyDepartamentos selecionados
costCenter[" "] ou ["000000001 - M SP 01", "0000000001 - D MG 01"]SimArrayBodyCentros de Custo selecionados
manager[" "] ou ["GESTOR RH M SP (M SP 01  - 000001)", "GESTOR TI D MG (D MG 01  - 000002)"]SimArrayBodyGestores selecionados
chartType"branches" (Opções: "branches", "departaments", "costCenters", "managers")SimStringBodyIndicador selecionado
pageSize15SimNumberBodyItens por página
page1SimNumberBodyPágina selecionada
acceptapplication/jsonSimStringHeader
content-typeapplication/jsonSimStringHeader

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta Postman e após a configuração do server protheus a API Rest, a requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}:{porta}/{endereço Rest}/api/rh/v1/DetailsCharts

Response da API:

// Retorno do detalhamento dos gráficos de filiais, departamento e centro de custo.
{
	"totalPages": 2
	"rows": [
		{
			"company": "TOTVS SA",
			"data": "D MG 01" (A prorpiedade data será a descrição da Filial, Departamento ou Centro de Custo, por exemplo "data": "D MG 01" ou "data": "Recursos Humanos" ou "data": "Desenvolvimento Jornadas")
			"totalBalance": [
				{"Jan/2024",9}
				{"Fev/2024",10,3}
				{"Mar/2024",20,59}
				{"Abr/2024",-10,30}
			],
			"details": [
				{
					"employeeName": "Marco"
					"balance": [
						{"Jan/2024",4.3}
						{"Fev/2024",5.15}
						{"Mar/2024",10.29}
						{"Abr/2024",-5.15}
					]
				},
				{
					"employeeName: "Cicero"
					"balance: [
						{"Jan/2024",4.3}
						{"Fev/2024",5.15}
						{"Mar/2024",10.30}
						{"Abr/2024",-5.15}
					]
				}
			]
		},
		{
			"company": "TOTVS SA",    
			"data": "M SP 01" (A prorpiedade data será a descrição da Filial, Departamento ou Centro de Custo, por exemplo "data": "M SP 01" ou "data": "Recursos Humanos" ou "data": "Desenvolvimento Jornadas")
			"totalBalance": [
				{"Jan/2024",9}
				{"Fev/2024",10,3}
				{"Mar/2024",20,59}
				{"Abr/2024",-10,30}
			],
			"details": [
				{
					"employeeName": "Lourdes"
					"balance": [
						{"Jan/2024",4.3}
						{"Fev/2024",5.15}
						{"Mar/2024",10.29}
						{"Abr/2024",-5.15}
					]
				},
				{
					"employeeName": "Cleber"
					"balance": [
						{"Jan/2024",4.3}
						{"Fev/2024",5.15}
						{"Mar/2024",10.30}
						{"Abr/2024",-5.15}
					]
				}
			]
		}
	]
}

// Retorno do detalhamento dos gráficos de gestores.
{
	"totalPages": 2
	"rows": [
		{
			"company": "TOTVS SA",
			"branch": "D MG 01",
			"departament": "Recursos Humanos",
			"manager": "João"
			"totalBalance": 90.30,
			"details": [
				{
					"employeeName": "José"
					"balance": 40.15
				},
				{
					"employeeName": "Maria"
					"balance": 50.15
				}
			]
		},
		{
			"company": "TOTVS SA",
			"branch": "D MG 01",
			"departament": "Financeiro",
			"manager": "José"
			"totalBalance": -40.59,
			"details": [
				{
					"employeeName": "João"
					"balance: -20.29
				},
				{
					"employeeName": "Maria"
					"balance": -20.30
				}
			]
		}
	]
}