/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0263_FUSV0263OPDBMapper
*	ソースファイル名：FUSV0263_FUSV0263OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年02月20日
*＜機能概要＞
*	BP（eo光スティックレンタルサービス申込(申込)）へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v5.00		2013/02/20	FJ)瀧澤 	【案件番号：ANK-1421-00-00】新規作成
*
**********************************************************************/
package eo.web.webview.mapping;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW10801SF.FUW10801SFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 * @author 富士通
 */
public class FUSV0263_FUSV0263OPDBMapper
{

	/** サービスID：各種通信機器申込み登録 */
	private static final String FUSV026301CC = "FUSV026301CC";
	/** サービスID：申込内容承認登録 */
	private static final String FUSV026301SC = "FUSV026301SC";
	/** サービスID：進捗情報登録 */
	private static final String FUSV026302SC = "FUSV026302SC";
	/** サービスID：申込明細照査・後続業務依頼 */
	private static final String FUSV026303SC = "FUSV026303SC";
	/** 上りマッピング作業領域01 */
	private static final String FUSV0263WORK01 = "FUSV0263WORK01";

	/** 特記事項１要素を取得する際のid */
	private static final String PRGADD_ID = "0";
	/** 進捗特記事項1 */
	private static final String PRG_TKJK_1 = "prg_tkjk_1";
	/** 進捗特記事項2 */
	private static final String PRG_TKJK_2 = "prg_tkjk_2";

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";
	/** 最終更新年月日時分秒（サービス契約） */
	private static final String HAITA_SVC_KEI_UPD_DTM = "haita_svc_kei_upd_dtm";
	/** SYSID */
	private static final String SYSID = "sysid";

