Á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

Datasul

Módulo

Portal HCM

Segmento Executor

Manufatura

Projeto

D_MAN_HCM002

IRM

PCREQ-540

Requisito

PCREQ-6092

Subtarefa

PDRMAN-4425

Release de Entrega Planejada

12.1.9

País

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

(  ) USA  (  ) Colombia   (  ) Outro _____________.

 

Objetivo

Possibilitar a consultar e alteração pelo funcionário de seus dados cadastrais relacionados ao eSocial.


Definição da Regra de Negócio

Ao entrar no Portal HCM no portlet Meus Dados existirá uma aba chamada "eSocial". Nesta aba o funcionário terá duas opções:

  • Download: Exportar uma planilha excel contendo todos os dados cadastrais do eSocial relativos ao funcionário, como: dados pessoais, endereço, identificação funcional e documentos (ver tabela de localização dos campos eSocial logo abaixo).
  • Upload: Importar a planilha excel exportada acima. Os dados alterados serão gravados no HCM.

Abaixo segue o fluxo completo deste processo:

Nota
titleFLUIG

As apis do processo 3 devem ser construidas para que sejam reaproveitadas no Fluig.

 

Rotina

Tipo de Operação

FP0170 - Manuteção Grupo de Informações

Alteração

Portlet Meus Dados - EmployeeDataView

Alteração

varinc/varXXXXX.i

Novo

object/sopy/brw/b02py262.wAlteração
FPAPI054.pAlteração
FPAPIXXXNovo

 

Tabelas de localização dos campos eSocial

Relação dos campos eSocial do funcionário que serão incluídos na planilha excel e o tipo possível de permissão no mesmo (consulta ou alteração).

 

Legenda
Campo HCMNome do campo na tela do HCM
Campo eSocialNome do campo no layout do eSocial
Campo FlexNome do campo equivalente que será usado na planilha
Campo NovoIndica se esse campo não existe nas demais telas flex do Portal HCM
ProgramaCódigo da tela do HCM que contem o campo
TabelaTabela no banco do HCM onde o valor do campo é armazenado
Tipo PermissãoIndica se o funcionário poderá alterar o valor do campo na planilha
ZoomIndica se o campo é do tipo combobox
Pessoal
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
1Nome eSocialnmTrabNome eSocialSimFP1440Acompl_pessoa_fisic.nom_pessoa_fisic_spedalterarNão
2SexosexoSexoNãoFP1440rh_pessoa_fisic.idi_sexoconsultarSim
3CútisracaCorCútisSimFP1440rh_pessoa_fisic.idi_cor_cutisconsultarSim
4Estado CivilestCivEstado CivilNãoFP1440rh_pessoa_fisic.idi_estado_civilalterarSim
5Grau InstruçãograuInstrGrau de InstruçãoNãoFP1440rh_pessoa_fisic.cdn_grau_instrucalterarSim
6Data NascimentodtNasctoData NascimentoNãoFP1440

rh_pessoa_fisic.dat_nascimento

consultarNão
7MunicípiocodMunicMunicípio NascimentoSimFP1440A

compl_pessoa_fisic.cod_livre_1,2,7

alterarSim
8UF NascimentoufUF NascimentoNãoFP1440rh_pessoa_fisic.cod_unid_federac_nascalterarSim
9País NascimentopaisNasctoPaís NascimentoNãoFP1440rh_pessoa_fisic.cod_pais_nascalterarSim
10País NacionalidadepaisNacPaís NacionalidadeSimFP1440Acompl_pessoa_fisic.cod_livre_1,9,3alterarSim
11Nome MãenmMaeNome da MãeNãoFP1440

rh_pessoa_fisic.nom_mae_pessoa_fisic

alterarNão
12Nome PainmPaiNome do PaiNãoFP1440

rh_pessoa_fisic.nom_pai_pessoa_fisic

