/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0311_FUSV0311OPDBMapper
*	ソースファイル名：FUSV0311_FUSV0311OPDBMapper.java
*	作成者			：FJ
*	日付			：2017年07月28日
*＜機能概要＞
*	BP(GH申込(申込))へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v33.00      2017/07/28   FJ)岡井    【ANK-3217-00-00】GHサービス開始対応
*   v33.00      2017/09/04   FJ)美濃原  【ANK-3217-00-00】GHサービス開始対応
*   v39.00      2018/10/02   FJ)中野	【ANK-3484-00-00】おうちの機器補償サービス対応
*   v51.00      2020/10/19   FJ)美濃原  【ANK-3918-00-00】「インターネットサギウォール」「おうちの機器補償」に対してプレクラ対応を行う
*
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import eo.common.constant.JFUStrConst;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW10701SF.FUW10701SFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングを行います。
 * 
 * <br>
 * @author 富士通
 */
public class FUSV0311_FUSV0311OPDBMapper
{

	/** FUSV031101CC eoスマートリンク登録コモンコンポーネント部品 */
	private static final String FUSV031101CC = "FUSV031101CC";
	/** FUSV031103CC チケット利用申請依頼 */
	private static final String FUSV031103CC = "FUSV031103CC";
	/** チケット利用申請依頼CC 共通チェック*/
	private static final String CHK_TITLE_FUSV031103 = "JFUTicketUseShinIraiCC";
	/** FUSV031104CC 割引サービス自動適用CC */
	private static final String FUSV031104CC = "FUSV031104CC";
	//ANK-3484-00-00 ADD START
	/** FUSV031105CC サービスIF結果(おうちの機器補償サービス登録CC)データ移送 */
	private static final String FUSV031105CC = "FUSV031105CC";
	/** FUSV031106CC おうちの機器補償サービス登録CC */
	private static final String FUSV031106CC = "FUSV031106CC";
	/** FUSV031107SC サービス契約一意照会SC */
	private static final String FUSV031107SC = "FUSV031107SC";
	/** FUSV031108CC 端末補償進捗登録CC */
	private static final String FUSV031108CC = "FUSV031108CC";
	//ANK-3484-00-00 ADD END

