2021-01-07 11:34:56 +07:00

63 lines
2.9 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.EvaluasiJabatan;
import com.jasamedika.medifirst2000.entities.MasterEvaluasiJabatan;
/**
* Repository class for EvaluasiJabatan
*
* @author Generator
*/
@Repository("MasterEvaluasiJabatanDao")
public interface MasterEvaluasiJabatanDao extends PagingAndSortingRepository<MasterEvaluasiJabatan, String> {
@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<Map<String, Object>> findJabatan();
List<EvaluasiJabatan> 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<Map<String, Object>> 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<Map<String, Object>> 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<MasterEvaluasiJabatan> 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<Map<String, Object>> findMasterEvaluasiJabatanList();
}