package com.jasamedika.medifirst2000.service;

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

import com.jasamedika.medifirst2000.dto.CekStokProdukRuanganDto;
import com.jasamedika.medifirst2000.dto.OrderPelayananGiziDto;
import com.jasamedika.medifirst2000.vo.HasilPemeriksaanVO;
import com.jasamedika.medifirst2000.vo.HeaderDetailHasilDeviceVO;
import com.jasamedika.medifirst2000.vo.KirimProdukVO;
import com.jasamedika.medifirst2000.vo.OrderProdukGiziVO;
import com.jasamedika.medifirst2000.vo.OrderProdukVO;
import com.jasamedika.medifirst2000.vo.SiklusGiziVO;
//import com.jasamedika.medifirst2000.vo.UploadVO;

public interface OrderProdukService {

	Map<String,Object> saveOrderProduk(OrderProdukVO vo);
		
	Map<String, Object> saveHasilPelayanan(String noOrder, List<HasilPemeriksaanVO> vo);

	Map<String, Object> updateStatusOrder(String noOrder, Byte status);

	Map<String, Object> saveKirimProduk(List<KirimProdukVO> vo);

	Map<String, Object> getOrderLaboratoriumForDevice(String noOrder);

	Map<String, Object> saveOrderLaboratoriumForDevice(String noOrder, String noSample, Integer noDetail,String hasil,String koment);

	Map<String, Object> saveOrderLaboratoriumForDevice(HeaderDetailHasilDeviceVO vo);

	Map<String, Object> getOrderFromSirs(Date from, Date until);

//	Map<String, Object> saveUploadImage(String noOrder, UploadVO vo);

	Map<String, Object> findSiklusGizi(SiklusGiziVO vo);
	
	Map<String, Object> saveOrderPelayananGizi(OrderProdukGiziVO vo);
	
	Map<String, Object> getOrderPelayananGizi();
	
	Map<String, Object> getOrderPelayananGiziMakanan(Integer ruanganAsalId,Integer jenisWaktuId,Date startDate,Date endDate);
	
	Map<String, Object> getOrderPelayananGiziMinuman(Integer ruanganAsalId,Integer jenisWaktuId,Date startDate,Date endDate);

	Map<String, Object> findProdukGiziMenuTambahan();
	
	Map<String, Object> getKomposisiMakanan(Integer produkId,Integer kelasId);
	
	Map<String, Object> getPemesananBahan(List<Integer> produks);
	
	Map<String, Object> saveKirimMenu(OrderProdukGiziVO vo);
	
	Map<String, Object> getOrderKirimMenu(String noOrder);
	
	Map<String, Object> getProduksi(List<String> noRecOrder);
	
	Map<String, Object> getProduksiBahan(List<Integer> produks);
	
	Map<String, Object> saveProduksi(OrderProdukGiziVO vo);
	
	Map<String, Object> saveVerifikasiGizi(String noRecOrder,Integer jenisWaktuId);
	
	Map<String, Object> savePemesananBahanGizi(String noRecOrder,Integer jenisWaktuId);
	
	Map<String, Object> getKirimMenu(List<Integer> produks);

	Map<String, Object> getKirimMenuGizi(List<Integer> produks,List<String> noRecOrder,List<Integer> jenisWaktus);
	
	Map<String, Object> getOrderPelayananKirimMenuGiziMakanan(Integer ruanganAsalId);
	
	Map<String, Object> getOrderPelayananKirimMenuGiziMinuman(Integer ruanganAsalId);
	
	List<Map<String, Object>> saveVerifikasiGiziAll(List<OrderPelayananGiziDto> vos);

	List<Map<String,Object>> cekStokGiziProduksi(OrderProdukGiziVO vos);

	Map<String,Object> updateOrderProduk(OrderProdukVO vo);
	
	Map<String,Object> getOrder(String noOrder);
	
	Map<String, Object>  deleteOrderlaboratorium(String noRec);

	Map<String, Object> saveOrderProduklab(OrderProdukVO vo, int cito);

	Map<String, Object> updateOrderProduklab(Map<String, Object> map, int cito);

	List<Map<String, Object>> getAllProdukProduksiGizi(String menu);

}