	/** 配列番号[0]:サービスフォームBean */
	private static final int INFO_IDX_SVC_INFO = 0;
	/** 配列番号[1]:ＳＳＯ情報 */
	private static final int INFO_IDX_SSO_INFO = 1;
	/** 配列番号[2]:サービス契約情報 */
	private static final int INFO_IDX_SVC_KEI = 2;
	/** 配列番号[3]:請求契約情報 */
	private static final int INFO_IDX_SEIKY_KEI = 3;
	/** 配列番号[4]:サービス契約回線内訳情報 */
	private static final int INFO_IDX_SVC_KEI_KAI_UCWK = 4;
	/** 配列番号[5]:現顧客契約情報 */
	private static final int INFO_IDX_GEN_KOKYAKU = 5;
	/** IN項目マップキー  */
	private static final String IN_PARAM_KEY = "in_param";
	/** IN項目:機能コード */
	private static final String FUNC_CODE = "func_code";
	/** IN項目:ＳＹＳＩＤ */
	private static final String IN_PARAM_SYSID = "sysid";
	/** IN項目:サービス契約情報.サービス契約番号 */
	private static final String IN_PARAM_KEY_SVC_KEI_NO = "key_svc_kei_no";
	/** IN項目:サービス契約情報.サービス契約ステータス */
	private static final String IN_PARAM_SVC_KEI_STAT = "svc_kei_stat";
	/** IN項目:サービス契約情報.サービスコード */
	private static final String IN_PARAM_SVC_CD = "svc_cd";
	/** IN項目:サービス契約情報.料金グループコード */
	private static final String IN_PARAM_PRC_GRP_CD = "prc_grp_cd";
	/** IN項目:サービス契約情報.最終更新年月日時分秒 */
	private static final String IN_PARAM_LAST_UPD_DTM = "last_upd_dtm";
	/** IN項目:サービス契約回線内訳情報.サービス契約回線内訳番号 */
	private static final String IN_PARAM_SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** IN項目:サービス契約回線内訳情報.マンション物件番号 */
	private static final String IN_PARAM_MANSION_BUKKEN_NO = "mansion_bukken_no";
	/** IN項目:現顧客契約情報.お客様名 */
	private static final String IN_PARAM_CUST_NM = "cust_nm";
	/** IN項目:現顧客契約情報.お客様カナ名 */
	private static final String IN_PARAM_CUST_KANA = "cust_kana";
	/** IN項目:現顧客契約情報.契約者住所コード */
	private static final String IN_PARAM_KEISHA_AD_CD = "keisha_ad_cd";
	/** IN項目:現顧客契約情報.契約者郵便番号 */
	private static final String IN_PARAM_KEISHA_PCD = "keisha_pcd";
	/** IN項目:現顧客契約情報.契約者都道府県名 */
	private static final String IN_PARAM_KEISHA_STATE_NM = "keisha_state_nm";
	/** IN項目:現顧客契約情報.契約者市区町村名 */
	private static final String IN_PARAM_KEISHA_CITY_NM = "keisha_city_nm";
	/** IN項目:現顧客契約情報.契約者大字通称名 */
	private static final String IN_PARAM_KEISHA_OAZTSU_NM = "keisha_oaztsu_nm";
	/** IN項目:現顧客契約情報.契約者字丁目名 */
	private static final String IN_PARAM_KEISHA_AZCHO_NM = "keisha_azcho_nm";
	/** IN項目:現顧客契約情報.契約者番地号 */
	private static final String IN_PARAM_KEISHA_BNCHIGO = "keisha_bnchigo";
	/** IN項目:現顧客契約情報.契約者住所補記・建物名 */
	private static final String IN_PARAM_KEISHA_ADRTTM = "keisha_adrttm";
	/** IN項目:現顧客契約情報.契約者住所補記・部屋番号 */
	private static final String IN_PARAM_KEISHA_ADRRM = "keisha_adrrm";
	/** IN項目:現顧客契約情報.契約者電話番号 */
	private static final String IN_PARAM_KEISHA_TELNO = "keisha_telno";
	/** IN項目:請求契約情報.請求契約番号 */
	private static final String IN_PARAM_SEIKY_KEI_NO = "seiky_kei_no";
	/** IN項目:選択宅内機器型式コード */
	private static final String IN_PARAM_TAKNKIKI_MODEL_CD = "taknkiki_model_cd";
	/** IN項目:機器送付先名 */
	private static final String IN_PARAM_KIKI_SOHUS_NM = "kiki_sohus_nm";
	/** IN項目:機器送付先カナ名 */
	private static final String IN_PARAM_KIKI_SOHUS_KANA = "kiki_sohus_kana";
	/** IN項目:機器送付先住所コード */
	private static final String IN_PARAM_KIKI_SOHUS_AD_CD = "kiki_sohus_ad_cd";
	/** IN項目:機器送付先郵便番号 */
	private static final String IN_PARAM_KIKI_SOHUS_PCD = "kiki_sohus_pcd";
	/** IN項目:機器送付先都道府県名 */
	private static final String IN_PARAM_KIKI_SOHUS_STATE_NM = "kiki_sohus_state_nm";
	/** IN項目:機器送付先市区町村名 */
	private static final String IN_PARAM_KIKI_SOHUS_CITY_NM = "kiki_sohus_city_nm";
	/** IN項目:機器送付先大字通称名 */
	private static final String IN_PARAM_KIKI_SOHUS_OAZTSU_NM = "kiki_sohus_oaztsu_nm";
	/** IN項目:機器送付先字丁目名 */
	private static final String IN_PARAM_KIKI_SOHUS_AZCHO_NM = "kiki_sohus_azcho_nm";
	/** IN項目:機器送付先番地号 */
	private static final String IN_PARAM_KIKI_SOHUS_BNCHIGO = "kiki_sohus_bnchigo";
	/** IN項目:機器送付先住所補記・建物名 */
	private static final String IN_PARAM_KIKI_SOHUS_ADRTTM = "kiki_sohus_adrttm";
	/** IN項目:機器送付先住所補記・部屋番号 */
	private static final String IN_PARAM_KIKI_SOHUS_ADRRM = "kiki_sohus_adrrm";
	/** IN項目:機器送付先電話番号 */
	private static final String IN_PARAM_KIKI_SOHUS_TELNO = "kiki_sohus_telno";
	/** IN項目:割賦プランコード */
	private static final String IN_PARAM_KAP_PLAN_CD = "kap_plan_cd";
	/** IN項目:割賦支払い残回数 */
	private static final String IN_PARAM_KAP_PAY_ZAN_CNT = "kap_pay_zan_cnt";
	/** IN項目:割賦販売形態コード名 */
	private static final String IN_PARAM_KAP_HAMBAI_FORM_CD_NM = "kap_hambai_form_cd_nm";
	/** IN項目:進捗特記事項1(オプション設定) */
	private static final String IN_PARAM_PRG_TKJK_1_OPTION = "prg_tkjk_1_option";
	/** IN項目:進捗特記事項1(機器契約変更タブレット) */
	private static final String IN_PARAM_PRG_TKJK_1_KIKI_TB = "prg_tkjk_1_kiki_tb";
	/** IN項目:進捗特記事項1(機器契約変更クレードル) */
	private static final String IN_PARAM_PRG_TKJK_1_KIKI_CL = "prg_tkjk_1_kiki_cl";
	/** IN項目:進捗特記事項1(機器送付先郵便番号・住所) */
	private static final String IN_PARAM_PRG_TKJK_1_KIKI_SOHUS = "prg_tkjk_1_kiki_sohus";
	/** IN項目:進捗特記事項2(機器送付先郵便番号・住所) */
	private static final String IN_PARAM_PRG_TKJK_2_KIKI_SOHUS = "prg_tkjk_2_kiki_sohus";
	/** IN項目:進捗特記事項1(安心補償オプション) */
	private static final String IN_PARAM_PRG_TKJK_1_ANSIN_COMPS = "prg_tkjk_1_ansin_comps";
	/** IN項目:機器付加情報コード */
	private static final String IN_PARAM_KIKI_HUKA_INFO_CD = "kiki_huka_info_cd";
	/** IN項目:eoスマートリンクタブレット購入する */
	private static final String IN_PARAM_KOUNYU = "kounyu";
	/** IN項目:eoスマートリンクプレミアムパック申し込む */
	private static final String IN_PARAM_PREMIUM_MSKM = "premium_mskm";
	/** IN項目:タブレット登録数  */
	private static final String IN_PARAM_TABLET_TOROKU_CNT = "tablet_toroku_cnt";
	/** IN項目:端末補償登録数  */
	private static final String IN_PARAM_COMPS_TOROKU_CNT = "comps_toroku_cnt";
	/** IN項目:端末補償の機器オプション料金プランコード  */
	private static final String IN_PARAM_KKOP_PPLAN_CD = "kkop_pplan_cd";
	/** IN項目:機器送料有無 */
	private static final String IN_PARAM_KIKI_SORYO_UM = "kiki_soryo_um";

