/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：WCW01921SFLogic
*	ソースファイル名：WCW01921SFLogic.java
*	作成者			：富士通
*	日付			：2011年10月17日
*＜機能概要＞
*	グループID設定(グループ指定)のビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日5		修正者		修正内容
*	v1.00.00	2011/10/17	富士通		新規作成
*	v3.00.00	2012/05/01	FJ)松嶋		【ANK-0315-00-00】宅内対応を実施
*										【ANK-0280-00-00】制御タイプ対応を実施
*	v10.00.00	2014/10/24	FJ)大山		OM-2014-0003079
*	v10.00.01	2014/11/01	FJ)大山		OM-2014-0003079
*	v10.00.02	2014/11/07	FJ)大山		OM-2014-0003079
*
**********************************************************************/
package eo.web.webview.WCW01921SF;

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;

import eo.common.constant.JPCModelConstant;
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.WCW01923SF.WCW01923SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JWCScreenConst;
import eo.web.webview.mapping.WCSV0045_WCSV0045OPDBMapper;
import eo.web.webview.mapping.WCSV0048_WCSV0048OPDBMapper;
import eo.web.webview.mapping.WCSV0062_WCSV0062OPDBMapper;


/**
 *グループID設定(グループ指定)を行う。
 *
 * @author 富士通
 */

public class WCW01921SFLogic extends JCCWebBusinessLogic
{
	// エラーメッセージ表示用定数定義
	private String Error_Mode_1 = "1";
	private String Error_Mode_2 = "2";
	private String Error_Mode_3 = "3";

	/*
	 * フラグ
	 */
    // フラグOFF
    private static final String FLG_OFF = "0";

    // フラグON
    private static final String FLG_ON = "1";

	private static String ERR_MESSAGE_SYSINFO_NOTFOUND = "契約者情報が存在しません。";
	
