/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0050_FUSV0050OPDBMapper
*	ソースファイル名：FUSV0050_FUSV0050OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年11月21日
*＜機能概要＞
*	BP（eo光テレビオプションチャンネル解約(解約)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/11/21	FJ			新規作成
*	v4.00		2012/09/19	FJ) 美濃原	定数化
*	v4.00		2012/10/15	FJ)　大島	「ANK-1223-00-00」進捗補事項編集対応
*
**********************************************************************/
package eo.web.webview.mapping;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

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.JFUStrConst;
import eo.web.webview.FUW06401SF.FUW06401SFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングです。
 *
 * <br>
 * @author 富士通
 */
public class FUSV0050_FUSV0050OPDBMapper
{

	/** 機器提供サービス契約一覧照会（サービス契約番号）マップ */
	private static final String FUSV005001_S_C = "FUSV005001SC";
	/** オプションチャンネル契約一覧照会マップ */
	private static final String FUSV005002_S_C = "FUSV005002SC";
	/** 機器提供サービス契約一覧照会（eo光テレビ情報取得）マップ ※STB*/
	private static final String FUSV005003_S_C = "FUSV005003SC";

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	/** ＫＥＹ＿サービス契約番号 */
	private static final String KEY_SVC_KEI_NO = "key_svc_kei_no";

	/** 機器提供サービス契約一覧照会（サービス契約番号）明細 */
	private static final String EKK0341_B002_C_B_S_MSG1_LIST = "EKK0341B002CBSMsg1List";
	/** 機器提供サービス契約番号 */
	private static final String KKTK_SVC_KEI_NO = "kktk_svc_kei_no";
	/** 機器提供サービスコード */
	private static final String KKTK_SVC_CD = "kktk_svc_cd";
	/** 機器製造番号 */
	private static final String KIKI_SEIZO_NO = "kiki_seizo_no";
	/** 機器提供サービス契約ステータス */
	private static final String KKTK_SVC_KEI_STAT = "kktk_svc_kei_stat";
	/** 予約適用年月日 */
	private static final String RSV_APLY_YMD = "rsv_aply_ymd";

	/** オプションチャンネル契約一覧照会明細 */
	private static final String EKK0351_B507_C_B_S_MSG1_LIST = "EKK0351B507CBSMsg1List";
	/** オプションサービス契約番号 */
	private static final String OP_SVC_KEI_NO = "op_svc_kei_no";
	/** オプションサービス契約ステータス */
	private static final String OP_SVC_KEI_STAT = "op_svc_kei_stat";
	/** 更新年月日時分秒 */
	private static final String UPD_DTM = "upd_dtm";
	/** オプションサービスコード */
	private static final String OP_SVC_CD = "op_svc_cd";
	/** オプションサービスコード名称 */
	private static final String OP_SVC_CD_NM = "op_svc_cd_nm";
	/** オプションチャンネル種別コード */
	private static final String OP_CHANNEL_SBT_CD = "op_channel_sbt_cd";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** サービス契約内訳番号 */
	private static final String SVC_KEI_UCWK_NO = "svc_kei_ucwk_no";
	/** 機器提供サービス契約番号（STB） */
	private static final String KKTK_SVC_KEI_NO_STB = "kktk_svc_kei_no_stb";
	/** 機器製造番号（STB） */
	private static final String KIKI_SEIZO_NO_STB = "kiki_seizo_no_stb";
	/** 機器提供サービス契約番号（CCAS） */
	private static final String KKTK_SVC_KEI_NO_CCAS = "kktk_svc_kei_no_ccas";
	/** 機器製造番号（CCAS） */
	private static final String KIKI_SEIZO_NO_CCAS = "kiki_seizo_no_ccas";

	/** ＳＹＳＩＤ */
	private static final String CC_SYSID = "cc_sysid";
	/** サービス契約番号 */
	private static final String CC_SVC_KEI_NO = "cc_svc_kei_no";
	/** 請求契約番号 */
	private static final String CC_SEIKY_KEI_NO = "cc_seiky_kei_no";
	/** オプションチャンネル契約解約一覧 */
	private static final String CC_OP_SVC_KEI_DSL_LIST = "cc_op_svc_kei_dsl_list";
	/** オプションサービスコード */
	private static final String CC_OP_SVC_CD = "cc_op_svc_cd";
	/** オプションサービス契約番号 */
	private static final String CC_OP_SVC_KEI_NO = "cc_op_svc_kei_no";
	/** サービス契約内訳番号 */
	private static final String CC_SVC_KEI_UCWK_NO = "cc_svc_kei_ucwk_no";
	/** オプションサービス契約ステータス */
	private static final String CC_OP_SVC_KEI_STAT = "cc_op_svc_kei_stat";
	/** 更新年月日時分秒 */
	private static final String CC_UPD_DTM = "cc_upd_dtm";
	/** 進捗特記事項1 */
	private static final String CC_PRG_TKJK_1 = "cc_prg_tkjk_1";
	/** 特記事項１要素を取得する際のid */
	private static final String PRGADD_ID = "0";
	/** eo光テレビオプションチャンネル解約マップ */
	private static final String DSL_OP_SVC_KEI_MAP = "dslOpSvcKeiMap";