alterarNão
Endereço
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
13Tipo LogradourotpLogradTipoSimFP1440Acompl_pessoa_fisic.cod_tip_logradalterarSim
14EndereçodscLogradEndereçoNãoFP1440rh_pessoa_fisic.nom_ender_rhalterarNão
15No. Res.nrLogradNúmeroNãoFP1440rh_pessoa_fisic.cod_livre_1,066,008alterarNão
16Ponto ReferênciacomplementoPonto ReferênciaNãoFP1440rh_pessoa_fisic.nom_pto_referalterarNão
17BairrobairroBairroNãoFP1440rh_pessoa_fisic.nom_bairro_rhalterarNão
18CEPcepCEPNãoFP1440rh_pessoa_fisic.cod_cep_rhalterarNão
19MunicípiocodMunicMuncípioSimFP1440Acompl_pessoa_fisic.cod_livre_1,085,007alterarSim
20UFufUFNãoFP1440rh_pessoa_fisic.cod_unid_federac_rhalterarSim
21País EndereçopaisResidPaís EndereçoNãoFP1440rh_pessoa_fisic.cod_pais_enderalterarSim
22TelefonefonePrincTelefoneNãoFP1440rh_pessoa_fisic.num_ddd + rh_pessoa_fisic.num_telefonealterarNão
23Telefone ContatoFoneAlternatTelefone ContatoNãoFP1440rh_pessoa_fisic.num_ddd_contat +  rh_pessoa_fisic.num_telef_contatalterarNão
24E-mailemailPrincE-mailNãoFP1440rh_pessoa_fisic.nom_e_mailalterarNão
25E-mail ContatoemailAlternatE-mail ContatoSimFP1440rh_pessoa_fisic.cod_livre_1,26,40alterarNão
Endereço / Endereço Exterior
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
26Cidade ExteriornmCidCidade ExteriorSimFP1440Acompl_pessoa_fisic.nom_cidad_exterioralterarNão
27Código Endereçamento PostalcodPostalCódigo Endereçamento PostalSimFP1440Aompl_pessoa_fisic.cod_livre_1,072,010alterarNão
Identificação Funcional / Trabalhador Estrangeiro
IDAgrupador FlexCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
28Identificação Funcional / Trabalhador EstrangeiroChegadadtChegadaData ChegadaSimFP1440Acompl_pessoa_fisic.cod_livre_1,92,8alterarNão
29Identificação Funcional / Trabalhador EstrangeiroCondiçãoclassTrabEstrangCondiçãoSimFP1440Acompl_pessoa_fisic.idi_cond_trabdor_estrangalterarSim
30Identificação Funcional / Trabalhador EstrangeiroCasado com brasileirocasadoBrCasado com brasileiroSimFP1440Acompl_pessoa_fisic.cod_livre_1,100,1alterarNão
31Identificação Funcional / Trabalhador EstrangeiroFilhos brasileirosfilhosBrFilhos brasileirosSimFP1440Acompl_pessoa_fisic.cod_livre_2,1,1alterarNão
Documentos / Identificação
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
32CPFcpfTrabCPFNãoFP1440, FP1500funcionario.cod_id_federconsultarNão
33Carteira IdentidadenrRgCarteira IdentidadeNãoFP1440

rh_pessoa_fisic.cod_id_estad_fisic

alterarNão
34Orgão EmissororgaoEmissorÓrgão EmissorNãoFP1440

campo compl_pessoa_fisic.num_livre_1 + rh_pessoa_fisic.cod_orgao_emis_id_estad

