/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：KKSV0154_KKSV0154OPDBMapper
*	ソースファイル名：KKSV0154_KKSV0154OPDBMapper.java
*	作成者			：FJ
*	日付			：2011年09月28日
*＜機能概要＞
*	BP（住所情報変更画面初期表示）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/28	FJ		新規作成
*  v23.00.00	2016/02/16	FJ)谷口     【OM-2015-0003330】住所一括更新にて請求書部屋番号が正しく更新されない
*  v23.01.00	2016/03/14	FJ)谷口     【OM-2016-0000067】緊急通報変更オーダを発行したら応答正常するべきところ応答異常した
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.sun.enterprise.tools.common.util.StringUtils;

import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.KKW04801SF.KKW04801SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JKKCommonConst;

/**
 * DataBean-BPマッピングをする。
 * 
 */
public class KKSV0156_KKSV0156OPDBMapper {
	
	/**
	 * コンストラクタ
	 */
	public KKSV0156_KKSV0156OPDBMapper(){
	}
	


	/**
	 * 上りマッピングをする
	 * @param bean　[0]：住所情報変更画面　
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
// ST2-2013-0001729対応 20130416 星野 MOD START
//	public HashMap setKKSV015601CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {
	public HashMap setKKSV015601CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, X31SDataBeanAccess commoninfoBean) {
// ST2-2013-0001729対応 20130416 星野 MOD END
		
		if(bean == null){
			return null;
		}
		
		if(bean.length != 1){
			return null;
		}


		/** 上りマッピング実施 */
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);


		// 顧客契約引継リストの展開
		X31SDataBeanAccessArray arrayData = bean[0].getDataBeanArray(KKW04801SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktugiBean = arrayData.getDataBean(0);

		// 顧客契約引継リスト.異動区分 → 住所情報変更CCマップ.異動区分
		parentMap.put("ido_div", custKeiHktugiBean.sendMessageString(KKW04801SFConst.IDO_DIV_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日付 → 住所情報変更CCマップ.運用日付
		parentMap.put("ope_date", bean[0].sendMessageString(KKW04801SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
// IT2-2012-0001870 MOD 2012.11.29 Y.MORIMOTO START
		// 顧客契約引継リスト.サービス契約番号 → 住所情報変更CCマップ.サービス契約番号
		parentMap.put("svc_kei_no", custKeiHktugiBean.sendMessageString(KKW04801SFConst.SVC_KEI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
// IT2-2012-0001870 MOD 2012.11.29 Y.MORIMOTO END

		// OM-2016-0000067 20160314 ADD START
		// 利用場所住所_更新要否を設定
		boolean setplace_ad_upd_um = bean[0].sendMessageBoolean(KKW04801SFConst.SETPLACE_AD_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("setplace_ad_upd_um", Boolean.toString(setplace_ad_upd_um));
		// 請求書送付先住所_更新要否を設定
		boolean seiky_shs_ad_upd_um = bean[0].sendMessageBoolean(KKW04801SFConst.SEIKY_SHS_AD_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("seiky_shs_ad_upd_um", Boolean.toString(seiky_shs_ad_upd_um));
		// ガイド誌送付先_更新要否を設定
		boolean guide_shs_ad_upd_um = bean[0].sendMessageBoolean(KKW04801SFConst.GUIDEMG_SHS_AD_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("guide_shs_ad_upd_um", Boolean.toString(guide_shs_ad_upd_um));
		// OM-2016-0000067 20160314 ADD END
		
		/** 異動理由リストの生成 */
		ArrayList<HashMap<String, Object>> ido_rsn_list = new ArrayList<HashMap<String, Object>>();

		// 異動理由コードの設定数だけ繰り返し
		Integer maxIndex = (Integer)custKeiHktugiBean.sendMessage(KKW04801SFConst.IDO_RSN_CD_10, X31CWebConst.DATABEAN_GET_COUNT);
		for (int i=0; i<maxIndex; i++)
		{
			HashMap<String, Object> ido_rsn_map = new HashMap<String, Object>();

			// 異動理由コードを異動理由明細設定用マップに登録
			ido_rsn_map.put("ido_rsn_cd", custKeiHktugiBean.sendMessageString(KKW04801SFConst.IDO_RSN_CD_10, X31CWebConst.DATABEAN_GET_VALUE, i));
			// ▼▼▼ 異動区分選択の引継ぎ項目追加対応（異動理由メモ） START ▼▼▼
			ido_rsn_map.put( "ido_rsn_memo", custKeiHktugiBean.sendMessageString(KKW04801SFConst.IDO_RSN_MEMO_10, X31CWebConst.DATABEAN_GET_VALUE) );
			// ▲▲▲ 異動区分選択の引継ぎ項目追加対応（異動理由メモ） END ▲▲▲

			// 異動理由リストへマップを登録
			ido_rsn_list.add(ido_rsn_map);
		}
		// 異動理由リストをparentMapへ登録
		parentMap.put("ido_rsn_list", ido_rsn_list);

		// 顧客契約引継リスト.ＳＹＳＩＤ → 住所情報変更CCマップ.SYSID
		parentMap.put("sysid", custKeiHktugiBean.sendMessageString(KKW04801SFConst.SYSID_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 変更後_契約者住所_選択 → 住所情報変更CCマップ.契約者住所_更新要否
		boolean chaf_ksh_choice = bean[0].sendMessageBoolean(KKW04801SFConst.CHAF_KSH_CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("ksh_ad_upd_um", Boolean.toString(chaf_ksh_choice));
		// 変更後_契約者住所_住所コード → 住所情報変更CCマップ.契約者住所_住所コード
		parentMap.put("ksh_ad_cd", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_郵便番号 → 住所情報変更CCマップ.契約者住所_郵便番号
		parentMap.put("ksh_pcd", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_PCD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_都道府県名 → 住所情報変更CCマップ.契約者住所_都道府県名
		parentMap.put("ksh_state", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_STATE, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_市区町村名 → 住所情報変更CCマップ.契約者住所_市区町村名
		parentMap.put("ksh_city", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_CITY, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_大字通称名 → 住所情報変更CCマップ.契約者住所_大字通称名
		parentMap.put("ksh_oaztsu", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_OAZTSU, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_字丁目名 → 住所情報変更CCマップ.契約者住所_字丁目名
		parentMap.put("ksh_azcho", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_AZCHO, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_番地号 → 住所情報変更CCマップ.契約者住所_番地号
		parentMap.put("ksh_bnchigo", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_住所補記・建物名 → 住所情報変更CCマップ.契約者住所_住所補記・建物名
		parentMap.put("ksh_adrttm", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_住所補記・部屋番号 → 住所情報変更CCマップ.契約者住所_住所補記・部屋番号
		parentMap.put("ksh_adrrm", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-1361-00-00 2013.02.19 T.TORIKAI ADD START
		// 変更後_契約者住所_手動入力フラグ → 住所情報変更CCマップ.契約者住所_手動入力フラグ
		if (bean[0].sendMessageBoolean(KKW04801SFConst.REIGAI, X31CWebConst.DATABEAN_GET_VALUE)) {
			parentMap.put("ksh_ad_man_input_flg", "1");	// 手動入力：あり
		} else {
			parentMap.put("ksh_ad_man_input_flg", "0");	// 手動入力：なし
		}
//ANK-1361-00-00 2013.02.19 T.TORIKAI ADD END
		// 変更後＿契約者住所＿契約者名（カナ） → 住所情報変更CCマップ.契約者住所_契約者名（カナ）
		parentMap.put("ksh_kana", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_KANA, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後＿契約者住所＿契約者名 → 住所情報変更CCマップ.契約者住所_契約者名
		parentMap.put("ksh_nm", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_適用年月日 → 住所情報変更CCマップ.契約者住所_適用年月日
		parentMap.put("ksh_aply_ymd", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_APLY_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_電話番号 → 住所情報変更CCマップ.契約者住所_電話番号
		parentMap.put("ksh_telno", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_電話番号（携帯） → 住所情報変更CCマップ.契約者住所_電話番号（携帯）
		parentMap.put("ksh_telno_ktai", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_TELNO_KTAI, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_電話番号（勤務先） → 住所情報変更CCマップ.契約者住所_電話番号（勤務先）
		parentMap.put("ksh_telno_offc", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_TELNO_OFFC, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_契約者住所_更新年月日時分秒 → 住所情報変更CCマップ.契約者情報_更新年月日時分秒(更新前)
		parentMap.put("ksh_upd_dtm_bf", bean[0].sendMessageString(KKW04801SFConst.CHAF_KSH_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
		// 連絡先番号（携帯） → 住所情報変更CCマップ.連絡先番号＜携帯＞
		parentMap.put("rrks_no_ktai", bean[0].sendMessageString(KKW04801SFConst.RRKS_NO_KTAI, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前_連絡先情報_更新年月日時分秒（携帯） → 住所情報変更CCマップ.連絡先情報＜携帯＞_更新年月日時分秒(更新前)
		parentMap.put("rrs_ktai_upd_dtm_bf", bean[0].sendMessageString(KKW04801SFConst.CHBF_RRS_UPD_DTM_KTAI, X31CWebConst.DATABEAN_GET_VALUE));
		// 連絡先番号（勤務先） → 住所情報変更CCマップ.連絡先番号＜勤務先＞
		parentMap.put("rrks_no_offc", bean[0].sendMessageString(KKW04801SFConst.RRKS_NO_OFFC, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更前_連絡先情報_更新年月日時分秒（勤務先） → 住所情報変更CCマップ.連絡先情報＜勤務先＞_更新年月日時分秒(更新前)
		parentMap.put("rrs_offc_upd_dtm_bf", bean[0].sendMessageString(KKW04801SFConst.CHBF_RRS_UPD_DTM_OFFC, X31CWebConst.DATABEAN_GET_VALUE));
//巻A ANK-0382-00-00 ADD 2012.09.13 Y.MORIMOTO START
		// 変更後_お客様指定送付先住所_選択 → 住所情報変更CCマップ.お客様指定送付先住所_更新要否
		boolean chaf_sitei_shs_choice = bean[0].sendMessageBoolean(KKW04801SFConst.CHAF_SITEI_SHS_CHOICE, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("cssti_shs_ad_upd_um", Boolean.toString(chaf_sitei_shs_choice));
		// 変更後_お客様指定送付先住所_住所コード → 住所情報変更CCマップ.お客様指定送付先住所_住所コード
		parentMap.put("cssti_shs_ad_ad_cd", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_郵便番号 → 住所情報変更CCマップ.お客様指定送付先住所_郵便番号
		parentMap.put("cssti_shs_ad_pcd", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_PCD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_都道府県名 → 住所情報変更CCマップ.お客様指定送付先住所_都道府県名
		parentMap.put("cssti_shs_ad_state", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_市区町村名 → 住所情報変更CCマップ.お客様指定送付先住所_市区町村名
		parentMap.put("cssti_shs_ad_city", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_大字通称名 → 住所情報変更CCマップ.お客様指定送付先住所_大字通称名
		parentMap.put("cssti_shs_ad_oaztsu", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_字丁目名 → 住所情報変更CCマップ.お客様指定送付先住所_字丁目名
		parentMap.put("cssti_shs_ad_azcho", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_番地号 → 住所情報変更CCマップ.お客様指定送付先住所_番地号
		parentMap.put("cssti_shs_ad_bnchigo", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_住所補記・建物名 → 住所情報変更CCマップ.お客様指定送付先住所_住所補記・建物名
		parentMap.put("cssti_shs_ad_adrttm", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_住所補記・部屋番号 → 住所情報変更CCマップ.お客様指定送付先住所_住所補記・部屋番号
		parentMap.put("cssti_shs_ad_adrrm", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_適用年月日 → 住所情報変更CCマップ.お客様指定送付先住所_適用年月日
		parentMap.put("cssti_shs_aply_ymd", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_APLY_YMD, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_お客様指定送付先住所_更新年月日時分秒 → 住所情報変更CCマップ.客様指定送付先住所_更新年月日時分秒(更新前)
		parentMap.put("cssti_shs_ad_upd_dtm_bf", bean[0].sendMessageString(KKW04801SFConst.CHAF_SITEI_SHS_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE));
//巻A ANK-0382-00-00 ADD 2012.09.13 Y.MORIMOTO END
// 100015 2012.12.26 suzuki add start
		// 例外（手動入力） → 住所情報変更CCマップ.例外
		parentMap.put("reigai", bean[0].sendMessageBoolean(KKW04801SFConst.REIGAI, X31CWebConst.DATABEAN_GET_VALUE));
// 100015 2012.12.26 suzuki add end
		// 更新内容 → 住所情報変更CCマップ.更新内容
		int index = Integer.parseInt(bean[0].sendMessageString(KKW04801SFConst.UPD_NAIYO_IDX, X31CWebConst.DATABEAN_GET_VALUE));
// 20130726 星野 MOD START
//		X31SDataBeanAccessArray pulldownInfList = bean[0].getDataBeanArray(KKW04801SFConst.UPD_WAY);
		X31SDataBeanAccessArray pulldownInfList = bean[0].getDataBeanArray(KKW04801SFConst.UPD_NAIYO);
// 20130726 星野 MOD END
		X31SDataBeanAccess pulldownInf = pulldownInfList.getDataBean(0);
		parentMap.put("upd_naiyo", pulldownInf.sendMessageString(KKW04801SFConst.CD_DIV_LIST_01, X31CWebConst.DATABEAN_GET_VALUE, index));

		// 変更後_利用場所住所_利用場所住所一覧の展開
		X31SDataBeanAccessArray afSetplaceArrayData = bean[0].getDataBeanArray(KKW04801SFConst.CHAF_SETPLACE_LIST);

		// 変更内容_未確定を取得
		String miFix = "0";
		if (bean[0].sendMessageBoolean(KKW04801SFConst.MI_FIX, X31CWebConst.DATABEAN_GET_VALUE)) {
			miFix = "1";
		}
		// 変更内容_区画整理中を取得
		String kkkSeiriChu = "0";
		if (bean[0].sendMessageBoolean(KKW04801SFConst.KKK_SEIRI_CHU, X31CWebConst.DATABEAN_GET_VALUE)) {
			kkkSeiriChu = "1";
		}
		
		/** 更新項目(利用場所住所) の生成 */
		ArrayList<HashMap<String, Object>> setplace_ad_list = new ArrayList<HashMap<String, Object>>();
		for(int i=0; i < afSetplaceArrayData.getCount(); i++)
		{

			// カレントの変更後_利用場所住所_利用場所住所一覧を取得
			X31SDataBeanAccess afSetplace = afSetplaceArrayData.getDataBean(i);

			// カレントの変更後_利用場所住所_利用場所住所一覧から
			// 変更後_利用場所住所_選択を取得
			boolean chaf_setplace_choice = afSetplace.sendMessageBoolean(KKW04801SFConst.CHAF_SETPLACE_CHOICE_03, X31CWebConst.DATABEAN_GET_VALUE);

			// 変更後_利用場所住所_選択がfalseかを判定
			if(!chaf_setplace_choice)
			{
				// 更新対象ではない為、次の利用場所住所を取得
				continue;
			}

			// 更新項目追加用マップの生成
			HashMap<String, Object> setplace_ad = new HashMap<String, Object>();

			// 変更後_利用場所住所_サービス契約番号 → 住所情報変更CCマップ.利用場所住所_サービス契約番号
			String setplace_svc_kei_no = afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SVC_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE);
			setplace_ad.put("setplace_ad_svc_kei_no", setplace_svc_kei_no);
			// 変更後_利用場所住所_サービス契約回線内訳番号 → 住所情報変更CCマップ.利用場所住所_サービス契約回線内訳番号
			setplace_ad.put("setplace_ad_svc_kei_kaisen_ucwk_no", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SVC_KEI_KAISEN_UCWK_NO_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_住所コード → 住所情報変更CCマップ.利用場所住所_住所コード
			setplace_ad.put("setplace_ad_ad_cd", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_AD_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_郵便番号 → 住所情報変更CCマップ.利用場所住所_郵便番号
			setplace_ad.put("setplace_ad_pcd", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_PCD_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_都道府県名 → 住所情報変更CCマップ.利用場所住所_都道府県名
			setplace_ad.put("setplace_ad_state", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_STATE_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_市区町村名 → 住所情報変更CCマップ.利用場所住所_市区町村名
			setplace_ad.put("setplace_ad_city", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_CITY_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_大字通称名 → 住所情報変更CCマップ.利用場所住所_大字通称名
			setplace_ad.put("setplace_ad_oaztsu", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_OAZTSU_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_字丁目名 → 住所情報変更CCマップ.利用場所住所_字丁目名
			setplace_ad.put("setplace_ad_azcho", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_AZCHO_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_番地号 → 住所情報変更CCマップ.利用場所住所_番地号
			setplace_ad.put("setplace_ad_bnchigo", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_BNCHIGO_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_住所補記・建物名 → 住所情報変更CCマップ.利用場所住所_住所補記・建物名
			setplace_ad.put("setplace_ad_adrttm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_ADRTTM_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_住所補記・部屋番号 → 住所情報変更CCマップ.利用場所住所_住所補記・部屋番号
			setplace_ad.put("setplace_ad_adrrm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_ADRRM_03, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-1361-00-00 2013.02.19 T.TORIKAI ADD START
			// 変更後_利用場所住所_手動入力フラグ → 住所情報変更CCマップ.利用場所住所_手動入力フラグ
			if (bean[0].sendMessageBoolean(KKW04801SFConst.REIGAI, X31CWebConst.DATABEAN_GET_VALUE)) {
				setplace_ad.put("setplace_ad_man_input_flg", "1");	// 手動入力：あり
			} else {
				setplace_ad.put("setplace_ad_man_input_flg", "0");	// 手動入力：なし
			}
// ANK-1361-00-00 2013.02.19 T.TORIKAI ADD END
			// 変更後_利用場所住所_電話番号 → 住所情報変更CCマップ.利用場所住所_電話番号
			setplace_ad.put("setplace_ad_telno", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_TELNO_03, X31CWebConst.DATABEAN_GET_VALUE));
//▼▼▼  IT2-2012-0001464  H.TAKANO START ▼▼▼
			// 変更後_利用場所住所_適用年月日 → 住所情報変更CCマップ.利用場所住所_適用年月日
//			setplace_ad.put("setplace_ad_aply_ymd", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_APLY_YMD_03, X31CWebConst.DATABEAN_GET_VALUE));
//▲▲▲  IT2-2012-0001464  H.TAKANO END ▲▲▲
			// 未確定 → 住所情報変更CCマップ.利用場所住所_未確定
			setplace_ad.put("setplace_ad_mi_fix", miFix);
			// 区画整理中 → 住所情報変更CCマップ.利用場所住所_区画整理中
			setplace_ad.put("setplace_ad_kkk_seiri", kkkSeiriChu);
			// 変更後_利用場所住所_メモ → 住所情報変更CCマップ.利用場所住所_メモ 
			setplace_ad.put("setplace_ad_memo", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_MEMO_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更前_利用場所住所_更新年月日時分秒 → 住所情報変更CCマップ.利用場所住所_更新年月日時分秒(更新前)
			setplace_ad.put("setplace_ad_upd_dtm_bf", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_UPD_DTM_03, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_利用場所住所_契約サービス → 住所情報変更CCマップ.利用場所住所_契約サービス
			setplace_ad.put("setplace_ad_svc_cd", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SVC_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2015-0003330 20160216 ADD START
			// 変更後＿利用場所住所＿請求先部屋番号 → 住所情報変更CCマップ.利用場所住所_請求書用回線場所住所部屋番号
			setplace_ad.put("seiky_shs_ad_sks_yo_kisn_place_ad_rm_no", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SKS_ADRRM_03, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2015-0003330 20160216 ADD END

			/** 緊急通報先情報リストの生成 */
			// 変更後_緊急通報情報一覧一覧の展開
			X31SDataBeanAccessArray afEmgArrayData = bean[0].getDataBeanArray(KKW04801SFConst.CHAF_EMG_INFO_LIST);

			// 更新項目追加用リストの生成
			ArrayList<HashMap<String, Object>> emg_list = new ArrayList<HashMap<String, Object>>();

			// 緊急通報先情報 設定
			for(int j=0; j < afEmgArrayData.getCount(); j++)
			{

				// カレントの変更後_緊急通報情報一覧を取得
				X31SDataBeanAccess afEmg = afEmgArrayData.getDataBean(j);

				// 更新対象のサービス契約番号であるかを判定
				String emg_svc_kei_no = afEmg.sendMessageString(KKW04801SFConst.CHAF_SVC_KEI_NO_09, X31CWebConst.DATABEAN_GET_VALUE);
				if( StringUtils.isEmpty(emg_svc_kei_no) || !emg_svc_kei_no.equals(setplace_svc_kei_no))
				{
					// 更新対象のサービス契約番号ではない為、次の緊急通報情報を取得
					continue;
				}

				// 更新項目追加用マップの生成
				HashMap<String, Object> emg = new HashMap<String, Object>();

				// 変更後_変更後緊急通報情報_サービス契約番号 → 住所情報変更CCマップ.変更後緊急通報情報_サービス契約番号
// IT1-2012-0001621対応 MOD 2012.10.23 Y.MORIMOTO START
//				setplace_ad.put("emg_svc_kei_no", afEmg.sendMessageString(KKW04801SFConst.CHAF_SVC_KEI_NO_09, X31CWebConst.DATABEAN_GET_VALUE));
				emg.put("emg_svc_kei_no", afEmg.sendMessageString(KKW04801SFConst.CHAF_SVC_KEI_NO_09, X31CWebConst.DATABEAN_GET_VALUE));
// IT1-2012-0001621対応 MOD 2012.10.23 Y.MORIMOTO END
				// 変更後_ｅｏ光電話_サービス契約内訳番号 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_サービス契約内訳番号
				emg.put("emg_svc_kei_ucwk_no", afEmg.sendMessageString(KKW04801SFConst.CHAF_EOH_TEL_SVC_KEI_UCWK_NO_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 変更後_緊急通報用住所コード → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_住所コード
				emg.put("emg_ad_cd", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_AD_CD_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 変更後_緊急通報用補正郵便番号 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_補正郵便番号
				emg.put("emg_hosei_pcd", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_HOSEI_PCD_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 変更後_緊急通報用都道府県名 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_都道府県名
				emg.put("emg_state_nm", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_STATE_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 変更後_緊急通報用市区町村名 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_市区町村名
				emg.put("emg_city_nm", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_CITY_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 変更後_緊急通報用大字通称名 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_大字通称名
				emg.put("emg_oaztsu_nm", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_OAZTSU_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 変更後_緊急通報用字丁目名 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_字丁目名
				emg.put("emg_azcho_nm", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_AZCHO_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 変更後_緊急通報用番地号 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_番地号
				emg.put("emg_bnchigo", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_BNCHIGO_09, X31CWebConst.DATABEAN_GET_VALUE));
// OM-2013-0000928 2013.08.26 T.TORIKAI MOD START
// 緊急通報先は建物名＋部屋番号を緊急通報用住所補記・建物名にセットする
// 緊急通報用住所補記・部屋番号については未使用として空欄とする
				// 変更後_緊急通報情報_緊急通報用住所補記・建物名 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_住所補記・建物名
//				emg.put("emg_adrttm", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_ADRTTM_09, X31CWebConst.DATABEAN_GET_VALUE));
				String emgAdr = afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_ADRTTM_09, X31CWebConst.DATABEAN_GET_VALUE)
							+	afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_ADRRM_09, X31CWebConst.DATABEAN_GET_VALUE);
				emg.put("emg_adrttm", emgAdr);
				// 変更後_緊急通報情報_緊急通報用住所補記・部屋番号 → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_住所補記・部屋番号
//				emg.put("emg_adrrm", afEmg.sendMessageString(KKW04801SFConst.CHAF_EMG_ADRRM_09, X31CWebConst.DATABEAN_GET_VALUE));
				emg.put("emg_adrrm", "");
// OM-2013-0000928 2013.08.26 T.TORIKAI MOD END
				// 変更後_ｅｏ光電話_更新年月日時分秒（更新前） → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_更新年月日時分秒(更新前)
				emg.put("emg_upd_dtm_bf", afEmg.sendMessageString(KKW04801SFConst.CHAF_EOH_TEL_UPD_DTM_BF_09, X31CWebConst.DATABEAN_GET_VALUE));

				// OM-2016-0000067 20160314 ADD START
				// 変更後_ｅｏ光電話_最終更新年月日時分秒（更新前） → 住所情報変更CCマップ.緊急通報先情報リスト.緊急通報先_最終更新年月日時分秒(更新前)
				emg.put("emg_last_upd_dtm_bf", afEmg.sendMessageString(KKW04801SFConst.CHAF_EOH_TEL_LAST_UPD_DTM_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
				// OM-2016-0000067 20160314 ADD END
				
				// 更新項目追加用リストへマップを設定
				emg_list.add(emg);
			}

			// 更新項目追加用マップへ緊急通報先情報リストを設定
			setplace_ad.put("emg_list", emg_list);


			// 更新項目(利用場所住所)へ更新項目追加用マップを登録
			setplace_ad_list.add(setplace_ad);
		}
		// 変更後_利用場所住所_利用場所住所一覧 → 住所情報変更CCマップ.利用場所住所情報リスト
		parentMap.put("setplace_ad_list", setplace_ad_list);


		// 変更後_請求書送付先住所_請求書送付先住所一覧の展開
		X31SDataBeanAccessArray afSeikyShsArrayData = bean[0].getDataBeanArray(KKW04801SFConst.CHAF_SEIKY_LIST);

		/** 更新項目(請求書送付先住所) の生成 */
		ArrayList<HashMap<String, Object>> seiky_shs_ad_list = new ArrayList<HashMap<String, Object>>();
		for(int i=0; i < afSeikyShsArrayData.getCount(); i++)
		{

			// カレントの変更後_請求書送付先住所_請求書送付先住所一覧を取得
			X31SDataBeanAccess afSeikyShs = afSeikyShsArrayData.getDataBean(i);

			// カレントの変更後_請求書送付先住所_請求書送付先住所一覧から
			// 変更後_送付先住所_選択を取得
			boolean chaf_seiky_choice = afSeikyShs.sendMessageBoolean(KKW04801SFConst.CHAF_SEIKY_CHOICE_05, X31CWebConst.DATABEAN_GET_VALUE);

			// 変更後_送付先住所_選択がfalseかを判定
			if(!chaf_seiky_choice)
			{
				// 更新対象ではない為、次の請求書送付先住所を取得
				continue;
			}


			// 更新項目追加用マップの生成
			HashMap<String, Object> seiky_shs_ad = new HashMap<String, Object>();

			// 変更後_送付先住所_請求契約番号 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_請求契約番号
			seiky_shs_ad.put("seiky_shs_ad_seiky_kei_no", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_サービス契約番号 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_サービス契約番号
			seiky_shs_ad.put("seiky_shs_ad_svc_kei_no", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_適用年月日 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_適用年月日
			seiky_shs_ad.put("seiky_shs_ad_aply_ymd", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_APLY_YMD_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所コード → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_住所コード
			seiky_shs_ad.put("seiky_shs_ad_ad_cd", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SHS_AD_CD_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先郵便番号 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_郵便番号
			seiky_shs_ad.put("seiky_shs_ad_pcd", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SHS_PCD_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所都道府県名 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_都道府県名
			seiky_shs_ad.put("seiky_shs_ad_state", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_STATE_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所市区町村名 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_市区町村名
			seiky_shs_ad.put("seiky_shs_ad_city", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_CITY_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所大字通称名 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_大字通称名
			seiky_shs_ad.put("seiky_shs_ad_oaztsu", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_OAZTSU_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所字丁目名 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_字丁目名
			seiky_shs_ad.put("seiky_shs_ad_azcho", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_AZCHO_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所番地号 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_番地号
			seiky_shs_ad.put("seiky_shs_ad_bnchigo", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_BNCHIGO_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所住所補記・建物名 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_住所補記・建物名
			seiky_shs_ad.put("seiky_shs_ad_adrttm", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_ADRTTM_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先住所住所補記・部屋番号 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_住所補記・部屋番号
			seiky_shs_ad.put("seiky_shs_ad_adrrm", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_ADRRM_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先名（カナ） → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_送付先名（カナ）
			seiky_shs_ad.put("seiky_shs_ad_kana", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_KANA_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_送付先名 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_送付先名
			seiky_shs_ad.put("seiky_shs_ad_nm", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_NM_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_電話番号 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_電話番号
			seiky_shs_ad.put("seiky_shs_ad_telno", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_TELNO_05, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_送付先住所_更新年月日時分秒 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_更新年月日時分秒(更新前)
			seiky_shs_ad.put("seiky_shs_ad_upd_dtm_bf", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_UPD_DTM_05, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2015-0003330 20160216 DEL START
////巻A ANK-0572-00-00 ADD 2012.09.13 Y.MORIMOTO START
//			// 変更後＿送付先住所＿請求先部屋番号 → 住所情報変更CCマップ.利用場所住所_請求書用回線場所住所部屋番号
//			seiky_shs_ad.put("seiky_shs_ad_sks_yo_kisn_place_ad_rm_no", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SKS_ADRRM_05, X31CWebConst.DATABEAN_GET_VALUE));
//			// 変更前＿送付先住所＿サービス契約回線内訳番号 → 住所情報変更CCマップ.利用場所住所_サービス契約回線内訳番号
//			seiky_shs_ad.put("seiky_shs_ad_svc_kei_kaisen_ucwk_no", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SVC_KEI_KAISEN_UCWK_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
//			// 変更後_送付先住所_サービス契約回線内訳_更新年月日時分秒 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_サービス契約回線内訳_更新年月日時分秒(更新前)
//			seiky_shs_ad.put("seiky_shs_ad_svc_kei_kaisen_ucwk_upd_dtm_bf", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SVC_KEI_KAISEN_UCWK_UPD_DTM_05, X31CWebConst.DATABEAN_GET_VALUE));
////巻A ANK-0572-00-00 ADD 2012.09.13 Y.MORIMOTO END
			// OM-2015-0003330 20160216 DEL END
			
			// OM-2016-0000067 20160314 ADD START
			// 変更後_送付先住所_最終更新年月日時分秒 → 住所情報変更CCマップ.請求書送付先住所情報リスト.請求書送付先住所_最終更新年月日時分秒(更新前)
			seiky_shs_ad.put("seiky_shs_ad_last_upd_dtm_bf", afSeikyShs.sendMessageString(KKW04801SFConst.CHAF_SEIKY_LAST_UPD_DTM_05, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2016-0000067 20160314 ADD END


			// 更新項目(請求書送付先住所)へ更新項目追加用マップを登録
			seiky_shs_ad_list.add(seiky_shs_ad);
		}
		// 変更後_請求書送付先住所_請求書送付先住所一覧 → 住所情報変更CCマップ.請求書送付先住所情報リスト
		parentMap.put("seiky_shs_ad_list", seiky_shs_ad_list);


		// 変更後_ガイド誌送付先住所一覧の展開
		X31SDataBeanAccessArray afGuideMgShsArrayData = bean[0].getDataBeanArray(KKW04801SFConst.CHAF_GUIDEMG_LIST);

		/** 更新項目(ガイド誌送付先住所) の生成 */
		ArrayList<HashMap<String, Object>> guide_shs_ad_list = new ArrayList<HashMap<String, Object>>();
		for(int i=0; i < afGuideMgShsArrayData.getCount(); i++)
		{

			// カレントの変更後_ガイド誌送付先住所一覧を取得
			X31SDataBeanAccess afGuideMgShs = afGuideMgShsArrayData.getDataBean(i);

			// カレントの変更後_ガイド誌送付先住所一覧から
			// 変更後_ガイド誌送付先_選択を取得
			boolean chaf_guidemg_choice = afGuideMgShs.sendMessageBoolean(KKW04801SFConst.CHAF_GUIDEMG_CHOICE_07, X31CWebConst.DATABEAN_GET_VALUE);

			// 変更後_送付先住所_選択がfalseかを判定
			if(!chaf_guidemg_choice)
			{
				// 更新対象ではない為、次の請求書送付先住所を取得
				continue;
			}


			// 更新項目追加用マップの生成
			HashMap<String, Object> guide_shs_ad = new HashMap<String, Object>();

			// 変更後_ガイド誌送付先_サービス契約番号 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_サービス契約番号
			guide_shs_ad.put("guide_shs_ad_svc_kei_no", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SVC_KEI_NO_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_オプションサービス契約番号 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_オプションサービス契約番号
			guide_shs_ad.put("guide_shs_ad_op_svc_kei_no", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_OP_SVC_KEI_NO_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_適用年月日 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_適用年月日
			guide_shs_ad.put("guide_shs_ad_aply_ymd", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_APLY_YMD_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所コード → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所コード
			guide_shs_ad.put("guide_shs_ad_ad_cd", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_AD_CD_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所郵便番号 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所郵便番号
			guide_shs_ad.put("guide_shs_ad_pcd", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_PCD_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所都道府県名 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所都道府県名
			guide_shs_ad.put("guide_shs_ad_state", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_STATE_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所市区町村名 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所市区町村名
			guide_shs_ad.put("guide_shs_ad_city", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_CITY_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所大字通称名 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所大字通称名
			guide_shs_ad.put("guide_shs_ad_oaztsu", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_OAZTSU_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所字丁目名 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所字丁目名
			guide_shs_ad.put("guide_shs_ad_azcho", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_AZCHO_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所番地号 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所番地号
			guide_shs_ad.put("guide_shs_ad_bnchigo", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_BNCHIGO_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所住所補記・建物名 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所住所補記・建物名
			guide_shs_ad.put("guide_shs_ad_adrttm", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_ADRTTM_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先住所住所補記・部屋番号 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先住所住所補記・部屋番号
			guide_shs_ad.put("guide_shs_ad_adrrm", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_ADRRM_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先名（カナ） → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先名（カナ）
			guide_shs_ad.put("guide_shs_ad_kana", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_KANA_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_送付先名 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_送付先名
			guide_shs_ad.put("guide_shs_ad_nm", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_NM_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_電話番号 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_電話番号
			guide_shs_ad.put("guide_shs_ad_telno", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_TELNO_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更後_ガイド誌送付先_更新年月日時分秒 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_更新年月日時分秒(更新前)
			guide_shs_ad.put("guide_shs_ad_upd_dtm_bf", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_UPD_DTM_07, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2016-0000067 20160314 ADD START
			// 変更後_ガイド誌送付先_最終更新年月日時分秒 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト.ガイド誌送付先住所_最終更新年月日時分秒(更新前)
			guide_shs_ad.put("guide_shs_ad_last_upd_dtm_bf", afGuideMgShs.sendMessageString(KKW04801SFConst.CHAF_GUIDEMG_SHS_LAST_UPD_DTM_07, X31CWebConst.DATABEAN_GET_VALUE));
			// OM-2016-0000067 20160314 ADD END


			// 更新項目(ガイド誌送付先住所)へ更新項目追加用マップを登録
			guide_shs_ad_list.add(guide_shs_ad);
		}
		// 変更後_ガイド誌送付先住所一覧 → 住所情報変更CCマップ.ガイド誌送付先住所情報リスト
		parentMap.put("guide_shs_ad_list", guide_shs_ad_list);
		
// ST2-2013-0001729対応 20130416 星野 ADD START
		// ユーザID
		parentMap.put("user_id", commoninfoBean.sendMessageString(CommonInfoCFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE));
// ST2-2013-0001729対応 20130416 星野 ADD END



		outputMap.put(getBpEntryKeyKKSV015601CC(), parentMap);
						
		return outputMap;
	}


	/**
	 * 下りマッピング
	 * @param bean　[0]：住所情報変更画面　
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getKKSV015601CC(X31SDataBeanAccess[] bean, HashMap outputMap){
		return bean;
	}


	/**
	 * 住所情報変更CC 対BPマッピング エントリキー取得
	 * @return 住所情報変更CC 対BPマッピング時のエントリキー
	 */
	public String getBpEntryKeyKKSV015601CC(){
		return "KKSV015601CC";
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 住所情報変更-諸変更（JKKAdInfVariousChgCC）の上りマッピング
	 * 
	 * @param bean　[0]：住所情報変更画面　
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setKKSV015602CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) {

		if (bean == null || bean.length != 1) {
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 契約者住所変更に伴う諸変更
		parentMap.put("keiyakushaKojiInfoList", getKeiyakushaKojiInfoList(bean, func_code));
		
		// 利用場所住所変更に伴う諸変更
		parentMap.put("riyobashoKojiInfoList", getRiyobashoKojiInfoList(bean, func_code));
		
		// 請求書送付先住所変更に伴う諸変更
		parentMap.put("seikyushoKojiInfoList", getSeikyushoKojiInfoList(bean, func_code));
		
		// 運用日
		parentMap.put("ope_date", bean[0].sendMessageString(KKW04801SFConst.OPE_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("KKSV015602CC", parentMap);

		return outputMap;
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 契約者住所変更時の諸変更パラメータ設定（KKSV015602CC上り用）
	 */
	private List<Map<String, Object>> getKeiyakushaKojiInfoList(X31SDataBeanAccess[] bean, String func_code) {

		// 契約者住所変更の変更が無い場合は処理終了
		boolean kshAdFlg = bean[0].sendMessageBoolean(KKW04801SFConst.KSH_AD_FLG, X31CWebConst.DATABEAN_GET_VALUE);
		if (!kshAdFlg) {
			return null;
		}

		// 戻り値
		List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();

		X31SDataBeanAccessArray dataList = bean[0].getDataBeanArray(KKW04801SFConst.CHAF_SETPLACE_LIST);
		for (int i=0; i < dataList.getCount(); i++) {

			X31SDataBeanAccess curDt = dataList.getDataBean(i);

			// ネット・電話・テレビ 以外は処理しない
			String svcCd = curDt.sendMessageString(KKW04801SFConst.CHAF_SVC_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JKKCommonConst.SVC_CD_NET.equals(svcCd) && !JKKCommonConst.SVC_CD_TV.equals(svcCd) && !JKKCommonConst.SVC_CD_02.equals(svcCd)) {
				continue;
			}

			// サービス契約番号
			String svcKeiNo = curDt.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SVC_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE);

			Map<String, Object> paramMap = new HashMap<String, Object>();

			// 工事案件パラメータ
			paramMap.put("kojiAk", getKojiAkKeiyakusha(bean[0], func_code, svcKeiNo));

			// 進捗パラメータ
			paramMap.put("prg", getProgressParam(bean[0], func_code, null, svcKeiNo, null));

			resultList.add(paramMap);
		}

		if (resultList.size() == 0) {
			return null;	// 対象データなし
		}

		return resultList;
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 利用場所住所変更時の諸変更パラメータ設定（KKSV015602CC上り用）
	 */
	private List<Map<String, Object>> getRiyobashoKojiInfoList(X31SDataBeanAccess[] bean, String func_code) {

		// 戻り値
		List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();

		// 利用場所住所変更に伴う諸変更
		X31SDataBeanAccessArray dataList = bean[0].getDataBeanArray(KKW04801SFConst.CHAF_SETPLACE_LIST);
		for (int i = 0; i < dataList.getCount(); i++){

			X31SDataBeanAccess curDt = dataList.getDataBean(i);

			// 変更対象のみ処理する
			boolean isChoice = curDt.sendMessageBoolean(KKW04801SFConst.CHAF_SETPLACE_CHOICE_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isChoice) {
				continue;
			}

			// ネット・電話・テレビ 以外は処理しない
			String svcCd = curDt.sendMessageString(KKW04801SFConst.CHAF_SVC_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JKKCommonConst.SVC_CD_NET.equals(svcCd) && !JKKCommonConst.SVC_CD_TV.equals(svcCd) && !JKKCommonConst.SVC_CD_02.equals(svcCd)) {
				continue;
			}

			// サービス契約番号
			String svcKeiNo = curDt.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SVC_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE);

			// 変更後_利用場所住所_サービス契約回線内訳番号
			String svcKeiKaisenUcwk = curDt.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SVC_KEI_KAISEN_UCWK_NO_03, X31CWebConst.DATABEAN_GET_VALUE);
			
			Map<String, Object> paramMap = new HashMap<String, Object>();

			// 工事案件パラメータ
			paramMap.put("kojiAk", getKojiAkRiyobasho(bean[0], func_code, curDt));

			// 進捗パラメータ
			paramMap.put("prg", getProgressParam(bean[0], func_code, null, svcKeiNo, svcKeiKaisenUcwk));

			resultList.add(paramMap);
		}

		if (resultList.size() == 0) {
			return null;	// 対象データなし
		}

		return resultList;
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 請求書送付先住所変更時の諸変更パラメータ設定（KKSV015602CC上り用）
	 */
	private List<Map<String, Object>> getSeikyushoKojiInfoList(X31SDataBeanAccess[] bean, String func_code) {

		// 戻り値
		List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();

		// 請求書送付先住所変更に伴う諸変更
		X31SDataBeanAccessArray dataList = bean[0].getDataBeanArray(KKW04801SFConst.CHAF_SEIKY_LIST);
		for (int i = 0; i < dataList.getCount(); i++) {

			X31SDataBeanAccess curDt = dataList.getDataBean(i);

			// 変更対象のみ処理する
			boolean isChoice = curDt.sendMessageBoolean(KKW04801SFConst.CHAF_SEIKY_CHOICE_05, X31CWebConst.DATABEAN_GET_VALUE);
			if (!isChoice) {
				continue;
			}

			// 請求契約番号
			String seikyKeiNo = curDt.sendMessageString(KKW04801SFConst.CHAF_SEIKY_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE);

			// サービス契約番号
			String svcKeiNo = curDt.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE);

			Map<String, Object> paramMap = new HashMap<String, Object>();

			// 工事案件パラメータ
			paramMap.put("kojiAk", getKojiAkSeikyu(bean[0], func_code, curDt));

			// 進捗パラメータ
			paramMap.put("prg", getProgressParam(bean[0], func_code, seikyKeiNo, svcKeiNo, null));

			resultList.add(paramMap);
		}

		if (resultList.size() == 0) {
			return null;	// 対象データなし
		}

		return resultList;
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 契約者住所変更時の諸変更における工事案件パラメータ設定（KKSV015602CC上り用）
	 */
	private Map<String, Object> getKojiAkKeiyakusha(X31SDataBeanAccess bean, String func_code, String svcKeiNo) {

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 顧客契約引継リストの展開
		X31SDataBeanAccessArray arrayData = bean.getDataBeanArray(KKW04801SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktugiBean = arrayData.getDataBean(0);

		// "070:内容変更" → 工事案件CCマップ.工事受付コード
		parentMap.put("koji_uk_cd", "070");
		// "A1:お客様情報変える" → 工事案件CCマップ.工事受付詳細コード
		parentMap.put("koji_uk_dtl_cd", "A1");
		// ＳＹＳＩＤ → 工事案件CCマップ.SYSID
		parentMap.put("sysid", custKeiHktugiBean.sendMessageString(KKW04801SFConst.SYSID_10, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put("svc_kei_no", svcKeiNo);

//		// 申込番号
//		parentMap.put("mskm_no", null);			// サービス側で設定する
//		// 申込明細番号
//		parentMap.put("mskm_dtl_no", null);		// サービス側で設定する
//		// サービス契約番号
//		parentMap.put("svc_kei_no", svcKeiNo);
//		// 変更後_契約者住所_電話番号（携帯） → 工事案件CCマップ.お客様携帯電話番号
//		parentMap.put("cust_ktai_tel_no", bean.sendMessageString(KKW04801SFConst.CHAF_KSH_TELNO_KTAI, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_契約者住所_電話番号（勤務先） → 工事案件CCマップ.お客様連絡先電話番号
//		parentMap.put("cust_rrks_tel_no", bean.sendMessageString(KKW04801SFConst.CHAF_KSH_TELNO_OFFC, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_住所コード → 工事案件CCマップ.契約者住所コード
//		parentMap.put("keisha_ad_cd", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_郵便番号 → 工事案件CCマップ.契約者郵便番号
//		parentMap.put("keisha_pcd", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_PCD, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_都道府県名 → 工事案件CCマップ.契約者都道府県名
//		parentMap.put("keisha_state_nm", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_STATE, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_市区町村名 → 工事案件CCマップ.契約者市区町村名
//		parentMap.put("keisha_city_nm", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_CITY, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_大字通称名 → 工事案件CCマップ.契約者大字通称名
//		parentMap.put("keisha_oaztsu_nm", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_OAZTSU, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_字丁目名 → 工事案件CCマップ.契約者字丁目名
//		parentMap.put("keisha_azcho_nm", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_AZCHO, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_番地号 → 工事案件CCマップ.契約者住所番地号
//		parentMap.put("keisha_ad_bnchigo", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_住所補記・建物名 → 工事案件CCマップ.契約者住所補記・建物名
//		parentMap.put("keisha_adrttm", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更前_契約者住所_住所補記・部屋番号 → 工事案件CCマップ.契約者住所補記・部屋番号
//		parentMap.put("keisha_adrrm", bean.sendMessageString(KKW04801SFConst.CHBF_KSH_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));

		return parentMap;
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 利用場所住所変更時の諸変更における工事案件パラメータ設定（KKSV015602CC上り用）
	 */
	private Map<String, Object> getKojiAkRiyobasho(X31SDataBeanAccess bean, String func_code, X31SDataBeanAccess afSetplace) {

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 顧客契約引継リストの展開
		X31SDataBeanAccessArray arrayData = bean.getDataBeanArray(KKW04801SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktugiBean = arrayData.getDataBean(0);

		// "070:内容変更" → 工事案件CCマップ.工事受付コード
		parentMap.put("koji_uk_cd", "070");
		// "A4:回線情報変える" → 工事案件CCマップ.工事受付詳細コード
		parentMap.put("koji_uk_dtl_cd", "A4");
		// ＳＹＳＩＤ → 工事案件CCマップ.SYSID
		parentMap.put("sysid", custKeiHktugiBean.sendMessageString(KKW04801SFConst.SYSID_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_利用場所住所_サービス契約番号 → 工事案件CCマップ.サービス契約番号
		parentMap.put("svc_kei_no", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SVC_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));

		//		// 申込番号
//		parentMap.put("mskm_no", null);			// サービス側でセットする
//		// 申込明細番号
//		parentMap.put("mskm_dtl_no", null);		// サービス側でセットする
//		// 変更後_利用場所住所_サービス契約番号 → 工事案件CCマップ.サービス契約番号
//		parentMap.put("svc_kei_no", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_SVC_KEI_NO_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_住所コード → 工事案件CCマップ.設置場所住所コード
//		parentMap.put("setplace_ad_cd", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_AD_CD_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_郵便番号 → 工事案件CCマップ.設置場所郵便番号
//		parentMap.put("setplace_pcd", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_PCD_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_都道府県名 → 工事案件CCマップ.設置場所都道府県名
//		parentMap.put("setplace_state_nm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_STATE_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_市区町村名 → 工事案件CCマップ.設置場所市区町村名
//		parentMap.put("setplace_city_nm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_CITY_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_大字通称名 → 工事案件CCマップ.設置場所大字通称名
//		parentMap.put("setplace_oaztsu_nm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_OAZTSU_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_字丁目名 → 工事案件CCマップ.設置場所字丁目名
//		parentMap.put("setplace_azcho_nm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_AZCHO_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_番地号 → 工事案件CCマップ.設置場所住所番地号
//		parentMap.put("setplace_ad_bnchigo", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_BNCHIGO_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_住所補記・建物名 → 工事案件CCマップ.設置場所住所補記・建物名
//		parentMap.put("setplace_adrttm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_ADRTTM_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_住所補記・部屋番号 → 工事案件CCマップ.設置場所住所補記・部屋番号
//		parentMap.put("setplace_adrrm", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_ADRRM_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_未確定 → 工事案件CCマップ.工事先住所未確定フラグ
//		parentMap.put("koji_saki_ad_mi_fix_flg", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_MI_FIX_03, X31CWebConst.DATABEAN_GET_VALUE));
//		// 変更後_利用場所住所_電話番号 → 工事案件CCマップ.回線場所電話番号
//		parentMap.put("kaisen_place_telno", afSetplace.sendMessageString(KKW04801SFConst.CHAF_SETPLACE_TELNO_03, X31CWebConst.DATABEAN_GET_VALUE));

		return parentMap;
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 請求書送付先住所変更時の諸変更における工事案件パラメータ設定（KKSV015602CC上り用）
	 */
	private Map<String, Object> getKojiAkSeikyu(X31SDataBeanAccess bean, String func_code, X31SDataBeanAccess afSeikyuBean) {

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 顧客契約引継リストの展開
		X31SDataBeanAccessArray arrayData = bean.getDataBeanArray(KKW04801SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktugiBean = arrayData.getDataBean(0);

		// "070:内容変更" → 工事案件CCマップ.工事受付コード
		parentMap.put("koji_uk_cd", "070");
		// "A8:請求先情報変える" → 工事案件CCマップ.工事受付詳細コード
		parentMap.put("koji_uk_dtl_cd", "A8");
		// ＳＹＳＩＤ → 工事案件CCマップ.SYSID
		parentMap.put("sysid", custKeiHktugiBean.sendMessageString(KKW04801SFConst.SYSID_10, X31CWebConst.DATABEAN_GET_VALUE));
//		// 申込番号
//		parentMap.put("mskm_no", null);			// サービス側で設定する
//		// 申込明細番号
//		parentMap.put("mskm_dtl_no", null);		// サービス側で設定する
		// 変更後_送付先住所_サービス契約番号 → 工事案件CCマップ.サービス契約番号
		parentMap.put("svc_kei_no", afSeikyuBean.sendMessageString(KKW04801SFConst.CHAF_SEIKY_SVC_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));
		// 変更後_送付先住所_請求契約番号 → 工事案件CCマップ.請求契約番号
		parentMap.put("seiky_kei_no", afSeikyuBean.sendMessageString(KKW04801SFConst.CHAF_SEIKY_KEI_NO_05, X31CWebConst.DATABEAN_GET_VALUE));

		return parentMap;
	}

// OM-2013-0001011 2013.08.27 T.TORIKAI メソッド追加
	/**
	 * 各住所変更時の諸変更における進捗（E030:工事先住所変更）パラメータ設定（KKSV015602CC上り用）
	 */
	private Map<String, Object> getProgressParam(X31SDataBeanAccess bean, String func_code, String seikyKeiNo, String svcKeiNo, String svcKeiKaisenUcwk) {

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 顧客契約引継リストの展開
		X31SDataBeanAccessArray arrayData = bean.getDataBeanArray(KKW04801SFConst.CUST_KEI_HKTGI_LIST);
		X31SDataBeanAccess custKeiHktugiBean = arrayData.getDataBean(0);

		// 申込明細番号 → 進捗登録マップ.申込明細番号
		parentMap.put("mskm_dtl_no", null);		// サービス側で設定する
		// 変更後_送付先住所_請求契約番号 → 進捗登録マップ.請求契約番号
		parentMap.put("seiky_kei_no", seikyKeiNo);
		// サービス契約番号 → 進捗登録マップ.サービス契約番号
		parentMap.put("svc_kei_no", svcKeiNo);
		// 変更後_利用場所住所_サービス契約回線内訳番号 → 進捗登録マップ.サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", svcKeiKaisenUcwk);
		// 顧客契約引継リスト.異動区分 → 進捗登録マップ.異動区分
		parentMap.put("ido_div", custKeiHktugiBean.sendMessageString(KKW04801SFConst.IDO_DIV_10, X31CWebConst.DATABEAN_GET_VALUE));
		// システム日付(YYYYMMDDhhmmssSSS形式)  → 進捗登録マップ.異動年月日時分秒
		parentMap.put("ido_dtm", JCCWebCommon.getSysDateTimeStamp());
		// 進捗ステータス(工事先住所変更)  → 進捗登録マップ.進捗ステータス
		parentMap.put("prg_stat", JKKCommonConst.PRG_STAT_CD_E030);

		// 異動理由明細の生成
		ArrayList<HashMap<String, Object>> idoRsnList = new ArrayList<HashMap<String, Object>>();

		// 異動理由コードの設定数だけ繰り返し
		Integer maxIndex = (Integer)custKeiHktugiBean.sendMessage(KKW04801SFConst.IDO_RSN_CD_10, X31CWebConst.DATABEAN_GET_COUNT);
		for (int i = 0; i < maxIndex; i++) {

			HashMap<String, Object> ido_rsn_map = new HashMap<String, Object>();

			// 異動理由コード
			ido_rsn_map.put("ido_rsn_cd", custKeiHktugiBean.sendMessageString(KKW04801SFConst.IDO_RSN_CD_10, X31CWebConst.DATABEAN_GET_VALUE, i));
			// 異動理由メモ
			ido_rsn_map.put("ido_rsn_memo", custKeiHktugiBean.sendMessageString(KKW04801SFConst.IDO_RSN_MEMO_10, X31CWebConst.DATABEAN_GET_VALUE));

			idoRsnList.add(ido_rsn_map);
		}
		parentMap.put("ido_rsn_List", idoRsnList);

		return parentMap;
	}
}
