/*******************************************************************************
 *	 All Rights reserved,Copyright (c) K-Opticom 
 ********************************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：CNW00101SFLogic
 *	ソースファイル名：CNW00101SFLogic.java
 *	作成者			：EK908988
 *	日付			：2011年08月03日
 *＜機能概要＞
 *	コンテンツ契約一覧照会のViewロジックです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	ｖ1.00.00
 *  ｖ3.00.01	2012/09/05  FJ)味岡		【ST1-2012-0000514】コンテンツ全解約 公衆無線LAN契約CC判定修正対応
 *	ｖ4.00.00	2012/12/04	FJ)味岡		【ST1-2012-0001018】SYSDATE使用箇所を運用日付使用に置き換え
 *	ｖ4.00.01	2012/12/12  FJ)小林		【ST1-2012-0001033】契約中、強制解約予告済以外のコンテンツ解約は不可とするメッセージ出力を追加。
 *	ｖ5.00.00	2013/02/25  FJ)小林		【ANK-1419-00-00】050IP電話アプリ対応。
 *	ｖ5.00.01	2013/02/25  FJ)小林		【ANK-1419-00-00】ページング時のシステムエラー対応。
 *	ｖ8.00.00	2013/12/20	FJ)山口		【ANK-1585-00-00】050電話番号のデータ移送を追加
 *	ｖ10.00.00	2014/07/25	FJ)味岡		【ANK-2139-00-00】スマートリンク関連コンテンツ全解約ボタンの追加対応
 *	ｖ10.00.01	2014/08/20	FJ)味岡		【ANK-2139-01-00】スマートリンク関連コンテンツ全解約ボタンの横にメール送信有無チェックボックスの追加対応
 *	ｖ10.00.02	2014/09/11	FJ)味岡		【ANK-2139-02-00】スマートリンク関連コンテンツ全解約APIについて、コンテンツ解約APIを呼出する変更対応
 *	ｖ10.00.03	2014/09/20  FJ)味岡		【ANK-2139-02-00】エラーハンドリング修正を追加(9/19 UIレビュー実施時の指摘分の対応)
 *	ｖ13.00.00	2015/03/11  FJ)森脇		【ANK-2401-00-00】検索結果の最大表示件数見直し
 *	ｖ23.00.00	2016/04/28  FJ)鯵坂		【ANK-2395-00-00】対応履歴関連画面の各種仕様見直し
 *	ｖ25.00.00	2016/05/26  FJ)柳		【ANK-2754-00-00】お客様情報タブへのコンテンツ契約情報表示
 *	ｖ26.00.00	2016/07/11	FJ)笠川		【ANK-2687-00-00】プレミアムサポート施策
 *	v28.00.00	2016/08/23	FJ)西面		【ANK-2926-00-00】スマートリンクコンテンツのまとめ表示
 *	v28.01.00	2016/12/09	FJ)三原		【ANK-3034-00-00】【eoプレミアムクラブ】eo画面へのチケット残枚数追加表示
 *	v35.00.00	2017/12/26	FJ)麻生		【ANK-3346-01-00】【解約レター機能関連】改善要望　Ｓｔｅｐ１
 *	v37.00.00	2018/03/15	FJ)三原		【ANK-3366-00-00】eo光設備卸対応
 *	v48.00.00	2020/01/24  FJ)中野		【ANK-3796-00-00】テレビリースサービス導入対応
 *	v49.00.00	2020/06/11	FJ)荒木		【ANK-3840-00-00】テレビリースサービス新規申込対応
 *	v54.00.00	2021/07/13	FJ)上村		【ANK-4092-00-00】ANK-4092-00-00_CX戦略WG方針対応STEP2
 *	v57.00.00	2022/01/14	FJ)杉本		【ANK-4075-00-00】マンション卸回線(WI-FIスキーム)の不備対応
 *	v66.00.00   2023/03/09	 FJ)吉川	【ANK-4307-00-00】【eo定期】プレミアムクラブリニューアル対応
 *	v65.00.00	2023/07/12	FJ)中原		【ANK-4346-00-00】【eo定期】CCMG再構築対応
  *	v65.00.01	2024/01/15	FJ)張		【ANK-4346-00-00】【eo定期】CCMG再構築対応
  *ｖ65.00.02	2024/02/02	FJ)久山		【ANK-4346-00-01】【eo定期】CCMG再構築対応
  *ｖ65.00.03	2024/02/25	FJ)北村		【#84112】解約画面遷移時のチェックエラー対応
  *ｖ65.00.04	2024/03/05	FJ)中原		【#84214】日付チェック後の処理が継続処理を改善
 ********************************************************************************/

package eo.web.webview.CNW00101SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import static eo.web.webview.common.JKKKeiNewCmnLogicUtil.PROP_SIMS_MAP_SYS_ID;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.EventObject;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.common.JSYLogBase;
import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
import com.fujitsu.futurity.web.x31.X31CID;
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 com.fujitsu.futurity.web.x31.X31SRuntimeException;
import com.fujitsu.futurity.web.x33.X33SException;


import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CNW00501SF.CNW00501SFConst;
import eo.web.webview.CNW01101SF.CNW01101SFConst;
import eo.web.webview.CNW01601SF.CNW01601SFConst;
import eo.web.webview.CNW01901SF.CNW01901SFConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.KKW00128SF.KKW00128SFConst;
import eo.web.webview.KKW06101SF.KKW06101SFConst;
import eo.web.webview.KKW12504SF.KKW12504SFConst;
import eo.web.webview.KKW21811SF.KKW21811SFConst;
import eo.web.webview.common.JACScreenConst;
import eo.web.webview.common.JCCScreenConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JCHCommonConst;
import eo.web.webview.common.JCKScreenConst;
import eo.web.webview.common.JCNScreenConst;
import eo.web.webview.common.JCNWebCommon;
import eo.web.webview.common.JCNWebConst;
import eo.web.webview.common.JCRScreenConst;
import eo.web.webview.common.JCRWebCommon;
import eo.web.webview.common.JKKCommonConst;
import eo.web.webview.common.JKKScreenConst;
import eo.web.webview.common.JKKTabCommonLogic;
import eo.web.webview.common.JKKWebCommon;
import eo.web.webview.mapping.CCSV0006_CCSV0006OPDBMapper;
import eo.web.webview.mapping.CNSV0001_CNSV0001OPDBMapper;
import eo.web.webview.mapping.CNSV0002_CNSV0002OPDBMapper;
import eo.web.webview.mapping.CNSV0040_CNSV0040OPDBMapper;
import eo.web.webview.mapping.CNSV0041_CNSV0041OPDBMapper;
import eo.web.webview.mapping.CNSV0043_CNSV0043OPDBMapper;
import eo.web.webview.mapping.CNSV0049_CNSV0049OPDBMapper;
import eo.web.webview.mapping.CNSV0050_CNSV0050OPDBMapper;
import eo.web.webview.mapping.KKSV0793_KKSV0793OPDBMapper;
import eo.common.constant.JACStrConst;
import eo.common.constant.JCNStrConst;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCOnlineMessageConstant;
import eo.common.constant.JZM0171Constant;
import eo.common.util.JCNStringUtil;
import eo.common.util.JPCDateUtil;
import eo.common.util.JPCUtilCommon;

/**
 * コンテンツ契約一覧照会のViewロジック
 * <p>
 * <BR>
 * 
 * @author 富士通
 */
@SuppressWarnings("serial")
public class CNW00101SFLogic extends JCCWebBusinessLogic {

	private static final String BLANK_STRING = "";
	/** 会員種別コード：オープン会員 */
	private static final String MEMBER_SBT_CD_OPEN = "30";
	/** サービス契約ステータス：サービス提供中 */
	private static final String SVC_KEI_STS_PROV = "100";
	/** 料金グループコード：eoモバイル（Wi-Fi） */
	private static final String EO_MOBILE_WIFI = "07";
	/** 料金グループコード：eoモバイル（EM） */
	private static final String EO_MOBILE_EM = "08";
	/** 料金グループコード：eoモバイル（UQ-WiMax） */
	private static final String EO_MOBILE_WIMAX = "09";
	
	// ANK-2139-00-00 ADD START
	/** サービスID */
	private static final String USECASE_ID_CNSV0049 = "CNSV0049";
	private static final String USECASE_ID_CNSV0050 = "CNSV0050";
	/** オペレーションID */
	private static final String OPERATION_ID_CNSV0050 = "CNSV0050OP";
	/** サービスコンポーネント名 */
	private static final String CC_NAME = "CNSV004901CC";	
	/** スマートリンク関連コンテンツ契約全解約依頼(ECNA0120001) */
	private static final String SC_TITLE_CNSV005001 = "CNSV005001SC";
	/** CCMGのAPIの応答なしのステータス */
	private static final String STAT_NO_RESPONSE = "2";
	/** 正常終了 */
	private static final String API_OK = "00000";
	// ANK-2139-00-00 ADD END
	
	// ANK-2139-02-00 ADD START
	/** コンテンツ契約番号解約済みエラーコード */
	private static final String CONT_KEI_IS_CANCELED = "52002";
	// ANK-2139-02-00 ADD END

	// ANK-2401-00-00 ADD START
	/** 空文字 */
	private static final String EMPTY = "";
	/** 開始時分秒 */
	private static final String STAHMS = "000000";
	/** 終了時分秒 */
	private static final String ENDHMS = "235959";
	// ANK-2401-00-00 ADD END	
	// ANK-4346-00-00 ADD START
	/** コンテンツ契約状態区分 1:契約終了*/
	private static final String CD01821_END = "1";
	/** コンテンツ契約状態区分 5:解約済み*/
	private static final String CD01821_DSL = "5";
	// ANK-4346-00-00 ADD END
	
	// ANK-2754-00-00 2016/05/26 ADD START
	/** 顧客契約引継情報項目キー */
	private static final String[] CUST_KEI_HKTGI_KEYS =
	{
			JKKCommonConst.HKTGI_SYSID,
			JKKCommonConst.HKTGI_SVC_KEI_NO,
			JKKCommonConst.HKTGI_IDO_DIV,
			JKKCommonConst.HKTGI_IDO_RSN_CD,
			JKKCommonConst.HKTGI_POPUP_MODE,
			JKKCommonConst.HKTGI_IDO_DIV_SENI_PTN,
			JKKCommonConst.HKTGI_SYSCD
	};
	
	/** 顧客契約引継リスト 異動区分選択画面遷移パターン：親画面遷移パターン(一時的) */
	private static final String IDO_DIV_SENI_PTN_TMP_OYA_SENI = "99";
	// ANK-2754-00-00 2016/05/26 ADD END

	/**
	 * 親クラスX31BWebBusinessLogicのreceiveMessageWebを オーバーライドして自動生成されたメソッドです。
	 * 
	 * @param arg0
	 *            (I) イベント情報
	 * @param arg1
	 *            (I) WebFWでは使用しません
	 * @param arg2
	 *            (I) WebFWでは使用しません
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws X33SException
	 *             X33SException
	 */
	@Override
	protected boolean receiveMessageWeb(X31CID arg0, Object arg1,
			EventObject arg2) throws X33SException {

		return false;
	}