alterarSim
35Emissão IdentidadedtExpedEmissão IdentidadeNãoFP1440rh_pessoa_fisic.dat_emis_id_estad_fisicalterarNão
Documentos / Identificação / Registro de Identidade Civil
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
36RICnrRicNúmeroSimFP1440compl_pessoa_fisic.cod_ricalterarNão
37Órgão Emissor RICorgaoEmissorÓrgão EmissorSimFP1440compl_pessoa_fisic.cod_orgao_emis_ricalterarNão
38Exped RICdtExpedData EmissãoSimFP1440compl_pessoa_fisic.dat_expedic_ricalterarNão
Documentos / Carteira de trabalho
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
39Número CTPSnrCtpsCTPSNãoFP1500funcionario.cod_cart_trabalterarNão
40SérieserieCtpsSérieNãoFP1500funcionario.cod_ser_cart_trab,4,5alterarNão
41UFufCtpsUFNãoFP1500funcionario.cod_unid_federac_cart_trabalterarSim
Documentos / Outros
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
42PISnisTrabPISNãoFP1500funcionario.cod_pisconsultarNão
43Matrícula INSSnisTrabMatrícula INSSNãoFp1500 funcionario.cod_func_inssconsultarNão
44NISnisTrabNISSimFP1440Acompl_pessoa_fisic.cod_nume_ident_socialconsultarNão
Documentos / Outros / Estrangeiro
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
45Ident EstrangnrRneNumero da IdentidadeSimFP1440rh_pessoa_fisic.cod_identde_estrangalterarNão
46Emissor RNEorgaoEmissorÓrgão Emissor RNESimFP1440Acompl_pessoa_fisic.cod_livre_1,036,020alterarNão
47Emissão RNEdtExpedData Emissão RNESimFP1440Acompl_pessoa_fisic.cod_livre_1,028,008alterarNão
Documentos / Outros / Órgão de Classe
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
48Registro ProfissionalnrOcNúmero do RegistroSimFP3800habilid_profis_func.cod_reg_profis_funcalterarNão
49Ent Classe + UForgaoEmissorÓrgão EmissorSimFP1040, FP3800habilid_profis.cod_entid_clas_profis + ' ' + string(habilid_profis_func.cod_unid_federac_rh)alterarSim
50ExpediçãodtExpedData EmissãoSimFP3800Fhabilid_profis_func.dat_livre_1alterarNão
51ValidadedtValidData ValidadeSimFP3800Fhabilid_profis_func.dat_livre_2alterarNão
Documentos / Outros / CNH
IDCampo HCMCampo eSocialCampo FlexCampo Novo?ProgramaTabelaTipo PermissãoZoom?
52Cart HabilitaçãonrCnhRegistro CNHSimFP1500funcionario.num_cart_habilitalterarNão
53ExpediçãodtExpedData Emissão CNHSimFP1500Ffuncionario.cod_livre_4,115,008alterarNão
54UFufCnhUF CNHSimFP1500funcionario.cod_livre_1,10,4alterarSim
55Vencimento HabilitaçãodtValidadeData Validade CNHSimFP1500funcionario.dat_vencto_habilitalterarNão
56Data Primeira CNHdtPriHabData Primeira CNHSimFP1500Fsped_participan.dat_primei_cnhalterarNão
57Categoria HabilitaçãocategoriaHabCategoria CNHSimFP1500funcionário.cod_categ_habilitalterarNão

 

FP0170 - Manutenção Grupo de Informações

  • Criar um novo grupo de informações chamado: "P01 - Portal Meus Dados". (segur_grp_atrib_dados, grp_atrib_dados).
    • Esse grupo terá lógica semelhante ao do grupo FIS.
      • Criar três tipos de permissões para a pasta: sem permissão, consultar e alterar.
      • Criar arquivo .d de inicialização da tabela segur_grp_atrib_dado, onde terá dois grupos default: QSQ e COO. Esses grupos terão o tipo permissão default CONSULTAR.
    • Criar a include (varinc/varXXXXX.i) para conter  a pasta com o nome eSocial.
      • Essa include será semelhante a var10108.i.
    • Alterar oprograma  object/sopy/brw/b02py262.w para tratar o novo grupo P01.


Protótipo Grupo de Informações - P01 Portal Meus Dados



Meus Dados - Api Progress


ProgramaDependênciaProcedureTipoObjetivoParâmetrosRegraRetorno
FPAPIXXXFPAPI054/pi_segurancapi_habilita_eSocialNovoRetornar se a aba eSocial será mostrada para o funcionário.
  • empresa
  • estabelecimento
  • funcionário
  • verificar se o eSocial não está habilitado para aquele empregador (estabelecimento), então,  caso verdadeiro, cria tt-erro com a mensagem 2 (Importante: Para fazer essa verificação a api deverá chamar o FPEFD502, e, caso retorne 1, significa que o eSocial não está habilitado).
    • Se estiver habilitado para o eSocial, então, chama a pi_segurança, para verificar se o funcionário tem acesso ao eSocial. Caso verdadeiro, cria a tt-erro com a mensagem 3.
