/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：CNSV0001_CNSV0001OPDBMapper
*	ソースファイル名：CNSV0001_CNSV0001OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年08月03日
*＜機能概要＞
*	BP（コンテンツ契約一覧照会(初期表示)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00	2011/08/03	FJ		新規作成
*	ｖ4.00.00	2012/12/05	FJ)味岡		【ST1-2012-0001018】SYSDATE使用箇所を運用日付使用に置き換え
*	ｖ5.00.00	2013/02/25  FJ)小林		【ANK-1419-00-00】050IP電話アプリ対応。
*	ｖ5.00.01	2013/05/01  FJ)味岡		【TAI-2013-0000025】静的ソース解析の050IP電話アプリ対応水平展開
*	ｖ10.00.01	2014/07/30  FJ)味岡		【ANK-2139-00-00】eoスマートリンクプレミアムパック解約の簡易化ボタン制御を追加
*	ｖ10.00.02	2014/09/11	FJ)味岡		【ANK-2139-02-00】スマートリンク関連コンテンツ全解約APIについて、コンテンツ解約APIを呼出する変更対応
*	ｖ18.00.00	2015/10/22  FJ)頼経	     ANK-2694-00-00 ワンストップ案件（ＳＴＥＰ２）※koptWebBからkoptWebAへコピー
*	ｖ20.00.00	2015/11/13	FJ)清原		【ANK-2565-00-00】クレジットカード番号預かりサービス導入（Step3：預かり番号化）
*   ｖ20.00.01	2015/12/17  FJ)頼経		【ANK-2663-00-00】LalaCALL 代理店対応(STNet・テレビトクシマ)
*   ｖ23.00.00	2016/05/02  FJ)鯵坂		【ANK-2395-00-00】対応履歴関連画面の各種仕様見直し
*   ｖ25.00.00	2016/05/26  FJ)柳		【ANK-2754-00-00】お客様情報タブへのコンテンツ契約情報表示
*	ｖ26.00.00	2016/07/19	FJ)笠川		【ANK-2687-00-00】プレミアムサポート施策
*	ｖ49.00.00	2020/06/11	FJ)荒木		【ANK-3840-00-00】テレビリースサービス新規申込対応
*	 v65.00.00	2023/10/17	FJ)張		【ANK-4346-00-00】【eo定期】CCMG再構築対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JCNStrConst;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JZM0171Constant;
import eo.common.util.JZMAdOutputEdit;
import eo.web.webview.CNA00901SF.CNW00101SFConst;
import eo.web.webview.commonOneStop.JCKCommonConst;
import eo.web.webview.commonOneStop.JCNWebCommon;
import eo.web.webview.commonOneStop.JCNWebConst;
import eo.web.webview.commonOneStop.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class CNSV0001_CNSV0001OPDBMapper {

	
	/**
	 * コンストラクタ
	 */
	public CNSV0001_CNSV0001OPDBMapper(){
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV000101SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＳＹＳＩＤ → お客様一意照会マップ.SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → お客様一意照会マップ.世代登録年月日時分秒
		parentMap.put("gene_add_dtm", String.valueOf(""));
		// 部品呼び出し → お客様一意照会マップ.予約適用年月日
		// ST1-2012-0001018 2012/12/04 n.ajioka START
//		parentMap.put("rsv_aply_ymd", JCCWebCommon.getSysDate());
		parentMap.put("rsv_aply_ymd", opeDate);
		// ST1-2012-0001018 2012/12/04 n.ajioka END

		outputMap.put("CNSV000101SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	// ANK-4346-00-00 MOD START
	//public HashMap setCNSV000102SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
	public HashMap setCNSV000113CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
	// ANK-4346-00-00 MOD END
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＳＹＳＩＤ → コンテンツ契約一覧照会マップ.SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-4346-00-00 MOD START
		//// コンテンツサービスコード選択値 → コンテンツ契約一覧照会マップ.コンテンツサービスコード
		//parentMap.put("cont_svc_cd", bean[0].sendMessageString("コンテンツサービスコード選択値", X31CWebConst.DATABEAN_GET_VALUE));
		//// コンテンツ契約ステータス（契約中）値 → コンテンツ契約一覧照会マップ.コンテンツ契約状態契約中
		//parentMap.put("cont_kei_in", bean[0].sendMessageString("コンテンツ契約ステータス（契約中）値", X31CWebConst.DATABEAN_GET_VALUE));
		//// コンテンツ契約ステータス（契約終了）値 → コンテンツ契約一覧照会マップ.コンテンツ契約状態契約終了
		//parentMap.put("cont_kei_end", bean[0].sendMessageString("コンテンツ契約ステータス（契約終了）値", X31CWebConst.DATABEAN_GET_VALUE));
		//// コンテンツ契約ステータス（解約済）値 → コンテンツ契約一覧照会マップ.コンテンツ契約状態解約済
		//parentMap.put("cont_kei_out", bean[0].sendMessageString("コンテンツ契約ステータス（解約済）値", X31CWebConst.DATABEAN_GET_VALUE));

		//outputMap.put("CNSV000102SC", parentMap);
		// 契約状態コード選択値 → コンテンツ契約一覧情報取得（CCMG）CCマップ.コンテンツ契約状態コード
		parentMap.put("cont_kei_stat_cd", bean[0].sendMessageString("契約状態コード選択値", X31CWebConst.DATABEAN_GET_VALUE) );
		// 部品呼び出し → コンテンツ契約一覧情報取得（CCMG）CCマップ.ソート順  6:コンテンツサービスID、5:コンテンツID
		parentMap.put("sort", "6,5");
		// 部品呼び出し → コンテンツ契約一覧情報取得（CCMG）CCマップ.昇順/降順 0:昇順，0:昇順
		parentMap.put("sort_order", "0,0");
		// 部品呼び出し → コンテンツ契約一覧情報取得（CCMG）CCマップ.コンテンツ契約情報要否 1:要
		parentMap.put("return_contract", "1");
		// 部品呼び出し → コンテンツ契約一覧情報取得（CCMG）CCマップ.直近課金情報要否 0:不要
		parentMap.put("return_charge", "0");
		// 部品呼び出し → コンテンツ契約一覧情報取得（CCMG）CCマップ.契約付加情報要否 1:要
		parentMap.put("return_contract_adds", "1");

		outputMap.put("CNSV000113CC", parentMap);
		// ANK-4346-00-00 MOD END
						
		return outputMap;
	}

	// ANK-4346-00-00 DEL START
	///**
	// * 上りマッピングをする
	// * @param bean　[0]：コンテンツ契約一覧照会
	// * @param outputMap
	// * @param func_code　機能コード
	// */
	//@SuppressWarnings("unchecked")
	//public HashMap setCNSV000103SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
	//	
	//	if(bean == null){
	//		return null;
	//	}
	//	
	//	if(bean.length != 1){
	//		return null;
	//	}
    //
    //
	//	HashMap<String, Object> parentMap = new HashMap<String, Object>();
    //
	//	// 共通情報のマッピング
	//	parentMap.put("func_code", func_code);
    //
	//	// ＳＹＳＩＤ → コンテンツサービス一覧照会マップ.SYSID
	//	parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
    //
	//	outputMap.put("CNSV000103SC", parentMap);
	//					
	//	return outputMap;
	//}
	// ANK-4346-00-00 DEL END

	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ契約一覧照会(050IP電話アプリ)
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV000104SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＳＹＳＩＤ → コンテンツ契約一覧照会マップ.SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CNSV000104SC", parentMap);
						
		return outputMap;
	}

// ▽▽▽ ANK-2395-00-00 ADD START ▽▽▽
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV000105SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＳＹＳＩＤ → サービス契約一覧照会（SYSID）.SYSID
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CNSV000105SC", parentMap);
						
		return outputMap;
	}
