package com.jasamedika.medifirst2000.service;



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

import com.jasamedika.medifirst2000.entities.Produk;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.entities.StrukPelayanan;



public interface StokProdukGlobalService  {

	void updateStok(Ruangan ruangan, Produk produk, Double qtyKeluar,Ruangan r);
	
	List<Map<String,Object>> getAllStokProdukGlobal(String dari, String kepada);
	
	Map<String,Object> findProdukObatAndStok(Integer generikId);
	
	Map<String, Object> listStok(Integer page, Integer limit, String sort, String dir, Integer kelompokProdukId,Integer produkId, Integer asalProdukId, Integer ruanganId, Integer jenisProdukId);

	void updateStokPembelianPasien(Produk produk, Double qtyKeluar, Ruangan r);

	Map<String, Object> listStokDetail(Integer page, Integer limit, String sort, String dir, Integer kelompokProdukId, Integer jenisProdukId, Integer produkId, Integer asalProdukId, Integer ruanganId, String noTerima);

	void updateStokProdukDetail(Integer produkId, Ruangan ruanganPengirim, Ruangan ruanganPenerima,
			Double hasilKonversi, StrukPelayanan strukPelayanan);

	void updateStokProdukDetailPemusnahanBarang(Integer produkId, Ruangan ruanganPengirim, Double hasilKonversi,StrukPelayanan strukPelayanan);

	void updateStokPemusnahanBarang( Produk produk, Double qtyKeluar, Ruangan ruanganPengirim);

	void updateStokProdukDetailFromStokOpName(Integer produkId, Ruangan ruanganPengirim, Ruangan ruanganPenerima,
			Double hasilKonversi, StrukPelayanan strukPelayanan);

	Map<String, Object> cetakListStok(Integer kelompokProdukId, Integer produkId, Integer asalProdukId,
			Integer ruanganId, Integer jenisProdukId);

	Map<String, Object> cetakListStokDetail(Integer kelompokProdukId, Integer produkId, Integer asalProdukId,
			Integer ruanganId, String noTerima, Integer jenisProdukId);
	
	Map<String,Object> findProdukObatAndStok();

	Map<String, Object> getStokRuangan();

	Map<String, Object> getStokByRuangan();
}
