diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiKomponenDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiKomponenDao.java index 1bd5fd62..7a116a80 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiKomponenDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiKomponenDao.java @@ -15,9 +15,13 @@ import com.jasamedika.medifirst2000.entities.SlipGajiKomponen; * @since Jan 30, 2023 */ public interface SlipGajiKomponenDao extends JpaRepository { - @Query("select new Map(sgk.id as id," + "sgk.komponen.id as idKomponen," - + "sgk.komponen.namaKomponen as namaKomponen," + "sgk.nominal as nominal) " + "from SlipGajiKomponen sgk " - + "where sgk.slipGaji.pegawai.id = :pegawaiId " + "and sgk.slipGaji.bulan between :start and :end") + @Query("select new Map(sgk.id as id," + "sgk.komponen.jenisKomponen as idJenisKomponen," + + "case when sgk.komponen.jenisKomponen = 1 then 'Penerimaan' " + + "when sgk.komponen.jenisKomponen = 2 then 'Pemotongan' end as jenisKomponen," + + "sgk.komponen.id as idKomponen," + "sgk.komponen.namaKomponen as namaKomponen," + + "sgk.nominal as nominal) " + "from SlipGajiKomponen sgk " + "where sgk.slipGaji.pegawai.id = :pegawaiId " + + "and sgk.slipGaji.bulan between :start and :end " + + "order by sgk.komponen.jenisKomponen, sgk.komponen.id") List> findAll(@Param("pegawaiId") Integer pegawaiId, @Param("start") Date start, @Param("end") Date end); diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiKomponenDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiKomponenDto.java index b51d3231..cfda7906 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiKomponenDto.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiKomponenDto.java @@ -8,6 +8,12 @@ public class SlipGajiKomponenDto { @Caption(value = "ID") private String id; + @Caption(value = "ID Jenis Komponen Gaji") + private Integer idJenisKomponen; + + @Caption(value = "Jenis Komponen Gaji") + private String jenisKomponen; + @Caption(value = "ID Komponen Gaji") private Integer idKomponen; @@ -20,8 +26,11 @@ public class SlipGajiKomponenDto { public SlipGajiKomponenDto() { } - public SlipGajiKomponenDto(String id, Integer idKomponen, String namaKomponen, BigDecimal nominal) { + public SlipGajiKomponenDto(String id, Integer idJenisKomponen, String jenisKomponen, Integer idKomponen, + String namaKomponen, BigDecimal nominal) { this.id = id; + this.idJenisKomponen = idJenisKomponen; + this.jenisKomponen = jenisKomponen; this.idKomponen = idKomponen; this.namaKomponen = namaKomponen; this.nominal = nominal; @@ -35,6 +44,22 @@ public class SlipGajiKomponenDto { this.id = id; } + public Integer getIdJenisKomponen() { + return idJenisKomponen; + } + + public void setIdJenisKomponen(Integer idJenisKomponen) { + this.idJenisKomponen = idJenisKomponen; + } + + public String getJenisKomponen() { + return jenisKomponen; + } + + public void setJenisKomponen(String jenisKomponen) { + this.jenisKomponen = jenisKomponen; + } + public Integer getIdKomponen() { return idKomponen; } @@ -65,6 +90,8 @@ public class SlipGajiKomponenDto { public static class SlipGajiKomponenDtoBuilder { private String id; + private Integer idJenisKomponen; + private String jenisKomponen; private Integer idKomponen; private String namaKomponen; private BigDecimal nominal; @@ -77,6 +104,16 @@ public class SlipGajiKomponenDto { return this; } + public SlipGajiKomponenDtoBuilder idJenisKomponen(final Integer idJenisKomponen) { + this.idJenisKomponen = idJenisKomponen; + return this; + } + + public SlipGajiKomponenDtoBuilder jenisKomponen(final String jenisKomponen) { + this.jenisKomponen = jenisKomponen; + return this; + } + public SlipGajiKomponenDtoBuilder idKomponen(final Integer idKomponen) { this.idKomponen = idKomponen; return this; @@ -93,7 +130,8 @@ public class SlipGajiKomponenDto { } public SlipGajiKomponenDto build() { - return new SlipGajiKomponenDto(this.id, this.idKomponen, this.namaKomponen, this.nominal); + return new SlipGajiKomponenDto(this.id, this.idJenisKomponen, this.jenisKomponen, this.idKomponen, + this.namaKomponen, this.nominal); } } }