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.NilaiKelompokJabatan; /** * Repository class for KelompokJabatan * * @author Generator */ @Repository("KelompokJabatanDao") public interface NilaiKelompokJabatanDao extends PagingAndSortingRepository { @Query("select new Map(nj.id as id,nj.detailKelompokJabatan as detailKelompokJabatan,nj.gradeDesc as grade) " + "from NilaiKelompokJabatan nj where nj.id = :id and nj.statusEnabled is true") public Map getDetailKelompokJabatanById(@Param("id") Integer id); @Query("select model from NilaiKelompokJabatan model where model.id = :kelompokJabatanId") public NilaiKelompokJabatan getNilaiKelompokJabatan(@Param("kelompokJabatanId") Integer kelompokJabatanId); @Query("select new map (model.id as id, model.detailKelompokJabatan as detailKelompokJabatan, " + "model.gradeDesc as grade, model.kelompokJabatanId as kelompokJabatanId, " + "model.nilaiTerendah as nilaiTerendah, model.nilaiTertinggi as nilaiTertinggi) " + " from NilaiKelompokJabatan model where model.statusEnabled is true") public List> getAllByStatusEnabled(); @Query("select new Map(model.id as id, model.detailKelompokJabatan as detailKelompokJabatan) " + "from NilaiKelompokJabatan model " + "where model.id = :detailKelompokJabatanId and model.statusEnabled is true") public Map getNilaiKelompokJabatanById( @Param("detailKelompokJabatanId") Integer detailKelompokJabatanId); @Query("select distinct new Map(ar.noRec as noRec," + "cast(nj.gradeDesc as integer) as grade," + "nj.nilaiTerendah as nilaiTerendah," + "nj.nilaiTertinggi as nilaiTertinggi," + "nj.gajiHonorarium as gajiHonorarium," + "nj.minInsentif as minInsentif," + "nj.maxInsentif as maxInsentif," + "nj.maxTotalRemunerasi as maxTotalRemunerasi," + "ar.tanggalPembaharuanData) " + "from NilaiKelompokJabatan nj, " + "AnggaranRemunerasi ar " + "inner join nj.grade gr " + "where ar.gradeId = nj.grade " + "and ar.gradeId = gr.id " + "and nj.statusEnabled is true " + "and ar.statusEnabled is true " + "and gr.statusEnabled is true " + "and cast(nj.gradeDesc as integer) > 0 " + "order by cast(nj.gradeDesc as integer) desc, " + "ar.tanggalPembaharuanData desc") public List> findPlafonRemunerasi(); @Query("select nj.id from NilaiKelompokJabatan nj where nj.gradeDesc = :grade") public List findIdsByGrade(@Param("grade") String grade); @Query("select distinct new Map(pg.id as idPegawai,pg.namaLengkap as namaPegawai," + "uk.name as unitKerja," + "j.namaJabatan as namaJabatan," + "ej.totalNilai as nilaiJabatan," + "dkj.gradeDesc as grade," + "kj.id as idKelompokJabatan,kj.namaKelompokJabatan as kelompokJabatan," + "dkj.id as idDetailKelompokJabatan,dkj.detailKelompokJabatan as detailKelompokJabatan) " + "from MapPegawaiJabatanToUnitKerja mj, EvaluasiJabatan ej " + "inner join mj.pegawai pg " + "inner join mj.jabatan j " + "inner join j.unitKerja uk " + "inner join ej.grade dkj " + "inner join dkj.kelompokJabatan kj " + "where mj.jabatanId = ej.jabatanId and j.id = ej.jabatanId " + "and mj.jabatanId = j.id " + "and mj.unitKerjaPegawaiId = uk.id " + "and mj.gradeId = dkj.id " + "and mj.statusEnabled is true " + "and ej.statusEnabled is true " + "and pg.statusEnabled is true " + "and j.statusEnabled is true " + "and uk.statusEnabled is true " + "and dkj.statusEnabled is true " + "and kj.statusEnabled is true " + "and pg.kategoryPegawaiId in (:listKategoriId) " + "order by pg.namaLengkap") public List> findPenempatanEvaluasiJabatan( @Param("listKategoriId") List idListKategori); }