	/**
	 * コンテンツ契約一覧の初期表示を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean action_init() throws Exception {

		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		if ("".equals(commoninfoBean.sendMessageString(
				CommonInfoCFConst.USER_NM, X31CWebConst.DATABEAN_GET_VALUE))) {
			commoninfoBean.sendMessageString(CommonInfoCFConst.USER_NM,
					X31CWebConst.DATABEAN_SET_VALUE, "ＰＴテストユーザ");
			commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID,
					X31CWebConst.DATABEAN_SET_VALUE, "TESTUSER");
		}

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// パラメータ情報を取得する
		HashMap param = JCCWebCommon.getScreenInfo(this);
		if (param == null) {
			// TODO：TIまでプロパティよりSYSIDを取得する
			String sysid = JCCWebCommon.getApplicationConst("CN_DEBUG_SYSID");
			bean.sendMessageString(CNW00101SFConst.SYSID,
					X31CWebConst.DATABEAN_SET_VALUE, sysid);
		} else {
			bean.sendMessageString(CNW00101SFConst.SYSID,
					X31CWebConst.DATABEAN_SET_VALUE, (String) param
							.get(CNW00101SFConst.SYSID));
		}

		// 検索用コンテンツ契約ステータス（初期値は「契約中（強制解約予告含む）」）
		// ANK-4346-00-00 MOD START
		//bean.sendMessageString(CNW00101SFConst.CONT_KEI_ON_VALUE,
		//		X31CWebConst.DATABEAN_SET_VALUE, "1");
		//bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_VALUE,
		//		X31CWebConst.DATABEAN_SET_VALUE, "0");
		//bean.sendMessageString(CNW00101SFConst.CONT_KEI_OUT_VALUE,
		//		X31CWebConst.DATABEAN_SET_VALUE, "0");
		bean.sendMessageString(CNW00101SFConst.KEI_STATE_CD_VALUE,
				X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-4346-00-00 MOD END
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 遷移元画面ID取得
		String screenId = JCCWebCommon.getScreenId(this);

		// 照会モード
		String shokaiMode = "";
		
		// 元画面IDが空である場合
		if (bean.sendMessageString(CNW00101SFConst.BEFORE_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE) == null
					|| "".equals(bean.sendMessageString(CNW00101SFConst.BEFORE_SCREEN_ID, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 取得した画面IDが以下の場合、"1":更新モードを設定
			// ・CKW00101：お客様一覧照会
			// ・CNW00202：コンテンツサービス解約完了
			// ・CNW00201：コンテンツサービス解約依頼
			// ・CNW00301：コンテンツ料金調整登録
			// ・CNW00401：コンテンツ支払方法変更
			// ・CNW01101：コンテンツ請求
			// ・CNW01201：コンテンツ契約変更履歴
			// ・CRW02801：顧客コンテンツ契約詳細
			// ・CNW00101：コンテンツ契約一覧照会(自画面)
			// ・遷移元画面IDがnull(オーダリング連携リダイレクトを想定)
			if (JCKScreenConst.SCREEN_ID_CKW00101.equals(screenId) ||
				JCNScreenConst.SCREEN_ID_CNW00202.equals(screenId) ||
				JCNScreenConst.SCREEN_ID_CNW00201.equals(screenId) ||
				JCNScreenConst.SCREEN_ID_CNW00301.equals(screenId) ||
				JCNScreenConst.SCREEN_ID_CNW00401.equals(screenId) ||
				JCNScreenConst.SCREEN_ID_CNW01101.equals(screenId) ||
				JCNScreenConst.SCREEN_ID_CNW01201.equals(screenId) ||
				JCRScreenConst.SCREEN_ID_CRW02801.equals(screenId) ||
				JCNScreenConst.SCREEN_ID_CNW00101.equals(screenId) ||
				screenId == null)
			{
				bean.sendMessageString(CNW00101SFConst.BEFORE_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, "1");
				shokaiMode = "1";
			// そうでない場合、"0":照会モードを設定
			}
			else
			{
				bean.sendMessageString(CNW00101SFConst.BEFORE_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, "0");
				shokaiMode = "0";
				
				// 引継ぎ情報(サービス契約番号、SYSID)を移動
				X31SDataBeanAccessArray custKeiHktgList = bean.getDataBeanArray(CNW00101SFConst.CUST_KEI_HKTGI_LIST);
				String hktgSvcKeiNo = custKeiHktgList.getDataBean(0).sendMessageString(CNW00101SFConst.SVC_KEI_NO_05,
						X31CWebConst.DATABEAN_GET_VALUE);
				String hktgSysid = custKeiHktgList.getDataBean(0).sendMessageString(CNW00101SFConst.SYSID_05,
						X31CWebConst.DATABEAN_GET_VALUE);
				bean.sendMessageString(CNW00101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, hktgSvcKeiNo);
				bean.sendMessageString(CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_SET_VALUE, hktgSysid);
			}
		}
		// ANK-2754-00-00 2016/05/26 ADD END
		
		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = { bean };

		// ユースケースID格納用マップ生成
		HashMap paramMap = new HashMap();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0001");

		
		// ST1-2012-0001018 2012/12/04 n.ajioka START
		// 運用日付の取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		
		long lopeDatetime = Long.valueOf(JCCWebCommon.getOpeDateTime(this, null));

		// マッピングクラスのインスタンス作成
		CNSV0001_CNSV0001OPDBMapper mapper = new CNSV0001_CNSV0001OPDBMapper();
		HashMap dataMap = new HashMap();
		mapper.setCNSV000101SC(paramBean, dataMap, "2", opeDate);
		//v28.00.00 2016/08/23 Add Start
		// ANK-4346-00-00 MOD START
		//boolean eo_app_market_on = false;
		//eo_app_market_on = bean.sendMessageBoolean(CNW00101SFConst.EO_APP_MARKET_ON,
		//					X31CWebConst.DATABEAN_GET_VALUE);
		//
		//if(eo_app_market_on)
		//{
		//	mapper.setCNSV000102SC(paramBean, dataMap, "3");
		//}else{
		//	mapper.setCNSV000102SC(paramBean, dataMap, "1");
		//}
		mapper.setCNSV000113CC(paramBean, dataMap, "1");
		// ANK-4346-00-00 MOD END
		
		//v28.00.00 2016/08/23 Add End
		//v28.00.00 2016/08/23 Del Start
//		mapper.setCNSV000102SC(paramBean, dataMap, "1");
		//v28.00.00 2016/08/23 Del End
		// ANK-4346-00-00 DEL START
		//mapper.setCNSV000103SC(paramBean, dataMap, "1");
		// ANK-4346-00-00 DEL END
		// ANK-1419-00-00 サービスパラメータ作成(050IP電話アプリ専用)
		mapper.setCNSV000104SC(paramBean, dataMap, "2");
		// ST1-2012-0001018 2012/12/04 n.ajioka END
		// ▽▽ ANK-2395-00-00 ADD START ▽▽
		mapper.setCNSV000105SC(paramBean, dataMap, "2");
		// △△ ANK-2395-00-00  ADD  END △△
		// ANK-2754-00-00 2016/05/26 ADD START
		// 照会モードの場合、サービス契約共通情報の上りマッピング
		if ("0".equals(shokaiMode))
		{
			mapper.setCNSV000101CC(paramBean, dataMap, "1");
			// 2016/07/11 ANK-2687-00-00 ADD START
			mapper.setCNSV000111CC(paramBean, dataMap, "1");
			// 2016/07/11 ANK-2687-00-00 ADD END
		}
		// ANK-2754-00-00 2016/05/26 ADD END
// ANK-3840-00-00 ADD START
		mapper.setCNSV000112CC(paramBean, dataMap, "1");
// ANK-3840-00-00 ADD END
		// ANK-4346-00-00 ADD START
		mapper.setCNSV000106SC(paramBean, dataMap, "1", opeDate);
		// ANK-4346-00-00 ADD END

		// ページング用マップ取得
		// ANK-4346-00-00 MOD START
		//HashMap<String, Object> pagingMap = (HashMap) dataMap
		//		.get("CNSV000102SC");
		//// 検索処理パターン設定
		//pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE,
		//		JPCModelConstant.SAERCH_TYPE_BBN);
		HashMap<String, Object> pagingMap = (HashMap) dataMap
				.get("CNSV000113CC");
		// 検索処理パターン設定
		pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE,
				JPCModelConstant.SAERCH_TYPE_IKT);
		// ANK-4346-00-00 MOD END
		// 最大検索件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon
				.getSearchConst("CNW00101_MAX_SHOW_CNT"));
		// 表示件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_DISPLAY_NUM, JCCWebCommon
				.getSearchConst("CNW00101_ROW_PER_PAGE"));
		// ANK-4346-00-00 DEL START
		//// ページング初期設定
		//JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000102SC", dataMap);
		// ANK-4346-00-00 DEL END

		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		
		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap,
				outputMap);

		// エラー処理
		if (msgResult != null) {
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		// beanのクリア
		bean.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST).clearArray();
		
		// 権限
		boolean authFlg = JCNWebCommon.checkAuthority(this, this.getGamenId() + ";" + "CN_PAYWAY_INFO;1");
		
		// 検索結果の取り出し
		mapper.getCNSV000101SC(paramBean, outputMap);
		// ANK-4346-00-00 MOD START
		//mapper.getCNSV000102SC(paramBean, outputMap, authFlg, lopeDatetime);
		//mapper.getCNSV000103SC(paramBean, outputMap);
		mapper.getCNSV000113CC(paramBean, outputMap, authFlg, lopeDatetime);
		// ANK-4346-00-00 MOD END
		mapper.getCNSV000104SC(paramBean, outputMap, opeDate);
		// ▽▽ ANK-2395-00-00 ADD START ▽▽
		mapper.getCNSV000105SC(paramBean, outputMap);
		// △△ ANK-2395-00-00  ADD  END △△
		// ANK-4346-00-00 ADD START
		mapper.getCNSV000106SC(paramBean, outputMap);
		// ANK-4346-00-00 ADD END
		// ANK-2754-00-00 2016/05/26 ADD START
		// 照会モードの場合
		if ("0".equals(shokaiMode))
		{
			// 顧客契約共通ヘッダー部のデータを設定
			JKKWebCommon.setSvckeiInfo(this, getSvckeiCommonMap(outputMap));
			
			// 地図画面を開くための設定を行う
			setMapGmnData(bean);
			
			// 「地図」ボタン、「利用不可期間履歴」ボタンの表示設定
			setFooterBtnDispFlg(bean);
		}
		// ANK-2754-00-00 2016/05/26 ADD END

		// 検索エラーフラグの取得
		// ANK-4346-00-00 MOD START
		//String searchError = JCCWebCommon.getSearchErrFlg("CNSV000102SC",
		//		outputMap);
		//if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError)) {
		//	// 検索結果０件
		//	JCCWebCommon.setMessageInfo(this,
		//			JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
		//} else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError)) {
		//	// 検索最大件数オーバー
		//	JCCWebCommon.setMessageInfo(this,
		//			JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER,
		//			new String[] { JCCWebCommon
		//					.getSearchConst("CNW00101_MAX_SHOW_CNT") });
		//} else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchError)) {
		//	// 表示ページに該当するデータなし
		//	JCCWebCommon.setMessageInfo(this,
		//			JCNWebConst.SEARCH_ERR_MESSAGE_NODATA);
		//}
		HashMap templateMap = (HashMap)outputMap.get("CNSV000113CC");
		String returnCode = (String)templateMap.get("return_code");
		String searchError = (String)templateMap.get("search_err_flg");
		// ANK-4346-00-01 MOD START
//		if(!"00000".equals(returnCode))
//		{
//			// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//			JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//					new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError) )
//		{
//			// 検索結果０件
//			JCCWebCommon.setMessageInfo(this,
//					JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError) )
//		{
//			// 検索最大件数オーバー
//			JCCWebCommon.setMessageInfo(this,
//					JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER,
//					new String[] { JCCWebCommon
//							.getSearchConst("CNW00101_MAX_SHOW_CNT") });
//		}
		// ANK-4346-00-00 MOD END
		// ANK-4346-00-01 MOD END
		// ANK-4346-00-01 ADD START
		if(returnCode == null||"".equals(returnCode))
		{
			// CCMG連携に失敗した場合
			JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
					new String[] {"CCMG連携"});
			
			// 遷移先の画面IDを共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00101);
			
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00101);
			return true;
		}
		else
		{
			if(!"00000".equals(returnCode))
			{
				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
						new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
			}
			else if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError) )
			{
				// 検索結果０件
				JCCWebCommon.setMessageInfo(this,
						JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
			}
			else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError) )
			{
				// 検索最大件数オーバー
				JCCWebCommon.setMessageInfo(this,
						JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER,
						new String[] { JCCWebCommon
								.getSearchConst("CNW00101_MAX_SHOW_CNT") });
			}
		}
		// ANK-4346-00-01 ADD END
		// ANK-4346-00-00 DEL START
		//// ページング情報の設定
		//JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000102SC", outputMap);
		//// 検索のコマンドIDを設定する。
		//JCCWebCommon.setSearchCommand(this, "PAGING");
		// ANK-4346-00-00 DEL END

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW00101);
		
		JCRWebCommon.checkAuthority(this, this.getGamenId() + ";" + "CN_PAYWAY_INFO;1");
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 引継データセット
		HashMap<String, Object> bkHktgiDataMap = getHktgiDataMap(bean, CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);
		// 戻り時の情報を保持
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00101, bkHktgiDataMap);
		// ANK-2754-00-00 2016/05/26 ADD END

		return true;
	}

	/**
	 * コンテンツ契約一覧の検索ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_search() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END

		// ANK-4346-00-00 MOD START
//		// コンテンツサービスコードの選択値取得
//		X31SDataBeanAccessArray targetInfo = bean
//				.getDataBeanArray(CNW00101SFConst.CONT_SVC_NM_LIST);
//		X31SDataBeanAccess targetBean = targetInfo.getDataBean(0);
//		String selectValue = targetBean.sendMessageString(
//				CNW00101SFConst.SELECT_VALUE_01,
//				X31CWebConst.DATABEAN_GET_VALUE);
//		// 選択された値からコンテンツサービスコードを取得して、検索条件に追加
//		String selectCd = targetBean.sendMessageString(
//				CNW00101SFConst.CONT_SVC_CD_01,
//				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectValue));
//		bean.sendMessageString(CNW00101SFConst.SELECT_CONT_SVC_CD,
//				X31CWebConst.DATABEAN_SET_VALUE, selectCd);
//		// コンテンツ契約ステータスの取得
//		boolean select = false;
//		select = bean.sendMessageBoolean(CNW00101SFConst.CONT_KEI_ON,
//				X31CWebConst.DATABEAN_GET_VALUE);
//		if (select) {
//			bean.sendMessageString(CNW00101SFConst.CONT_KEI_ON_VALUE,
//					X31CWebConst.DATABEAN_SET_VALUE, "1");
//		} else {
//			bean.sendMessageString(CNW00101SFConst.CONT_KEI_ON_VALUE,
//					X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
//		select = bean.sendMessageBoolean(CNW00101SFConst.CONT_KEI_END,
//				X31CWebConst.DATABEAN_GET_VALUE);
//		if (select) {
//			bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_VALUE,
//					X31CWebConst.DATABEAN_SET_VALUE, "1");
//		} else {
//			bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_VALUE,
//					X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
//		select = bean.sendMessageBoolean(CNW00101SFConst.CONT_KEI_OUT,
//				X31CWebConst.DATABEAN_GET_VALUE);
//		if (select) {
//			bean.sendMessageString(CNW00101SFConst.CONT_KEI_OUT_VALUE,
//					X31CWebConst.DATABEAN_SET_VALUE, "1");
//		} else {
//			bean.sendMessageString(CNW00101SFConst.CONT_KEI_OUT_VALUE,
//					X31CWebConst.DATABEAN_SET_VALUE, "0");
//		}
		// 契約状態の選択値取得
		X31SDataBeanAccessArray targetInfo = bean
				.getDataBeanArray(CNW00101SFConst.KEI_STATE_LIST);
		X31SDataBeanAccess targetBean = targetInfo.getDataBean(0);
		String selectValue = targetBean.sendMessageString(
				CNW00101SFConst.SELECT_VAKUE_06,
				X31CWebConst.DATABEAN_GET_VALUE);
		// 選択された値から契約状態コードを取得して、検索条件に追加
		String selectCd = targetBean.sendMessageString(
				CNW00101SFConst.IDO_KBN_CD_06,
				X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectValue));
		bean.sendMessageString(CNW00101SFConst.KEI_STATE_CD_VALUE,
				X31CWebConst.DATABEAN_SET_VALUE, selectCd);
		// ANK-4346-00-00 MOD END

	// ANK-2401-00-00 ADD START
		String str = null;
		StringBuilder sb = null;
		// コンテンツ契約開始日（FROM）が入力されている場合
		if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
			// コンテンツ契約開始日（FROM）（年）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
			sb = new StringBuilder(str);
			// コンテンツ契約開始日（FROM）（月）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// コンテンツ契約開始日（FROM）（日）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// ANK-4346-00-00 DEL START
//			// コンテンツ契約開始日（FROM）（時分秒）
//			str = STAHMS;
//			sb.append(str);
			// ANK-4346-00-00 DEL END
			// コンテンツ契約開始年月日（FROM）
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
		} else {
			// 日付情報の初期化
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
		}
		// コンテンツ契約開始日（TO）が入力されている場合
		if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
			// コンテンツ契約開始日（TO）（年）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
			sb = new StringBuilder(str);
			// コンテンツ契約開始日（TO）（月）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// コンテンツ契約開始日（TO）（日）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// ANK-4346-00-00 DEL START
//			// コンテンツ契約開始日（TO）（時分秒）
//			str = ENDHMS;
//			sb.append(str);
			// ANK-4346-00-00 DEL END
			// コンテンツ契約開始年月日（TO）
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
		} else {
			// 日付情報の初期化
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
		}
		// コンテンツ契約終了日（FROM）が入力されている場合
		if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
			// コンテンツ契約終了日（FROM）（年）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
			sb = new StringBuilder(str);
			// コンテンツ契約終了日（FROM）（月）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// コンテンツ契約終了日（FROM）（日）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// ANK-4346-00-00 DEL START
//			// コンテンツ契約終了日（FROM）（時分秒）
//			str = STAHMS;
//			sb.append(str);
			// ANK-4346-00-00 DEL END
			// コンテンツ契約終了年月日（FROM）
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
		} else {
			// 日付情報の初期化
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
		}
		// コンテンツ契約終了日（TO）が入力されている場合
		if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE))
				&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
			// コンテンツ契約終了日（TO）（年）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
			sb = new StringBuilder(str);
			// コンテンツ契約終了日（TO）（月）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// コンテンツ契約終了日（TO）（日）
			str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			sb.append(str);
			// ANK-4346-00-00 DEL START
//			// コンテンツ契約終了日（TO）（時分秒）
//			str = ENDHMS;
//			sb.append(str);
			// ANK-4346-00-00 DEL END
			// コンテンツ契約終了年月日（TO）
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
		} else {
			// 日付情報の初期化
			bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
		}
	// ANK-2401-00-00 ADD END

		// ANK-4346-00-00 ADD START
		String keiStaYmd_from = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM, X31CWebConst.DATABEAN_GET_VALUE);
		String keiStaYmd_to   = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO  , X31CWebConst.DATABEAN_GET_VALUE);
		String keiEndYmd_from = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM, X31CWebConst.DATABEAN_GET_VALUE);
		String keiEndYmd_to   = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO  , X31CWebConst.DATABEAN_GET_VALUE);
		
		// 契約状態に応じて、From 〜 To　の範囲チェックを行う。
		if(!JCNStringUtil.isNullBlank(keiStaYmd_from) && !JCNStringUtil.isNullBlank(keiStaYmd_to))
		{
			// # 84214 MOD START
			//checkYmdFromToDiff(selectCd, keiStaYmd_from, keiStaYmd_to);
			if ( !checkYmdFromToDiff(selectCd, keiStaYmd_from, keiStaYmd_to) )
			{
				return true;
			}
			// # 84214 MOD END
		}
		if(!JCNStringUtil.isNullBlank(keiEndYmd_from) && !JCNStringUtil.isNullBlank(keiEndYmd_to))
		{
			// # 84214 MOD START
			//checkYmdFromToDiff(selectCd, keiEndYmd_from, keiEndYmd_to);
			if ( !checkYmdFromToDiff(selectCd, keiEndYmd_from, keiEndYmd_to) )
			{
				return true;
			}
			// # 84214 MOD END
		}
		
		// ANK-4346-00-00 ADD END
		
		// マッピングクラスに渡すため、配列に作り変える
		X31SDataBeanAccess[] paramBean = { bean };

		// ユースケースID格納用マップ生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0002");

		
		// ST1-2012-0001018 2012/12/04 n.ajioka START
		// 運用日付の取得
		String opeDate = JCCWebCommon.getOpeDate(this, null);
		
		long lopeDatetime = Long.valueOf(JCCWebCommon.getOpeDateTime(this, null));
		
		// マッピングクラスのインスタンス作成
		CNSV0002_CNSV0002OPDBMapper mapper = new CNSV0002_CNSV0002OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		//v28.00.00 2016/08/23 Add Start
		boolean eo_app_market_on = false;
		eo_app_market_on = bean.sendMessageBoolean(CNW00101SFConst.EO_APP_MARKET_ON,
							X31CWebConst.DATABEAN_GET_VALUE);
		
		// ANK-4346-00-00 MOD START
		//if(eo_app_market_on)
		//{
		//	mapper.setCNSV000201SC(paramBean, dataMap, "3");
		//}else{
		//	mapper.setCNSV000201SC(paramBean, dataMap, "1");
		//}
		mapper.setCNSV000201CC(paramBean, dataMap, "1");
		// ANK-4346-00-00 MOD END
		
		//v28.00.00 2016/08/23 Add End
		//v28.00.00 2016/08/23 Del Start
		//mapper.setCNSV000201SC(paramBean, dataMap, "1");
		//v28.00.00 2016/08/23 Del End
		// ANK-1419-00-00 サービスパラメータ作成(050IP電話アプリ専用)
		mapper.setCNSV000202SC(paramBean, dataMap, "2");

		// ページング情報の初期化
		JCCWebCommon.clearPageLinkInfo(this, this.getGamenId());
		// ページング用マップ取得
		// ANK-4346-00-00 MOD START
		//HashMap<String, Object> pagingMap = (HashMap) dataMap
		//		.get("CNSV000201SC");
		//// 検索処理パターン設定
		//pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE,
		//		JPCModelConstant.SAERCH_TYPE_BBN);
		HashMap<String, Object> pagingMap = (HashMap) dataMap
				.get("CNSV000201CC");
		// 検索処理パターン設定
		pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE,
				JPCModelConstant.SAERCH_TYPE_IKT);
		// ANK-4346-00-00 MOD END
		// 最大検索件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon
				.getSearchConst("CNW00101_MAX_SHOW_CNT"));
		// 表示件数設定
		pagingMap.put(JCNWebConst.PAGING_INFO_DISPLAY_NUM, JCCWebCommon
				.getSearchConst("CNW00101_ROW_PER_PAGE"));
		// ANK-4346-00-00 DEL START
		//// ページング初期設定
		//JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000201SC", dataMap);
		// ANK-4346-00-00 DEL END

		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		// SQL呼出し
		X31CMessageResult msgResult = invokeService(paramMap, dataMap,
				outputMap);

		// エラー処理
		if (msgResult != null) {
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}

		// beanのクリア
		bean.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST).clearArray();

		// 権限
		boolean authFlg = JCNWebCommon.checkAuthority(this, this.getGamenId() + ";" + "CN_PAYWAY_INFO;1");
		// 検索結果の取り出し
		// ANK-4346-00-00 MOD START
		//mapper.getCNSV000201SC(paramBean, outputMap ,authFlg, lopeDatetime);
		mapper.getCNSV000201CC(paramBean, outputMap ,authFlg, lopeDatetime);
		// ANK-4346-00-00 MOD END
		mapper.getCNSV000202SC(paramBean, outputMap, opeDate);
		
		
		// 検索エラーフラグの取得
		// ANK-4346-00-00 MOD START
		//String searchError = JCCWebCommon.getSearchErrFlg("CNSV000201SC",
		//		outputMap);
		//if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError)) {
		//	// 検索結果０件
		//	JCCWebCommon.setMessageInfo(this,
		//			JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
		//} else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError)) {
		//	// 検索最大件数オーバー
		//	JCCWebCommon.setMessageInfo(this,
		//			JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER,
		//			new String[] { JCCWebCommon
		//					.getSearchConst("CNW00101_MAX_SHOW_CNT") });
		//} else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchError)) {
		//	// 表示ページに該当するデータなし
		//	JCCWebCommon.setMessageInfo(this,
		//			JCNWebConst.SEARCH_ERR_MESSAGE_NODATA);
		//}
		HashMap templateMap = (HashMap)outputMap.get("CNSV000201CC");
		String returnCode = (String)templateMap.get("return_code");
		String searchError = (String)templateMap.get("search_err_flg");
		// ANK-4346-00-01 MOD START
//		if(!"00000".equals(returnCode))
//		{
//			// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
//			JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
//					new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
//		{
//			// 検索結果０件
//			JCCWebCommon.setMessageInfo(this,
//					JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
//		}
//		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
//		{
//			// 検索最大件数オーバー
//			JCCWebCommon.setMessageInfo(this,
//					JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER,
//					new String[] { JCCWebCommon
//							.getSearchConst("CNW00101_MAX_SHOW_CNT") });
//		}
		// ANK-4346-00-00 MOD END
		// ANK-4346-00-01 MOD END
		// ANK-4346-00-01 ADD START
		if(returnCode == null||"".equals(returnCode))
		{
			// CCMG連携に失敗した場合
			JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
					new String[] {"CCMG連携"});
			
			// 遷移先の画面IDを共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_ID_CNW00101);
			
			// 遷移先の画面名を共有フォームBeanの項目に設定する。
			commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
					X31CWebConst.DATABEAN_SET_VALUE, JCNScreenConst.SCREEN_NAME_CNW00101);
			return true;
		}
		else
		{
			if(!"00000".equals(returnCode))
			{
				// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
				JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
						new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
			}
			else if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
			{
				// 検索結果０件
				JCCWebCommon.setMessageInfo(this,
						JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
			}
			else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError))
			{
				// 検索最大件数オーバー
				JCCWebCommon.setMessageInfo(this,
						JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER,
						new String[] { JCCWebCommon
								.getSearchConst("CNW00101_MAX_SHOW_CNT") });
			}
		}
		// ANK-4346-00-01 ADD END
		// ANK-4346-00-00 DEL START
		//// ページング情報の設定
		//JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000201SC", outputMap);
		//// 検索のコマンドIDを設定する。
		//JCCWebCommon.setSearchCommand(this, "PAGING");
		// ANK-4346-00-00 DEL END

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW00101);

		return true;
	}

	// ANK-4346-00-00 DEL START
	///**
	// * ページングリンク押下時の処理を行います。<br>
	// * 
	// * @return 処理結果（true:正常終了、false:エラー）
	// * @throws Exception
	// */
	//@SuppressWarnings("unchecked")
	//public boolean action_paging() throws Exception {
	//	// 共通Bean取得
	//	X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
    //
	//	// 親画面のBean取得
	//	X31SDataBeanAccess bean = super.getServiceFormBean();
    //
	//	// ANK-2754-00-00 2016/05/26 ADD START
	//	// 地図を開くフラグのクリア
	//	bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
	//	// ANK-2754-00-00 2016/05/26 ADD END
	//	
	//	// コンテンツサービスコードの選択値取得
	//	X31SDataBeanAccessArray targetInfo = bean
	//			.getDataBeanArray(CNW00101SFConst.CONT_SVC_NM_LIST);
	//	X31SDataBeanAccess targetBean = targetInfo.getDataBean(0);
	//	String selectValue = targetBean.sendMessageString(
	//			CNW00101SFConst.SELECT_VALUE_01,
	//			X31CWebConst.DATABEAN_GET_VALUE);
	//	// 選択された値からコンテンツサービスコードを取得して、検索条件に追加
	//	String selectCd = targetBean.sendMessageString(
	//			CNW00101SFConst.CONT_SVC_CD_01,
	//			X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(selectValue));
	//	bean.sendMessageString(CNW00101SFConst.SELECT_CONT_SVC_CD,
	//			X31CWebConst.DATABEAN_SET_VALUE, selectCd);
	//	// コンテンツ契約ステータスの取得
	//	boolean select = false;
	//	select = bean.sendMessageBoolean(CNW00101SFConst.CONT_KEI_ON,
	//			X31CWebConst.DATABEAN_GET_VALUE);
	//	if (select) {
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_ON_VALUE,
	//				X31CWebConst.DATABEAN_SET_VALUE, "1");
	//	} else {
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_ON_VALUE,
	//				X31CWebConst.DATABEAN_SET_VALUE, "0");
	//	}
	//	select = bean.sendMessageBoolean(CNW00101SFConst.CONT_KEI_END,
	//			X31CWebConst.DATABEAN_GET_VALUE);
	//	if (select) {
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_VALUE,
	//				X31CWebConst.DATABEAN_SET_VALUE, "1");
	//	} else {
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_VALUE,
	//				X31CWebConst.DATABEAN_SET_VALUE, "0");
	//	}
	//	select = bean.sendMessageBoolean(CNW00101SFConst.CONT_KEI_OUT,
	//			X31CWebConst.DATABEAN_GET_VALUE);
	//	if (select) {
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_OUT_VALUE,
	//				X31CWebConst.DATABEAN_SET_VALUE, "1");
	//	} else {
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_OUT_VALUE,
	//				X31CWebConst.DATABEAN_SET_VALUE, "0");
	//	}
    //
	//// ANK-2401-00-00 ADD START
	//	String str = null;
	//	StringBuilder sb = null;
	//	// コンテンツ契約開始日（FROM）が入力されている場合
	//	if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
	//		// コンテンツ契約開始日（FROM）（年）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb = new StringBuilder(str);
	//		// コンテンツ契約開始日（FROM）（月）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約開始日（FROM）（日）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約開始日（FROM）（時分秒）
	//		str = STAHMS;
	//		sb.append(str);
	//		// コンテンツ契約開始年月日（FROM）
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
	//	} else {
	//		// 日付情報の初期化
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
	//	}
	//	// コンテンツ契約開始日（TO）が入力されている場合
	//	if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
	//		// コンテンツ契約開始日（TO）（年）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb = new StringBuilder(str);
	//		// コンテンツ契約開始日（TO）（月）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約開始日（TO）（日）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約開始日（TO）（時分秒）
	//		str = ENDHMS;
	//		sb.append(str);
	//		// コンテンツ契約開始年月日（TO）
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
	//	} else {
	//		// 日付情報の初期化
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
	//	}
	//	// コンテンツ契約終了日（FROM）が入力されている場合
	//	if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
	//		// コンテンツ契約終了日（FROM）（年）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb = new StringBuilder(str);
	//		// コンテンツ契約終了日（FROM）（月）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_MON, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約終了日（FROM）（日）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM_DAY, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約終了日（FROM）（時分秒）
	//		str = STAHMS;
	//		sb.append(str);
	//		// コンテンツ契約終了年月日（FROM）
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
	//	} else {
	//		// 日付情報の初期化
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_FROM, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
	//	}
	//	// コンテンツ契約終了日（TO）が入力されている場合
	//	if(!EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE))
	//			&& !EMPTY.equals(bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE))) {
	//		// コンテンツ契約終了日（TO）（年）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb = new StringBuilder(str);
	//		// コンテンツ契約終了日（TO）（月）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_MON, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約終了日（TO）（日）
	//		str = bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO_DAY, X31CWebConst.DATABEAN_GET_VALUE);
	//		sb.append(str);
	//		// コンテンツ契約終了日（TO）（時分秒）
	//		str = ENDHMS;
	//		sb.append(str);
	//		// コンテンツ契約終了年月日（TO）
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
	//	} else {
	//		// 日付情報の初期化
	//		bean.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_TO, X31CWebConst.DATABEAN_SET_VALUE, EMPTY);
	//	}
	//// ANK-2401-00-00 ADD END
    //
	//	// マッピングクラスに渡すため、配列に作り変える
	//	X31SDataBeanAccess[] paramBean = { bean };
    //
	//	// ユースケースID格納用マップ生成
	//	HashMap<String, String> paramMap = new HashMap<String, String>();
	//	// ユースケースID設定
	//	paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0002");
    //
	//	// 運用日付の取得
	//	String opeDate = JCCWebCommon.getOpeDate(this, null);
	//	
	//	long lopeDatetime = Long.valueOf(JCCWebCommon.getOpeDateTime(this, null));
	//	
	//	// マッピングクラスのインスタンス作成
	//	CNSV0002_CNSV0002OPDBMapper mapper = new CNSV0002_CNSV0002OPDBMapper();
	//	HashMap<String, Object> dataMap = new HashMap<String, Object>();
	//	mapper.setCNSV000201SC(paramBean, dataMap, "1");
	//	
	//	// ANK-1419-00-00 サービスパラメータ作成(050IP電話アプリ専用)
	//	mapper.setCNSV000202SC(paramBean, dataMap, "2");
    //
	//	// ページング用マップ取得
	//	HashMap<String, Object> pagingMap = (HashMap) dataMap
	//			.get("CNSV000201SC");
	//	// 検索処理パターン設定
	//	pagingMap.put(JCNWebConst.PAGING_INFO_SEARCH_TYPE,
	//			JPCModelConstant.SAERCH_TYPE_BBN);
	//	// 最大検索件数設定
	//	pagingMap.put(JCNWebConst.PAGING_INFO_MAX_SEARCH_NUM, JCCWebCommon
	//			.getSearchConst("CNW00101_MAX_SHOW_CNT"));
	//	// 表示件数設定
	//	pagingMap.put(JCNWebConst.PAGING_INFO_DISPLAY_NUM, JCCWebCommon
	//			.getSearchConst("CNW00101_ROW_PER_PAGE"));
	//	// ページング初期設定
	//	JCCWebCommon.upmapperPageLinkInfo(this, "CNSV000201SC", dataMap);
    //
	//	// 検索結果格納用マップ生成
	//	HashMap outputMap = new HashMap();
    //
	//	// SQL呼出し
	//	X31CMessageResult msgResult = invokeService(paramMap, dataMap,
	//			outputMap);
    //
	//	// エラー処理
	//	if (msgResult != null) {
	//		JCCWebCommon.setMessageInfo(this, msgResult);
	//		return true;
	//	}
    //
	//	// beanのクリア
	//	bean.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST).clearArray();
    //
	//	// 権限
	//	boolean authFlg = JCNWebCommon.checkAuthority(this, this.getGamenId() + ";" + "CN_PAYWAY_INFO;1");
	//	
	//	// 検索結果の取り出し
	//	mapper.getCNSV000201SC(paramBean, outputMap, authFlg, lopeDatetime);
	//	mapper.getCNSV000202SC(paramBean, outputMap, opeDate);
    //
	//	// 検索エラーフラグの取得
	//	String searchError = JCCWebCommon.getSearchErrFlg("CNSV000201SC",
	//			outputMap);
	//	if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError)) {
	//		// 検索結果０件
	//		JCCWebCommon.setMessageInfo(this,
	//				JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
	//	} else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchError)) {
	//		// 検索最大件数オーバー
	//		JCCWebCommon.setMessageInfo(this,
	//				JCNWebConst.SEARCH_ERR_MESSAGE_MAXOVER,
	//				new String[] { JCCWebCommon
	//						.getSearchConst("CNW00101_MAX_SHOW_CNT") });
	//	} else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchError)) {
	//		// 表示ページに該当するデータなし
	//		JCCWebCommon.setMessageInfo(this,
	//				JCNWebConst.SEARCH_ERR_MESSAGE_NODATA);
	//	}
    //
	//	// ページング情報の設定
	//	JCCWebCommon.downmapperPageLinkInfo(this, "CNSV000201SC", outputMap);
	//	// 検索のコマンドIDを設定する。
	//	JCCWebCommon.setSearchCommand(this, "PAGING");
    //
	//	// 遷移先の画面IDを共有フォームBeanの項目に設定する。
	//	commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
	//			X31CWebConst.DATABEAN_SET_VALUE,
	//			JCNScreenConst.SCREEN_ID_CNW00101);
    //
	//	// 遷移先の画面名を共有フォームBeanの項目に設定する。
	//	commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
	//			X31CWebConst.DATABEAN_SET_VALUE,
	//			JCNScreenConst.SCREEN_NAME_CNW00101);
    //
	//	return true;
	//}
	// ANK-4346-00-00 DEL END

