package com.eactive.eai.rms.bap.manage.comm.sysinfo;

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

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

import com.eactive.eai.common.seed.Seed;
import com.eactive.eai.common.util.StringUtil;
import com.eactive.eai.rms.bap.common.base.BapBaseService;

@Service("bapSysinfoService")
public class BapSysinfoService extends BapBaseService {

	@Autowired
	@Qualifier("bapSysinfoDao")
	private BapSysinfoDao dao;

	public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {

		// 전체 목록수 얻기
		int totalCount = dao.selectListCount(paramMap);

		paramMap.put("startNum" , startNum);// 시작 record
		paramMap.put("endNum"   , endNum);// 끝 record

		List<Map<String, Object>> list = dao.selectList(paramMap);
		HashMap<String, Object> map = new HashMap<String, Object>();

		map.put("totalCount", totalCount);
		map.put("list", list);

		return map;
	}	

	public HashMap<String, Object> selectDetail(String sysCd) throws Exception {

		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		paramMap.put("sysCd", sysCd);
		
		HashMap<String, Object> map = dao.selectDetail( paramMap); 

		String password = (String)map.get("USERPASSWORD");
		map.put("USERPASSWORD", Seed.decrypt(password));
		
		return map;
	}	

	public void update(HashMap<String, Object> paramMap) throws Exception {
		String password = (String)paramMap.get("userPassword");
		
		if(password == null || password.isEmpty()) {
			password = " ";
		}
		
		paramMap.put("userPassword", Seed.encrypt(password));
		dao.update(paramMap);
	}

	public void insert(HashMap<String, Object> paramMap) throws Exception {
		String password = (String)paramMap.get("userPassword");
		
		if(password == null || password.isEmpty()) {
			password = " ";
		}
		
		paramMap.put("userPassword", Seed.encrypt(password));
		dao.insert(paramMap);
	}

	public void delete(HashMap<String, Object> paramMap) throws Exception {
		dao.delete(paramMap);
	}	
}