package com.jasamedika.medifirst2000.vo;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;

import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 *  class Profile
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "Profile_M")
public class ProfileVO extends BaseMasterVO {
	@Caption(value="AlamatVO Email")
	private String alamatEmail;

	public void setAlamatEmail(String alamatEmail) {
		this.alamatEmail = alamatEmail;
	}

	@Column(name = "AlamatEmail", nullable = true , length = 50)
	public String getAlamatEmail(){
		return this.alamatEmail;
	}

	@Caption(value="AlamatVO Lengkap")
	private String alamatLengkap;

	public void setAlamatLengkap(String alamatLengkap) {
		this.alamatLengkap = alamatLengkap;
	}

	@Column(name = "AlamatLengkap", nullable = true , length = 200)
	public String getAlamatLengkap(){
		return this.alamatLengkap;
	}

	@Caption(value="Faksimile")
	private String faksimile;

	public void setFaksimile(String faksimile) {
		this.faksimile = faksimile;
	}

	@Column(name = "Faksimile", nullable = true , length = 30)
	public String getFaksimile(){
		return this.faksimile;
	}

	@Caption(value="Fixed Phone")
	private String fixedPhone;

	public void setFixedPhone(String fixedPhone) {
		this.fixedPhone = fixedPhone;
	}

	@Column(name = "FixedPhone", nullable = true , length = 30)
	public String getFixedPhone(){
		return this.fixedPhone;
	}

	@Caption(value="Gambar Logo")
	private String gambarLogo;

	public void setGambarLogo(String gambarLogo) {
		this.gambarLogo = gambarLogo;
	}

