package com.jasamedika.medifirst2000.dao;

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.KelompokProduk;

/**
 * Repository class for Departemen
 * 
 * @author Roberto
 */
@Repository("KelompokProdukDao")
public interface KelompokProdukDao extends
		PagingAndSortingRepository<KelompokProduk, Integer> {

	
	@Query("select new map( p.kelompokProduk as kelompokProduk ) from KelompokProduk p where p.id=:kelompokProdukId ")
	Map<String,Object> findByKelompokProdukId(@Param("kelompokProdukId") Integer kelompokProdukId);
	
	@Query("select new Map(model.id as id, model.kelompokProduk as kelompokProduk, model.departemenId as departemenId, model.jenisTransaksiId as jenisTransaksiId) "
			+ "from KelompokProduk model where model.id = :kelompokProdukId and model.statusEnabled is true")
	public Map<String, Object> getKelompokProdukById(@Param("kelompokProdukId") Integer kelompokProdukId);
	
	@Query("select new map( p.jenisProduk as jenisProduk) from JenisProduk p where p.id=:jenisProdukId ")
	Map<String,Object> findByJenisProdukId(@Param("jenisProdukId") Integer jenisProdukId);
	
	@Query("select new map( p.namaProduk as namaProduk) from Produk p where p.id=:produkId ")
	Map<String,Object> findByProdukId(@Param("produkId") Integer produkId);
	
	@Query("select new map(p.asalProduk as asalProduk) from AsalProduk p where p.id=:asalProdukId ")
	Map<String,Object> findByAsalProdukId(@Param("asalProdukId") Integer asalProdukId);
	
	@Query("select new map( p.namaRuangan as namaRuangan) from Ruangan p where p.id=:ruanganId ")
	Map<String,Object> findByRuanganId(@Param("ruanganId") Integer ruanganId);

}