tt-erro
FPAPI054 pi_segurancaAlteraçãoAlterar a api para retornar a segurança do grupo de informações P01 
  • Na pi-seguranca quando p_tipo_usuario = 1 adicionar condição para o grupo P01 e alimentar a tt_segur_grp_atrib_dado. Lógica idêntica a do grupo FIS.
  • Na pi-seguranca quando p_tipo_usuario = 2 adicionar condição para o grupo P01 e alimentar a tt_segur_grp_atrib_dado. Lógica idêntica a do grupo FIS.

Importante: Caso um funcionário esteja em dois ou mais grupos de segurança, deve-se considerar a permissão do grupo menos restritivo. Exemplo: Funcionário Pedro possui os grupos QSQ e FUN. O grupo QSQ tem permissão para consultar. Já o grupo FUN tem permissão para alterar. Neste caso a permissão que vale é a de alterar. A sequência de restrição é: Sem permissão -> Consultar -> Alterar.

tt-erro

tt_segur_grp_atrib_dado

FPAPIXXX pi_retorna_zoom_xxxxxNovoCriar varias procedures que retornem o valor dos zoom dos campos 
  • Criar uma procedure para cada campo que na tabela de localiza dos campos eSocial  a coluna Zoom for "sim". A procedure deverá retornar uma temp-table com essa lista de valores possíveis para o campo.
    • Se ao consultar a lista ela estiver vazia, criar a tt-erro com a mensagem 1.

tt-xxxx

tt-erro

FPAPIXXX pi_salva_campos_eSocialNovoPossibilitar alteração de todos os campos eSocial
  • empresa
  • estabelecimento
  • funcionário
  • todos os campos listados na tabela de localização do eSocial

A procedure irá verificar quais campos recebidos como parâmetro não estão em branco, então, deve atualiza-los no HCM.

  • Verificar a lógica de atualização nas telas progress, para garantir a integridade dos dados. Ver FP6650rp e FP6600 (fazer um ctrl+c ctrl+v retirando os campos que não estão na tabela de localização).
  • Fazer uma analise no especifico drg0003, avaliando o que pode ser aproveitado.

Caso seja encontrado alguma inconsistência nos dados, cria-se tt-erro com a mensagem 4.

tt-erro
FPAPIXXX

FPAPIXXX/pi_retorna_zoom_xxxxx

FPAPIXXX/pi_retorna_campos_eSocial

pi_gera_planilha_excel_eSocialNovoFazer a criação de uma planilha excel contendo todos os campos do eSocial presentes na tabela de localização, então, salvar a planilha em um diretório recebido como parâmetro
  • diretório de rede compartilhado
  • empresa
  • estabelecimento
  • funcionário
  • Criar uma planilha excel contendo todos os campos eSocial da tabela de localização. (Ver modelo em FP7060)
    • salvar a planilha no diretório recebido como parâmetro.
    • O nome da planilha deve usar o seguinte formato: <emp_estab_mat_dataatual-horaatual-minuto-segundo>, exemplo: 1_10_34-20102015-1700-54170054.xls
  • Preencher todos os campos da planilha conforme valores atuais (pi_retorna_campos_eSocial)
  • Campos onde na tabela de localização estão marcados como zoom, devem vir selecionados no registro atual do funcionário ou vazio. Estes campos na planilha devem ser do tipo combobox (pi_retorna_zoom_xxxxx)
  • Retorna Retornar o nome da planilha salva, exemplo: 1_10_34-20102015-1700-54170054.xls

tt-erro

v-file-name

FPAPIXXX pi_retorna_campos_eSocialNovoRetornar todos os valores atuais de todos os campos do eSocial presentes na tabela de localização
  • empresa
  • estabelecimento
  • funcionário
  • Alimentar a tt-fields-eSocial com seu respectivo valor. Ver tabela de localização para encontrar as tabelas correspondente de cada campo.

