79 lines
3.7 KiB
Java
79 lines
3.7 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.Jabatan;
|
|
|
|
/**
|
|
* Repository class for Jabatan
|
|
*
|
|
* @author Generator
|
|
*/
|
|
@Repository("JabatanDao")
|
|
public interface JabatanDao extends PagingAndSortingRepository<Jabatan, Integer> {
|
|
|
|
@Query("SELECT new map (model.id as id) from Jabatan model where lower(model.namaJabatan) like lower('dokter%') ")
|
|
List<Map<String, Object>> findIdJabatanInternalDokterOnly();
|
|
|
|
@Query("SELECT new map (model.id as id,model.namaJabatan as namaJabatan) "
|
|
+ "from Jabatan model where model.statusEnabled is true")
|
|
List<Map<String, Object>> findAllJabatan();
|
|
|
|
@Query("SELECT new Map (model.id as id,model.namaJabatan as namaJabatan,model.kdJabatan as kdJabatan) "
|
|
+ "from Jabatan model where model.id =:id and model.statusEnabled is true")
|
|
Map<String, Object> getJabatanById(@Param("id") Integer id);
|
|
|
|
@Query("SELECT jenisJabatanId from Jabatan model where model.id =:id and model.statusEnabled is true")
|
|
Integer getIdJenisJabatanByJabatan(@Param("id") Integer id);
|
|
|
|
@Query("SELECT model from Jabatan model where model.jenisJabatanId = :jenisJabatanId ")
|
|
List<Jabatan> getJabatanStruktural(@Param("jenisJabatanId") Integer jenisJabatanId);
|
|
|
|
String strQryJabatanByJenis = "SELECT new Map(model.id as idJabatan, model.namaJabatan as namaJabatan) from Jabatan model "
|
|
+ "where model.statusEnabled is true " + "and model.jenisJabatanId = :jenisJabatanId ";
|
|
|
|
String kdJabatanAnjab = "and model.kdJabatan = :kdJabatan ";
|
|
|
|
String kdJabatanNonanjab = "and model.kdJabatan <> 'ANJAB' ";
|
|
|
|
String sortNamaJabatan = "order by namaJabatan";
|
|
|
|
@Query(strQryJabatanByJenis + kdJabatanAnjab + sortNamaJabatan)
|
|
List<Map<String, Object>> getJabatanByJenisJabatanAnjab(@Param("jenisJabatanId") Integer jenisJabatanId,
|
|
@Param("kdJabatan") String kdJabatan);
|
|
|
|
@Query(strQryJabatanByJenis + kdJabatanNonanjab + sortNamaJabatan)
|
|
List<Map<String, Object>> getJabatanByJenisJabatanNonanjab(@Param("jenisJabatanId") Integer jenisJabatanId);
|
|
|
|
@Query("select new Map(jab.id as id, jab.namaJabatan as namaJabatan) "
|
|
+ "from Jabatan jab where jab.statusEnabled is true " + "and jab.jenisJabatanId in (1,5) "
|
|
+ "and lower(jab.namaJabatan) not like ('plh%')")
|
|
List<Map<String, Object>> getListJabatanFungsionalStruktural();
|
|
|
|
@Query("select new Map(jab.id as id, jab.namaJabatan as namaJabatan) "
|
|
+ "from Jabatan jab where jab.statusEnabled is true "
|
|
+ "and lower(regexp_replace(jab.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan "
|
|
+ "and jab.jenisJabatanId = :jenisJabatanId")
|
|
List<Map<String, Object>> checkNamaJabatan(@Param("namaJabatan") String namaJabatan,
|
|
@Param("jenisJabatanId") Integer jenisJabatanId);
|
|
|
|
@Query("select new Map(j.id as id,j.namaJabatan as namaJabatan,"
|
|
+ "min(nj.nilaiTerendah) as nilaiTerendah,max(nj.nilaiTertinggi) as nilaiTertinggi) "
|
|
+ "from Jabatan j, NilaiKelompokJabatan nj " + "left join nj.kelompokJabatan kj "
|
|
+ "where j.kelompokJabatanId = kj.id " + "and j.statusEnabled is true " + "and kj.statusEnabled is true "
|
|
+ "and nj.statusEnabled is true " + "and j.kdJabatan = 'ANJAB' " + "and j.namaExternal = :unitKerja "
|
|
+ "group by j.id, j.namaJabatan " + "order by j.namaJabatan")
|
|
List<Map<String, Object>> findJabatanAnjabByUnitKerja(@Param("unitKerja") String unitKerja);
|
|
|
|
@Query("select distinct j.namaExternal from Jabatan j "
|
|
+ "where j.statusEnabled is true and j.kdJabatan = 'ANJAB' order by j.namaExternal")
|
|
List<String> findUnitKerjaAnjab();
|
|
|
|
}
|