package com.jasamedika.medifirst2000.vo;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

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

import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
import com.jasamedika.medifirst2000.entities.Pasien;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.helper.Caption;

public class AsuhanKeperawatanPeriOperasiHeaderVO extends BaseTransactionVO{
	@Column(name ="NoTrans")
	private String noTrans;

	@ManyToOne
	@JoinColumn(name = "ObjectPasienFk")
	@NotNull(message = "Pasien tidak boleh kosong")
	private AntrianPasienDiPeriksaVO pasienDaftar;
	
	//@ManyToOne
	//@Caption("Ruangan")
	//@JoinColumn(name="RuanganFk")
	//private RuanganVO ruangan;
	//private int ruanganId;
	
	private String diagnosaPreOperasi;
	private String tindakan;
	private String diagnosaPostOperasi;
	
	@ManyToOne
	@Caption("DokterBedah")
	@JoinColumn(name="DokterBedahFk")
	private PegawaiVO dokterBedah;
	private Integer dokterId;
	
	@ManyToOne
	@Caption("AsistenBedah")
	@JoinColumn(name="AsistenBedahFk")
	private PegawaiVO asistenBedah;
	private Integer asistenBedahId;
	
	@ManyToOne
	@Caption("PerawatInstrumen1")
	@JoinColumn(name="PerawatInstrumen1Fk")
	private PegawaiVO perawatInstrumen1;
	private Integer perawatInstrumen1Id;
	
	@ManyToOne
	@Caption("PerawatInstrumen2")
	@JoinColumn(name="PerawatInstrumen2Fk")
	private PegawaiVO perawatInstrument2;
	private Integer perawatInstrument2Id;
	
	@ManyToOne
	@Caption("PerawatSirkuler")
	@JoinColumn(name="PerawatSirkulerFk")
	private PegawaiVO perawatSirkuler;
	private Integer perawatSirkulerId;
	
	@ManyToOne
	@Caption("OperatorAlatCanggih")
	@JoinColumn(name="OperatorAlatCanggihFk")
	private PegawaiVO operatorAlatCanggih;
	private Integer operatorAlatCanggihId;
	private String operasiMulai;
	private String operasiSelesai;
	private String jamMasukOperasi;
	private Date tanggal;
	private String jam;

	private Date tglTindakan;

	private String teknikAnestesi;

	private String prosedurOperasi;

	private String anestesiologi;

	private String penataAnestesi;
	
	public String getJam() {
		return jam;
	}
	public void setJam(String jam) {
		this.jam = jam;
	}
	@ManyToOne(cascade=CascadeType.ALL,fetch = FetchType.LAZY)
	private Set<AsuhanKeperawatanPeriOperasiTransVO> asuhanTrans = new HashSet<AsuhanKeperawatanPeriOperasiTransVO>();
	
	@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
	private PostOperasiPerawatBedahVO postOperasi = new PostOperasiPerawatBedahVO();
	
	@ManyToOne(cascade=CascadeType.ALL,fetch = FetchType.LAZY)
	private Set<InfusDetailVO> infusDetail = new HashSet<InfusDetailVO>();
	
	@ManyToOne(cascade=CascadeType.ALL,fetch = FetchType.LAZY)
	private Set<TandaVitalDetailVO> tandaVitalDetail = new HashSet<TandaVitalDetailVO>();
	
	public PostOperasiPerawatBedahVO getPostOperasi() {
		return postOperasi;
	}
	public void setPostOperasi(PostOperasiPerawatBedahVO postOperasi) {
		this.postOperasi = postOperasi;
	}
	public Set<AsuhanKeperawatanPeriOperasiTransVO> getAsuhanTrans() {
		return asuhanTrans;
	}
	public void setAsuhanTrans(Set<AsuhanKeperawatanPeriOperasiTransVO> asuhanTrans) {
		this.asuhanTrans = asuhanTrans;
	}
	
	//public RuanganVO getRuangan() {
	//	return ruangan;
	//}
	//public void setRuangan(RuanganVO 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 PegawaiVO getDokterBedah() {
		return dokterBedah;
	}
	public void setDokterBedah(PegawaiVO dokterBedah) {
		this.dokterBedah = dokterBedah;
	}
	public int getDokterId() {
		return dokterId;
	}
	public void setDokterId(int dokterId) {
		this.dokterId = dokterId;
	}
	public PegawaiVO getAsistenBedah() {
		return asistenBedah;
	}
	public void setAsistenBedah(PegawaiVO asistenBedah) {
		this.asistenBedah = asistenBedah;
	}
	public int getAsistenBedahId() {
		return asistenBedahId;
	}
	public void setAsistenBedahId(int asistenBedahId) {
		this.asistenBedahId = asistenBedahId;
	}
	public PegawaiVO getPerawatInstrumen1() {
		return perawatInstrumen1;
	}
	public void setPerawatInstrumen1(PegawaiVO perawatInstrumen1) {
		this.perawatInstrumen1 = perawatInstrumen1;
	}
	public int getPerawatInstrumen1Id() {
		return perawatInstrumen1Id;
	}
	public void setPerawatInstrumen1Id(int perawatInstrumen1Id) {
		this.perawatInstrumen1Id = perawatInstrumen1Id;
	}
	public PegawaiVO getPerawatInstrument2() {
		return perawatInstrument2;
	}
	public void setPerawatInstrument2(PegawaiVO perawatInstrument2) {
		this.perawatInstrument2 = perawatInstrument2;
	}
	public int getPerawatInstrument2Id() {
		return perawatInstrument2Id;
	}
	public void setPerawatInstrument2Id(int perawatInstrument2Id) {
		this.perawatInstrument2Id = perawatInstrument2Id;
	}
	public PegawaiVO getPerawatSirkuler() {
		return perawatSirkuler;
	}
	public void setPerawatSirkuler(PegawaiVO perawatSirkuler) {
		this.perawatSirkuler = perawatSirkuler;
	}
	public int getPerawatSirkulerId() {
		return perawatSirkulerId;
	}
	public void setPerawatSirkulerId(int perawatSirkulerId) {
		this.perawatSirkulerId = perawatSirkulerId;
	}
	public PegawaiVO getOperatorAlatCanggih() {
		return operatorAlatCanggih;
	}
	public void setOperatorAlatCanggih(PegawaiVO 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 int getNoTrans() {
	//	return noTrans;
	//}
	//public void setNoTrans(int noTrans) {
	//	this.noTrans = noTrans;
	//}
	
	public AntrianPasienDiPeriksaVO getPasienDaftar() {
		return pasienDaftar;
	}
	public void setPasienDaftar(AntrianPasienDiPeriksaVO pasienDaftar) {
		this.pasienDaftar = pasienDaftar;
	}
	public Set<InfusDetailVO> getInfusDetail() {
		return infusDetail;
	}
	public void setInfusDetail(Set<InfusDetailVO> infusDetail) {
		this.infusDetail = infusDetail;
	}
	public Set<TandaVitalDetailVO> getTandaVitalDetail() {
		return tandaVitalDetail;
	}
	public void setTandaVitalDetail(Set<TandaVitalDetailVO> tandaVitalDetail) {
		this.tandaVitalDetail = tandaVitalDetail;
	}
	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;
	}
	public String getNoTrans() {
		return noTrans;
	}
	public void setNoTrans(String noTrans) {
		this.noTrans = noTrans;
	}
	
	
}
