salmanoe c26b23a85a Update SlipGajiService
Penerapan komponen gaji pada service simpan dan get slip gaji per bulan per pegawai
2023-01-31 07:53:29 +07:00

134 lines
3.0 KiB
Java

package com.jasamedika.medifirst2000.entities;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Jan 30, 2023
*/
@Entity
@Table(name = "sdm_slipgajikomponen_t")
public class SlipGajiKomponen implements Serializable {
private static final long serialVersionUID = -3932381437404780760L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
@Column(columnDefinition = "CHAR(32)", unique = true)
@Caption(value = "ID")
protected String id;
@ManyToOne
@JoinColumn(name = "komponengajifk")
@Caption(value = "Komponen Slip Gaji")
private KomponenGaji komponen;
@Column(name = "nominal")
@Caption(value = "Nominal")
private BigDecimal nominal;
@ManyToOne
@NotNull(message = "Slip Gaji tidak boleh kosong")
@JoinColumn(name = "slipgajifk", columnDefinition = "CHAR(32)", nullable = false)
@Caption(value = "Slip Gaji")
private SlipGaji slipGaji;
public SlipGajiKomponen() {
}
public SlipGajiKomponen(String id, KomponenGaji komponen, BigDecimal nominal, SlipGaji slipGaji) {
this.id = id;
this.komponen = komponen;
this.nominal = nominal;
this.slipGaji = slipGaji;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public KomponenGaji getKomponen() {
return komponen;
}
public void setKomponen(KomponenGaji komponen) {
this.komponen = komponen;
}
public BigDecimal getNominal() {
return nominal;
}
public void setNominal(BigDecimal nominal) {
this.nominal = nominal;
}
public SlipGaji getSlipGaji() {
return slipGaji;
}
public void setSlipGaji(SlipGaji slipGaji) {
this.slipGaji = slipGaji;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public static SlipGajiKomponenBuilder builder() {
return new SlipGajiKomponenBuilder();
}
public static class SlipGajiKomponenBuilder {
private String id;
private KomponenGaji komponen;
private BigDecimal nominal;
private SlipGaji slipGaji;
public SlipGajiKomponenBuilder() {
}
public SlipGajiKomponenBuilder id(final String id) {
this.id = id;
return this;
}
public SlipGajiKomponenBuilder komponen(final KomponenGaji komponen) {
this.komponen = komponen;
return this;
}
public SlipGajiKomponenBuilder nominal(final BigDecimal nominal) {
this.nominal = nominal;
return this;
}
public SlipGajiKomponenBuilder slipGaji(final SlipGaji slipGaji) {
this.slipGaji = slipGaji;
return this;
}
public SlipGajiKomponen build() {
return new SlipGajiKomponen(this.id, this.komponen, this.nominal, this.slipGaji);
}
}
}