70 lines
4.0 KiB
Java

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<NilaiKelompokJabatan, Integer> {
@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<String, Object> 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<Map<String, Object>> 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<String, Object> 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<Map<String, Object>> findPlafonRemunerasi();
@Query("select nj.id from NilaiKelompokJabatan nj where nj.gradeDesc = :grade")
public List<Integer> 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<Map<String, Object>> findPenempatanEvaluasiJabatan(
@Param("listKategoriId") List<Integer> idListKategori);
}