Subversion Repositories Integrator Subversion

Rev

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

package br.gov.al.saude.srv.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import br.gov.al.saude.framework.core.interfaces.Alterar;
import br.gov.al.saude.framework.core.interfaces.Cadastrar;
import br.gov.al.saude.srv.model.embedded.ServidorContaBancarialId;

@Entity
@Table(name = "srv_servidor_conta_bancaria", schema = "sc_srv")
public class ServidorContaBancaria implements Serializable, Comparable<ServidorContaBancaria> {
        private static final long serialVersionUID = 1L;

        private ServidorContaBancarialId servidorContaBancarialId = new ServidorContaBancarialId();
        private Servidor servidor;
        private Banco banco;
        private String numeroAgencia;
        private String numeroConta;
        private Integer numeroOperacao;
       
        @EmbeddedId
        public ServidorContaBancarialId getServidorContaBancarialId() {
                return servidorContaBancarialId;
        }      
        public void setServidorContaBancarialId(ServidorContaBancarialId servidorContaBancarialId) {
                this.servidorContaBancarialId = servidorContaBancarialId;
        }

        @ManyToOne
        @JoinColumn(name="seq_pessoa_servidor", referencedColumnName="seq_pessoa_servidor", nullable=false, insertable=false, updatable=false)
        public Servidor getServidor() {
                return servidor;
        }
        public void setServidor(Servidor servidor) {
                getServidorContaBancarialId().setSequencialPessoaServidor(servidor.getPessoa().getSequencialPessoa());
                this.servidor = servidor;
        }
       
       
        @ManyToOne
        @JoinColumn(name="cod_banco", referencedColumnName="cod_banco", nullable=false, insertable=false, updatable=false)
        @NotNull(message="Obrigatório informar o Banco.", groups={Cadastrar.class, Alterar.class})
        public Banco getBanco() {
                return banco;
        }
        public void setBanco(Banco banco) {
                if (getServidorContaBancarialId() != null && banco != null) {
                        getServidorContaBancarialId().setCodigoBanco(banco.getCodigo());
                }
                this.banco = banco;
        }

       
        @Column(name="num_conta_bancaria", length=20, nullable=false)
        @NotNull(message="Obrigatório informar o número da conta.", groups={Cadastrar.class, Alterar.class})
        public String getNumeroConta() {
                return numeroConta;
        }
        public void setNumeroConta(String numeroConta) {
                this.numeroConta = numeroConta;
        }
       

        @Column(name="num_agencia", length=1)
        @NotNull(message="Obrigatório informar o número da agência.", groups={Cadastrar.class, Alterar.class})
        public String getNumeroAgencia() {
                return numeroAgencia;
        }
        public void setNumeroAgencia(String numeroAgencia) {
                this.numeroAgencia = numeroAgencia;
        }
       
       
        @Column(name="num_operacao_contabancaria", length=2)
        public Integer getNumeroOperacao() {
                return numeroOperacao;
        }
        public void setNumeroOperacao(Integer numeroOperacao) {
                this.numeroOperacao = numeroOperacao;
        }
       
        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime
                                * result
                                + ((servidorContaBancarialId == null) ? 0
                                                : servidorContaBancarialId.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;
                ServidorContaBancaria other = (ServidorContaBancaria) obj;
                if (servidorContaBancarialId == null) {
                        if (other.servidorContaBancarialId != null)
                                return false;
                } else if (!servidorContaBancarialId
                                .equals(other.servidorContaBancarialId))
                        return false;
                return true;
        }
       
        @Override
        public int compareTo(ServidorContaBancaria scb) {
                return getBanco().getCodigo().compareTo(scb.getBanco().getCodigo());
        }
}