Árvore de páginas

Versões comparadas

Chave

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

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

Especificação

Produto

Microsiga Protheus

Módulo

SIGAORG

Segmento Executor

Serviços

Projeto1

M_SER_RH_001 

IRM1

PCREQ-4517

Requisito1

PCREQ-4518

Subtarefa1

 

Chamado2

 

Release de Entrega Planejada

12.1.9

Réplica

 

País

(  ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (X  ) Outro : Todos

Outros

Portal Gestão do Capital Humano envolvido

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

(Obrigatório)

Objetivo

Desenvolver o Arquitetura Organizacional(SIGAORG) utilizando o TOTVS HTMLFramework.
Com o novo Arquitetura Organizacional será possível cadastrar departamentos, visões e  montar suas estruturas de forma rápida e fácil dentro do Fluig. 

Alguns Objetivos:

  • Power-Up Fluig -  Pode ser utilizado em conjunto com os mecanismos de atribuição
  • SOA - 100% Stateless
  • Arquitetura Unica - Sistema único de aprovadores que possa atender todos os módulos

 

(Obrigatório)

Definição da Regra de Negócio

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

ORGW010

[Criação]

-

Serviço Rest de Cadastro de Departamentos

CSAA100

[Envolvida]

[Atualizações -> Cadastros-> Deparatamentos]

 

ORGW001

[Criação]

-

Serviço Rest de Cadastro de Visão

ORGW002[Criação]

-

Serviço Rest de Cadastro de Entidades
ORGW003[Criação]-Serviço Rest de Cadastro de Funções
ORGW004[Criação]-Serviço Rest de Cadastro de Cargos
ORGW005[Criação]-Serviço Rest de Consulta de Centro Custo

 

O Intuito é facilitar a criação das estruturas de aprovação da empresa para isso vamos desenvolver as rotinas utilizando o novo TOTVS HTMLFramework integrado com o Fluig.
Toda a comunicação com o ERP será feita através de Rest/Json, que deverá seguir algumas regras descritas abaixo, a interface será em HTML5 com AngularJs e Bootstrap.

A tela inicial(protótipo abaixo) terá as visões já cadastradas com opção de editar/excluir/Clonar/Incluir e um menu com os cadastros auxiliares, como Departamento, Centro de Custo, Função, Cargo.

Uma alteração importante será realizada na estrutura de tabelas responsáveis por guardar os dados do nível hierárquico, por isso será necessário ao gravar essas novas tabelas atualizar as antigas e vice versa para que alterações feitas tanto pelo ERP quanto pela Web funcionem corretamente.

Vamos prover serviços Rest para que outros sistemas como o Fluig possam consultar o próximo aprovador e assim poder distribuir corretamente os WorkFlow's.

 

Interfaces


Todas as interfaces devem respeitar as características do dicionário de dados, como mascara, validação, obrigatoriedade, consulta F3, tamanho. Como a integração interface X dicionário não é automática, no desenvolvimento prestar muita atenção a esses pontos

  • Tela Inicial 
  • Cadastro de Departamentos
  • Cadastro de Cargos
  • Cadastro de Funções
  • Cadastro de Entidades
  • Cadastro de Visões

Alterar CSAA100

Alterar a rotina de gravação Cs100Grava() para quando for Execauto não utilizar o "ConfirmSX8()" e fazer o rollback da numeração, pois o código do departamento virá do serviço REST

Criar a Função RhRestRet(oObj,nTam)

Essa função será utilizada para montar o retorno em Json dos métodos. Ela adiciona as propriedades especificas que o HTMLFramework necessita.

Criar a Função RhRestERR(cCod,cMsg)

Essa função será utilizada para montar o retorno de erro em Json dos métodos. Ela adiciona as propriedades especificas que o HTMLFramework necessita.

Criação de serviços Rest

Os retorno sempre deverão conter a seguinte estrutura:

O Recno dos registros também devem ser devolvidos na propriedade ID, é através dele que os registros são localizados para edição/deleção.
 

{data: {Estrutura de retorno de cada serviço ; Exemplo Departamento
CENTROCUSTO" "
CODIGO"000000001"
DEPARTAMENTOSUP" "
DESCRCENTROCUSTO" "
DESCRICAO"RECURSO HUMANOS"
FILIAL"D MG "
FILIALRESP"D MG 01 "
ID1
MATRICULARESP"006145"
}
length0 = quantidade de registros
messages[0]
}

Em caso de erro a estrutura de retorno deve ser Utilizar a função RhRestERR(cCod,cMsg) para retornar essa estrutura:

{
datanull
length0
messages
[1]0:{
CODE"400"
DETAIL"Departamento não encontrado"
TYPE"error"
}
}

EntidadeVisão (ORGW002ORGW001)

Consultar tabela de Entidadesvisões(QN6)RDK)

