package com.jasamedika.medifirst2000.dao; import java.util.List; import java.util.Map; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import com.jasamedika.medifirst2000.entities.RiwayatJabatan; /** * * @author Shakato */ @Repository("RiwayatJabatanDao") public interface RiwayatJabatanDao extends PagingAndSortingRepository { @Query("select new Map(jab.namaJabatan as namaJabatan, jab.id as id) " + "from RiwayatJabatan rjab " + "inner join rjab.jabatan jab " + "where rjab.statusEnabled is true " + "and jab.jenisJabatanId = :idJenisJabatan " + "and rjab.pegawaiId = :idPegawai " + "order by jab.namaJabatan asc") public List> getRiwayatJabatan(@Param("idPegawai") Integer idPegawai, @Param("idJenisJabatan") Integer idJenisJabatan); @Query("select new Map(rj.pegawaiId as idPgw," + "jb.jenisJabatanId as idJenisJabatan," + "rj.noRec as noRec," + "rj.statusEnabled as statusEnabled," + "rj.keterangan as keterangan," + "rj.noSK as noSk," + "rj.tglSK as tglSk," + "rj.jabatanId as idJabatan," + "jj.jenisJabatan as jenisJabatan," + "pgw.namaLengkap as namaLengkap," + "jb.namaJabatan as namaJabatan," + "uk.id as unitKerjaId," + "uk.name as unitKerja," + "rj.ttdPegawaiSk as ttdPegawaiSk," + "rj.ttdJabatanSk as ttdJabatanSk," + "rj.sumberData as sumberDataId," + "case when rj.sumberData = 1 then 'Internal' " + "when rj.sumberData = 2 then 'Fungsional' " + "when rj.sumberData = 3 then 'Struktural' end as sumberData) " + "from RiwayatJabatan rj " + "inner join rj.jabatan jb " + "inner join jb.unitKerja uk " + "left join jb.jenisJabatan jj " + "left join rj.pegawai pgw " + "where rj.statusEnabled is true " + "and jb.statusEnabled is true " + "and uk.statusEnabled is true " + "and rj.pegawaiId = :idPegawai") public List> getDataRiwayatJabatan(@Param("idPegawai") Integer idPegawai); }