	/** 画面選択情報保持マップ 選択割賦プランコード */
	private static final String CHOICE_KAPPLANCD = "choiceKapPlanCd";
	/** 画面選択情報保持マップ 選択支払い回数 */
	private static final String CHOICE_PAYCNT = "choicePayCnt";
	/** 画面選択情報保持マップ 選択宅内機器型式コード */
	private static final String CHOISE_TAKNKIKIMODELCD = "choiseTaknkikiModelCd";
	/** 画面選択情報保持マップ 選択お支払い方法名 */
	private static final String CHOICE_PAYPLANNM = "choicePayPlanNm";
	/** 画面選択情報保持マップ 進捗特記事項1(機器契約変更タブレット)  */
	private static final String PRG_TKJK_1_KIKI_TB = "prgTkjk1kikiTb";

	/** 画面選択情報保持マップ 進捗特記事項1(機器送付先郵便番号・住所)  */
	private static final String PRG_TKJK_1_KIKI_SOHUS = "prgTkjk1KikiSohus";
	/** 画面選択情報保持マップ 進捗特記事項2(機器送付先郵便番号・住所)  */
	private static final String PRG_TKJK_2_KIKI_SOHUS = "prgTkjk2KikiSohus";
	/** 画面選択情報保持マップ 機器付加情報コード  */
	private static final String KIKI_HUKA_INFO_CD = "kikiHukaInfoCd";
	/** 画面選択情報保持マップ eoスマートリンクタブレット購入する  */
	private static final String CHOICE_KOUNYU = "kounyu";
	/** 画面選択情報保持マップ 端末補償の機器オプション料金プランコード  */
	private static final String CHOICE_KKOP_PPLAN_CD = "kkopPplanCd";
	//ANK-3484-00-00 ADD START
	/** IN項目:処理区分 */
	private static final String shori_div = "shori_div";
	/** IN項目: 異動区分 */
	private static final String IDO_DIV = "ido_div";
	/** IN項目:機能コード  */
	private static final String FUNC_CD = "func_cd";
	/** IN項目:サービス契約番号  */
	private static final String IN_SVC_KEI_NO = "svc_kei_no";
	/** IN項目:申込年月日  */
	private static final String IN_MSKM_YMD = "mskm_ymd";
	/** IN項目:処理区分  */
	private static final String IN_SHORI_DIV = "shori_div";
	/** IN項目:申込明細番号  */
	private static final String IN_MSKM_DTL_NO = "mskm_dtl_no";
	/** IN項目:更新年月日時分秒（サービス契約）  */
	private static final String IN_UPD_DTM_BF = "upd_dtm_bf";
	/** IN項目:ＰＣプラン対象フラグ  */
	private static final String IN_PC_PLAN_TG_FLG = "pc_plan_tg_flg";
	/** IN項目:ＰＣプラン申込日  */
	private static final String IN_PC_PLAN_MKSM_YMD = "pc_plan_mksm_ymd";
	/** IN項目:ＰＣワイドプラン対象フラグ  */
	private static final String IN_PC_WIDE_PLAN_TG_FLG = "pc_wide_plan_tg_flg";
	/** IN項目:ＰＣワイドプラン申込日  */
	private static final String IN_PC_WIDE_PLAN_MKSM_YMD = "pc_wide_plan_mksm_ymd";
	/** IN項目:ＴＶプラン対象フラグ  */
	private static final String IN_TV_PLAN_TG_FLG = "tv_plan_tg_flg";
	/** IN項目:ＴＶプラン申込日  */
	private static final String IN_TV_PLAN_MKSM_YMD = "tv_plan_mksm_ymd";
	/** IN項目:端末補償操作CC文字列  */
	private static final String IN_TEMP_OP_CC_TXT = "sp_temp_cc_txt";
	/** 処理区分：登録モード */
	private static final String ADD_MODE = "2";
	/** プラン対象フラグ：登録有 */
	private static final String ADD_ARI = "1";
	/** プラン対象フラグ：登録無 */
	private static final String ADD_NASI = "0";
	/** 特記事項１要素を取得する際のidの値(PCワイドプラン情報登録) */
	private static final String PRGADD_ID_ADD_PC_WID_PLAN = "2";
	/** IN項目:進捗特記事項１（PCワイドプラン情報登録用）  */
	private static final String IN_ADD_PRG_TKJK_1_PC_WID_PLAN = "add_prg_tkjk_1_pc_wid_plan";
	/** ＰＣプラン申込状態識別コード:ＰＣプラン契約  */
	private static final String PC_PLAN_CONTRACT = "5";
	/** IN項目:異動理由コード  */
	private static final String IN_IDO_RSN_CD = "ido_rsn_cd";
	/** IN項目:異動理由明細  */
	private static final String IN_EKK1091D010CBSMSG1LIST = "EKK1091D010CBSMsg1List";
	//ANK-3484-00-00 ADD END

