package com.jasamedika.medifirst2000.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

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

@Entity
@Table(name = "ItStatusPerbaikan_T")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class ItStatusPerbaikan extends BaseTransaction{

	@OneToOne(fetch = FetchType.LAZY)
	@Caption(value = "It Perbaikan")
	@JoinColumn(name = "ObjectItPerbaikanFk")
	private ItPerbaikan itPerbaikan;
	
	@Column(name = "ObjectItPerbaikanFk", columnDefinition = "CHAR(32)", nullable = false, insertable = false, updatable = false)
	private String itPerbaikanId;
	
	/*
	 * 0 - belum ada yang dikerjakan
	 * 1 - pemeliharaan sudah dikerjakan
	 * 2 - service sudah dikerjakan
	 * 3 - kalibrasi sudah dikerjakan
	*/
	@Caption(value = "Status Pengerjaan")
	@Column(name = "StatusPengerjaan", nullable = true)
	private Integer statusPengerjaan;
	
	/*
	 * 0 - jadwal belum keluar
	 * 1 - respon hijau 0-15 menit
	 * 2 - respon kuning 15-30 menit
	 * 3 - respon merah >30 menit
	*/
	@Caption(value = "Status Respon")
	@Column(name = "StatusRespon", nullable = true)
	private Integer statusRespon;
	
	@Caption(value = "WaktuRespon")
	@Column(name = "WaktuRespon", nullable = true)
	private Long waktuRespon;
	
	@Caption(value = "Ket Status Respon")
	@Column(name = "KetStatusRespon", nullable = true)
	private String ketStatusRespon;

	public ItPerbaikan getItPerbaikan() {
		return itPerbaikan;
	}

	public void setItPerbaikan(ItPerbaikan itPerbaikan) {
		this.itPerbaikan = itPerbaikan;
	}

	public String getItPerbaikanId() {
		return itPerbaikanId;
	}

	public void setItPerbaikanId(String itPerbaikanId) {
		this.itPerbaikanId = itPerbaikanId;
	}

	public Integer getStatusPengerjaan() {
		return statusPengerjaan;
	}

	public void setStatusPengerjaan(Integer statusPengerjaan) {
		this.statusPengerjaan = statusPengerjaan;
	}

	public Integer getStatusRespon() {
		return statusRespon;
	}

	public void setStatusRespon(Integer statusRespon) {
		this.statusRespon = statusRespon;
	}

	public Long getWaktuRespon() {
		return waktuRespon;
	}

	public void setWaktuRespon(Long waktuRespon) {
		this.waktuRespon = waktuRespon;
	}

	public String getKetStatusRespon() {
		return ketStatusRespon;
	}

	public void setKetStatusRespon(String ketStatusRespon) {
		this.ketStatusRespon = ketStatusRespon;
	}
}
