/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：WCW00102SFLogic
*	ソースファイル名：WCW00102SFLogic.java
*	作成者			：富士通
*	日付			：2011年09月09日
*＜機能概要＞
*	視聴制御送信結果詳細のビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/09	富士通		新規作成
*
**********************************************************************/
package eo.web.webview.WCW00102SF;

import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.constant.JPCOnlineMessageConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JWCCommonConst;
import eo.web.webview.common.JWCScreenConst;
import eo.web.webview.mapping.WCSV0019_WCSV0019OPDBMapper;

/**
 * 視聴制御状態監視の表示を行う。
 *
 * @author 富士通
 */

public class WCW00102SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 更新画面初期表示処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean init() throws Exception
	{
		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		
		///// 共有フォームBean設定^ /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();


		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00102);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00102);
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		JCCWebCommon.getScreenInfo(this);

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		mappingForDB_BP_WCSV0019_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0019");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0019OP");

		///// サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		} 
		
		//下りマッピング定義
		mappingForDB_BP_WCSV0019_GET(paramBean, outputMap);
		
		//表示するメッセージの設定
		JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB7160__I,  new String [] {"表示内容"});

		return true;
	}


	/**
	 * サービスフォームBean項目と視聴制御オーダサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0019_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0019_WCSV0019OPDBMapper mapper = new WCSV0019_WCSV0019OPDBMapper();

		mapper.setWCSV001901SC(paramBean, inputMap, func_code);
		mapper.setWCSV001902SC(paramBean, inputMap, func_code);
		return;
	}
	
	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0019_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0019_WCSV0019OPDBMapper mapper = new WCSV0019_WCSV0019OPDBMapper();

		mapper.getWCSV001901SC(paramBean, outputMap);
		mapper.getWCSV001902SC(paramBean, outputMap);
		return;
	}

}