	/** 申し込む端末ごとの情報を設定するマップのキー  */
	private static final String IN_MSKM_TNMT_MAP = "mskmTnmtMap";

	/** マップキー データ移送 データ移送キー */
	private static final String KEY_CNT = "key_cnt";

	//ANK-3484-00-00 ADD START
	/** マップキー データ移送 データ移送数：FUSV031106CC */
	private static final String TRANCE_CNT_FUSV031106CC = "2";
	//ANK-3484-00-00 ADD END
	/** マップキー データ移送 データ移送先名 */
	private static final String TRANCE_NM = "tranNm";

	// ※クエリキー → "key_"(固定) + 連番
	/** マップキー データ移送 移送データキー１ */
	private static final String TRANCE_DT_1 = "key_1";
	/** マップキー データ移送 移送データキー２ */
	private static final String TRANCE_DT_2 = "key_2";

	//ANK-3484-00-00 ADD START
	/** マップキー データ移送 移送データ１(FUSV031103CC) */
    private static final String TRANCE_DT_VAL_FUSV031106CC_1 = "FUSV031101CC::mskm_dtl_no,add_info_list::mskm_dtl_no";
    /** マップキー データ移送 移送データ２(FUSV031107SC) */
	private static final String TRANCE_DT_VAL_FUSV031107SC_2 = "FUSV031107SC:EKK0081A010CBSMsg1List:last_upd_dtm,add_info_list::upd_dtm_bf";
	//ANK-3484-00-00 ADD END


	// チケット利用申請依頼CC
	/** SYSID  */
	private static final String SYSID = "sysid";
	/** サービス契約番号  */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** 施策コード  */
	private static final String SISAK_CD = "sisak_cd";
	/** キャンペーン登録契機コード  */
	private static final String CMP_ADD_OPTNTY_CD = "cmp_add_optnty_cd";
	/** チケット利用申請依頼リスト  */
	private static final String TICKET_USE_SHIN_IRAI_LIST = "ticket_use_shin_irai_list";

	/** eoスマートリンクプレミアムパック申し込む(GH) */
	private static final String PREMIUM_MSKM_FLG = "0";
	/** タブレット登録数(GH) */
	private static final String GH_TOROKU_CNT = "1";
	/** 端末補償登録数(GH) */
	private static final String GH_COMPS_TOROKU_CNT = "0";

	/**
	 * コンストラクタ
	 */
	public FUSV0311_FUSV0311OPDBMapper()
	{
	}

