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

R_FOP007

Módulo

Integração

Segmento Executor

TOTVS Folha de PagamentpPagamento

Projeto1

 

IRM1

 

Requisito1

PCREQ-3211

Subtarefa1

 

Chamado2

 

País

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

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

 

 

Estratégia de Desenvolvimento e Liberação

Produto

TOTVS Folha de Pagamento

Release que está sendo desenvolvido

12.1.410

Possui Réplica?

( )Sim  (x)Não

Qual a versão?

 

 

 

Objetivo

Permitir que o módulo SigaMNT do Protheus recupere a situação atual dos funcionários no módulo TOTVS Folha de Pagamento da linha RM.

 

Definição da Regra de Negócio

 

Rotinas Envolvidas

 

 

Regras de Negócio

Rotina

Tipo de Operação

Opção de Menu

-

[Transformação]

[Cadastro]

[Integração -> Mensagem Única -> Transformações]

-

[Mapeamento de Entidades]

[Cadastro]

[Integração -> Mensagem Única -> Integração mensagem única]

-

 

Será realizada evolução da integração TOTVS Manutenção de Ativos x BackOffice RM, onde será adicionado um mapeamento de uma mensagem de requisição, para que o Protheus solicite a situação dos funcionários e o RM retorne. O funcionamento da requisição será realizado através da arquitetura de mensageria única condizendo com a própria integração.

Para que o sincronismo dessa mensagem funcione corretamente, é necessário que os seguintes pré-requisitos sejam atendidos:

• WebService RM configurado no Protheus.

 • Cadastro do de-para da empresa/filial realizado.

 • Integração de funcionários realizada.

Para atender a arquitetura proposta, deverá ser utilizado/implementado os seguintes itens:

 Mensagem única: Será utilizada a mensagem de requisição GetEmployeeSituations_1_000, que atende a demanda desse requisito. Segue a estrutura da mensagem:

 

 

 

Mensagem Padrão

Descrição

RM

PROTHEUS

Obrigatório

Tabela

Campo

Obrigatório

Tabela

Campo

Request -> Protheus envia para RM

 

 

 

CompanyId

Código da empresa do funcionário

Sim

PFUNC

CODCOLIGADA

Sim

SM0

M0_CODIGO

BranchId

Código da filial do funcionário

Não

PFUNC

CODFILIAL

SIm

SRA

RA_FILIAL

CompanyInternalId

InternalId das informações da empresa

Sim

PFUNC

CODCOLIGADA | CODFILIAL

Sim

SRA

M0_CODIGO|RA_FILIAL

StartDate

Data inicial

Sim

x

CALCULADO

Sim

x

CALCULADO

FinishDate

Data final

Não

x

x

Não

x

x

StartEmployeeCode

InternalId inicial do funcionário

Sim

PFUNC

CHAPA

Sim

SRA

RA_MAT

FinishEmployeeCode

InternalId final do funcionário

Não

PFUNC

CHAPA

Não

SRA

RA_MAT

Mensagem Padrão

Descrição

RM

PROTHEUS

Obrigatório

Tabela

Campo

Obrigatório

Tabela

Campo

Return < ListOfEmployeeSituations> - > RM retorna para o Protheus

Employee

 

 

 

 

 

 

 

CompanyId

Código da empresa do funcionário

Sim

PFUNC

CODCOLIGADA

Sim

SM0

M0_CODIGO

BranchId

Código da filial do funcionário

Sim

PFUNC

CODFILIAL

Sim

SRA

RA_FILIAL

InternalId

InternalId das informações do Funcionário

Sim

PFUNC

CODCOLIGADA | CHAPA

Sim

SRA

M0_CODIGO|RA_FILIAL|RA_MAT

EmployeeCode

Matrícula do Funcionário

Sim

PFUNC

CHAPA

Sim

SRA

RA_MAT

WorkCenterCode

Centro de custo

Sim

PSECAO

NROCENCUSTOCONT

Sim

SRA

RA_CC

SiteCode

Código do Estabelecimento do Funcionário

Não

x

x

Não

x

x

<ListOfSituations>

Lista de situações

Sim

 

 

Sim

 

 

< ListOfSituations>

 

 

 

Situation

 

 

 

 

 

 

 

CommencementDate

Data início da situação

Sim

PFHSTSIT/PFHSTAFT/PFUFERIASPER

CALCULADO

Sim

SR8

R8_DATAINI

SituationLastDay

Data do último dia da situação

Sim

PFHSTSIT/PFHSTAFT/PFUFERIASPER

CALCULADO

Sim

SR8

R8_DATAFIM

INSSPaymentCommencement

Data início pagamento pelo INSS

Não

x

x

Não

x

x

OriginSituation

Origem da situação (Informada/Cálculo/Ponto/Divergência/Agrícola)

Não

x

x

Não

x

x

SituationDay

Número de dias em que o funcionário se encontra na situação

Sim

PFHSTSIT/PFHSTAFT/PFUFERIASPER

