package com.eactive.eai.rms.onl.statistics.etc.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.eactive.eai.rms.common.spring.BaseController;
import com.eactive.eai.rms.onl.statistics.eaisvcname.vo.StatisticsForm;
import com.eactive.eai.rms.onl.statistics.etc.service.TransactionHourlyService;
import com.eactive.eai.rms.onl.statistics.etc.vo.TransactionHourlyVO;


/**
 * <pre>
 *     1. 기능 : 시간별 거래현황 통계 화면의 컨트롤러
 * </pre>
 *
 * @author : music75
 * @version : $Revision: 1.4 $
 * @since : rts 1.0
 */
@Controller
public class TransactionHourlyController extends BaseController  {

	@Autowired
	@Qualifier("transactionHourlyService")
	private TransactionHourlyService transactionHourlyService ;
	
	
	@RequestMapping("/statistics/etc/transactionHourly.do")
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		//
		StatisticsForm statisticsForm = new StatisticsForm();

		statisticsForm.setStartDate(request.getParameter("startDate"));
		//statisticsForm.setEndDate(request.getParameter("endDate"));

//		try {
//			findHourlyData(statisticsForm, request, response);
//		} catch (BizException be) {
//			//be.printStackTrace();
//			logger.error("[BIZ ERROR]");
//			((HttpGauceResponse) response).addException(be);
//		} catch (SysException se) {
//			//se.printStackTrace();
//			logger.error("[SYS ERROR]");
//			((HttpGauceResponse) response).addException(se);
//		} catch (Exception e) {
//			//e.printStackTrace();
//			logger.error("[SYS ERROR]");
//			((HttpGauceResponse) response).addException(e);
//		}
		return null;
	}

	private void findHourlyData(StatisticsForm statisticsForm, HttpServletRequest request,
			HttpServletResponse response) throws Exception {


		List<TransactionHourlyVO> dailyData = transactionHourlyService.getFindHourlyData(statisticsForm);

//		GauceInputStream gis = null;
//		GauceOutputStream gos = null;
//
//		//
//		try {
//			gis = ((HttpGauceRequest) request)
//					.getGauceInputStream();
//			gos = ((HttpGauceResponse) response)
//					.getGauceOutputStream();
//
//			GauceDataSet dataSet = gis.read("ds_01");
//
//			// 그리드 데이터셋 메핑
//			TransactionHourlyVO vo = new TransactionHourlyVO();
//
//			for (int i = 0; i < dailyData.size(); i++) {
//				vo = (TransactionHourlyVO) dailyData.get(i);
//
//				dataSet.put("StatcYmd", vo.getStatcYmd(), 8,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("hhTrsmtNoitm0", vo.getHhTrsmtNoitm0(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm1", vo.getHhTrsmtNoitm1(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm2", vo.getHhTrsmtNoitm2(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm3", vo.getHhTrsmtNoitm3(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm4", vo.getHhTrsmtNoitm4(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm5", vo.getHhTrsmtNoitm5(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm6", vo.getHhTrsmtNoitm6(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm7", vo.getHhTrsmtNoitm7(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm8", vo.getHhTrsmtNoitm8(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm9", vo.getHhTrsmtNoitm9(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm10", vo.getHhTrsmtNoitm10(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm11", vo.getHhTrsmtNoitm11(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm12", vo.getHhTrsmtNoitm12(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm13", vo.getHhTrsmtNoitm13(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm14", vo.getHhTrsmtNoitm14(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm15", vo.getHhTrsmtNoitm15(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm16", vo.getHhTrsmtNoitm16(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm17", vo.getHhTrsmtNoitm17(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm18", vo.getHhTrsmtNoitm18(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm19", vo.getHhTrsmtNoitm19(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm20", vo.getHhTrsmtNoitm20(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm21", vo.getHhTrsmtNoitm21(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm22", vo.getHhTrsmtNoitm22(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhTrsmtNoitm23", vo.getHhTrsmtNoitm23(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm0", vo.getHhErrNoitm0(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm1", vo.getHhErrNoitm1(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm2", vo.getHhErrNoitm2(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm3", vo.getHhErrNoitm3(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm4", vo.getHhErrNoitm4(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm5", vo.getHhErrNoitm5(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm6", vo.getHhErrNoitm6(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm7", vo.getHhErrNoitm7(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm8", vo.getHhErrNoitm8(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm9", vo.getHhErrNoitm9(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm10", vo.getHhErrNoitm10(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm11", vo.getHhErrNoitm11(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm12", vo.getHhErrNoitm12(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm13", vo.getHhErrNoitm13(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm14", vo.getHhErrNoitm14(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm15", vo.getHhErrNoitm15(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm16", vo.getHhErrNoitm16(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm17", vo.getHhErrNoitm17(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm18", vo.getHhErrNoitm18(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm19", vo.getHhErrNoitm19(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm20", vo.getHhErrNoitm20(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm21", vo.getHhErrNoitm21(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm22", vo.getHhErrNoitm22(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("hhErrNoitm23", vo.getHhErrNoitm23(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.heap();
//			}
//
//			gos.write(dataSet);
//		} catch (IOException e) {
//			//
//			logger.error("[GAUCE SEND ERROR]");
//			//e.printStackTrace();
//			throw new SysException("[GAUCE SEND ERROR]", e); // 에러발생
//		}finally{
//			if (gos != null)
//			{
//				try
//				{
//					gos.close();
//				}
//				catch (Exception e)
//				{
//					gos = null;
//				}
//			}
//		}
	}
}