	/**
	 * コンストラクタです。
	 */
	public FUSV0050_FUSV0050OPDBMapper()
	{
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV005001SC(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_SVC_KEI_NO, bean[0].sendMessageString(FUW06401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV005001_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV005002SC(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_SVC_KEI_NO, bean[0].sendMessageString(FUW06401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV005002_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV005003SC(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_SVC_KEI_NO, bean[0].sendMessageString(FUW06401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV005003_S_C, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル解約
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setdslOpSvcKeiMap(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 1)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// ＳＹＳＩＤ → eo光テレビオプションチャンネル解約マップ.SYSID
		parentMap.put(CC_SYSID, bean[0].sendMessageString(FUW06401SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号 → eo光テレビオプションチャンネル解約マップ.サービス契約番号
		parentMap.put(CC_SVC_KEI_NO, bean[0].sendMessageString(FUW06401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約番号 → eo光テレビオプションチャンネル解約マップ.請求契約番号
		parentMap.put(CC_SEIKY_KEI_NO, bean[0].sendMessageString(FUW06401SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		beanTemp = bean[0];
		// オプションチャンネル契約解約一覧
		arraybean = beanTemp.getDataBeanArray(FUW06401SFConst.OP_CHANNEL_KEI_DSL_LIST);
		if (parentMap.containsKey(CC_OP_SVC_KEI_DSL_LIST))
		{
			list = (ArrayList)parentMap.get(CC_OP_SVC_KEI_DSL_LIST);
		}
		else
		{
			list = new ArrayList();
		}
		if (arraybean != null && arraybean.getCount() > 0)
		{
			for (int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				HashMap childMap = null;
				if (list.size() - 1 >= i)
				{
					childMap = (HashMap)list.get(i);
				}
				else
				{
					childMap = new HashMap();
				}

				// オプションチャンネル契約解約一覧.オプションサービスコード 
				//	→ eo光テレビオプションチャンネル解約マップ.オプションサービス契約解約一覧.オプションサービスコード
				if (subbean != null)
				{
					childMap.put(CC_OP_SVC_CD, subbean.sendMessageString(FUW06401SFConst.OP_SVC_CD_01, X31CWebConst.DATABEAN_GET_VALUE));
				}
				// オプションチャンネル契約解約一覧.オプションサービス契約番号 
				//	→ eo光テレビオプションチャンネル解約マップ.オプションサービス契約解約一覧.オプションサービス契約番号
				if (subbean != null)
				{
					childMap.put(CC_OP_SVC_KEI_NO, subbean.sendMessageString(FUW06401SFConst.OP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_GET_VALUE));
				}
				// オプションチャンネル契約解約一覧.更新年月日時分秒 → eo光テレビオプションチャンネル解約マップ.オプションサービス契約解約一覧.更新年月日時分秒
				if (subbean != null)
				{
					childMap.put(CC_UPD_DTM, subbean.sendMessageString(FUW06401SFConst.UPD_DTM_01, X31CWebConst.DATABEAN_GET_VALUE));
				}
				// オプションチャンネル契約解約一覧.サービス契約内訳番号 
				//	→ eo光テレビオプションチャンネル解約マップ.オプションサービス契約解約一覧.サービス契約内訳番号
				if (subbean != null)
				{
					childMap.put(CC_SVC_KEI_UCWK_NO, subbean.sendMessageString(FUW06401SFConst.SVC_KEI_UCWK_NO_01, X31CWebConst.DATABEAN_GET_VALUE));
				}
				// オプションチャンネル契約解約一覧.オプションサービス契約ステータス 
				//	→ eo光テレビオプションチャンネル解約マップ.オプションサービス契約解約一覧.オプションサービス契約ステータス
				if (subbean != null)
				{
					childMap.put(CC_OP_SVC_KEI_STAT, subbean.sendMessageString(FUW06401SFConst.OP_SVC_KEI_STAT_01, X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		// 進捗特記事項1
		try
		{
			String prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW06402, PRGADD_ID);

			if(prgTkjk1 != null && prgTkjk1.length() > 0)
			{
				parentMap.put(CC_PRG_TKJK_1, prgTkjk1);
			}
			else
			{
				DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
			}
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
		}

		parentMap.put(CC_OP_SVC_KEI_DSL_LIST, list);

		outputMap.put(DSL_OP_SVC_KEI_MAP, parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV005001SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV005001_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV005001_S_C);
		}

		ArrayList childList = null;

		// 機器提供サービス契約一覧明細
		X31SDataBeanAccessArray listFUSV005001SC_kiki_svc_kei_list_EKK0341B002CBSMsg1List =
				bean[0].getDataBeanArray(FUW06401SFConst.KIKI_SVC_KEI_LIST);
		childList = null;
		if (listFUSV005001SC_kiki_svc_kei_list_EKK0341B002CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey(EKK0341_B002_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0341_B002_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV005001SC_kiki_svc_kei_list_EKK0341B002CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV005001SC_kiki_svc_kei_list_EKK0341B002CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV005001SC_kiki_svc_kei_list_EKK0341B002CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// 機器提供サービス契約一覧明細.機器提供サービス契約番号 
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.機器提供サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KKTK_SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_NO_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約一覧明細.機器提供サービスコード 
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.機器提供サービスコード
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_CD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(KKTK_SVC_CD));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_CD_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約一覧明細.機器製造番号 
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.機器製造番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KIKI_SEIZO_NO_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(KIKI_SEIZO_NO));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KIKI_SEIZO_NO_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約一覧明細.機器提供サービス契約ステータス 
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.機器提供サービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_STAT_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KKTK_SVC_KEI_STAT));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_STAT_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// 機器提供サービス契約一覧明細.予約適用年月日 
				//	← 機器提供サービス契約一覧照会（サービス契約番号）マップ.機器提供サービス契約一覧照会（サービス契約番号）明細.予約適用年月日
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.RSV_APLY_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(RSV_APLY_YMD));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.RSV_APLY_YMD_02, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

	/**
	 * 下りマッピングを行います。
	 * @param bean　[0]：ｅｏ光テレビオプションチャンネル解約
	 * @param outputMap
	 * @return X31SDataBeanAccess[]
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV005002SC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey(FUSV005002_S_C))
		{
			parentMap = (HashMap)outputMap.get(FUSV005002_S_C);
		}

		ArrayList childList = null;

		// オプションチャンネル契約一覧（チェック用）
		X31SDataBeanAccessArray listFUSV005002SC_op_channel_kei_list_check_EKK0351B507CBSMsg1List =
				bean[0].getDataBeanArray(FUW06401SFConst.OP_CHANNEL_KEI_LIST_CHECK);
		childList = null;
		if (listFUSV005002SC_op_channel_kei_list_check_EKK0351B507CBSMsg1List != null && parentMap != null
				&& parentMap.containsKey(EKK0351_B507_C_B_S_MSG1_LIST))
		{
			childList = (ArrayList)parentMap.get(EKK0351_B507_C_B_S_MSG1_LIST);

			for (int i = 0; i < childList.size(); i++)
			{
				X31SDataBeanAccess subbean = null;
				if (listFUSV005002SC_op_channel_kei_list_check_EKK0351B507CBSMsg1List.getCount() - 1 >= i)
				{
					subbean = listFUSV005002SC_op_channel_kei_list_check_EKK0351B507CBSMsg1List.getDataBean(i);
				}
				else
				{
					subbean = listFUSV005002SC_op_channel_kei_list_check_EKK0351B507CBSMsg1List.addDataBean();
				}
				HashMap childMap = (HashMap)childList.get(i);
				if (subbean == null)
				{
					continue;
				}

				// オプションチャンネル契約一覧（チェック用）.オプションサービス契約番号 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.オプションサービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(OP_SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_KEI_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.オプションサービス契約ステータス 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.オプションサービス契約ステータス
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_KEI_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(OP_SVC_KEI_STAT));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_KEI_STAT_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.予約適用年月日 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.予約適用年月日
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(RSV_APLY_YMD));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.RSV_APLY_YMD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.更新年月日時分秒 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.更新年月日時分秒
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.UPD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(UPD_DTM));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.UPD_DTM_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.オプションサービスコード 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.オプションサービスコード
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(OP_SVC_CD));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.オプションサービスコード名称 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.オプションサービスコード名称
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(OP_SVC_CD_NM));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.OP_SVC_CD_NM_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.オプションチャンネル種別コード 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.オプションチャンネル種別コード
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.OP_CHANNEL_SBT_CD_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(OP_CHANNEL_SBT_CD));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.OP_CHANNEL_SBT_CD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.サービス契約番号 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.サービス契約番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap.get(SVC_KEI_NO));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.サービス契約内訳番号 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.サービス契約内訳番号
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.SVC_KEI_UCWK_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(SVC_KEI_UCWK_NO));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.SVC_KEI_UCWK_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.機器提供サービス契約番号（ＳＴＢ） 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.機器提供サービス契約番号（STB）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_NO_STB_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KKTK_SVC_KEI_NO_STB));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_NO_STB_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.機器製造番号（ＳＴＢ） 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.機器製造番号（STB）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KIKI_SEIZO_NO_STB_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KIKI_SEIZO_NO_STB));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KIKI_SEIZO_NO_STB_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.機器提供サービス契約番号（ＣＣＡＳ） 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.機器提供サービス契約番号（CCAS）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_NO_CCAS_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KKTK_SVC_KEI_NO_CCAS));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KKTK_SVC_KEI_NO_CCAS_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				// オプションチャンネル契約一覧（チェック用）.Ｃ−ＣＡＳカードＮｏ． 
				//	← オプションチャンネル契約一覧照会マップ.オプションチャンネル契約一覧照会明細.機器製造番号（CCAS）
				if (childMap != null)
				{
					subbean.sendMessageString(FUW06401SFConst.KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
							.get(KIKI_SEIZO_NO_CCAS));
				}
				else
				{
					subbean.sendMessageString(FUW06401SFConst.KIKI_SEIZO_NO_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		return bean;
	}

}