package com.jasamedika.medifirst2000.entities;

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

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

@Entity()
@Table(name="KartuPengendaliDetail_T")
public class KartuPengendaliDetail extends BaseTransaction{

	@Column(name="NoUsulan", nullable = true)
	@Caption(value="No Usulan")
	private String noUsulan;
	
	@ManyToOne
	@JoinColumn(name = "ObjectKartuPengendalik")
	@NotNull(message="Kartu Pengendali harus Diisi")
	@Caption(value="Kartu Pengendali")
	private KartuPengendali kartuPengendali;
	
	@Column(name="ObjectKartuPengendalik", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
	private String kartuPengendaliId;
	
	
	@ManyToOne
	@JoinColumn(name = "ObjectStrukRekapPemangan")
	@Caption(value="Kartu Pengendali")
	private StrukRekapPemenang strukRekapPemenang;
	
	@Column(name="ObjectStrukRekapPemangan", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String strukRekapPemenangId;
	

	@ManyToOne
	@JoinColumn(name = "ObjectDetailRupFk")
	@NotNull(message="Rup harus Diisi ")
	@Caption(value = "Detail Rup")
	private DetailRup detailRup;
	
	@Column(name="ObjectDetailRupFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
	private String detailRupId;
	
	@Column(name = "VolumeBarang")
	@Caption(value = "Volume Barang")
	private float volumeBarang;
	
	@Caption(value="Ppn")
	@Column(name="Ppn", nullable = true)
	private Double ppn;

	@Caption(value = "Harga Satuan Barang")
	@Column(name = "HargaSatuanBarang")
	private Double hargaSatuanBarang;

	@Caption(value = "Total Harga Barang")
	@Column(name = "TotalHargaBarang")
	private Double totalHargaBarang;
	
	@Caption(value="Pembulatan")
	@Column(name="Pembulatan", nullable = true)
	private Double pembulatan;
	
	@Column(name="Terbilang", nullable = true)
	@Caption(value="Terbilang")
	private String terbilang;
	
	@Caption(value = "Harga Satuan Barang Hps")
	@Column(name = "hargaSatuanBarangHps")
	private Double hargaSatuanBarangHps;

	@Caption(value = "Total Harga Barang Hps")
	@Column(name = "TotalHargaBarangHps")
	private Double totalHargaBarangHps;
	
	@Caption(value="PembulatanHps")
	@Column(name="PembulatanHps", nullable = true)
	private Double pembulatanHps;
	
	@Column(name="TerbilangHps", nullable = true)
	@Caption(value="Terbilang Hps")
	private String terbilangHps;
	
	@Column(name="keterangan", nullable = true)
	@Caption(value="keterangan")
	private String keterangan;
	
	
	@ManyToOne
	@JoinColumn(name = "ObjectKartuPengendaliDetailFk")
	@Caption(value = "Kartu Pengendali Detail")
	private KartuPengendaliDetail kartuPengendaliDetail;
	
	@Column(name="ObjectKartuPengendaliDetailFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String kartuPengendaliDetailId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectRekananFk")
	@Caption(value = "Supplier")
	private Rekanan supplier;
	
	@Column(name="ObjectRekananFk", insertable = false, updatable = false, nullable = true)
	private Integer supplierId;
	
	@Caption(value = "Harga Supplier")
	@Column(name = "HargaSupplier")
	private Double hargaSupplier;
	
	@Column(name = "StatusCode", nullable = true)
	@Caption(value = "Status Code")
	private Integer statusCode;
	
	@Column(name = "isVerifikasi")
	public String isVerifikasi;
	
	@Column(name = "isActive")
	public Boolean isActive;
	
	public String getNoUsulan() {
		return noUsulan;
	}

	public void setNoUsulan(String noUsulan) {
		this.noUsulan = noUsulan;
	}

	public KartuPengendali getKartuPengendali() {
		return kartuPengendali;
	}

	public void setKartuPengendali(KartuPengendali kartuPengendali) {
		this.kartuPengendali = kartuPengendali;
	}

	public String getKartuPengendaliId() {
		return kartuPengendaliId;
	}

	public void setKartuPengendaliId(String kartuPengendaliId) {
		this.kartuPengendaliId = kartuPengendaliId;
	}

	public DetailRup getDetailRup() {
		return detailRup;
	}

	public void setDetailRup(DetailRup detailRup) {
		this.detailRup = detailRup;
	}

	public String getDetailRupId() {
		return detailRupId;
	}

	public void setDetailRupId(String detailRupId) {
		this.detailRupId = detailRupId;
	}

	public float getVolumeBarang() {
		return volumeBarang;
	}

	public void setVolumeBarang(float volumeBarang) {
		this.volumeBarang = volumeBarang;
	}

	public Double getHargaSatuanBarang() {
		return hargaSatuanBarang;
	}

	public void setHargaSatuanBarang(Double hargaSatuanBarang) {
		this.hargaSatuanBarang = hargaSatuanBarang;
	}

	public Double getTotalHargaBarang() {
		return totalHargaBarang;
	}

	public void setTotalHargaBarang(Double totalHargaBarang) {
		this.totalHargaBarang = totalHargaBarang;
	}

	public Double getPpn() {
		return ppn;
	}

	public void setPpn(Double ppn) {
		this.ppn = ppn;
	}

	public Double getPembulatan() {
		return pembulatan;
	}

	public void setPembulatan(Double pembulatan) {
		this.pembulatan = pembulatan;
	}

	public String getTerbilang() {
		return terbilang;
	}

	public void setTerbilang(String terbilang) {
		this.terbilang = terbilang;
	}

	public KartuPengendaliDetail getKartuPengendaliDetail() {
		return kartuPengendaliDetail;
	}

	public void setKartuPengendaliDetail(KartuPengendaliDetail kartuPengendaliDetail) {
		this.kartuPengendaliDetail = kartuPengendaliDetail;
	}

	public String getKartuPengendaliDetailId() {
		return kartuPengendaliDetailId;
	}

	public void setKartuPengendaliDetailId(String kartuPengendaliDetailId) {
		this.kartuPengendaliDetailId = kartuPengendaliDetailId;
	}

	public Integer getStatusCode() {
		return statusCode;
	}

	public void setStatusCode(Integer statusCode) {
		this.statusCode = statusCode;
	}


	public Boolean getIsActive() {
		return isActive;
	}

	public void setIsActive(Boolean isActive) {
		this.isActive = isActive;
	}

	public Double getHargaSatuanBarangHps() {
		return hargaSatuanBarangHps;
	}

	public void setHargaSatuanBarangHps(Double hargaSatuanBarangHps) {
		this.hargaSatuanBarangHps = hargaSatuanBarangHps;
	}

	public Double getTotalHargaBarangHps() {
		return totalHargaBarangHps;
	}

	public void setTotalHargaBarangHps(Double totalHargaBarangHps) {
		this.totalHargaBarangHps = totalHargaBarangHps;
	}

	public Double getPembulatanHps() {
		return pembulatanHps;
	}

	public void setPembulatanHps(Double pembulatanHps) {
		this.pembulatanHps = pembulatanHps;
	}

	public String getTerbilangHps() {
		return terbilangHps;
	}

	public void setTerbilangHps(String terbilangHps) {
		this.terbilangHps = terbilangHps;
	}

	public String getIsVerifikasi() {
		return isVerifikasi;
	}

	public void setIsVerifikasi(String isVerifikasi) {
		this.isVerifikasi = isVerifikasi;
	}

	public String getKeterangan() {
		return keterangan;
	}

	public void setKeterangan(String keterangan) {
		this.keterangan = keterangan;
	}

	public Rekanan getSupplier() {
		return supplier;
	}

	public void setSupplier(Rekanan supplier) {
		this.supplier = supplier;
	}

	public Integer getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(Integer supplierId) {
		this.supplierId = supplierId;
	}

	public Double getHargaSupplier() {
		return hargaSupplier;
	}

	public void setHargaSupplier(Double hargaSupplier) {
		this.hargaSupplier = hargaSupplier;
	}

	public StrukRekapPemenang getStrukRekapPemenang() {
		return strukRekapPemenang;
	}

	public void setStrukRekapPemenang(StrukRekapPemenang strukRekapPemenang) {
		this.strukRekapPemenang = strukRekapPemenang;
	}

	public String getStrukRekapPemenangId() {
		return strukRekapPemenangId;
	}

	public void setStrukRekapPemenangId(String strukRekapPemenangId) {
		this.strukRekapPemenangId = strukRekapPemenangId;
	}
	
	
	
	
	
}