	@Column(name = "GambarLogo", nullable = true , length = 100)
	public String getGambarLogo(){
		return this.gambarLogo;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectAccountFk")
	@Caption(value="Object Account")
	private ChartOfAccountVO account;

	public void setAccount(ChartOfAccountVO account) {
		this.account = account;
	}

	@Column(name = "KdAccount", nullable = true )
	public ChartOfAccountVO getAccount(){
		return this.account;
	}

	@Column(name = "ObjectAccountFk", insertable=false,updatable=false)
	private Integer accountId;

	@ManyToOne
	@JoinColumn(name = "ObjectDepartemenFk")
	@Caption(value="Object Departemen")
	private DepartemenVO departemen;

	public void setDepartemen(DepartemenVO departemen) {
		this.departemen = departemen;
	}

	@Column(name = "KdDepartemen", nullable = true , length = 1)
	public DepartemenVO getDepartemen(){
		return this.departemen;
	}

	@Column(name = "ObjectDepartemenFk", insertable=false,updatable=false)
	private Integer departemenId;

	@ManyToOne
	@JoinColumn(name = "ObjectDesaKelurahanFk")
	@Caption(value="Object Desa Kelurahan")
	private DesaKelurahanVO desaKelurahan;

	public void setDesaKelurahan(DesaKelurahanVO desaKelurahan) {
		this.desaKelurahan = desaKelurahan;
	}

	@Column(name = "KdDesaKelurahan", nullable = true )
	public DesaKelurahanVO getDesaKelurahan(){
		return this.desaKelurahan;
	}

	@Column(name = "ObjectDesaKelurahanFk", insertable=false,updatable=false)
	private Integer desaKelurahanId;

	@ManyToOne
	@JoinColumn(name = "ObjectJenisProfileFk")
	@NotNull(message="Object Jenis ProfileVO Harus Diisi")
	@Caption(value="Object Jenis Profile")
	private JenisProfileVO jenisProfile;

	public void setJenisProfile(JenisProfileVO jenisProfile) {
		this.jenisProfile = jenisProfile;
	}

	@Column(name = "KdJenisProfile", nullable = false )
	public JenisProfileVO getJenisProfile(){
		return this.jenisProfile;
	}

	@Column(name = "ObjectJenisProfileFk", insertable=false,updatable=false)
	private Integer jenisProfileId;

	@ManyToOne
	@JoinColumn(name = "ObjectJenisTarifFk")
	@Caption(value="Object Jenis Tarif")
	private JenisTarifVO jenisTarif;

	public void setJenisTarif(JenisTarifVO jenisTarif) {
		this.jenisTarif = jenisTarif;
	}

	@Column(name = "KdJenisTarif", nullable = true )
	public JenisTarifVO getJenisTarif(){
		return this.jenisTarif;
	}

	@Column(name = "ObjectJenisTarifFk", insertable=false,updatable=false)
	private Integer jenisTarifId;

	@ManyToOne
	@JoinColumn(name = "ObjectKecamatanFk")
	@Caption(value="Object Kecamatan")
	private KecamatanVO kecamatan;

	public void setKecamatan(KecamatanVO kecamatan) {
		this.kecamatan = kecamatan;
	}

	@Column(name = "KdKecamatan", nullable = true )
	public KecamatanVO getKecamatan(){
		return this.kecamatan;
	}

	@Column(name = "ObjectKecamatanFk", insertable=false,updatable=false)
	private Integer kecamatanId;

	@ManyToOne
	@JoinColumn(name = "ObjectKelasLevelFk")
	@Caption(value="Object KelasVO Level")
	private DetailKamarVO kelasLevel;

	public void setKelasLevel(DetailKamarVO kelasLevel) {
		this.kelasLevel = kelasLevel;
	}

	@Column(name = "KdKelasLevel", nullable = true , length = 2)
	public DetailKamarVO getKelasLevel(){
		return this.kelasLevel;
	}

	@Column(name = "ObjectKelasLevelFk", insertable=false,updatable=false)
	private Integer kelasLevelId;

	@ManyToOne
	@JoinColumn(name = "ObjectKotaKabupatenFk")
	@Caption(value="Object Kota Kabupaten")
	private KotaKabupatenVO kotaKabupaten;

	public void setKotaKabupaten(KotaKabupatenVO kotaKabupaten) {
		this.kotaKabupaten = kotaKabupaten;
	}

	@Column(name = "KdKotaKabupaten", nullable = true )
	public KotaKabupatenVO getKotaKabupaten(){
		return this.kotaKabupaten;
	}

	@Column(name = "ObjectKotaKabupatenFk", insertable=false,updatable=false)
	private Integer kotaKabupatenId;

	@ManyToOne
	@JoinColumn(name = "ObjectPegawaiKepalaFk")
	@Caption(value="Object PegawaiVO Kepala")
	private LoginUserVO pegawaiKepala;

	public void setPegawaiKepala(LoginUserVO pegawaiKepala) {
		this.pegawaiKepala = pegawaiKepala;
	}

	@Column(name = "KdPegawaiKepala", nullable = true , length = 5)
	public LoginUserVO getPegawaiKepala(){
		return this.pegawaiKepala;
	}

	@Column(name = "ObjectPegawaiKepalaFk", insertable=false,updatable=false)
	private Integer pegawaiKepalaId;

	@ManyToOne
	@JoinColumn(name = "ObjectPemilikProfileFk")
	@Caption(value="Object Pemilik Profile")
	private PemilikProfileVO pemilikProfile;

	public void setPemilikProfile(PemilikProfileVO pemilikProfile) {
		this.pemilikProfile = pemilikProfile;
	}

	@Column(name = "KdPemilikProfile", nullable = true )
	public PemilikProfileVO getPemilikProfile(){
		return this.pemilikProfile;
	}

	@Column(name = "ObjectPemilikProfileFk", insertable=false,updatable=false)
	private Integer pemilikProfileId;

	@ManyToOne
	@JoinColumn(name = "ObjectPropinsiFk")
	@Caption(value="Object Propinsi")
	private PropinsiVO propinsi;

	public void setPropinsi(PropinsiVO propinsi) {
		this.propinsi = propinsi;
	}

	@Column(name = "KdPropinsi", nullable = true )
	public PropinsiVO getPropinsi(){
		return this.propinsi;
	}

	@Column(name = "ObjectPropinsiFk", insertable=false,updatable=false)
	private Integer propinsiId;

	@ManyToOne
	@JoinColumn(name = "ObjectSatuanKerjaFk")
	@NotNull(message="Object Satuan Kerja Harus Diisi")
	@Caption(value="Object Satuan Kerja")
	private SatuanKerjaVO satuanKerja;

	public void setSatuanKerja(SatuanKerjaVO satuanKerja) {
		this.satuanKerja = satuanKerja;
	}

	@Column(name = "KdSatuanKerja", nullable = false )
	public SatuanKerjaVO getSatuanKerja(){
		return this.satuanKerja;
	}

	@Column(name = "ObjectSatuanKerjaFk", insertable=false,updatable=false)
	private Integer satuanKerjaId;

	@ManyToOne
	@JoinColumn(name = "ObjectStatusAkreditasiLastFk")
	@Caption(value="Object Status Akreditasi Last")
	private StatusAkreditasiVO statusAkreditasiLast;

	public void setStatusAkreditasiLast(StatusAkreditasiVO statusAkreditasiLast) {
		this.statusAkreditasiLast = statusAkreditasiLast;
	}

	@Column(name = "KdStatusAkreditasiLast", nullable = true )
	public StatusAkreditasiVO getStatusAkreditasiLast(){
		return this.statusAkreditasiLast;
	}

	@Column(name = "ObjectStatusAkreditasiLastFk", insertable=false,updatable=false)
	private Integer statusAkreditasiLastId;

	@ManyToOne
	@JoinColumn(name = "ObjectStatusSuratIjinLastFk")
	@Caption(value="Object Status Surat Ijin Last")
	private StatusSuratIjinVO statusSuratIjinLast;

	public void setStatusSuratIjinLast(StatusSuratIjinVO statusSuratIjinLast) {
		this.statusSuratIjinLast = statusSuratIjinLast;
	}

	@Column(name = "KdStatusSuratIjinLast", nullable = true )
	public StatusSuratIjinVO getStatusSuratIjinLast(){
		return this.statusSuratIjinLast;
	}

	@Column(name = "ObjectStatusSuratIjinLastFk", insertable=false,updatable=false)
	private Integer statusSuratIjinLastId;

	@ManyToOne
	@JoinColumn(name = "ObjectTahapanAkreditasiLastFk")
	@Caption(value="Object Tahapan Akreditasi Last")
	private TahapanAkreditasiVO tahapanAkreditasiLast;

	public void setahapanAkreditasiLast(TahapanAkreditasiVO tahapanAkreditasiLast) {
		this.tahapanAkreditasiLast = tahapanAkreditasiLast;
	}

	@Column(name = "KdTahapanAkreditasiLast", nullable = true )
	public TahapanAkreditasiVO getTahapanAkreditasiLast(){
		return this.tahapanAkreditasiLast;
	}

	@Column(name = "ObjectTahapanAkreditasiLastFk", insertable=false,updatable=false)
	private Integer tahapanAkreditasiLastId;

	@Caption(value="Kode Pos")
	private String kodePos;

	public void setKdPos(String kodePos) {
		this.kodePos = kodePos;
	}

	@Column(name = "KodePos", nullable = true , length = 10)
	public String getKdPos(){
		return this.kodePos;
	}

	@Caption(value="Luas Bangunan")
	private Double luasBangunan;

	public void setLuasBangunan(Double luasBangunan) {
		this.luasBangunan = luasBangunan;
	}

	@Column(name = "LuasBangunan", nullable = true )
	public Double getLuasBangunan(){
		return this.luasBangunan;
	}

	@Caption(value="Luas Tanah")
	private Double luasTanah;

	public void setLuasTanah(Double luasTanah) {
		this.luasTanah = luasTanah;
	}

	@Column(name = "LuasTanah", nullable = true )
	public Double getLuasTanah(){
		return this.luasTanah;
	}

	@Caption(value="Message To Pasien")
	private String messageToPasien;

	public void setMessageToPasien(String messageToPasien) {
		this.messageToPasien = messageToPasien;
	}

	@Column(name = "MessageToPasien", nullable = false , length = 150)
	public String getMessageToPasien(){
		return this.messageToPasien;
	}

	@Caption(value="Mobile Phone")
	private String mobilePhone;

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	@Column(name = "MobilePhone", nullable = true , length = 30)
	public String getMobilePhone(){
		return this.mobilePhone;
	}

	@Caption(value="Motto Semboyan")
	private String mottoSemboyan;

	public void setMottoSemboyan(String mottoSemboyan) {
		this.mottoSemboyan = mottoSemboyan;
	}

	@Column(name = "MottoSemboyan", nullable = true , length = 100)
	public String getMottoSemboyan(){
		return this.mottoSemboyan;
	}

	@Caption(value="Nama Lengkap")
	private String namaLengkap;

	public void setNamaLengkap(String namaLengkap) {
		this.namaLengkap = namaLengkap;
	}

	@Column(name = "NamaLengkap", nullable = false , length = 100)
	public String getNamaLengkap(){
		return this.namaLengkap;
	}

	@Caption(value="No P K P")
	private String noPKP;

	public void setNoPKP(String noPKP) {
		this.noPKP = noPKP;
	}

	@Column(name = "NoPKP", nullable = true , length = 40)
	public String getNoPKP(){
		return this.noPKP;
	}

	@Caption(value="No Surat Ijin Last")
	private String noSuratIjinLast;

	public void setNoSuratIjinLast(String noSuratIjinLast) {
		this.noSuratIjinLast = noSuratIjinLast;
	}

	@Column(name = "NoSuratIjinLast", nullable = true , length = 20)
	public String getNoSuratIjinLast(){
		return this.noSuratIjinLast;
	}

	@Caption(value="NP W P")
	private String nPWP;

	public void setNPWP(String nPWP) {
		this.nPWP = nPWP;
	}

	@Column(name = "NPWP", nullable = true , length = 30)
	public String getNPWP(){
		return this.nPWP;
	}

	@Caption(value="QProfile")
	private Byte qProfile;

	public void setqProfile(Byte qProfile) {
		this.qProfile = qProfile;
	}

	@Column(name = "QProfile", nullable = false )
	public Byte getqProfile(){
		return this.qProfile;
	}

	@Caption(value="RT R W")
	private String rTRW;

	public void setRTRW(String rTRW) {
		this.rTRW = rTRW;
	}

	@Column(name = "RTRW", nullable = true , length = 7)
	public String getRTRW(){
		return this.rTRW;
	}

	@Caption(value="Signature By Last")
	private String signatureByLast;

	public void setSignatureByLast(String signatureByLast) {
		this.signatureByLast = signatureByLast;
	}

	@Column(name = "SignatureByLast", nullable = true , length = 80)
	public String getSignatureByLast(){
		return this.signatureByLast;
	}

	@Caption(value="Tanggal Akreditasi Last")
	private Date tglAkreditasiLast;

	public void setTglAkreditasiLast(Date tglAkreditasiLast) {
		this.tglAkreditasiLast = tglAkreditasiLast;
	}

	@Column(name = "TglAkreditasiLast", nullable = true )
	public Date getTglAkreditasiLast(){
		return this.tglAkreditasiLast;
	}

	@Caption(value="Tanggal Registrasi")
	private Date tglRegistrasi;

	public void setTglRegistrasi(Date tglRegistrasi) {
		this.tglRegistrasi = tglRegistrasi;
	}

	@Column(name = "TglRegistrasi", nullable = true )
	public Date getTglRegistrasi(){
		return this.tglRegistrasi;
	}

	@Caption(value="Tanggal Surat Ijin Expired Last")
	private Date tglSuratIjinExpiredLast;

	public void setTglSuratIjinExpiredLast(Date tglSuratIjinExpiredLast) {
		this.tglSuratIjinExpiredLast = tglSuratIjinExpiredLast;
	}

	@Column(name = "TglSuratIjinExpiredLast", nullable = true )
	public Date getTglSuratIjinExpiredLast(){
		return this.tglSuratIjinExpiredLast;
	}

	@Caption(value="Tanggal Surat Ijin Last")
	private Date tglSuratIjinLast;

	public void setTglSuratIjinLast(Date tglSuratIjinLast) {
		this.tglSuratIjinLast = tglSuratIjinLast;
	}

	@Column(name = "TglSuratIjinLast", nullable = true )
	public Date getTglSuratIjinLast(){
		return this.tglSuratIjinLast;
	}

	@Caption(value="Website")
	private String website;

	public void setWebsite(String website) {
		this.website = website;
	}

	@Column(name = "Website", nullable = true , length = 80)
	public String getWebsite(){
		return this.website;
	}


}