Criar campo RDK_ENTIDA, para gravar o código da Entidade que esta relacionada.

Estrutura de Retorno: Utilizar a função RhRestRet() para transformar o retorno em Json.

WSDATA id AS integer ->(Recno)
WSDATA filial AS string
WSDATA Codigo codigo AS string
WSDATA Descricao descricao AS string string
WSDATA Alias status AS string string
WSDATA Chave hierarquia AS string string
WSDATA CampoIdEntidade tipo AS string string
WSDATA CampoDescrEntidade dataInclusao AS stringdate
WSDATA CampoDetalheEntidade dataSuspensao AS string date

(GET)\entidadevisao

Retorna uma lista com os dados das Entidades visões respeitando os parâmetros StartIndex e Limit, que definem a partir de quando começa a pesquisa e quantos registros devem retornar.

(GET)\entidadevisao\[idEntidadeidVisao]

Retorna os dados da Entidade visão respeitando o parâmetro recebido.

(GET)\entidade\[idEntidade]\visoes

Retorna todas as visões

(

RDK) que estão cadastradas para esta entidade, através do campo RDK_ENTIDA.

WSSTRUCT TEntidadeVisao
WSDATA idVisao as Integer
WSDATA filial AS string
WSDATA codigo AS string
WSDATA descricao AS string
WSDATA status AS string
ENDWSSTRUCT

 

(GET)\entidade\[idEntidade]\relacionamentos

(Post)\entidadevisao

Insere os dados da Entidade de visão e retorna o código do mesmo.

(Put)\entidadevisao\[identidadeidVisao]

Atualiza os dados da Entidadee Visão e retorna o código do mesmo.

(DELETE)\entidadevisao\[idEntidadeidvisao]

Exclui a Entidade Visão e retorna o código do mesmo.


\visao\[idVisao]\estrutura
\visao\[idVisao]\entidade

Entidade(ORGW002Visão (ORGW001)

Consultar tabela de visõesEntidades(RDK)Criar campo RDK_ENTIDA, para gravar o código da Entidade que esta relacionada.QN6)

Estrutura de Retorno: Utilizar a função função RhRestRet() para transformar o retorno em Json.

WSDATA id AS integer ->(Recno)
WSDATA filial AS string
WSDATA codigo Codigo AS string
WSDATA descricao Descricao AS stringstring 
WSDATA status Alias AS stringstring 
WSDATA hierarquia Chave AS stringstring 
WSDATA tipo CampoIdEntidade AS stringstring 
WSDATA dataInclusao CampoDescrEntidade AS datestring
WSDATA dataSuspensao CampoDetalheEntidade AS datestring 

(GET)\visaoentidade

Retorna uma lista com os dados das visões Entidades respeitando os parâmetros StartIndex e Limit, que definem a partir de quando começa a pesquisa e quantos registros devem retornar.

(GET)\visaoentidade\[idVisaoidEntidade]

Retorna os dados da visão Entidade respeitando o parâmetro recebido.

(GET)\entidade\[idEntidade]\visoes

Retorna todas as visões(RDK) que estão cadastradas para esta entidade, através do campo RDK_ENTIDA.

WSSTRUCT TEntidadeVisao
WSDATA idVisao as Integer
WSDATA filial AS string
WSDATA codigo AS string
WSDATA descricao AS string
WSDATA status AS string
ENDWSSTRUCT

 

(GET)\entidade\[idEntidade]\relacionamentos


(Post)\visaoentidade

Insere os dados de visão da Entidade e retorna o código do mesmo.

