/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0495_KKSV0495OPDBMapper
*	ソースファイル名：KKSV0495_KKSV0495OPDBMapper.java
*	作成者			：Fujitsu
*	日付			：2012年02月21日
*＜機能概要＞
*	BP（NHK団体一括支払登録処理OP）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/02/21	Fujitsu		新規作成
*   v4.00.00	2012/08/7	Fujitsu		サービスI/F変更による、項目追加（ガイド誌送付先住所手動入力フラグ："0"）
*   v4.00.01	2012/10/23	FJ			進捗登録対応（ANK-1223-00-00）
*   v5.00.00	2013/11/01	FJ) 稲岡	【OM-2013-0003630】
**********************************************************************/
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.KKW00838SF.KKW00838SFConst;
import eo.web.webview.common.JCCWebCommon;

/**
 * DataBean-BPマッピングをする。
 * @author 909488
 */
public class KKSV0495_KKSV0495OPDBMapper
{
	
	/**
	 * コンストラクタ
	 */
	public KKSV0495_KKSV0495OPDBMapper()
	{
	}
	

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049501SC(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(KKW00838SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "00026"(オプション申込) → 申込内容承認登録マップ.申込種別コード
		parentMap.put("mskm_sbt_cd", "00026");
		
		// "" → 申込内容承認登録マップ.申込書到着年月日
		parentMap.put("mskmsho_ariv_ymd", "");
		
		// 運用年月日時分秒 → 申込内容承認登録マップ.申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", bean[0].sendMessageString(KKW00838SFConst.OPE_DATE_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 申込内容承認登録マップ.申込受付担当ユーザーID
		parentMap.put("mskm_uk_tnt_user_id", "");
		
		// 運用日 → 申込内容承認登録マップ.申込年月日
		parentMap.put("mskm_ymd", bean[0].sendMessageString(KKW00838SFConst.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("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("KKSV049501SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049502SC(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("mskm_dtl_no", "");
		// "" → 申込明細照査・後続業務依頼マップ.連絡事項登録年月日時分秒
		parentMap.put("rrk_jiko_add_dtm", "");
		
		// 運用日 → 申込明細照査・後続業務依頼マップ.後続業務依頼年月日
		parentMap.put("kzkwrk_reqymd", bean[0].sendMessageString(KKW00838SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → 申込明細照査・後続業務依頼マップ.連絡事項
		parentMap.put("rrk_jiko", "");
		// "" → 申込明細照査・後続業務依頼マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", "");
		// "" → 申込明細照査・後続業務依頼マップ.異動区分
		parentMap.put("ido_div", "");
		// "" → 申込明細照査・後続業務依頼マップ.電話番号
		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("KKSV049502SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049503SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW00838SFConst.HKTGI_CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktgiSubBean = custKeiHktgiList.getDataBean(0);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// "B069":NHK団体一括支払割引 → オプションサービス契約＜TV＞登録マップ.オプションサービスコード
		parentMap.put("op_svc_cd", "B069");
		
		// "B73":NHK団体一括支払割引 → オプションサービス契約＜TV＞登録マップ.料金コースコード
		parentMap.put("pcrs_cd", "B73");
		
		// "PB7301":NHK団体一括支払割引 → オプションサービス契約＜TV＞登録マップ.料金プランコード
		parentMap.put("pplan_cd", "PB7301");
		
		// "01":サービス契約 → オプションサービス契約＜TV＞登録マップ.親契約識別コード
		parentMap.put("oya_kei_skbt_cd", "01");
		
		// サービス契約番号 → オプションサービス契約＜TV＞登録マップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString(KKW00838SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞登録マップ.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", "");
		
		// SYSID → オプションサービス契約＜TV＞登録マップ.SYSID
		parentMap.put("sysid", bean[0].sendMessageString(KKW00838SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞登録マップ.申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// "" → オプションサービス契約＜TV＞登録マップ.試用加入年月日
		parentMap.put("ftrial_kanyu_ymd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.試用期間終了年月日
		parentMap.put("ftrial_prd_endymd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.本加入年月日
		parentMap.put("honkanyu_ymd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.本加入移行期限年月日
		parentMap.put("honkanyu_iko_kigen_ymd", "");
		
		// 契約期間（自） → オプションサービス契約＜TV＞登録マップ.サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", bean[0].sendMessageString(KKW00838SFConst.KEI_PRD_STA_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞登録マップ.予約適用開始希望年月日
		parentMap.put("rsv_tsta_kibo_ymd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.違約金発生コード
		parentMap.put("pnlty_hassei_cd", "");
		
		// 顧客契約引継.異動区分 → オプションサービス契約＜TV＞登録マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW00838SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 契約内容.コードタイプコード → オプションサービス契約＜TV＞登録マップ.NHK団体一括支払サイクルコード
		String[] kei_naiyo = getSelectCdNmComboBox(bean[0].getDataBeanArray(KKW00838SFConst.KEI_NAIYO));
		parentMap.put("nhk_grp_ikt_pay_cycle_cd", kei_naiyo[0]);
		
		// 課金開始年月日 → オプションサービス契約＜TV＞登録マップ.初回請求年月日
		parentMap.put("first_seiymd", bean[0].sendMessageString(KKW00838SFConst.CHRG_STA_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞登録マップ.ケーブルガイド申込数
		parentMap.put("cable_guide_mskm_cnt", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌種別コード
		parentMap.put("guidemg_sbt_cd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌発送方法コード
		parentMap.put("guidemg_hasso_way_cd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先名
		parentMap.put("guidemg_sohus_nm", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先カナ名
		parentMap.put("guidemg_sohus_kana", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先住所コード
		parentMap.put("guidemg_sohus_ad_cd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先郵便番号
		parentMap.put("guidemg_sohus_pcd", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先都道府県名
		parentMap.put("guidemg_sohus_state_nm", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先市区町村名
		parentMap.put("guidemg_sohus_city_nm", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先大字通称名
		parentMap.put("guidemg_sohus_oaztsu_nm", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先字丁目名
		parentMap.put("guidemg_sohus_azcho_nm", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先番地号
		parentMap.put("guidemg_sohus_bnchigo", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先住所補記・建物名
		parentMap.put("guidemg_sohus_adrttm", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先住所補記・部屋番号
		parentMap.put("guidemg_sohus_adrrm", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先電話番号
		parentMap.put("guidemg_sohus_telno", "");
		// "" → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先個別指定フラグ
		parentMap.put("guidemg_shs_ksitei_flg", "");
		// "" → オプションサービス契約＜TV＞登録マップ.NHKお客様番号
		parentMap.put("nhk_cust_no", "");
		// "" → オプションサービス契約＜TV＞登録マップ.NHK団体一括契約変更届年月日
		parentMap.put("nhk_dntiktkei_hktdk_ymd", "");
		// 画面項目「契約日」 → オプションサービス契約＜TV＞登録マップ.NHK団体一括契約NHK締結年月日
		parentMap.put("nhk_dntiktkei_nhk_cnc_ymd", bean[0].sendMessageString(KKW00838SFConst.KEI_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 画面項目「登録メモ」 → オプションサービス契約＜TV＞登録マップ.NHK団体一括契約登録メモ	
		parentMap.put("nhk_dntiktkei_add_memo", bean[0].sendMessageString(KKW00838SFConst.ADD_MEMO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞登録マップ.赤B-CAS番号
		parentMap.put("red_bcas_no", "");
		
		// 請求契約番号 → オプションサービス契約＜TV＞登録マップ.請求契約番号
		parentMap.put("seiky_kei_no", bean[0].sendMessageString(KKW00838SFConst.SEIKY_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞登録マップ.料金項目コード
		parentMap.put("prc_kmk_cd", "");
		
		/* ++++++++++ v4.00.00 追加開始 ++++++++++ */
		//"0"(FALSE) → オプションサービス契約＜TV＞登録マップ.ガイド誌送付先住所手動入力フラグ
		parentMap.put("gudmg_shs_ad_man_input_flg", "0");
		/* ++++++++++ v4.00.00 追加終了 ++++++++++ */
		
		// 最終更新年月日時分秒 → オプションサービス契約＜TV＞登録マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString(KKW00838SFConst.LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV049503SC", parentMap);
		
		return outputMap;
	}
// ++++++++++ v5.00.00 削除開始 ++++++++++
//	/**
//	 * 上りマッピングをする
//	 * @param bean サービスフォームBean
//	 * @param outputMap
//	 * @param func_code 機能コード
//	 * @return HashMap
//	 */
//	public HashMap setKKSV049504SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
//	{
//		
//		if(bean == null)
//		{
//			return null;
//		}
//		
//		if(bean.length != 1)
//		{
//			return null;
//		}
//		
//		// 顧客契約引継リスト
//		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW00838SFConst.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", "");
//		
//		// 顧客契約引継.異動区分 → オプションサービス契約＜TV＞照査マップ.異動区分
//		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW00838SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
//		
//		// "1":照査OK → オプションサービス契約＜TV＞照査マップ.照査解約完了コード
//		parentMap.put("shosa_dsl_fin_cd", "1");
//		
//		// "" → オプションサービス契約＜TV＞照査マップ.更新年月日時分秒(更新前)
//		parentMap.put("upd_dtm_bf", "");
//		
//		outputMap.put("KKSV049504SC", parentMap);
//		
//		return outputMap;
//	}
// ++++++++++ v5.00.00 削除開始 ++++++++++
	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049505SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW00838SFConst.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", "");
		
		// 顧客契約引継.異動区分 → オプションサービス契約＜TV＞照査締結マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW00838SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞照査締結マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", "");
		
		outputMap.put("KKSV049505SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049506SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW00838SFConst.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", "");
		
		// 契約期間（自） → オプションサービス契約＜TV＞開始マップ.サービス開始年月日
		parentMap.put("svc_staymd", bean[0].sendMessageString(KKW00838SFConst.KEI_PRD_STA_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 顧客契約引継.異動区分 → オプションサービス契約＜TV＞開始マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW00838SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// "" → オプションサービス契約＜TV＞開始マップ.更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", "");
		
		// "" → オプションサービス契約＜TV＞開始マップ.即時/翌月
		parentMap.put("skj_ykgt", "");
		
		outputMap.put("KKSV049506SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	public HashMap setKKSV049507SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		// 顧客契約引継リスト
		X31SDataBeanAccessArray custKeiHktgiList = bean[0].getDataBeanArray(KKW00838SFConst.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("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(KKW00838SFConst.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", "");
		// "" → 進捗登録マップ.請求オプションサービス契約番号
		parentMap.put("seiopsvc_kei_no", "");
		// "" → 進捗登録マップ.サブオプションサービス契約番号
		parentMap.put("sbop_svc_kei_no", "");
		// "" → 進捗登録マップ.割引サービス契約番号
		parentMap.put("wrib_svc_kei_no", "");
		
		// 顧客契約引継.異動区分 → 進捗登録マップ.異動区分
		parentMap.put("ido_div", custKeiHktgiSubBean.sendMessageString(KKW00838SFConst.HKTGI_IDO_DIV_02, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 運用年月日時分秒 → 進捗登録マップ.異動年月日時分秒
		//+++++ v4.00.01 進捗対応 start++++++/
//		parentMap.put("ido_dtm", bean[0].sendMessageString(KKW00838SFConst.OPE_DATE_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		// システム日＋時分秒
		parentMap.put("ido_dtm", JCCWebCommon.getSysDateTimeStamp());
		//+++++ v4.00.01 進捗対応 end++++++/
		
		// "5102"(オプション設定完了) → 進捗登録マップ.進捗ステータス
		parentMap.put("prg_stat", "5102");
		
		// "" → 進捗登録マップ.進捗メモ
		parentMap.put("prg_memo", "");
		
		// "" → 進捗登録マップ.進捗特記事項1
		//+++++ v4.00.01 進捗対応 start++++++/
		StringBuilder sb = new StringBuilder();
		sb.append("NHK団体一括支払割引情報登録　");
		sb.append("契約日：");
		sb.append(JPCFomatString.formatDate(bean[0].sendMessageString(KKW00838SFConst.KEI_YMD, X31CWebConst.DATABEAN_GET_VALUE)));
		sb.append("　契約期間：");
		sb.append(JPCFomatString.formatDate(bean[0].sendMessageString(KKW00838SFConst.KEI_PRD_STA_YMD, X31CWebConst.DATABEAN_GET_VALUE)));
		sb.append("〜　課金開始年月：");
		sb.append(JPCFomatString.formatYears(bean[0].sendMessageString(KKW00838SFConst.CHRG_STA_YM, X31CWebConst.DATABEAN_GET_VALUE)));
		
//		parentMap.put("prg_tkjk_1", "");
		parentMap.put("prg_tkjk_1", sb.toString());
		//+++++ v4.00.01 進捗対応 end++++++/
		
		// "" → 進捗登録マップ.進捗特記事項2
		parentMap.put("prg_tkjk_2", "");
		
		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		Integer count = (Integer)custKeiHktgiSubBean.sendMessage(KKW00838SFConst.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(KKW00838SFConst.HKTGI_IDO_RSN_CD_02, X31CWebConst.DATABEAN_GET_VALUE, i));
			// "" → 進捗登録マップ.異動理由メモ
			childMap.put("ido_rsn_memo", "");
			
			list.add(childMap);
		}
		
		parentMap.put("EKK1091D010CBSMsg1List", list);
		outputMap.put("KKSV049507SC", parentMap);
		
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean サービスフォームBean
	 * @param outputMap
	 * @return HashMap
	 */
	public HashMap setKKSV0495WORK01(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		
		if(bean == null)
		{
			return null;
		}
		
		if(bean.length != 1)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// サービス契約ステータス → NHK団体一括支払登録処理作業項目マップ01.サービス契約ステータス
		parentMap.put("svc_kei_stat", bean[0].sendMessageString(KKW00838SFConst.SVC_KEI_STAT, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV0495WORK01", 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(KKW00838SFConst.SELECT_INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
			select_cd = subbean.sendMessageString(KKW00838SFConst.CD_DIV_CD_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
			select_nm = subbean.sendMessageString(KKW00838SFConst.CD_DIV_NM_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
			
			subbean.sendMessageString(KKW00838SFConst.CD_DIV_CD_01, X31CWebConst.DATABEAN_SET_VALUE, select_cd);
			subbean.sendMessageString(KKW00838SFConst.CD_DIV_NM_01, X31CWebConst.DATABEAN_SET_VALUE, select_nm);
		}
		
		return new String[]{select_cd, select_nm};
	}
}
