/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：WCW00301SFLogic
*	ソースファイル名：WCW00301SFLogic.java
*	作成者			：富士通
*	日付			：2011年06月14日
*＜機能概要＞
*	撤去後CASクリアのビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/14	富士通		新規作成
*	v3.00.00	2012/05/01	FJ)松嶋		【ANK-0315-00-00】宅内対応を実施
*
**********************************************************************/
package eo.web.webview.WCW00301SF;

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 com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JWCStrConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.WCW00201SF.WCW00201SFConst;
import eo.web.webview.WCW00301SF.WCW00301SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JWCCommonConst;
import eo.web.webview.common.JWCScreenConst;	
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.mapping.WCSV0001_WCSV0001OP_08DBMapper;
import eo.web.webview.mapping.WCSV0010_WCSV0010OPDBMapper;
import eo.web.webview.mapping.WCSV0062_WCSV0062OPDBMapper;
import eo.web.webview.mapping.WCSV0063_WCSV0063OPDBMapper;
import eo.web.webview.mapping.WCSV0067_WCSV0067OPDBMapper;


/**
 * 撤去後CASクリアを行う。
 *
 * @author 富士通
 */

public class WCW00301SFLogic extends JCCWebBusinessLogic
{
	/**
	 * 撤去後CASクリア画面初期表示処理
	 * @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のデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		if (bean == null)
		{
			throw new Exception();
		}
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6910__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "撤去したC-CAS情報";
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);

		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");

		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0062");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0062OP");

		///// サービス呼出処理/////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		//視聴制御初期表示 下りマッピング定義
		mappingForDB_BP_WCSV0062_GET(paramBean, outputMap);
		
		// 局情報 検索エラー
		X31SDataBeanAccessArray stbBeanArray = bean.getDataBeanArray(WCW00301SFConst.KYOKU_INFO);
		if(stbBeanArray.getCount() == 0 || stbBeanArray.getDataBean(0) == null)
		{
			notFoundError("1");
			return true;
		}
		// 制御エリア情報 検索エラー
		X31SDataBeanAccessArray ctrlBeanArray = bean.getDataBeanArray(WCW00301SFConst.CTRL_AREA_INFO);
		if(ctrlBeanArray.getCount() == 0 || ctrlBeanArray.getDataBean(0) == null)
		{
			notFoundError("2");
			return true;
		}

		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00301);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00301);

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess Bean = super.getServiceFormBean();

		///// 固定項目のDataBeanへのデータ設定 /////
		Bean.sendMessageString(WCW00301SFConst.WCTRL_ORDER_CD , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_ORDER_CCASCLEAR);
		Bean.sendMessageString(WCW00301SFConst.WCTRL_REQ_TRN_CD , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_REQ_TRN_CD_TETU_CASCLEAR);
		Bean.sendMessageString(WCW00301SFConst.WCTRL_TYPE , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_TRN_CD_REAL);
		Bean.sendMessageString(WCW00301SFConst.CTRL_MODE_CD , X31CWebConst.DATABEAN_SET_VALUE, null);
		Bean.sendMessageString(WCW00301SFConst.CHRG_FLG , X31CWebConst.DATABEAN_SET_VALUE, null);
		Bean.sendMessageString(WCW00301SFConst.RE_SETTE_FLG , X31CWebConst.DATABEAN_SET_VALUE, null);
		Bean.sendMessageString(WCW00301SFConst.CTRL_CMD_HAKKO_ZUMI_FLG , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WATCH_CMD_HAKKO_FLG_MIHAKKO);
		Bean.sendMessageString(WCW00301SFConst.RSLT_RCV_FLG , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WATCH_RSLT_RCV_FLG_MIREV);
		Bean.sendMessageString(WCW00301SFConst.DLYD_FLG , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_DLYD_FLG_TAISYOGAI);
		Bean.sendMessageString(WCW00301SFConst.CCAS_SHKKA_CMD_HAK_FLG , X31CWebConst.DATABEAN_SET_VALUE, null);
		Bean.sendMessageString(WCW00301SFConst.KEY_TK_SBT_CD , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_TAKNKIKI_SBT_CD_CCAS);

		return true;
	}
	
	/**
	 * 検索ボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean search() 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のデータBeanアクセスクラスを取得。
		X31SDataBeanAccess Bean = super.getServiceFormBean();
		if (Bean == null)
		{
			throw new Exception();
		}
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {Bean};
		
		//撤去後ＣＡＳクリア上りマッピング定義
		mappingForDB_BP_WCSV0067_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0067");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0067OP");

		///// サービス呼出処理/////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		///// 取得データ件数チェック/////
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		///// サービス処理結果の取得/////
		mappingForDB_BP_WCSV0067_GET(paramBean, outputMap);

		X31SDataBeanAccessArray keishaBeanArray = Bean.getDataBeanArray(WCW00301SFConst.OLD_KEISHA_INFO);
		X31SDataBeanAccessArray stbBeanArray = Bean.getDataBeanArray(WCW00301SFConst.TN_ICHI_INFO);

		if (stbBeanArray.getCount() == 0 || stbBeanArray.getDataBean(0) == null)
		{
			Search_Error("1");
			return false;
		}
// 当機能実施時は既にリンクが切れている可能性があるので、CAS内蔵フラグのチェックは実施しない
//		else if("1".equals(stbBeanArray.getDataBean(0).sendMessageString(WCW00301SFConst.STB_NAIZOCAS_CD_04, X31CWebConst.DATABEAN_GET_VALUE)))
//		else if(!"0".equals(stbBeanArray.getDataBean(0).sendMessageString(WCW00301SFConst.STB_NAIZOCAS_CD_04, X31CWebConst.DATABEAN_GET_VALUE)))
//		{
//			Search_Error("3");
//			return false;
//		}
//
		
		///// エラーチェック//////
		String strCcasStatus = "";

		strCcasStatus = stbBeanArray.getDataBean(0).sendMessageString(WCW00301SFConst.CCAS_CARD_STAT_CD_04, X31CWebConst.DATABEAN_GET_VALUE);
		
		///// 遷移先画面の設定/////		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];
		
//		ST-2012-0000619
//		if(JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_ZAIKO.equals(strCcasStatus) || JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_MISYOKIKA.equals(strCcasStatus) || strCcasStatus.equals(""))
		if(JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_ZAIKO.equals(strCcasStatus) || JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_MISYOKIKA.equals(strCcasStatus))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0370__I;
			stringArray = new String[1];
			stringArray[0] = "撤去後CASクリア登録";
		}
		else
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB9340_KW;	//ステータスエラー
			stringArray = new String[1];
			stringArray[0] = "在庫または未初期化";
		}


		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		// 強調表示
		JCCWebCommon.setMessageAreaBackColor(this, "1");

		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00304);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00304);


		return true;
	}

	/**
	 * キャンセルボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean cancel() throws Exception 
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		ClearBean(bean);

		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6910__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "撤去したC-CAS情報";
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00301);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00301);


		return true;
	}

	/**
	 * 確定ボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean fix() throws Exception 
	{

		HashMap<String, Object> paramMap = null;
		HashMap<String, Object> inputMap = null;
		HashMap<String, Object> outputMap = null;
		
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 共有フォームBean設定
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0067");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0067OP");
		
		//宅内機器一意照会 上りマッピング
		mappingForDB_BP_WCSV0067_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
		
		///// サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		} 
		
		//宅内機器一意照会 下りマッピング
		mappingForDB_BP_WCSV0067_GET(paramBean, outputMap);
		
		// 検索エラチェック
		X31SDataBeanAccessArray stbBeanArray = bean.getDataBeanArray(WCW00301SFConst.TN_ICHI_INFO);
		
		// 検索結果ゼロ件の場合
		if(stbBeanArray.getCount() == 0 || stbBeanArray.getDataBean(0) == null)
		{
			Search_Error("1");
			return false;
		}

		//宅内一覧情報取得
		String strCasstatus = stbBeanArray.getDataBean(0).sendMessageString(
				WCW00301SFConst.CCAS_CARD_STAT_CD_04, X31CWebConst.DATABEAN_GET_VALUE);
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];
			
		//「CCASステータス」が「010（在庫）」または「019(未初期化)」状態で無い場合、メッセージ表示し処理を終了
		if(!JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_ZAIKO.equals(strCasstatus) &&
			!JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_MISYOKIKA.equals(strCasstatus))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB9340_KW;	//ステータスエラー
			stringArray = new String[1];
			stringArray[0] = "在庫または未初期化";

			JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
			
			return true;
		} 
		
		// 宅内機器種別コード再セット
		//bean.sendMessageString(WCW00301SFConst.KEY_TK_SBT_CD , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_TAKNKIKI_SBT_CD_STB);
		// CCASステータスを在庫に更新する
		bean.sendMessageString(WCW00301SFConst.NEW_CCAS_STAT , X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_ZAIKO);
//		// 宅内機器製造番号をセット
//		String strKikiSeizoNo = stbBeanArray.getDataBean(0).sendMessageString(
//				WCW00301SFConst.STB_KK_SEIZO_NO_04, X31CWebConst.DATABEAN_GET_VALUE);
//		bean.sendMessageString(WCW00301SFConst.WCTRL_SEIZO_NO , X31CWebConst.DATABEAN_SET_VALUE, strKikiSeizoNo);
		String strCcasId = bean.sendMessageString(WCW00301SFConst.KEY_CCAS_ID, X31CWebConst.DATABEAN_GET_VALUE);
		bean.sendMessageString(WCW00301SFConst.WCTRL_SEIZO_NO , X31CWebConst.DATABEAN_SET_VALUE, strCcasId);
		
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0001");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0001OP");
		
		//視聴制御オーダ 上りマッピング
		mappingForDB_BP_WCSV000101_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
		
		///// サービス呼出処理 /////
		msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		} 
		
		///// メッセージ表示処理 /////
		MESSAGE_ID = JPCOnlineMessageConstant.EKB6990__I;
		stringArray = new String[1];
		stringArray[0] = "撤去後CASクリア登録";
		
		String MESSAGE_ID1 = JPCOnlineMessageConstant.EKB7010__I;
		String MESSAGE_ID2 = JPCOnlineMessageConstant.EKB7020__I;
		String[] stringArray1;
		stringArray1 = new String[1];
		stringArray1[0] = "";
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID1, stringArray, "");
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID2, stringArray, "");
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00305);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00305);
		
		return true;
	}

	/**
	 * 完了ボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean fin() throws Exception 
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		ClearBean(bean);

		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6910__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "撤去したC-CAS情報";
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00301);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00301);


		return true;
	}

	/**
	 * 次へボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean next() throws Exception 
	{

		///// 遷移先画面の設定/////		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6940__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "";
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00901);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00901);


		return true;
	}

/** MIZU
	/**
	 * サービスフォームBean項目と視聴制御オーダサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	public void mappingForDB_BP_WCSV0010_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0010_WCSV0010OPDBMapper mapper = new WCSV0010_WCSV0010OPDBMapper();

		mapper.setWCSV001002SC(paramBean, inputMap, func_code);
		//mapper.setWCSV001003SC(paramBean, inputMap, func_code);
		//mapper.setWCSV001004SC(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  outputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	public void mappingForDB_BP_WCSV001001_GET(X31SDataBeanAccess[] paramBean,  HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0010_WCSV0010OPDBMapper mapper = new WCSV0010_WCSV0010OPDBMapper();
		
		mapper.getWCSV001001SC(paramBean, outputMap);
		mapper.getWCSV001002SC(paramBean, outputMap);
		mapper.getWCSV001003SC(paramBean, outputMap);
		mapper.getWCSV001004SC(paramBean, outputMap);
		mapper.getWCSV001005SC(paramBean, outputMap);
		return;
	}

	/**
	 * 撤去後クリア一意照会 上りとのマッピングを行う
	 * @param paramBean
	 * @param inputMap
	 * @param func_code
	 */
	public void mappingForDB_BP_WCSV0067_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		WCSV0067_WCSV0067OPDBMapper mapper = new WCSV0067_WCSV0067OPDBMapper();
		mapper.setWCSV006701SC(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * 撤去後クリア一意照会 下りとのマッピングを行う
	 * @param paramBean
	 * @param outputMap
	 */
	public void mappingForDB_BP_WCSV0067_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		WCSV0067_WCSV0067OPDBMapper mapper = new WCSV0067_WCSV0067OPDBMapper();
		mapper.getWCSV006701SC(paramBean, outputMap);
		mapper.getWCSV006702SC(paramBean, outputMap);
		mapper.getWCSV006703SC(paramBean, outputMap);
		return;
	}

	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	public void mappingForDB_BP_WCSV000101_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0001_WCSV0001OP_08DBMapper mapper = new WCSV0001_WCSV0001OP_08DBMapper();
		
