package com.jasamedika.medifirst2000.service;

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

import com.jasamedika.medifirst2000.entities.JadwalDokter;
import com.jasamedika.medifirst2000.vo.JadwalDokter_VO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.UploadExcelVO;

public interface JadwalDokterService extends BaseVoService<JadwalDokter, JadwalDokter_VO, Integer> {

	Map<String, Object> saveJadwalDokter(JadwalDokter_VO vo);

	Map<String, Object> saveListJadwalDokter(List<JadwalDokter_VO> vos);

	Map<String, Object> updateJadwalDokter(JadwalDokter_VO vo);

	Map<String, Object> findByRuangan(Integer id);

	Map<String, Object> findByTanggal(Date tanggalJadwal);

	Map<String, Object> findJadwalByTanggalRuangan(Date tglJadwal, Integer idRuangan);

	Boolean CheckJadwalDokter(Date date, PegawaiVO pegawai);

	Map<String, Object> getJadwalDokterByIdDokter(Integer idDokter);

	Map<String, Object> saveJadwalSupirAmbulance(JadwalDokter_VO vo);

	Map<String, Object> getJadwalDokterMingguanByIdDokter(Integer id);

	// jadwal supir ambulance
	List<Map<String, Object>> getJadwalSupirAmbulanceByPeriode(Integer bulan, Integer tahun);

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

	Map<String, Object> getJadwalSupirByDate(Integer date, Integer month, Integer year);

	Map<String, Object> findJadwalByTanggalRuanganBilik(Date tanggalJadwal, Integer idRuangan);

	Map<String, Object> updateListJadwalDokter(List<JadwalDokter_VO> vos);

	Map<String, Object> uploadAbsensi(UploadExcelVO fileInput);
	Map<String, Object> saveJadwalPegawai(String idFinger, Date date, Date date2);
	Map<String, Object> deleteJadwalDokter(JadwalDokter_VO vo);
	
	/*
	 * create by iwan date: 21.04.2017
	 */
	Map<String, Object> findJadwalDokterByKisaranTglRuangan(int idDokter, int idRuangan, Date from, Date to);
	Map<String, Object> findJadwalDokterByKisaranTglRuanganAll(int idDokter, Date from, Date to);
	
	Map<String, Object> findJadwalByTanggalRuangan(Date tanggalJadwal, String noRec);
}
