49 lines
2.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.SubUnitKerjaPegawai;
@Repository
public interface SubUnitKerjaDao extends PagingAndSortingRepository<SubUnitKerjaPegawai, Integer> {
@Query("select model from SubUnitKerjaPegawai model where model.statusEnabled is true and model.id != 0 order by model.name")
List<SubUnitKerjaPegawai> getAllSubUnitKerja();
@Query("select model from SubUnitKerjaPegawai model where model.statusEnabled is true and lower(model.name) like lower(:name) order by model.name")
List<SubUnitKerjaPegawai> getSubUnitKerjaByName(@Param("name") String name);
@Query("select model from SubUnitKerjaPegawai model where model.statusEnabled is true and model.unitKerjaId = :id order by model.name")
List<SubUnitKerjaPegawai> getSubUnitKerjaByUnitkerja(@Param("id") Integer id);
@Query("select subUnitKerja.id " + "from MapPegawaiJabatanToUnitKerja mappeg " + "left join mappeg.pegawai p "
+ "inner join mappeg.subUnitKerjaPegawai subUnitKerja " + "where mappeg.statusEnabled is true "
+ "and mappeg.isPrimary is true " + "and mappeg.statusEnabled is true " + "and p.statusEnabled is true "
+ "and p.id = :idPegawai")
Integer getByIdPegawai(@Param("idPegawai") Integer idPegawai);
@Query("select new Map(model.id as id, model.name as namaSubunitKerja) " + "from SubUnitKerjaPegawai model "
+ "where model.statusEnabled is true and model.unitKerjaId=:idUnitKerjaPegawai " + "order by model.name")
List<Map<String, Object>> getSubunitKerjaByUnitKerja(@Param("idUnitKerjaPegawai") Integer idUnitKerjaPegawai);
@Query("select model.id " + "from SubUnitKerjaPegawai model " + "where model.statusEnabled is true "
+ "and model.unitKerjaId in (:listUnitKerjaId) " + "order by model.id")
List<Integer> getSubunitKerjaByUnitKerja(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja);
@Query("select new Map(model.id as id, model.name as name) " + "from SubUnitKerjaPegawai model "
+ "where model.id=:id and model.statusEnabled is true")
Map<String, Object> getSubunitKerjaById(@Param("id") Integer id);
@Query("select new Map(subunit.id as id, subunit.name as name, subunit.name as names) "
+ "from SubUnitKerjaPegawai subunit " + "where subunit.statusEnabled is true "
+ "and subunit.unitKerjaId = :idUnitKerja " + "order by subunit.name")
List<Map<String, Object>> getSubUnitKerjaCustomByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja);
}