package com.jasamedika.medifirst2000.service;

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

import org.springframework.data.jpa.domain.Specification;

import com.jasamedika.medifirst2000.entities.StrukOrder;
import com.jasamedika.medifirst2000.vo.OrderPelayananCustomVO;
import com.jasamedika.medifirst2000.vo.RequestBarangDariRuanganVO;
import com.jasamedika.medifirst2000.vo.StrukKirimVO;
import com.jasamedika.medifirst2000.vo.StrukOrderVO;

/**
 * @author adik
 */
public interface StrukOrderService extends BaseAnggaranService {

	Map<String, Object> savePermintanBarangDariRuangan(RequestBarangDariRuanganVO vo);


	Map<String, Object> findAllPermintaanBarang(Integer page, Integer limit, String sort, String dir, String dateStart,String dateEnd, String noOrder);


	StrukOrderVO findByNoRec(String noRec);


	Map<String, Object> saveKirimBarangDariRuangan(RequestBarangDariRuanganVO vo);


	StrukKirimVO findByStrukKirimNoRec(String noRec);


	Map<String, Object> saveVerifikasiPengiriman(RequestBarangDariRuanganVO vo);


	Map<String, Object> findAllPengirimanBarang(Integer page, Integer limit, String sort, String dir, String dateStart,String dateEnd);


	Map<String, Object> findAllPermintaanBarangUnit(Integer page, Integer limit, String sort, String dir,
			String dateStart, String dateEnd, Integer ruanganTujuanId, Integer ruanganId, String noOrder);


	Map<String, Object> getInformasiPengirimanBarang(Integer page, Integer limit, String sort, String dir,
			String dateStart, String dateEnd, String noOrder,String parameter);


	Map<String, Object> getInformasiPenerimaanBarang(Integer page, Integer limit, String sort, String dir,
			String dateStart, String dateEnd, String noOrder);


	Double konversi(Integer integer, Integer id, Double qtyProduk);


	Map<String, Object> getInformasiPengirimanBarangAset(Integer page, Integer limit, String sort, String dir,
			String dateStart, String dateEnd, String noOrder, String parameter);


	String formatNoUrut(String kegunaan, String word);


	String preFormatNoUrut(String kegunaan, String word);


	Map<String, Object> getInformasiPerbaikanMasuk(Integer page, Integer limit, String sort, String dir,String dateStart, String dateEnd, String noOrder, String jenisOrder);


	Map<String, Object> getInformasiPerbaikanKeluar(Integer page, Integer limit, String sort, String dir,
			String dateStart, String dateEnd, String noOrder,String jenisOrder);


	Map<String, Object> verifikasiRuangan(String noRec);


	Map<String, Object> monitoringPerbaikan(Integer page, Integer limit, String sort, String dir, String dateStart,String dateEnd, Integer ruanganId, String noAset, Integer produkId);


	Map<String, Object> detailMonitoring(String strukOrderId, String registerAsetId);

	List<Map<String, Object>> HistoryPenunjang(String dateStart, String dateEnd, Integer id, String noRegistrasi);
	
	Map<String,Object> updateOrderPelayanan(List<OrderPelayananCustomVO> vo);

}



