/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.qsoft.rs.sincoar.model;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author developer2
 */
@Embeddable
public class TgeneaccountingdatePK implements Serializable {

    @Basic(optional = false)
    @Column(name = "BRANCHCODE")
    private short branchcode;
    @Basic(optional = false)
    @Column(name = "COMPANYCODE")
    private long companycode;
    @Basic(optional = false)
    @Column(name = "REALDATE")
    @Temporal(TemporalType.TIMESTAMP)
    private Date realdate;

    public TgeneaccountingdatePK() {
    }

    public TgeneaccountingdatePK(short branchcode, long companycode, Date realdate) {
        this.branchcode = branchcode;
        this.companycode = companycode;
        this.realdate = realdate;
    }

    public short getBranchcode() {
        return branchcode;
    }

    public void setBranchcode(short branchcode) {
        this.branchcode = branchcode;
    }

    public long getCompanycode() {
        return companycode;
    }

    public void setCompanycode(long companycode) {
        this.companycode = companycode;
    }

    public Date getRealdate() {
        return realdate;
    }

    public void setRealdate(Date realdate) {
        this.realdate = realdate;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (int) branchcode;
        hash += (int) companycode;
        hash += (realdate != null ? realdate.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TgeneaccountingdatePK)) {
            return false;
        }
        TgeneaccountingdatePK other = (TgeneaccountingdatePK) object;
        if (this.branchcode != other.branchcode) {
            return false;
        }
        if (this.companycode != other.companycode) {
            return false;
        }
        if ((this.realdate == null && other.realdate != null) || (this.realdate != null && !this.realdate.equals(other.realdate))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.qsoft.rs.sincoar.model.TgeneaccountingdatePK[ branchcode=" + branchcode + ", companycode=" + companycode + ", realdate=" + realdate + " ]";
    }
    
}