CALCULADO

Sim

SR8

R8_DURACAO

SituationTime

Quantidade de horas na situação

Não

x

x

Não

x

x

SituationScheduleEnd

Número horário término situação afastamento

Não

x

x

Não

x

x

CIDCode

Código do acidente ou doença para as situações de afastamento por doença

Não

x

x

Não

x

x

CommencementSchedule

Número Horário início situação afastamento

Não

x

x

Não

x

x

<SituationInformation>

Informações gerais da situação

Sim

 

 

Sim

 

 

<SituationInformation>

 

 

 

SituationCode

Código da situação

Não

x

x

Não

x

x

SituationMeaning

Significado da situação:

1 - Trabalhando

2 - Afastado

3 - Entrada Transferência

4 - Saída Transferência

5 - Férias

6 - Rescisão Contrato

7 - Falta Injustificada

8 - Jornada Incompleta

9 - Ausência Justificada

10 - Contrato Desativado

Sim

PCODSITUACAO

CODINTERNO

1 – A/V/X/Z

2 - U/P/T/E/M/R/W

3 - -

4 - -

5 – F/G

6 - D

7 - -

8 - -

9 - -

10 - C

Sim

R8

1 - em branco

2 - A

3 - 5

4 - 5

5 - F

6 - 2/4/H/I/K

7 - -

8 - -

9 - -

10 - 3/L

AbsenteeismType

Tipo do Afastamento:

1 - Ausência

2 - Doença

3 - Acidente

4 - Maternidade

5 - Paternidade

6 - Serviço Militar

7 - Licença Remunerada

8 - Licença não Remunerada

Não

PCODSITUACAO

CODINTERNO

1 - U

2 – P/I/O

3 - T

4 – E/W

5 - -

6 - M

7 – R/S

8 - L

Não

R8

R8_AFARAIS

1 - -

2 - 30/40

3 - 10/20

4 - 50

5 - -

6 - 60

7 - -

8 - 70

         

 

• Transformação: Será criado um cadastro de transformação para realizar a montagem da mensagem acima no RM. O cadastro será realizado através do configurador de integrações e terá as seguintes informações:

Image Added


Image AddedImage AddedImage Added

 

    Id (Nome da entidade): GETEMPLOYEESITUATIONS
   Versão (Versão da mensagem única): 1.000
  Tipo do server: Custom Adapter – adapter customizado.
  ›Descrição: Retorna a situação do funcionário conforme matrícula do funcionário e período informado.
  ›DataServer: Adapter para manipular os campos de entrada e o retorno enviado para o Protheus

 Será implementado uma chamada ao serviço de retorno das situações conforme imagens abaixo:


               Passo 1: Cadastro de código fonte



         Passo 2: Implementação das funções DoExecute() e CreateReturnContent()


• XsltEntrada: Transformação da parte de requisição da mensagem única para o contexto RM.

• XsltRetorno: Transformação do retorno RM para a mensagem única.

 

Para acessar o cadastro, seguir os passos abaixo:

 

           Passo 3: Acessar o módulo de integração

 

      Passo 4: Acessar o menu transformação


• De-para: O de-para é um requisito da própria integração. Precisa ser garantido que o de-para de empresa/filial esteja cadastrado, e que os funcionários já estejam integrados.

 • Mapeamento de entidades:  Será adicionado um novo cadastro de mapeamento à integração. O cadastro será realizado através do configurador de integrações e terá as seguintes informações:

    • Entidade: Transformação que será utilizada.

 

Para acessar o cadastro, seguir os passos abaixo:

    Passo 1: Acessar o módulo de integração


   Passo 2: Acessar o menu de integração 


   Passo 5: Selecionar a integração e acessar o anexo Mapeamento de Entidades 


• Configurador de integrações: O configurador será utilizado para realizar o cadastro dos itens acima. Deverá ser realizado novamente para integração conforme imagens abaixo

   Passo 6: Acessar o módulo de integração 


    Passo 7: Acessar o menu Configurar 


    Passo 8: Informar usuário/senha do banco de dados e avançar 



    Passo 9: Selecionar a opção da integração destacada e avançar


    Passo 10: Executar o processo para atualizar a integração 

 

Regras de Integridade

Parâmetros necessários:

Para o correto funcionamento da integração, o Protheus deverá enviar as informações obrigatórias para o RM:

• CompanyId: Código da empresa do funcionário
• StartDate: Data início da situação
• FinishDate: Data fim da situação
• StartEmployeeCode: InternalId do funcionário

No caso de ser apenas um dia, o FinishDate deverá ter o mesmo calor que o StartDate. 

Matrícula do funcionário:

Como a chapa pode ser valor alfanumérico, não será utilizado a faixa de matrículas. Nesse caso será utilizado somente a tag StartEmployeeCode, enquanto a tag FinishEmployeeCode ficará obsoleta.

 

Mapeamento das situações no RM

