Histórico da Página
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.
messages: [0]
Em caso de erro a estrutura de retorno deve ser Utilizar a função RhRestERR(cCod,cMsg) para retornar essa estrutura:
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]\visoesRetorna 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. |
---|