Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.rhd.model.view;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.ForeignKey;

import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.srv.model.TipoClasseCarreira;
import br.gov.al.saude.srv.model.TipoNivelCarreira;

@Entity
@Table(name = "vw_servidor_dadofuncional", schema = "sc_srv")
public class ServidorDadoFuncionalView implements Serializable {

        private static final long serialVersionUID = 1L;

        private ServidorView servidorView;

        private Long sequencial;
        private Long numeroMatricula;
        private Integer numeroDigitoMatricula;
        private Date dataAdmissao;
        private Date dataExercicio;
        private UnidadeView unidadeExercicio;
        private String descricaoUnidadeExercicio;
        private String descricaoUnidadeLotacao;
        private String descricaoOrgaoOrigem;
        private String descricaoOrgaoLotacao;
        private String descricaoTipoServidor;
        private String descricaoSituacaoServidor;
        private String descricaoCargo;
        private String tipoNivelCargo;
        private String descricaoCarreira;
        private String tipoNivelCarreira;
        private String tipoClasseCarreira;
        private String descricaoSetor;
        private String descricaoFuncao;
       
        public ServidorDadoFuncionalView() {}
       
       
        public ServidorDadoFuncionalView(ServidorView servidor) {
                this.servidorView = servidor;
        }
       
        public ServidorDadoFuncionalView(Long sequencial, Long numeroMatricula, Integer numeroDigitoMatricula, String nomeServidor, Long sequencialPessoa){
                this.sequencial = sequencial;
                this.numeroMatricula = numeroMatricula;
                this.numeroDigitoMatricula = numeroDigitoMatricula;
                this.servidorView = new ServidorView(nomeServidor, sequencialPessoa);
        }
       
        @Id
        @Column(name="seq_servidor_dadofuncional", nullable=false)
        public Long getSequencial() {
                return sequencial;
        }

        public void setSequencial(Long sequencial) {
                this.sequencial = sequencial;
        }
       
        @ManyToOne
        @ForeignKey(name="fk_servidor_dadofuncional")
        @JoinColumn(name="seq_pessoa_servidor", referencedColumnName="seq_pessoa_servidor")
        public ServidorView getServidorView() {
                return servidorView;
        }

        public void setServidorView(ServidorView servidorView) {
                this.servidorView = servidorView;
        }

        @Column(name="num_matricula_servidor", nullable=false)
        public Long getNumeroMatricula() {
                return numeroMatricula;
        }

        public void setNumeroMatricula(Long numeroMatricula) {
                this.numeroMatricula = numeroMatricula;
        }
       
        @Column(name="num_digito_matricula", nullable=false)
        public Integer getNumeroDigitoMatricula() {
                return numeroDigitoMatricula;
        }

        public void setNumeroDigitoMatricula(Integer numeroDigitoMatricula) {
                this.numeroDigitoMatricula = numeroDigitoMatricula;
        }

        @Column(name="dat_admissao")
        public Date getDataAdmissao() {
                return dataAdmissao;
        }
        public void setDataAdmissao(Date dataAdmissao) {
                this.dataAdmissao = dataAdmissao;
        }
       
        @Column(name="dat_exercicio")
        public Date getDataExercicio() {
                return dataExercicio;
        }

        public void setDataExercicio(Date dataExercicio) {
                this.dataExercicio = dataExercicio;
        }

        @OneToOne
        @JoinColumn(name="cod_unidade_exercicio")
        public UnidadeView getUnidadeExercicio() {
                return unidadeExercicio;
        }

        public void setUnidadeExercicio(UnidadeView unidadeExercicio) {
                this.unidadeExercicio = unidadeExercicio;
        }
   
    @Column(name="dsc_unidade_exercicio")
    public String getDescricaoUnidadeExercicio() {
                return descricaoUnidadeExercicio;
        }

    public void setDescricaoUnidadeExercicio(String descricaoUnidadeExercicio) {
                this.descricaoUnidadeExercicio = descricaoUnidadeExercicio;
        }
   
    @Column(name="dsc_unidade_lotacao")
    public String getDescricaoUnidadeLotacao() {
        return descricaoUnidadeLotacao;
    }

