/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0214_KKSV0214OPDBMapper
*	ソースファイル名：KKSV0214_KKSV0214OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年11月23日
*＜機能概要＞
*	BP（電話番号情報登録＿光電話・番ポ情報変更）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/11/23	FJ			新規作成
*	v8.00.00	2014/03/27	FJ）藤本	【OM-2013-0002656】対応履歴情報に「テスト用全機能利用権限者」と登録される
*   v72.00.00   2024/04/02  FJ) 大路    【ANK-4494-00-00】【eo定期】双方向番ポ対応
*   v72.00.01   2024/09/03  FJ) 藤井    【ANK-4494-00-00】【eo定期】双方向番ポ対応 STEP2
*   v75.00.00   2025/05/12  FJ) 藤井    【ANK-4685-00-00】【eo】双方向番ポSTEP3
*
**********************************************************************/
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.web.webview.KKW00147SF.KKW00147SFConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0214_KKSV0214OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0214_KKSV0214OPDBMapper(){
	}
	

	// 20120709 ANK-0079-00-00 START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param orgCd 組織コード
	 * @param orgNm 組織名
	 * @return 上りパラメータ
	 */
	@SuppressWarnings("unchecked")
	// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 START
//	public HashMap setKKSV021401CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
	public HashMap setKKSV021401CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code,
			String orgCd, String orgNm) {
	// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 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);

		// 異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// SYSID
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約番号
		parentMap.put("seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 電話番号
		parentMap.put("telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		
		// 同番移転有無
		X31SDataBeanAccessArray dobanitenInputList = bean[0].getDataBeanArray(KKW00147SFConst.DOBANITEN_INPUT);
		X31SDataBeanAccess dobanitenInput = dobanitenInputList.getDataBean(0);
		String dobanitenNo = dobanitenInput.sendMessageString(KKW00147SFConst.DOBANITEN_NO_29, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("dobaniten_um", isNull(dobanitenNo) ? "0" : "1");
		// 番ポ有無
		parentMap.put("bmp_um", bean[0].sendMessageString("番ポ有無Ｌ", X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約 更新年月日時分秒
		parentMap.put("kk0081_upd_dtm", bean[0].sendMessageString("更新年月日時分秒（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));
		
		X31SDataBeanAccessArray bmpInputList = bean[0].getDataBeanArray(KKW00147SFConst.BMP_INPUT);
		if (bmpInputList != null && bmpInputList.getCount() > 0)
		{
			X31SDataBeanAccess bmpImput = bmpInputList.getDataBean(0);
			
			// 番ポ工事番号
			parentMap.put("bmp_koji_no", bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_NO_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 番ポ工事 更新年月日時分秒
			parentMap.put("tu0011_upd_dtm", bmpImput.sendMessageString(KKW00147SFConst.UPD_DTM_04, X31CWebConst.DATABEAN_GET_VALUE));
			
			// NTT契約者カナ名
			parentMap.put("ntt_ksh_kana", bmpImput.sendMessageString(KKW00147SFConst.KEISHA_NM_KANA_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者名
			parentMap.put("ntt_keisha_nm", bmpImput.sendMessageString(KKW00147SFConst.KEISHA_NM_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者住所手動入力フラグ
			parentMap.put("nkys_ad_man_input_flg", bmpImput.sendMessageBoolean(KKW00147SFConst.EXPTN_04, X31CWebConst.DATABEAN_GET_VALUE) ? "1" : "0");
			// NTT契約者郵便番号
			String pcdKami3 = bmpImput.sendMessageString(KKW00147SFConst.PCD_KAMI3_04, X31CWebConst.DATABEAN_GET_VALUE);
			String pcdShimo4 = bmpImput.sendMessageString(KKW00147SFConst.PCD_SHIMO4_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isNull(pcdKami3) && !isNull(pcdShimo4))
			{
				parentMap.put("ntt_keisha_pcd", pcdKami3 + pcdShimo4);
			}
			// NTT契約者住所コード
			String adCd1 = bmpImput.sendMessageString(KKW00147SFConst.AD_CD1_04, X31CWebConst.DATABEAN_GET_VALUE);
			String adCd2 = bmpImput.sendMessageString(KKW00147SFConst.AD_CD2_04, X31CWebConst.DATABEAN_GET_VALUE);
			String adCd3 = bmpImput.sendMessageString(KKW00147SFConst.AD_CD3_04, X31CWebConst.DATABEAN_GET_VALUE);
			String adCd4 = bmpImput.sendMessageString(KKW00147SFConst.AD_CD4_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isNull(adCd1) && !isNull(adCd2) && !isNull(adCd3) && !isNull(adCd4))
			{
				parentMap.put("ntt_keisha_ad_cd", adCd1 + adCd2 + adCd3 + adCd4);
			}
			// NTT契約者都道府県名
			parentMap.put("ntt_keisha_state_nm", bmpImput.sendMessageString(KKW00147SFConst.STATE_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者市区町村名
			parentMap.put("ntt_keisha_city_nm", bmpImput.sendMessageString(KKW00147SFConst.CITY_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者大字通称名
			parentMap.put("ntt_keisha_oaztsu_nm", bmpImput.sendMessageString(KKW00147SFConst.OAZTSU_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者字丁目名
			parentMap.put("ntt_keisha_azcho_nm", bmpImput.sendMessageString(KKW00147SFConst.AZCHO_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者番地号
			parentMap.put("ntt_keisha_bnchigo", bmpImput.sendMessageString(KKW00147SFConst.BNCHIGO_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者住所補記・建物名
			parentMap.put("ntt_keisha_adrttm", bmpImput.sendMessageString(KKW00147SFConst.ADRTTM_04, X31CWebConst.DATABEAN_GET_VALUE));
			// NTT契約者住所補記・部屋番号
			parentMap.put("ntt_keisha_adrrm", bmpImput.sendMessageString(KKW00147SFConst.ADRRM_04, X31CWebConst.DATABEAN_GET_VALUE));

			// 通信事業者コード
			parentMap.put("tsjgs_cd", bmpImput.sendMessageString(KKW00147SFConst.MSKMJI_BMP_JGS_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 移転元通信事業者拠点コード
			parentMap.put("itnm_tsjgs_ktn_cd", bmpImput.sendMessageString(KKW00147SFConst.MSKMJI_BMP_JGS_UKKTN_04, X31CWebConst.DATABEAN_GET_VALUE));

			// 番ポ処理区分
			parentMap.put("bmp_tran_kbn", bmpImput.sendMessageString(KKW00147SFConst.BMP_TRAN_KBN_04, X31CWebConst.DATABEAN_GET_VALUE));
			
			// ANK-1450-00-00 2013/02/14 ADD START
			// 同時工事判定コード
			parentMap.put("doji_koji_jdg_cd", bmpImput.sendMessageString(KKW00147SFConst.DOJI_KOJI_JDG_CD_04, X31CWebConst.DATABEAN_GET_VALUE));
			// ANK-1450-00-00 2013/02/14 ADD END
			
			// 番ポ工事希望年月日時
			String bmpKojiKiboYmdYear = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_KIBO_YMD_YEAR_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiKiboYmdMon = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_KIBO_YMD_MON_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiKiboYmdHi = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_KIBO_YMD_HI_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiKiboHm = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_KIBO_HM_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isNull(bmpKojiKiboYmdYear) && !isNull(bmpKojiKiboYmdMon) && !isNull(bmpKojiKiboYmdHi) && !isNull(bmpKojiKiboHm))
			{
				parentMap.put("bmp_koji_kibo_ymdh", bmpKojiKiboYmdYear + bmpKojiKiboYmdMon + bmpKojiKiboYmdHi + bmpKojiKiboHm);
			}
			// 番ポ工事確定年月日時
			String bmpKojiFixYmdYear = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_FIX_YMD_YEAR_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiFixYmdMon = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_FIX_YMD_MON_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiFixYmdHi = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_FIX_YMD_HI_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiFixHm = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_FIX_HM_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isNull(bmpKojiFixYmdYear) && !isNull(bmpKojiFixYmdMon) && !isNull(bmpKojiFixYmdHi) && !isNull(bmpKojiFixHm))
			{
				parentMap.put("bmp_koji_fix_ymdh", bmpKojiFixYmdYear + bmpKojiFixYmdMon + bmpKojiFixYmdHi + bmpKojiFixHm);
			}
			// 番ポ工事完了年月日
			String bmpKojiFinYmdYear = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_FIN_YMD_YEAR_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiFinYmdMon = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_FIN_YMD_MON_04, X31CWebConst.DATABEAN_GET_VALUE);
			String bmpKojiFinYmdHi = bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_FIN_YMD_HI_04, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isNull(bmpKojiFinYmdYear) && !isNull(bmpKojiFinYmdMon) && !isNull(bmpKojiFinYmdHi))
			{
				parentMap.put("bmp_koji_fin_ymd", bmpKojiFinYmdYear + bmpKojiFinYmdMon + bmpKojiFinYmdHi);
			}
			
			// 番ポ工事希望年月日保留フラグ
			parentMap.put("bmpkj_kibo_ymd_pding_flg", bmpImput.sendMessageString(KKW00147SFConst.BMP_KOJI_YMD_PDING_04, X31CWebConst.DATABEAN_GET_VALUE));
			// ANK-4494-00-00 STEP2 ADD START
			// 想定切替時間帯
			parentMap.put("sotei_switch_timez", bmpImput.sendMessageString(KKW00147SFConst.SOTEI_SWITCH_TIMEZ_04, X31CWebConst.DATABEAN_GET_VALUE));
			// 工事実施方法
			parentMap.put("koji_jssi_way", bmpImput.sendMessageString(KKW00147SFConst.KOJI_JISI_HOUHOU_04, X31CWebConst.DATABEAN_GET_VALUE));
			// ANK-4494-00-00 STEP2 ADD END
			// ANK-4685-00-00 ADD START
			// 同番移転申込有無
			parentMap.put("dobaniten_mskm_um", bmpImput.sendMessageString(KKW00147SFConst.DOBANITEN_MSKM_UM_04, X31CWebConst.DATABEAN_GET_VALUE));
			// ANK-4685-00-00 ADD END
		}
		
		// 同番移転番号
		parentMap.put("dobaniten_no", dobanitenInput.sendMessageString(KKW00147SFConst.DOBANITEN_NO_29, X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転 世代登録年月日時分秒
		parentMap.put("tu0021_gene_add_dtm", dobanitenInput.sendMessageString(KKW00147SFConst.GENE_ADD_DTM_29, X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転判定コード
		parentMap.put("dobaniten_jdg_cd", getPulldownCd(bean[0], KKW00147SFConst.DOBANITEN_JDG_CD));
		
		// 2013-03-18 OT-2013-0000443 ADD START
		// 同番移転依頼制御コード
		parentMap.put("dobaniten_req_ctrl_cd", getPulldownCd(bean[0], KKW00147SFConst.DOBANITEN_REQ_CTRL_CD));
		// 同番移転取消フラグ
		boolean torikeshiFlg = dobanitenInput.sendMessageBoolean(KKW00147SFConst.TORIKESHI_FLG_29, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("dobaniten_torikeshi_flg", torikeshiFlg ? "1" : "0");
		// 同番移転 更新年月日時分秒
		parentMap.put("tu0021_upd_dtm", dobanitenInput.sendMessageString(KKW00147SFConst.UPD_DTM_29, X31CWebConst.DATABEAN_GET_VALUE));

		// 同番移転入力の電話番号を取得
		String dobanitenTelno = dobanitenInput.sendMessageString(KKW00147SFConst.TELNO_29, X31CWebConst.DATABEAN_GET_VALUE);

		if (!isNull(dobanitenTelno) && !torikeshiFlg)
		{
			
			// 同番移転 ＮＴＴ契約者名
			parentMap.put("tu0021_ntt_keisha_nm", dobanitenInput.sendMessageString(KKW00147SFConst.KSH_NM_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 同番移転 ＮＴＴ契約者カナ名
			parentMap.put("tu0021_ntt_ksh_kana", dobanitenInput.sendMessageString(KKW00147SFConst.KSH_NM_KANA_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所住所手動入力フラグ
			boolean manInput = dobanitenInput.sendMessageBoolean(KKW00147SFConst.MAN_INPUT_29, X31CWebConst.DATABEAN_GET_VALUE);
			parentMap.put("setplace_ad_man_input_flg", manInput ? "1" : "0");
			// 設置場所住所コード
			parentMap.put("setplace_ad_cd", dobanitenInput.sendMessageString(KKW00147SFConst.AD_CD_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所郵便番号
			String pcdKami3 = dobanitenInput.sendMessageString(KKW00147SFConst.PCD1_29, X31CWebConst.DATABEAN_GET_VALUE);
			String pcdShimo4 = dobanitenInput.sendMessageString(KKW00147SFConst.PCD2_29, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isNull(pcdKami3) && !isNull(pcdShimo4))
			{
				parentMap.put("setplace_pcd", pcdKami3 + pcdShimo4);
			}
			// 設置場所都道府県名
			parentMap.put("setplace_state_nm", dobanitenInput.sendMessageString(KKW00147SFConst.STATE_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所市区町村名
			parentMap.put("setplace_city_nm", dobanitenInput.sendMessageString(KKW00147SFConst.CITY_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所大字通称名
			parentMap.put("setplace_oaztsu_nm", dobanitenInput.sendMessageString(KKW00147SFConst.OAZTSU_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所字丁目名
			parentMap.put("setplace_azcho_nm", dobanitenInput.sendMessageString(KKW00147SFConst.AZCHO_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所番地号
			parentMap.put("setplace_bnchigo", dobanitenInput.sendMessageString(KKW00147SFConst.BNCHIGO_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所住所補記・建物名
			parentMap.put("setplace_adrttm", dobanitenInput.sendMessageString(KKW00147SFConst.ADRTTM_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 設置場所住所補記・部屋番号
			parentMap.put("setplace_adrrm", dobanitenInput.sendMessageString(KKW00147SFConst.ADRRM_29, X31CWebConst.DATABEAN_GET_VALUE));
			// 申込事業者記事欄
			parentMap.put("mskmjig_kijiran_1", dobanitenInput.sendMessageString(KKW00147SFConst.KIJI_RAN_29, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// 2013-03-18 OT-2013-0000443 ADD END
		
		X31SDataBeanAccess beanTemp = bean[0];
		X31SDataBeanAccessArray arraybean = beanTemp.getDataBeanArray("異動理由明細");
		ArrayList list = null;
		if(parentMap.containsKey("ido_rsn_list")){
			list = (ArrayList)parentMap.get("ido_rsn_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();
				}

				// 異動理由コード
				if (subbean != null) {
					childMap.put("ido_rsn_cd", subbean.sendMessageString("異動理由コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 異動理由メモ
				if (subbean != null) {
					childMap.put("ido_rsn_memo", subbean.sendMessageString("異動理由メモ", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		// 異動理由リスト
		parentMap.put("ido_rsn_list", list);

		// 20120924 ANK-0397-00-00 START
		// 申込書番号
		parentMap.put("mskmsho_no", bean[0].sendMessageString("申込書番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 申込書明細番号
		parentMap.put("mskmsho_dtl_no", bean[0].sendMessageString("申込書明細番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 20120924 ANK-0397-00-00 END

		// ▼▼▼▼▼ 2013/09/24 OM-2013-0002461 UPD START ▼▼▼▼▼
		// OM-2013-00001893 2013/09/14
		{
			String[] moreItems = {
					"emg_ad_cd",		// 緊急通報用住所コード
					"emg_hosei_pcd",	// 緊急通報用補正郵便番号
					"emg_state_nm",		// 緊急通報用都道府県名
					"emg_city_nm",		// 緊急通報用市区町村名
					"emg_oaztsu_nm",	// 緊急通報用大字通称名
					"emg_azcho_nm",		// 緊急通報用字丁目名
					"emg_bnchigo",		// 緊急通報用番地号
					"emg_adrttm",		// 緊急通報用住所補記・建物名
					"emg_adrrm",		// 緊急通報用住所補記・部屋番号
					"emg_ksh_nm",		// 緊急通報用契約者名
					"emg_ksh_kana",		// 緊急通報用契約者カナ名
// ▼▼▼ DEL ▼▼▼
//					"tsjgs_cd"			// 通信事業者コード
// ▲▲▲ DEL ▲▲▲
			};

			String[] srcKeys = {
					KKW00147SFConst.EMG_AD_CD_06,			// 緊急通報用住所コード
					KKW00147SFConst.EMG_HOSEI_PCD_06,		// 緊急通報用補正郵便番号
					KKW00147SFConst.STATE_NM_11,			// 都道府県名
					KKW00147SFConst.CITY_NM_11,				// 市区町村名
					KKW00147SFConst.OAZTSU_NM_11,			// 大字通称名
					KKW00147SFConst.AZCHO_NM_11,			// 字丁目名
					KKW00147SFConst.EMG_BNCHIGO_06,			// 緊急通報用番地号
					KKW00147SFConst.EMG_ADRTTM_06,			// 緊急通報用住所補記・建物名
					KKW00147SFConst.EMG_ADRRM_06,			// 緊急通報用住所補記・部屋番号
					KKW00147SFConst.EMG_KSH_NM_06,			// 緊急通報用契約者名
					KKW00147SFConst.EMG_KSH_KANA_06,		// 緊急通報用契約者カナ名
// ▼▼▼ DEL ▼▼▼
//					KKW00147SFConst.TSJGS_CD_06,			// 通信事業者コード
// ▲▲▲ DEL ▲▲▲
			};

			//サービス契約内訳＜eo光電話＞・一意照会結果
			X31SDataBeanAccess svcKeiUcwkTelBean = bean[0].getDataBeanArray(KKW00147SFConst.EKK0191A010DATA).getDataBean(0);
			//住所マスタ
			X31SDataBeanAccess zm0081Bean = bean[0].getDataBeanArray(KKW00147SFConst.EZM0081A010DATA).getDataBean(0); 

			X31SDataBeanAccess[] mameBeans = {
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					zm0081Bean,
					zm0081Bean,
					zm0081Bean,
					zm0081Bean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
// ▼▼▼ DEL ▼▼▼
//					svcKeiUcwkTelBean
// ▲▲▲ DEL ▲▲▲
			};
			
			for (int i = 0; i < moreItems.length; i++)
			{
				String srcVal = mameBeans[i].sendMessageString(srcKeys[i], X31CWebConst.DATABEAN_GET_VALUE);
				parentMap.put(moreItems[i], srcVal);
			}
		}
		// OM-2013-00001893 2013/09/14
		// ▲▲▲▲▲ 2013/09/24 OM-2013-0002461 UPD E N D ▲▲▲▲▲

		// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 START
		// 組織コード
		parentMap.put("org_cd", orgCd);
		// 組織名
		parentMap.put("org_nm", orgNm);
		// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 END
		
		// ANK-4494-00-00 ADD START
		X31SDataBeanAccessArray ezm0121a010dataList = bean[0].getDataBeanArray(KKW00147SFConst.EZM0121A010DATA);
		if (ezm0121a010dataList != null && ezm0121a010dataList.getCount() > 0)
		{
			X31SDataBeanAccess ezm0121a010data = ezm0121a010dataList.getDataBean(0);
			
			// 電話番号 更新年月日時分秒
			parentMap.put("zm0121_upd_dtm", ezm0121a010data.sendMessageString(KKW00147SFConst.UPD_DTM_16, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// ANK-4494-00-00 ADD END

		outputMap.put("KKSV021401CC", parentMap);
						
		return outputMap;
	}
	
	/**
	 * <dd>メソッド名：プルダウンコード取得処理
	 * <dd>メソッド説明：プルダウンが選択しているプコードを取得する。
	 * <dd>備考：なし。
	 * @param bean サービスフォームBean
	 * @param pulldownInfName プルダウン情報名(キー値)
	 * @return String プルダウン名称
	 */
	private String getPulldownCd(X31SDataBeanAccess bean, String pulldownInfName)
	{
		String cdDiv = "";
		
		X31SDataBeanAccessArray pulldownInfList = bean.getDataBeanArray(pulldownInfName);
		X31SDataBeanAccess pulldownInf = pulldownInfList.getDataBean(0);
		
		String index = pulldownInf.sendMessageString(KKW00147SFConst.INDEX_01, X31CWebConst.DATABEAN_GET_VALUE);
		
		if (!isNull(index))
		{
			cdDiv = pulldownInf.sendMessageString(KKW00147SFConst.CD_DIV_LIST_01,
					X31CWebConst.DATABEAN_GET_VALUE, Integer.parseInt(index));
		}
		
		return cdDiv;
	}
	
	/**
	 * オブジェクトに値が設定されているか判定します。
	 * <br>
	 * @param arg0 判定するオブジェクト
	 * @return オブジェクトに値が設定されていない場合はtrue
	 */
	private boolean isNull(Object arg0) 
	{
		if (arg0 == null) 
		{
			return true;
		}

		return 0 == arg0.toString().length();
	}
	// 20120709 ANK-0079-00-00 END
	
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021400SC(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);

		// サービス契約内訳番号 → サービス契約内訳＜eo光電話＞一意照会マップ.ＫＥＹ＿サービス契約内訳番号
		parentMap.put("key_svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021400SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021401SC(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));
		// 運用年月日 → お客様一意照会.ＫＥＹ＿予約適用年月日
		parentMap.put("key_rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021401SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021402SC(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("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021402SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021403SC(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_kaisen_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021403SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021407SC(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_telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021407SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021408SC(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));
		// 部品呼び出し → 申込内容承認登録.申込種別コード
		parentMap.put("mskm_sbt_cd", String.valueOf("00010"));
		// 運用年月日時分秒 → 申込内容承認登録.申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → 申込内容承認登録.申込年月日
		parentMap.put("mskm_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 申込内容承認登録.コンシューマ営業用申込状態識別コード
		parentMap.put("consmbsn_mskm_stat_skbt_cd", String.valueOf("03"));

		outputMap.put("KKSV021408SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021409SC(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);

		// 異動区分 → サービス契約内訳＜eo光電話＞情報変更.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → サービス契約内訳＜eo光電話＞情報変更.電話番号
		parentMap.put("telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 利用者名 → サービス契約内訳＜eo光電話＞情報変更.緊急通報用契約者名
		parentMap.put("emg_ksh_nm", bean[0].sendMessageString("利用者名", X31CWebConst.DATABEAN_GET_VALUE));
		// 利用者名（カナ） → サービス契約内訳＜eo光電話＞情報変更.緊急通報用契約者カナ名
		parentMap.put("emg_ksh_kana", bean[0].sendMessageString("利用者名（カナ）", X31CWebConst.DATABEAN_GET_VALUE));
		// 通信事業者コード → サービス契約内訳＜eo光電話＞情報変更.通信事業者コード
		parentMap.put("tsjgs_cd", bean[0].sendMessageString("通信事業者コード", X31CWebConst.DATABEAN_GET_VALUE));
		// ＶＡ形式コード → サービス契約内訳＜eo光電話＞情報変更.VA宅内機器型式コード
		parentMap.put("va_taknkiki_model_cd", bean[0].sendMessageString("ＶＡ形式コード", X31CWebConst.DATABEAN_GET_VALUE));
		// ＶＡ製造番号 → サービス契約内訳＜eo光電話＞情報変更.VA機器製造番号
		parentMap.put("va_kiki_seizo_no", bean[0].sendMessageString("ＶＡ製造番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ポート番号Ｌ → サービス契約内訳＜eo光電話＞情報変更.VAポート番号
		parentMap.put("va_port_no", bean[0].sendMessageString("ポート番号Ｌ", X31CWebConst.DATABEAN_GET_VALUE));
		// 更新年月日時分秒（サービス契約） → サービス契約内訳＜eo光電話＞情報変更.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", bean[0].sendMessageString("更新年月日時分秒（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021409SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021413SC(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);

		// サービス契約内訳番号 → サービス契約内訳＜eo光電話＞番ポ情報変更.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号 → サービス契約内訳＜eo光電話＞番ポ情報変更.申込明細番号
		parentMap.put("mskm_dtl_no", bean[0].sendMessageString("申込明細番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → サービス契約内訳＜eo光電話＞番ポ情報変更.予約適用年月日
		parentMap.put("rsv_aply_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → サービス契約内訳＜eo光電話＞番ポ情報変更.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → サービス契約内訳＜eo光電話＞番ポ情報変更.電話番号
		parentMap.put("telno", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 番ポ有無Ｌ → サービス契約内訳＜eo光電話＞番ポ情報変更.番ポ有無
		parentMap.put("bmp_um", bean[0].sendMessageString("番ポ有無Ｌ", X31CWebConst.DATABEAN_GET_VALUE));

		{	//↓↓↓2012-07-12追加、ST2-2012-0001343対応↓↓↓
			String[] moreItems = {
					"emg_ad_cd",		//緊急通報用住所コード	
					"emg_hosei_pcd",	//緊急通報用補正郵便番号	
					"emg_state_nm",		//緊急通報用都道府県名	
					"emg_city_nm",		//緊急通報用市区町村名	
					"emg_oaztsu_nm",	//緊急通報用大字通称名	
					"emg_azcho_nm",		//緊急通報用字丁目名		
					"emg_bnchigo",		//緊急通報用番地号		
					"emg_adrttm",		//緊急通報用住所補記・建物名	
					"emg_adrrm",		//緊急通報用住所補記・部屋番号
					"emg_ksh_nm",		//緊急通報用契約者名		
					"emg_ksh_kana",		//緊急通報用契約者カナ名	
					"tsjgs_cd"			//通信事業者コード		
				};
			String[] srcKeys = {
					KKW00147SFConst.EMG_AD_CD_06,			//"緊急通報用住所コード";
					KKW00147SFConst.EMG_HOSEI_PCD_06,		//"緊急通報用補正郵便番号";
					KKW00147SFConst.STATE_NM_11	,
					KKW00147SFConst.CITY_NM_11	,
					KKW00147SFConst.OAZTSU_NM_11,
					KKW00147SFConst.AZCHO_NM_11	,
					KKW00147SFConst.EMG_BNCHIGO_06,			//"緊急通報用番地号";
					KKW00147SFConst.EMG_ADRTTM_06,			//"緊急通報用住所補記・建物名";
					KKW00147SFConst.EMG_ADRRM_06,			//"緊急通報用住所補記・部屋番号";
					KKW00147SFConst.EMG_KSH_NM_06,			//"緊急通報用契約者名"
					KKW00147SFConst.EMG_KSH_KANA_06,		//"緊急通報用契約者カナ名"
					KKW00147SFConst.TSJGS_CD_06,			//通信事業者コード
				};

			//サービス契約内訳＜eo光電話＞・一意照会結果
			X31SDataBeanAccess svcKeiUcwkTelBean = bean[0].getDataBeanArray(KKW00147SFConst.EKK0191A010DATA).getDataBean(0);
			//住所マスタ
			X31SDataBeanAccess zm0081Bean = bean[0].getDataBeanArray(KKW00147SFConst.EZM0081A010DATA).getDataBean(0); 

			X31SDataBeanAccess[] mameBeans = {
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					zm0081Bean,
					zm0081Bean,
					zm0081Bean,
					zm0081Bean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean,
					svcKeiUcwkTelBean
			};
			
			for (int i = 0; i < moreItems.length; i++)
			{
				String srcVal = mameBeans[i].sendMessageString(srcKeys[i], X31CWebConst.DATABEAN_GET_VALUE);
				parentMap.put(moreItems[i], srcVal);
			}
		}	//↑↑↑2012-07-12追加、ST2-2012-0001343対応↑↑↑

		outputMap.put("KKSV021413SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021410SC(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("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 番ポ工事登録.法人個人コード
		parentMap.put("hojin_kojin_cd", String.valueOf("1"));
		// 運用年月日 → 番ポ工事登録.お客様申込年月日
		parentMap.put("cust_mskm_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 番ポ工事登録.番ポ申込書タイプコード
		parentMap.put("bmp_mskmsho_type_cd", String.valueOf("3"));
		// 同時工事有無 → 番ポ工事登録.同時工事有無
		parentMap.put("doji_koji_um", bean[0].sendMessageString("同時工事有無", X31CWebConst.DATABEAN_GET_VALUE));
		// 同番移転有無 → 番ポ工事登録.同番移転有無
		parentMap.put("dobaniten_um", bean[0].sendMessageString("同番移転有無", X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → 番ポ工事登録.NTT契約電話回線番号
		parentMap.put("ntt_kei_tel_kaisen_no", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者名 → 番ポ工事登録.NTT契約者名
		parentMap.put("ntt_keisha_nm", bean[0].sendMessageString("ＮＴＴ契約者名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者カナ名 → 番ポ工事登録.NTT契約者カナ名
		parentMap.put("ntt_ksh_kana", bean[0].sendMessageString("ＮＴＴ契約者カナ名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者住所コード → 番ポ工事登録.NTT契約者住所コード
		parentMap.put("ntt_keisha_ad_cd", bean[0].sendMessageString("ＮＴＴ契約者住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者郵便番号 → 番ポ工事登録.NTT契約者郵便番号
		parentMap.put("ntt_keisha_pcd", bean[0].sendMessageString("ＮＴＴ契約者郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者都道府県名 → 番ポ工事登録.NTT契約者都道府県名
		parentMap.put("ntt_keisha_state_nm", bean[0].sendMessageString("ＮＴＴ契約者都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者市区町村名 → 番ポ工事登録.NTT契約者市区町村名
		parentMap.put("ntt_keisha_city_nm", bean[0].sendMessageString("ＮＴＴ契約者市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者大字通称名 → 番ポ工事登録.NTT契約者大字通称名
		parentMap.put("ntt_keisha_oaztsu_nm", bean[0].sendMessageString("ＮＴＴ契約者大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者字丁目名 → 番ポ工事登録.NTT契約者字丁目名
		parentMap.put("ntt_keisha_azcho_nm", bean[0].sendMessageString("ＮＴＴ契約者字丁目名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者番地号 → 番ポ工事登録.NTT契約者番地号
		parentMap.put("ntt_keisha_bnchigo", bean[0].sendMessageString("ＮＴＴ契約者番地号", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者住所補記・建物名 → 番ポ工事登録.NTT契約者住所補記・建物名
		parentMap.put("ntt_keisha_adrttm", bean[0].sendMessageString("ＮＴＴ契約者住所補記・建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者住所補記・部屋番号 → 番ポ工事登録.NTT契約者住所補記・部屋番号
		parentMap.put("ntt_keisha_adrrm", bean[0].sendMessageString("ＮＴＴ契約者住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日 → 番ポ工事登録.番ポ工事受付年月日
		parentMap.put("bmp_koji_uk_ymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// 番ポ工事希望年月日時 → 番ポ工事登録.番ポ工事希望年月日時
		parentMap.put("bmp_koji_kibo_ymdh", bean[0].sendMessageString("番ポ工事希望年月日時", X31CWebConst.DATABEAN_GET_VALUE));
		// ログインユーザＩＤ → 番ポ工事登録.番ポ受付担当ユーザーID
		parentMap.put("bmp_uk_tnt_user_id", bean[0].sendMessageString("ログインユーザＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 番ポ工事登録.電話加入権取扱コード
		parentMap.put("tel_knkn_trat_cd", String.valueOf("1"));
		// ＮＴＴ契約者住所コード → 番ポ工事登録.加入権移転先住所コード
		parentMap.put("kanykn_itens_ad_cd", bean[0].sendMessageString("ＮＴＴ契約者住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者郵便番号 → 番ポ工事登録.加入権移転先郵便番号
		parentMap.put("kanykn_itens_pcd", bean[0].sendMessageString("ＮＴＴ契約者郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者都道府県名 → 番ポ工事登録.加入権移転先都道府県名
		parentMap.put("kanykn_itens_state_nm", bean[0].sendMessageString("ＮＴＴ契約者都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
		// ＮＴＴ契約者市区町村名 → 番ポ工事登録.加入権移転先市区町村名
		parentMap.put("kanykn_itens_city_nm", bean[0].sendMessageString("ＮＴＴ契約者市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
		// 通信事業者コード → 番ポ工事登録.移転元通信事業者コード
		parentMap.put("itnm_tsjgs_cd", bean[0].sendMessageString("通信事業者コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 通信事業者・番ポ受付拠点 → 番ポ工事登録.移転元通信事業者拠点コード
		parentMap.put("itnm_tsjgs_ktn_cd", bean[0].sendMessageString("通信事業者・番ポ受付拠点", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 番ポ工事登録.申込事業者所内工事有無
		parentMap.put("mskmjig_snai_koji_um", String.valueOf("1"));
		// 部品呼び出し → 番ポ工事登録.申込事業者所外工事有無
		parentMap.put("mskmjig_sgai_koji_um", String.valueOf("0"));
		// 部品呼び出し → 番ポ工事登録.他事業者未確認フラグ
		parentMap.put("ta_jigyosha_mi_cfm_flg", String.valueOf("0"));

		outputMap.put("KKSV021410SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021411SC(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("kzkwrk_reqymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("KKSV021411SC", parentMap);
						
		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021412SC(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);

		// サービス契約番号 → 進捗情報登録.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号 → 進捗情報登録.サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", bean[0].sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 進捗情報登録.異動区分
		parentMap.put("ido_div", bean[0].sendMessageString("異動区分", X31CWebConst.DATABEAN_GET_VALUE));
		// 運用年月日時分秒 → 進捗情報登録.異動年月日時分秒
		parentMap.put("ido_dtm", bean[0].sendMessageString("運用年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
		// 部品呼び出し → 進捗情報登録.進捗ステータス
		parentMap.put("prg_stat", String.valueOf("B306"));

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("異動理由明細");
		if(parentMap.containsKey("EKK1091D010CBSMsg1List")){
			list = (ArrayList)parentMap.get("EKK1091D010CBSMsg1List");
		}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();
				}

				// 異動理由明細.異動理由コード → 進捗情報登録.異動理由明細.異動理由コード
				if (subbean != null) {
					childMap.put("ido_rsn_cd", subbean.sendMessageString("異動理由コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// 異動理由明細.異動理由メモ → 進捗情報登録.異動理由明細.異動理由メモ
				if (subbean != null) {
					childMap.put("ido_rsn_memo", subbean.sendMessageString("異動理由メモ", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("EKK1091D010CBSMsg1List", list);

		outputMap.put("KKSV021412SC", parentMap);
						
		return outputMap;
	}


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：電話番号情報登録
	 * @param outputMap
	 * @param func_code　機能コード
	 * @since 2012-07-15 ST2-2012-0001343対応
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV021415SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}

		//電話番号が更新されているなら、電話番号登録用設定をする
		X31SDataBeanAccess svcKeiUcwkTelBean = bean[0].getDataBeanArray(KKW00147SFConst.EKK0191A010DATA).getDataBean(0);
		String lastTelno = svcKeiUcwkTelBean.sendMessageString(KKW00147SFConst.TELNO_06, X31CWebConst.DATABEAN_GET_VALUE);
		
		String currTelno = bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE);
		
		if (!currTelno.equals(lastTelno)) {

			HashMap<String, Object> parentMap = new HashMap<String, Object>();
	
			// 共通情報のマッピング
			parentMap.put("func_code", func_code);
	
			// 電話番号 → 電話番号登録.電話番号
			parentMap.put("telno", currTelno);
			// 局番 → 電話番号登録.局番
			parentMap.put("kyoku_no", bean[0].sendMessageString("局番", X31CWebConst.DATABEAN_GET_VALUE));
			// 部品呼び出し → 電話番号登録.番号コード
			parentMap.put("no_cd", String.valueOf("01"));
			// 通信事業者コード → 電話番号登録.割当通信事業者コード
			parentMap.put("wariate_tsjgs_cd", bean[0].sendMessageString("通信事業者コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 通信事業者コード → 電話番号登録.使用通信事業者コード
			parentMap.put("use_tsjgs_cd", bean[0].sendMessageString("通信事業者コード", X31CWebConst.DATABEAN_GET_VALUE));
			// 部品呼び出し → 電話番号登録.サービス区分
			parentMap.put("svc_div", String.valueOf("01"));
			// 運用年月日 → 電話番号登録.電話番号適用開始年月日
			parentMap.put("telno_tstaymd", bean[0].sendMessageString("運用年月日", X31CWebConst.DATABEAN_GET_VALUE));
	
			outputMap.put("KKSV021415SC", parentMap);
		}
		return outputMap;
	}


}