	/** 申込内容承認登録明細 */
	private static final String EKK0011D020CBSMSG1LIST = "EKK0011D020CBSMsg1List";
	/** 申込形態コード */
	private static final String MSKM_FORM_CD = "mskm_form_cd";
	/** サービス契約番号 */
	private static final String KK0081_SVC_KEI_NO = "kk0081_svc_kei_no";
	/** サービス契約ステータス */
	private static final String SVC_KEI_STAT = "svc_kei_stat";
	/** 世代登録年月日時分秒（サービス契約） */
	private static final String KK0081_GENE_ADD_DTM = "kk0081_gene_add_dtm";
	/** 機器送付先名 */
	private static final String KIKI_SOHUS_NM = "kiki_sohus_nm";
	/** 機器送付先カナ名 */
	private static final String KIKI_SOHUS_KANA = "kiki_sohus_kana";
	/** 機器送付先住所コード */
	private static final String KIKI_SOHUS_AD_CD = "kiki_sohus_ad_cd";
	/** 機器送付先郵便番号 */
	private static final String KIKI_SOHUS_PCD = "kiki_sohus_pcd";
	/** 機器送付先都道府県名 */
	private static final String KIKI_SOHUS_STATE_NM = "kiki_sohus_state_nm";
	/** 機器送付先市区町村名 */
	private static final String KIKI_SOHUS_CITY_NM = "kiki_sohus_city_nm";
	/** 機器送付先大字通称名 */
	private static final String KIKI_SOHUS_OAZTSU_NM = "kiki_sohus_oaztsu_nm";
	/** 機器送付先字丁目名 */
	private static final String KIKI_SOHUS_AZCHO_NM = "kiki_sohus_azcho_nm";
	/** 回線場所番地号 */
	private static final String KIKI_SOHUS_BNCHIGO = "kiki_sohus_bnchigo";
	/** 回線場所住所補記・建物名 */
	private static final String KIKI_SOHUS_ADRTTM = "kiki_sohus_adrttm";
	/** 回線場所住所補記・部屋番号 */
	private static final String KIKI_SOHUS_ADRRM = "kiki_sohus_adrrm";
	/** 回線場所電話番号 */
	private static final String KIKI_SOHUS_TELNO = "kiki_sohus_telno";
	/** マンション物件番号 */
	private static final String MANSION_BUKKEN_NO = "mansion_bukken_no";
	/** 回線場所契約者住所差異フラグ */
	private static final String KIKI_SOHUS_KSH_AD_SAI_FLG = "kiki_sohus_ksh_ad_sai_flg";
	/** 契約者名義 */
	private static final String KIKI_STC_SAKI_NM = "kiki_stc_saki_nm";
	/** お客様カナ名 */
	private static final String KIKI_STC_SAKI_KANA = "kiki_stc_saki_kana";
	/** 回線場所住所コード */
	private static final String KIKI_STC_SAKI_AD_CD = "kiki_stc_saki_ad_cd";
	/** 回線場所郵便番号 */
	private static final String KIKI_STC_SAKI_PCD = "kiki_stc_saki_pcd";
	/** 回線場所都道府県名 */
	private static final String KIKI_STC_SAKI_STATE_NM = "kiki_stc_saki_state_nm";
	/** 回線場所市区町村名 */
	private static final String KIKI_STC_SAKI_CITY_NM = "kiki_stc_saki_city_nm";
	/** 回線場所大字通称名 */
	private static final String KIKI_STC_SAKI_OAZTSU_NM = "kiki_stc_saki_oaztsu_nm";
	/** 回線場所字丁目名 */
	private static final String KIKI_STC_SAKI_AZCHO_NM = "kiki_stc_saki_azcho_nm";
	/** 回線場所番地号 */
	private static final String KIKI_STC_SAKI_BNCHIGO = "kiki_stc_saki_bnchigo";
	/** 回線場所住所補記・建物名 */
	private static final String KIKI_STC_SAKI_ADRTTM = "kiki_stc_saki_adrttm";
	/** 回線場所住所補記・部屋番号 */
	private static final String KIKI_STC_SAKI_ADRRM = "kiki_stc_saki_adrrm";
	/** 回線場所契約者住所差異フラグ */
	private static final String KIKI_STC_SK_KSH_AD_SAI_FLG = "kiki_stc_sk_ksh_ad_sai_flg";
	/** 回線場所電話番号 */
	private static final String KIKI_STC_SK_TELNO = "kiki_stc_sk_telno";
	/** 回線場所区画整理中フラグ */
	private static final String KIKI_STS_KKK_SEIRI_CHU_FLG = "kiki_sts_kkk_seiri_chu_flg";
	/** 回線場所住所未確定フラグ */
	private static final String AD_MI_FIX_FLG = "ad_mi_fix_flg";
	/** 提供方式契約番号 */
	private static final String TK_HOSHIKI_KEI_NO = "tk_hoshiki_kei_no";
	/** 機器提供種別コード */
	private static final String KKTK_SBT_CD = "kktk_sbt_cd";
	/** 登録機器リスト */
	private static final String KKTK_SVKEI_ADD_LIST = "kktk_svkei_add_list";
	/** 登録機器リスト 料金コースコード */
	private static final String KK0341_PCRS_CD = "kk0341_pcrs_cd";
	/** 登録機器リスト プランコード */
	private static final String KK0341_PPLAN_CD = "kk0341_pplan_cd";
	/** 登録機器リスト 機器提供サービスコード */
	private static final String KK0341_KKTK_SVC_CD = "kk0341_kktk_svc_cd";
	/** 登録機器リスト 宅内機器型式コード */
	private static final String KK0341_TAKNKIKI_MODEL_CD = "kk0341_taknkiki_model_cd";
	/** 登録機器リスト サービス契約番号 */
	private static final String KK0341_SVC_KEI_NO = "kk0341_svc_kei_no";
	/** 登録機器リスト ＳＹＳＩＤ */
	private static final String KK0341_SYSID = "kk0341_sysid";
	/** 登録機器リスト 請求契約番号 */
	private static final String KK0341_SEIKY_KEI_NO = "kk0341_seiky_kei_no";
	/** 登録機器リスト 宅内機器種別コード */
	private static final String KK0341_TAKNKIKI_SBT_CD = "kk0341_taknkiki_sbt_cd";
	/** 登録機器リスト お申し込み台数 */
	private static final String CNT = "cnt";
	/** 登録機器リスト 機器提供サービス契約番号 */
	private static final String KKTK_SVC_KEI_NO = "kktk_svc_kei_no";
	/** 登録機器リスト 世代登録年月日時分秒（機器） */
	private static final String KK0341_GENE_ADD_DTM = "kk0341_gene_add_dtm";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** 異動区分 */
	private static final String IDO_DIV = "ido_div";
	/** 異動理由明細 */
	private static final String EKK1091D010CBSMSG1LIST = "EKK1091D010CBSMsg1List";
	/** 異動理由コード */
	private static final String IDO_RSN_CD = "ido_rsn_cd";
	/** 置換文字列：%0% */
	private static final String REPLACE_STR_0 = "%0%";
	/** 置換文字列：%1% */
	private static final String REPLACE_STR_1 = "%1%";