(Put)\visaoentidade\[idVisaoidentidade]

Atualiza os dados da Visão e Entidadee retorna o código do mesmo.

(DELETE)\visaoentidade\[idvisaoidEntidade]

Exclui a Visão Entidade e retorna o código do mesmo.

\visao\[idVisao]\estrutura

\visao\[idVisao]\entidade


Funções (ORGW003)

Consultar tabela de Funções(SRJ)

Estrutura de Retorno: Utilizar a função RhRestRet() para transformar o retorno em Json.

WSDATA id as Integer
WSDATA filial AS string
WSDATA codigo AS string
WSDATA descricao AS string
WSDATA cbo2002 AS string
WSDATA cbo1994 AS string
WSDATA maodeobra AS string
WSDATA cargo AS string
WSDATA descrcargo AS string
WSDATA salario AS float
WSDATA requisitos AS string
WSDATA imprimeppp AS string
WSDATA funcaolider AS string

(GET)\funcao

Retorna uma lista com os dados das funções respeitando os parâmetros StartIndex e Limit, que definem a partir de quando começa a pesquisa e quantos registros devem retornar.

(GET)\funcao\[idFuncao]

Retorna os dados da Função de acordo com o Id recebido.

(Post)\funcao

Insere os dados de Função e retorna o código do mesmo.

(Put)\funcao\[idFuncao]

Atualiza os dados da Função e retorna o código do mesmo.

(DELETE)\funcao\[idfuncao]

Exclui a Função e retorna o código do mesmo.

 

Cargos (ORGW004)

Consultar tabela de Cargos(SQ3)

Estrutura de Retorno: Utilizar a função RhRestRet() para transformar o retorno em Json.

WSSTRUCT TCargo
WSDATA id as Integer
WSDATA filial AS string
WSDATA codigo AS string
WSDATA descricao AS string
WSDATA centrocusto AS string
WSDATA descrcc AS string
WSDATA descrdet AS string
WSDATA responsabilidade AS string
WSDATA relacionamento AS string
WSDATA habilidades AS string
WSDATA grupo AS string
WSDATA departamento AS string
ENDWSSTRUCT

(GET)\cargo

Retorna uma lista com os dados dos Cargos respeitando os parâmetros StartIndex e Limit, que definem a partir de quando começa a pesquisa e quantos registros devem retornar.

(GET)\cargo\[idCargo]

Retorna os dados do Cargo de acordo com o Id recebido.

(Post)\cargo

Insere os dados de Cargo e retorna o código do mesmo.

(Put)\cargo\[idCargo]

Atualiza os dados do Cargo e retorna o código do mesmo.

(DELETE)\cargo\[idCargo]

Exclui o Cargo e retorna o código do mesmo.
 

CentroCusto(ORGW005)

Consultar tabela de Centro de Custo(CTT) para utilizar em consulta F3

Estrutura de Retorno: Utilizar a função RhRestRet() para transformar o retorno em Json.

WSSTRUCT TCentroCusto
WSDATA id as Integer
WSDATA filial AS string
WSDATA codigo AS string
WSDATA descricao AS string
ENDWSSTRUCT

(GET)\centrocusto

Retorna uma lista com os dados dos Centros de Custo respeitando os parâmetros StartIndex e Limit, que definem a partir de quando começa a pesquisa e quantos registros devem retornar.

(GET)\centrocusto\[idcentrocusto]

Retorna os dados do Centro de Custo respeitando o parâmetro recebido.
 

Departamento (ORGW010)

Consultar tabela de departamentos(SQB)

Estrutura de Retorno: Utilizar a função RhRestRet() para transformar o retorno em Json.

WSDATA id AS integer ->(Recno)
WSDATA filial AS string
WSDATA codigo AS string
WSDATA descricao AS string
WSDATA centrocustro AS string
WSDATA descrcentrocusto AS string
WSDATA filialresp AS string
WSDATA matricularesp AS string
WSDATA departamentosup AS string

(GET)\departamento

Retorna uma lista com os dados dos departamentos respeitando os parâmetros StartIndex e Limit, que definem a partir de quando começa a pesquisa e quantos registros devem retornar.

(GET)\departamento\[idDepartamento]

