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

@Repository("AsalProdukDao")
public interface AsalProdukDao extends PagingAndSortingRepository<AsalProduk, Integer> {

	@Query("select new Map(p.asalProduk as asalProduk,p.id as id) from AsalProduk p where p.id=:asalProdukId ")
	Map<String,Object> findById(@Param("asalProdukId") Integer asalProdukId);

	@Query("select new Map( asalProduk.id as id,asalProduk.asalProduk as asalProduk) from DetailSpekAnggaran spek "
			+ "left join spek.detailAnggaran detailAnggaran "
			+ "left join detailAnggaran.kegiatanAnggaran kegiatanAnggaran "
			+ "left join kegiatanAnggaran.kegiatan kegiatan "
			+ "left join detailAnggaran.asalProduk asalProduk "
			+ "left join detailAnggaran.akun akun where kegiatan.id=:kegiatanId "
			+ "group by asalProduk.id,asalProduk.asalProduk  ")
	List<Map<String,Object>>  getAsalProduk(@Param("kegiatanId") Integer kegiatanId);


}
