package com.jasamedika.medifirst2000.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 * class PenghasilanTidakKenaPajak
 * 
 * @author Generator
 */
@Entity // @Audited
@Table(name = "PenghasilanTidakKenaPajak_M")
public class PenghasilanTidakKenaPajak extends BaseMaster {
	@Column(name = "Deskripsi", nullable = true, length = 150)
	@Caption(value = "Deskripsi")
	private String deskripsi;

	public void setDeskripsi(String deskripsi) {
		this.deskripsi = deskripsi;
	}

	public String getDeskripsi() {
		return this.deskripsi;
	}

	@NotNull(message = "Kd P T K P tidak boleh kosong")
	@Column(name = "KdPTKP", nullable = false)
	@Caption(value = "Kode P T K P")
	private Byte kdPTKP;

	public void setKdPTKP(Byte kdPTKP) {
		this.kdPTKP = kdPTKP;
	}

	public Byte getKdPTKP() {
		return this.kdPTKP;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectStatusPerkawinanFk")

	@Caption(value = "Object Status Perkawinan")
	private StatusPerkawinan statusPerkawinan;

	public void setStatusPerkawinan(StatusPerkawinan statusPerkawinan) {
		this.statusPerkawinan = statusPerkawinan;
	}

	public StatusPerkawinan getStatusPerkawinan() {
		return this.statusPerkawinan;
	}

	@Column(name = "ObjectStatusPerkawinanFk", insertable = false, updatable = false)
	private Integer statusPerkawinanId;

	@NotNull(message = "QP T K P tidak boleh kosong")
	@Column(name = "QPTKP", nullable = false)
	@Caption(value = "QP T K P")
	private Byte qPTKP;

	public void setqPTKP(Byte qPTKP) {
		this.qPTKP = qPTKP;
	}

	public Byte getqPTKP() {
		return this.qPTKP;
	}

	@Column(name = "QtyAnak", nullable = true)
	@Caption(value = "Qty Anak")
	private Byte qtyAnak;

	public void setqtyAnak(Byte qtyAnak) {
		this.qtyAnak = qtyAnak;
	}

	public Byte getqtyAnak() {
		return this.qtyAnak;
	}

	@NotNull(message = "Status P T K P tidak boleh kosong")
	@Column(name = "StatusPTKP", nullable = false, length = 75)
	@Caption(value = "Status P T K P")
	private String statusPTKP;

	public void setStatusPTKP(String statusPTKP) {
		this.statusPTKP = statusPTKP;
	}

	public String getStatusPTKP() {
		return this.statusPTKP;
	}

	@NotNull(message = "Total Harga P T K P tidak boleh kosong")
	@Column(name = "TotalHargaPTKP", nullable = false)
	@Caption(value = "Total Harga P T K P")
	private Double totalHargaPTKP;

	public void setTotalHargaPTKP(Double totalHargaPTKP) {
		this.totalHargaPTKP = totalHargaPTKP;
	}

	public Double getTotalHargaPTKP() {
		return this.totalHargaPTKP;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.penghasilantidakkenapajak_m_id_seq")
	@javax.persistence.SequenceGenerator(name = "public.penghasilantidakkenapajak_m_id_seq", sequenceName = "public.penghasilantidakkenapajak_m_id_seq", allocationSize = 1)
	@Column(name = "id")
	protected Integer id;

	public Integer getId() {

		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
}