	// ANK-4346-00-00 ADD START
	/**
	 * コンテンツ契約コードに応じて、From〜Toの月数差分のチェックを行います。
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	private boolean checkYmdFromToDiff(String selectCd, String fromYmd, String toYmd) throws ParseException {
		
		int diffMonth = 0; 
		
		// 
		if(CD01821_END.equals(selectCd) || CD01821_DSL.equals(selectCd))
		{
			diffMonth = 1;
		}
		else
		{
			diffMonth = 2;
		}
		
		// 判定基準日
		String judgeYmd = JCNStrConst.S_BLANK;
		
		// From の年月を取得
		String fromYm = fromYmd.substring(0, 6);
		// From の月末日を取得
		String fromLastYmd = fromYm + JPCDateUtil.getEndOfMonth(fromYm);
		
		
		// Fromが月末の場合は、toも月末までを許容する。
		if(fromYmd.equals(fromLastYmd))
		{
			String tmpYmd = JPCDateUtil.addMonth(fromYmd, diffMonth);
			String tmpYm = tmpYmd.substring(0, 6);
			
			judgeYmd = tmpYm + JPCDateUtil.getEndOfMonth(tmpYm);
		}
		// Fromが月末以外の場合は、Toから指定月数未来のFromと同日まで許容する
		else
		{
			judgeYmd = JPCDateUtil.addMonth(fromYmd, diffMonth);
		}
		
		if(JPCUtilCommon.isFutureDate(toYmd, judgeYmd, "0"))
		{
			JCCWebCommon.setMessageInfo(this, "EKB6520-NW", new String[] { Integer.toString(diffMonth)+"ヵ月" });
			return false;
		}
		
		return true;
	}
	// ANK-4346-00-00 ADD END

	/**
	 * コンテンツ契約一覧タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_keiList() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00101SFConst.SYSID, bean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00101,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00101,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW00101);

		return true;
	}

	/**
	 * コンテンツ料金調整タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_prcAdj() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00101SFConst.SYSID, bean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00301,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00301,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW00301);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW00301);

		return true;
	}

	/**
	 * コンテンツ支払方法変更タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_payChg() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00101SFConst.SYSID, bean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00401,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00401,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW00401);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW00401);

		return true;
	}

	/**
	 * コンテンツ請求照会タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_seiky() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00101SFConst.SYSID, bean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW01101,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW01101,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW01101);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW01101);

		return true;
	}

	/**
	 * コンテンツ契約変更履歴タブ押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_keiHist() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW00101SFConst.SYSID, bean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW01201,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW01201,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW01201);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW01201);

		return true;
	}

	/**
	 * 詳細ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_detail() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END

		// 選択されたラジオボタンの値を取得
		String chkValue = bean.sendMessageString(CNW00101SFConst.SELECT_NO,
				X31CWebConst.DATABEAN_GET_VALUE);
		if (BLANK_STRING.equals(chkValue)) {
			// 「料金調整」する明細が選択されていません
			JCCWebCommon.setMessageInfo(this, "EKB0800-NW",
					new String[] { "詳細表示" });
			return true;
		}
		// 選択された列のDataBeanを取り出す
		X31SDataBeanAccess targetBean = null;
		X31SDataBeanAccessArray targetInfo = bean
				.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST);
		int targetCnt = Integer.parseInt(chkValue);
		int row_cnt = 0;
		for (int i = 0; i < targetInfo.getCount(); i++) {
			// 契約のBean取得
			X31SDataBeanAccess subBean = targetInfo.getDataBean(i);
			X31SDataBeanAccessArray subArray = subBean
					.getDataBeanArray(CNW00101SFConst.CONT_KEI_KOBET_LIST);
			if (targetCnt < subArray.getCount()) {
				targetBean = subArray.getDataBean(targetCnt);
				row_cnt = row_cnt + targetCnt;
				break;
			} else {
				targetCnt = targetCnt - subArray.getCount();
				row_cnt = row_cnt + subArray.getCount();
			}
		}

		// 選択されたコンテンツ契約番号を取得する
		String contKeiNo = targetBean
				.sendMessageString(CNW00101SFConst.CONT_KEI_NO_03,
						X31CWebConst.DATABEAN_GET_VALUE);
		// お客様情報よりeoIDを取得
		X31SDataBeanAccessArray custInfo = bean
				.getDataBeanArray(CNW00101SFConst.CUST_KOBET);
		X31SDataBeanAccess custBean = custInfo.getDataBean(0);
		String eoId = custBean.sendMessageString(CNW00101SFConst.EOID_04,
				X31CWebConst.DATABEAN_GET_VALUE);

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// パラメータを設定
		dataMap.put(CNW00501SFConst.CONT_KEI_NO, contKeiNo);
		dataMap.put(CNW00501SFConst.EOID, eoId);
		dataMap.put(CNW00501SFConst.CUST_KANA_NM, custBean.sendMessageString(
				CNW00101SFConst.CUST_KANA_NM_04,
				X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00501,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00501,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW00501);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW00501);

		return true;
	}

	/**
	 * 解約ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean action_dsl_check() throws Exception {

		// 解約確認画面のメッセージエリアの背景色を黄色で設定
		JCNWebCommon.setMessageAreaBackColor(this, "1");
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END

		// 選択されたラジオボタンの値を取得
		String chkValue = bean.sendMessageString(CNW00101SFConst.SELECT_NO,
				X31CWebConst.DATABEAN_GET_VALUE);

		if (BLANK_STRING.equals(chkValue)) {
			// 「解約」する明細が選択されていません
			JCCWebCommon.setMessageInfo(this, "EKB0800-NW",
					new String[] { "解約" });
			return true;
		}
		// 選択された列のDataBeanを取り出す
		X31SDataBeanAccess targetBean = null;
		X31SDataBeanAccessArray targetInfo = bean
				.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST);
		int targetCnt = Integer.parseInt(chkValue);
		int row_cnt = 0;
		for (int i = 0; i < targetInfo.getCount(); i++) {
			// 契約のBean取得
			X31SDataBeanAccess subBean = targetInfo.getDataBean(i);
			X31SDataBeanAccessArray subArray = subBean
					.getDataBeanArray(CNW00101SFConst.CONT_KEI_KOBET_LIST);
			if (targetCnt < subArray.getCount()) {
				targetBean = subArray.getDataBean(targetCnt);
				row_cnt = row_cnt + targetCnt;
				break;
			} else {
				targetCnt = targetCnt - subArray.getCount();
				row_cnt = row_cnt + subArray.getCount();
			}
		}

		// コンテンツ解約のチェック
		// 選択列のコンテンツ契約番号取得
		String contKeiNo = targetBean
				.sendMessageString(CNW00101SFConst.CONT_KEI_NO_03,
						X31CWebConst.DATABEAN_GET_VALUE);

		// コンテンツ契約番号選択値が無い場合
		if ("".equals(contKeiNo) || null == contKeiNo) {
			
			/** 
			 * コンテンツ解約チェック
			 * 契約終了日が運用日以下の場合は、契約終了とみなし解約不可とする。
			 */
			
