Campos de usuário em Históricos e programações
Para realizar a customização de campos de usuário na interface da tela Históricos e Programações, do módulo Gestão do Ponto, é necessário, primeiramente na Central de banco de dados Senior, criar os campos customizados a serem exibidos na tela.
Verifique, abaixo, exemplos de customização em diferentes telas do Gestão do Ponto, bem como o uso de diversos tipos de campos.
Programação de Ponte utilizando uma enumeração existente
No Ambiente de Customização (SeniorDeveloper):
- Crie a extensão da entidade de IPonte.java:
- Código fonte da extensão com utilização da annotation @Link, que permite criar a associação para uma outra tabela. Com isso é possível exibir o botão B2, que faz a busca pela informação de outra tabela ou lista do TBS (Tabelas de bancos de dados). Neste caso é uma lista pré-existente:
- Crie o arquivo customFragment.json. Para definir quais campos customizados serão exibidos na tela Históricos e Programações, é necessário criar o arquivo customFragment.json no sourcefolder src, conforme imagem anterior.
Neste arquivo, defina o nome da entidade e os campos customizados a serem exibidos na tela: - Publique a regras e visualize na tela o campo customizado;
Histórico de Afastamento utilizando uma enumeração criada
Criação de um campo utilizando uma lista customizada no TBS:
Lista criada:
- Crie a extensão da entidade de IHistoricoAfastamento.java.
- Código fonte da extensão do systemComponent SCHistoricoAfastamentoCustom.sc:
- Código fonte para a criação da lista customizada IUSU_AFA.java:
- Código fonte do systemComponent USU_TipAfa.sc:
- Código necessário no fonte do arquivo Entities.json. Se faz necessário além do systemcomponent ser declarado, o mapeamento da entidade customizada que foi implementada IUSU_TipAfa:
- Arquivo customFragment.json. Importante que aqui o campo deverá ser o criado pelo link:
- Após publicação das regras é possível visualizar na tela o campo com a lista customizada:
Histórico de Anotação utilizando uma lista do tipo LSimNao (checkbox)
Criação de um campo utilizando a lista padrão do sistema LSimNao:
- Crie a extensão da entidade de IHistoricoAnotacoes.java. Neste exemplo é uma lista existente do sistema LSimNao do TBS. Por padrão será utilizado um checkbox para uso na nova interface:
- Código fonte da extensão do systemComponent SCHistoricoAnotacoesCustom.sc:
- Código fonte do arquivo Entities.json:
- Arquivo customFragment.json.
- Campo visualizado após publicado:
Autorização de Extras utilizando um campo Data.
Criação de um campo utilizando padrão campo Data:
- Crie a extensão da entidade de IAutorizacaoHoraExtra.java. Neste exemplo é um campo de Data inserido no TBS.
- Código fonte da extensão do systemComponent SCProgramacoesCustom.sc:
- Código fonte do arquivo Entities.json:
- Arquivo customFragment.json.
- Campo data customizado na tela:
Programação de Compensação utilizando um campo de descrição (string)
Campo descrição criado na tabela de compensação:
- Crie a extensão da entidade de ICompensacao.java. Neste exemplo é um campo de descrição (string) inserido no TBS.
- Código fonte da extensão do systemComponent SCProgramacoesCustom.sc:
- Código fonte do arquivo Entities.json:
- Arquivo customFragment.json:
- Campo descrição customizado na tela:
Entidades para extensão do systemcomponent
Entidades possíveis para campos customizados adicionados em telas:
Entidade | SystemComponent | DataSet |
---|---|---|
com.senior.entity.IAutorizacaoHoraExtra | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsAutorizacaoHoraExtra |
com.senior.entity.IAutorizacaoSaida | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsAutorizacaoSaida |
com.senior.entity.ICompensacao | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsCompensacao |
com.senior.entity.IHistoricoAfastamento | br.com.senior.rh.gp.sc.historico.afastamento.SCHistoricoAfastamento | DsHistoricoAfastamento |
com.senior.entity.IHistoricoAnotacoes | br.com.senior.rh.gp.sc.historico.anotacao.SCHistoricoAnotacoes | DsHistoricoAnotacao |
com.senior.entity.IHistoricoEscala | br.com.senior.rh.gp.sc.historico.escala.SCHistoricoEscala | DsHistoricoEscala |
com.senior.entity.IPonte | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsPonte |
br.com.senior.rh.entity.IProjecaoHorario | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsProjecaoHorario |
com.senior.entity.ISobreavisoProntidao | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsSobreavisoProntidao |
com.senior.entity.ITrocaEscala | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsTrocaEscala |
br.com.senior.rh.entity.ITrocaHorario | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsTrocaHorario |
com.senior.entity.IHistoricoApuracao | br.com.senior.rh.gp.sc.historico.apuracao. SCHistoricoApuracao | DsHistoricoApuracao |
com.senior.entity.IConvocacao | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsConvocacao |
br.com.senior.rh.entity.IProjecaoHorario | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsProjecaoHorario |
com.senior.entity.ITrocaCentroCusto | br.com.senior.gp.sc.programacoes.SCProgramacoes | DsTrocaCentroCusto |
com.senior.entity.ITrocaRateio | br.com.senior.gp.sc.programacoes.SCProgramacoe | DsTrocaRateio |
Observação
Ao utilizar mais de uma entidade do mesmo SystemComponent, utilize a mesma extensão para cada um. Ou seja, use a mesma classe. Deste modo somente terá uma classe que estende o mesmo SystemComponent.
Informações gerais
Definir descrição do campo exibido na tela
- Para campos que sejam links, informe no parâmetro description da annotation @Link:
- Para campos que não sejam links, informe no parâmetro description da annotation @Field:
- Para campos do tipo hora, em que armazena a quantidade minutos:
- DayTime: representa as horas do dia, de 00:00 à 23:59.
- Time: representa a quantidade de minutos no formato hora, por exemplo: 333:34
- Para campos de seleção (checkBox), em que armazena os valores S ou N:
Observação
As definições de descrição dos campos dos tipos hora, em que armazena a quantidade minutos, seleção (checkBox), em que armazena os valores "S" ou "N", são válidos somente para a nova interface do Gestão do Ponto.
B2 com chave composta
É preciso criar os campos e o @Link para todos os campos da chave estrangeira.
Mais de um campo customizado para cada entidade
No arquivo customFragment.json é possível informar mais de uma entidade assim como mais de um campo customizado para cada entidade.
Tipos de campos disponíveis
- Date: definir como org.joda.time.LocalDate na entidade;
- Time: definir como int na entidade;
- Com ligação para outra tabela: definir o tipo correspondente da entidade e criar a anotação @Link mapeando para a entidade de destino;
- Number com precisão informada: definir como double na entidade. Informe a propriedade precision do @Field.
Ordenação dos campos
Os campos são exibidos na ordem que foram declarados na propriedade fields no arquivo customFragment.json.
Ajuste no leiaute
- labelWidth: propriedade dos objetos de customFragment. Permite definir a largura que os campos irão ocupar. Todas de uma entidade terão a mesma largura;
- width: propriedade dos objetos de fields. Permite definir a largura dos campos, com possibilidade de distinção de valores para cada um.
Observação
Gostaria de saber como realizar o tratamento de consistências em campos de usuários em programações e históricos? Acesse a documentação de Tratamento de consistências em campos de usuário em Programação e Históricos, e verifique as informações completas.