	/**
	 * eoスマートリンク登録コモンコンポーネントCCの上りマッピングをします。
	 * @param bean
	 * @param outputMap マップ
	 * @param funcCode 機能コード
	 * @param choiseMap 画面で選択されたタブレットに紐づく情報を保持するマップ
	 * @param choiseList 画面で選択されたタブレットに紐づく情報を保持するリスト
	 * @return HashMap 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031101CC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode, HashMap<String, Object> choiseMap,
			ArrayList<Object> choiseList)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();

		// 申し込み情報
		// 共通情報のマッピング
		childMap.put(FUNC_CODE, funcCode);
		// IN項目:ＳＹＳＩＤ
		childMap.put(IN_PARAM_SYSID, bean[INFO_IDX_SSO_INFO].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約情報.サービス契約番号
		childMap.put(IN_PARAM_KEY_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約情報.サービス契約ステータス
		childMap.put(IN_PARAM_SVC_KEI_STAT, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_23,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約情報.サービスコード
		childMap.put(IN_PARAM_SVC_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約情報.料金グループコード
		childMap.put(IN_PARAM_PRC_GRP_CD, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約情報.最終更新年月日時分秒
		// 初期表示最終更新年月日時分秒
		String lastUpdDtm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.INIT_DISP_LAST_UPD_DTM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_LAST_UPD_DTM, lastUpdDtm);
		// IN項目:サービス契約回線内訳情報.サービス契約回線内訳番号
		childMap.put(IN_PARAM_SVC_KEI_KAISEN_UCWK_NO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:サービス契約回線内訳情報.マンション物件番号
		childMap.put(IN_PARAM_MANSION_BUKKEN_NO, bean[INFO_IDX_SVC_KEI_KAI_UCWK].sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_NO_26,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.お客様名
		childMap.put(IN_PARAM_CUST_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.CUST_NM_22, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.お客様カナ名
		childMap.put(IN_PARAM_CUST_KANA, bean[INFO_IDX_GEN_KOKYAKU]
				.sendMessageString(CommonInfoCFConst.CUST_KANA_22, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者住所コード
		childMap.put(IN_PARAM_KEISHA_AD_CD, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_AD_CD_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者郵便番号
		childMap.put(IN_PARAM_KEISHA_PCD, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_PCD_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者都道府県名
		childMap.put(IN_PARAM_KEISHA_STATE_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_STATE_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者市区町村名
		childMap.put(IN_PARAM_KEISHA_CITY_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_CITY_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者大字通称名
		childMap.put(IN_PARAM_KEISHA_OAZTSU_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_OAZTSU_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者字丁目名
		childMap.put(IN_PARAM_KEISHA_AZCHO_NM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_AZCHO_NM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者番地号
		childMap.put(IN_PARAM_KEISHA_BNCHIGO, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_BNCHIGO_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者住所補記・建物名
		childMap.put(IN_PARAM_KEISHA_ADRTTM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_ADRTTM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者住所補記・部屋番号
		childMap.put(IN_PARAM_KEISHA_ADRRM, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_ADRRM_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:現顧客契約情報.契約者電話番号
		childMap.put(IN_PARAM_KEISHA_TELNO, bean[INFO_IDX_GEN_KOKYAKU].sendMessageString(CommonInfoCFConst.KEISHA_TELNO_22,
				X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:請求契約情報.請求契約番号
		childMap.put(IN_PARAM_SEIKY_KEI_NO, bean[INFO_IDX_SEIKY_KEI].sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_32,
				X31CWebConst.DATABEAN_GET_VALUE));
		// ANK-3152-00-00 ADD START
		// IN項目:サービス契約情報.機器送付先名
		String kikiSohusNm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_NM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_NM, kikiSohusNm);
		// IN項目:サービス契約情報.機器送付先カナ名
		String kikiSohusKana = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_KANA, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_KANA, kikiSohusKana);
		// IN項目:サービス契約情報.機器送付先住所コード
		String kikiSohusAdCd = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_AD_CD, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_AD_CD, kikiSohusAdCd);
		// IN項目:サービス契約情報.機器送付先郵便番号
		String kikiSohusPcd = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_PCD, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_PCD, kikiSohusPcd);
		// IN項目:サービス契約情報.機器送付先都道府県名
		String kikiSohusStateNm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_STATE_NM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_STATE_NM, kikiSohusStateNm);
		// IN項目:サービス契約情報.機器送付先市区町村名
		String kikiSohusCityNm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_CITY_NM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_CITY_NM, kikiSohusCityNm);
		// IN項目:サービス契約情報.機器送付先大字通称名
		String kikiSohusOaztsuNm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_OAZTSU_NM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_OAZTSU_NM, kikiSohusOaztsuNm);
		// IN項目:サービス契約情報.機器送付先字丁目名
		String kikiSohusAzchoNm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_AZCHO_NM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_AZCHO_NM, kikiSohusAzchoNm);
		// IN項目:サービス契約情報.機器送付先番地号
		String kikiSohusBnchigo = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_BNCHIGO, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_BNCHIGO, kikiSohusBnchigo);
		// IN項目:サービス契約情報.機器送付先住所補記・建物名
		String kikiSohusAdrttm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_ADRTTM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_ADRTTM, kikiSohusAdrttm);
		// IN項目:サービス契約情報.機器送付先住所補記・部屋番号
		String kikiSohusAdrrm = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_ADRRM, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_ADRRM, kikiSohusAdrrm);
		// IN項目:サービス契約情報.機器送付先電話番号
		String kikiSohusTelNo = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.KIKI_SOHUS_TELNO, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put(IN_PARAM_KIKI_SOHUS_TELNO, kikiSohusTelNo);

		// IN項目:進捗特記事項1(オプション設定) 
		childMap.put(IN_PARAM_PRG_TKJK_1_OPTION, JFUStrConst.EMPTY);
		// IN項目:eoスマートリンクタブレット購入する
		childMap.put(IN_PARAM_KOUNYU, (String)choiseMap.get(CHOICE_KOUNYU));
		// IN項目:eoスマートリンクプレミアムパック申し込む
		childMap.put(IN_PARAM_PREMIUM_MSKM, PREMIUM_MSKM_FLG);

		// IN項目:機器送料有無
		// サービス提供中の場合のみ1:有を設定
		if (JFUStrConst.CD00037_100.equals(bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_23,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			childMap.put(IN_PARAM_KIKI_SORYO_UM, JFUStrConst.CD00002_1);
		}

		// マップに設定
		parentMap.put(IN_PARAM_KEY, childMap);

		// 申し込む端末ごとの情報
		// 割賦プランコード単位（割賦プランコードは、端末のお支払い方法単位に採番されている）
		ArrayList<Object> childList = new ArrayList<Object>();

		for (int i = 0; i < choiseList.size(); i++)
		{
			ArrayList<Object> setList = (ArrayList<Object>)choiseList.get(i);

			for (int j = 0; j < setList.size(); j++)
			{
				HashMap<String, Object> choiseitemMap = (HashMap<String, Object>)setList.get(j);

				HashMap<String, Object> childMapMulti = new HashMap<String, Object>();

				// IN項目:割賦プランコード
				String choiceKapPlanCd = (String)choiseitemMap.get(CHOICE_KAPPLANCD);
				childMapMulti.put(IN_PARAM_KAP_PLAN_CD, choiceKapPlanCd);
				// IN項目:割賦販売形態コード名
				String choicePayPlanNm = (String)choiseitemMap.get(CHOICE_PAYPLANNM);
				childMapMulti.put(IN_PARAM_KAP_HAMBAI_FORM_CD_NM, choicePayPlanNm);
				// IN項目:割賦支払い残回数
				String choicePayCnt = (String)choiseitemMap.get(CHOICE_PAYCNT);
				childMapMulti.put(IN_PARAM_KAP_PAY_ZAN_CNT, choicePayCnt);
				// IN項目:選択宅内機器型式コード
				String taknkikiModelCd = (String)choiseitemMap.get(CHOISE_TAKNKIKIMODELCD);
				childMapMulti.put(IN_PARAM_TAKNKIKI_MODEL_CD, taknkikiModelCd);
				// IN項目:機器付加情報コード 
				String kikiHukaInfoCd = (String)choiseitemMap.get(KIKI_HUKA_INFO_CD);
				childMapMulti.put(IN_PARAM_KIKI_HUKA_INFO_CD, kikiHukaInfoCd);
				// IN項目:タブレット登録数
				childMapMulti.put(IN_PARAM_TABLET_TOROKU_CNT, GH_TOROKU_CNT);
				// IN項目:端末補償登録数
				childMapMulti.put(IN_PARAM_COMPS_TOROKU_CNT, GH_COMPS_TOROKU_CNT);
				// IN項目:端末補償の機器オプション料金プランコード
				String kkopPplanCd = (String)choiseitemMap.get(CHOICE_KKOP_PPLAN_CD);
				childMapMulti.put(IN_PARAM_KKOP_PPLAN_CD, kkopPplanCd);
				// IN項目:進捗特記事項1(機器契約変更タブレット) 
				String prgTkjk1kikiTb = (String)choiseitemMap.get(PRG_TKJK_1_KIKI_TB);
				childMapMulti.put(IN_PARAM_PRG_TKJK_1_KIKI_TB, prgTkjk1kikiTb);
				// IN項目:進捗特記事項1(機器契約変更クレードル) 
				childMapMulti.put(IN_PARAM_PRG_TKJK_1_KIKI_CL, JFUStrConst.EMPTY);
				// IN項目:進捗特記事項1(機器送付先郵便番号・住所) 
				String prgTkjk1KikiSohus = (String)choiseitemMap.get(PRG_TKJK_1_KIKI_SOHUS);
				childMapMulti.put(IN_PARAM_PRG_TKJK_1_KIKI_SOHUS, prgTkjk1KikiSohus);
				// IN項目:進捗特記事項2(機器送付先郵便番号・住所) 
				String prgTkjk2KikiSohus = (String)choiseitemMap.get(PRG_TKJK_2_KIKI_SOHUS);
				childMapMulti.put(IN_PARAM_PRG_TKJK_2_KIKI_SOHUS, prgTkjk2KikiSohus);
				// IN項目:進捗特記事項1(安心補償オプション) 
				childMapMulti.put(IN_PARAM_PRG_TKJK_1_ANSIN_COMPS, JFUStrConst.EMPTY);

				childList.add(childMapMulti);
			}
		}

		// マップに設定
		parentMap.put(IN_MSKM_TNMT_MAP, childList);

		// 返却マップに設定
		outputMap.put(FUSV031101CC, parentMap);

		return outputMap;
	}

	/**
	 * チケット利用申請依頼CCの上りマッピング処理です。
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @param funcCode 機能コード
	 * @return マッピング結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031103CC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode)
	{
		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		ArrayList list = new ArrayList();

		// SYSID →チケット利用申請依頼マップ.SYSID
		parentMap.put(SYSID, bean[INFO_IDX_SSO_INFO].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号 →チケット利用申請依頼マップ.サービス契約番号
		parentMap.put(SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));

		X31SDataBeanAccessArray arraybean = bean[INFO_IDX_SVC_INFO].getDataBeanArray(FUW10701SFConst.TICKET_USE_SHIN_IRAI_LIST);

		int cnt = 0;
		if (arraybean != null && arraybean.getCount() > 0)
		{
			// チケット利用選択
			String ticUseSelect = bean[0].sendMessageString(FUW10701SFConst.TIC_USE_SELECT, X31CWebConst.DATABEAN_GET_VALUE);
			int sel = Integer.parseInt(ticUseSelect);

			// cnt=0はeoチケット申請無しなので削除
			arraybean.removeDataBean(cnt);
			sel--;
			while (cnt < arraybean.getCount())
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(cnt);

				// 選ばれていないチケットは削除
				if (subbean == null || cnt != sel)
				{
					// 選択してないデータをリストから削除する
					arraybean.removeDataBean(cnt);
					sel--;

					continue;
				}
				else
				{
					cnt++;
				}

				// チケット利用申請依頼マップ.チケット利用申請依頼リスト
				if (subbean != null)
				{
					// 施策コード
					String sisakCd = subbean.sendMessageString(FUW10701SFConst.SISAK_CD_17, X31CWebConst.DATABEAN_GET_VALUE);
					// キャンペーン登録契機コード
					String cmpAddOptntyCd = subbean.sendMessageString(FUW10701SFConst.CMP_ADD_OPTNTY_CD_17, X31CWebConst.DATABEAN_GET_VALUE);

					String[] sisakcdL = sisakCd.split(JFUStrConst.COMMA);
					String[] cmpAddOptntyCdL = cmpAddOptntyCd.split(JFUStrConst.COMMA);
					// ■複合チケットも含まれているので繰り返し実行
					for (int idx = 0; idx < sisakcdL.length; idx++)
					{
						HashMap childMap = new HashMap();
						// 各種通信機器申込み登録マップ.チケット利用申請依頼リスト.施策コード → チケット利用申請依頼リスト.施策コード
						childMap.put(SISAK_CD, sisakcdL[idx]);
						// 各種通信機器申込み登録マップ.チケット利用申請依頼リスト.キャンペーン登録契機コード → チケット利用申請依頼リスト.キャンペーン登録契機コード
						childMap.put(CMP_ADD_OPTNTY_CD, cmpAddOptntyCdL[idx]);
						list.add(childMap);
					}
				}
			}
		}
		parentMap.put(TICKET_USE_SHIN_IRAI_LIST, list);

		// 連携パラメータ
		outputMap.put(FUSV031103CC, parentMap);

		// 共通CCチェック用にマップを設定
		outputMap.put(CHK_TITLE_FUSV031103, parentMap);

		return outputMap;
	}

	/**
	 * 割引サービス自動適用CCの上りマッピング処理です。
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @param funcCode 機能コード
	 * @return マッピング結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031104CC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode)
	{
		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// SYSID →割引サービス自動適用CCマップ.SYSID
		parentMap.put(SYSID, bean[INFO_IDX_SSO_INFO].sendMessageString(CommonInfoCFConst.SYSID_21, X31CWebConst.DATABEAN_GET_VALUE));
		// 機能コード  →割引サービス自動適用CCマップ.機能コード
		parentMap.put(FUNC_CODE, funcCode);

		// ■サービス契約グループリスト、サービス契約リストは「FUSV031101」で設定
		outputMap.put(FUSV031104CC, parentMap);

		return outputMap;
	}
	//ANK-3484-00-00 ADD START
	/**
	 * データ移送(おうちの機器補償サービス登録CC)の設定をします。
	 * <br>
	 * @param outputMap
	 * @param bl
	 * @return マッピング結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031105CC(HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// データ移送数
		parentMap.put(KEY_CNT, TRANCE_CNT_FUSV031106CC);

		// データ移送先
		parentMap.put(TRANCE_NM, FUSV031106CC);

		// クエリ文字列の例
		parentMap.put(TRANCE_DT_1, TRANCE_DT_VAL_FUSV031106CC_1);
		parentMap.put(TRANCE_DT_2, TRANCE_DT_VAL_FUSV031107SC_2);
	

		// 共通情報のマッピング
		outputMap.put(FUSV031105CC, parentMap);

		return outputMap;
	}
	
	/**
	 * おうちの機器補償サービス登録CCの上りマッピング処理です。
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @param funcCode 機能コード
	 * @return マッピング結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031106CC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode, String opeDate)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();
		
		// ●ＰＣプラン申し込み確認を取得
		Boolean mskmPcPlan = bean[INFO_IDX_SVC_INFO].sendMessageBoolean(FUW10701SFConst.MSKM_PC_PLAN, X31CWebConst.DATABEAN_GET_VALUE);
		// ●ＰＣワイドプラン申し込み確認を取得
		Boolean mskmPcWidPlan = bean[INFO_IDX_SVC_INFO].sendMessageBoolean(FUW10701SFConst.MSKM_PC_WID_PLAN, X31CWebConst.DATABEAN_GET_VALUE);
		// ●ＰＣプラン申込状態識別コードを取得
		String pcPlanStatSkcd = bean[INFO_IDX_SVC_INFO].sendMessageString(FUW10701SFConst.PC_PLAN_STAT_SKCD, X31CWebConst.DATABEAN_GET_VALUE);
		
		// IN項目:機能コード
		parentMap.put(FUNC_CD, funcCode);
		// IN項目:申込年月日
		parentMap.put(IN_MSKM_YMD, opeDate);
		// IN項目:処理区分
		parentMap.put(IN_SHORI_DIV, ADD_MODE);
		// IN項目:サービス契約番号
		parentMap.put(IN_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		// IN項目:異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00031);
		
		// 登録用情報リスト
		ArrayList<Map<String, String>> addInfoList = new ArrayList<Map<String, String>>();

		Map<String, String> addInfo = new HashMap<String, String>();
		// IN項目:サービス契約番号
		addInfo.put(IN_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		
		if(mskmPcWidPlan)
		{
			// ＰＣワイドプラン申し込みの場合、
			if(PC_PLAN_CONTRACT.equals(pcPlanStatSkcd))
			{
				// ＰＣプランが既に申し込みされている場合、
				// ＰＣプラン対象フラグ："0"登録無、ＰＣワイドプラン対象フラグ："1"登録有を設定する。
				// IN項目:ＰＣプラン対象フラグ
				addInfo.put(IN_PC_PLAN_TG_FLG, ADD_NASI);
				// IN項目:ＰＣプラン申込日
				addInfo.put(IN_PC_PLAN_MKSM_YMD, opeDate);
				// IN項目:ＰＣワイドプラン対象フラグ
				addInfo.put(IN_PC_WIDE_PLAN_TG_FLG, ADD_ARI);
				// IN項目:ＰＣワイドプラン申込日
				addInfo.put(IN_PC_WIDE_PLAN_MKSM_YMD, opeDate);
			}
			else
			{
				// ＰＣプラン・ＰＣワイドプランともにプラン対象フラグ："1"登録有を設定する。
				// IN項目:ＰＣプラン対象フラグ
				addInfo.put(IN_PC_PLAN_TG_FLG, ADD_ARI);
				// IN項目:ＰＣプラン申込日
				addInfo.put(IN_PC_PLAN_MKSM_YMD, opeDate);
				// IN項目:ＰＣワイドプラン対象フラグ
				addInfo.put(IN_PC_WIDE_PLAN_TG_FLG, ADD_ARI);
				// IN項目:ＰＣワイドプラン申込日
				addInfo.put(IN_PC_WIDE_PLAN_MKSM_YMD, opeDate);
			}
		}
		else if(mskmPcPlan)
		{
			// ＰＣプラン申し込みの場合、
			// ＰＣプラン対象フラグ："1"登録有、ＰＣワイドプラン対象フラグ："0"登録無を設定する。
			// IN項目:ＰＣプラン対象フラグ
			addInfo.put(IN_PC_PLAN_TG_FLG, ADD_ARI);
			// IN項目:ＰＣプラン申込日
			addInfo.put(IN_PC_PLAN_MKSM_YMD, opeDate);
			// IN項目:ＰＣワイドプラン対象フラグ
			addInfo.put(IN_PC_WIDE_PLAN_TG_FLG, ADD_NASI);
			// IN項目:ＰＣワイドプラン申込日
			addInfo.put(IN_PC_WIDE_PLAN_MKSM_YMD, opeDate);
		}
		else
		{
			// ＰＣプラン・ＰＣワイドプラン申し込み無しの場合、
			// ＰＣプラン・ＰＣワイドプランともにプラン対象フラグ："0"登録無を設定する。
			// IN項目:ＰＣプラン対象フラグ
			addInfo.put(IN_PC_PLAN_TG_FLG, ADD_NASI);
			// IN項目:ＰＣプラン申込日
			addInfo.put(IN_PC_PLAN_MKSM_YMD, opeDate);
			// IN項目:ＰＣワイドプラン対象フラグ
			addInfo.put(IN_PC_WIDE_PLAN_TG_FLG, ADD_NASI);
			// IN項目:ＰＣワイドプラン申込日
			addInfo.put(IN_PC_WIDE_PLAN_MKSM_YMD, opeDate);
		}
		// IN項目:ＴＶプラン対象フラグ
		addInfo.put(IN_TV_PLAN_TG_FLG, ADD_NASI);
		// IN項目:ＴＶプラン申込日
		addInfo.put(IN_TV_PLAN_MKSM_YMD, opeDate);

		addInfoList.add(addInfo);
		parentMap.put("add_info_list", addInfoList);
		
		
		outputMap.put(FUSV031106CC, parentMap);
		
		return outputMap;
	}
	
	/**
	 * データ移送(おうちの機器補償サービス登録CC)の設定をします。
	 * <br>
	 * @param outputMap
	 * @param bl
	 * @return マッピング結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031107SC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, funcCode);
		
		// ＫＥＹ＿サービス契約番号
		parentMap.put(IN_PARAM_KEY_SVC_KEI_NO, bean[INFO_IDX_SVC_KEI].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 共通情報のマッピング
		outputMap.put(FUSV031107SC, parentMap);

		return outputMap;
	}
	
	/**
	 * 端末補償進捗登録CCの上りマッピング処理です。
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @param funcCode 機能コード
	 * @return マッピング結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV031108CC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 各特記事項1を取得
		String addPcWidPlan = JFUStrConst.EMPTY;

		try
		{
			addPcWidPlan = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW10722, PRGADD_ID_ADD_PC_WID_PLAN);
		}
		catch (Exception e)
		{
			// 定義から取得できない場合は空で登録
			DEBUG_LOG.info("★★★ FUSV0311_FUSV0311OPDBMapper setFUSV031109CC 特記事項1取得不可 ★★★");
		}

		// IN項目:機能コード
		parentMap.put(JCMConstants.FUNC_CODE_KEY, funcCode);
		// IN項目:端末補償操作CC文字列
		parentMap.put(IN_TEMP_OP_CC_TXT, FUSV031106CC);
		// IN項目:進捗特記事項１（PCワイドプラン情報登録用）
		parentMap.put(IN_ADD_PRG_TKJK_1_PC_WID_PLAN, addPcWidPlan);

		// 異動理由明細
		ArrayList eKK1091D010CBSMsg1List = new ArrayList();
		HashMap eKK1091D010CBSMsg1Map = new HashMap();

		// 異動理由コード
		eKK1091D010CBSMsg1Map.put(IN_IDO_RSN_CD, JFUStrConst.CD00846_F3);

		eKK1091D010CBSMsg1List.add(eKK1091D010CBSMsg1Map);
		parentMap.put(IN_EKK1091D010CBSMSG1LIST, eKK1091D010CBSMsg1List);

		// 共通情報のマッピング
		outputMap.put(FUSV031108CC, parentMap);

		return outputMap;
	}
	//ANK-3484-00-00 ADD END

}