package com.jasamedika.medifirst2000.dao; import java.util.Date; 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.PlanningPegawaiMuSaRe; @Repository("PlanningPegawaiMuSaReDao") public interface PlanningPegawaiMuSaReDao extends PagingAndSortingRepository{ @Query("select " + "a.noPlanning " + "from PlanningPegawaiMuSaRe a " + "where a.noPlanning LIKE %:kode% ") List noUsulan(@Param("kode") String kode); @Query("select count(a.noPlanning) " + "from PlanningPegawaiMuSaRe a " + "where a.noPlanning LIKE %:kode% ") Long countNoUsulan(@Param("kode") String kode); @Query("select count(a.noplanning) " + "from StrukPlanning a ") Long countNoStruk(); @Query("select NEW Map (" + "a.id as id, " + "a.namaLengkap as namaLengkap) " + "from Pegawai a " + "left join a.ruangan b " + "left join a.kategoryPegawai c " + "left join a.statusPegawai d " + "where b.id=:id and c.id!=11 and d.id=2") List> getListPegawai( @Param("id") Integer id); @Query("select NEW Map (" + "a.id as id, " + "a.namaLengkap as namaLengkap) " + "from Pegawai a " + "left join a.ruangan b ") List> getListPegawai(); @Query("select NEW Map (" + "a.namaLengkap as namaLengkap) " + "from Pegawai a where a.id=:id") Map getPegawai( @Param("id") Integer id); @Query("select NEW Map (" + "a.id as id, " + "a.namaJabatan as namaJabatan) " + "from Jabatan a " + "left join a.jenisJabatan b " + "where b.id=:id") List> getListJabatanByJenis( @Param("id") Integer id); @Query("select NEW Map (" + "a.id as id, " + "a.namaRuangan as namaRuangan) " + "from Ruangan a") List> getListRuanganMutasi(); @Query("select NEW Map (" + "a.id as id, " + "a.eselon as eselon) " + "from Eselon a") List> getListEselon(); @Query("select NEW Map (" + "a.id as id, " + "a.golonganPegawai as namaPangkat) " + "from GolonganPegawai a") List> getListGolongan(); @Query("select NEW Map (" + "b.id as jabatanFungsionalId, " + "b.namaJabatan as jabatanFungsional, " + "c.id as jabatanInternalId, " + "c.namaJabatan as jabatanInternal, " + "d.id as ruanganId, " + "d.namaRuangan as namaRuangan, " + "e.id as eselonId, " + "e.eselon as eselon, " + "f.id as pangkatId, " + "f.golonganPegawai as namaPangkat) " + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai a " + "left join a.jabatanFungsional b " + "left join m.jabatan c " + "left join a.ruangan d " + "left join a.eselon e " + "left join a.golonganPegawai f " + "where m.isPrimary is true " + "and m.statusEnabled is true " + "and a.id=:id") Map getDataMuSaReByPegawai( @Param("id") Integer id); @Query("select NEW Map (" + "a.id as id, " + "a.jenisHukuman as jenisHukuman) " + "from JenisHukuman a") List> getJenisHukuman(); @Query("select NEW Map (" + "a.id as id, " + "a.name as suratKeputusan) " + "from JenisSuratKeputusan a ") List> listJenisSuratKeputusan(); @Query("select NEW Map (" + "a.id as id, " + "a.statusPegawai as statusPegawai) " + "from StatusPegawai a") List> getListStatusPegawai(); @Query("select NEW Map (" + "a.id as kedudukan," + "a.name as namaKedudukan) " + "from Kedudukan a") List> getListKedudukan(); @Query("select NEW Map (" + "a.id as id, " + "a.name as name) " + "from StatusKawin a") List> getListStatusKawin(); //------------------------------------------------------------------------------------ @Query("select NEW Map (" + "a.pensiun as pensiun, " + "b.namaJabatan as jabatanFungsional, " + "b.id as jabatanFungsionalId, " + "c.namaJabatan as jabatanInternal, " + "c.id as jabatanInternalId, " + "d.namaJabatan as jabatanStruktural, " + "d.id as jabatanStrukturalId, " + "e.namaRuangan as namaRuangan, " + "e.id as namaRuanganId, " + "f.eselon as eselon, " + "f.id as eselonId, " + "g.golonganPegawai as namaGolongan, " + "g.id as golonganId, " + "h.statusPegawai as statusPegawai, " + "h.id as statusPegawaiId, " + "i.statusPerkawinan as statusKawin, " + "i.id as statusKawinId, " + "j.name as kedudukan, " + "j.id as kedudukanId) " + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai a " + "left join a.jabatanFungsional b " + "left join m.jabatan c " + "left join a.jabatanStruktural d " + "left join a.ruangan e " + "left join a.eselon f " + "left join a.golonganPegawai g " + "left join a.statusPegawai h " + "left join a.statusKawin i " + "left join a.kedudukan j " + "where m.isPrimary is true " + "and m.statusEnabled is true " + "and a.id=:id") Map getDataPegawaiMuSaRe( @Param("id") Integer id); @Query("select NEW Map (" + "b.id as id, " + "b.reportDisplay as grade) " + "from EvaluasiJabatan a " + "left join a.grade b " + "left join a.pegawai c " + "where c.id=:id and a.tahun=:tahun") Map getGradeByPegawai( @Param("id") Integer id, @Param("tahun") Integer tahun); @Query("select NEW Map (" + "a.id as id, " + "a.jenisKeputusan as jenisKeputusan) " + "from JenisKeputusan a " + "where a.statusEnabled is true " + "order by a.id") List> getListJenisKeputusan(); @Query("select NEW Map (" + "a.noRec as noRec," + "a.statusMusare as statusMusare," + "b.id as pegawaiId," + "c.id as ruanganId," + "d.id as jabatanStrukturalId," + "e.id as jabatanFungsionalId," + "f.id as jabatanInternalId," + "g.id as eselonId," + "h.id as pangkatId) " + "from PlanningPegawaiMuSaRe a " + "left join a.pegawai b " + "left join a.ruanganExec c " + "left join a.jabatanStrukturalExec d " + "left join a.jabatanFungsionalExec e " + "left join a.jabatanInternalExec f " + "left join a.eselonExec g " + "left join a.pangkatExec h " + "where a.approvalStatus=1 and " + "date(a.tglPlanning)=date(:date) " + "and a.statusEnabled is null") List> getDataPlanningByDate( @Param("date") Date date); @Query("select NEW Map (" + "a.nipPns as nip," + "a.namaLengkap as namaPegawai," + "b.namaJabatan as jabatan) " + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai a " + "left join m.jabatan b " + "where m.isPrimary is true " + "and m.statusEnabled is true " + "and a.id=:id") Map getHeaderHistory( @Param("id") Integer id); @Query("select NEW Map (" + "a.noRec as noRec," + "c.jenisHukuman as jenisHukuman," + "d.noSK as noSK," + "d.tglTTSK as tglSk," + "d.tglBerlakuAwal as tglMulai," + "d.tglBerlakuAkhir as tglSelesai," + "a.deskripsiMutasiSanksiResignExec as keterangan) " + "from PlanningPegawaiMuSaRe a " + "left join a.pegawai b " + "left join a.jenisHukumanExec c " + "left join a.noSk d " + "where b.id=:id and " + "a.statusMusare=2 and " + "a.approvalStatus=1") List> getHistoryExecSanksi( @Param("id") Integer id); @Query("select NEW Map (" + "a.noRec as noRec," + "c.noSK as noSK," + "c.tglTTSK as tglSk," + "c.tglBerlakuAwal as tglMulai," + "a.deskripsiMutasiSanksiResignExec as keterangan," + "d.name as pangkatGolongan) " + "from PlanningPegawaiMuSaRe a " + "left join a.pegawai b " + "left join a.noSk c " + "left join a.pangkatExec d " + "where b.id=:id and " + "a.statusMusare=1 and " + "a.approvalStatus=1") List> getHistoryExecPangkat( @Param("id") Integer id); @Query("select NEW Map (" + "a.noRec as noRec," + "c.noSK as noSK," + "c.tglTTSK as tglSk," + "c.tglBerlakuAwal as tglMulaiBerlaku," + "a.deskripsiMutasiSanksiResignExec as keterangan," + "d.namaRuangan as satuanKerja," + "e.namaJabatan as jabatan," + "f.eselon as eselon) " + "from PlanningPegawaiMuSaRe a " + "left join a.pegawai b " + "left join a.noSk c " + "left join a.ruanganExec d " + "left join a.jabatanInternalExec e " + "left join a.eselonExec f " + "where b.id=:id and " + "a.statusMusare=1 and " + "a.approvalStatus=1") List> getHistoryExecJabatan( @Param("id") Integer id); }