			String contKeiEndDtm =  targetBean
			.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_03,
					X31CWebConst.DATABEAN_GET_VALUE);
			
			if("".equals(contKeiEndDtm)
					|| null == contKeiEndDtm)
			{
				contKeiEndDtm = "20991231";
			}
			
			String opeDate = JCCWebCommon.getOpeDate(this, null);
			
			// 契約終了または解約済、強制解約済の場合は解約不可のメッセージを表示
			if(Integer.parseInt(opeDate) > Integer.parseInt(contKeiEndDtm))
			{
				JCCWebCommon.setMessageInfo(this, "EKBC880-KW",
						new String[] { "契約終了" });
	
				return true;
			}

			X31SDataBeanAccess custKobetBean = bean.getDataBeanArray(
					CNW00101SFConst.CUST_KOBET).getDataBean(0);
			// 会員種別を取得
			String memberSbtCd = custKobetBean.sendMessageString(
					CNW00101SFConst.MBTYPE_CD_04,
					X31CWebConst.DATABEAN_GET_VALUE);

			// 会員種別がファミリー会員(個人)または、ファミリー会員(法人)の場合
			if ("11".equals(memberSbtCd) || "21".equals(memberSbtCd)) {

				// 判定サービス呼ぶ
				// マッピングクラスに渡すため、配列に作り変える
				X31SDataBeanAccess[] paramBean = { bean };

				// ユースケースID格納用マップ生成
				HashMap paramMap = new HashMap();
				// ユースケースID設定
				paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0040");

				HashMap dataMap = new HashMap();

				// マッピングクラスのインスタンス作成
				CNSV0040_CNSV0040OPDBMapper mapper = new CNSV0040_CNSV0040OPDBMapper();
				mapper.setCNSV004001SC(paramBean, dataMap, "1");

				// 検索結果格納用マップ生成
				HashMap outputMap = new HashMap();

				X31CMessageResult msgResult = null;
				try {

					// サービス呼出し
					msgResult = invokeService(paramMap, dataMap, outputMap);

				} catch (Exception e) {
					throw e;
				}

				// エラー処理
				if (msgResult != null) {
					JCCWebCommon.setMessageInfo(this, msgResult);
					return true;
				}

				// サービス結果を取得
				HashMap scMap = (HashMap) outputMap.get("CNSV004001SC");
				ArrayList msgList = (ArrayList) scMap
						.get("EKK0201B001CBSMsg1List");

				// 検索結果が0件でない場合
				if (msgList.size() > 0) {

					// 確認フラグをtrueにして自画面遷移
					getServiceFormBean().sendMessageBoolean(
							CNW00101SFConst.DSL_CONFIRM_FLG,
							X31CWebConst.DATABEAN_SET_VALUE, true);

					return true;
				}
			}

			// 会員種別がオープン会員の場合
			else if ("30".equals(memberSbtCd)) {

				// 判定ＣＣを呼ぶ
				// ユースケースID格納用マップ生成
				HashMap paramMap = new HashMap();
				// ユースケースID設定
				paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0041");

				HashMap dataMap = new HashMap();

				// マッピングクラスのインスタンス作成
				CNSV0041_CNSV0041OPDBMapper mapper = new CNSV0041_CNSV0041OPDBMapper();

				mapper.setCNSV004101CC(bean, dataMap);
				
				// 検索結果格納用マップ生成
				HashMap outputMap = new HashMap();

				X31CMessageResult msgResult = null;
				try {

					// サービス呼出し
					msgResult = invokeService(paramMap, dataMap, outputMap);

				} catch (Exception e) {
					throw e;
				}

				// エラー処理
				if (msgResult != null) {
					JCCWebCommon.setMessageInfo(this, msgResult);
					return true;
				}
				
//				HashMap ccMap = (HashMap) outputMap.get("KKSV034201CC");
				HashMap ccMap = (HashMap) outputMap.get("CNSV004101CC");
				
				ArrayList resultList = (ArrayList) ccMap.get("JKKKsmslKysSvkeiInfoCCList");
				
				if (resultList.size() > 0) {
					JCCWebCommon.setMessageInfo(this, "EKB8630-KW",
							new String[] { "" });

					return true;
				}
			}
		}
		else
		{
			
			
			
			/** 
			 * コンテンツ解約チェック
			 * 契約中、強制解約予告の場合は
			 * 入会コンテンツであるかをチェックし、入会コンテンツの場合
			 * 解約不可とする。
			 */
			// ユースケースID格納用マップ生成
			HashMap paramMap = new HashMap();
			// ユースケースID設定
			paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CNSV0043");

			HashMap dataMap = new HashMap();

			// マッピングクラスのインスタンス作成
			CNSV0043_CNSV0043OPDBMapper mapper = new CNSV0043_CNSV0043OPDBMapper();
			// ANK-4346-00-00 MOD START
			//mapper.setCNSV004301SC(targetBean, dataMap, "1");
			// #84112 MOD START
			//mapper.setCNSV004303CC(targetBean, dataMap, "1");
			mapper.setCNSV004303CC(targetBean, dataMap, "5");
			// #84112 MOD END
			// ANK-4346-00-00 MOD END
			// ANK-4346-00-00 DEL START
//			mapper.setCNSV004302SC(targetBean, dataMap, "1");
			// ANK-4346-00-00 DEL END

			// 検索結果格納用マップ生成
			HashMap outputMap = new HashMap();

			X31CMessageResult msgResult = null;
			try {

				// サービス呼出し
				msgResult = invokeService(paramMap, dataMap, outputMap);

			} catch (Exception e) {
				throw e;
			}

			// エラー処理
			if (msgResult != null) {
				JCCWebCommon.setMessageInfo(this, msgResult);
				return true;
			}
			
			// コンテンツ契約ステータス
			String contKeiSts = "";
			
			// コンテンツ契約終了年月日
			String contKeiEndDtm = "";
			
			// コンテンツ契約取得項目取得
			String cont_sbt_cd = "";
			// ANK-4346-00-00 ADD START
			// コンテンツサービス.コンテンツサービス種別コード取得
			String cont_svc_sbt_cd = "";
			// ANK-4346-00-00 ADD END
			// ANK-4346-00-00 MOD START
			//HashMap scMap01 = (HashMap) outputMap.get("CNSV004301SC");
			//ArrayList resultList01 = (ArrayList) scMap01.get("ECN0021A001CBSMsgList");
			HashMap scMap01 = (HashMap) outputMap.get("CNSV004303CC");
// #84112 ADD START
			// 共有Beanアクセスクラスの取得
			X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

			String returnCode = (String)scMap01.get("return_code");
			String searchError = (String)scMap01.get("search_err_flg");
			if(returnCode == null||"".equals(returnCode))
			{
				// CCMG連携に失敗した場合
				JCCWebCommon.setMessageInfo(this, "EKBF970-KW",
						new String[] {"CCMG連携"});
				return true;
			}
			else
			{
				if(!"00000".equals(returnCode))
				{
					// コンテンツ契約照会一覧情報取得（CCMG）に失敗した場合
					JCCWebCommon.setMessageInfo(this, "EKB8230-KW",
							new String[] { "CCMG連携（契約一覧情報取得）", "CCMGエラーコード:" + returnCode });
					return true;
				}
				else if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError) )
				{
					// 検索結果０件
					JCCWebCommon.setMessageInfo(this,
							JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
					return true;
				}
			}