    public void setDescricaoUnidadeLotacao(String descricaoUnidadeLotacao) {
        this.descricaoUnidadeLotacao = descricaoUnidadeLotacao;
    }
   
    @Column(name="dsc_orgao_origem")
    public String getDescricaoOrgaoOrigem() {
        return descricaoOrgaoOrigem;
    }

    public void setDescricaoOrgaoOrigem(String descricaoOrgaoOrigem) {
                this.descricaoOrgaoOrigem = descricaoOrgaoOrigem;
        }
   
    @Column(name="dsc_orgao_lotacao")
    public String getDescricaoOrgaoLotacao() {
        return descricaoOrgaoLotacao;
    }

    public void setDescricaoOrgaoLotacao(String descricaoOrgaoLotacao) {
                this.descricaoOrgaoLotacao = descricaoOrgaoLotacao;
        }
   
    @Column(name="dsc_tipo_servidor")
    public String getDescricaoTipoServidor() {
                return descricaoTipoServidor;
        }

    public void setDescricaoTipoServidor(String descricaoTipoServidor) {
                this.descricaoTipoServidor = descricaoTipoServidor;
        }
   
    @Column(name="dsc_situacao_servidor")
    public String getDescricaoSituacaoServidor() {
                return descricaoSituacaoServidor;
        }

    public void setDescricaoSituacaoServidor(String descricaoSituacaoServidor) {
                this.descricaoSituacaoServidor = descricaoSituacaoServidor;
        }
   
    @Column(name="dsc_cargo")
    public String getDescricaoCargo() {
                return descricaoCargo;
        }

    public void setDescricaoCargo(String descricaoCargo) {
                this.descricaoCargo = descricaoCargo;
        }

    @Column(name="tip_nivel_cargo")
    public String getTipoNivelCargo() {
        return tipoNivelCargo;
    }

    public void setTipoNivelCargo(String tipoNivelCargo) {
        this.tipoNivelCargo = tipoNivelCargo;
    }
   
    @Column(name="dsc_carreira")
    public String getDescricaoCarreira() {
                return descricaoCarreira;
        }

    public void setDescricaoCarreira(String descricaoCarreira) {
                this.descricaoCarreira = descricaoCarreira;
        }
   
    @Column(name="tip_nivel_carreira")
    public String getTipoNivelCarreira() {
                return tipoNivelCarreira;
        }

    public void setTipoNivelCarreira(String tipoNivelCarreira) {
                this.tipoNivelCarreira = tipoNivelCarreira;
        }
   
    @Column(name="tip_classe_carreira")
    public String getTipoClasseCarreira() {
                return tipoClasseCarreira;
        }

    public void setTipoClasseCarreira(String tipoClasseCarreira) {
                this.tipoClasseCarreira = tipoClasseCarreira;
        }
   
    @Column(name="dsc_setor")
    public String getDescricaoSetor() {
        return descricaoSetor;
    }

    public void setDescricaoSetor(String descricaoSetor) {
                this.descricaoSetor = descricaoSetor;
        }
   
    @Column(name="dsc_funcao")
    public String getDescricaoFuncao() {
        return descricaoFuncao;
    }

    public void setDescricaoFuncao(String descricaoFuncao) {
                this.descricaoFuncao = descricaoFuncao;
        }
   
        @Transient
    public String getDescricaoNivelCarreira() {
                return VerificadorUtil.estaNulo(this.getTipoNivelCarreira())?null:TipoNivelCarreira.parse(this.getTipoNivelCarreira()).getDescricao();
    }
   
    @Transient
    public String getDescricaoClasseCarreira() {
        return VerificadorUtil.estaNulo(this.getTipoClasseCarreira())?null:TipoClasseCarreira.parse(this.getTipoClasseCarreira()).getDescricao();
    }

        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
                return result;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                ServidorDadoFuncionalView other = (ServidorDadoFuncionalView) obj;
                if (sequencial == null) {
                        if (other.sequencial != null)
                                return false;
                } else if (!sequencial.equals(other.sequencial))
                        return false;
                return true;
        }

}