/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0497_KKSV0497OPDBMapper
*	ソースファイル名：KKSV0497_KKSV0497OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2012年03月07日
*＜機能概要＞
*	BP（NHK団体一括支払変更・解約・回復処理OP）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/03/07	Fujitsu		新規作成
*	v4.00.00	2012/10/25	FJ			進捗対応 ANK-1223-00-00
*   v4.01.00	2013/05/30	FJ			【IT1-2013-0001246】対応
**********************************************************************/
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.util.JPCFomatString;
import eo.web.webview.KKW02537SF.KKW02537SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * @author 909488
 */
public class KKSV0497_KKSV0497OPDBMapper
{
	
	/**
	 * コンストラクタ
	 */
	public KKSV0497_KKSV0497OPDBMapper()
	{
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049701SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 処理区分
		String tran_div = bean[0].sendMessageString(KKW02537SFConst.TRAN_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 引継先＿ＳＹＳＩＤ → 申込内容承認登録マップ.SYSID
		parentMap.put("sysid", bean[0].sendMessageString(KKW02537SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 処理区分が"06"(予約取消)の場合
		if ("06".equals(tran_div))
		{
			// "00033"(予約取消申込) → 申込内容承認登録マップ.申込種別コード
			parentMap.put("mskm_sbt_cd", "00033");
		}
		else
		{
			// "00026"(オプション申込) → 申込内容承認登録マップ.申込種別コード
			parentMap.put("mskm_sbt_cd", "00026");
		}
		
		// "" → 申込内容承認登録マップ.申込書到着年月日
		parentMap.put("mskmsho_ariv_ymd", "");
		
		// 運用年月日時分秒 → 申込内容承認登録マップ.申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", bean[0].sendMessageString(KKW02537SFConst.OPE_DATE_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 申込内容承認登録マップ.申込受付担当ユーザーID
		parentMap.put("mskm_uk_tnt_user_id", "");
		
		// 運用日 → 申込内容承認登録マップ.申込年月日
		parentMap.put("mskm_ymd", bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 申込内容承認登録マップ.総合営業センター受付番号
		parentMap.put("ttl_business_center_uk_no", "");
		// "" → 申込内容承認登録マップ.総合営業申込契機コード
		parentMap.put("ttl_business_mskm_opt_cd", "");
		// "" → 申込内容承認登録マップ.申込連絡先電話番号
		parentMap.put("mskm_rrks_telno", "");
		// "" → 申込内容承認登録マップ.申込実施者種別コード
		parentMap.put("mskm_jssis_sbt_cd", "");
		// "" → 申込内容承認登録マップ.お客様ご要望事項
		parentMap.put("cust_yobo_jiko", "");
		// "" → 申込内容承認登録マップ.本人確認書類名
		parentMap.put("hnin_cfm_bunsho_kind_nm", "");
		// "" → 申込内容承認登録マップ.電話連絡希望日種別コード
		parentMap.put("tel_rrk_kibod_sbt_cd", "");
		// "" → 申込内容承認登録マップ.電話連絡希望時間帯コード
		parentMap.put("tel_rrk_kibo_time_cd", "");
		// "" → 申込内容承認登録マップ.宅内調査希望日種別コード
		parentMap.put("takcho_kibod_sbt_cd", "");
		// "" → 申込内容承認登録マップ.宅内調査希望時間帯コード
		parentMap.put("takcho_kibo_time_cd", "");
		// "" → 申込内容承認登録マップ.仮申込フラグ
		parentMap.put("kari_mskm_flg", "");
		// "" → 申込内容承認登録マップ.リファラー
		parentMap.put("referer", "");
		// "" → 申込内容承認登録マップ.関西電力お客様情報授受同意有無
		parentMap.put("kepco_custinfo_juju_doi_um", "");
		// "" → 申込内容承認登録マップ.照査前連絡事項要否
		parentMap.put("shosa_bf_rrk_jiko_yh", "");
		// "" → 申込内容承認登録マップ.照査前連絡事項
		parentMap.put("shosa_bf_rrk_jiko", "");
		// "" → 申込内容承認登録マップ.利用サービス継続種別コード
		parentMap.put("use_svc_keizk_sbt_cd", "");
		
		// "04":承認済 → 申込内容承認登録マップ.コンシューマ営業用申込状態識別コード
		parentMap.put("consmbsn_mskm_stat_skbt_cd", "04");

		// "" → 受付担当者識別コード
		parentMap.put("uk_tntsha_skbt_cd", "");
		// "" → 工事依頼情報連絡事項
		parentMap.put("koji_req_info_rrk_jiko", "");
		// "" → 申込経路識別コード
		parentMap.put("mskm_route_skbt_cd", "");
		
		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();
		list.add(childMap);
		parentMap.put("EKK0011D020CBSMsg1List", list);
		
		// "" → 申込内容承認登録マップ.申込書番号
		childMap.put("mskmsho_no", "");
		// "" → 申込内容承認登録マップ.WEB受付番号
		childMap.put("web_uk_no", "");
		// "" → 申込内容承認登録マップ.申込形態コード
		childMap.put("mskm_form_cd", "");
		// "" → 申込内容承認登録マップ.申込明細種別コード
		childMap.put("mskm_dtl_sbt_cd", "");
		// "" → 申込内容承認登録マップ.連絡先携帯電話番号
		childMap.put("rrks_ktai_telno", "");
		// "" → 申込内容承認登録マップ.連絡先勤務先名
		childMap.put("rrks_offc_nm", "");
		// "" → 申込内容承認登録マップ.昼間連絡先電話番号
		childMap.put("dt_rrks_telno", "");
		// "" → 申込内容承認登録マップ.新規申込種別コード
		childMap.put("new_mskm_sbt_cd", "");
		// "" → 申込内容承認登録マップ.申込契機コード
		childMap.put("mskm_optnty_cd", "");
		// "" → 申込内容承認登録マップ.申込経路コード
		childMap.put("mskm_route_cd", "");
		// "" → 申込内容承認登録マップ.宅内調査希望アポ期限年月日
		childMap.put("takcho_kibo_apo_kigen_ymd", "");
		// "" → 申込内容承認登録マップ.工事アポ連絡先指定コード
		childMap.put("koji_apo_rrks_shitei_cd", "");
		// "" → 申込内容承認登録マップ.工事アポ連絡先電話番号
		childMap.put("koji_apo_rrks_telno", "");
		// "" → 申込内容承認登録マップ.連絡事項登録年月日時分秒
		childMap.put("rrk_jiko_add_dtm", "");
		// "" → 申込内容承認登録マップ.申込連絡先メールアドレス
		childMap.put("mskm_rrks_mlad", "");
		// "" → 申込内容承認登録マップ.工事進捗通知メールアドレス
		childMap.put("koji_prg_tchi_mlad", "");
		// "" → 申込内容承認登録マップ.連絡事項
		childMap.put("rrk_jiko", "");
		// "" → 申込内容承認登録マップ.工事進捗通知携帯メールアドレス
		childMap.put("kjsc_tch_ktai_mlad", "");
		// "" → 申込内容承認登録マップ.メール送信除外フラグ
		childMap.put("ml_send_jgi_flg", "");
		// "" → 申込内容承認登録マップ.メール送信除外理由メモ
		childMap.put("ml_send_jgi_rsn_memo", "");
		// "" → 申込内容承認登録マップ.番ポ申込連絡先電話番号
		childMap.put("bmp_mskm_rrks_tln", "");
		// "" → オプションサービス引継有無
		childMap.put("op_svc_hktgi_um", "");
		// "" → 解約書類送付希望有無
		childMap.put("dsl_aticle_sohu_kibo_um", "");
		// "" → 申込内容承認登録マップ.連絡手段補記
		childMap.put("rrk_way_hoki", "");
		// "" → 申込内容承認登録マップ.新築物件コード
		childMap.put("newconst_bukken_cd", "");
		// "" → 申込内容承認登録マップ.復活案件フラグ
		childMap.put("hukkat_anken_flg", "");
		// "" → 申込内容承認登録マップ.同一設備再申込コード
		childMap.put("same_equip_re_mskm_cd", "");
		// "" → 本人確認書類種別コード
		childMap.put("hnin_cfm_aticle_sbt_cd", "");
		// "" → 申込書種別コード
		childMap.put("mskmsho_sbt_cd", "");
		// "" → 契約付加コード
		childMap.put("kei_huka_cd", "");
		// "" → 地図添付有無
		childMap.put("map_temp_um", "");
		// "" → KCNSTB申込台数
		childMap.put("kcn_stb_mskm_cnt", "");
		// "" → KCNSTB種類コード
		childMap.put("kcn_stb_kind_cd", "");
		// "" → マンション設備システム連携用記事欄
		childMap.put("manssbsys_rnki_yo_kijiran", "");
		// "" → マンションID
		childMap.put("mansion_id", "");
		// "" → CAT-ID
		childMap.put("catid", "");
		// "" → 申込受付種別コード
		childMap.put("mkm_uk_sbt_cd", "");
		// "" → 申込書取扱情報担当者名
		childMap.put("mskmsho_trat_if_tntsha_nm", "");
		// "" → 申込書取扱情報電話番号
		childMap.put("mskmsho_trat_if_telno", "");
		
		
		
		outputMap.put("KKSV049701SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049702SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// "" → 申込明細照査・後続業務依頼マップ.連絡事項登録年月日時分秒
		parentMap.put("rrk_jiko_add_dtm", "");
		
		// 運用日 → 申込明細照査・後続業務依頼マップ.後続業務依頼年月日
		parentMap.put("kzkwrk_reqymd", bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 申込明細照査・後続業務依頼マップ.連絡事項
		parentMap.put("rrk_jiko", "");
		
		// 顧客契約引継.異動区分 → 申込明細照査・後続業務依頼マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 申込明細照査・後続業務依頼マップ.電話番号
		parentMap.put("telno", "");
		// "" → 申込明細照査・後続業務依頼マップ.代表電話番号
		parentMap.put("daihyo_telno", "");
		// "" → 申込明細照査・後続業務依頼マップ.電話番号使用場所番号
		parentMap.put("telno_use_place_no", "");
		// "" → 申込明細照査・後続業務依頼マップ.SIPユーザーID消去済フラグ
		parentMap.put("sip_user_id_del_zumi_flg", "");
		// "" → 申込明細照査・後続業務依頼マップ.電話BASホストID
		parentMap.put("tel_bas_host_id", "");
		// "" → 申込明細照査・後続業務依頼マップ.050オプション電話番号
		parentMap.put("n_050_op_telno", "");
		// "" → 申込明細照査・後続業務依頼マップ.機器認証ID
		parentMap.put("kiki_ninsho_id", "");
		// "" → 申込明細照査・後続業務依頼マップ.機器認証IDパスワード
		parentMap.put("kiki_ninsho_id_pwd", "");
		
		outputMap.put("KKSV049702SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049703SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		// 処理区分
		String tran_div = bean[0].sendMessageString(KKW02537SFConst.TRAN_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// "" → 進捗登録マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// "" → 進捗登録マップ.請求契約番号
		parentMap.put("seiky_kei_no", "");
		// "" → 進捗登録マップ.請求方法番号(口座)
		parentMap.put("seiky_way_no_koza", "");
		// "" → 進捗登録マップ.請求方法番号(クレジットカード)
		parentMap.put("seiky_way_no_crecard", "");
		
		// サービス契約番号 → 進捗登録マップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 進捗登録マップ.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", "");
		// "" → 進捗登録マップ.サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", "");
		// "" → 進捗登録マップ.機器提供サービス契約番号
		parentMap.put("kktk_svc_kei_no", "");
		
		// "" → 進捗登録マップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 進捗登録マップ.請求オプションサービス契約番号
		parentMap.put("seiopsvc_kei_no", "");
		// "" → 進捗登録マップ.サブオプションサービス契約番号
		parentMap.put("sbop_svc_kei_no", "");
		// "" → 進捗登録マップ.割引サービス契約番号
		parentMap.put("wrib_svc_kei_no", "");
		
		// 顧客契約引継.異動区分 → 進捗登録マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日時分秒 → 進捗登録マップ.異動年月日時分秒
		/* ++++++++++ v4.00.00 ANK-1223-00-00 追加開始 ++++++++++ */
		// システム日＋時分秒
//		parentMap.put("ido_dtm", bean[0].sendMessageString(KKW02537SFConst.OPE_DATE_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("ido_dtm", JCCWebCommon.getSysDateTimeStamp());
		/* ++++++++++ v4.00.00 ANK-1223-00-00 追加終了 ++++++++++ */
		
		// 進捗特記事項1編集用
		StringBuilder sb = new StringBuilder();
		
		// 処理区分が"03"(変更)の場合
		if ("03".equals(tran_div))
		{
			// "5102"(オプション設定完了) → 進捗登録マップ.進捗ステータス
			parentMap.put("prg_stat", "5102");
			
			/* ++++++++++ v4.00.00 ANK-1223-00-00 追加開始 ++++++++++ */
			sb.append("NHK団体一括支払割引情報更新");
			sb.append("　契約内容：(変更前)");
			sb.append(bean[0].sendMessageString(KKW02537SFConst.CHBF_KEI_NAIYO, X31CWebConst.DATABEAN_GET_VALUE));
			sb.append("　変更日：");
			sb.append(JPCFomatString.formatDate(bean[0].sendMessageString(KKW02537SFConst.CHG_YMD, X31CWebConst.DATABEAN_GET_VALUE)));
			/* ++++++++++ v4.00.00 ANK-1223-00-00 追加終了 ++++++++++ */
		}
		// 処理区分が"04"(解約)の場合
		else if ("04".equals(tran_div))
		{
			// "1304"(解約完了) → 進捗登録マップ.進捗ステータス
			parentMap.put("prg_stat", "5102");
			
			/* ++++++++++ v4.00.00 ANK-1223-00-00 追加開始 ++++++++++ */
			sb.append("NHK団体一括支払割引情報解約");
			sb.append("　解約日：");
			sb.append(JPCFomatString.formatDate(bean[0].sendMessageString(KKW02537SFConst.DSL_YMD, X31CWebConst.DATABEAN_GET_VALUE)));
			/* ++++++++++ v4.00.00 ANK-1223-00-00 追加終了 ++++++++++ */
		}
		// 処理区分が"05"(回復)の場合
		else if ("05".equals(tran_div))
		{
			// "2301"(回復完了) → 進捗登録マップ.進捗ステータス
			parentMap.put("prg_stat", "2301");
		}
		// 処理区分が"06"(予約取消)の場合
		else if ("06".equals(tran_div))
		{
			// "9921"(オプション変更予約取消) → 進捗登録マップ.進捗ステータス
//			parentMap.put("prg_stat", "5102");
			parentMap.put("prg_stat", JKKCommonConst.PRG_STAT_CD_9921);
			
			/* ++++++++++ v4.00.00 ANK-1223-00-00 追加開始 ++++++++++ */
			String op_svc_stat = bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE);
			// オプションサービス契約ステータスがサービス提供中の場合、解約
			if("100".equals(op_svc_stat))
			{
				sb.append("NHK団体一括支払割引情報解約予約取消");
			}
			else
			{
				sb.append("NHK団体一括支払割引情報登録予約取消");
			}
			/* ++++++++++ v4.00.00 ANK-1223-00-00 追加終了 ++++++++++ */
		}
		
		// "" → 進捗登録マップ.進捗メモ
		parentMap.put("prg_memo", "");
		
		// "" → 進捗登録マップ.進捗特記事項1
		/* ++++++++++ v4.00.00 ANK-1223-00-00 追加開始 ++++++++++ */
//		parentMap.put("prg_tkjk_1", "");
		parentMap.put("prg_tkjk_1", sb.toString());
		/* ++++++++++ v4.00.00 ANK-1223-00-00 追加終了 ++++++++++ */
		// "" → 進捗登録マップ.進捗特記事項2
		parentMap.put("prg_tkjk_2", "");
		
		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		Integer count = (Integer)custKeiHktgiSubBean.sendMessage(KKW02537SFConst.HKTGI_IDO_RSN_CD_02, X31CWebConst.DATABEAN_GET_COUNT);
		for(int i = 0; i < count.intValue(); i++)
		{
			HashMap<String, Object> childMap = new HashMap<String, Object>();
			
			// 顧客契約引継.異動理由コード → 進捗登録マップ.異動理由コード
			childMap.put("ido_rsn_cd", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_RSN_CD_02, X31CWebConst.DATABEAN_GET_VALUE, i));
			// "" → 進捗登録マップ.異動理由メモ
			childMap.put("ido_rsn_memo", "");
			
			list.add(childMap);
		}
		
		parentMap.put("EKK1091D010CBSMsg1List", list);
		
		outputMap.put("KKSV049703SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049704SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// オプションサービス契約番号 → オプションサービス契約＜TV＞情報変更マップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞情報変更マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		// 試用加入年月日 → オプションサービス契約＜TV＞情報変更マップ.試用加入年月日
		parentMap.put("ftrial_kanyu_ymd", bean[0].sendMessageString(KKW02537SFConst.FTRIAL_KANYU_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 試用期間終了年月日 → オプションサービス契約＜TV＞情報変更マップ.試用期間終了年月日
		parentMap.put("ftrial_prd_endymd", bean[0].sendMessageString(KKW02537SFConst.FTRIAL_PRD_ENDYMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 本加入年月日 → オプションサービス契約＜TV＞情報変更マップ.本加入年月日
		parentMap.put("honkanyu_ymd", bean[0].sendMessageString(KKW02537SFConst.HONKANYU_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 違約金発生コード → オプションサービス契約＜TV＞情報変更マップ.違約金発生コード
		parentMap.put("pnlty_hassei_cd", bean[0].sendMessageString(KKW02537SFConst.PNLTY_HASSEI_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 異動区分 → オプションサービス契約＜TV＞情報変更マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 最終更新年月日時分秒 → オプションサービス契約＜TV＞情報変更マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ケーブルガイド申込数 → オプションサービス契約＜TV＞情報変更マップ.ケーブルガイド申込数
		parentMap.put("cable_guide_mskm_cnt", bean[0].sendMessageString(KKW02537SFConst.CABLE_GUIDE_MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先名 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先名
		parentMap.put("guidemg_sohus_nm", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_NM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先カナ名 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先カナ名
		parentMap.put("guidemg_sohus_kana", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_KANA, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先住所コード → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先住所コード
		parentMap.put("guidemg_sohus_ad_cd", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先郵便番号 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先郵便番号
		parentMap.put("guidemg_sohus_pcd", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_PCD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先都道府県名 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先都道府県名
		parentMap.put("guidemg_sohus_state_nm", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先市区町村名 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先市区町村名
		parentMap.put("guidemg_sohus_city_nm", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先大字通称名 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先大字通称名
		parentMap.put("guidemg_sohus_oaztsu_nm", 
				bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先字丁目名 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先字丁目名
		parentMap.put("guidemg_sohus_azcho_nm", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先番地号 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先番地号
		parentMap.put("guidemg_sohus_bnchigo", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先住所補記・建物名 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先住所補記・建物名
		parentMap.put("guidemg_sohus_adrttm", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先住所補記・部屋番号 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先住所補記・部屋番号
		parentMap.put("guidemg_sohus_adrrm", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先電話番号 → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先電話番号
		parentMap.put("guidemg_sohus_telno", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SOHUS_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// ガイド誌送付先個別指定フラグ → オプションサービス契約＜TV＞情報変更マップ.ガイド誌送付先個別指定フラグ
		parentMap.put("guidemg_shs_ksitei_flg", bean[0].sendMessageString(KKW02537SFConst.GUIDEMG_SHS_KSITEI_FLG, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 集計年月日 → オプションサービス契約＜TV＞情報変更マップ.集計年月日
		parentMap.put("shuk_ymd", bean[0].sendMessageString(KKW02537SFConst.SHUK_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 変更理由メモ → オプションサービス契約＜TV＞情報変更マップ.NHK団体一括契約変更理由メモ
		parentMap.put("nhk_dntiktkei_chgre_memo", bean[0].sendMessageString(KKW02537SFConst.CHGRE_MEMO, X31CWebConst.DATABEAN_GET_VALUE));
		
		String[] kei_naiyo = getSelectCdNmComboBox(bean[0].getDataBeanArray(KKW02537SFConst.KEI_NAIYO));
		
		// 請求間隔 → オプションサービス契約＜TV＞情報変更マップ.NHK団体一括支払サイクルコード
		parentMap.put("nhk_grp_ikt_pay_cycle_cd", kei_naiyo[0]);
		
		// NHKお客様No → オプションサービス契約＜TV＞情報変更マップ.NHKお客様番号
		parentMap.put("nhk_cust_no", bean[0].sendMessageString(KKW02537SFConst.NHK_CUST_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 変更日 → オプションサービス契約＜TV＞情報変更マップ.NHK団体一括契約変更届年月日
		parentMap.put("nhk_dntiktkei_hktdk_ymd", bean[0].sendMessageString(KKW02537SFConst.CHG_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// NHK団体一括契約NHK締結年月日 → オプションサービス契約＜TV＞情報変更マップ.NHK団体一括契約NHK締結年月日
		parentMap.put("nhk_dntiktkei_nhk_cnc_ymd", bean[0].sendMessageString(KKW02537SFConst.KEI_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// コンボボックスで選択された名称を確認画面に表示させる
		getSelectCdNmComboBox(bean[0].getDataBeanArray(KKW02537SFConst.KEI_NAIYO));
				
		outputMap.put("KKSV049704SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049705SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// オプションサービス契約番号 → オプションサービス契約回復マップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約回復マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		// 運用日 → オプションサービス契約回復マップ.回復年月日
		parentMap.put("kaihk_ymd", bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 顧客契約引継.異動区分 → オプションサービス契約回復マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 最終更新年月日時分秒 → オプションサービス契約回復マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049705SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049706SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// オプションサービス契約番号 → 照査後オプションサービス契約キャンセル取消マップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 照査後オプションサービス契約キャンセル取消マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		// 顧客契約引継.異動区分 → 照査後オプションサービス契約キャンセル取消マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 最終更新年月日時分秒 → 照査後オプションサービス契約キャンセル取消マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049706SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049707SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// オプションサービス契約番号 → オプションサービス契約キャンセルマップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約キャンセルマップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		// "20"(取消（訂正）) → オプションサービス契約キャンセルマップ.サービスキャンセル理由コード
		parentMap.put("svc_cancel_rsn_cd", "20");
		
		// 顧客契約引継.異動区分 → オプションサービス契約キャンセルマップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 最終更新年月日時分秒 → オプションサービス契約キャンセルマップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049707SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049708SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// オプションサービス契約番号 → オプションサービス契約解約マップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約解約マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		String rsv_tsta_kibo_ymd = "";
		String svc_endymd = "";
		String svc_chrg_endymd = "";
		
		String tran_div = bean[0].sendMessageString(KKW02537SFConst.TRAN_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 処理区分が"04"(解約)の場合
		if ("04".equals(tran_div))
		{
			// 解約日 → オプションサービス契約解約マップ.予約適用開始希望年月日
			rsv_tsta_kibo_ymd = bean[0].sendMessageString(KKW02537SFConst.DSL_YMD, X31CWebConst.DATABEAN_GET_VALUE);
			// 解約日 → オプションサービス契約解約マップ.サービス終了年月日
			svc_endymd = bean[0].sendMessageString(KKW02537SFConst.DSL_YMD, X31CWebConst.DATABEAN_GET_VALUE);
			// 解約日 → オプションサービス契約解約マップ.サービス課金終了年月日
			svc_chrg_endymd = bean[0].sendMessageString(KKW02537SFConst.DSL_YMD, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// 処理区分が"06"(予約取消)の場合
		else if ("06".equals(tran_div))
		{
			// 運用日 → オプションサービス契約解約マップ.予約適用開始希望年月日
			rsv_tsta_kibo_ymd = bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE);
			// 運用日 → オプションサービス契約解約マップ.サービス終了年月日
			svc_endymd = bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE);
			// 運用日 → オプションサービス契約解約マップ.サービス課金終了年月日
			svc_chrg_endymd = bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// オプションサービス契約解約マップ.予約適用開始希望年月日
		parentMap.put("rsv_tsta_kibo_ymd", rsv_tsta_kibo_ymd);
		// オプションサービス契約解約マップ.サービス終了年月日
		parentMap.put("svc_endymd", svc_endymd);
		// オプションサービス契約解約マップ.サービス課金終了年月日
		parentMap.put("svc_chrg_endymd", svc_chrg_endymd);
		
		// "01"(通常解約) → オプションサービス契約解約マップ.サービス解約理由コード
		parentMap.put("svc_dlre_cd", "01");
		
		// "" → オプションサービス契約解約マップ.サービス解約理由メモ
		parentMap.put("svc_dlre_memo", "");
		// "" → オプションサービス契約解約マップ.解約担当ユーザーID
		parentMap.put("dsl_tnt_user_id", "");
		
		// 違約金発生有無 → オプションサービス契約解約マップ.違約金発生有無
		parentMap.put("pnlty_hassei_um", bean[0].sendMessageString(KKW02537SFConst.PNLTY_HASSEI_UM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 顧客契約引継.異動区分 → オプションサービス契約解約マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 最終更新年月日時分秒 → オプションサービス契約解約マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049708SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049709SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW02537SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// オプションサービス契約番号 → オプションサービス契約解約確定マップ.オプションサービス契約番号
		parentMap.put("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		String svc_endymd = "";
		String svc_chrg_endymd = "";
		
		String tran_div = bean[0].sendMessageString(KKW02537SFConst.TRAN_DIV, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 処理区分が"04"(解約)の場合
		if ("04".equals(tran_div))
		{
			// 解約日 → オプションサービス契約解約確定マップ.サービス終了年月日
			svc_endymd = bean[0].sendMessageString(KKW02537SFConst.DSL_YMD, X31CWebConst.DATABEAN_GET_VALUE);
			// 解約日 → オプションサービス契約解約確定マップ.サービス課金終了年月日
			svc_chrg_endymd = bean[0].sendMessageString(KKW02537SFConst.DSL_YMD, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// 処理区分が"06"(予約取消)の場合
		else if ("06".equals(tran_div))
		{
			// 運用日 → オプションサービス契約解約確定マップ.サービス終了年月日
			svc_endymd = bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE);
			// 運用日 → オプションサービス契約解約確定マップ.サービス課金終了年月日
			svc_chrg_endymd = bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// オプションサービス契約解約確定マップ.サービス終了年月日
		parentMap.put("svc_endymd", svc_endymd);
		// オプションサービス契約解約確定マップ.サービス課金終了年月日
		parentMap.put("svc_chrg_endymd", svc_chrg_endymd);
		
		// "01"(通常解約) → オプションサービス契約解約確定マップ.サービス解約理由コード
		parentMap.put("svc_dlre_cd", "01");
		
		// "" → オプションサービス契約解約確定マップ.サービス解約理由メモ
		parentMap.put("svc_dlre_memo", "");
		// "" → オプションサービス契約解約確定マップ.解約担当ユーザーID
		parentMap.put("dsl_tnt_user_id", "");
		
		// "1" → オプションサービス契約解約確定マップ.解約時課金フラグ
		parentMap.put("dslji_chrg_flg", "1");
		
		// 顧客契約引継.異動区分 → オプションサービス契約解約確定マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW02537SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 最終更新年月日時分秒 → オプションサービス契約解約確定マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049709SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049710SC(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("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約解約確定取消マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		// 最終更新年月日時分秒 → オプションサービス契約解約確定取消マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049710SC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：NHK団体一括支払変更・解約・回復
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV049711SC(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("op_svc_kei_no", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// "" → オプションサービス契約解約中止マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		
		// 最終更新年月日時分秒 → オプションサービス契約解約中止マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW02537SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049711SC", parentMap);
						
		return outputMap;
	}
	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV0497WORK01(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);
		
		// 処理区分 → NHK団体一括支払変更作業項目マップ01.処理区分
		parentMap.put("tran_div", bean[0].sendMessageString(KKW02537SFConst.TRAN_DIV, X31CWebConst.DATABEAN_GET_VALUE));
		
		// オプションサービス契約ステータス → NHK団体一括支払変更作業項目マップ01.オプションサービス契約ステータス
		parentMap.put("op_svc_kei_stat", bean[0].sendMessageString(KKW02537SFConst.OP_SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 異動予約詳細コード → NHK団体一括支払変更作業項目マップ01.異動予約詳細コード
		parentMap.put("ido_rsv_dtl_cd", bean[0].sendMessageString(KKW02537SFConst.IDO_RSV_DTL_CD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 運用日 → NHK団体一括支払変更作業項目マップ01.運用日
		parentMap.put("ope_date", bean[0].sendMessageString(KKW02537SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 解約日 → NHK団体一括支払変更作業項目マップ01.解約日
		parentMap.put("dsl_ymd", bean[0].sendMessageString(KKW02537SFConst.DSL_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("REQCHK_WORK01", parentMap);
		
		return outputMap;
	}

	/**
	 * コンボボックスで選択されたコードと名称を返却します。
	 * <br>
	 * @param arraybean
	 * @return 選択されたコードと名称
	 */
	private String[] getSelectCdNmComboBox(X31SDataBeanAccessArray arraybean)
	{
		String select_cd = "";
		String select_nm = "";
		
		if (0 < arraybean.getCount())
		{
			X31SDataBeanAccess subbean = arraybean.getDataBean(0);
			
			// 選択インデックスから対応するコードと名称を取得
			String index = subbean.sendMessageString(KKW02537SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
			select_cd = subbean.sendMessageString(KKW02537SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
			select_nm = subbean.sendMessageString(KKW02537SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
			
			subbean.sendMessageString(KKW02537SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, select_cd);
			subbean.sendMessageString(KKW02537SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, select_nm);
		}
		
		return new String[]{select_cd, select_nm};
	}
}