// #84112 ADD END

			ArrayList resultList01 = (ArrayList) scMap01.get("cont_kei_list");
			// ANK-4346-00-00 MOD END
			if(resultList01.size() > 0)
			{
				HashMap resultList01Map = (HashMap)resultList01.get(0);
				cont_sbt_cd = (String) resultList01Map.get("cont_sbt_cd");
				contKeiSts = (String) resultList01Map.get("cont_kei_stat_cd");
				contKeiEndDtm = (String) resultList01Map.get("cont_kei_end_dtm");
				// ANK-4346-00-00 ADD START
				// コンテンツサービス.コンテンツサービス種別コードが固定値：2（個別コンテンツサービス）
				cont_svc_sbt_cd ="2";
				// ANK-4346-00-00 ADD END
			}
			
			// ANK-4346-00-00 DEL START
			// コンテンツサービス.コンテンツサービス種別コード取得
//			String cont_svc_sbt_cd = "";
//			HashMap scMap02 = (HashMap) outputMap.get("CNSV004302SC");
//			ArrayList resultList02 = (ArrayList) scMap02.get("ECN0041A001CBSMsgList");
//			if(resultList02.size() > 0)
//			{
//				HashMap resultList02Map = (HashMap)resultList02.get(0);
//				cont_svc_sbt_cd = (String) resultList02Map.get("cont_svc_sbt_cd");
//			}
			// ANK-4346-00-00 DEL END
			
			/** 
			 * コンテンツ解約チェック
			 * 契約中、強制解約予告以外の場合は解約不可とする。
			 */
			if("".equals(contKeiEndDtm)
					|| null == contKeiEndDtm)
			{
				contKeiEndDtm = "20991231";
			}
			else
			{
				contKeiEndDtm = contKeiEndDtm.substring(0, 8);
			}
			
			String opeDate = JCCWebCommon.getOpeDate(this, null);
			
			// 契約終了または解約済、強制解約済の場合は解約不可のメッセージを表示
// #84112 MOD START
//			if("0".equals(contKeiSts))
//				
//			{
//				if(Integer.parseInt(opeDate) > Integer.parseInt(contKeiEndDtm))
//				{
//					JCCWebCommon.setMessageInfo(this, "EKBC880-KW",
//							new String[] { "契約終了" });
//	
//					return true;
//				}
//			}
			if(JCNStrConst.CD01822_END.equals(contKeiSts))
			{
				JCCWebCommon.setMessageInfo(this, "EKBC880-KW",
						new String[] { "契約終了" });

				return true;
			}
// #84112 MOD END
			
// #84112 MOD START
			//if("1".equals(contKeiSts))
			if(JCNStrConst.CD01822_DSL.equals(contKeiSts))
// #84112 MOD END
			{
				JCCWebCommon.setMessageInfo(this, "EKBC880-KW",
						new String[] { "解約済" });

				return true;
			}
// #84112 MOD START
			//if("2".equals(contKeiSts))
			if(JCNStrConst.CD01822_KSIDSL.equals(contKeiSts))