tt-fields-eSocial

->.field-name

->.field-value

FPAPIXXXFPAPIXXX/pi_salva_campos_eSocialpi_le_planilha_excel_eSocialNovoRetornar todos os valores atuais de todos os campos do eSocial presentes na planilha enviada pelo funcionário através do upload
  • diretório de rede compartilhado
  • nome da planilha
  • Lê a planilha recebida como parâmetro, então alimenta a tabela tt-fields-eSocial.
  • Caso encontre alguma inconsistência nos dados lidos cria tt-erro com a mensagem 4.
  • Chama a pi_salva_campos_eSocial passando a tabela tt-fields-eSocial.

tt-erro

 

 

Meus Dados - EmployeeDataView - Flex

  • Criar mais uma aba na tela flex Meus Dados chamada "eSocial".
    • Chamar a pi_habilita_eSocial, então, se tt-erro tiver dados, a aba não deve aparecer para o funcionário. No log do jboss deve ser impresso um warning com o conteúdo da tt-erro.
    • Dentro da aba eSocial criar dois botões: "download" e "Upload". Esses botões deverão ter uma descrição detalhada referente a seu funcionamento. Sugestão: colocar os botões centralizados na pagina e em cima a descrição.

 

Meus Dados - EmployeeDataView - Java/Flex - Botão Download

 

  • Implementar no hcm.properties uma propriedade para que seja informado um diretório UNC compartilhado com jboss e appserver.
     
  • Chamar api pi_gera_planilha_excel_eSocial passando como parametro o diretório compartilhado onde a planilha deve ser salva.
    • Abrir planilha no brownser do usuário ou como download no navegador. (Ver exemplos em $/HCM/Fontes_Doc/Customizacao/Crefisa/v000/Java-Flex/Fontes/hcm-payroll-crefisa-epc/modules/justificationmonitorview-upc/src/main/flex/com/datasul/hcm/payroll/timelabor/timeattendance/justification/justificationmonitorview / $/HCM/Fontes_Doc/Customizacao/Crefisa/v000/Java-Flex/Fontes/hcm-payroll-crefisa-epc/modules/justificationmonitorview-upc/src/main/flex/com/datasul/hcm/payroll/timelabor/timeattendance/justification/justificationmonitorview /$/HCM/Fontes_Doc/Customizacao/Reutilizaveis/v2.12/MDW/JavaFlex/Fontes/mdw-301/src/main/resources).

Meus Dados - EmployeeDataView - Java/Flex - Botão Upload



  • Verificar se o funcionário logado possui permissão (FP0170, grupo P01, pasta eSocial) de alteração.
    • Se não, gera a mensagem 7.
    • Se sim, salva
    Salvar
    • planilha enviada na pasta compartilhada. Antes de salvar alterar o nome da planilha para o padrão <emp_estab_mat_dataatual-horaatual-
    minuto-segundo
    • minutosegundo_M>, exemplo: 1_10_34-20102015-1700-54_M.xls.
      • Chamar a api pi_le_planilha_excel_eSocial.
        • Caso retorne registros na tt-erro, deve-se exibir o erro 5 concatenado com o erro retornado na tt-erro.
        • Se a tt-erro estiver vazia, mostrar a mensagem 6.

Mensagem

 

Códigomensagem
1"A tabela de <nome_tabela> está vazia. Efetue o cadastro no <código do programa>".
2"<Func: matricula-estabelecimento-empresa> Empregador com eSocial não habilitado.
3"<Func: matricula-estabelecimento-empresa> Funcionário sem permissão no FP0170 (grupo informação P01), para consultar eSocial.
4"<Func: matricula-estabelecimento-empresa> O campo <nome_do_campo> com valor <valor_campo> é inválido.
5Ocorreu um erro ao salvar os dados da planilha <diretório+nome.xls>: <tt-erro>
6Dados eSocial atualizados com sucesso!
7Ocorreu um erro ao salvar os dados da planilha: Funcionário sem permissão para atualizar o eSocial.

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...