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


/**
 * <pre>
 *     1. 기능 : 표준/비표준 통계 화면의 컨트롤러 
 * </pre>
 * 
 * @author : music75
 * @version : $Revision: 1.3 $
 * @since : rts 1.0
 */
@Controller
public class StndMsgUseYnYearlyController extends BaseController  {

	@Autowired
	@Qualifier("stndMsgUseYnYearlyService")
	private StndMsgUseYnYearlyService stndMsgUseYnYearlyService ;

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

		String cmd = "";
		
		if(request.getParameter("cmd") != null){
			cmd = request.getParameter("cmd");
		}
		
//		try {
//			if("findData".equals(cmd)){
//				findYearlyData(statisticsForm, request, response);
//			}else if("chat1".equals(cmd)){
//				findYearlyDataObject2_1(statisticsForm, request, response);
//			}else if("chat2".equals(cmd)){
//				findYearlyDataObject2_2(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 findYearlyData(StatisticsForm statisticsForm, HttpServletRequest request,
			HttpServletResponse response) throws Exception {


		List listData = stndMsgUseYnYearlyService
				.getFindYearlyData(statisticsForm);

//		GauceInputStream gis = null;
//		GauceOutputStream gos = null;
//		
//		//
//		try {
//			gis = ((HttpGauceRequest) request)
//					.getGauceInputStream();
//			gos = ((HttpGauceResponse) response)
//					.getGauceOutputStream();
//
//			GauceDataSet dataSet = gis.read("ds_01");
//
//			// 그리드 데이터셋 메핑
//			StndMsgUseYnYearlyVO vo = new StndMsgUseYnYearlyVO();
//
//			for (int i = 0; i < listData.size(); i++) {
//				vo = (StndMsgUseYnYearlyVO) listData.get(i);
//
//				dataSet.put("StatcY", vo.getStatcY(), 4,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("StndMsgUseYn", vo.getStndMsgUseYn(), 1,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("YnTrsmtNoitm", vo.getYnTrsmtNoitm(), 15,
//						GauceDataColumn.TB_INT);
//				dataSet.put("YnErrNoitm", vo.getYnErrNoitm(), 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;
//				}
//			}
//		}
	}
	
	private void findYearlyDataObject2_1(StatisticsForm statisticsForm, HttpServletRequest request,
			HttpServletResponse response) throws Exception {


		List listData = stndMsgUseYnYearlyService
				.getFindYearlyDataObject2_1(statisticsForm);

//		GauceInputStream gis = null;
//		GauceOutputStream gos = null;
//		
//		//
//		try {
//			gis = ((HttpGauceRequest) request)
//					.getGauceInputStream();
//			gos = ((HttpGauceResponse) response)
//					.getGauceOutputStream();
//
//			GauceDataSet dataSet = gis.read("ds_chat1");
//
//			// 그리드 데이터셋 메핑
//			StndMsgUseYnYearlyVO vo = new StndMsgUseYnYearlyVO();
//
//			for (int i = 0; i < listData.size(); i++) {
//				vo = (StndMsgUseYnYearlyVO) listData.get(i);
//
//				dataSet.put("StatcY", vo.getStatcY(), 4,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("StndMsgUseYn", vo.getStndMsgUseYn(), 1,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("YnTrsmtNoitm", vo.getYnTrsmtNoitm(), 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;
//				}
//			}
//		}
	}
	
	private void findYearlyDataObject2_2(StatisticsForm statisticsForm, HttpServletRequest request,
			HttpServletResponse response) throws Exception {


		List listData = stndMsgUseYnYearlyService
				.getFindYearlyDataObject2_2(statisticsForm);

//		GauceInputStream gis = null;
//		GauceOutputStream gos = null;
//		
//		//
//		try {
//			gis = ((HttpGauceRequest) request)
//					.getGauceInputStream();
//			gos = ((HttpGauceResponse) response)
//					.getGauceOutputStream();
//
//			GauceDataSet dataSet = gis.read("ds_chat2");
//
//			// 그리드 데이터셋 메핑
//			StndMsgUseYnYearlyVO vo = new StndMsgUseYnYearlyVO();
//
//			for (int i = 0; i < listData.size(); i++) {
//				vo = (StndMsgUseYnYearlyVO) listData.get(i);
//
//				dataSet.put("StatcY", vo.getStatcY(), 4,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("StndMsgUseYn", vo.getStndMsgUseYn(), 1,
//						GauceDataColumn.TB_STRING);
//				dataSet.put("YnErrNoitm", vo.getYnErrNoitm(), 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;
//				}
//			}
//		}
	}

}