// #84112 MOD END
			{
				JCCWebCommon.setMessageInfo(this, "EKBC880-KW",
						new String[] { "強制解約済" });

				return true;
			}
			
			// コンテンツ契約.コンテンツ種別コード=2(入会コンテンツ)且つ
			// コンテンツサービス.コンテンツサービス種別コード=1(標準コンテンツ)の場合
			// 解約不可メッセージを表示
			if("2".equals(cont_sbt_cd)
					&& "1".equals(cont_svc_sbt_cd)) 
			{
				JCCWebCommon.setMessageInfo(this, "EKBC880-KW",
						new String[] { "入会コンテンツ" });
				return true;
			}
		}

		// 201へ遷移
		action_dsl();

		return true;
	}

	/**
	 * コンテンツ解約画面への画面遷移処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_dsl() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END

		// 選択されたラジオボタンの値を取得
		String chkValue = bean.sendMessageString(CNW00101SFConst.SELECT_NO,
				X31CWebConst.DATABEAN_GET_VALUE);
		if (BLANK_STRING.equals(chkValue)) {
			// 「解約」する明細が選択されていません
			JCCWebCommon.setMessageInfo(this, "EKB0800-NW",
					new String[] { "解約" });
			return true;
		}
		// 選択された列のDataBeanを取り出す
		X31SDataBeanAccess targetBean = null;
		X31SDataBeanAccessArray targetInfo = bean
				.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST);
		int targetCnt = Integer.parseInt(chkValue);
		int row_cnt = 0;
		for (int i = 0; i < targetInfo.getCount(); i++) {
			// 契約のBean取得
			X31SDataBeanAccess subBean = targetInfo.getDataBean(i);
			X31SDataBeanAccessArray subArray = subBean
					.getDataBeanArray(CNW00101SFConst.CONT_KEI_KOBET_LIST);
			if (targetCnt < subArray.getCount()) {
				targetBean = subArray.getDataBean(targetCnt);
				row_cnt = row_cnt + targetCnt;
				break;
			} else {
				targetCnt = targetCnt - subArray.getCount();
				row_cnt = row_cnt + subArray.getCount();
			}
		}
		// 選択列のCSSクラス名セット
		targetBean.sendMessageString(CNW00101SFConst.CSS_CLASS_NM_03,
				X31CWebConst.DATABEAN_SET_VALUE, "sel");

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// ルートの情報
		dataMap.put(CNW00101SFConst.SYSID, bean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.SELECT_NO, bean.sendMessageString(
				CNW00101SFConst.SELECT_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択列の情報を取得
		dataMap.put(CNW00101SFConst.SELECT_CONT_SVC_CD, targetBean
				.sendMessageString(CNW00101SFConst.CONT_SVC_CD_03,
						X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.SELECT_CONT_KEI_NO, targetBean
				.sendMessageString(CNW00101SFConst.CONT_KEI_NO_03,
						X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.SELECT_ISP_KSSAI_SVC_KEI_NO, targetBean
				.sendMessageString(CNW00101SFConst.ISP_KSSAI_SVC_KEI_NO_03,
						X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.SELECT_UPD_DTM, targetBean
				.sendMessageString(CNW00101SFConst.UPD_DTM_03,
						X31CWebConst.DATABEAN_GET_VALUE));
		if (targetBean.sendMessageBoolean(CNW00101SFConst.MAIL_SEND_FLG_03,
				X31CWebConst.DATABEAN_GET_VALUE)) {
			dataMap.put(CNW00101SFConst.SELECT_SEND_MAIL_FLG, "1");
		} else {
			dataMap.put(CNW00101SFConst.SELECT_SEND_MAIL_FLG, "0");
		}

		// お客様情報
		targetInfo = bean.getDataBeanArray(CNW00101SFConst.CUST_KOBET);
		targetBean = targetInfo.getDataBean(0);
		dataMap.put(CNW00101SFConst.EOID_04, targetBean.sendMessageString(
				CNW00101SFConst.EOID_04, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.CUST_STS_NM_04, targetBean
				.sendMessageString(CNW00101SFConst.CUST_STS_NM_04,
						X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.CUST_KANA_NM_04, targetBean
				.sendMessageString(CNW00101SFConst.CUST_KANA_NM_04,
						X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.MBTYPE_NM_04, targetBean.sendMessageString(
				CNW00101SFConst.MBTYPE_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.CUST_NM_04, targetBean.sendMessageString(
				CNW00101SFConst.CUST_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.CUST_BD_04, targetBean.sendMessageString(
				CNW00101SFConst.CUST_BD_04, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.CUST_ADDR_04, targetBean.sendMessageString(
				CNW00101SFConst.CUST_ADDR_04, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW00101SFConst.UPD_DTM_04, targetBean.sendMessageString(
				CNW00101SFConst.UPD_DTM_04, X31CWebConst.DATABEAN_GET_VALUE));

		// コンテンツ契約一覧
		targetInfo = bean.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST);
		ArrayList<HashMap<Object, Object>> svcList = new ArrayList<HashMap<Object, Object>>();
		for (int i = 0, totalCnt = 0; i < targetInfo.getCount(); i++) {
			X31SDataBeanAccess svcDetail = targetInfo.getDataBean(i);
			HashMap<Object, Object> svcMap = new HashMap<Object, Object>();
			// コンテンツサービス
			svcMap.put(CNW00101SFConst.CONT_SVC_NM_01, svcDetail
					.sendMessageString(CNW00101SFConst.CONT_SVC_NM_01,
							X31CWebConst.DATABEAN_GET_VALUE));
			svcMap.put(CNW00101SFConst.CONT_SVC_CD_01, svcDetail
					.sendMessageString(CNW00101SFConst.CONT_SVC_CD_01,
							X31CWebConst.DATABEAN_GET_VALUE));

			// コンテンツ契約
			X31SDataBeanAccessArray subInfo = svcDetail
					.getDataBeanArray(CNW00101SFConst.CONT_KEI_KOBET_LIST);
			ArrayList<HashMap<Object, Object>> keiList = new ArrayList<HashMap<Object, Object>>();
			for (int j = 0; j < subInfo.getCount(); j++, totalCnt++) {
				X31SDataBeanAccess keiDetail = subInfo.getDataBean(j);
				HashMap<Object, Object> keiMap = new HashMap<Object, Object>();

				keiMap.put(CNW00101SFConst.CONT_ID_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_ID_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_CD_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_CD_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_NM_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_NM_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_SVC_SBT_CD_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_SVC_SBT_CD_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_KEI_STS_NM_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_KEI_STS_NM_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_KEI_STS_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_KEI_STS_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_KEI_STA_DTM_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_KEI_STA_DTM_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_KEI_END_DTM_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_KEI_END_DTM_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_PAYWAY_CD_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_PAYWAY_CD_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CRECARD_COMP_CD_03, keiDetail
						.sendMessageString(CNW00101SFConst.CRECARD_COMP_CD_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CRECARD_COMP_NM_03, keiDetail
						.sendMessageString(CNW00101SFConst.CRECARD_COMP_NM_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CRECARD_ID_03, keiDetail
						.sendMessageString(CNW00101SFConst.CRECARD_ID_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.ISP_KSSAI_SVC_KEI_NO_03, keiDetail
						.sendMessageString(
								CNW00101SFConst.ISP_KSSAI_SVC_KEI_NO_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_KEI_NO_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_KEI_NO_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.UPD_DTM_03, keiDetail
						.sendMessageString(CNW00101SFConst.UPD_DTM_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CRECARD_NO_03, keiDetail
						.sendMessageString(CNW00101SFConst.CRECARD_NO_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CONT_SVC_CD_03, keiDetail
						.sendMessageString(CNW00101SFConst.CONT_SVC_CD_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.CSS_CLASS_NM_03, keiDetail
						.sendMessageString(CNW00101SFConst.CSS_CLASS_NM_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				keiMap.put(CNW00101SFConst.PAYWAY_DSP_03, keiDetail
						.sendMessageString(CNW00101SFConst.PAYWAY_DSP_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				if (row_cnt == totalCnt) {
					keiMap.put(CNW00101SFConst.MAIL_SEND_FLG_03, keiDetail
							.sendMessageBoolean(
									CNW00101SFConst.MAIL_SEND_FLG_03,
									X31CWebConst.DATABEAN_GET_VALUE));
				} else {
					keiMap.put(CNW00101SFConst.MAIL_SEND_FLG_03, false);
				}
				
				keiMap.put(CNW00101SFConst.N_050_TELNO_03, keiDetail
						.sendMessageString(CNW00101SFConst.N_050_TELNO_03,
								X31CWebConst.DATABEAN_GET_VALUE));
				
				keiList.add(keiMap);
			}
			svcMap.put(CNW00101SFConst.CONT_KEI_KOBET_LIST, keiList);
			svcList.add(svcMap);
		}
		dataMap.put(CNW00101SFConst.CONT_SVC_KOBET_LIST, svcList);

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00201,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00201,
				JCNScreenConst.SCREEN_ID_CNW00101);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW00202,
				JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW00201);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW00201);

		return true;
	}

	/**
	 * コンテンツ支払方法詳細照会画面への画面遷移処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_payway_detail() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END
		
		String chkValue = bean.sendMessageString(CNW00101SFConst.SELECT_NO,
				X31CWebConst.DATABEAN_GET_VALUE);
		// 選択された列のDataBeanを取り出す
		X31SDataBeanAccess targetBean = null;
		X31SDataBeanAccessArray targetInfo = bean
				.getDataBeanArray(CNW00101SFConst.CONT_SVC_KOBET_LIST);
		int targetCnt = Integer.parseInt(chkValue);
		int row_cnt = 0;
		for (int i = 0; i < targetInfo.getCount(); i++) {
			// 契約のBean取得
			X31SDataBeanAccess subBean = targetInfo.getDataBean(i);
			X31SDataBeanAccessArray subArray = subBean
					.getDataBeanArray(CNW00101SFConst.CONT_KEI_KOBET_LIST);
			if (targetCnt < subArray.getCount()) {
				targetBean = subArray.getDataBean(targetCnt);
				row_cnt = row_cnt + targetCnt;
				break;
			} else {
				targetCnt = targetCnt - subArray.getCount();
				row_cnt = row_cnt + subArray.getCount();
			}
		}

		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		// サービス契約番号を切り出し
		String svcKeiNo = targetBean.sendMessageString(CNW00101SFConst.PAYWAY_DSP_03,X31CWebConst.DATABEAN_GET_VALUE);
		int startIndx = 0;
		int endIndx = 0;
		
		if(svcKeiNo != null)// || "".equals(svcKeiNo))
		{
			if(!"".equals(svcKeiNo))
			{
				startIndx = svcKeiNo.indexOf("：");
				endIndx = svcKeiNo.indexOf("】");
				svcKeiNo = svcKeiNo.substring(startIndx + 1, endIndx);
			}
			else
			{
				JCCWebCommon.setMessageInfo(this, "EKBC880-KW",new String[] { "解約済" });
				return true;
			}
		}
		else
		{
			JCCWebCommon.setMessageInfo(this, "EKBC880-KW",new String[] { "解約済" });
			return true;
		}
		
		dataMap.put(CNW01601SFConst.ISP_KSSAI_SVC_KEI_NO, svcKeiNo);
		dataMap.put(CNW01601SFConst.CONT_PAYWAY, targetBean.sendMessageString(
						CNW00101SFConst.PAYWAY_DSP_03,
						X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put(CNW01601SFConst.SYSID, bean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW01601,
				dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW01601,
				JCNScreenConst.SCREEN_ID_CNW01601);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW01601);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW01601);

		return true;
	}
	
	/**
	 * 通話明細ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_dsl_ac() throws Exception {
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END
		
		// 通話明細ボタン制御フラグを取得
		String meisaiCtl = bean.sendMessageString(CNW00101SFConst.MEISAI_BTN_DISP_CTL, X31CWebConst.DATABEAN_GET_VALUE);
		if("2".equals(meisaiCtl))
		{
			// プロパティから050IP電話通話明細保管月数を取得
			String saveMM = JCNWebCommon.getApplicationConst("CN_050_MEISAI_SAVE_MM");
			JCCWebCommon.setMessageInfo(this, "EKBD200-KW", new String[] { saveMM });
			return true;
		}
		
		// データBeanから050コンテンツ契約番号、eoID、お客様名を取得
		X31SDataBeanAccessArray listCNSV000101SC_cust_kobet_cust_list = bean.getDataBeanArray("お客様個別");
		X31SDataBeanAccess subbean = null;
		subbean = listCNSV000101SC_cust_kobet_cust_list.getDataBean(0);
		
		
		String n050ContKeiNo = bean.sendMessageString(CNW00101SFConst.N_050_CONT_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		String eoID = subbean.sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_GET_VALUE);
		String custNm = subbean.sendMessageString("お客様氏名（表示）", X31CWebConst.DATABEAN_GET_VALUE);
		String sysid = bean.sendMessageString(CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE);

		/**
		 * コンテンツ通話明細画面へ連携するパラメータを作成。
		 */
		
		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(JACStrConst.CONT_HKTGI_SYSID, sysid);
		dataMap.put(JACStrConst.CONT_HKTGI_CONT_KEI_NO, n050ContKeiNo);
		dataMap.put(JACStrConst.CONT_HKTGI_EOID, eoID);
		dataMap.put(JACStrConst.CONT_HKTGI_CUST_NM, custNm);

		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JACScreenConst.SCREEN_ID_ACW01601, dataMap);
		JCCWebCommon.setScreenId(this, JACScreenConst.SCREEN_ID_ACW01601, JCNScreenConst.SCREEN_ID_CNW01101);

		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_ID_ACW01601);
		
		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE, JACScreenConst.SCREEN_NAME_ACW01601);

		return true;
	}
	
	// ANK-2139-00-00 ADD START
	/**
	 * スマートリンク関連コンテンツ契約全解約依頼ボタン押下時のチェック処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_smln_alldsl() throws Exception
	{
		return doCNSV0049(JCNWebConst.CONT_SVC_STAT_ACTIVE);
	}
	
	/**
	 * スマートリンク関連コンテンツ契約全解約依頼ボタン押下時の処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_smlncn_all_dsl_req() throws Exception
	{
		return doCNSV0050(JCNWebConst.CONT_SVC_STAT_ACTIVE);
	}

// ▽▽▽ ANK-2395-00-00 ADD START ▽▽▽
	/**
	 * 「対応履歴」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTaiorrki() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END

		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		
		// 引継ぎ情報を設定
		String cnSvcKeiNo = svcFormBean.sendMessageString(CNW00101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);
		dataMap.put("svcKeiNo", cnSvcKeiNo);

		// 画面情報を設定（問合せ対応メイン画面）
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_CRW01201, dataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_CRW01201, JCNScreenConst.SCREEN_ID_CNW01101);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_CRW01201);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_CRW01201);

		return true;
	}
// △△△ ANK-2395-00-00  ADD  END △△△

	/**
	 * CNSV0049(スマートリンク関連コンテンツ契約全解約依頼ボタン押下時)のサービスを実行します。<br>
	 * 
	 * @param status チェックボックスのステータス(0:メール送信しない)
	 * @return 処理結果（true:正常終了、false:エラー）
	 */
	@SuppressWarnings("unchecked")
	private boolean doCNSV0049(String status) throws Exception 
	{
		
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END
		
		// 会員種別の取得
		X31SDataBeanAccess custKobetBean = bean.getDataBeanArray(
				CNW00101SFConst.CUST_KOBET).getDataBean(0);
		String memberSbtCd = custKobetBean.sendMessageString(
				CNW00101SFConst.MBTYPE_CD_04,
				X31CWebConst.DATABEAN_GET_VALUE);
		
		// 判定ＣＣを呼ぶ
		// ユースケースID格納用マップ生成
		HashMap paramMap = new HashMap();
		// ユースケースID設定
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CNSV0049);

		HashMap dataMap = new HashMap();
		
		// マッピングクラスのインスタンス作成
		CNSV0049_CNSV0049OPDBMapper mapper = new CNSV0049_CNSV0049OPDBMapper();

		mapper.setCNSV004901CC(bean, dataMap, memberSbtCd);
		
		// 検索結果格納用マップ生成
		HashMap outputMap = new HashMap();

		X31CMessageResult msgResult = null;
		try {
			// サービス呼出し
			msgResult = invokeService(paramMap, dataMap, outputMap);
		} catch (Exception e) {
			throw e;
		}

		// エラー処理
		if (msgResult != null) {
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		HashMap ccMap = (HashMap) outputMap.get("CNSV004901CC");
		if (ccMap != null )
		{
			bean.sendMessageString(
					CNW00101SFConst.SMLN_CHK_RESULT, X31CWebConst.DATABEAN_SET_VALUE, (String) ccMap.get("return_cd"));
		}
		return true;
	}
	
	/**
	 * CNSV0050(スマートリンク関連コンテンツ契約全解約依頼ボタン押下時)のサービスを実行します。<br>
	 * 
	 * @param status チェックボックスのステータス(0:メール送信しない)
	 * @return 処理結果（true:正常終了、false:エラー）
	 */
	@SuppressWarnings("unchecked")
	private boolean doCNSV0050(String status) throws Exception 
	{
		// 親画面のBean取得
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		// ANK-2754-00-00 2016/05/26 ADD START
		// 地図を開くフラグのクリア
		bean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		// ANK-2754-00-00 2016/05/26 ADD END
		
		// 共通Bean取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();
		
		// ANK-2139-01-00 ADD START
		// スマリンメール送信フラグの設定値を取得
		boolean select = false;
		select = bean.sendMessageBoolean(CNW00101SFConst.SMLN_MAIL_SEND_FLG,
				X31CWebConst.DATABEAN_GET_VALUE);
		if (select) {
			bean.sendMessageString(CNW00101SFConst.SMLN_MAIL_SEND_FLG_VALUE,
					X31CWebConst.DATABEAN_SET_VALUE, "1");
		} else {
			bean.sendMessageString(CNW00101SFConst.SMLN_MAIL_SEND_FLG_VALUE,
					X31CWebConst.DATABEAN_SET_VALUE, "0");
		}
		// ANK-2139-01-00 ADD END
		
		// ●サービス呼び出し処理
		// コンテンツ契約照会(初期表示)サービスの呼び出しを行う。
		// ユースケースID格納用マップを生成。
		HashMap<String, String> paramMap = new HashMap<String, String>(16);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_CNSV0050);
		paramMap.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, OPERATION_ID_CNSV0050);
		
		CNSV0050_CNSV0050OPDBMapper mapper = new CNSV0050_CNSV0050OPDBMapper();

		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// サービスに引渡しするBeanには画面からの引き継ぎ値と共有FormBeanの値を設定
		X31SDataBeanAccess[] paramBean = { bean, commoninfoBean };
		mapper.setCNSV005001SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		
		// 検索結果格納用マップを生成。
		HashMap<Object, Object> outputMap = new HashMap<Object, Object>();
		
		X31CMessageResult msgResult = null;
		try {
			// サービスの呼び出しを行う。
			msgResult = invokeService(paramMap, dataMap, outputMap);
		} catch (Exception e) {
			throw e;
		}
		
		if (msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		// 検索エラーフラグの取得
		String searchError = JCCWebCommon.getSearchErrFlg(SC_TITLE_CNSV005001, outputMap);
		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchError))
		{
			// 検索結果０件
			JCCWebCommon.setMessageInfo(this, JCNWebConst.SEARCH_ERR_MESSAGE_ZERO);
			return true;
		}
		
		// CNSV005001CCのリターンコードを取得
		HashMap mapCNSV005001SC = (HashMap)outputMap.get("CNSV005001SC");		
		String rsltCd = (String)mapCNSV005001SC.get("ERR_CD");				// エラーコード
		String stat = (String)mapCNSV005001SC.get("STAT");					// ステータス
		
		if(!STAT_NO_RESPONSE.equals(stat)) // CCMGのAPIから応答があったときのみ、チェックする。
		{
			// ANK-2139-02-00 MOD START
//			if(rsltCd.equals(API_OK))
			if(rsltCd.equals(API_OK) || rsltCd.equals(CONT_KEI_IS_CANCELED))
			// ANK-2139-02-00 MOD END
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBE153__I);
			}
			else if(STAT_NO_RESPONSE.equals(stat))
			{
				JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB9940_CE);
				return true;
			}
			else
			{
				JCCWebCommon.setMessageInfo(this, "EKBE152-KW",new String[] { rsltCd });
				return true;
			}
		}
		else
		{
			// メッセージID 未定を出力する。
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB9940_CE);
		}
		
		// ANK-2139-02-00 MOD START