		mapper.setWCSV000101SC(paramBean, inputMap, func_code);
		mapper.setWCSV000102SC(paramBean, inputMap, func_code);
		mapper.setWCSV000108SC(paramBean, inputMap, func_code);
		mapper.setWCSV000109SC(paramBean, inputMap, func_code);
		mapper.setWCSV000122SC(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * 視聴制御初期表示 下りとのマッピングを行う
	 * @param paramBean
	 * @param outputMap
	 */
	public void mappingForDB_BP_WCSV0062_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		WCSV0062_WCSV0062OPDBMapper mapper = new WCSV0062_WCSV0062OPDBMapper();
		mapper.getWCSV006201SC(paramBean, outputMap);
		mapper.getWCSV006202SC(paramBean, outputMap);
		return;
	}
	

	/**
	 * 検索ボタン押下時エラー処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean Search_Error(String strFlg) throws Exception
	{
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];
		
		if("1".equals(strFlg))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0300_KW;
			stringArray = new String[2];
			stringArray[0] = "宅内機器";
			stringArray[1] = "C-CASID";
		}
		else if("2".equals(strFlg))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0300_KW;
			stringArray = new String[2];
			stringArray[0] = "宅内機器";
			stringArray[1] = "C-CASID";
			
		}
		else if("3".equals(strFlg))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB7760_KW;
			stringArray = new String[1];
			stringArray[0] = "";
			
		}

		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		return true;
	}
	
	/**
	 * 初期表示検索エラー処理
	 * @param errCd
	 */
	private void notFoundError(String errCd)
	{
		String MESSAGE_ID = "";
		MESSAGE_ID = JPCOnlineMessageConstant.EKB9230_KW;

		String[] stringArray = new String[0];
		
		stringArray = new String[1];
		
		if("1".equals(errCd))
		{
			stringArray[0] = "局";
		}
		else if("2".equals(errCd))
		{
			stringArray[0] = "制御エリア";
		}
		
		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = 
			commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		return;
	}

	/**
	 * Beanクリア処理
	 * @param paramBean
	 * @throws Exception
	 */
	public void ClearBean(X31SDataBeanAccess paramBean) throws Exception
	{
		String strItemList[] = paramBean.getItemNameList();
		
		for(int i = 0 ; i < strItemList.length; i++)
		{
			if(WCW00301SFConst.KYOKU_INFO.equals(strItemList[i]) || 
				WCW00301SFConst.TN_ICHI_INFO.equals(strItemList[i]) || 
				WCW00301SFConst.OLD_KEISHA_INFO.equals(strItemList[i]) || 
				WCW00301SFConst.OLD_SVC_KEI_INFO.equals(strItemList[i]) || 
				WCW00301SFConst.CTRL_AREA_INFO.equals(strItemList[i])
				)
			{
				paramBean.getDataBeanArray(strItemList[i]).clearArray();
			}
			else
			{
				paramBean.sendMessage(strItemList[i], X31CWebConst.DATABEAN_CLEAR);
			}
		}
		
		init();
	}
	/**
	 * 戻るボタン完了処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean back() throws Exception
	{
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);

		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCWebCommon.getScreenId(this));
		return true;
	}
}