O mapeamento das situações no RM será realizado da seguinte maneira:

 

1) Segue o de-para das situações da mensagem única com as situações do RM:

 Significado da situação:

 

PCODSITUACAO.CODINTERNO

DESCRIÇÃO

1 - Trabalhando

A/V/X/Z

Ativo

2 - Afastado

U/P/T/E/M/R/W

Afastado

3 - Entrada Transferência

-

-

4 - Saída Transferência

-

-

5 - Férias

F/G

Férias

6 - Rescisão Contrato

D

Demitido

7 - Falta Injustificada

-

-

8 - Jornada Incompleta

-

-

9 - Ausência Justificada

-

-

10 - Contrato Desativado

C

Contrato de Trabalho Suspenso

 

Tipo do afastamento:

 

PCODSITUACAO.CODINTERNO

DESCRIÇÃO

1 - Ausência

U

Outros

2 - Doença

P/I/O

Previdência Social/ Apos. Invalidez/ Doença Ocupacional

3 - Acidente

T

Acidente do Trabalho

4 - Maternidade

E/W

Licença Mater./ Licença Mater. Compl. 180 dias

5 - Paternidade

-

-

6 - Serviço Militar

M

Serv. Militar

7 - Licença Remunerada

R/S

Licença Remun./ Mandato Sindical

8 - Licença não Remunerada

L

Licença s/venc

 

1) Será verificado se a data informada é anterior a data de admissão do funcionário. Caso positivo será enviado um retorno informando que o funcionário não estava admitido.

2) Se a data informada for igual ou posterior a data de admissão:

   2.1) Será verificado se existe data de desligamento e a data informada é maior ou igual a data desligamento. Caso positivo a situação mapeada será “D”. (Demitido).

   2.2) Caso negativo, será verificado se existe data de desligamento e a data informada é menor que a data desligamento, ou se não existe a data de desligamento. Caso positivo:
        2.2.1) O sistema irá verificar no histórico de férias se possui período de gozo na data informada. Caso positivo a situação mapeada será “F”. (Férias).
        2.2.2) Caso negativo, o sistema irá verificar no histórico de afastamento se o funcionário esteve afastado na data informada. Caso positivo a situação mapeada será o tipo do afastamento encontrado.
        2.2.3) Caso negativo, o sistema irá verificar no histórico de situação se o funcionário possui histórico para a data informada. Caso positivo a situação mapeada será a situação encontrada no histórico.
        2.2.4) Caso negativo, a situação mapeada será “A”. (Ativo)

3) A data início e fim da situação será conforme o histórico. Caso a situação seja a situação atual, a data fim enviada será a data atual.

Exemplos:  

Situação 1

Funcionário demitido em 15/03/2015 

Hoje é 15/03/2015 e foi pedido a situação do funcionário em 16/03/2015.
Deverá retornar a situação ‘D’ (15/03/2015 a data atual)

Hoje é 15/03/2015 e foi pedido a situação do funcionário em 14/03/2015.
Deverá verificar se o funcionário está de férias ou afastado, caso não esteja em nenhumas destas situações deverá verificar se a data está dentro de algum dos períodos do histórico de situação e retornar a situação equivalente. Caso não seja encontrado em nenhuma dessas alternativas, deverá ser retornado ‘A’ (Ativo) como padrão (Data admissão a data atual).

Situação 2 :

Funcionário Ativo em 15/03/2015
Férias em 01/04/2015 a 20/04/2015
Afastado por Acidente do Trabalho em 01/02/2015 a 28/02/2015

 

Hoje é 15/03/2015 e foi pedido a situação do funcionário em 16/03/2015, deverá retornar ‘A’ (Ativo) (15/03/2015 a 31/03/2015)
Hoje é 15/03/2015 e foi pedido a situação do funcionário em 01/04/2015, deverá retornar ‘F’ (Férias) (01/04/2015 a 20/04/2015)
Hoje é 15/03/2015 e foi pedido a situação do funcionário em 10/02/2015, deverá retornar ‘T’ (Afastado por acidente de trabalho)
(01/02/2015 a 28/02/2015)

 

Release Notes

 

Módulo

[Integração por mensagem única / Integração]

Função

[Recebimento de requisição por mensagem única]

Situação/Requisito

[Requisição do Protheus para saber a situação do funcionário no RM]

Solução/Implementação

[Evolução da integração para mapeamento da nova mensagem de requisição].

Conversores de Parâmetros: 

Não se aplica


Fluxo do Processo


Casos de Testes

Um caso de teste contém informações gerais que determinam como testes anteriormente especificado pelo Plano de Testes devem ser conduzidos. Geralmente, eles são agrupados por requisito. Entretanto, é possível agrupar casos de teste por conjunto de requisitos, caso os testes estejam verificando integradamente os requisitos que pertencem a esse conjunto.

Os casos de testes mencionados abaixo devem ser executados para garantir a qualidade do produto, atendendo a finalidade do projeto e os resultados esperados.

 

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