package com.eactive.eai.rms.onl.statistics.intfacptrncd.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.intfacptrncd.service.IntfacPtrnCdDailyService;


/**
 * <pre>
 *     1. 기능 : 인터페이스 유형별 일별 거래 통계 화면의 컨트롤러  
 * </pre>
 * 
 * @author : music75
 * @version : $Revision: 1.3 $
 * @since : rts 1.0
 */
@Controller
public class IntfacPtrnCdDailyController extends BaseController  {

	@Autowired
	@Qualifier("intfacPtrnCdDailyService")
	private IntfacPtrnCdDailyService intfacPtrnCdDailyService ;

	
	@RequestMapping("/statistics/intfacptrncd/intfacPtrnCdDaily.do")
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		//
		StatisticsForm statisticsForm = new StatisticsForm();

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

//		try {
//			findDailyData(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 findDailyData(StatisticsForm statisticsForm, HttpServletRequest request,
			HttpServletResponse response) throws Exception {


		List dailyData = intfacPtrnCdDailyService.getFindDailyData(statisticsForm);

//		GauceInputStream gis = null;
//		GauceOutputStream gos = null;
//
//		//
//		try {
//			gis = ((HttpGauceRequest) request).getGauceInputStream();
//			gos = ((HttpGauceResponse) response).getGauceOutputStream();
//
//			GauceDataSet dataSet = gis.read("ds_01");
//
//			// 그리드 데이터셋 메핑
//			IntfacPtrnCdDailyVO vo = new IntfacPtrnCdDailyVO();
//
//			for (int i = 0; i < dailyData.size(); i++) {
//				vo = (IntfacPtrnCdDailyVO) dailyData.get(i);
//
//				dataSet.put("IntfacPtrnCd", vo.getIntfacPtrnCd(), 2,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("DdTrsmtNoitm1", vo.getDdTrsmtNoitm1(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm2", vo.getDdTrsmtNoitm2(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm3", vo.getDdTrsmtNoitm3(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm4", vo.getDdTrsmtNoitm4(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm5", vo.getDdTrsmtNoitm5(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm6", vo.getDdTrsmtNoitm6(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm7", vo.getDdTrsmtNoitm7(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm8", vo.getDdTrsmtNoitm8(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm9", vo.getDdTrsmtNoitm9(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm10", vo.getDdTrsmtNoitm10(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm11", vo.getDdTrsmtNoitm11(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm12", vo.getDdTrsmtNoitm12(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm13", vo.getDdTrsmtNoitm13(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm14", vo.getDdTrsmtNoitm14(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm15", vo.getDdTrsmtNoitm15(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm16", vo.getDdTrsmtNoitm16(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm17", vo.getDdTrsmtNoitm17(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm18", vo.getDdTrsmtNoitm18(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm19", vo.getDdTrsmtNoitm19(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm20", vo.getDdTrsmtNoitm20(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm21", vo.getDdTrsmtNoitm21(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm22", vo.getDdTrsmtNoitm22(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm23", vo.getDdTrsmtNoitm23(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm24", vo.getDdTrsmtNoitm24(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm25", vo.getDdTrsmtNoitm25(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm26", vo.getDdTrsmtNoitm26(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm27", vo.getDdTrsmtNoitm27(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm28", vo.getDdTrsmtNoitm28(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm29", vo.getDdTrsmtNoitm29(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm30", vo.getDdTrsmtNoitm30(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdTrsmtNoitm31", vo.getDdTrsmtNoitm31(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm1", vo.getDdErrNoitm1(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm2", vo.getDdErrNoitm2(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm3", vo.getDdErrNoitm3(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm4", vo.getDdErrNoitm4(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm5", vo.getDdErrNoitm5(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm6", vo.getDdErrNoitm6(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm7", vo.getDdErrNoitm7(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm8", vo.getDdErrNoitm8(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm9", vo.getDdErrNoitm9(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm10", vo.getDdErrNoitm10(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm11", vo.getDdErrNoitm11(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm12", vo.getDdErrNoitm12(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm13", vo.getDdErrNoitm13(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm14", vo.getDdErrNoitm14(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm15", vo.getDdErrNoitm15(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm16", vo.getDdErrNoitm16(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm17", vo.getDdErrNoitm17(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm18", vo.getDdErrNoitm18(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm19", vo.getDdErrNoitm19(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm20", vo.getDdErrNoitm20(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm21", vo.getDdErrNoitm21(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm22", vo.getDdErrNoitm22(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm23", vo.getDdErrNoitm23(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm24", vo.getDdErrNoitm24(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm25", vo.getDdErrNoitm25(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm26", vo.getDdErrNoitm26(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm27", vo.getDdErrNoitm27(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm28", vo.getDdErrNoitm28(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm29", vo.getDdErrNoitm29(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm30", vo.getDdErrNoitm30(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("DdErrNoitm31", vo.getDdErrNoitm31(), 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;
//				}
//			}
//		}
	}
}
