package com.jasamedika.medifirst2000.entities;

import java.util.Date;

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

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

/**
 * @author salmanoe
 * @since Jun 20, 2022
 * 
 */
@Entity
@Table(name = "sdm_skoringtindakanfarmakologi_t")
public class SkoringTindakanFarmakologi extends BaseTransaction {
	
	private static final long serialVersionUID = 7912488462464538308L;

	@Column(name = "skor", nullable = false)
	@Caption(value = "Nilai Skor")
	private Double skor;

	@Column(name = "statusverifikasi", nullable = false)
	@Caption(value = "Status Verifikasi")
	private Boolean statusVerifikasi;

	@Caption(value = "Tanggal Mulai Berlaku")
	@Column(name = "tanggalmulaiberlaku", nullable = false)
	@Temporal(TemporalType.DATE)
	private Date tanggalMulaiBerlaku;

	@Caption(value = "Tanggal Pembaharuan Data")
	@Column(name = "tanggalpembaharuandata", nullable = false)
	@Temporal(TemporalType.TIMESTAMP)
	private Date tanggalPembaharuanData;

	@ManyToOne
	@NotNull(message = "Produk Farmakologi tidak boleh kosong")
	@JoinColumn(name = "objectprodukfarmakologifk")
	@Caption(value = "Produk Farmakologi")
	private ProdukFarmakologi produk;

	@Column(name = "objectprodukfarmakologifk", insertable = false, updatable = false, nullable = false)
	private Integer produkId;

	public Double getSkor() {
		return skor;
	}

	public void setSkor(Double skor) {
		this.skor = skor;
	}

	public Boolean getStatusVerifikasi() {
		return statusVerifikasi;
	}

	public void setStatusVerifikasi(Boolean statusVerifikasi) {
		this.statusVerifikasi = statusVerifikasi;
	}

	public Date getTanggalMulaiBerlaku() {
		return tanggalMulaiBerlaku;
	}

	public void setTanggalMulaiBerlaku(Date tanggalMulaiBerlaku) {
		this.tanggalMulaiBerlaku = tanggalMulaiBerlaku;
	}

	public Date getTanggalPembaharuanData() {
		return tanggalPembaharuanData;
	}

	public void setTanggalPembaharuanData(Date tanggalPembaharuanData) {
		this.tanggalPembaharuanData = tanggalPembaharuanData;
	}

	public ProdukFarmakologi getProduk() {
		return produk;
	}

	public void setProduk(ProdukFarmakologi produk) {
		this.produk = produk;
	}

	public Integer getProdukId() {
		return produkId;
	}

	public void setProdukId(Integer produkId) {
		this.produkId = produkId;
	}
	
}
