package com.jasamedika.medifirst2000.entities;

import java.util.Date;

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

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name = "AsuhanKeperawatanPeriOperasiHeader_T")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class AsuhanKeperawatanPeriOperasiHeader extends BaseTransaction {
	
	@Column(name ="NoTrans", length = 20)
	private String noTrans;
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "ObjectPasienFk")
	@NotNull(message = "Pasien tidak boleh kosong")
	private AntrianPasienDiPeriksa pasienDaftar;
	
	@Column(name = "ObjectPasienFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
	private String pasienId;

	@Column(name = "checkInfk", insertable = false, updatable = false)
	private String pasienDaftarId;
	
	//@ManyToOne
	//@Caption("Ruangan")
	//@JoinColumn(name="RuanganFk")
	//private Ruangan ruangan;
	
	//@Column(name = "RuanganFk", insertable = false, updatable = false)
	//private int ruanganId;
	
	@Column(name = "DiagnosaPreOperasi", length = 100)
	private String diagnosaPreOperasi;
	
	@Column(name ="Tindakan", length = 100)
	private String tindakan;
	
	@Column(name = "DiagnosaPostOperasi", length = 100)
	private String diagnosaPostOperasi;
	
	@ManyToOne
	@Caption("DokterBedah")
	@JoinColumn(name="DokterBedahFk")
	private Pegawai dokterBedah;
	
	@Column(name = "DokterBedahFk", insertable = false, updatable =  false)
	private Integer dokterId; 
	
	@ManyToOne
	@Caption("AsistenBedah")
	@JoinColumn(name="AsistenBedahFk")
	private Pegawai asistenBedah;
	
	@Column(name = "AsistenBedahFk", insertable = false, updatable = false)
	private Integer asistenBedahId;
	
	@ManyToOne
	@Caption("PerawatInstrumen1")
	@JoinColumn(name="PerawatInstrumen1Fk")
	private Pegawai perawatInstrumen1;
	
	@Column(name = "PerawatInstrumen1Fk", insertable = false, updatable = false)
	private Integer perawatInstrumen1Id;
	
	@ManyToOne
	@Caption("PerawatInstrumen2")
	@JoinColumn(name="PerawatInstrumen2Fk")
	private Pegawai perawatInstrument2;
	
	@Column(name = "PerawatInstrumen2Fk", insertable = false, updatable = false)
	private Integer perawatInstrument2Id;
	
	@ManyToOne
	@Caption("PerawatSirkuler")
	@JoinColumn(name="PerawatSirkulerFk")
	private Pegawai perawatSirkuler;
	
	@Column(name = "PerawatSirkulerFk", insertable = false, updatable = false)
	private Integer perawatSirkulerId;
	
	@ManyToOne
	@Caption("OperatorAlatCanggih")
	@JoinColumn(name="OperatorAlatCanggihFk")
	private Pegawai operatorAlatCanggih;
	
	@Column(name = "OperatorAlatCanggihFk", insertable = false, updatable = false)
	private Integer operatorAlatCanggihId;
	
	@Column(name="OperasiMulai", length = 10)
	private String operasiMulai;
	
	@Column(name = "OperasiSelesai", length = 10)
	private String operasiSelesai;
	
	@Column(name = "JamMasukOperasi", length = 10)
	private String jamMasukOperasi;
	
	@Column(name = "tanggal")
	private Date tanggal;
	
	@Column(name = "jam", length = 10)
	private String jam;
	
	@Column(name = "tglTindakan", length = 150)
	private Date tglTindakan;
	
	@Column(name = "TeknikAnestesi", length = 150)
	private String teknikAnestesi;
	
	@Column(name ="ProsedurOperasi", length = 150)
	private String prosedurOperasi;
	
	@Column(name ="Anestesiologi", length = 150)
	private String anestesiologi;
	
	@Column(name ="PenataAnestesi", length = 150)
	private String penataAnestesi;
	
	public String getJam() {
		return jam;
	}

	public void setJam(String jam) {
		this.jam = jam;
	}

	//public int getPasienId() {
	//	return pasienId;
	//}

	//public void setPasienId(int pasienId) {
	//	this.pasienId = pasienId;
	//}

	//public Ruangan getRuangan() {
	//	return ruangan;
	//}

	//public void setRuangan(Ruangan ruangan) {
	//	this.ruangan = ruangan;
	//}

	//public int getRuanganId() {
	//	return ruanganId;
	//}

	//public void setRuanganId(int ruanganId) {
	//	this.ruanganId = ruanganId;
	//}

	public String getDiagnosaPreOperasi() {
		return diagnosaPreOperasi;
	}

	public void setDiagnosaPreOperasi(String diagnosaPreOperasi) {
		this.diagnosaPreOperasi = diagnosaPreOperasi;
	}

	public String getTindakan() {
		return tindakan;
	}

	public void setTindakan(String tindakan) {
		this.tindakan = tindakan;
	}

	public String getDiagnosaPostOperasi() {
		return diagnosaPostOperasi;
	}

	public void setDiagnosaPostOperasi(String diagnosaPostOperasi) {
		this.diagnosaPostOperasi = diagnosaPostOperasi;
	}

	public Pegawai getDokterBedah() {
		return dokterBedah;
	}

	public void setDokterBedah(Pegawai dokterBedah) {
		this.dokterBedah = dokterBedah;
	}

	public int getDokterId() {
		return dokterId;
	}

	public void setDokterId(int dokterId) {
		this.dokterId = dokterId;
	}

	public Pegawai getAsistenBedah() {
		return asistenBedah;
	}

	public void setAsistenBedah(Pegawai asistenBedah) {
		this.asistenBedah = asistenBedah;
	}

	public int getAsistenBedahId() {
		return asistenBedahId;
	}

	public void setAsistenBedahId(int asistenBedahId) {
		this.asistenBedahId = asistenBedahId;
	}

	public Pegawai getPerawatInstrumen1() {
		return perawatInstrumen1;
	}

	public void setPerawatInstrumen1(Pegawai perawatInstrumen1) {
		this.perawatInstrumen1 = perawatInstrumen1;
	}

	public int getPerawatInstrumen1Id() {
		return perawatInstrumen1Id;
	}

	public void setPerawatInstrumen1Id(int perawatInstrumen1Id) {
		this.perawatInstrumen1Id = perawatInstrumen1Id;
	}

	public Pegawai getPerawatInstrument2() {
		return perawatInstrument2;
	}

	public void setPerawatInstrument2(Pegawai perawatInstrument2) {
		this.perawatInstrument2 = perawatInstrument2;
	}

	public int getPerawatInstrument2Id() {
		return perawatInstrument2Id;
	}

	public void setPerawatInstrument2Id(int perawatInstrument2Id) {
		this.perawatInstrument2Id = perawatInstrument2Id;
	}

	public Pegawai getPerawatSirkuler() {
		return perawatSirkuler;
	}

	public void setPerawatSirkuler(Pegawai perawatSirkuler) {
		this.perawatSirkuler = perawatSirkuler;
	}

	public int getPerawatSirkulerId() {
		return perawatSirkulerId;
	}

	public void setPerawatSirkulerId(int perawatSirkulerId) {
		this.perawatSirkulerId = perawatSirkulerId;
	}

	public Pegawai getOperatorAlatCanggih() {
		return operatorAlatCanggih;
	}

	public void setOperatorAlatCanggih(Pegawai operatorAlatCanggih) {
		this.operatorAlatCanggih = operatorAlatCanggih;
	}

	public int getOperatorAlatCanggihId() {
		return operatorAlatCanggihId;
	}

	public void setOperatorAlatCanggihId(int operatorAlatCanggihId) {
		this.operatorAlatCanggihId = operatorAlatCanggihId;
	}

	public String getOperasiMulai() {
		return operasiMulai;
	}

	public void setOperasiMulai(String operasiMulai) {
		this.operasiMulai = operasiMulai;
	}

	public String getOperasiSelesai() {
		return operasiSelesai;
	}

	public void setOperasiSelesai(String operasiSelesai) {
		this.operasiSelesai = operasiSelesai;
	}

	public String getJamMasukOperasi() {
		return jamMasukOperasi;
	}

	public void setJamMasukOperasi(String jamMasukOperasi) {
		this.jamMasukOperasi = jamMasukOperasi;
	}

	public Date getTanggal() {
		return tanggal;
	}

	public void setTanggal(Date tanggal) {
		this.tanggal = tanggal;
	}

	public String getNoTrans() {
		return noTrans;
	}

	public void setNoTrans(String noTrans) {
		this.noTrans = noTrans;
	}

	public String getPasienDaftarId() {
		return pasienDaftarId;
	}

	public void setPasienDaftarId(String pasienDaftarId) {
		this.pasienDaftarId = pasienDaftarId;
	}

	public AntrianPasienDiPeriksa getPasienDaftar() {
		return pasienDaftar;
	}

	public void setPasienDaftar(AntrianPasienDiPeriksa pasienDaftar) {
		this.pasienDaftar = pasienDaftar;
	}

	public Date getTglTindakan() {
		return tglTindakan;
	}

	public void setTglTindakan(Date tglTindakan) {
		this.tglTindakan = tglTindakan;
	}

	public String getTeknikAnestesi() {
		return teknikAnestesi;
	}

	public void setTeknikAnestesi(String teknikAnestesi) {
		this.teknikAnestesi = teknikAnestesi;
	}

	public String getProsedurOperasi() {
		return prosedurOperasi;
	}

	public void setProsedurOperasi(String prosedurOperasi) {
		this.prosedurOperasi = prosedurOperasi;
	}

	public String getAnestesiologi() {
		return anestesiologi;
	}

	public void setAnestesiologi(String anestesiologi) {
		this.anestesiologi = anestesiologi;
	}

	public String getPenataAnestesi() {
		return penataAnestesi;
	}

	public void setPenataAnestesi(String penataAnestesi) {
		this.penataAnestesi = penataAnestesi;
	}
	
	

}