	/**
	 * コンストラクタ
	 */
	public FUSV0263_FUSV0263OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * @param bean [0]：サービスフォームBean [1]：共有フォームBean
	 * @param outputMap 設定値格納マップ
	 * @param func_code 機能コード
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV0263WORK01(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 最終更新年月日時分秒（サービス契約） → eo光スティックレンタルサービス申込（申し込む）作業項目マップ01.排他テーブル用更新年月日時分秒（サービス契約）
		parentMap.put(HAITA_SVC_KEI_UPD_DTM, bean[0].sendMessageString(FUW10801SFConst.LAST_UPD_DTM_KEI, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV0263WORK01, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean [0]：サービスフォームBean [1]：共有フォームBean
	 * @param outputMap 設定値格納マップ
	 * @param func_code 機能コード
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV026301SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			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);

		// ＳＹＳＩＤ → 申込内容承認登録マップ.SYSID
		parentMap.put(SYSID, bean[0].sendMessageString(FUW10801SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray(FUW10801SFConst.MSKM_DTL_LIST);
		if (parentMap.containsKey(EKK0011D020CBSMSG1LIST))
		{
			list = (ArrayList)parentMap.get(EKK0011D020CBSMSG1LIST);
		}
		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(MSKM_FORM_CD, subbean.sendMessageString(FUW10801SFConst.MSKM_FORM_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put(EKK0011D020CBSMSG1LIST, list);

		outputMap.put(FUSV026301SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean [0]：サービスフォームBean [1]：共有フォームBean
	 * @param outputMap 設定値格納マップ
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV026301CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			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);

		// 現顧客契約情報の取得
		X31SDataBeanAccess genCustKeiInfo = bean[1].getDataBeanArray(JFUWebCommon.GEN_CUST_KEI_INFO).getDataBean(0);
		// サービス契約情報の取得
		X31SDataBeanAccess svcKeiInfo = bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0);

		// サービス契約番号 → eo光スティックレンタルサービス申込登録マップ.サービス契約番号
		parentMap.put(KK0081_SVC_KEI_NO, bean[0].sendMessageString(FUW10801SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 世代登録年月日時分秒（サービス契約） → eo光スティックレンタルサービス申込登録マップ.世代登録年月日時分秒（サービス契約）
		parentMap.put(KK0081_GENE_ADD_DTM, bean[0].sendMessageString(FUW10801SFConst.GENE_ADD_DTM_KEI, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者名義 → eo光スティックレンタルサービス申込登録マップ.機器送付先名
		parentMap.put(KIKI_SOHUS_NM, bean[0].sendMessageString(FUW10801SFConst.KEISHA_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様カナ名 → eo光スティックレンタルサービス申込登録マップ.機器送付先カナ名
		parentMap.put(KIKI_SOHUS_KANA, bean[0].sendMessageString(FUW10801SFConst.CUST_KANA, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.サービス契約ステータス → eo光スティックレンタルサービス申込登録マップ.サービス契約ステータス
		parentMap.put(SVC_KEI_STAT, svcKeiInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_23, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者住所コード → eo光スティックレンタルサービス申込登録マップ.機器送付先住所コード
		parentMap.put(KIKI_SOHUS_AD_CD, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_AD_CD_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者郵便番号 → eo光スティックレンタルサービス申込登録マップ.機器送付先郵便番号
		parentMap.put(KIKI_SOHUS_PCD, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_PCD_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者都道府県名 → eo光スティックレンタルサービス申込登録マップ.機器送付先都道府県名
		parentMap.put(KIKI_SOHUS_STATE_NM, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_STATE_NM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者市区町村名 → eo光スティックレンタルサービス申込登録マップ.機器送付先市区町村名
		parentMap.put(KIKI_SOHUS_CITY_NM, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_CITY_NM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者大字通称名 → eo光スティックレンタルサービス申込登録マップ.機器送付先大字通称名
		parentMap.put(KIKI_SOHUS_OAZTSU_NM, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_OAZTSU_NM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者字丁目名 → eo光スティックレンタルサービス申込登録マップ.機器送付先字丁目名
		parentMap.put(KIKI_SOHUS_AZCHO_NM, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_AZCHO_NM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者番地号 → eo光スティックレンタルサービス申込登録マップ.機器送付先番地号
		parentMap.put(KIKI_SOHUS_BNCHIGO, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_BNCHIGO_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者住所補記・建物名 → eo光スティックレンタルサービス申込登録マップ.機器送付先住所補記・建物名
		parentMap.put(KIKI_SOHUS_ADRTTM, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_ADRTTM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者住所補記・部屋番号 → eo光スティックレンタルサービス申込登録マップ.機器送付先住所補記・部屋番号
		parentMap.put(KIKI_SOHUS_ADRRM, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_ADRRM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// 現顧客契約情報.契約者電話番号 → eo光スティックレンタルサービス申込登録マップ.機器送付先電話番号
		parentMap.put(KIKI_SOHUS_TELNO, genCustKeiInfo.sendMessageString(CommonInfoCFConst.KEISHA_TELNO_22, X31CWebConst.DATABEAN_GET_VALUE));
		// マンション物件番号 → eo光スティックレンタルサービス申込登録マップ.マンション物件番号
		parentMap.put(MANSION_BUKKEN_NO, bean[0].sendMessageString(FUW10801SFConst.MANSION_BUKKEN_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所契約者住所差異フラグ → eo光スティックレンタルサービス申込登録マップ.機器送付先＿契約者住所差異フラグ
		parentMap.put(KIKI_SOHUS_KSH_AD_SAI_FLG, bean[0]
				.sendMessageString(FUW10801SFConst.KAISEN_PLC_KSH_AD_SAI_FLG, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者名義 → eo光スティックレンタルサービス申込登録マップ.機器設置先名
		parentMap.put(KIKI_STC_SAKI_NM, bean[0].sendMessageString(FUW10801SFConst.KEISHA_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// お客様カナ名 → eo光スティックレンタルサービス申込登録マップ.機器設置先カナ名
		parentMap.put(KIKI_STC_SAKI_KANA, bean[0].sendMessageString(FUW10801SFConst.CUST_KANA, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所コード → eo光スティックレンタルサービス申込登録マップ.機器設置先住所コード
		parentMap.put(KIKI_STC_SAKI_AD_CD, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_AD_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所郵便番号 → eo光スティックレンタルサービス申込登録マップ.機器設置先郵便番号
		parentMap.put(KIKI_STC_SAKI_PCD, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_PCD, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所都道府県名 → eo光スティックレンタルサービス申込登録マップ.機器設置先都道府県名
		parentMap.put(KIKI_STC_SAKI_STATE_NM, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所市区町村名 → eo光スティックレンタルサービス申込登録マップ.機器設置先市区町村名
		parentMap.put(KIKI_STC_SAKI_CITY_NM, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所大字通称名 → eo光スティックレンタルサービス申込登録マップ.機器設置先大字通称名
		parentMap.put(KIKI_STC_SAKI_OAZTSU_NM, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所字丁目名 → eo光スティックレンタルサービス申込登録マップ.機器設置先字丁目名
		parentMap.put(KIKI_STC_SAKI_AZCHO_NM, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所番地号 → eo光スティックレンタルサービス申込登録マップ.機器設置先番地号
		parentMap.put(KIKI_STC_SAKI_BNCHIGO, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・建物名 → eo光スティックレンタルサービス申込登録マップ.機器設置先住所補記・建物名
		parentMap.put(KIKI_STC_SAKI_ADRTTM, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・部屋番号 → eo光スティックレンタルサービス申込登録マップ.機器設置先住所補記・部屋番号
		parentMap.put(KIKI_STC_SAKI_ADRRM, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_ADRRM, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所契約者住所差異フラグ → eo光スティックレンタルサービス申込登録マップ.機器設置先＿契約者住所差異フラグ
		parentMap.put(KIKI_STC_SK_KSH_AD_SAI_FLG, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLC_KSH_AD_SAI_FLG,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所電話番号 → eo光スティックレンタルサービス申込登録マップ.機器設置先電話番号
		parentMap.put(KIKI_STC_SK_TELNO, bean[0].sendMessageString(FUW10801SFConst.KAISEN_PLACE_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所区画整理中フラグ → eo光スティックレンタルサービス申込登録マップ.機器設置先区画整理中フラグ
		parentMap.put(KIKI_STS_KKK_SEIRI_CHU_FLG, bean[0].sendMessageString(FUW10801SFConst.KISN_PLC_KKK_SEIRI_CHU_FLG,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所未確定フラグ → eo光スティックレンタルサービス申込登録マップ.住所未確定フラグ
		parentMap.put(AD_MI_FIX_FLG, bean[0].sendMessageString(FUW10801SFConst.KISN_PLC_AD_MI_FIX_FLG, X31CWebConst.DATABEAN_GET_VALUE));
		// 提供方式契約番号 → eo光スティックレンタルサービス申込登録マップ.提供方式契約番号
		parentMap.put(TK_HOSHIKI_KEI_NO, bean[0].sendMessageString(FUW10801SFConst.TK_HOSHIKI_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器提供種別コード → eo光スティックレンタルサービス申込登録マップ.機器提供種別コード
		parentMap.put(KKTK_SBT_CD, bean[0].sendMessageString(FUW10801SFConst.KKTK_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray(FUW10801SFConst.ADD_KIKI_LIST);
		if (parentMap.containsKey(KKTK_SVKEI_ADD_LIST))
		{
			list = (ArrayList)parentMap.get(KKTK_SVKEI_ADD_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)
				{
					// 登録機器リスト.料金コースコード → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.料金コースコード（機器）
					childMap.put(KK0341_PCRS_CD, subbean.sendMessageString(FUW10801SFConst.KK0341_PCRS_CD_10, X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.料金プランコード → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.料金プランコード（機器）
					childMap.put(KK0341_PPLAN_CD, subbean.sendMessageString(FUW10801SFConst.KK0341_PPLAN_CD_10, X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.機器提供サービスコード → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.機器提供サービスコード
					childMap.put(KK0341_KKTK_SVC_CD, subbean
							.sendMessageString(FUW10801SFConst.KK0341_KKTK_SVC_CD_10, X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.宅内機器型式コード → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.宅内機器型式コード
					childMap.put(KK0341_TAKNKIKI_MODEL_CD, subbean.sendMessageString(FUW10801SFConst.KK0341_TAKNKIKI_MODEL_CD_10,
							X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.サービス契約番号 → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.サービス契約番号（機器）
					childMap.put(KK0341_SVC_KEI_NO, subbean.sendMessageString(FUW10801SFConst.KK0341_SVC_KEI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.ＳＹＳＩＤ → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.SYSID
					childMap.put(KK0341_SYSID, subbean.sendMessageString(FUW10801SFConst.KK0341_SYSID_10, X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.請求契約番号 → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.請求契約番号（機器）
					childMap.put(KK0341_SEIKY_KEI_NO, subbean.sendMessageString(FUW10801SFConst.KK0341_SEIKY_KEI_NO_10,
							X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.宅内機器種別コード → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.宅内機器種別コード
					childMap.put(KK0341_TAKNKIKI_SBT_CD, subbean.sendMessageString(FUW10801SFConst.KK0341_TAKNKIKI_SBT_CD_10,
							X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.異動区分 → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.異動区分
					childMap.put(IDO_DIV, subbean.sendMessageString(FUW10801SFConst.IDO_DIV_10, X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.数量 → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.数量
					childMap.put(CNT, beanTemp.sendMessageString(FUW10801SFConst.MSKM_CNT, X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.機器提供サービス契約番号 → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.機器提供サービス契約番号
					childMap.put(KKTK_SVC_KEI_NO, subbean.sendMessageString(FUW10801SFConst.KK0341_KKTK_SVC_KEI_NO_10,
							X31CWebConst.DATABEAN_GET_VALUE));

					// 登録機器リスト.世代登録年月日時分秒（機器） → eo光スティックレンタルサービス申込登録マップ.eo光スティックレンタルサービス申込登録明細リスト.世代登録年月日時分秒（機器）
					childMap.put(KK0341_GENE_ADD_DTM, subbean.sendMessageString(FUW10801SFConst.KK0341_GENE_ADD_DTM_10,
							X31CWebConst.DATABEAN_GET_VALUE));

					list.add(childMap);
				}

			}
		}
		parentMap.put(KKTK_SVKEI_ADD_LIST, list);

		outputMap.put(FUSV026301CC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean [0]：サービスフォームBean [1]：共有フォームBean
	 * @param outputMap 設定値格納マップ
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV026302SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			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(FUW10801SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分 → 進捗情報登録.異動区分
		parentMap.put(IDO_DIV, bean[0].sendMessageString(FUW10801SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE));

		// 進捗特記事項1
		try
		{
			String prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW10802, PRGADD_ID);
			String prgTkjk2 = null;

			// 機器送付先郵便番号
			String pcd = bean[0].sendMessageString(FUW10801SFConst.PCD, X31CWebConst.DATABEAN_GET_VALUE);
			// 機器送付先住所
			String keishaAd = bean[0].sendMessageString(FUW10801SFConst.KEISHA_AD, X31CWebConst.DATABEAN_GET_VALUE);

			if (prgTkjk1 != null && prgTkjk1.length() > 0)
			{
				// 置換後マップに設定
				prgTkjk1 = prgTkjk1.replace(REPLACE_STR_0, pcd);
				prgTkjk1 = prgTkjk1.replace(REPLACE_STR_1, keishaAd);
				
				// 128桁よりも桁数が多い場合、129桁目以降を進捗特記事項2へセットする
				if(128 < prgTkjk1.length())
				{
					prgTkjk2 = prgTkjk1.substring(128, prgTkjk1.length());
					prgTkjk1 = prgTkjk1.substring(0,128);
					
					if(128 <= prgTkjk2.length())
					{
						prgTkjk2 = prgTkjk2.substring(0, 128);
					}
					parentMap.put(PRG_TKJK_2, prgTkjk2);
				}
				parentMap.put(PRG_TKJK_1, prgTkjk1);
			}
			else
			{
				DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
			}
		}
		catch (Exception e)
		{
			DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
		}

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray(FUW10801SFConst.IDO_DTL_LIST);
		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(FUW10801SFConst.IDO_RSN_CD_12, X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put(EKK1091D010CBSMSG1LIST, list);

		outputMap.put(FUSV026302SC, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean [0]：サービスフォームBean [1]：共有フォームBean
	 * @param outputMap 設定値格納マップ
	 * @param func_code 機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV026303SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 異動区分 → 申込明細照査・後続業務依頼.異動区分
		parentMap.put(IDO_DIV, bean[0].sendMessageString(FUW10801SFConst.IDO_DIV, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(FUSV026303SC, parentMap);

		return outputMap;
	}

}