// △△△ ANK-2395-00-00  ADD  END △△△
	
	// ANK-2754-00-00 2016/05/26 ADD START
	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV000101CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccessArray arraybean = bean[0].getDataBeanArray(JCKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess subbean = arraybean.getDataBean(0);
		
		// サービス契約番号 → ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", subbean.sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 割引サービスコード → ＫＥＹ＿割引サービスコード
		parentMap.put("key_work_param_id", "KK_FP_KEI_UM_JDG");
		// 異動区分 → 異動区分
		parentMap.put("ido_div", subbean.sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// コード種別コード(CD00576) → ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd", JZM0171Constant.CD00576);
		// コード種別コード(CD00037) → ＫＥＹ＿コード種別コード
		parentMap.put("key_cd_sbt_cd_svc", JZM0171Constant.CD00037);

		outputMap.put("CNSV000101CC", parentMap);
						
		return outputMap;
	}
	// ANK-2754-00-00 2016/05/26 ADD END
	// 2016/07/19 ANK-2687-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * 
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV000111CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccessArray arraybean = bean[0].getDataBeanArray(JCKCommonConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess subbean = arraybean.getDataBean(0);
		
		// ＫＥＹ＿ＳＹＳＩＤ → お客様ランク情報取得CC　ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", subbean.sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("CNSV000111CC", parentMap);

		return outputMap;
	}

	// 2016/07/11 ANK-2687-00-00 ADD END

// ANK-3840-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：機器提供サービス契約一覧
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV000112CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 部品呼び出し → ＫＥＹ＿機能コード
		parentMap.put("key_func_code", String.valueOf(JKKCommonConst.VCMS_TEGAK_SVC_FUNC_CODE));
		// 部品呼び出し → ＫＥＹ＿契約種別コード
		parentMap.put("key_kyk_sbt_cd", String.valueOf(JKKCommonConst.VCMS_TEGAK_SVC_KYK_SBT_CODE));
		// SYSID → ＫＥＹ＿ＳＹＳＩＤ
		parentMap.put("key_sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("CNSV000112CC", parentMap);
		
		return outputMap;
	}
// ANK-3840-00-00 ADD END
	// ANK-4346-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setCNSV000106SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// コード種別コード → コード名称管理コード区分一覧照会マップ.コード種別コード
		parentMap.put("cd_sbt_cd", JZM0171Constant.CD01821);
		// 基準日 → コード名称管理コード区分一覧照会マップ.基準日
		parentMap.put("stdardymd", opeDate);

		outputMap.put("CNSV000106SC", parentMap);
						
		return outputMap;
	}
	// ANK-4346-00-00 ADD END

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCNSV000101SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CNSV000101SC")){
			parentMap = (HashMap)outputMap.get("CNSV000101SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCNSV000101SC_cust_kobet_cust_list = bean[0].getDataBeanArray("お客様個別");
		childList = null;
		if(listCNSV000101SC_cust_kobet_cust_list != null && parentMap != null && parentMap.containsKey("cust_list")){
			childList = (ArrayList)parentMap.get("cust_list");

			for(int i = 0; i < childList.size(); i++){
				X31SDataBeanAccess subbean = null;
				if(listCNSV000101SC_cust_kobet_cust_list.getCount() -1 >= i){
					subbean = listCNSV000101SC_cust_kobet_cust_list.getDataBean(i);
				}else{
					subbean = listCNSV000101SC_cust_kobet_cust_list.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null) {
					continue;
				}
			
				// お客様個別.ｅｏＩＤ ← お客様一意照会マップ.お客様一覧照会リスト.eoID
				if (childMap != null) {
					subbean.sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("eoid"));
				} else {
					subbean.sendMessageString("ｅｏＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様カナ氏名 ← お客様一意照会マップ.お客様一覧照会リスト.お客様カナ名
				if (childMap != null) {
					subbean.sendMessageString("お客様カナ氏名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_kana"));
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					subbean.sendMessageString("お客様カナ氏名（表示）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_kana"));
					/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
				} else {
					subbean.sendMessageString("お客様カナ氏名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様氏名 ← お客様一意照会マップ.お客様一覧照会リスト.お客様名
				if (childMap != null) {
					subbean.sendMessageString("お客様氏名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					subbean.sendMessageString("お客様氏名（表示）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_nm"));
					/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
				} else {
					subbean.sendMessageString("お客様氏名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.契約者住所 ← お客様一意照会マップ.お客様一覧照会リスト.契約者住所コード
				if (childMap != null) {
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					String adWork = JZMAdOutputEdit.getPtn01(
							(String)childMap.get("cont_state_nm"),
							(String)childMap.get("cont_city_nm"),
							(String)childMap.get("cont_oaztsu_nm"),
							(String)childMap.get("cont_azcho_nm"),
							(String)childMap.get("cont_bnchigo"),
							(String)childMap.get("cont_adrttm"),
							(String)childMap.get("cont_adrrm"));
					subbean.sendMessageString("契約者住所", X31CWebConst.DATABEAN_SET_VALUE, adWork);
					subbean.sendMessageString("契約者住所（表示）", X31CWebConst.DATABEAN_SET_VALUE, adWork);
					/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
				} else {
					subbean.sendMessageString("契約者住所", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様ステータス ← お客様一意照会マップ.お客様一覧照会リスト.お客様ステータス
				if (childMap != null) {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat"));
				} else {
					subbean.sendMessageString("お客様ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様ステータス名 ← お客様一意照会マップ.お客様一覧照会リスト.お客様ステータス名
				if (childMap != null) {
					subbean.sendMessageString("お客様ステータス名", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_stat_nm"));
				} else {
					subbean.sendMessageString("お客様ステータス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.会員種別コード ← お客様一意照会マップ.お客様一覧照会リスト.会員種別コード
				if (childMap != null) {
					subbean.sendMessageString("会員種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("member_sbt_cd"));
				} else {
					subbean.sendMessageString("会員種別コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.会員種別 ← お客様一意照会マップ.お客様一覧照会リスト.会員種別コード名
				if (childMap != null) {
					subbean.sendMessageString("会員種別", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("member_sbt_cd_nm"));
				} else {
					subbean.sendMessageString("会員種別", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.お客様誕生日 ← お客様一意照会マップ.お客様一覧照会リスト.お客様生年月日
				if (childMap != null) {
					subbean.sendMessageString("お客様誕生日", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_birthd"));
					/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
					subbean.sendMessageString("お客様誕生日（表示）", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cust_birthd"));
					/* ++++++++++ v1.00.00 追加終了 ++++++++++ */
				} else {
					subbean.sendMessageString("お客様誕生日", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// お客様個別.更新年月日時分秒 ← お客様一意照会マップ.お客様一覧照会リスト.更新年月日時分秒
				if (childMap != null) {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("upd_dtm"));
				} else {
					subbean.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
			}
		}


		return bean;
	}

	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	// ANK-4346-00-00 MOD START
	//public X31SDataBeanAccess[] getCNSV000102SC(X31SDataBeanAccess[] bean, HashMap outputMap ,boolean authFlg, long lopeDatetime){
	public X31SDataBeanAccess[] getCNSV000113CC(X31SDataBeanAccess[] bean, HashMap outputMap ,boolean authFlg, long lopeDatetime){
	// ANK-4346-00-00 MOD END

		HashMap parentMap = null;
		// ANK-4346-00-00 MOD START
		//if(outputMap.containsKey("CNSV000102SC")){
		//	parentMap = (HashMap)outputMap.get("CNSV000102SC");
		//}
		if(outputMap.containsKey("CNSV000113CC")){
			parentMap = (HashMap)outputMap.get("CNSV000113CC");
		}
		// ANK-4346-00-00 MOD END

		/* ++++++++++ v1.00.00 追加開始 ++++++++++ */
		ArrayList childList = null;
		ArrayList svcList = null;

		// ANK-2139-00-00 ADD START
		// スマートリンクコンテンツ全解約ボタンの表示制御(初期値は"0":表示しない)
		bean[0].sendMessageString(CNW00101SFConst.SMLN_CN_ALL_DSL, X31CWebConst.DATABEAN_SET_VALUE, "0");
		
		// 判定用設定値格納用変数
		String strContSvcCd = "";
		String strContKeiStatCd = "";
		long lContKeiEndDtm = 0;
		
		// ANK-2139-00-00 ADD END
		
		// ANK-4346-00-00 MOD START
		//X31SDataBeanAccessArray listCNSV000102SC_cont_svc_kobet_list_cont_kei_list = bean[0].getDataBeanArray("コンテンツサービス個別");
		//childList = null;
		//if(listCNSV000102SC_cont_svc_kobet_list_cont_kei_list != null && parentMap != null && parentMap.containsKey("cont_kei_list")){
		X31SDataBeanAccessArray listCNSV000113CC_cont_svc_kobet_list_cont_kei_list = bean[0].getDataBeanArray("コンテンツサービス個別");
		childList = null;
		if(listCNSV000113CC_cont_svc_kobet_list_cont_kei_list != null && parentMap != null && parentMap.containsKey("cont_kei_list")){
		// ANK-4346-00-00 MOD END
			childList = (ArrayList)parentMap.get("cont_kei_list");
			svcList = (ArrayList)parentMap.get("cont_svc_detail_list");

			for(int i = 0, j = 0; i < childList.size(); ){
				// 明細カウント初期化
				X31SDataBeanAccess subbean = null;
				// ANK-4346-00-00 MOD START
				//if(listCNSV000102SC_cont_svc_kobet_list_cont_kei_list.getCount() -1 >= i){
				//	subbean = listCNSV000102SC_cont_svc_kobet_list_cont_kei_list.getDataBean(i);
				//}else{
				//	subbean = listCNSV000102SC_cont_svc_kobet_list_cont_kei_list.addDataBean();
				//}
				if(listCNSV000113CC_cont_svc_kobet_list_cont_kei_list.getCount() -1 >= i){
					subbean = listCNSV000113CC_cont_svc_kobet_list_cont_kei_list.getDataBean(i);
				}else{
					subbean = listCNSV000113CC_cont_svc_kobet_list_cont_kei_list.addDataBean();
				}
				// ANK-4346-00-00 MOD END
				HashMap childMap = (HashMap)childList.get(i);
				HashMap svcMap = (HashMap)svcList.get(i);
				if (subbean == null) {
					continue;
				}

				// コンテンツサービス個別処理
				// コンテンツサービス個別.コンテンツサービス名 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツサービス名
				if (childMap != null) {
					subbean.sendMessageString("コンテンツサービス名", X31CWebConst.DATABEAN_SET_VALUE, (String)svcMap.get("cont_svc_nm"));
				} else {
					subbean.sendMessageString("コンテンツサービス名", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				// コンテンツサービス個別.コンテンツサービスコード ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツサービスコード
				if (childMap != null) {
					subbean.sendMessageString("コンテンツサービスコード", X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get("cont_svc_cd"));
				} else {
					subbean.sendMessageString("コンテンツサービスコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
				}
				
				// 比較用にコンテンツサービス名取得
				String saveStr = (String)svcMap.get("cont_svc_nm");
				X31SDataBeanAccessArray detailArray = subbean.getDataBeanArray("コンテンツ契約個別");
				for (j = i; j <  childList.size(); j++, i++) {
					HashMap detailMap = (HashMap)childList.get(j);
					HashMap diffSvcMap = (HashMap)svcList.get(j);
					// コンテンツサービス名が異なれば、次のコンテンツサービス単位へ
					if (!saveStr.equals((String)diffSvcMap.get("cont_svc_nm"))) {
						break;
					}
					
					// コンテンツ契約個別処理
					X31SDataBeanAccess detail = detailArray.addDataBean();
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツ契約番号 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ契約番号
					if (detailMap != null) {
						detail.sendMessageString("コンテンツ契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_kei_no"));
					} else {
						detail.sendMessageString("コンテンツ契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツコード ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツコード
					if (detailMap != null) {
						detail.sendMessageString("コンテンツコード", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_cd"));
					} else {
						detail.sendMessageString("コンテンツコード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツ名 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ名
					if (detailMap != null) {
						// ANK-2663-00-00 MOD START
						//detail.sendMessageString("コンテンツ名", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_nm"));
						// コンテンツ名用編集
						String wkContNm = "";
						// コンテンツサービスコードが0070（LaLaCall）かつ仕入先が設定されている場合
						if (JCNStrConst.CN0011_CONT_SVC_CD_050.equals((String)detailMap.get("cont_svc_cd")) && (String)detailMap.get("supplier") != null 
								&& !"".equals((String)detailMap.get("supplier"))){
							wkContNm = (String)detailMap.get("cont_nm") + "【" + (String)detailMap.get("supplier") + "】";
						} else {
							wkContNm = (String)detailMap.get("cont_nm") ;
						}
						detail.sendMessageString("コンテンツ名", X31CWebConst.DATABEAN_SET_VALUE, wkContNm);
						// ANK-2663-00-00 MOD END
					} else {
						detail.sendMessageString("コンテンツ名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツサービス種別コード ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ種別コード
					if (detailMap != null) {
						detail.sendMessageString("コンテンツサービス種別コード", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_sbt_cd"));
					} else {
						detail.sendMessageString("コンテンツサービス種別コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツ契約ステータス ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ契約状態コード
					if (detailMap != null) {
						detail.sendMessageString("コンテンツ契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_kei_stat_cd"));
					} else {
						detail.sendMessageString("コンテンツ契約ステータス", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツ契約ステータス和名 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ契約スタータス名
					if (detailMap != null) {
						detail.sendMessageString("コンテンツ契約ステータス和名", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_kei_stat_nm"));
					} else {
						detail.sendMessageString("コンテンツ契約ステータス和名", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツ契約開始日 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ契約開始年月日時分秒
					if (detailMap != null) {
						String dateWork = (String)detailMap.get("cont_kei_sta_dtm");
						if (dateWork != null && dateWork.length() != 0)
						{
							detail.sendMessageString("コンテンツ契約開始日", X31CWebConst.DATABEAN_SET_VALUE, dateWork.substring(0, 8));
						}
						else
						{
							detail.sendMessageString("コンテンツ契約開始日", X31CWebConst.DATABEAN_SET_VALUE, new String());
						}
					} else {
						detail.sendMessageString("コンテンツ契約開始日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツ契約終了日 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ契約終了年月日時分秒
					if (detailMap != null) {
						String dateWork = (String)detailMap.get("cont_kei_end_dtm");
						if (dateWork != null && dateWork.length() != 0)
						{
							if (dateWork.substring(0, 8).equals(JCNWebConst.DEFAULT_END_DTM))
							{
								dateWork = "";
							}
							else
							{
								dateWork = dateWork.substring(0, 8);
							}
							detail.sendMessageString("コンテンツ契約終了日", X31CWebConst.DATABEAN_SET_VALUE, dateWork);
						}
						else
						{
							detail.sendMessageString("コンテンツ契約終了日", X31CWebConst.DATABEAN_SET_VALUE, new String());
						}
					} else {
						detail.sendMessageString("コンテンツ契約終了日", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツ支払い方法コード ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.コンテンツ支払方法コード
					if (detailMap != null) {
						detail.sendMessageString("コンテンツ支払い方法コード", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_payway_cd"));
					} else {
						detail.sendMessageString("コンテンツ支払い方法コード", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.クレジットカードＩＤ ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.クレジットカードID
					if (detailMap != null) {
						detail.sendMessageString("クレジットカードＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("crecard_id"));
					} else {
						detail.sendMessageString("クレジットカードＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.ＩＳＰ決済サービス契約番号 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.ISP決済サービス契約番号
					if (detailMap != null) {
						detail.sendMessageString("ＩＳＰ決済サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("isp_kssai_svc_kei_no"));
					} else {
						detail.sendMessageString("ＩＳＰ決済サービス契約番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.更新年月日時分秒 ← コンテンツ契約一覧照会マップ.コンテンツ契約一覧照会リスト.更新年月日時分秒
					if (detailMap != null) {
						detail.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("upd_dtm"));
					} else {
						detail.sendMessageString("更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					// コンテンツサービス個別.コンテンツ契約個別.コンテンツＩＤ
					if (detailMap != null) {
						detail.sendMessageString("コンテンツＩＤ", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_cd"));
					} else {
						detail.sendMessageString("コンテンツＩＤ", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}

					// 支払い方法表示用編集
					String payway = "";
					if (detailMap.get("cont_payway_cd").equals(JCNWebConst.PAYWAY_CD_CRECA))
					{
						// クレジットカード決済
//						ｖ20.00.00 Mod Start
//						payway = "クレジットカード　" + (String)detailMap.get("crecard_comp_nm") + "　" + JCNWebCommon.crecardNoEdit((String)detailMap.get("crecard_no"));
						// ANK-4346-00-00 MOD START
						// payway = JCNWebCommon.editCreditCard((String)detailMap.get("crecard_comp_nm"),
						payway = JCNWebCommon.editCreditCard((String)detailMap.get("crecard_comp_ali"),
						// ANK-4346-00-00 MOD END
															(String)detailMap.get("crecard_no"),
															(String)detailMap.get("crecard_yk_kigen"),
															(String)detailMap.get("crecard_no_azkri_id"));
//						ｖ20.00.00 Mod End
						if(!authFlg)
						{
							payway = JCNStrConst.MASK_CARD_NO;
						}
					}
					else if (detailMap.get("cont_payway_cd").equals(JCNWebConst.PAYWAY_CD_ISP))
					{
						// ISP決済
						payway = "プロバイダ料金に合算【お客さまID：" + (String)detailMap.get("isp_kssai_svc_kei_no") + "】";
					}
					else
					{
						payway = "";
					}
					if (childMap != null) {
						detail.sendMessageString("支払い方法表示", X31CWebConst.DATABEAN_SET_VALUE, payway);
					} else {
						detail.sendMessageString("支払い方法表示", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					if (j % 2 == 1) {
						detail.sendMessageString("ＣＳＳクラス名", X31CWebConst.DATABEAN_SET_VALUE, "odd");
					} else {
						detail.sendMessageString("ＣＳＳクラス名", X31CWebConst.DATABEAN_SET_VALUE, "even");
					}
					// 行番号
					detail.sendMessageString("行番号", X31CWebConst.DATABEAN_SET_VALUE, Integer.toString(j));
					
					// コンテンツサービス個別.コンテンツ契約個別.０５０電話番号
					if (detailMap != null) {
						detail.sendMessageString("０５０電話番号", X31CWebConst.DATABEAN_SET_VALUE, JCNWebCommon.formatTelNo((String)detailMap.get("n_050_telno")));
					} else {
						detail.sendMessageString("０５０電話番号", X31CWebConst.DATABEAN_SET_VALUE, new String());
					}
					
					// ANK-2139-00-00 ADD START
					// コンテンツサービスコード、コンテンツ契約種別コード、コンテンツ契約終了年月日を取得し、ボタン表示判定を実施
					if (detailMap != null) {
						strContSvcCd = (String)childMap.get("cont_svc_cd");
						strContKeiStatCd = (String)detailMap.get("cont_kei_stat_cd");
						
						if (detailMap.containsKey("cont_kei_end_dtm"))
						{
							if (null != detailMap.get("cont_kei_end_dtm") && !"".equals(detailMap.get("cont_kei_end_dtm")))
							{
								lContKeiEndDtm = Long.valueOf(((String)detailMap.get("cont_kei_end_dtm")));
							}
						}
					}
					
					// コンテンツサービスがスマリンプレミアムパックか判定、契約ステータスが0:契約中か判定
					if(JCNStrConst.SMLN_CONT_SVC_CD.equals(strContSvcCd) && "0".equals(strContKeiStatCd))
					{
						lContKeiEndDtm = Long.valueOf(((String)detailMap.get("cont_kei_end_dtm")));
						
						// スマリンプレミアムパックかつ契約中かつ、終了年月日が未来日の場合はボタンを表示する
						if(lContKeiEndDtm >= lopeDatetime)
						{
							// スマートリンクコンテンツ全解約ボタンの表示制御("1":表示しない)
							bean[0].sendMessageString(CNW00101SFConst.SMLN_CN_ALL_DSL, X31CWebConst.DATABEAN_SET_VALUE, "1");
							
							// ANK-2139-02-00 ADD START
							bean[0].sendMessageString("スマートリンクコンテンツ契約番号", X31CWebConst.DATABEAN_SET_VALUE, (String)detailMap.get("cont_kei_no"));
							
							String strUpddtm = "";
							if (detailMap.containsKey("upd_dtm"))
							{
								strUpddtm = ((String)detailMap.get("upd_dtm")).substring(0, 14);
							}
							bean[0].sendMessageString("スマートリンク更新年月日時分秒", X31CWebConst.DATABEAN_SET_VALUE, strUpddtm);
							// ANK-2139-02-00 ADD END
						}
					}
					
					// ANK-2139-00-00 ADD END
				}
			}
		}
		/* ++++++++++ v1.00.00 追加終了 ++++++++++ */

		return bean;
	}

	// ANK-4346-00-00 DEL START
	///**
	// * 下りマッピング
	// * 
	// * @param bean　[0]：コンテンツ契約一覧照会
	// * @param outputMap
	// */
	//@SuppressWarnings("unchecked")
	//public X31SDataBeanAccess[] getCNSV000103SC(X31SDataBeanAccess[] bean, HashMap outputMap){
    //
	//	HashMap parentMap = null;
	//	if(outputMap.containsKey("CNSV000103SC")){
	//		parentMap = (HashMap)outputMap.get("CNSV000103SC");
	//	}
    //
	//	ArrayList childList = null;
	//	
    //
	//	X31SDataBeanAccessArray listCNSV000103SC_cont_svc_nm_list_cont_svc_list = bean[0].getDataBeanArray("コンテンツサービス名");
	//	childList = null;
	//	if(listCNSV000103SC_cont_svc_nm_list_cont_svc_list != null && parentMap != null && parentMap.containsKey("cont_svc_list")){
	//		childList = (ArrayList)parentMap.get("cont_svc_list");
    //
	//		X31SDataBeanAccess subbean = null;
	//		subbean = listCNSV000103SC_cont_svc_nm_list_cont_svc_list.getDataBean(0);
    //
	//		// 一つ目はブランク設定
	//		// コンテンツサービス名.コンテンツサービスコード ← ""
	//		subbean.sendMessageString("コンテンツサービスコード", X31CWebConst.DATABEAN_ADD_VALUE, "");
	//		// コンテンツサービス名.コンテンツサービス名 ← ""
	//		subbean.sendMessageString("コンテンツサービス名", X31CWebConst.DATABEAN_ADD_VALUE, "");
	//		for(int i = 0; i < childList.size(); i++){
	//			HashMap childMap = (HashMap)childList.get(i);
    //
	//			// コンテンツサービス名.コンテンツサービスコード ← コンテンツサービス一覧照会マップ.コンテンツサービス一覧照会リスト.コンテンツサービスコード
	//			subbean.sendMessageString("コンテンツサービスコード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cont_svc_cd"));
	//			// コンテンツサービス名.コンテンツサービス名 ← コンテンツサービス一覧照会マップ.コンテンツサービス一覧照会リスト.コンテンツサービス名
	//			subbean.sendMessageString("コンテンツサービス名", X31CWebConst.DATABEAN_ADD_VALUE, String.valueOf(i+1) + "." + ((String)childMap.get("cont_svc_nm")));
	//		}
	//	}
    //
    //
	//	return bean;
	//}
	// ANK-4346-00-00 DEL END
	
	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ契約一覧照会(050IP電話アプリサービス用)
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCNSV000104SC(X31SDataBeanAccess[] bean, HashMap outputMap, String opeDate) {

		HashMap parentMap = null;
		if(outputMap.containsKey("CNSV000104SC")){
			parentMap = (HashMap)outputMap.get("CNSV000104SC");
		}

		// コンテンツ050電話番号契約内訳一覧照会の実行結果を取得
		ArrayList utiwakeList = new ArrayList();
		utiwakeList = (ArrayList)parentMap.get("ECN0331B001CBSMsg1List");
		
		String n050ContKeiNo = "";
		String endDtm050 = "";
		
		HashMap utiwakeMap = new HashMap();
		if(utiwakeList != null)
		{
			if(utiwakeList.size() != 0)
			{
				utiwakeMap = (HashMap) utiwakeList.get(0);
				n050ContKeiNo = (String) utiwakeMap.get("cont_kei_no");
				
				bean[0].sendMessageString(CNW00101SFConst.N_050_CONT_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, n050ContKeiNo);
			
			
				if("".equals(n050ContKeiNo))
				{
					// コンテンツ050電話番号内訳.コンテンツ契約番号が取得できない場合はボタン非表示("3")を設定
					bean[0].sendMessageString(CNW00101SFConst.MEISAI_BTN_DISP_CTL, X31CWebConst.DATABEAN_SET_VALUE, "3");
				}
				else
				{
					endDtm050 = (String) utiwakeMap.get("svc_end_dtm");
					// サービス終了年月日がNULLの場合は20991231を設定
					if("".equals(endDtm050))
					{
						endDtm050 = "20991231";
					}
	
					// プロパティから050IP電話通話明細保管月数を取得
					String saveMM = JCNWebCommon.getApplicationConst("CN_050_MEISAI_SAVE_MM");
					// オンライン運用日の年月を取得
					String opeDateMM = opeDate.substring(0, 6);
					
					try {
						saveMM = JCNWebCommon.addMonth(endDtm050.substring(0, 8), Integer.parseInt(saveMM));
					} catch (Exception e) {
						e.printStackTrace();
					}
					saveMM = saveMM.substring(0, 6);
					
					if(Integer.parseInt(saveMM) >= Integer.parseInt(opeDateMM))
					{
						bean[0].sendMessageString(CNW00101SFConst.MEISAI_BTN_DISP_CTL, X31CWebConst.DATABEAN_SET_VALUE, "1");
					}
					else
					{
						bean[0].sendMessageString(CNW00101SFConst.MEISAI_BTN_DISP_CTL, X31CWebConst.DATABEAN_SET_VALUE, "2");
					}
				}
	
			}
			else
			{
				// コンテンツ050電話番号内訳.コンテンツ契約番号が取得できない場合はボタン非表示("3")を設定
				bean[0].sendMessageString(CNW00101SFConst.MEISAI_BTN_DISP_CTL, X31CWebConst.DATABEAN_SET_VALUE, "3");
			}
		}
		else
		{
			// コンテンツ050電話番号内訳.コンテンツ契約番号が取得できない場合はボタン非表示("3")を設定
			bean[0].sendMessageString(CNW00101SFConst.MEISAI_BTN_DISP_CTL, X31CWebConst.DATABEAN_SET_VALUE, "3");
		}
		
		return bean;
	}

// ▽▽▽ ANK-2395-00-00 ADD START ▽▽▽
	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCNSV000105SC(X31SDataBeanAccess[] bean, HashMap outputMap) {

		HashMap parentMap = null;
		if(outputMap.containsKey("CNSV000105SC")){
			parentMap = (HashMap)outputMap.get("CNSV000105SC");
		}

		// サービス契約一覧照会（SYSID）の実行結果を取得
		ArrayList childList = new ArrayList();
		childList = (ArrayList)parentMap.get("EKK0081B002CBSMsg1List");

		String prcGrpCd = "";
		String pcrsCd = "";
		String svcKeiStat = "";
		String svcKeiNo = "";

		if(childList != null)
		{
			for(int i = 0; i < childList.size(); i++){
				
				HashMap childMap = (HashMap)childList.get(i);
				
				prcGrpCd = (String) childMap.get("prc_grp_cd");       // 料金グループコード
				pcrsCd = (String) childMap.get("pcrs_cd");            // 料金コースコード
				svcKeiStat = (String) childMap.get("svc_kei_stat");   // サービス契約ステータス
				
				
				if(prcGrpCd.equals(JCNStrConst.PRGP_CD_SVC_CD_HOSTING) && pcrsCd.equals(JCNStrConst.PCRS_CD_HOSTING_STDARD_CONT))
				{
					// 料金グループが「"14"=ホスティング」かつ、料金コースが「"A58"=ホスティング（標準コンテンツ用）」の場合
					if(svcKeiStat.equals(JKKStrConst.CD00037_SVCTK_CHU))
					{
						// サービス契約ステータスが「"100"=サービス提供中」のものがあれば優先して設定
						svcKeiNo = (String) childMap.get("svc_kei_no");
						break;
					}
					else if(svcKeiNo == null || svcKeiNo.equals(""))
					{
						// サービス契約ステータスが「100"=サービス提供中」以外は順不同のため、先に取れたものを設定
						svcKeiNo = (String) childMap.get("svc_kei_no");
					}
				}
			}
			
			bean[0].sendMessageString(CNW00101SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);
			
			if(svcKeiNo == null || svcKeiNo.equals(""))
			{
				// 条件に合致するサービス契約番号が取得できない場合は、対応履歴ボタン非表示("1")を設定
				bean[0].sendMessageString(CNW00101SFConst.TAIORRKI_BTN_DISP_CTL, X31CWebConst.DATABEAN_SET_VALUE, "1");
			}
		}
		else{
			// サービス契約番号が存在しない場合は、対応履歴ボタン非表示("1")を設定
			bean[0].sendMessageString(CNW00101SFConst.TAIORRKI_BTN_DISP_CTL, X31CWebConst.DATABEAN_SET_VALUE, "1");
		}

		return bean;
	}
// △△△ ANK-2395-00-00  ADD  END △△△
	// ANK-4346-00-00 ADD START
	/**
	 * 下りマッピング
	 * @param bean　[0]：コンテンツ契約一覧照会
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getCNSV000106SC(X31SDataBeanAccess[] bean, HashMap outputMap){

		HashMap parentMap = null;
		if(outputMap.containsKey("CNSV000106SC")){
			parentMap = (HashMap)outputMap.get("CNSV000106SC");
		}

		ArrayList childList = null;
		

		X31SDataBeanAccessArray listCNSV000106SC_kei_state_list_cd_nm_knr_list = bean[0].getDataBeanArray("契約状態リスト");
		childList = null;
		if(listCNSV000106SC_kei_state_list_cd_nm_knr_list != null && parentMap != null && parentMap.containsKey("cd_nm_knr_list")){
			childList = (ArrayList)parentMap.get("cd_nm_knr_list");

			X31SDataBeanAccess subbean = null;
			subbean = listCNSV000106SC_kei_state_list_cd_nm_knr_list.getDataBean(0);

			// 一つ目はブランク設定
			for(int i = 0; i < childList.size(); i++){
				HashMap childMap = (HashMap)childList.get(i);
			
				// 契約状態リスト.異動区分コード ← コード名称管理コード区分一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分
				subbean.sendMessageString("異動区分コード", X31CWebConst.DATABEAN_ADD_VALUE, (String)childMap.get("cd_kbn"));
				// 契約状態リスト.異動区分名 ← コード名称管理コード区分一覧照会マップ.コード名称管理コード区分一覧照会明細.コード区分名
				subbean.sendMessageString("異動区分名", X31CWebConst.DATABEAN_ADD_VALUE, String.valueOf(i+1) + "." + ((String)childMap.get("cd_kbn_nm")));
			}
		}


		return bean;
	}
	// ANK-4346-00-00 ADD END
}