package com.jasamedika.medifirst2000.service;

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

import org.springframework.orm.jpa.JpaSystemException;

import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.vo.JabatanVO;
import com.jasamedika.medifirst2000.vo.KelompokJabatanVO;

public interface JabatanService extends BaseVoService<Jabatan, JabatanVO, Integer> {

	Map<String, Object> saveJabatanInternal(JabatanVO vo);

	Map<String, Object> saveJabatan(JabatanVO vo);

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

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

	List<Map<String, Object>> findModelJabatan(Integer idJenisJabatan);

	List<Map<String, Object>> findModelJabatan(Integer idJenisJabatan, Integer idUnitKerja);

	Map<String, Object> saveKelompokJabatan(KelompokJabatanVO vo);

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

	JabatanVO deleteJabatan(JabatanVO vo);

	Map<String, Object> validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan,
			Integer idUnitKerja) throws JpaSystemException;

	List<Map<String, Object>> findJabatan(String namaJabatan, Integer idJenisJabatan, Integer idUnitKerja);

	List<Map<String, Object>> findPegawaiByJabatan(Integer idJabatan) throws JpaSystemException;

	List<Map<String, Object>> findJabatanDanBatasNilai(Integer idJenisJabatan, Integer idUnitKerja)
			throws JpaSystemException;

	Map<String, Object> findAksesLogbookSkoring(Integer idPegawai) throws JpaSystemException;

	List<Map<String, Object>> findByUnitKerja(Integer idUnitKerja) throws JpaSystemException;

}
