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 AsuransiPasienBerlaku
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "AsuransiPasienBerlaku_M")
public class AsuransiPasienBerlakuVO extends BaseMasterVO {
	@Caption(value="Is Collective Plafon")
	private Byte isCollectivePlafon;

	@Column(name = "isCollectivePlafon", nullable = false )
	public Byte getIsCollectivePlafon() {
		return isCollectivePlafon;
	}

	public void setIsCollectivePlafon(Byte isCollectivePlafon) {
		this.isCollectivePlafon = isCollectivePlafon;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectHubunganPesertaFk")
	@NotNull(message="Object Hubungan Peserta Harus Diisi")
	@Caption(value="Object Hubungan Peserta")
	private HubunganPesertaAsuransiVO hubunganPeserta;

	public void setHubunganPeserta(HubunganPesertaAsuransiVO hubunganPeserta) {
		this.hubunganPeserta = hubunganPeserta;
	}

	@Column(name = "KdHubunganPeserta", nullable = false )
	public HubunganPesertaAsuransiVO getHubunganPeserta(){
		return this.hubunganPeserta;
	}

	@Column(name = "ObjectHubunganPesertaFk", insertable=false,updatable=false)
	private Integer hubunganPesertaId;
	
	

	public Integer getHubunganPesertaId() {
		return hubunganPesertaId;
	}

	public void setHubunganPesertaId(Integer hubunganPesertaId) {
		this.hubunganPesertaId = hubunganPesertaId;
	}

	@Caption(value="Kode Penjamin Pasien")
	private short kdPenjaminPasien;

	@Column(name = "KdPenjaminPasien", nullable = false )
	public short getKdPenjaminPasien() {
		return kdPenjaminPasien;
	}

	public void setKdPenjaminPasien(short kdPenjaminPasien) {
		this.kdPenjaminPasien = kdPenjaminPasien;
	}

	@Caption(value="No Asuransi")
	private String noAsuransi;

	public void setNoAsuransi(String noAsuransi) {
		this.noAsuransi = noAsuransi;
	}

	@Column(name = "NoAsuransi", nullable = false , length = 30)
	public String getNoAsuransi(){
		return this.noAsuransi;
	}

	@Caption(value="Tanggal Akhir Berlaku")
	private Date tglAkhirBerlaku;

	@Column(name = "TglAkhirBerlaku", nullable = true )
	public Date getTglAkhirBerlaku() {
		return tglAkhirBerlaku;
	}

	public void setTglAkhirBerlaku(Date tglAkhirBerlaku) {
		this.tglAkhirBerlaku = tglAkhirBerlaku;
	}

	@Caption(value="Tanggal Mulai Berlaku")
	private Date tglMulaiBerlaku;

	@Column(name = "TglMulaiBerlaku", nullable = false )
	public Date getTglMulaiBerlaku() {
		return tglMulaiBerlaku;
	}

	public void setTglMulaiBerlaku(Date tglMulaiBerlaku) {
		this.tglMulaiBerlaku = tglMulaiBerlaku;
	}

	@Caption(value="Total Current Terpakai")
	private Double totalCurrentTerpakai;

	public void setTotalCurrentTerpakai(Double totalCurrentTerpakai) {
		this.totalCurrentTerpakai = totalCurrentTerpakai;
	}

	@Column(name = "TotalCurrentTerpakai", nullable = false )
	public Double getTotalCurrentTerpakai(){
		return this.totalCurrentTerpakai;
	}

	@Caption(value="Total Plafon Tanggungan")
	private Double totalPlafonTanggungan;

	public void setTotalPlafonTanggungan(Double totalPlafonTanggungan) {
		this.totalPlafonTanggungan = totalPlafonTanggungan;
	}

	@Column(name = "TotalPlafonTanggungan", nullable = false )
	public Double getTotalPlafonTanggungan(){
		return this.totalPlafonTanggungan;
	}

	@Caption(value="Total Saldo Tanggungan")
	private Double totalSaldoTanggungan;

	public void setTotalSaldoTanggungan(Double totalSaldoTanggungan) {
		this.totalSaldoTanggungan = totalSaldoTanggungan;
	}

	@Column(name = "TotalSaldoTanggungan", nullable = false )
	public Double getTotalSaldoTanggungan(){
		return this.totalSaldoTanggungan;
	}


}