Retorna os dados do departamento de acordo com o Id recebido.

(Post)\departamento

Insere os dados de departamento e retorna o código do mesmo.

(Put)\departamento\[idDepartamento]

Atualiza os dados de departamento e retorna o código do mesmo.

(DELETE)\departamento\[idDepartamento]

Exclui o departamento e retorna o código do mesmo.


Tabelas Utilizadas

  • SQB – Cadastro de Departamentos
  • RDK – Cadastro de Visões
  • RD4 - Itens da Visão
  • QN6 - Cadastro de Entidades
  • SRJ - Cadastro de Funções
  • SQ3 - Cadastro de Cargos
  • CTT - Cadastro de Centro de Custos

Opcional

Protótipo de Tela

Protótipo 01 - Home

 

Protótipo 02 - Menu da Visão

Protótipo 03 - Criar nova Visão

!

Protótipo 04 - Excluir Visão


Protótipo 05 - Selecionar Entidade



Protótipo 06 - Menu Entidades


Protótipo 07 - Tela Inicial Visão





 


 

 

 

 

 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

Opcional

Dicionário de Dados

 

Arquivo : RDK – Cabeçalho de Visões  

Índice

Chave

05

RDK_FILIAL + RDK_ENTIDA

Campo

RDK_ENTIDA

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Cod.Entidade

Descrição

Código da Entidade

Usado

Sim

Obrigatório

Não

Browse

Sim

Propriedade

Alterar

Ordem

09

 

Arquivo : QN6 – Cadastro de Entidades  

Índice

Chave

01

QN6_FILIAL + QN6_CODIGO + QN6_ALIAS

02

QN6_FILIAL + QN6_ALIAS

Campo

QN6_FILIAL

Tipo

Caracter

Tamanho

8

Decimal

0

Título

Filial

Descrição

Filial

Usado

Não

Obrigatório

Não

Browse

Sim

Contexto

Real

Propriedade

Alterar

Grupo de Campos

033 - Tamanho da Filial

Ordem

01

Campo

QN6_CODIGO

Tipo

Caracter

Tamanho

6

Decimal

0

Título

Cod.Entidade

Descrição

Código Entidade

Usado

Sim

Obrigatório

Sim

Browse

Sim

Val. Sistema

NaoVazio()

Contexto

Real

Propriedade

Alterar

Ordem

02

Campo

QN6_DESCR

Tipo

Caracter

Tamanho

40

Decimal

0

Formato

@!

Título

Descrição

Descrição

Descrição da Entidade

Usado

Sim

Obrigatório

Sim

Browse

Sim

Val. Sistema

NaoVazio()

Contexto

Real

Propriedade

Alterar

Ordem

03

 

Campo

QN6_ALIAS

Tipo

Caracter

Tamanho

3

Decimal

0

Formato

@!

Título

Alias

Descrição

Alias da entidade

Usado

Sim

Obrigatório

Sim

Browse

Sim

Val. Sistema

NaoVazio()

Contexto

Real

Propriedade

Alterar

Ordem

04

 

Campo

QN6_CHAVE

Tipo

Caracter

Tamanho

40

Decimal

0

Título

Chave

Descrição

Chave Primaria do Alias

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

05

 

Campo

QN6_ENTCOD

Tipo

Caracter

Tamanho

15

Decimal

0

Título

Campo Cod.

Descrição

Campo Cod. Alias

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

06

 

Campo

QN6_ENTDES

Tipo

Caracter

Tamanho

15

Decimal

0

Título

Campo Descr

Descrição

Campo Descr. Alias

Usado

Sim

Obrigatório

Não

Browse

Não

Ordem

07

 

Campo

QN6_ENTDET

Tipo

Caracter

Tamanho

15

Decimal

0

Título

Campo Detal.

Descrição

Campo Detalhe Alias

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

08

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

Nome: FINSRF2

X1_ORDEM

01

X1_PERGUNT

Emissão De

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'

X1_HELP

Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

Consulta: AMB

Descrição

Configurações de Planejamento

Tipo

Consulta Padrão

Tabela

“AMB”

Índice

“Código”

Campo

“Código”; ”Descrição”

Retorno

AMB->AMB_CODIGO

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.