//		if(!"00000".equals(rsltCd))
//		{
//			// %1%に失敗しました。%2%
//			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB9930_CE);
//		}
//		else
//		{
//			// 正常終了の場合
//			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBE153__I);
//		}
		if(API_OK.equals(rsltCd) || CONT_KEI_IS_CANCELED.equals(rsltCd))
		{
			// 正常終了の場合
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKBE153__I);
		}
		else
		{
			// %1%に失敗しました。%2%
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB9930_CE);
		}
		// ANK-2139-02-00 MOD END
		
		return true;
	}
	
	/**
	 * CNSV0049_サービスへのパラメータを作成します。
	 * <BR>
	 * @param requestMap リクエストパラメータMap
	 * @param inputMap 入力Map
	 * @throws Exception 処理中に発生した例外をスロー
	 */
	private void createServiceMap(Map<String, String> requestMap, Map<String, Object> inputMap) throws Exception
	{
		
		HashMap<String, Object> mapCc = new HashMap<String, Object>();
		
		mapCc.put("SYSID", getParameterToString(requestMap, "SYSID"));
		mapCc.put("MEMBER_SBT_CD", getParameterToString(requestMap, "MEMBER_SBT_CD"));

		inputMap.put(CC_NAME, mapCc);
	}
	
	/**
	 * パラメータマップを解析し、キーに一致する値を返却します。
	 * <BR>
	 * @param requestMap リクエストMap
	 * @param keyName キー名
	 * @return String キー値
	 * @throws 処理中に発生した例外をスロー
	 */
	private static String getParameterToString(Map<String, String> requestMap, String keyName) throws Exception
	{
		
		String value = "";
		Iterator<?> keyIterator = requestMap.keySet().iterator();
		
		while (keyIterator.hasNext())
		{
			String key = (String)keyIterator.next();
			
			if (key.equals(keyName) ||  key.matches(keyName + "\\[[0-9]*\\]"))
			{
				value = requestMap.get(key);
			}
			
		}
		return new String(value.getBytes());
	}
	
	/**
	 * マップから指定されたキーの値を取得する。
	 * (使用例）<BR/>
	 *     getParamFromXml("LKA11020_RECEIVE", "PROCESS_DIV");<BR/>
	 * 
	 * @param map マップ
	 * @param allKeys キー名
	 * @return 値
	 */
	@SuppressWarnings("unchecked")
	private static Object getParamFromMap(Map map, String...allKeys)
	{

		Map nowMap = map;
		Object returnVal = null;
		for (int i = 0; i < allKeys.length; i++)
		{
			String key = allKeys[i];
			int idx = -1;
			if (key.matches("[a-zA-Z0-9_\\-]+\\[[0-9]+\\]"))
			{
				idx = new Integer(key.replaceFirst("^[a-zA-Z0-9_\\-]+\\[", "").replace("]", ""));
				key = key.replaceFirst("\\[[0-9]+\\]", "");
			}
			if (nowMap.containsKey(key))
			{
				Object val = nowMap.get(key);
				if ((val instanceof List) && (idx >= 0))
				{
					List nowList = (List)val;
					val = nowList.get(idx);
				}
				if (val instanceof Map)
				{
					nowMap = (Map)val;
				}
				if (i == allKeys.length - 1)
				{
					returnVal = val;
				}
			}
			else
			{
				return null;
			}
		}

		return returnVal;
	}
	// ANK-2139-00-00 ADD END
	
	// ANK-2754-00-00 2016/05/26 ADD START
	/**
	 * 「申込情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab1() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab1(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「サービス契約」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab2() throws Exception
	{
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 料金グループコードを取得
		String prcGrpCd = svcFormBean.sendMessageString(CNW00101SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_GET_VALUE);

		return JKKTabCommonLogic.actionTab2(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				new String[]{ prcGrpCd },
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「お客様情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab3() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab3(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「機器情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab4() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab4(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「オプション情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab5() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab5(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「請求契約情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab6() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab6(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「進捗情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab7() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab7(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「割引情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab8() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab8(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「住所情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab9() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab9(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}

	/**
	 * 「ADSL工事情報」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab10() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab10(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}
	
	/**
	 * 「コンテンツ」タブ押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTab11() throws Exception
	{
		// 地図を開くフラグのクリア
		super.getServiceFormBean().sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		return JKKTabCommonLogic.actionTab11(this,
				super.getCommonInfoBean(),
				super.getServiceFormBean(),
				JCNScreenConst.SCREEN_ID_CNW00101,
				CUST_KEI_HKTGI_KEYS);
	}
	
	/**
	 * <dd>メソッド名：引継情報データマップ取得 <dd>メソッド説明：引数のサービスフォームBeanより引継情報データマップの生成を行う。 <dd>
	 * 備考：引継情報データタイプの可変項目はString[]のみ対応。
	 * 
	 * @param bean
	 *            サービスフォームBean
	 * @param hktgiKey
	 *            引継情報データタイプのキー
	 * @param hktgiPrmKeys
	 *            引継情報データタイプの項目キーリスト
	 * @return HashMap<String, Object> 引継情報データマップ
	 */
	private HashMap<String, Object> getHktgiDataMap(X31SDataBeanAccess bean, String hktgiKey, String[] hktgiPrmKeys)
	{
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
		List<HashMap<String, Object>> dataList = new ArrayList<HashMap<String, Object>>();

		X31SDataBeanAccessArray infList = bean.getDataBeanArray(hktgiKey);
		for (int i = 0; i < infList.getCount(); i++)
		{
			HashMap<String, Object> inMap = new HashMap<String, Object>();

			X31SDataBeanAccess inf = infList.getDataBean(i);
			for (int j = 0; j < hktgiPrmKeys.length; j++)
			{
				try
				{
					inMap.put(hktgiPrmKeys[j], inf.sendMessageObject(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_VALUE));
				}
				catch (X31SRuntimeException ex)
				{
					// 可変項目の場合(String[]のみ対応)
					int length = (Integer)inf.sendMessage(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_COUNT);
					String[] obj = new String[length];
					for (int k = 0; k < length; k++)
					{
						obj[k] = inf.sendMessageString(hktgiPrmKeys[j], X31CWebConst.DATABEAN_GET_VALUE, k);
					}
					inMap.put(hktgiPrmKeys[j], obj);
				}
			}
			dataList.add(inMap);
		}
		dataMap.put(hktgiKey, dataList);

		return dataMap;
	}
	
	/**
	 * 「異動区分選択」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionIdodivChoice() throws Exception
	{
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");

		// 共有Beanアクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// 顧客契約内引継ぎデータセット
		HashMap<String, Object> hktgiData = getHktgiDataMap(svcFormBean, CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);

		// 異動区分選択画面遷移パターン
		List<HashMap<String, Object>> dataList = (List<HashMap<String, Object>>)hktgiData.get(CNW00101SFConst.CUST_KEI_HKTGI_LIST);
		String idoDivSeniPtn = (String)dataList.get(0).get(CNW00101SFConst.IDO_DIV_SENI_PTN_05);
		
		// 戻り時の情報を保持
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00101, hktgiData);

		// 自画面遷移パターンの場合
		if (JKKCommonConst.HKTGI_IDO_DIV_SENI_PTN_SELF_SENI.equals(idoDivSeniPtn))
		{
			JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW00145, hktgiData);

			// 戻り先画面IDを設定
			JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW00145, JCNScreenConst.SCREEN_ID_CNW00101);

			// 共有フォームBean設定
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
					JKKScreenConst.SCREEN_ID_KKW00145);
			commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
					JKKScreenConst.SCREEN_NAME_KKW00145);
		}
		// 親画面遷移パターンの場合
		else
		{
			// ポップアップモード
			String popupMode = (String)hktgiData.get(CNW00101SFConst.POPUP_MODE_05);
			if (JKKCommonConst.HKTGI_POPUP_MODE_MODAL.equals(popupMode))
			{
				// モーダル用反映画面へ画面遷移
				commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_ID_CCW00105);
				commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_NAME_CCW00105);
			}
			else
			{
				// モーダレス用反映画面へ画面遷移
				commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_ID_CCW00104);
				commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JCCScreenConst.SCREEN_NAME_CCW00104);
			}
		}
		
		// 一時的な親画面遷移パターンの場合
		if (IDO_DIV_SENI_PTN_TMP_OYA_SENI.equals(idoDivSeniPtn))
		{
			// 自画面遷移パターンに戻す
			dataList.get(0).put(JKKCommonConst.HKTGI_IDO_DIV_SENI_PTN, JKKCommonConst.HKTGI_IDO_DIV_SENI_PTN_SELF_SENI);
		}

		return true;
	}
	
	/**
	 * 「地図」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionItiKakunin() throws Exception
	{
		// 共有フォームBean設定
		JKKWebCommon.setSelfScreenID(this);

		X31SDataBeanAccess dataBean = getServiceFormBean();

		// パラメータマップを作成する。
		HashMap paramMap = new HashMap();
		
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "CCSV0006");

		CCSV0006_CCSV0006OPDBMapper mapper = new CCSV0006_CCSV0006OPDBMapper();
		X31SDataBeanAccess[] paramBean = { dataBean };
		HashMap dataMap = new HashMap();
		mapper.setCCSV000601SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);

		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();

		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException e1)
		{
			// エラーの場合はシステムエラーを表示する
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0400_CE, new String[]{""}, "");
			return false;
		}

		HashMap parentMap = null;

		if(outputMap.containsKey("CCSV000601SC"))
		{
			parentMap = (HashMap)outputMap.get("CCSV000601SC");
		}
		String encryptPw = (String)parentMap.get("one_time_pwd");

		// プロパティファイルより総合営業C向けエリアチェック画面のURLを取得
		String mapGmnURL = JCMAPLConstMgr.getString(JKKCommonConst.PROP_MAP_GMN_URL);

		// 地図用情報取得
		if (getMapInfo(dataBean))
		{
			// 経度
			String lgtd = dataBean.sendMessageString(CNW00101SFConst.LGTD, X31CWebConst.DATABEAN_GET_VALUE);
			// 緯度
			String lttd = dataBean.sendMessageString(CNW00101SFConst.LTTD, X31CWebConst.DATABEAN_GET_VALUE);

			// 地図画面ＵＲＬ
			String formatUrl = String.format(mapGmnURL, encryptPw, lgtd, lttd);
			dataBean.sendMessageString(CNW00101SFConst.MAP_GMN_URL, X31CWebConst.DATABEAN_SET_VALUE, formatUrl);
			// 地図オープンフラグ
			dataBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "1");
		}
		else
		{
			return false;

		}
		return true;
	}
	
	/**
	 * 「利用不可期間履歴」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionRiyofukaRireki() throws Exception
	{
		// 共有Beanアクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanアクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 顧客契約内引継ぎデータセット
		HashMap<String, Object> hktgiData = getHktgiDataMap(svcFormBean, CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);
		
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW17801, hktgiData);

		// 戻り先画面IDを設定
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW17801, JCNScreenConst.SCREEN_ID_CNW00101);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW17801);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW17801);

		return true;
	}
	
	/**
	 * 「他システム」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTasys() throws Exception
	{
		// 共有Beanアクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanアクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 顧客契約引継リストを取得
		HashMap<String, Object> dataMap = getHktgiDataMap(svcFormBean, CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);

		// 画面情報を設定（他システム選択画面）
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW00146, dataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW00146, JCNScreenConst.SCREEN_ID_CNW00101);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW00146);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW00146);

		return true;
	}
	
	/**
	 * 「料金」ボタン押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionPrc() throws Exception
	{
		// 共有Beanアクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBeanアクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 請求契約番号を取得
		String seikyKeiNo = svcFormBean.sendMessageString(CNW00101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE);

		// 顧客契約引継リストを取得
		HashMap<String, Object> hktgiData = getHktgiDataMap(svcFormBean, CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);
		// 請求契約番号を設定
		hktgiData.put(JCHCommonConst.SCREEN_HKTGI_SEIKY_KEI_NO, seikyKeiNo);

		// 画面情報を設定（債権照会画面）
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_CHW00101, hktgiData);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_CHW00101, JCNScreenConst.SCREEN_ID_CNW00101);

		// 遷移先から戻る際に必要な情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00101, hktgiData);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_CHW00101);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_CHW00101);

		return true;
	}
	
	// ANK-3346-01-00 ADD START
	/**
	 * 解約レター検索ボタン押下時に解約レター検索画面に遷移を行います。
	 * <br>
	 * @return true/false
	 * @exception Exception
	 */
	public boolean actionDslLetterSch() throws Exception
	{
		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// セッション情報引渡処理
		HashMap<String, Object> hktgiDataMap = getHktgiDataMap(svcFormBean, CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);
		hktgiDataMap.put(KKW21811SFConst.SEARCH_FLG, JKKStrConst.CD00001_0);

		// 画面情報を設定（解約レター検索画面）
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW21811, hktgiDataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW21811, JCNScreenConst.SCREEN_ID_CNW00101);

		// 共有BeanのSCREEN_ID、SCREEN_NMに遷移先の画面IDをセット
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_KKW21811);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_KKW21811);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

		return true;
	}
	// ANK-3346-01-00 ADD END
	
	/**
	 * 「対応履歴」ボタン(サービス契約情報共通用)押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTaiorrkiCmn() throws Exception
	{
		// 共有Beanアクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		
		// サービスフォームBeanアクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// セッション情報引渡処理
		HashMap<String, Object> dataMap = getHktgiDataMap(svcFormBean, CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);
		dataMap.put("ＳＹＳＩＤ", svcFormBean.sendMessageString(CNW00101SFConst.SYSID_05, X31CWebConst.DATABEAN_GET_VALUE));
		dataMap.put("サービス契約番号", svcFormBean.sendMessageString(CNW00101SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
				
		// 遷移先から戻る際に必要な情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW00101, dataMap);
		
		// 画面情報を設定（総合案内問合せ対応画面）
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_CRW01201, dataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_CRW01201, JCNScreenConst.SCREEN_ID_CNW00101);
		
		// 共有BeanのSCREEN_ID、SCREEN_NMに遷移先の画面IDをセット
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_ID_CRW01201);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JKKScreenConst.SCREEN_NAME_CRW01201);
		
		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);
		
		return true;
	}
	
	/**
	 * 地図用情報を取得し、サービスフォームBeanに設定する
	 * 
	 * @param dataBean	DataBeanアクセスクラス
	 */
	private boolean getMapInfo(X31SDataBeanAccess dataBean)
	{
		// パラメータマップを作成する。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0793");
		
		X31SDataBeanAccessArray custKeiHktgiList = dataBean.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		
		// 顧客契約引継情報に「サービス契約番号」の値がセットされていること
		KKSV0793_KKSV0793OPDBMapper mapper0793 = new KKSV0793_KKSV0793OPDBMapper();
		X31SDataBeanAccess[] paramBean = { custKeiHktgiInf };
		HashMap dataMap = new HashMap();
		mapper0793.setKKSV079301SC(paramBean, dataMap, JPCModelConstant.FUNC_CD_1);
		
		// 検索結果格納用マップ
		HashMap outputMap = new HashMap();
		
		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException e1)
		{
			// エラーの場合はシステムエラーを表示する
			JCCWebCommon.setMessageInfo(this, JPCOnlineMessageConstant.EKB0400_CE, new String[]{""}, "");
			return false;
		}
		
		// Beanに経度、緯度をセット
		mapper0793.getKKSV079301SC(new X31SDataBeanAccess[]{dataBean}, outputMap);

		return true;
	}
	
	/**
	 * 地図ボタン／利用不可期間履歴ボタン表示制御
	 * 
	 * @param svcFormBean
	 */
	private void setFooterBtnDispFlg(X31SDataBeanAccess svcFormBean)
	{
		String mapBtnDispFlg = "0";			// 非表示
		String riyoFukaBtnDispFlg = "0";	// 非表示
		
		// 料金グループコードを取得
		String prcGrpCd = svcFormBean.sendMessageString(CNW00101SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_GET_VALUE);
		
		HashMap paramMapKKSV0793 = new HashMap();
		HashMap inputMapKKSV0793 = new HashMap();
		// 検索結果格納用マップ
		HashMap outputMapKKSV0793 = new HashMap();
		paramMapKKSV0793.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, "KKSV0793");
		paramMapKKSV0793.put(X31CWebConst.TELEGRAM_INFO_OPERATION_ID, "KKSV0793OP");
		KKSV0793_KKSV0793OPDBMapper mapper0793 = new KKSV0793_KKSV0793OPDBMapper();
		// 顧客契約引継情報に「サービス契約番号」の値がセットされていること
		X31SDataBeanAccessArray custKeiHktgiList = svcFormBean.getDataBeanArray(JKKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiInf = custKeiHktgiList.getDataBean(0);
		String svcKeiNo = custKeiHktgiInf.sendMessageString(CNW00101SFConst.SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
		if (svcKeiNo == null || "".equals(svcKeiNo))
		{
			// サービス契約番号がセットされていない場合は、以降の処理を行わない
			return;
		}
		X31SDataBeanAccess[] paramBeanKKSV0793 = { custKeiHktgiInf };
		mapper0793.setKKSV079302SC(paramBeanKKSV0793, inputMapKKSV0793, JCCWebCommon.getOpeDate(this, null));
		// サービス実行
		invokeService(paramMapKKSV0793, inputMapKKSV0793, outputMapKKSV0793);
		// 結果を保存
		HashMap parentMapKKSV0793 = null;
		if(outputMapKKSV0793.containsKey("KKSV079302SC"))
		{
			parentMapKKSV0793 = (HashMap)outputMapKKSV0793.get("KKSV079302SC");
			// サービスの結果からマンション物件コードを取得
			String mansionBukkenCd = (String)parentMapKKSV0793.get("mansion_bukken_cd");

			// 地図ボタンの表示／非表示判定
			if (JKKWebCommon.isMapViewAvailable(prcGrpCd, mansionBukkenCd))
			{
				mapBtnDispFlg = "1";		// 表示
			}
			
			// 利用不可期間履歴ボタンの表示／非表示判定
			if (JKKWebCommon.isRiyofukaRirekiAvailable(prcGrpCd))
			{
				riyoFukaBtnDispFlg = "1";		// 表示
			}
		}
		
		// 地図ボタン表示区分
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_BTN_V_KBN, X31CWebConst.DATABEAN_SET_VALUE, mapBtnDispFlg);
		// 利用不可期間履歴ボタン表示区分
		svcFormBean.sendMessageString(CNW00101SFConst.RIYOFUKARRK_BTN_V_KBN, X31CWebConst.DATABEAN_SET_VALUE, riyoFukaBtnDispFlg);
	}
	
	/**
	 * ワンタイムパスワードを取得する
	 * 
	 * @param svcFormBean
	 */
	private void setMapGmnData(X31SDataBeanAccess svcFormBean)
	{
		// ワンタイムパスワード登録サービスに必要な項目を取得し、DataBeanに設定しておく。
		// ユーザーIDの取得
		X31SDataBeanAccess commonBean = getCommonInfoBean();
		String userId = commonBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		String orgCd = "";
		String positionCd = "";

		X31SDataBeanAccessArray kggrpCdList = commonBean.getDataBeanArray(CommonInfoCFConst.KGGRP_CD_LIST);
		X31SDataBeanAccess subbean = kggrpCdList.getDataBean(0);
		if (subbean != null)
		{
			// 組織コードの取得
			orgCd = subbean.sendMessageString(CommonInfoCFConst.ORG_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
			// 立場コードの取得
			positionCd = subbean.sendMessageString(CommonInfoCFConst.POSITION_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
		}
		svcFormBean.sendMessageString(CNW00101SFConst.ONE_TIME_USER_ID, X31CWebConst.DATABEAN_SET_VALUE, userId);
		svcFormBean.sendMessageString(CNW00101SFConst.ONE_TIME_ORG_CD, X31CWebConst.DATABEAN_SET_VALUE, orgCd);
		svcFormBean.sendMessageString(CNW00101SFConst.ONE_TIME_POSITION_CD, X31CWebConst.DATABEAN_SET_VALUE, positionCd);

		// プロパティファイルより共通(地図)システムのシステムIDを取得
		String mapSysId = JCMAPLConstMgr.getString(PROP_SIMS_MAP_SYS_ID);
		svcFormBean.sendMessageString(CNW00101SFConst.ONE_TIME_SYS_ID, X31CWebConst.DATABEAN_SET_VALUE, mapSysId);

		// 地図を開くフラグの初期設定
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
	}
	
	/**
	 * <dd>メソッド名：サービス契約共通マップ設定
	 * <dd>メソッド説明：サービス契約共通マップの生成を行う。
	 * <dd>備考：なし。
	 * @param outputMap サービスI/Fからの取得データマップ
	 * @return HashMap サービス契約共通マップ
	 */
	private HashMap<String, Object> getSvckeiCommonMap(HashMap outputMap)
	{
		X31SDataBeanAccess srvBean = super.getServiceFormBean();
		HashMap<String, Object> svckeiCommonMap = new HashMap<String, Object>();
		HashMap parentMap = (HashMap)outputMap.get("CNSV000101CC");
		
		if (parentMap == null)
		{
			return svckeiCommonMap;
		}
		
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_IDO_DIV, (String)parentMap.get("ido_nm"));					// 異動区分名称
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_SVC_KEI_STAT, (String)parentMap.get("svc_kei_stat_nm"));		// サービス契約ステータス名称
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_MANSION_ID, (String)parentMap.get("mansion_id"));			// マンションＩＤ
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_MANSION_NM, (String)parentMap.get("kisnusekei_bkn_nm"));		// マンション名
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_KEISHA_NM, (String)parentMap.get("cust_nm"));				// 契約者名
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_TELNO, (String)parentMap.get("keisha_telno"));				// 電話番号
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_TOKUSOKU_STAT, (String)parentMap.get("tokusoku_stat_nm"));	// 督促状態
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_KEISHA_AD, (String)parentMap.get("keisha_ad"));				// 契約者住所
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_SVC_KEI_NO, (String)parentMap.get("svc_kei_no"));			// サービス契約番号
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_SEIKY_KEI_NO, (String)parentMap.get("seiky_kei_no"));		// 請求契約番号
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_SYSID, (String)parentMap.get("sysid"));						// ＳＹＳＩＤ
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_EOID, (String)parentMap.get("eoid"));						// ｅｏＩＤ
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_PRC_GRP, (String)parentMap.get("prc_grp_nm"));				// 料金グループ名称
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_PCRS, (String)parentMap.get("pplan_nm"));					// 料金コース名称
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_ROUTER_SBT, (String)parentMap.get("router_sbt_nm"));			// ルータ有無
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_FAMILY_PACK_UM , (String)parentMap.get("family_pack_um"));	// ファミリーパック有無
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_ADSL_DSP_FLG , (String)parentMap.get("adsl_dsp_flg"));		// ＡＤＳＬ表示フラグ
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_P_ID , (String)parentMap.get("p_id"));						// Ｐ−ＩＤ
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_CAT_ID , (String)parentMap.get("cat_id"));					// ＣＡＴ−ＩＤ
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_NEXT_TAB , "Tab6");											// 表示タブ指定
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_RSV_JOKYO , (String)parentMap.get("rsv_jokyo"));				// 予約状況
		
		// 料金グループコード
		srvBean.sendMessageString(CNW00101SFConst.PRC_GRP_CD, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("prc_grp_cd"));
		// 請求契約番号
		srvBean.sendMessageString(CNW00101SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_kei_no"));
		// 2016/07/11 ANK-2687-00-00 ADD START
		// サービス契約情報
		HashMap<String, ArrayList<HashMap<String, String>>> rankMap = (HashMap<String, ArrayList<HashMap<String, String>>>)outputMap.get("CNSV000111CC");
		if(rankMap != null) 
		{
			ArrayList<HashMap<String, String>> rankChildList = (ArrayList<HashMap<String, String>>)rankMap.get("EKKA0050001CBSMsg1List");
			if (rankChildList != null && 0 < rankChildList.size())
			{
				HashMap<String, String> rankChildMap = (HashMap<String, String>)rankChildList.get(0);
				svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_RANK_NM , (String)rankChildMap.get("rnk_nm"));
				// 2016/12/07 ANK-3034-00-00 ADD START
				// 2023/03/09 ANK-4307-00-00 MOD START
				//svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_TIC_NUM, (String) rankChildMap.get("tic_num"));		//チケット残枚数
				// 2016/12/07 ANK-3034-00-00 ADD END
				svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_TIC_NUM, (String) rankChildMap.get("total_hoyu_pt_su"));		//保有eoポイント数
				// 2023/03/09 ANK-4307-00-00 MOD END
			}
		}
		// 2016/07/11 ANK-2687-00-00 ADD END
