package com.jasamedika.medifirst2000.dao;

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

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.JenisProduk;
import com.jasamedika.medifirst2000.entities.OrderPelayanan;
import com.jasamedika.medifirst2000.entities.OrderProduk;

/**
 * Repository class for OrderProduk
 * 
 * @author Generator
 */
@Repository("OrderProdukDao")
public interface OrderProdukDao extends PagingAndSortingRepository<OrderProduk, String> {

	@Query("select p from OrderProduk p where p.pasienDaftar.pasienDaftar.pasien.noCm=:noCm and p.kdProfile=:kdProfile and date(p.pasienDaftar.tglRegistrasi)=:tglRegistrasi ")
	OrderProduk finByNoCmAndTglRegistrasi(@Param("noCm") String noCm, @Param("kdProfile") short kdProfile,
			@Param("tglRegistrasi") Date tglRegistrasi);

	@Query("select p from OrderProduk p where p.strukOrder.noOrder=:noOrder or  p.strukOrder.noOrderIntern=:noOrder")
	List<OrderProduk> findOrderByNoOrder(@Param("noOrder") String noOrder);

	@Query("select p from OrderPelayanan p where p.strukOrder.id=:id ")
	List<OrderPelayanan> findDetailOrderByIdOrder(@Param("id") String idOrderProduk);

	@Query("select p.produk.detailJenisProduk.jenisProduk from OrderPelayanan p where p.strukOrder.noRec=:noRec ")
	List<JenisProduk> findJenisProdukOrderByIdOrder(@Param("noRec") String idOrderProduk);

	@Query("select o.pasienDaftarId from OrderProduk o where o.strukOrderId=:noRec ")
	String findAntrianIdFromOrder(@Param("noRec") String idOrderProduk);

 

}
