/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：視聴制御
*	モジュール名	：WCW00941SFLogic
*	ソースファイル名：WCW00941SFLogic.java
*	作成者			：富士通
*	日付			：2011年06月27日
*＜機能概要＞
*	ＳＴＢ直接制御（ティア送信）のビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/27	富士通		新規作成
*	v3.00.00	2012/05/01	FJ)松嶋		【ANK-0315-00-00】宅内対応を実施
*	v5.00.01	2013/03/25	FJ)大山		 IT1-2013-0000585 機器提供サービスデータ取得エラー対応
*	v6.00.01	2013/11/18	FJ)水谷		 ANK-1698-00-00 　STB/CASのステータス更新
*   v8.00.00    2014/02/17  FJ)水谷      ANK-1893-00-00   ＣＡＳカードの有効期限切れ対応
*   v10.00.00   2014/09/22  FJ)大山      OM-2014-0002983
*	v20.00.00	2015/12/14	FJ)清水		 OM-2015-0001726	視聴制御画面にてサービス契約番号で検索時に契約変更中の機器が出力されない
*
**********************************************************************/
package eo.web.webview.WCW00941SF;

import java.util.ArrayList;
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;
//20140217 ADD START ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;
//20140217 ADD END   ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */

import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JWCStrConst;
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.WCSV0001_WCSV0001OP_05DBMapper;
import eo.web.webview.mapping.WCSV0006_WCSV0006OPDBMapper;
import eo.web.webview.mapping.WCSV0051_WCSV0051OP_01DBMapper;
import eo.web.webview.mapping.WCSV0052_WCSV0052OP_01DBMapper;
import eo.web.webview.mapping.WCSV0058_WCSV0058OP_01DBMapper;
import eo.web.webview.mapping.WCSV0061_WCSV0061OPDBMapper;
import eo.web.webview.mapping.WCSV0062_WCSV0062OP_02DBMapper;
import eo.web.webview.mapping.WCSV0063_WCSV0063OPDBMapper;
import eo.web.webview.mapping.WCSV0065_WCSV0065OPDBMapper;
import eo.common.constant.JPCModelConstant;

/**
 * STB直接制御(ティア送信)の登録処理を行う。
 *
 * @author 富士通
 */

public class WCW00941SFLogic extends JCCWebBusinessLogic
{
	
	// 機器提供サービス明細一覧照会定数
	static final String GET_KEI_INFO = "WCSV005201SC";
	static final String GET_STB_INFO = "WCSV005202SC";
	// 機器提供サービス明細一覧照会呼出SIF定数
	static final String GET_KEI_INFO_LIST = "EKK0341A010CBSMsg1List";
	static final String GET_STB_INFO_LIST = "EWCA0010001CBSMsg1List";
	/** 選択項目初期表示 */
	private String SELECT_DEF = "0";
//20140217 ADD START ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */
	public static final String ZENSOU_DSP_FLG = "WC_ZENSOU_DSP_FLG";
//20140217 ADD END   ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */

	/**
	 * 一覧照会画面初期表示処理
	 * @author 富士通
	 * @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();
		
		///// メッセージ表示処理 /////
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6910__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_WC00941);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00941);

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ◇ 業務ロジックの記述
		// ユースケース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 kykBeanArray = bean.getDataBeanArray(WCW00941SFConst.KYOKU_INFO);
		if (kykBeanArray.getCount() == 0 ||kykBeanArray.getDataBean(0) == null)
		{
			search_Error("3");
			return true;
		}

		paramBean[0].sendMessageString(WCW00941SFConst.WCTRL_ORDER_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_ORDER_CONTROL);
		paramBean[0].sendMessageString(WCW00941SFConst.WCTRL_REQ_TRN_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_REQ_TRN_CD_STBCTRL_TIASEND);
		paramBean[0].sendMessageString(WCW00941SFConst.WCTRL_TYPE, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_TRN_CD_REAL);
		paramBean[0].sendMessageString(WCW00941SFConst.WCTRL_MODE, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_CHANGE_CODE_TUJYOU);
		paramBean[0].sendMessageString(WCW00941SFConst.CHRG_FLG, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_CHRG_FLG_CHRG_TRGT);
		paramBean[0].sendMessageString(WCW00941SFConst.RE_SETTEI_FLG, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WATCH_RE_SETTE_FLG_ADDCHG);
		paramBean[0].sendMessageString(WCW00941SFConst.CTRL_CMD_HAKKO_ZUMI_FLG, X31CWebConst.DATABEAN_SET_VALUE,JWCStrConst.CD_DIV_WATCH_CMD_HAKKO_FLG_MIHAKKO);
		paramBean[0].sendMessageString(WCW00941SFConst.RSLT_RCV_FLG, X31CWebConst.DATABEAN_SET_VALUE,JWCStrConst.CD_DIV_WATCH_RSLT_RCV_FLG_MIREV);
		paramBean[0].sendMessageString(WCW00941SFConst.DLYD_FLG, X31CWebConst.DATABEAN_SET_VALUE,JWCStrConst.CD_DIV_DLYD_FLG_TAISYOGAI);
		paramBean[0].sendMessageString(WCW00941SFConst.CCAS_SHKKA_CMD_HAK_FLG, X31CWebConst.DATABEAN_SET_VALUE, null);
		paramBean[0].sendMessageString(WCW00941SFConst.KEY_TK_SBT_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_TAKNKIKI_SBT_CD_STB);

//20140217 ADD START ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */
		// プロパティファイルより全送信ボタン表示可否フラグを取得
		String dsp_flg2 = JCMAPLConstMgr.getString(ZENSOU_DSP_FLG);
		paramBean[0].sendMessageString(WCW00941SFConst.DSP_FLG2, X31CWebConst.DATABEAN_SET_VALUE, dsp_flg2);
//20140217 ADD END   ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */

		return true;
	}
	
	public boolean init2() 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();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0006");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0006OP");

		//下りマッピング定義
		mappingForDB_BP_WCSV0006_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
		
		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "WCSV000601SC", inputMap, "WCW009430PJP");
		
		///// サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		} 

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("WCSV000601SC", outputMap);
		if(JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合の処理
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			// 検索結果が最大検索件数超えの場合の処理
		}
		else if(JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg)){
			// 表示ページに該当するデータがない場合の処理
		}

		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this,  "WCSV000601SC", outputMap, "WCW009430PJP");

		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "paging", "WCW009430PJP");

		//下りマッピング定義
		mappingForDB_BP_WCSV0006_GET(paramBean, outputMap);

		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0065");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0065OP");

		//サービス契約ティアグループ一覧照会下りマッピング定義
		mappingForDB_BP_WCSV0065_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
		
		///// サービス契約ティアグループ一覧照会サービス呼出処理 /////
		msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		//サービス契約ティアグループ一覧照会下りマッピング定義
		mappingForDB_BP_WCSV0065_GET(paramBean, outputMap);
		
		//比較用項目定義
		String strCtrlCourceCd = "";
		String strBuyCourceCd = "";
		String strOptionCourceCd = "";
		
		X31SDataBeanAccessArray CtrlCourceBeanArray =paramBean[0].getDataBeanArray(WCW00941SFConst.CTRL_COURCE_INFO);
		X31SDataBeanAccessArray BuyCourceBeanArray =paramBean[0].getDataBeanArray(WCW00941SFConst.BUY_COURCE_INFO);
		X31SDataBeanAccessArray OptionCourceBeanArray =paramBean[0].getDataBeanArray(WCW00941SFConst.BUY_OPTION_COURCE_INFO);
		
		for(int i = 0; i < CtrlCourceBeanArray.getCount(); i++)
		{
			X31SDataBeanAccess subCtrlCourceBean = CtrlCourceBeanArray.getDataBean(i);
			subCtrlCourceBean.sendMessageBoolean(WCW00941SFConst.SELECT_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, false);
			strCtrlCourceCd = subCtrlCourceBean.sendMessageString(WCW00941SFConst.TIA_GRP_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
			
			for(int j = 0; j < BuyCourceBeanArray.getCount(); j++)
			{
				X31SDataBeanAccess subBuyCourceBean = BuyCourceBeanArray.getDataBean(j);
				strBuyCourceCd = subBuyCourceBean.sendMessageString(WCW00941SFConst.BUY_TIA_GRP_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
				
				if(strCtrlCourceCd.equals(strBuyCourceCd))
				{
					subCtrlCourceBean.sendMessageBoolean(WCW00941SFConst.SELECT_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, true);
					continue;
				}
			}
			for(int j = 0; j < OptionCourceBeanArray.getCount(); j++)
			{
				X31SDataBeanAccess subOptionCourceBean = OptionCourceBeanArray.getDataBean(j);
				strOptionCourceCd = subOptionCourceBean.sendMessageString(WCW00941SFConst.BUY_TIA_GRP_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
				
				if(strCtrlCourceCd.equals(strOptionCourceCd))
				{
					subCtrlCourceBean.sendMessageBoolean(WCW00941SFConst.SELECT_FLG_02, X31CWebConst.DATABEAN_SET_VALUE, true);
					continue;
				}
			}
			
			// 偶数行、奇数行の設定
			subCtrlCourceBean.sendMessageString(WCW00941SFConst.ROW_COLOR_02, X31CWebConst.DATABEAN_SET_VALUE, getRowStyle(i+1));
		}
		
		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;
		
		//メッセージ用変数
		String strStbStat = "";
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		if (bean == null)
		{
			throw new Exception();
		}
		
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		String strGetSeizoNo = "";
		String strGetStbId = "";
		String strGetServiceNo = "";
		String strStbId = paramBean[0].sendMessageString(WCW00941SFConst.KEY_STB_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String strSeizoNo = paramBean[0].sendMessageString(WCW00941SFConst.KEY_STB_KIKI_SEIZO_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String strServiceNo = paramBean[0].sendMessageString(WCW00941SFConst.KEY_SERVICE_KEIYAKU_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String strCtrlArea = paramBean[0].sendMessageString(WCW00941SFConst.KEY_CTRL_AREA_CD, X31CWebConst.DATABEAN_GET_VALUE);

		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();
		
		X31SDataBeanAccessArray stbBeanArray = bean.getDataBeanArray(WCW00941SFConst.TN_ICRN_INFO);
		if (stbBeanArray.getDataBean(0) != null)
		{
			stbBeanArray.clearArray();
		}
		X31SDataBeanAccessArray KeishaBeanArray = bean.getDataBeanArray(WCW00941SFConst.KEISHA_INFO);
		if (KeishaBeanArray.getDataBean(0) != null)
		{
			KeishaBeanArray.clearArray();
		}
		X31SDataBeanAccessArray KeiBeanArray = bean.getDataBeanArray(WCW00941SFConst.KEI_INFO);
		if (KeiBeanArray.getDataBean(0) != null)
		{
			KeiBeanArray.clearArray();
		}
		//ラジオボタン初期設定
		bean.sendMessageString(WCW00941SFConst.SET_STB_INFO, X31CWebConst.DATABEAN_SET_VALUE, SELECT_DEF);
		// ◇ 業務ロジックの記述
		//STBID欄もしくは製造番号欄に入力がある場合
		if(!"".equals(strStbId) || !"".equals(strSeizoNo))
		{
			// ユースケースID格納用マップを生成。
			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0058");
			paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0058OP");
			
			// サービス契約一覧照会上りマッピング定義
			mappingForDB_BP_WCSV0058_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);
			
			// サービス契約一覧照会サービス呼出処理 /////
			X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
			
			// エラー処理 
			if(msgResult != null)
			{
				JCCWebCommon.setMessageInfo(this, msgResult);
				return true;
			} 

			//サービス契約一覧照会下りマッピング定義
			mappingForDB_BP_WCSV0058_GET(paramBean, outputMap);

			// お客様ID取得
			KeishaBeanArray = bean.getDataBeanArray(WCW00941SFConst.KEISHA_INFO);
			if (KeishaBeanArray.getDataBean(0) != null && KeishaBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.SYSID_01, X31CWebConst.DATABEAN_GET_VALUE) != null)
			{
				strGetServiceNo = KeishaBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.SYSID_01, X31CWebConst.DATABEAN_GET_VALUE);
			}

			// 宅内機器情報取得
			stbBeanArray = bean.getDataBeanArray(WCW00941SFConst.TN_ICRN_INFO);
			if (stbBeanArray.getDataBean(0) != null)
			{
				// STBID取得
				if (stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STBID_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					strGetStbId = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STBID_07, X31CWebConst.DATABEAN_GET_VALUE);
				}
				// STB機器製造番号取得
				if ( stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					strGetSeizoNo = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
				}
			}

			// 宅内機器情報０件の場合エラー
			if (stbBeanArray.getDataBean(0) == null || KeishaBeanArray.getDataBean(0) == null){
				search_Error("1");
				return false;
			}
			
			// OM-2014-0002983 ADD START
			// 宅内機器の情報が２件以上ある場合、エラー
			if(stbBeanArray.getCount() > 1) {
				stbBeanArray.clearArray();
				KeishaBeanArray.clearArray();
				search_Error("4");
				return false;
			}
			// OM-2014-0002983 ADD END

			// 取得した宅内機器情報と入力内容に差異がある場合エラー
			else if ((strStbId != null && !"".equals(strStbId) && !strStbId.equals(strGetStbId))
			 || (strSeizoNo != null && !"".equals(strSeizoNo) && !strSeizoNo.equals(strGetSeizoNo))
			 || (strServiceNo != null && !"".equals(strServiceNo) && !strServiceNo.equals(strGetServiceNo)))
			{
				search_Error("2");
				return false;
			}
			// 取得した宅内機器情報を選択＿各項目にセット
			else
			{
				paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_ID, X31CWebConst.DATABEAN_SET_VALUE, strGetStbId);
				paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_KIKI_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, strGetSeizoNo);
				paramBean[0].sendMessageString(WCW00941SFConst.SET_SERVICE_KEIYAKU_NO, X31CWebConst.DATABEAN_SET_VALUE, strGetServiceNo);
				if ( stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.BCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					String strBcasId = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.BCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
					paramBean[0].sendMessageString(WCW00941SFConst.SET_B_CASID, X31CWebConst.DATABEAN_SET_VALUE, strBcasId);
				}
				else
				{
					paramBean[0].sendMessageString(WCW00941SFConst.SET_B_CASID, X31CWebConst.DATABEAN_SET_VALUE, "");
				}
				
				if ( stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.CCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					String strCcasId = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.CCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
					paramBean[0].sendMessageString(WCW00941SFConst.SET_C_CASID, X31CWebConst.DATABEAN_SET_VALUE, strCcasId);
				}
				else
				{
					paramBean[0].sendMessageString(WCW00941SFConst.SET_C_CASID, X31CWebConst.DATABEAN_SET_VALUE, "");
				}
			}
			
			// OM-2014-0002983 ADD START 
			if ( stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_MAKER_KK_MDL_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
			{
				String strtknikiki_model_cd = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_MAKER_KK_MDL_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
				paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_TKNIKIKI_MODEL_CD, X31CWebConst.DATABEAN_SET_VALUE, strtknikiki_model_cd);
			}
			else
			{
				paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_TKNIKIKI_MODEL_CD, X31CWebConst.DATABEAN_SET_VALUE, "");
			}
			// OM-2014-0002983 ADD END
			///// メッセージ表示処理(サービス契約指定で明細が１件のみの場合) 

			paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_INFO, X31CWebConst.DATABEAN_SET_VALUE, "0");

			//  共有フォームBean設定（遷移先画面）
			X31SDataBeanAccess commonBean = super.getCommonInfoBean();
	
			// メッセージ表示処理 
			stringArray = new String[0];

			if(stbBeanArray.getDataBean(0) != null && stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
			{
				strStbStat = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE);
			}

			// 取得データの「STBステータス」が「011（仮登録）」または「012（本運用）」以外の場合
			if (strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_KARITO) || strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_HONUNYO))
			{
				MESSAGE_ID = JPCOnlineMessageConstant.EKB7030__I;
				stringArray = new String[1];
				stringArray[0] = "制御コース情報";
			}
			else
			{
				MESSAGE_ID = JPCOnlineMessageConstant.EKB9220_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, "");
			
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00943);
			commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00943);

			//次画面init処理
			init2();
		}
		// サービス契約番号欄に入力がある場合
		else
		{
			// ユースケースID格納用マップを生成。
			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0051");
			paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0051OP");
	
			// 機器提供サービス一覧照会上りマッピング定義
			mappingForDB_BP_WCSV0051_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

			// 機器提供サービス一覧照会サービス呼出処理 /////
			X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
			
			// エラー処理 
			if(msgResult != null)
			{
				JCCWebCommon.setMessageInfo(this, msgResult);
				return true;
			} 
	
			// 機器提供サービス一覧照会下りマッピング定義
			mappingForDB_BP_WCSV0051_GET(paramBean, outputMap);
	
			
			KeiBeanArray = bean.getDataBeanArray(WCW00941SFConst.KEI_INFO);
			
			if (KeiBeanArray.getDataBean(0) == null){
				search_Error("1");
				return false;
			}
			
			// 取得件数：１件時
			if (KeiBeanArray.getCount() == 1)
			{
				X31SDataBeanAccess keibean = KeiBeanArray.getDataBean(0);
				
				String kk_seizo_no = keibean.sendMessageString(WCW00941SFConst.KIKI_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
				
				if(kk_seizo_no == null || "".equals(kk_seizo_no)) {
					search_Error("1");
					return false;
					
				}

				// ◇ 業務ロジックの記述
				// ユースケースID格納用マップを生成。
				paramMap.clear();
				paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0052");
				paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0052OP");
				
				// 機器提供サービス明細一覧照会上りマッピング定義
				mappingForDB_BP_WCSV0052_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_2, 0);

				// 手機器提供サービス明細一覧照会サービス呼出処理 /////
				msgResult = invokeService(paramMap, inputMap, outputMap);
				
				// エラー処理 
				if(msgResult != null)
				{
					JCCWebCommon.setMessageInfo(this, msgResult);
					return true;
				} 
		
				// 機器提供サービス明細一覧照会下りマッピング定義
				mappingForDB_BP_WCSV0052_GET(paramBean, outputMap);
				
				KeishaBeanArray = bean.getDataBeanArray(WCW00941SFConst.KEISHA_INFO);
				if (KeishaBeanArray.getDataBean(0) != null && KeishaBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.SYSID_01, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					strGetServiceNo = KeishaBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.SYSID_01, X31CWebConst.DATABEAN_GET_VALUE);
				}

				paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_INFO, X31CWebConst.DATABEAN_SET_VALUE, "0");

				// 宅内機器情報取得
				stbBeanArray = bean.getDataBeanArray(WCW00941SFConst.TN_ICRN_INFO);
				if (stbBeanArray.getCount()  == 0 || stbBeanArray.getDataBean(0) == null)
				{
					stbBeanArray.clearArray();
					KeishaBeanArray.clearArray();

					search_Error("1");
					return false;
				}
				// OM-2014-0002983 ADD START
				// 宅内機器の情報が２件以上ある場合、エラー
				if(stbBeanArray.getCount() > 1) {
					stbBeanArray.clearArray();
					KeishaBeanArray.clearArray();
					search_Error("4");
					return false;
				}
				// OM-2014-0002983 ADD END

				strGetStbId = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STBID_07, X31CWebConst.DATABEAN_GET_VALUE);
				paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_ID, X31CWebConst.DATABEAN_SET_VALUE, strGetStbId);
				strGetSeizoNo = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
				paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_KIKI_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, strGetSeizoNo);
				paramBean[0].sendMessageString(WCW00941SFConst.SET_SERVICE_KEIYAKU_NO, X31CWebConst.DATABEAN_SET_VALUE, strGetServiceNo);
				if ( stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.BCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					String strBcasId = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.BCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
					paramBean[0].sendMessageString(WCW00941SFConst.SET_B_CASID, X31CWebConst.DATABEAN_SET_VALUE, strBcasId);
				}
				else
				{
					paramBean[0].sendMessageString(WCW00941SFConst.SET_B_CASID, X31CWebConst.DATABEAN_SET_VALUE, "");
				}
				
				if ( stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.CCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					String strCcasId = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.CCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
					paramBean[0].sendMessageString(WCW00941SFConst.SET_C_CASID, X31CWebConst.DATABEAN_SET_VALUE, strCcasId);
				}
				else
				{
					paramBean[0].sendMessageString(WCW00941SFConst.SET_C_CASID, X31CWebConst.DATABEAN_SET_VALUE, "");
				}

				// OM-2014-0002983 ADD START 
				if ( stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_MAKER_KK_MDL_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					String strtknikiki_model_cd = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_MAKER_KK_MDL_NO_07, X31CWebConst.DATABEAN_GET_VALUE);
					paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_TKNIKIKI_MODEL_CD, X31CWebConst.DATABEAN_SET_VALUE, strtknikiki_model_cd);
				}
				else
				{
					paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_TKNIKIKI_MODEL_CD, X31CWebConst.DATABEAN_SET_VALUE, "");
				}
				// OM-2014-0002983 ADD END
				///// メッセージ表示処理(サービス契約指定で明細が１件のみの場合) 

				
				if(stbBeanArray.getDataBean(0) != null && stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
				{
					strStbStat = stbBeanArray.getDataBean(0).sendMessageString(WCW00941SFConst.STB_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE);
				}
				
				if (strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_KARITO) || strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_HONUNYO))
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB7030__I;
					stringArray = new String[1];
					stringArray[0] = "制御コース情報";
				}
				else
				{
					MESSAGE_ID = JPCOnlineMessageConstant.EKB9220_KW;
					stringArray = new String[1];
					stringArray[0] = "仮登録または本運用";
				}

				///// 共有フォームBean設定（遷移先画面） /////
				X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
				
				// 共有フォーム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_WC00943);
				commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00943);

				//次画面init処理
				init2();
			}
			// 取得件数：２件以上時
			else
			{
				ArrayList aryKeiSha;
				ArrayList aryStb;
				//ArrayList aryCcas;
				//ArrayList aryBcas;
				aryKeiSha = new ArrayList();
				aryStb = new ArrayList();
				//aryCcas = new ArrayList();
				//aryBcas = new ArrayList();
				
				// ◇ 業務ロジックの記述
				// ユースケースID格納用マップを生成。
				paramMap.clear();
				paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0052");
				paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0052OP");

				for (int i = 0; i < KeiBeanArray.getCount(); i++) {

					X31SDataBeanAccess keibean = KeiBeanArray.getDataBean(i);
					
					String kk_seizo_no = keibean.sendMessageString(WCW00941SFConst.KIKI_SEIZO_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
					
					if(kk_seizo_no == null || "".equals(kk_seizo_no)) {
						continue;
					}
					
					// 機器提供サービス明細一覧照会上りマッピング定義
					//OM-2015-0001726 FJ)清水 2015/12/14 MOD START
//					mappingForDB_BP_WCSV0052_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_2, i);
					mappingForDB_BP_WCSV0052_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1, i);
					//OM-2015-0001726 FJ)清水 2015/12/14 MOD END

					// 機器提供サービス明細一覧照会サービス呼出処理
					msgResult = invokeService(paramMap, inputMap, outputMap);
					
					// エラー処理 
					if(msgResult != null)
					{
						JCCWebCommon.setMessageInfo(this, msgResult);
						return true;
					} 
					
					HashMap tmpMap;
					ArrayList tmpArray;
					
//					tmpMap = (HashMap)outputMap.get("WCSV005201SC");
//					tmpArray = (ArrayList)tmpMap.get("EKK0341A010CBSMsg1List");
//					
//					if(!tmpArray.isEmpty() && !tmpArray.contains(0))
//					{
//						aryKeiSha.add(i, (tmpArray.get(0)));
//					}
//					if(!((ArrayList)((HashMap)outputMap.get("WCSV005202SC")).get("ETN0810B080CBSMsg1List")).isEmpty())
//					{
//						aryStb.add(i, ((ArrayList)((HashMap)outputMap.get("WCSV005202SC")).get("ETN0810B080CBSMsg1List")).get(0));
//					}
//					else
//					{
//						aryStb.add(i, new HashMap());
//					}
//					if(!((ArrayList)((HashMap)outputMap.get("WCSV005203SC")).get("ETN0810B060CBSMsg1List")).isEmpty())
//					{
//						aryCcas.add(i, ((ArrayList)((HashMap)outputMap.get("WCSV005203SC")).get("ETN0810B060CBSMsg1List")).get(0));
//					}
//					else
//					{
//						aryCcas.add(i, new HashMap());
//					}
//					if(!((ArrayList)((HashMap)outputMap.get("WCSV005204SC")).get("ETN0810B070CBSMsg1List")).isEmpty())
//					{
//						aryBcas.add(i, ((ArrayList)((HashMap)outputMap.get("WCSV005204SC")).get("ETN0810B070CBSMsg1List")).get(0));
//					}
//					else
//					{
//						aryBcas.add(i, new HashMap());
//					}
//
//					// 偶数行、奇数行の設定
//					serviceBeanArray.getDataBean(i).sendMessageString(WCW00941SFConst.ROW_COLOR_01, X31CWebConst.DATABEAN_SET_VALUE, getRowStyle(i+1));
//				}
//				((ArrayList)((HashMap)outputMap.get("WCSV005201SC")).get("EKK0341A010CBSMsg1List")).clear();
//				((ArrayList)((HashMap)outputMap.get("WCSV005202SC")).get("ETN0810B080CBSMsg1List")).clear();
//				((ArrayList)((HashMap)outputMap.get("WCSV005203SC")).get("ETN0810B060CBSMsg1List")).clear();
//				((ArrayList)((HashMap)outputMap.get("WCSV005204SC")).get("ETN0810B070CBSMsg1List")).clear();
//
//				for (int i = 0; i <serviceBeanArray.getCount(); i++) {
//					((ArrayList)((HashMap)outputMap.get("WCSV005201SC")).get("EKK0341A010CBSMsg1List")).add(aryKeiSha.get(i));
//					((ArrayList)((HashMap)outputMap.get("WCSV005202SC")).get("ETN0810B080CBSMsg1List")).add(aryStb.get(i));
//					((ArrayList)((HashMap)outputMap.get("WCSV005203SC")).get("ETN0810B060CBSMsg1List")).add(aryCcas.get(i));
//					((ArrayList)((HashMap)outputMap.get("WCSV005204SC")).get("ETN0810B070CBSMsg1List")).add(aryBcas.get(i));
//					
//				}
					tmpMap = (HashMap)outputMap.get(GET_KEI_INFO);
					tmpArray = (ArrayList)tmpMap.get(GET_KEI_INFO_LIST);
					
					if(!tmpArray.isEmpty() && !tmpArray.contains(0))
					{
						aryKeiSha.add(i, (tmpArray.get(0)));
					}
					tmpMap = (HashMap)outputMap.get(GET_STB_INFO);
					if(tmpMap.get(GET_STB_INFO_LIST) == null)
					{
						tmpMap.put(GET_STB_INFO_LIST, new ArrayList());
					}
					tmpArray = (ArrayList)tmpMap.get(GET_STB_INFO_LIST);
					if(!tmpArray.isEmpty() && !tmpArray.contains(0))
					{
						aryStb.add(i, ((ArrayList)((HashMap)outputMap.get(GET_STB_INFO)).get(GET_STB_INFO_LIST)).get(0));
					}
					else
					{
						aryStb.add(i, new HashMap());
					}

				}
				if(aryKeiSha.size() == 0 )
				{
					stbBeanArray.clearArray();
					KeishaBeanArray.clearArray();

					search_Error("1");
					return false;
				}

				((ArrayList)((HashMap)outputMap.get(GET_KEI_INFO)).get(GET_KEI_INFO_LIST)).clear();
				((ArrayList)((HashMap)outputMap.get(GET_STB_INFO)).get(GET_STB_INFO_LIST)).clear();

				for (int i = 0; i < aryKeiSha.size(); i++) {
					((ArrayList)((HashMap)outputMap.get(GET_KEI_INFO)).get(GET_KEI_INFO_LIST)).add(aryKeiSha.get(i));
					((ArrayList)((HashMap)outputMap.get(GET_STB_INFO)).get(GET_STB_INFO_LIST)).add(aryStb.get(i));
					
				}
				
				//下りマッピング定義
				mappingForDB_BP_WCSV0052_GET(paramBean, outputMap);

				// 共有フォームBean設定（遷移先画面）
				X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
				// メッセージ表示処理
				MESSAGE_ID = JPCOnlineMessageConstant.EKB7120__I;
				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, "");
				
			}

		}

		return true;
	}

	/**
	 * 検索ボタン押下時エラー処理
	 * @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] = "機器（または契約）情報";
		}
		else if("2".equals(strFlg))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB1040_JW;
			stringArray = new String[3];
			stringArray[0] = "指定されたSTBと製造番号";
			stringArray[1] = "同一STBのものと異なる";
			stringArray[2] ="処理";
			
		}
		else if("3".equals(strFlg))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB9230_KW;
			stringArray = new String[1];
			stringArray[0] = "局";
		}
		// OM-2014-0002983 ADD START
		else if("4".equals(strFlg))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKBE166_KW;
		}
		// OM-2014-0002983 ADD END

		// 共有フォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// OM-2014-0002983 MOD START
		if("4".equals(strFlg)) {
			JCCWebCommon.setMessageInfo( this, MESSAGE_ID);
		} else {
			JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		}
		// OM-2014-0002983 MOD END
		return true;
	}


	/**
	 * 次へボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean create() throws Exception
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		X31SDataBeanAccess[] paramBean = {bean};

		// 選択値と同値を持つ一覧の格納位置から情報を取得し、詳細画面へ受け渡す制御項目の設定を行う。
		String sel = paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_INFO, X31CWebConst.DATABEAN_GET_VALUE);
		
		X31SDataBeanAccessArray stbBeanArray = paramBean[0].getDataBeanArray(WCW00941SFConst.TN_ICRN_INFO);
		X31SDataBeanAccess stbsubbean = stbBeanArray.getDataBean(Integer.parseInt(sel));
		if("".equals(stbsubbean.sendMessageString( WCW00941SFConst.STB_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			search_Error("1");
			return false;
		}
		paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_KIKI_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, stbsubbean.sendMessageString( WCW00941SFConst.STB_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE));
		// OM-2014-0002973 ADD START
		paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_TKNIKIKI_MODEL_CD, X31CWebConst.DATABEAN_SET_VALUE, stbsubbean.sendMessageString( WCW00941SFConst.STB_TK_MDL_CD_07, X31CWebConst.DATABEAN_GET_VALUE));
		// OM-2014-0002973 ADD END
		if (stbsubbean.sendMessageString( WCW00941SFConst.BCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
		{
			paramBean[0].sendMessageString(WCW00941SFConst.SET_B_CASID, X31CWebConst.DATABEAN_SET_VALUE, stbsubbean.sendMessageString( WCW00941SFConst.BCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			paramBean[0].sendMessageString(WCW00941SFConst.SET_B_CASID, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		
		if (stbsubbean.sendMessageString( WCW00941SFConst.CCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
		{
			paramBean[0].sendMessageString(WCW00941SFConst.SET_C_CASID, X31CWebConst.DATABEAN_SET_VALUE, stbsubbean.sendMessageString( WCW00941SFConst.CCAS_KK_SEIZO_NO_07, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			paramBean[0].sendMessageString(WCW00941SFConst.SET_C_CASID, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		
		X31SDataBeanAccessArray serviceBeanArray = paramBean[0].getDataBeanArray(WCW00941SFConst.KEISHA_INFO);
		if (serviceBeanArray.getCount() > Integer.parseInt(sel))
		{
			X31SDataBeanAccess servicesubbean = serviceBeanArray.getDataBean(Integer.parseInt(sel));
			paramBean[0].sendMessageString(WCW00941SFConst.SET_SERVICE_KEIYAKU_NO, X31CWebConst.DATABEAN_SET_VALUE, servicesubbean.sendMessageString( WCW00941SFConst.SYSID_01, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			paramBean[0].sendMessageString(WCW00941SFConst.SET_SERVICE_KEIYAKU_NO, X31CWebConst.DATABEAN_SET_VALUE, "");
		}
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();

		///// メッセージ表示処理 /////
		//String strMsg = "";
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];
		String strStbStat = "";
		String strCCasStat = "";

		if(stbsubbean != null && stbsubbean.sendMessageString(WCW00941SFConst.STB_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE) != null)
		{
			strStbStat = stbsubbean.sendMessageString(WCW00941SFConst.STB_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE);
			strCCasStat = stbsubbean.sendMessageString(WCW00941SFConst.CCAS_CARD_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		if (strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_KARITO) || strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_HONUNYO))
		{
			if (strCCasStat.equals(JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_LINKCHU))
			{
				MESSAGE_ID = JPCOnlineMessageConstant.EKB7030__I;
				stringArray = new String[1];
				stringArray[0] = "制御コース情報";
			}
			else
			{
				MESSAGE_ID = JPCOnlineMessageConstant.EKB9340_KW;
				stringArray = new String[1];
				stringArray[0] = "リンク中";
				// MESSAGE_LISTにメッセージを追加する。
				JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
				
				return true;
			}
		}
		else
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB9220_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, "");
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00943);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00943);

		//次画面init処理
		init2();
		
		return true;
	}

	/**
	 * 登録確認ボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean kakunin() 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();
		X31SDataBeanAccess[] paramBean = {bean};

		X31SDataBeanAccessArray CtrlCourceBeanArray =paramBean[0].getDataBeanArray(WCW00941SFConst.CTRL_COURCE_INFO);
		int intRow = 0;
		
		for(int i = 0; i < CtrlCourceBeanArray.getCount(); i++)
		{
			Boolean blnCheck = CtrlCourceBeanArray.getDataBean(i).sendMessageBoolean(WCW00941SFConst.SELECT_FLG_02, X31CWebConst.DATABEAN_GET_VALUE);
			if(blnCheck)
			{
				intRow++;
				if (intRow % 2 == 0)
				{
					CtrlCourceBeanArray.getDataBean(i).sendMessageString(WCW00941SFConst.ROW_COLOR_02, X31CWebConst.DATABEAN_SET_VALUE,JWCStrConst.ROW_STYLE_EVEN);
				}
				else
				{
					CtrlCourceBeanArray.getDataBean(i).sendMessageString(WCW00941SFConst.ROW_COLOR_02, X31CWebConst.DATABEAN_SET_VALUE,JWCStrConst.ROW_STYLE_ODD);
				}
			}
		}
		
		// 宅内情報のクリア
		paramBean[0].getDataBeanArray(WCW00941SFConst.TN_ICRN_INFO).clearArray();
		
		// 検索用KEYのセット
		String strKeySeizoNo = paramBean[0].sendMessageString(WCW00941SFConst.SET_STB_KIKI_SEIZO_NO, X31CWebConst.DATABEAN_GET_VALUE);
		paramBean[0].sendMessageString(WCW00941SFConst.KEY_STB_KIKI_SEIZO_NO, X31CWebConst.DATABEAN_SET_VALUE, strKeySeizoNo);

		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.clear();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0063");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0063OP");
		
		// 宅内機器一覧照会上りマッピング定義
		mappingForDB_BP_WCSV0063_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		// 宅内機器一覧照会サービス呼出処理
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		} 
		// 宅内機器一覧照会取得データセット
		mappingForDB_BP_WCSV0063_GET(paramBean, outputMap);
		
		X31SDataBeanAccessArray stbBeanArray = paramBean[0].getDataBeanArray(WCW00941SFConst.TN_ICRN_INFO);
		if(stbBeanArray.getCount() == 0 || stbBeanArray.getDataBean(0) == null)
		{
			search_Error("1");
			return false;
		}
		
		// STBステータス取得
		X31SDataBeanAccess stbsubbean = stbBeanArray.getDataBean(0);
		String strStbStat = stbsubbean.sendMessageString(WCW00941SFConst.STB_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE);
		String strCCasStat = stbsubbean.sendMessageString(WCW00941SFConst.CCAS_CARD_STAT_CD_07, X31CWebConst.DATABEAN_GET_VALUE);

		///// メッセージ表示処理 /////
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];

		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();

		if (strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_KARITO) || strStbStat.equals(JWCStrConst.CD_DIV_WATCH_KIKI_KANRI_STAT_HONUNYO))
		{
			if (strCCasStat.equals(JWCStrConst.CD_DIV_CCAS_CARD_KANRI_STAT_LINKCHU))
			{
				MESSAGE_ID = JPCOnlineMessageConstant.EKB0370__I;
				//String[] stringArray;
				stringArray = new String[1];
				stringArray[0] = "STB直接制御(ティア送信)登録";
				// MESSAGE_LISTにメッセージを追加する。
				JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
			}
			else
			{
				MESSAGE_ID = JPCOnlineMessageConstant.EKB9340_KW;
				stringArray = new String[1];
				stringArray[0] = "リンク中";
				// MESSAGE_LISTにメッセージを追加する。
				JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
				
				return true;
			}
			
		}
		else
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB9220_KW;
			stringArray = new String[1];
			stringArray[0] = "仮登録または本運用";
			// MESSAGE_LISTにメッセージを追加する。
			JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
			
			return true;
		}
		
		// 強調表示
		JCCWebCommon.setMessageAreaBackColor(this, "1");

		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00944);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00944);

		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();

		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};

		paramMap = new HashMap<String, Object>();
		inputMap = new HashMap<String, Object>();
		outputMap = new HashMap<String, Object>();

		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// メッセージ表示処理 /////
		//String strMsg = JWCCommonConst.Msg_WCW00945;
		//String MESSAGE_ID = "EKB6990--I";
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6990__I;
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "STB直接制御(ティア送信)登録";
		
		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);

		// ティアグループが000のみの場合、実行しない
		int tiaGrpCnt = 0;
		String tiaGrpCd = "";
		
		for(int i = 0; i < bean.getDataBeanArray(WCW00941SFConst.CTRL_COURCE_INFO).getCount(); i++)
		{
			Boolean blnCheck = bean.getDataBeanArray(WCW00941SFConst.CTRL_COURCE_INFO).getDataBean(i).sendMessageBoolean(WCW00941SFConst.SELECT_FLG_02, X31CWebConst.DATABEAN_GET_VALUE);
			if(blnCheck)
			{	
				tiaGrpCd = bean.getDataBeanArray(WCW00941SFConst.CTRL_COURCE_INFO).getDataBean(i).sendMessageString(WCW00941SFConst.TIA_GRP_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
				tiaGrpCnt++;
			}
		}
		if(tiaGrpCnt == 1)
		{
			//X31SDataBeanAccess tiaGrpBean = bean.getDataBeanArray(WCW00941SFConst.CTRL_COURCE_INFO).getDataBean(0);
			//String strTiaGrpCd = tiaGrpBean.sendMessageString(WCW00941SFConst.TIA_GRP_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
			//if(strTiaGrpCd.equals(JWCStrConst.NON_DGTIA_GRP_CD))
			if(tiaGrpCd.equals(JWCStrConst.NON_DGTIA_GRP_CD))
			{
				// MESSAGE_LISTをクリアする。
				commonBeanArray.clearArray();

				MESSAGE_ID = JPCOnlineMessageConstant.EKB9530_KW;
				stringArray = new String[2];
				stringArray[0] = "制御コース情報欄でコース・オプションコード";
				stringArray[1] = "選択された";
				
				// MESSAGE_LISTにメッセージを追加する。
				JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
				
				commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00945);
				commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00945);
				
				return true;
			}
		}

		//視聴制御オーダ送信上りマッピング定義
		mappingForDB_BP_WCSV0001_SET(paramBean, inputMap, JWCCommonConst.FUNC_CODE_1);

		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0001");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0001OP");
		
		///// 視聴制御オーダ送信サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		// エラー処理 
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		//視聴制御オーダ送信下りマッピング定義
		//mappingForDB_BP_WCSV0001_GET(paramBean, outputMap);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		//X31SDataBeanAccess commonSubbean = commonBeanArray.addDataBean();
		//commonSubbean.sendMessageString(CommonInfoCFConst.MESSAGE_ID_02, X31CWebConst.DATABEAN_SET_VALUE, "");
		//commonSubbean.sendMessageString(CommonInfoCFConst.MESSAGE_02, X31CWebConst.DATABEAN_SET_VALUE, strMsg);
		//commonSubbean.sendMessageString("項目ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, "");
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00945);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00945);
		
		return true;
	}

	/**
	 * 登録確認画面完了ボタン完了処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean fin() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		clearBean(bean);
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		///// メッセージ表示処理 /////
		//String strMsg = JWCCommonConst.Msg_WCW00941_1;
		//String MESSAGE_ID = "EKB6910--I";
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6910__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にメッセージを追加する。
		//X31SDataBeanAccess commonSubbean = commonBeanArray.addDataBean();
		//commonSubbean.sendMessageString(CommonInfoCFConst.MESSAGE_ID_02, X31CWebConst.DATABEAN_SET_VALUE, "");
		//commonSubbean.sendMessageString(CommonInfoCFConst.MESSAGE_02, X31CWebConst.DATABEAN_SET_VALUE, strMsg);
		//commonSubbean.sendMessageString("項目ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, "");
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00941);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00941);
		return true;
	}
		
	/**
	 * キャンセルボタン完了処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean cancel() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		clearBean(bean);
		
		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		

		///// メッセージ表示処理 /////
		//String strMsg = JWCCommonConst.Msg_WCW00921;
		//String MESSAGE_ID = "EKB6910--I";
		String MESSAGE_ID = JPCOnlineMessageConstant.EKB6910__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にメッセージを追加する。
		//X31SDataBeanAccess commonSubbean = commonBeanArray.addDataBean();
		//commonSubbean.sendMessageString(CommonInfoCFConst.MESSAGE_ID_02, X31CWebConst.DATABEAN_SET_VALUE, "");
		//commonSubbean.sendMessageString(CommonInfoCFConst.MESSAGE_02, X31CWebConst.DATABEAN_SET_VALUE, strMsg);
		//commonSubbean.sendMessageString("項目ＩＤ", X31CWebConst.DATABEAN_SET_VALUE, "");
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC00941);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC00941);
		return true;
	}
	
//20140217 ADD START ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */
	/**
	 * 全送信確認ボタン処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean zenkakunin() throws Exception
	{
		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		// パラメータ作成
		X31SDataBeanAccess[] paramBean = {bean};
		paramBean[0].sendMessageString(WCW00941SFConst.WCTRL_ORDER_CD, X31CWebConst.DATABEAN_SET_VALUE, JWCStrConst.CD_DIV_WCTRL_ORDER_RESET);

		kakunin();
		return true;
	}
//20140217 ADD END   ANK-1893-00-00（ＣＡＳカードの有効期限切れ) */

	/**
	 * サービスフォームBean項目と視聴制御オーダサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0001_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0001_WCSV0001OP_05DBMapper mapper = new WCSV0001_WCSV0001OP_05DBMapper();

		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.setWCSV000110SC(paramBean, inputMap, func_code);
//20131118 ADD ANK-1698-00-00 START
		mapper.setWCSV000122SC(paramBean, inputMap, func_code);
//20131118 ADD ANK-1698-00-00 END
		return;
	}

	/**
	 * サービスフォームBean項目とティア送信初期表示サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0006_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0006_WCSV0006OPDBMapper mapper = new WCSV0006_WCSV0006OPDBMapper();

		mapper.setWCSV000601SC(paramBean, inputMap,func_code);
		return;
	}
	
	/**
	 * サービスフォームBean項目とティア送信初期表示サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0006_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0006_WCSV0006OPDBMapper mapper = new WCSV0006_WCSV0006OPDBMapper();

		mapper.getWCSV000601SC(paramBean, outputMap);
		return;
	}


	/**
	 * サービスフォームBean項目とパスワード解除一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0051_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0051_WCSV0051OP_01DBMapper mapper = new WCSV0051_WCSV0051OP_01DBMapper();
		mapper.setWCSV005101SC(paramBean, inputMap, func_code);

		return;
	}
	
	/**
	 * サービスフォームBean項目とパスワード解除一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0051_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0051_WCSV0051OP_01DBMapper mapper = new WCSV0051_WCSV0051OP_01DBMapper();

		mapper.getWCSV005101SC(paramBean, outputMap);
		return;
	}
	/**
	 * サービスフォームBean項目と機器提供サービス明細一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 * @param  intCnt     格納変数
	 */
	private void mappingForDB_BP_WCSV0052_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code, int intCNt)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		String strKeyKkktSvcKeiNo = "";
		//OM-2015-0001726 FJ)清水 2015/12/14 ADD START
		String strGeneAddDtm = "";
		//OM-2015-0001726 FJ)清水 2015/12/14 ADD END

		if(paramBean[0].getDataBeanArray(WCW00941SFConst.KEI_INFO).getDataBean(intCNt) != null)
		{
			strKeyKkktSvcKeiNo = paramBean[0].getDataBeanArray(WCW00941SFConst.KEI_INFO).getDataBean(intCNt).sendMessageString(WCW00941SFConst.KKTK_SVC_KEI_NO_08, X31CWebConst.DATABEAN_GET_VALUE);
			//OM-2015-0001726 FJ)清水 2015/12/14 ADD START
			strGeneAddDtm = paramBean[0].getDataBeanArray(WCW00941SFConst.KEI_INFO).getDataBean(intCNt).sendMessageString(WCW00941SFConst.GENE_ADD_DTM_08, X31CWebConst.DATABEAN_GET_VALUE);
			//OM-2015-0001726 FJ)清水 2015/12/14 ADD END
		}
		
		// ＫＥＹ＿サービス機器契約番号 → と機器提供サービス明細一覧照会.ＫＥＹ＿サービス機器契約番号
		parentMap.put("key_kktk_svc_kei_no", strKeyKkktSvcKeiNo);
		
		//OM-2015-0001726 FJ)清水 2015/12/14 ADD START
		// 世代登録年月日時分秒 → 機器提供サービス契約一意照会マップ.ＫＥＹ＿世代登録年月日時分秒
		parentMap.put("key_gene_add_dtm", strGeneAddDtm);
		//OM-2015-0001726 FJ)清水 2015/12/14 ADD END

		inputMap.put("WCSV005201SC", parentMap);
		
		parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", JWCCommonConst.FUNC_CODE_1);
		
		// ＫＥＹ＿宅内機器種別コード → 宅内機器一覧照会マップ.ＫＥＹ＿宅内機器種別コード
		parentMap.put("key_tk_sbt_cd", paramBean[0].sendMessageString("ＫＥＹ＿宅内機器種別コード", X31CWebConst.DATABEAN_GET_VALUE));

		inputMap.put("WCSV005202SC", parentMap);
		
		return;
	}
	
	/**
	 * サービスフォームBean項目と機器提供サービス明細一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0052_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0052_WCSV0052OP_01DBMapper mapper = new WCSV0052_WCSV0052OP_01DBMapper();

		mapper.getWCSV005201SC(paramBean, outputMap);
		mapper.getWCSV005202SC(paramBean, outputMap);
		//mapper.getWCSV005203SC(paramBean, outputMap);
		//mapper.getWCSV005204SC(paramBean, outputMap);
		return;
	}
	/**
	 * サービスフォームBean項目とサービス契約一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0058_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0058_WCSV0058OP_01DBMapper mapper = new WCSV0058_WCSV0058OP_01DBMapper();
		mapper.setWCSV005801SC(paramBean, inputMap, func_code);

		return;
	}
	
	/**
	 * サービスフォームBean項目とサービス契約一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0058_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0058_WCSV0058OP_01DBMapper mapper = new WCSV0058_WCSV0058OP_01DBMapper();

		mapper.getWCSV005801SC(paramBean, outputMap);
		mapper.getWCSV005802SC(paramBean, outputMap);
		mapper.getWCSV005803SC(paramBean, outputMap);
		return;
	}

	/**
	 * サービスフォームBean項目と宅内機器一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0063_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0063_WCSV0063OPDBMapper mapper = new WCSV0063_WCSV0063OPDBMapper();
		mapper.setWCSV006301SC(paramBean, inputMap, func_code);

		return;
	}
	
	/**
	 * サービスフォームBean項目と宅内機器一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0063_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0063_WCSV0063OPDBMapper mapper = new WCSV0063_WCSV0063OPDBMapper();

		mapper.getWCSV006301SC(paramBean, outputMap);
		return;
	}
	
	/**
	 * サービスフォームBean項目とサービス契約ティアグループ一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0065_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0065_WCSV0065OPDBMapper mapper = new WCSV0065_WCSV0065OPDBMapper();
		mapper.setWCSV006501SC(paramBean, inputMap, func_code);

		return;
	}
	
	/**
	 * サービスフォームBean項目とサービス契約ティアグループ一覧照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0065_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0065_WCSV0065OPDBMapper mapper = new WCSV0065_WCSV0065OPDBMapper();

		mapper.getWCSV006501SC(paramBean, outputMap);
		mapper.getWCSV006503SC(paramBean, outputMap);
		mapper.getWCSV006505SC(paramBean, outputMap);
		return;
	}

	/**
	 * サービスフォームBean項目と機器製造番号一意照会サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0061_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0061_WCSV0061OPDBMapper mapper = new WCSV0061_WCSV0061OPDBMapper();
		mapper.setWCSV006101SC(paramBean, inputMap, func_code);

		return;
	}	
	
	/**
	 * サービスフォームBean項目と視聴制御初期表示サービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   下りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0062_GET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0062_WCSV0062OP_02DBMapper mapper = new WCSV0062_WCSV0062OP_02DBMapper();

		mapper.getWCSV006201SC(paramBean, outputMap);
		mapper.getWCSV006202SC(paramBean, outputMap);
		return;
	}
	
//	public String Get_BP_WCSV0052_GET(HashMap<String, Object> outputMap)
//	{
//		HashMap parentMap = null;
//		if(outputMap.containsKey("WCSV006101SC")){
//			parentMap = (HashMap)outputMap.get("WCSV006101SC");
//		}
//
//		ArrayList childList = null;
//		childList = null;
//		if(parentMap != null && parentMap.containsKey("ETN0810B010CBSMsg1List"))
//		{
//			childList = (ArrayList)parentMap.get("ETN0810B010CBSMsg1List");
//
//			HashMap childMap = (HashMap)childList.get(0);
//			if (childMap.get("stb_stat_cd") != null)
//			{
//				return (String)childMap.get("stb_stat_cd");
//			}
//			else
//			{
//				return "";
//			}
//		}
//		else
//		{
//			return "";
//		}
//	}
	
	public void clearBean(X31SDataBeanAccess paramBean) throws Exception
	{
		String strItemList[] = paramBean.getItemNameList();
		
		for(int i = 0 ; i < strItemList.length; i++)
		{
			if(WCW00941SFConst.KEI_INFO.equals(strItemList[i]) || 
				WCW00941SFConst.TN_ICRN_INFO.equals(strItemList[i]) || 
				WCW00941SFConst.KEISHA_INFO.equals(strItemList[i]) || 
				WCW00941SFConst.KYOKU_INFO.equals(strItemList[i]) || 
				WCW00941SFConst.CTRL_AREA_INFO.equals(strItemList[i]) || 
				WCW00941SFConst.CTRL_COURCE_INFO.equals(strItemList[i])  || 
				WCW00941SFConst.BUY_COURCE_INFO.equals(strItemList[i]) || 
				WCW00941SFConst.BUY_OPTION_COURCE_INFO.equals(strItemList[i]) 
				)
			{
				paramBean.getDataBeanArray(strItemList[i]).clearArray();
			}
			else
			{
				paramBean.sendMessage(strItemList[i], X31CWebConst.DATABEAN_CLEAR);
			}
		}
		
		init();
	}
	
	/**
	 * 行スタイル取得処理です。
	 * 指定した行番号の場合の、スタイルを取得します。
	 * @param rowNo 行番号
	 * @return 行スタイル
	 */
	private String getRowStyle(int rowNo)
	{
		if (rowNo % 2 == 0)
		{
			return JWCStrConst.ROW_STYLE_EVEN;
		}
		else
		{
			return JWCStrConst.ROW_STYLE_ODD;
		}
	}
	/**
	 * 戻るボタン完了処理
	 * @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;
	}
}