package com.jasamedika.medifirst2000.dao.custom;

import java.util.List;
import java.util.Map;

import com.jasamedika.medifirst2000.dao.custom.base.CoreDao;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PegawaiJadwalKerja;

/**
 * 
 * @author Roberto
 */
public interface PegawaiDaoCustom extends CoreDao<Pegawai> {

	List<Map<String, Object>> findPegawaiByName(String namaPegawai, String zidJabatan, Integer idSubUnitKerja);

	List<Map<String, Object>> findPegawaiByName(String namaPegawai);

	List<Map<String, Object>> findPegawaiCustom(String nama, Integer idUnitKerja, Integer idKedudukan,
			List<Integer> listIdStatusPegawai, Integer idStatusPegawai, String tglMasuk,
			List<Integer> listStatusPegawai, List<Integer> listKedudukan);

	List<Map<String, Object>> findPegawaiCustom(String nama, Integer idUnitKerja, Integer idKedudukan,
			List<Integer> listStatusPegawaiId, String periode, List<Integer> listKedudukanException);

	List<Map<String, Object>> findPegawaiCustomByKategori(String nama, Integer idUnitKerja, Integer idKedudukan,
			String periode, List<Integer> listKedudukanException, Integer idKategori);

	List<Map<String, Object>> findPegawaiByNamePesertaDidik(String namaPegawai);

	List<Map<String, Object>> findAllPegawaiByJenisPegawaiPengajar();

	List<Map<String, Object>> findAllPegawaiByJenisPegawaiPesertaDidik();

	List<Map<String, Object>> findHariLiburPegawaiNonShift(Integer tahun, Integer bulan);

	List<PegawaiJadwalKerja> findJadwalByTanggalRuangan(Integer ruangan, Integer tahun, Integer bulan, Integer pegawai);

	List<PegawaiJadwalKerja> findJadwalByTanggal(Integer tahun, Integer bulan, Integer pegawai);

	List<Map<String, Object>> findListLemburVerifiedBySdm(String periode);

	List<Pegawai> findPegawaiAktifAndVerifiedByUnitKerja(String periode);

}
