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.EvaluasiJabatan; import com.jasamedika.medifirst2000.entities.MasterEvaluasiJabatan; /** * Repository class for EvaluasiJabatan * * @author Generator */ @Repository("MasterEvaluasiJabatanDao") public interface MasterEvaluasiJabatanDao extends PagingAndSortingRepository { @Query("select new map(model.id as id , model.namaJabatan as namaJabatan) from Jabatan model left join model.jenisJabatan jenisJabatan where jenisJabatan.id=3") List> findJabatan(); List findByTahun(Integer tahun); @Query("select model from MasterEvaluasiJabatan model left join model.jabatan jabatan where jabatan.id=:idJabatan and model.bulan=:bulan and model.tahun=:tahun") List> findEvaluasiByJabatan(@Param("idJabatan")Integer idJabatan, @Param("tahun")Integer tahun, @Param("bulan")String bulan); @Query("select model from MasterEvaluasiJabatan model left join model.jabatan jabatan where jabatan.id=:idJabatan and model.tahun=:tahun ") List> findEvaluasiByJabatanAndTahun(@Param("idJabatan")Integer idJabatan, @Param("tahun")Integer tahun ); @Query("select model from MasterEvaluasiJabatan model left join model.jabatan jabatan where jabatan.id=:idJabatan and model.bulan=:bulan and model.tahun=:tahun") MasterEvaluasiJabatan findEvaluasiByJabatanTahunBulan(@Param("idJabatan")Integer idJabatan, @Param("tahun")Integer tahun, @Param("bulan")String bulan); @Query("select model from MasterEvaluasiJabatan model where model.bulan=:bulan and model.tahun=:tahun ") List findEvaluasiTahunBulanList(@Param("tahun")Integer tahun, @Param("bulan")String bulan); @Query("select new map(max(CASE " + " WHEN model.bulan='Januari' THEN 1 " +" WHEN model.bulan='Februari' THEN 2 " +" WHEN model.bulan='Maret' THEN 3 " +" WHEN model.bulan='April' THEN 4 " +" WHEN model.bulan='Mei' THEN 5 " +" WHEN model.bulan='Juni' THEN 6 " +" WHEN model.bulan='Juli' THEN 7 " +" WHEN model.bulan='Agustus' THEN 8 " +" WHEN model.bulan='September' THEN 9 " +" WHEN model.bulan='Oktober' THEN 10 " +" WHEN model.bulan='November' THEN 11 " +" WHEN model.bulan='Desember' THEN 12 " +" ELSE 0 " +" END) as bulan,max(model.tahun) as tahun,model.jabatanId as jabatanId) " +" from MasterEvaluasiJabatan model where model.jabatanId in " +" (select distinct (m.jabatanId) from MasterEvaluasiJabatan m) " +" group by model.jabatanId ") List> findMasterEvaluasiJabatanList(); }