// ANK-3840-00-00 ADD START
		// 定額サービス契約情報有無
		HashMap<String, ArrayList<HashMap<String, String>>> tegakSvcMap = (HashMap<String, ArrayList<HashMap<String, String>>>)outputMap.get("CNSV000112CC");
		if(tegakSvcMap != null) 
		{
			ArrayList<HashMap<String, String>> tegakSvcChildList = (ArrayList<HashMap<String, String>>)tegakSvcMap.get("tegak_svc_list");
			if (tegakSvcChildList != null && 0 < tegakSvcChildList.size())
			{
				HashMap<String, String> tegakSvcChildMap = (HashMap<String, String>)tegakSvcChildList.get(0);
				svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_TEGAK_SVC_UM , (String)tegakSvcChildMap.get("tegak_svc_um"));
			}
		}
// ANK-3840-00-00 ADD END

		// ANK-3366-00-00 ADD START
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_ORSJGS_NM, (String)parentMap.get("orsjgs_nm"));				// 卸先事業者名
		// ANK-3366-00-00 ADD END
		// ANK-4075-00-00 ADD START
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_SCM_TYPE_NM, (String)parentMap.get("scm_type_nm"));			// スキームタイプ名
		svckeiCommonMap.put(JKKCommonConst.SVCKEICOMMON_ID_SCM_JGS_NM, (String)parentMap.get("scm_jgs_nm"));			// スキーム事業者名
		// ANK-4075-00-00 ADD END
		
		return svckeiCommonMap;
	}
	// ANK-2754-00-00 2016/05/26 ADD END
	// 2016/07/11 ANK-2687-00-00 ADD START
	/**
	 * 「会員ランク」リンク押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTransferTrank() throws Exception
	{

		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 画面情報を設定（TRANKシステム起動画面）
		HashMap<String, Object> hktgiDataMap = getHktgiDataMap(svcFormBean,
				CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);

		// 画面情報を設定(TRANKシステム起動画面)
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW00196, hktgiDataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW00196, JCNScreenConst.SCREEN_ID_CNW00101);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW00196);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW00196);

		return true;
	}
	// 2016/07/11 ANK-2687-00-00 ADD END

	// ★★★★★ ANK-3796-00-00 2020/01/24 ADD START ★★★★★
	/**
	 * 「リース契約画面へ遷移」リンク押下時処理
	 * 
	 * @return 正常終了:true 異常終了:false
	 * @throws Exception
	 */
	public boolean actionTransferVcms() throws Exception
	{

		// 共有Bean アクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();

		// サービスフォームBean アクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();

		// 画面情報を設定（VCMSシステム起動画面）
		HashMap<String, Object> hktgiDataMap = getHktgiDataMap(svcFormBean,
				CNW00101SFConst.CUST_KEI_HKTGI_LIST, CUST_KEI_HKTGI_KEYS);

		// 画面情報を設定(VCMSシステム起動画面)
		JCCWebCommon.setScreenInfo(this, JKKScreenConst.SCREEN_ID_KKW00198, hktgiDataMap);
		JCCWebCommon.setScreenId(this, JKKScreenConst.SCREEN_ID_KKW00198, JCNScreenConst.SCREEN_ID_CNW00101);

		// 共有フォームBean設定
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_ID_KKW00198);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE,
				JKKScreenConst.SCREEN_NAME_KKW00198);

		return true;
	}
// ★★★★★ ANK-3796-00-00 2020/01/24 ADD END   ★★★★★
// ANK-4092-00-00 2021/07/12 ADD START
	/**
	 * コンテンツ一時申込登録画面への画面遷移処理を行います。<br>
	 * 
	 * @return 処理結果（true:正常終了、false:エラー）
	 * @throws Exception
	 */
	public boolean action_cont_icj_mskm() throws Exception {
		// 共有Beanアクセスクラスの取得
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		
		// サービスフォームBeanアクセスクラスの取得
		X31SDataBeanAccess svcFormBean = super.getServiceFormBean();
		
		// 地図を開くフラグのクリア
		svcFormBean.sendMessageString(CNW00101SFConst.MAP_OPEN_FLG, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 次画面移送用のマップ作成
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// 移送データ設定
		dataMap.put(CNW01901SFConst.SYSID, svcFormBean.sendMessageString(
				CNW00101SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 画面情報を設定
		JCCWebCommon.setScreenInfo(this, JCNScreenConst.SCREEN_ID_CNW01901, dataMap);
		JCCWebCommon.setScreenId(this, JCNScreenConst.SCREEN_ID_CNW01901, JCNScreenConst.SCREEN_ID_CNW00101);
		
		// 遷移先の画面IDを共有フォームBeanの項目に設定する。
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_ID_CNW01901);

		// 遷移先の画面名を共有フォームBeanの項目に設定する。
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME,
				X31CWebConst.DATABEAN_SET_VALUE,
				JCNScreenConst.SCREEN_NAME_CNW01901);

		return true;
	}
// ANK-4092-00-00 2021/07/12 ADD END
}