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 | 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:
›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. |
---|