	/**
	 * グループID設定(グループ指定)画面初期表示処理
	 * @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_WC01921);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01921);

		// サービスフォーム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(WCW01921SFConst.KYOKU_INFO);
		if (kykBeanArray.getCount() == 0 ||kykBeanArray.getDataBean(0) == null)
		{
			notFoundErrorInit(Error_Mode_1);
			return true;
		}
		// 制御エリア検索エラー
		X31SDataBeanAccessArray ctrlBeanArray = bean.getDataBeanArray(WCW01921SFConst.CTRL_AREA_INFO);
		if (ctrlBeanArray.getCount() == 0 ||ctrlBeanArray.getDataBean(0) == null)
		{
			notFoundErrorInit(Error_Mode_2);
			return true;
		}
		
		return true;
	}
	
	/**
	 * 検索ボタン押下処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean search() throws Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ページング情報の初期化。
		JCCWebCommon.clearPageLinkInfo(this, JWCScreenConst.SCREEN_ID_WC01921);
		
		// 画面に入力された値を検索条件に設定。
		bean.sendMessageString(WCW01921SFConst.SEARCH_STB_GRP_ID_1 , X31CWebConst.DATABEAN_SET_VALUE 
				, bean.sendMessageString(WCW01921SFConst.KEY_STB_GRP_ID_1, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(WCW01921SFConst.SEARCH_STB_GRP_ID_2 , X31CWebConst.DATABEAN_SET_VALUE 
				, bean.sendMessageString(WCW01921SFConst.KEY_STB_GRP_ID_2, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(WCW01921SFConst.SEARCH_STB_GRP_ID_3 , X31CWebConst.DATABEAN_SET_VALUE 
				, bean.sendMessageString(WCW01921SFConst.KEY_STB_GRP_ID_3, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(WCW01921SFConst.SEARCH_STB_GRP_ID_4 , X31CWebConst.DATABEAN_SET_VALUE 
				, bean.sendMessageString(WCW01921SFConst.KEY_STB_GRP_ID_4, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(WCW01921SFConst.SEARCH_STB_GRP_ID_5 , X31CWebConst.DATABEAN_SET_VALUE 
				, bean.sendMessageString(WCW01921SFConst.KEY_STB_GRP_ID_5, X31CWebConst.DATABEAN_GET_VALUE));
		bean.sendMessageString(WCW01921SFConst.SEARCH_STB_GRP_ID_6 , X31CWebConst.DATABEAN_SET_VALUE 
				, bean.sendMessageString(WCW01921SFConst.KEY_STB_GRP_ID_6, X31CWebConst.DATABEAN_GET_VALUE));

		// 検索サービスを呼び出す
		//callAllSearchSrv(bean);
		callSearchSrv(bean);

		///// 遷移先画面の設定/////
		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01921);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01921);

		return true;
	}
	
	/**
	 * ページング処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean paging() throws Exception 
	{

		// サービスフォームBeanのデータBeanアクセスクラスを取得。
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// データビーンへのセット
		setTgStbInfo(bean);

		// 検索サービスを呼び出す
		callSearchSrv(bean);

		///// 遷移先画面の設定/////
		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		///// 遷移先画面設定処理 /////
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01921);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01921);

		return true;
	}
	
	public void setTgStbInfo(X31SDataBeanAccess bean)
	{
		// チェックフラグ
		boolean blnFlg = false;
		int intFlgNo = 0;
		
		X31SDataBeanAccessArray stbBeanArray = bean.getDataBeanArray(WCW01921SFConst.TN_ICRN_INFO);
		X31SDataBeanAccessArray TgstbBeanArray = bean.getDataBeanArray(WCW01921SFConst.TG_STB_INFO);
		
		for(int i = 0; i < stbBeanArray.getCount(); i++)
		{
			blnFlg = false;
			X31SDataBeanAccess Stbbean = stbBeanArray.getDataBean(i);
			Boolean blnCheck = Stbbean.sendMessageBoolean(WCW01921SFConst.SELECT_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
			if(blnCheck)
			{
				for(int j = 0; j < TgstbBeanArray.getCount(); j++)
				{
					X31SDataBeanAccess TgStbbean = TgstbBeanArray.getDataBean(j);
					String Stb_SeizoNo = Stbbean.sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
					String TgStb_SeizoNo = TgStbbean.sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_GET_VALUE);
					if(Stb_SeizoNo.equals(TgStb_SeizoNo))
					{
						blnFlg = true;
						intFlgNo = j;
					}
				}
				if(!blnFlg)
				{
					String Stb_SeizoNo = Stbbean.sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_TkMdlCd = Stbbean.sendMessageString(WCW01921SFConst.STB_TK_MDL_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_StbId = Stbbean.sendMessageString(WCW01921SFConst.STBID_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_StatCd = Stbbean.sendMessageString(WCW01921SFConst.STB_STAT_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_StatNm = Stbbean.sendMessageString(WCW01921SFConst.STB_STAT_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_NaizocasCd = Stbbean.sendMessageString(WCW01921SFConst.STB_NAIZOCAS_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_NaizocasNm = Stbbean.sendMessageString(WCW01921SFConst.STB_NAIZOCAS_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MatsuyoGrpid1 = Stbbean.sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID1_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MatsuyoGrpid2 = Stbbean.sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID2_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MatsuyoGrpid3 = Stbbean.sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID3_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MatsuyoGrpid4 = Stbbean.sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID4_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MatsuyoGrpid5 = Stbbean.sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID5_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MatsuyoGrpid6 = Stbbean.sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID6_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_KrKeyStaYmd = Stbbean.sendMessageString(WCW01921SFConst.KR_KEY_STA_YMD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CtlareaCd = Stbbean.sendMessageString(WCW01921SFConst.CTL_AREA_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CtlareaNm = Stbbean.sendMessageString(WCW01921SFConst.CTL_AREA_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MakerkoyuCtlMdlCd = Stbbean.sendMessageString(WCW01921SFConst.STB_MAKER_KOYU_CTL_MDL_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MakerKkMdlNo = Stbbean.sendMessageString(WCW01921SFConst.STB_MAKER_KK_MDL_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_MdlNm = Stbbean.sendMessageString(WCW01921SFConst.STB_MDL_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CcasTkMdlCd = Stbbean.sendMessageString(WCW01921SFConst.CCAS_TK_MDL_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CcasKkSeizoNo = Stbbean.sendMessageString(WCW01921SFConst.CCAS_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CcasCardStatCd = Stbbean.sendMessageString(WCW01921SFConst.CCAS_CARD_STAT_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CcasCardStatNm = Stbbean.sendMessageString(WCW01921SFConst.CCAS_CARD_STAT_NM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CcasCasCardSbtCd = Stbbean.sendMessageString(WCW01921SFConst.CCAS_CAS_CARD_SBT_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_BcasTkMdlCd = Stbbean.sendMessageString(WCW01921SFConst.BCAS_TK_MDL_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_BcasKkSeizoNo = Stbbean.sendMessageString(WCW01921SFConst.BCAS_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_BcasCasCardSbtCd = Stbbean.sendMessageString(WCW01921SFConst.BCAS_CAS_CARD_SBT_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_StbtUpdDttm = Stbbean.sendMessageString(WCW01921SFConst.STBT_UPD_DTTM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_CcasCastUpdDttm = Stbbean.sendMessageString(WCW01921SFConst.CCAS_CAST_UPD_DTTM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_BcasCastUpdDttm = Stbbean.sendMessageString(WCW01921SFConst.BCAS_CAST_UPD_DTTM_02, X31CWebConst.DATABEAN_GET_VALUE);
					String stb_ErrNaiyo = Stbbean.sendMessageString(WCW01921SFConst.ERR_NAIYO_02, X31CWebConst.DATABEAN_GET_VALUE);
					TgstbBeanArray.addDataBean();
					int getCnt = TgstbBeanArray.getCount() - 1;
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_SET_VALUE, Stb_SeizoNo);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_TK_MDL_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_TkMdlCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STBID_03, X31CWebConst.DATABEAN_SET_VALUE, stb_StbId);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_STAT_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_StatCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_STAT_NM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_StatNm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_NAIZOCAS_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_NaizocasCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_NAIZOCAS_NM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_NaizocasNm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID1_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MatsuyoGrpid1);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID2_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MatsuyoGrpid2);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID3_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MatsuyoGrpid3);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID4_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MatsuyoGrpid4);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID5_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MatsuyoGrpid5);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID6_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MatsuyoGrpid6);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.KR_KEY_STA_YMD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_KrKeyStaYmd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CTL_AREA_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CtlareaCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CTL_AREA_NM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CtlareaNm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MAKER_KOYU_CTL_MDL_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MakerkoyuCtlMdlCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MAKER_KK_MDL_NO_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MakerKkMdlNo);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STB_MDL_NM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_MdlNm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CCAS_TK_MDL_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CcasTkMdlCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CCAS_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CcasKkSeizoNo);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CCAS_CARD_STAT_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CcasCardStatCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CCAS_CARD_STAT_NM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CcasCardStatNm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CCAS_CAS_CARD_SBT_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CcasCasCardSbtCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.BCAS_TK_MDL_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_BcasTkMdlCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.BCAS_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_SET_VALUE, stb_BcasKkSeizoNo);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.BCAS_CAS_CARD_SBT_CD_03, X31CWebConst.DATABEAN_SET_VALUE, stb_BcasCasCardSbtCd);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.STBT_UPD_DTTM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_StbtUpdDttm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.CCAS_CAST_UPD_DTTM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_CcasCastUpdDttm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.BCAS_CAST_UPD_DTTM_03, X31CWebConst.DATABEAN_SET_VALUE, stb_BcasCastUpdDttm);
					TgstbBeanArray.getDataBean(getCnt).sendMessageString(WCW01921SFConst.ERR_NAIYO_03, X31CWebConst.DATABEAN_SET_VALUE, stb_ErrNaiyo);
				}
			}
			else
			{
				for(int j = 0; j < TgstbBeanArray.getCount(); j++)
				{
					X31SDataBeanAccess TgStbbean = TgstbBeanArray.getDataBean(j);
					String Stb_SeizoNo = Stbbean.sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
					String TgStb_SeizoNo = TgStbbean.sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_GET_VALUE);
					if(Stb_SeizoNo.equals(TgStb_SeizoNo))
					{
						TgstbBeanArray.removeDataBean(j);
						continue;
					}
				}
			}
		}
	}
	
	/**
	 * 新規登録ボタン処理
	 * @return 
	 * @throws Exception 
	 */
	public boolean create() throws Exception 
	{
		
		setSceenInfo();
		
		return true;
	}

