package com.jasamedika.medifirst2000.service.impl;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.PemeriksaanTumbuhKembangDao;
import com.jasamedika.medifirst2000.entities.Keaktifan;
import com.jasamedika.medifirst2000.entities.KepalaUbunUbunBesar;
import com.jasamedika.medifirst2000.entities.KondisiUmum;
import com.jasamedika.medifirst2000.entities.KontakInterpersonal;
import com.jasamedika.medifirst2000.entities.PemeriksaanTumbuhKembang;
import com.jasamedika.medifirst2000.entities.Wajah;
import com.jasamedika.medifirst2000.service.PemeriksaanTumbuhKembangService;
import com.jasamedika.medifirst2000.vo.KeaktifanVO;
import com.jasamedika.medifirst2000.vo.KepalaUbunUbunBesarVO;
import com.jasamedika.medifirst2000.vo.KondisiUmumVO;
import com.jasamedika.medifirst2000.vo.KontakInterpersonalVO;
import com.jasamedika.medifirst2000.vo.PemeriksaanTumbuhKembangVO;
import com.jasamedika.medifirst2000.vo.WajahVO;


/**
 * Implement class for PasienService
 * 
 * @author Adik
 * @param <T>
 */


@Service("pemeriksaanTumbuhKembangService")
public class PemeriksaanTumbuhKembangServiceImpl extends BaseVoServiceImpl implements PemeriksaanTumbuhKembangService {

	@Autowired
	private PemeriksaanTumbuhKembangDao pemeriksaanTumbuhKembangDao;
	
	@Autowired
	private BaseConverterImpl<PemeriksaanTumbuhKembangVO,PemeriksaanTumbuhKembang> pemeriksaanTumbuhKemabangConverter;
	
	@Autowired
	private BaseConverterImpl<KontakInterpersonalVO,KontakInterpersonal> kontakInterpersonalConverter;
	
	@Autowired
	private BaseConverterImpl<KeaktifanVO,Keaktifan> keaktifanConverter;
	
	@Autowired
	private BaseConverterImpl<KepalaUbunUbunBesarVO,KepalaUbunUbunBesar> kepalaUbunUbunBesarConverter;
	
	@Autowired
	private BaseConverterImpl<WajahVO,Wajah> wajahConverter;
	
	@Autowired
	private BaseConverterImpl<KondisiUmumVO,KondisiUmum> kondisiUmumConverter;
	

	@Override
	public Map<String, Object> savePemeriksaanTumbuhKembang(PemeriksaanTumbuhKembangVO vo) {
		
		PemeriksaanTumbuhKembang pemeriksaanTumbuhKembang=new PemeriksaanTumbuhKembang();
		pemeriksaanTumbuhKembang=pemeriksaanTumbuhKemabangConverter.transferVOToModel(vo, new PemeriksaanTumbuhKembang());
		pemeriksaanTumbuhKembang.setKontakInterpersonal(kontakInterpersonalConverter.transferVOToModel(vo.getKontakInterpersonal(), new KontakInterpersonal()));
		pemeriksaanTumbuhKembang.setKeaktifan(keaktifanConverter.transferVOToModel(vo.getKeaktifan(), new Keaktifan()));
		pemeriksaanTumbuhKembang.setKepalaUbunUbunBesar(kepalaUbunUbunBesarConverter.transferVOToModel(vo.getKepalaUbunUbunBesar(), new KepalaUbunUbunBesar()));
		pemeriksaanTumbuhKembang.setWajah(wajahConverter.transferVOToModel(vo.getWajah(), new Wajah()));
		pemeriksaanTumbuhKembang.setKondisiUmum(kondisiUmumConverter.transferVOToModel(vo.getKondisiUmum(), new KondisiUmum()));
		pemeriksaanTumbuhKembang=pemeriksaanTumbuhKembangDao.save(pemeriksaanTumbuhKembang);
		
		Map<String,Object> result=new HashMap<String,Object>();
		result.put("noRec", pemeriksaanTumbuhKembang.getNoRec());
		return result;
	}


}