	/**
	 * 検索サービスを呼び出し処理
	 * @param bean
	 * @param paramBean
	 * @throws Exception 
	 */
	private void callSearchSrv(X31SDataBeanAccess bean) 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>();

		//X31SDataBeanAccessArray stbBeanArray = bean.getDataBeanArray(WCW01921SFConst.STB_INFO);
		X31SDataBeanAccessArray stbBeanArray = bean.getDataBeanArray(WCW01921SFConst.TN_ICRN_INFO);
		if (stbBeanArray.getDataBean(0) != null)
		{
			stbBeanArray.clearArray();
		}
		X31SDataBeanAccessArray sysidBeanArray = bean.getDataBeanArray(WCW01921SFConst.SYSID_INFO);
		if (sysidBeanArray.getDataBean(0) != null)
		{
			sysidBeanArray.clearArray();
		}

		X31SDataBeanAccess[] paramBean = {bean};
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0045");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0045OP");
		
		mappingForDB_BP_WCSV0045_SET(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);
		
		// ページング情報の設定
		JCCWebCommon.upmapperPageLinkInfo(this, "0", "WCSV004501SC", inputMap);

		///// サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		///// エラー処理 /////
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			//return true;
			return;
		}
		
		///// サービス処理結果の取得 /////
		mappingForDB_BP_WCSV0045_GET(paramBean, outputMap);

		// 新規登録ボタン表示フラグを"0"(非表示)を設定
		bean.sendMessageString(WCW01921SFConst.CREATE_BTN_DSP_FLG , X31CWebConst.DATABEAN_SET_VALUE, FLG_OFF);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("WCSV004501SC", outputMap);
		
		if(!Search_Error(searchErrFlg)) {
			//return false;	
			return;
		}
		
		X31SDataBeanAccessArray dataList = bean.getDataBeanArray(WCW01921SFConst.TN_ICRN_INFO);
		if (dataList.getDataBean(0) == null){
			Search_Error("1");
			return;
		}
		// ページング情報の設定
		JCCWebCommon.downmapperPageLinkInfo(this, "0", "WCSV004501SC", outputMap);

		// 契約者情報の取得
		//X31SDataBeanAccessArray dataList = bean.getDataBeanArray(WCW01921SFConst.STB_INFO);
		stbBeanArray = bean.getDataBeanArray(WCW01921SFConst.TN_ICRN_INFO);
		
		ArrayList arySysId;
		arySysId = new ArrayList();
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.clear();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0048");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0048OP");
		
		//for(int i = 0 ; i < dataList.getCount(); i++)
		for(int i = 0 ; i < stbBeanArray.getCount(); i++)
		{
			// 偶数行、奇数行の設定
			//dataList.getDataBean(i).sendMessageString(WCW01921SFConst.ROW_COLOR_01, X31CWebConst.DATABEAN_SET_VALUE, getRowStyle(i+1));
			stbBeanArray.getDataBean(i).sendMessageString(WCW01921SFConst.ROW_COLOR_02, X31CWebConst.DATABEAN_SET_VALUE, getRowStyle(i+1));
			
			//String kiki_seizo_no = dataList.getDataBean(i).sendMessageString(WCW01921SFConst.KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
			String kiki_seizo_no = stbBeanArray.getDataBean(i).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
			// OM-2014-0003079 ADD START
			String tk_mdl_cd = stbBeanArray.getDataBean(i).sendMessageString(WCW01921SFConst.STB_TK_MDL_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
			
			mappingForDB_BP_WCSV0048_SET(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, kiki_seizo_no ,tk_mdl_cd);
			// OM-2014-0003079 ADD END
			
			///// サービス呼出処理/////
			msgResult = invokeService(paramMap, inputMap, outputMap);

			/*
			///// エラー処理 /////
			if(msgResult != null)
			{
				JCCWebCommon.setMessageInfo(this, msgResult);
				return true;
			}
			*/
			
			if ((HashMap)outputMap.get("WCSV004802SC") == null)
			{
				arySysId.add(i, new HashMap());
			}
			else
			{
				if(!((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).isEmpty())
				{
					arySysId.add(i, ((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).get(0));
				}
				else
				{
					arySysId.add(i, new HashMap());
				}
				((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).clear();
			}
		}
		
		if ((HashMap)outputMap.get("WCSV004802SC") != null)
		{
			((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).clear();
			
			//for (int i = 0; i < dataList.getCount(); i++) {
			for (int i = 0; i < stbBeanArray.getCount(); i++)
			{
				((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).add(arySysId.get(i));
			}
		}

		///// サービス処理結果の取得/////
		mappingForDB_BP_WCSV0048_GET(paramBean, outputMap);

		// 製造番号が空白（サービス契約データが存在しない）の場合は、選択を未チェック状態とする。
		// 対象STB情報内に合致する項目がある場合、Checkを同期する
		// 配列アクセサを取得
		X31SDataBeanAccessArray sysid_info = bean.getDataBeanArray(WCW01921SFConst.SYSID_INFO);
		X31SDataBeanAccessArray tgstbBeanArray = bean.getDataBeanArray(WCW01921SFConst.TG_STB_INFO);

//		if (sysid_info.getCount() == 0)
//		{
//			for (int i = 0; i < dataList.getCount(); i++) {
//			{
//				X31SDataBeanAccess subbean = null;
//				
//				subbean = sysid_info.addDataBean();
//
//				subbean.sendMessageString(WCW01923SFConst.KIKI_SEIZO_NO_07, X31CWebConst.DATABEAN_SET_VALUE, new String());
//				subbean.sendMessageString(WCW01923SFConst.SYSID_NM_07, X31CWebConst.DATABEAN_SET_VALUE, new String());
//			}
//		}

		if (sysid_info.getCount() == 0)
		{
			for (int i = 0; i < dataList.getCount(); i++)
			{
				X31SDataBeanAccess subbean = null;
				
				subbean = sysid_info.addDataBean();

				subbean.sendMessageString(WCW01923SFConst.KIKI_SEIZO_NO_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				subbean.sendMessageString(WCW01923SFConst.SYSID_NM_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
		}
			
		int notFoundCnt = 0;
		//for (int i = 0; i < dataList.getCount(); i++) {
		for (int i = 0; i < stbBeanArray.getCount(); i++) 
		{
			String strKikiSeizoNo = "";
			//strKikiSeizoNo = sysid_info.getDataBean(i).sendMessageString(WCW01921SFConst.KIKI_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
			strKikiSeizoNo = sysid_info.getDataBean(i).sendMessageString(WCW01921SFConst.KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
			
			if ("".equals(strKikiSeizoNo))
			{
				//dataList.getDataBean(i).sendMessageBoolean(WCW01921SFConst.SELECT_01, X31CWebConst.DATABEAN_SET_VALUE, false);
				stbBeanArray.getDataBean(i).sendMessageBoolean(WCW01921SFConst.SELECT_NO_02, X31CWebConst.DATABEAN_SET_VALUE, false);
				stbBeanArray.getDataBean(i).sendMessageString(WCW01921SFConst.ERR_NAIYO_02, X31CWebConst.DATABEAN_SET_VALUE, ERR_MESSAGE_SYSINFO_NOTFOUND);
				notFoundCnt++;
			}
			else
			{
				boolean chkFlg = false;
				for (int j = 0; j < tgstbBeanArray.getCount(); j++)
				{
					String StbSeizoNo = stbBeanArray.getDataBean(i).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
					String TgStbSeizoNo = tgstbBeanArray.getDataBean(j).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_GET_VALUE);
					if(StbSeizoNo.equals(TgStbSeizoNo))
					{
						stbBeanArray.getDataBean(i).sendMessageBoolean(WCW01921SFConst.SELECT_NO_02, X31CWebConst.DATABEAN_SET_VALUE, true);
						chkFlg = true;
					}
					
				}
				if(!chkFlg)
				{
					stbBeanArray.getDataBean(i).sendMessageBoolean(WCW01921SFConst.SELECT_NO_02, X31CWebConst.DATABEAN_SET_VALUE, false);
				}
			}
		}

		///// 共有フォームBean設定/////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();

		///// メッセージ表示処理 /////
		String MESSAGE_ID = "";
		String[] stringArray;
		stringArray = new String[1];
		stringArray[0] = "";
		
		// 表示対象明細の全てがサービス契約データなしの場合、新規登録ボタン表示フラグに"0"(非表示)を設定
		//if (dataList.getCount() == notFoundCnt)
		if (stbBeanArray.getCount() == notFoundCnt)
		{
			bean.sendMessageString(WCW01921SFConst.CREATE_BTN_DSP_FLG , X31CWebConst.DATABEAN_SET_VALUE, FLG_OFF);
			MESSAGE_ID = JPCOnlineMessageConstant.EKB7290_KW;
		}
		else
		{
			bean.sendMessageString(WCW01921SFConst.CREATE_BTN_DSP_FLG , X31CWebConst.DATABEAN_SET_VALUE, FLG_ON);
			MESSAGE_ID = JPCOnlineMessageConstant.EKB7100__I;
		}
		
		// 検索のコマンドIDを設定する。
		JCCWebCommon.setSearchCommand(this, "PAGING");

		// 共有フォームBeanからMESSAGE_LISTデータタイプBeanを取得する。
		X31SDataBeanAccessArray commonBeanArray = commonBean.getDataBeanArray(CommonInfoCFConst.MESSAGES_LIST);
		
		// MESSAGE_LISTをクリアする。
		commonBeanArray.clearArray();
		
		// MESSAGE_LISTにメッセージを追加する。
		JCCWebCommon.setMessageInfo( this, MESSAGE_ID, stringArray, "");
		
		if (stbBeanArray.getCount() != notFoundCnt)
		{
			String MESSAGE_ID2 = JPCOnlineMessageConstant.EKBD370__I;
			// MESSAGE_LISTにメッセージを追加する。
			JCCWebCommon.setMessageInfo( this, MESSAGE_ID2, new String[]{JWCStrConst.SHIKI_CHI},"");
		}
	}

	/**
	 * 検索サービスを呼び出し処理
	 * @param bean
	 * @param paramBean
	 * @throws Exception 
	 */
	private void callAllSearchSrv(X31SDataBeanAccess bean) 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>();

		X31SDataBeanAccessArray stbBeanArray = bean.getDataBeanArray(WCW01921SFConst.TG_STB_INFO);
		if (stbBeanArray.getDataBean(0) != null)
		{
			stbBeanArray.clearArray();
		}
		X31SDataBeanAccessArray sysidBeanArray = bean.getDataBeanArray(WCW01921SFConst.SYSID_INFO);
		if (sysidBeanArray.getDataBean(0) != null)
		{
			sysidBeanArray.clearArray();
		}

		X31SDataBeanAccess[] paramBean = {bean};
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0045");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0045OP");

		// ページング情報の設定
		mappingForDB_BP_WCSV0045_All_SET(paramBean, inputMap, JPCModelConstant.FUNC_CD_1);

		JCCWebCommon.upmapperPageLinkInfo(this, "0", "WCSV004501SC", inputMap);
		
		///// サービス呼出処理 /////
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);

		///// エラー処理 /////
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			//return true;
			return;
		}
		
		///// サービス処理結果の取得 /////
		mappingForDB_BP_WCSV0045_All_GET(paramBean, outputMap);

		// 検索エラーフラグの取得
		String searchErrFlg = JCCWebCommon.getSearchErrFlg("WCSV004501SC", outputMap);
		
		if(!Search_Error(searchErrFlg)) {
			//return false;	
			return;
		}

		// 契約者情報の取得
		stbBeanArray = bean.getDataBeanArray(WCW01921SFConst.TG_STB_INFO);
		
		ArrayList arySysId;
		arySysId = new ArrayList();
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.clear();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0048");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0048OP");
		
		for(int i = 0 ; i < stbBeanArray.getCount(); i++)
		{
			String kiki_seizo_no = stbBeanArray.getDataBean(i).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
			// OM-2014-0003079 ADD START
			String tk_mdl_cd = stbBeanArray.getDataBean(i).sendMessageString(WCW01921SFConst.STB_TK_MDL_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
			
			mappingForDB_BP_WCSV0048_SET(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, kiki_seizo_no , tk_mdl_cd);
			
			// OM-2014-0003079 ADD END
			
			///// サービス呼出処理/////
			msgResult = invokeService(paramMap, inputMap, outputMap);
			
			if ((HashMap)outputMap.get("WCSV004802SC") == null)
			{
				arySysId.add(i, new HashMap());
			}
			else
			{
				if(!((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).isEmpty())
				{
					arySysId.add(i, ((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).get(0));
				}
				else
				{
					arySysId.add(i, new HashMap());
				}
				((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).clear();
			}
		}
		
		if ((HashMap)outputMap.get("WCSV004802SC") != null)
		{
			((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).clear();
			
			for (int i = 0; i < stbBeanArray.getCount(); i++)
			{
				((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).add(arySysId.get(i));
			}
		}

		///// サービス処理結果の取得/////
		mappingForDB_BP_WCSV0048_GET(paramBean, outputMap);

		// 製造番号が空白（サービス契約データが存在しない）の場合は対象STB情報を除去
		// 配列アクセサを取得
		X31SDataBeanAccessArray sysid_info = bean.getDataBeanArray(WCW01921SFConst.SYSID_INFO);
		if (sysid_info.getCount() == 0)
		{
			for (int i = 0; i < stbBeanArray.getCount(); i++)
			{
				X31SDataBeanAccess subbean = null;
				
				subbean = sysid_info.addDataBean();

				subbean.sendMessageString(WCW01923SFConst.KIKI_SEIZO_NO_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				subbean.sendMessageString(WCW01923SFConst.SYSID_NM_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
		}
			
		int notFoundCnt = 0;
		int roopCnt = stbBeanArray.getCount();
		for (int i = 0; i < roopCnt; i++) 
		{
			String strKikiSeizoNo = "";
			strKikiSeizoNo = sysid_info.getDataBean(i).sendMessageString(WCW01921SFConst.KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
			
			if ("".equals(strKikiSeizoNo))
			{
				stbBeanArray.removeDataBean(i - notFoundCnt);
				notFoundCnt++;
			}
		}
	}
	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0045_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0045_WCSV0045OPDBMapper mapper = new WCSV0045_WCSV0045OPDBMapper();
		
		mapper.setWCSV004501SC(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  outputMap  下りデータマップ
	 */
	private void mappingForDB_BP_WCSV0045_GET(X31SDataBeanAccess[] paramBean,  HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0045_WCSV0045OPDBMapper mapper = new WCSV0045_WCSV0045OPDBMapper();
		
		mapper.getWCSV004501SC(paramBean, outputMap);
		return;
	}
	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0045_All_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0045_WCSV0045OPDBMapper mapper = new WCSV0045_WCSV0045OPDBMapper();
		
		mapper.setWCSV004501SC_All(paramBean, inputMap, func_code);
		return;
	}

	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  outputMap  下りデータマップ
	 */
	private void mappingForDB_BP_WCSV0045_All_GET(X31SDataBeanAccess[] paramBean,  HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0045_WCSV0045OPDBMapper mapper = new WCSV0045_WCSV0045OPDBMapper();
		
		mapper.getWCSV004501SC_All(paramBean, outputMap);
		return;
	}
	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  inputMap   上りデータマップ
	 * @param  func_code  機能コード
	 */
	private void mappingForDB_BP_WCSV0048_SET(X31SDataBeanAccess[] paramBean, HashMap<String, Object> inputMap, String func_code, String strKikiSeizoNo ,String  tk_mdl_cd)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 製造番号 → 機器提供サービス契約一覧照会.ＫＥＹ＿機器製造番号
		parentMap.put("key_kiki_seizo_no", strKikiSeizoNo);

		// OM-2014-0003079 ADD START
		// 製造番号 → 機器提供サービス契約一覧照会.ＫＥＹ＿宅内機器型式コード
		parentMap.put("key_tk_mdl_cd", tk_mdl_cd);

		// OM-2014-0003079 ADD END

		inputMap.put("WCSV004801SC", parentMap);
		return;
	}

	/**
	 * サービスフォームBean項目とサービス項目のマッピングを行う
	 * @param  paramBean  DataBean項目の配列
	 * @param  outputMap  下りデータマップ
	 */
	private void mappingForDB_BP_WCSV0048_GET(X31SDataBeanAccess[] paramBean,  HashMap<String, Object> outputMap)
	{
		// DataBean-BPマッピングクラス生成
		WCSV0048_WCSV0048OPDBMapper mapper = new WCSV0048_WCSV0048OPDBMapper();
		
		mapper.getWCSV004802SC(paramBean, outputMap);
		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_WCSV0062OPDBMapper mapper = new WCSV0062_WCSV0062OPDBMapper();

		mapper.getWCSV006201SC(paramBean, outputMap);
		mapper.getWCSV006202SC(paramBean, outputMap);
		return;
	}

	/**
	 * 引継情報の作成
	 * 
	 */
	public void setSceenInfo() 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};
		
		// 配列アクセサを取得
		//X31SDataBeanAccessArray stb_info = bean.getDataBeanArray(WCW01921SFConst.STB_INFO);
		//X31SDataBeanAccessArray stb_info = bean.getDataBeanArray(WCW01921SFConst.TN_ICRN_INFO);
		X31SDataBeanAccessArray sysid_info = bean.getDataBeanArray(WCW01921SFConst.SYSID_INFO);
		sysid_info.clearArray();
		
		ArrayList stb_info_send;
		ArrayList sysid_info_send;
		stb_info_send = new ArrayList();
		sysid_info_send = new ArrayList();
		
		HashMap<String, Object>dataMap = new HashMap<String, Object>();
		
		//X31SDataBeanAccessArray dataList = bean.getDataBeanArray(WCW01921SFConst.STB_INFO);
		
		int j = 0;
		
//		//for(int i = 0 ; i < dataList.getCount(); i++)
//		for(int i = 0 ; i < stb_info.getCount(); i++)
//		{
//			//Boolean bln_chk = stb_info.getDataBean(i).sendMessageBoolean(WCW01921SFConst.SELECT_01, X31CWebConst.DATABEAN_GET_VALUE);
//			Boolean bln_chk = stb_info.getDataBean(i).sendMessageBoolean(WCW01921SFConst.SELECT_NO_02, X31CWebConst.DATABEAN_GET_VALUE);
//			if ( bln_chk)
//			{
//				
//				HashMap<String, Object> stb_info_send_sub = new HashMap<String, Object>();
//				HashMap<String, Object> sysid_info_send_sub = new HashMap<String, Object>();
//				
////				// STBIDの取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_ID_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_ID_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// 製造番号の取得
////				stb_info_send_sub.put(WCW01923SFConst.KIKI_SEIZO_NO_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// STB内蔵CASコードの取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_NAIZO_CAS_CD_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_NAIZO_CAS_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// STBステータスの取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_STAT_CD_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_STAT_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// STBステータス名称の取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_STAT_CD_NM_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_STAT_CD_NM_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// グループID1の取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_GRP_ID_1_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_GRP_ID_1_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// グループID2の取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_GRP_ID_2_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_GRP_ID_2_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// グループID3の取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_GRP_ID_3_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_GRP_ID_3_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// グループID4の取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_GRP_ID_4_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_GRP_ID_4_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// グループID5の取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_GRP_ID_5_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_GRP_ID_5_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// グループID6の取得
////				stb_info_send_sub.put(WCW01923SFConst.STB_GRP_ID_6_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_GRP_ID_6_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// 制御エリアコードの取得
////				stb_info_send_sub.put(WCW01923SFConst.CTRL_AREA_CD_01, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.CTRL_AREA_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
////				// 行色替え
////				stb_info_send_sub.put(WCW01923SFConst.ROW_COLOR_01, getRowStyle(j+1));
////				
////				// SYSID名称の取得
////				sysid_info_send_sub.put(WCW01923SFConst.SYSID_NM_07, sysid_info.getDataBean(i).sendMessageString(WCW01921SFConst.SYSID_NM_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// STBIDの取得
//				stb_info_send_sub.put(WCW01923SFConst.STBID_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STBID_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// 製造番号の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_KK_SEIZO_NO_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// STB内蔵CASコードの取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_NAIZOCAS_CD_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_NAIZOCAS_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// STBステータスの取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_STAT_CD_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_STAT_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// STBステータス名称の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_STAT_NM_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_STAT_NM_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// グループID1の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID1_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID1_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// グループID2の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID2_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID2_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// グループID3の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID3_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID3_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// グループID4の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID4_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID4_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// グループID5の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID5_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID5_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// グループID6の取得
//				stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID6_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID6_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// 制御エリアコードの取得
//				stb_info_send_sub.put(WCW01923SFConst.CTL_AREA_CD_08, stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.CTL_AREA_CD_02, X31CWebConst.DATABEAN_GET_VALUE));
//				// 行色替え
//				stb_info_send_sub.put(WCW01923SFConst.ROW_COLOR_08, getRowStyle(j+1));
//				
//				// SYSID名称の取得
//				sysid_info_send_sub.put(WCW01923SFConst.SYSID_NM_04, sysid_info.getDataBean(i).sendMessageString(WCW01921SFConst.SYSID_NM_01, X31CWebConst.DATABEAN_GET_VALUE));
//				stb_info_send.add(j, stb_info_send_sub);
//				sysid_info_send.add(j, sysid_info_send_sub);
//				
//				j++;
//			}
//		}

		// データビーンへのセット
		setTgStbInfo(bean);
		X31SDataBeanAccessArray tg_stb_info = bean.getDataBeanArray(WCW01921SFConst.TG_STB_INFO);
		
		ArrayList arySysId;
		arySysId = new ArrayList();
		
		// ◇ 業務ロジックの記述
		// ユースケースID格納用マップを生成。
		paramMap.clear();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "WCSV0048");
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "WCSV0048OP");
		
		for(int i = 0 ; i < tg_stb_info.getCount(); i++)
		{
			String kiki_seizo_no = tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_GET_VALUE);
			// OM-2014-0003079 ADD START
			String tk_mdl_cd = tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_TK_MDL_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			
			mappingForDB_BP_WCSV0048_SET(paramBean, inputMap, JPCModelConstant.FUNC_CD_1, kiki_seizo_no ,tk_mdl_cd);
			
			// OM-2014-0003079 ADD END
			
			///// サービス呼出処理/////
			X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
			
			if ((HashMap)outputMap.get("WCSV004802SC") == null)
			{
				arySysId.add(i, new HashMap());
			}
			else
			{
				if(!((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).isEmpty())
				{
					arySysId.add(i, ((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).get(0));
				}
				else
				{
					arySysId.add(i, new HashMap());
				}
				((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).clear();
			}
		}
		
		if ((HashMap)outputMap.get("WCSV004802SC") != null)
		{
			((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).clear();
			
			for (int i = 0; i < tg_stb_info.getCount(); i++)
			{
				((ArrayList)((HashMap)outputMap.get("WCSV004802SC")).get("EKK0341A010CBSMsg1List")).add(arySysId.get(i));
			}
		}

		///// サービス処理結果の取得/////
		mappingForDB_BP_WCSV0048_GET(paramBean, outputMap);

		// 製造番号が空白（サービス契約データが存在しない）の場合は対象STB情報を除去
		// 配列アクセサを取得
		sysid_info = bean.getDataBeanArray(WCW01921SFConst.SYSID_INFO);
		if (sysid_info.getCount() == 0)
		{
			for (int i = 0; i < tg_stb_info.getCount(); i++)
			{
				X31SDataBeanAccess subbean = null;
				
				subbean = sysid_info.addDataBean();

				subbean.sendMessageString(WCW01923SFConst.KIKI_SEIZO_NO_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
				subbean.sendMessageString(WCW01923SFConst.SYSID_NM_04, X31CWebConst.DATABEAN_SET_VALUE, new String());
			}
		}
		
		for(int i = 0 ; i < tg_stb_info.getCount(); i++)
		{
			HashMap<String, Object> stb_info_send_sub = new HashMap<String, Object>();
			HashMap<String, Object> sysid_info_send_sub = new HashMap<String, Object>();
			// STBIDの取得
			stb_info_send_sub.put(WCW01923SFConst.STBID_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STBID_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 製造番号の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_KK_SEIZO_NO_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_KK_SEIZO_NO_03, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2014-0003079 ADD START
			// 宅内機器型式コード
//			stb_info_send_sub.put(WCW01923SFConst.STB_TK_MDL_CD_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_TK_MDL_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
			stb_info_send_sub.put(WCW01923SFConst.STB_TK_MDL_CD_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MAKER_KK_MDL_NO_03, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2014-0003079 ADD END
			// STB内蔵CASコードの取得
			stb_info_send_sub.put(WCW01923SFConst.STB_NAIZOCAS_CD_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_NAIZOCAS_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
			// STBステータスの取得
			stb_info_send_sub.put(WCW01923SFConst.STB_STAT_CD_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_STAT_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
			// STBステータス名称の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_STAT_NM_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_STAT_NM_03, X31CWebConst.DATABEAN_GET_VALUE));
			// グループID1の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID1_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID1_03, X31CWebConst.DATABEAN_GET_VALUE));
			// グループID2の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID2_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID2_03, X31CWebConst.DATABEAN_GET_VALUE));
			// グループID3の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID3_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID3_03, X31CWebConst.DATABEAN_GET_VALUE));
			// グループID4の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID4_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID4_03, X31CWebConst.DATABEAN_GET_VALUE));
			// グループID5の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID5_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID5_03, X31CWebConst.DATABEAN_GET_VALUE));
			// グループID6の取得
			stb_info_send_sub.put(WCW01923SFConst.STB_MATSU_YO_GRPID6_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.STB_MATSU_YO_GRPID6_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 制御エリアコードの取得
			stb_info_send_sub.put(WCW01923SFConst.CTL_AREA_CD_08, tg_stb_info.getDataBean(i).sendMessageString(WCW01921SFConst.CTL_AREA_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 行色替え
			stb_info_send_sub.put(WCW01923SFConst.ROW_COLOR_08, getRowStyle(j+1));
			
			// SYSID名称の取得
			sysid_info_send_sub.put(WCW01923SFConst.SYSID_NM_04, sysid_info.getDataBean(i).sendMessageString(WCW01921SFConst.SYSID_NM_01, X31CWebConst.DATABEAN_GET_VALUE));
			stb_info_send.add(j, stb_info_send_sub);
			sysid_info_send.add(j, sysid_info_send_sub);
			
			j++;
		}		
		dataMap.put(WCW01923SFConst.TN_ICRN_INFO, stb_info_send);
		dataMap.put(WCW01923SFConst.SYSID_INFO, sysid_info_send);
		
		//引継情報の設定
		JCCWebCommon.setScreenInfo(this, JWCScreenConst.SCREEN_ID_WC01923, dataMap);
		JCCWebCommon.setScreenId(this, JWCScreenConst.SCREEN_ID_WC01923, JWCScreenConst.SCREEN_ID_WC01921);
		JCCWebCommon.getScreenInfo(this);

		///// 共有フォームBean設定（遷移先画面） /////
		X31SDataBeanAccess commonBean = super.getCommonInfoBean();
		
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_ID_WC01923);
		commonBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JWCScreenConst.SCREEN_NAME_WC01923);
		
	}

	/**
	 * 検索ボタン押下時エラー処理
	 * @param  searchErrFlg  検索エラーフラグ
	 * @return 
	 * @throws Exception 
	 */
	private boolean Search_Error(String searchErrFlg) throws Exception
	{
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];
		
		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
		{
			// 検索結果が0件の場合、エラーメッセージを表示
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0330__I;
			stringArray = new String[1];
			stringArray[0] = "";
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
		{
			// 検索結果が最大検索件数を超える場合、エラーメッセージを表示 5件以上ありえない
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0340__I;
			stringArray = new String[1];
			stringArray[0] = "";
		}
		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
		{
			// 表示ページに該当するデータが存在しない場合、エラーメッセージを表示
			MESSAGE_ID = JPCOnlineMessageConstant.EKB0350__I;
			stringArray = new String[1];
			stringArray[0] = "";
		}
		else
		{
			return true;
		}

		// 共有フォーム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 false;
	}

	/**
	 * 行スタイル取得処理です。
	 * 指定した行番号の場合の、スタイルを取得します。
	 * @param RowNo 行番号
	 * @return 行スタイル
	 */
	private String getRowStyle(int RowNo)
	{
		if (RowNo % 2 == 0)
		{
			return JWCStrConst.ROW_STYLE_EVEN;
		}
		else
		{
			return JWCStrConst.ROW_STYLE_ODD;
		}
	}

	/**
	 * 初期表示検索エラー処理
	 * @param errMsg
	 */
	private void notFoundErrorInit(String searchErrFlg)
	{
		String MESSAGE_ID = "";
		String[] stringArray = new String[0];
		
		if(searchErrFlg.equals(Error_Mode_1))
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB9230_KW;
			stringArray = new String[1];
			stringArray[0] = "局";
		}
		else
		{
			MESSAGE_ID = JPCOnlineMessageConstant.EKB9230_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;
	}
	
	/**
	 * 戻るボタン完了処理
	 * @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;
	}
}