/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUSV0131_FUSV0131OPDBMapper
*	ソースファイル名：FUSV0131_FUSV0131OPDBMapper.java
*	作成者			：FJ
*	日付			：2012年06月01日
*＜機能概要＞
*	BP（eo光テレビSTB追加変更申込（申し込む））へのＤ−Ｂマッピングクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2012/06/01	FJ		新規作成
*   v4.00       2012/07/20   FJ) 瀧澤    【ANK-0368-00-00】 キャンペーン文言出力対応
*	v4.00		2012/10/11	 FJ) 岡井	 【ANK-1223-00-00】進捗補足事項編集対応
*   v4.00		2012/10/25	 FJ) 岡井	 【IT1-2012-0001669】LOT2-IT1障害対応
*	v3.00.00	2012/11/20	 FJ)山名	 【ST1-2012-0000768】工事案件受付設定値修正
*	v4.00       2012/12/29   FJ) 瀧澤    異なる電話番号未入力時の文言対応
*	v5.00       2013/02/28   FJ）文元    【ANK-1399-00-00】フロントＳ文言確認修正対応
*   v5.00       2013/05/23   FJ）文元    【ANK-1523-00-00】〔現行システム対応〕フロントＳテレビキャンペーン対応(TV共通チェック追加)
*   v11.00      2014/08/11   FJ) 谷本    【ANK-2141-00-00】STB交換方法の変更
*   v26.00      2016/06/17   FJ) 横山    【ANK-2687-00-00】プレミアムサポート施策
*   v26.00      2016/07/26   FJ) 横山    【IT2-2016-0000041】プレミアムサポート施策障害対応
*   v27.00      2016/09/12   FJ) 横山    【ANK-2985-00-00】消費者保護ルール見直し対応STEP3
*   v29.00      2017/03/03   FJ) 川島    【ANK-3099-00-00】【eoプレミアムクラブ】プレクラ施策のフロント表示名称変更
*   v40.00.00   2019/01/04   FJ) 美濃原  【ANK-3509-00-00】TVコース変更時のVONU交換必須化対応（キャンペーン文言表示削除）
*   v66.00      2023/01/31   FJ) 美濃原  【ANK-4307-00-00】【eo定期】プレミアムクラブリニューアル対応
*
**********************************************************************/
package eo.web.webview.mapping;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import static eo.common.constant.JPCModelConstant.FUNC_CD_1;
import static eo.common.constant.JPCModelConstant.FUNC_CD_2;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
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.FUW06802SF.FUW06802SFConst;
import eo.web.webview.common.JFUEoPremiumClubConst;
import eo.web.webview.common.JFUEoPremiumClubDsp;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングを行います。
 *
 * <br>
 * @author 富士通
 */
public class FUSV0131_FUSV0131OPDBMapper
{

	/** 登録処理区分 */
	private static final String PROC_DIV_REG = "01";
	/** ＢＳパススルー申込区分 */
	private static final String BSPT_MSKM = "1";
	/** 上りマッピング時に引数となるBeanの配列要素数 */
	private static final int UP_MAPPING_BEANELEM_CNT = 2;
	/** 登録時機能コード */
	private static final String FUNC_CD_REG = "1";

	/* start */
	/** eoプレミアムクラブ申請条件一覧照会CC */
	private static final String CC_TITLE_FUSV013103 = "FUSV013103CC";
	/** eoプレミアムクラブ申請条件一覧照会CC(CC名) */
	private static final String CC_NAME_FUSV013103 = "JFUEoPremiumClubShokaiCC";
	/** チケット利用申請依頼CC */
	private static final String CC_TITLE_FUSV013104 = "FUSV013104CC";
	/** チケット利用申請依頼CC(CC名) */
	private static final String CC_NAME_FUSV013104 = "JFUTicketUseShinIraiCC";
	/* end */

	/**  2016/09/12 ANK-2985-00-00 add start */
	/** サービスIF結果データ移送CC */
	private static final String CC_TITLE_FUSV013105 = "FUSV013105CC";
	/** 契約内容通知書登録CC */
	private static final String CC_TITLE_FUSV013106 = "FUSV013106CC";
	/** eo光テレビSTB追加変更申込CC */
	private static final String CC_TITLE_FUSV013101 = "FUSV013101CC";
	/**  2016/09/12 ANK-2985-00-00 add end */


	/** Mapキー：サービス契約番号 */
	private static final String KEY_CMP_SVC_KEI_NO = "key_svc_kei_no_cmp";
	/** Mapキー：料金コースコード */
	private static final String KEY_CMP_PCRS_CD = "key_pcrs_cd_cmp";
	/** Mapキー：料金プランコード */
	private static final String KEY_CMP_PPLAN_CD = "key_pplan_cd_cmp";
	/** Mapキー：ＫＥＹ＿割引サービス適用条件種別コードリスト */
	private static final String KEY_CMP_WRSV_APLY_JKN_SBT_LIST = "key_wrsv_aply_jkn_sbt_cd_list_cmp";
	/** IN項目: ＫＥＹ＿割引サービスコード */
	protected static final String IN_PARAM_CMP_KEY_WRIB_SVC_CD = "key_wrib_svc_cd";
	/** Mapキー：処理区分 */
	private static final String KEY_CMP_PROC_DIV = "proc_div_cmp";
	/** Mapキー：料金グループコード */
	private static final String KEY_CMP_PRC_GRP_CD = "key_prc_grp_cd_cmp";
	/** Mapキー：ＳＹＳＩＤ */
	private static final String KEY_CMP_SYSID = "sysid_cmp";
	/** Mapキー：登録後料金コースコード */
	private static final String KEY_CMP_CHGE_AF_PCRS_CD = "pcrs_cd_cmp";
	/** Mapキー：登録後料金プランコード */
	private static final String KEY_CMP_CHGE_AF_PPLAN_CD = "pplan_cd_cmp";
	/** Mapキー：異動区分 */
	private static final String KEY_CMP_IDO_DIV = "ido_div_cmp";
	/** Mapキー：ＢＳパススルーの申し込みフラグ */
	private static final String KEY_CMP_BSPT_MSKM_FLG = "bspt_mskm_flg";
	/** Mapキー：進捗特記事項1 */
	private static final String PRG_TKJK_1 = "prg_tkjk_1";

	/**  2016/09/12 ANK-2985-00-00 add start */
	/** 移送キー１ */
	private static final String TRANS_KEY_1 = "key_1";
	/** マップキー 移送先名取得 */
	private static final String KEY_TRAN_NAME = "tranNm";
	/** マップキー キーカウント */
	private static final String KEY_KEY_CNT = "key_cnt";
	/** 契約内容通知書(契約内容通知書オンラインフラグ) */
	private static final String KNYTCS_KNYTCS_ON_FLG = "knytcs_on_flg";
	/** 契約内容通知書(異動区分) */
	private static final String KNYTCS_IDO_DIV = "ido_div";
	/** 契約内容通知書(SYSID) */
	private static final String KNYTCS_SYSID = "sysid";
	/** 契約内容通知書(サービス契約回線内訳番号) */
	private static final String KNYTCS_SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** 契約内容通知書(申込番号) */
	private static final String KNYTCS_MSKM_NO = "mskm_no";
	/** 契約内容通知書(運用日) */
	private static final String KNYTCS_UNYO_YMD = "unyo_ymd";
	/** 契約内容通知書(サービス契約番号(TV用)) */
	private static final String KNYTCS_SVC_KEI_NO_TV = "svc_kei_no_tv";
	/** 契約内容通知書(異動区分(TV用)) */
	private static final String KNYTCS_IDO_DIV_TV = "ido_div_tv";
	/** 共通情報：機能コード */
	private static final String FUNC_CODE = "func_code";
	/**  2016/09/12 ANK-2985-00-00 add end */

	/** 定義取得パス STB機器名 */
	private static final String PATH_KIKI_NM = "DISPSETTING/SETTING[@screenId='FUW06803']/DISPTEXT[@groupid='PRG_KIKI_NM']";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** 特記事項１要素を取得する際のid：登録 */
	private static final String PRGADD_ID_0 = "0";
	/** 特記事項１要素を取得する際のid：変更 */
	private static final String PRGADD_ID_1 = "1";
	/** 置換文字列：%0% */
	private static final String REPLACE_STR_0 = "%0%";
	/** 置換文字列：%1% */
	private static final String REPLACE_STR_1 = "%1%";
	/** STB変更有無：0 */
	private static final String CHG_STB_UM_0 = "0";
	/** 文字列：台 */
	private static final String DAI = "台";
	/*start */
	/** STB追加：追加しない */
	private static final String STB_ADD_NS = "-1";
	/** STB選択値 「変更なし」*/
	private static final String STB_NO_CHG = "0";
	/** BSパススルー申込：有 */
	private static final String BS_PASS_AR = "1";
	/** 交換方法 宅配交換 */
	private static final String CHG_WAY_CD_TAKUHAI = "2";
	/*end */

	/**  2016/09/12 ANK-2985-00-00 add start */
	/** copyHakkoSodArray 申込番号 */
	private static final String TRANS_KEY_1_VALUE = CC_TITLE_FUSV013101 + "::mskm_no,:::" + KNYTCS_MSKM_NO;
	/** データ移送数 */
	private static final String DATA_TRANS_CNT = "1";
	/** 契約内容通知書オンラインフラグ 1:コース変更(ネット) */
	private static final String KNYTCS_ON_FLG_ARI = "1";
	/**  2016/09/12 ANK-2985-00-00 add end */

	/**
	 * コンストラクタ
	 */
	public FUSV0131_FUSV0131OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビＳＴＢ追加変更申込
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param bsptWribSvcCd BSパススルー 割引サービスコード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV013101CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String bsptWribSvcCd)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != UP_MAPPING_BEANELEM_CNT)
		{
			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("bspt_mskm_flg", bean[0].sendMessageString("ＢＳパススルー申込有無", X31CWebConst.DATABEAN_GET_VALUE));
		// ＳＹＳＩＤ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＹＳＩＤ
		parentMap.put("sysid", bean[0].sendMessageString("ＳＹＳＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.サービス契約番号
		parentMap.put("svc_kei_no", bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", bean[0].sendMessageString("サービス契約回線内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.請求契約番号
		parentMap.put("seiky_kei_no", bean[0].sendMessageString("請求契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 提供方式契約番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.提供方式契約番号
		parentMap.put("tk_hoshiki_kei_no", bean[0].sendMessageString("提供方式契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 最終更新年月日時分秒（サービス契約） → ｅｏ光テレビＳＴＢ追加変更申込マップ.最終更新年月日時分秒＿サービス契約
		parentMap.put("last_upd_dtm_kei", bean[0].sendMessageString("最終更新年月日時分秒（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));
		// 最終更新年月日時分秒＿ＶＯＮＵ → ｅｏ光テレビＳＴＢ追加変更申込マップ.最終更新年月日時分秒＿ＶＯＮＵ
		parentMap.put("last_upd_dtm_vonu", bean[0].sendMessageString("最終更新年月日時分秒＿ＶＯＮＵ", X31CWebConst.DATABEAN_GET_VALUE));
		// サービスコード（サービス契約） → ｅｏ光テレビＳＴＢ追加変更申込マップ.サービスコード
		parentMap.put("svc_cd", bean[0].sendMessageString("サービスコード（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金グループ（サービス契約） → ｅｏ光テレビＳＴＢ追加変更申込マップ.料金グループコード
		parentMap.put("prc_grp_cd", bean[0].sendMessageString("料金グループ（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コース（サービス契約） → ｅｏ光テレビＳＴＢ追加変更申込マップ.料金コースコード
		parentMap.put("pcrs_cd", bean[0].sendMessageString("料金コース（サービス契約）", X31CWebConst.DATABEAN_GET_VALUE));
		// オーナー契約番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.オーナー契約番号
		parentMap.put("ownr_kei_no", bean[0].sendMessageString("オーナー契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 氏名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.お客様名
		parentMap.put("cust_nm", bean[0].sendMessageString("氏名", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様名カナ → ｅｏ光テレビＳＴＢ追加変更申込マップ.お客様名カナ
		parentMap.put("cust_kana", bean[0].sendMessageString("お客様名カナ", X31CWebConst.DATABEAN_GET_VALUE));
		// 電話番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.お客様自宅電話番号
		if (JFUWebCommon.isNull(bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 異なる電話番号未入力時
			parentMap.put("cust_home_tel_no", bean[0].sendMessageString("電話番号（表示用）", X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 異なる電話番号入力時
			parentMap.put("cust_home_tel_no", bean[0].sendMessageString("電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		}
		// 携帯電話／ＰＨＳ番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.お客様携帯電話番号
		if (JFUWebCommon.isNull(bean[0].sendMessageString("携帯電話／ＰＨＳ番号", X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 異なる携帯電話／ＰＨＳ番号未入力時
			parentMap.put("cust_ktai_tel_no", bean[0].sendMessageString("携帯電話／ＰＨＳ番号（表示用）", X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 異なる携帯電話／ＰＨＳ番号入力時
			parentMap.put("cust_ktai_tel_no", bean[0].sendMessageString("携帯電話／ＰＨＳ番号", X31CWebConst.DATABEAN_GET_VALUE));
		}		
		// 契約者電話番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.お客様連絡先電話番号
		parentMap.put("cust_rrks_tel_no", bean[0].sendMessageString("契約者電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 勤務先名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.連絡先勤務先名
		parentMap.put("rrks_offc_nm", bean[0].sendMessageString("勤務先名", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者住所コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者住所コード
		parentMap.put("keisha_ad_cd", bean[0].sendMessageString("契約者住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者郵便番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者郵便番号
		parentMap.put("keisha_pcd", bean[0].sendMessageString("契約者郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者都道府県名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者都道府県名
		parentMap.put("keisha_state_nm", bean[0].sendMessageString("契約者都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者市区町村名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者市区町村名
		parentMap.put("keisha_city_nm", bean[0].sendMessageString("契約者市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者大字通称名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者大字通称名
		parentMap.put("keisha_oaztsu_nm", bean[0].sendMessageString("契約者大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者字丁目名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者字丁目名
		parentMap.put("keisha_azcho_nm", bean[0].sendMessageString("契約者字丁目名", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者番地号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者住所番地号
		parentMap.put("keisha_ad_bnchigo", bean[0].sendMessageString("契約者番地号", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者住所補記・建物名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者住所補記・建物名
		parentMap.put("keisha_adrttm", bean[0].sendMessageString("契約者住所補記・建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者住所補記・部屋番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.契約者住所補記・部屋番号
		parentMap.put("keisha_adrrm", bean[0].sendMessageString("契約者住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.場所番号
		parentMap.put("place_no", bean[0].sendMessageString("回線場所番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所住所コード
		parentMap.put("setplace_ad_cd", bean[0].sendMessageString("回線場所住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所郵便番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所郵便番号
		parentMap.put("setplace_pcd", bean[0].sendMessageString("回線場所郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所都道府県名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所都道府県名
		parentMap.put("setplace_state_nm", bean[0].sendMessageString("回線場所都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所市区町村名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所市区町村名
		parentMap.put("setplace_city_nm", bean[0].sendMessageString("回線場所市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所大字通称名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所大字通称名
		parentMap.put("setplace_oaztsu_nm", bean[0].sendMessageString("回線場所大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所字丁目名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所字丁目名
		parentMap.put("setplace_azcho_nm", bean[0].sendMessageString("回線場所字丁目名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所番地号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所住所番地号
		parentMap.put("setplace_ad_bnchigo", bean[0].sendMessageString("回線場所番地号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・建物名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所住所補記・建物名
		parentMap.put("setplace_adrttm", bean[0].sendMessageString("回線場所住所補記・建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・部屋番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.設置場所住所補記・部屋番号
		parentMap.put("setplace_adrrm", bean[0].sendMessageString("回線場所住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所未確定フラグ → ｅｏ光テレビＳＴＢ追加変更申込マップ.工事先住所未確定フラグ
		parentMap.put("koji_saki_ad_mi_fix_flg", bean[0].sendMessageString("回線場所住所未確定フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所電話番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.回線場所電話番号
		parentMap.put("kaisen_place_telno", bean[0].sendMessageString("回線場所電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 経度 → ｅｏ光テレビＳＴＢ追加変更申込マップ.経度
		parentMap.put("lgtd", bean[0].sendMessageString("経度", X31CWebConst.DATABEAN_GET_VALUE));
		// 緯度 → ｅｏ光テレビＳＴＢ追加変更申込マップ.緯度
		parentMap.put("lttd", bean[0].sendMessageString("緯度", X31CWebConst.DATABEAN_GET_VALUE));
		// 座標補正有無 → ｅｏ光テレビＳＴＢ追加変更申込マップ.座標補正有無
		parentMap.put("zahyo_hosei_um", bean[0].sendMessageString("座標補正有無", X31CWebConst.DATABEAN_GET_VALUE));
		// 住所形態コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.住所形態コード
		parentMap.put("ad_form_cd", bean[0].sendMessageString("住所形態コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 集合住宅入居階数コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.入居階数コード
		parentMap.put("nyukyo_flr_cnt_cd", bean[0].sendMessageString("集合住宅入居階数コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 戸建建築階数コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.建築階数コード
		parentMap.put("kcku_flr_cnt_cd", bean[0].sendMessageString("戸建建築階数コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 方角コード１ → ｅｏ光テレビＳＴＢ追加変更申込マップ.方角コード１
		parentMap.put("direction_cd_1", bean[0].sendMessageString("方角コード１", X31CWebConst.DATABEAN_GET_VALUE));
		// 方角コード２ → ｅｏ光テレビＳＴＢ追加変更申込マップ.方角コード２
		parentMap.put("direction_cd_2", bean[0].sendMessageString("方角コード２", X31CWebConst.DATABEAN_GET_VALUE));
		// 工事範囲コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.工事範囲コード
		parentMap.put("koji_scope_cd", bean[0].sendMessageString("工事範囲コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 工事案件備考 → ｅｏ光テレビＳＴＢ追加変更申込マップ.工事案件備考
		parentMap.put("kojiak_biko", bean[0].sendMessageString("工事案件備考", X31CWebConst.DATABEAN_GET_VALUE));
		// 工事案件備考 → ｅｏ光テレビＳＴＢ追加変更申込マップ.工事案件備考１
		parentMap.put("kojiak_biko_1", getKojiAkBiko1(bean[0]));
		// サービス開始年月日 → ｅｏ光テレビＳＴＢ追加変更申込マップ.サービス開始年月日
		parentMap.put("svc_staymd", bean[0].sendMessageString("サービス開始年月日", X31CWebConst.DATABEAN_GET_VALUE));
		// マンション物件コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.マンション物件コード
		parentMap.put("mansion_bukken_cd", bean[0].sendMessageString("マンション物件コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 機器提供サービス契約番号（ＶＯＮＵ） → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器提供サービス契約番号＿ＶＯＮＵ
		parentMap.put("v_onu_no", bean[0].sendMessageString("機器提供サービス契約番号（ＶＯＮＵ）", X31CWebConst.DATABEAN_GET_VALUE));
		// 料金コースコード＿ＶＯＮＵ → ｅｏ光テレビＳＴＢ追加変更申込マップ.料金コースコード＿ＶＯＮＵ
		parentMap.put("vonu_pcrs_cd", bean[0].sendMessageString("料金コースコード＿ＶＯＮＵ", X31CWebConst.DATABEAN_GET_VALUE));
		// ＨＤＤ容量コード＿ＶＯＮＵ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＨＤＤ容量コード＿ＶＯＮＵ
		parentMap.put("vonu_hdd_capa_cd", bean[0].sendMessageString("ＨＤＤ容量コード＿ＶＯＮＵ", X31CWebConst.DATABEAN_GET_VALUE));
		// 宅内機器型式コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.宅内機器型式コード＿ＶＯＮＵ
		parentMap.put("vonu_taknkiki_model_cd", bean[0].sendMessageString("宅内機器型式コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 機器製造番号＿ＶＯＮＵ → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器製造番号＿ＶＯＮＵ
		parentMap.put("vonu_kiki_seizo_no", bean[0].sendMessageString("機器製造番号＿ＶＯＮＵ", X31CWebConst.DATABEAN_GET_VALUE));
		// 関電営業所番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.関電営業所番号
		parentMap.put("kepco_busioffice_no", bean[0].sendMessageString("関電営業所番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先場所番号
		parentMap.put("kiki_stc_saki_place_no", bean[0].sendMessageString("回線場所番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 氏名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先名
		parentMap.put("kiki_sohus_nm", bean[0].sendMessageString("氏名", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様名カナ → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先カナ名
		parentMap.put("kiki_sohus_kana", bean[0].sendMessageString("お客様名カナ", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先住所コード
		parentMap.put("kiki_sohus_ad_cd", bean[0].sendMessageString("回線場所住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所郵便番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先郵便番号
		parentMap.put("kiki_sohus_pcd", bean[0].sendMessageString("回線場所郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所都道府県名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先都道府県名
		parentMap.put("kiki_sohus_state_nm", bean[0].sendMessageString("回線場所都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所市区町村名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先市区町村名
		parentMap.put("kiki_sohus_city_nm", bean[0].sendMessageString("回線場所市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所大字通称名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先大字通称名
		parentMap.put("kiki_sohus_oaztsu_nm", bean[0].sendMessageString("回線場所大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所字丁目名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先字丁目名
		parentMap.put("kiki_sohus_azcho_nm", bean[0].sendMessageString("回線場所字丁目名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所番地号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先番地号
		parentMap.put("kiki_sohus_bnchigo", bean[0].sendMessageString("回線場所番地号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・建物名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先住所補記・建物名
		parentMap.put("kiki_sohus_adrttm", bean[0].sendMessageString("回線場所住所補記・建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・部屋番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先住所補記・部屋番号
		parentMap.put("kiki_sohus_adrrm", bean[0].sendMessageString("回線場所住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所電話番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先電話番号
		parentMap.put("kiki_sohus_telno", bean[0].sendMessageString("回線場所電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// マンション物件番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.マンション物件番号
		parentMap.put("mansion_bukken_no", bean[0].sendMessageString("マンション物件番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所契約者住所差異フラグ → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器送付先＿契約者住所差異フラグ
		parentMap.put("kiki_sohus_ksh_ad_sai_flg", bean[0].sendMessageString("回線場所契約者住所差異フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 氏名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先名
		parentMap.put("kiki_stc_saki_nm", bean[0].sendMessageString("氏名", X31CWebConst.DATABEAN_GET_VALUE));
		// お客様名カナ → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先カナ名
		parentMap.put("kiki_stc_saki_kana", bean[0].sendMessageString("お客様名カナ", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先住所コード
		parentMap.put("kiki_stc_saki_ad_cd", bean[0].sendMessageString("回線場所住所コード", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所郵便番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先郵便番号
		parentMap.put("kiki_stc_saki_pcd", bean[0].sendMessageString("回線場所郵便番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所都道府県名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先都道府県名
		parentMap.put("kiki_stc_saki_state_nm", bean[0].sendMessageString("回線場所都道府県名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所市区町村名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先市区町村名
		parentMap.put("kiki_stc_saki_city_nm", bean[0].sendMessageString("回線場所市区町村名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所大字通称名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先大字通称名
		parentMap.put("kiki_stc_saki_oaztsu_nm", bean[0].sendMessageString("回線場所大字通称名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所字丁目名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先字丁目名
		parentMap.put("kiki_stc_saki_azcho_nm", bean[0].sendMessageString("回線場所字丁目名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所番地号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先番地号
		parentMap.put("kiki_stc_saki_bnchigo", bean[0].sendMessageString("回線場所番地号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・建物名 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先住所補記・建物名
		parentMap.put("kiki_stc_saki_adrttm", bean[0].sendMessageString("回線場所住所補記・建物名", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所補記・部屋番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先住所補記・部屋番号
		parentMap.put("kiki_stc_saki_adrrm", bean[0].sendMessageString("回線場所住所補記・部屋番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所契約者住所差異フラグ → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先＿契約者住所差異フラグ
		parentMap.put("kiki_stc_sk_ksh_ad_sai_flg", bean[0].sendMessageString("回線場所契約者住所差異フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所電話番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先電話番号
		parentMap.put("kiki_stc_sk_telno", bean[0].sendMessageString("回線場所電話番号", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所区画整理中フラグ → ｅｏ光テレビＳＴＢ追加変更申込マップ.機器設置先区画整理中フラグ
		parentMap.put("kiki_sts_kkk_seiri_chu_flg", bean[0].sendMessageString("回線場所区画整理中フラグ", X31CWebConst.DATABEAN_GET_VALUE));
		// 回線場所住所未確定フラグ → ｅｏ光テレビＳＴＢ追加変更申込マップ.住所未確定フラグ
		parentMap.put("ad_mi_fix_flg", bean[0].sendMessageString("回線場所住所未確定フラグ", X31CWebConst.DATABEAN_GET_VALUE));

		// 進捗特記事項1
		parentMap.put(PRG_TKJK_1, createPrgAddTkjkFst(bean));

		beanTemp = bean[0];
		arraybean = beanTemp.getDataBeanArray("ＳＴＢ申込情報登録用リスト");
		if (parentMap.containsKey("cclist_stb_mskm_list"))
		{
			list = (ArrayList)parentMap.get("cclist_stb_mskm_list");
		}
		else
		{
			list = new ArrayList();
		}
		if (arraybean != null && arraybean.getCount() > 0)
		{
			for (int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
				HashMap childMap = null;
				if (list.size() - 1 >= i)
				{
					childMap = (HashMap)list.get(i);
				}
				else
				{
					childMap = new HashMap();
				}

				// ＳＴＢ申込情報登録用リスト.契約状態 → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.契約状態
				if (subbean != null)
				{
					childMap.put("status", subbean.sendMessageString("契約状態", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.内訳契約状態 → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.内訳契約状態
				if (subbean != null)
				{
					childMap.put("ucwk_status", subbean.sendMessageString("内訳契約状態", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.ＳＴＢ変更 → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.ＳＴＢ変更
				if (subbean != null)
				{
					childMap.put("chg_stb", subbean.sendMessageString("ＳＴＢ変更", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.レコード作成フラグ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.レコード作成フラグ
				if (subbean != null)
				{
					childMap.put("make_flg", subbean.sendMessageString("レコード作成フラグ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.サービス契約内訳番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.サービス契約内訳番号
				if (subbean != null)
				{
					childMap.put("svc_kei_ucwk_no", subbean.sendMessageString("サービス契約内訳番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.ＳＴＢ＿ＩＤ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.ＳＴＢ＿ＩＤ
				if (subbean != null)
				{
					childMap.put("stb_id", subbean.sendMessageString("ＳＴＢ＿ＩＤ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前料金プランコード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更前料金プランコード
				if (subbean != null)
				{
					childMap.put("old_pplan_cd", subbean.sendMessageString("変更前料金プランコード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前機器料金コースコード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更前機器料金コースコード
				if (subbean != null)
				{
					childMap.put("old_kiki_pcrs_cd", subbean.sendMessageString("変更前機器料金コースコード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前機器料金プランコード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更前機器料金プランコード
				if (subbean != null)
				{
					childMap.put("old_kiki_pplan_cd", subbean.sendMessageString("変更前機器料金プランコード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前ＨＤＤ容量コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更前ＨＤＤ容量コード
				if (subbean != null)
				{
					childMap.put("old_hdd_capa_cd", subbean.sendMessageString("変更前ＨＤＤ容量コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前機器製造番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.変更前機器製造番号
				if (subbean != null) {
					childMap.put("old_kkseizo_no_stb", subbean.sendMessageString("変更前機器製造番号", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前機器製造番号＿ＢＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.変更前機器製造番号＿ＢＣＡＳ
				if (subbean != null) {
					childMap.put("old_kkseizo_no_bcas", subbean.sendMessageString("変更前機器製造番号＿ＢＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前機器製造番号＿ＣＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.変更前機器製造番号＿ＣＣＡＳ
				if (subbean != null) {
					childMap.put("old_kkseizo_no_ccas", subbean.sendMessageString("変更前機器製造番号＿ＣＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前宅内機器型式コード＿ＳＴＢ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更前宅内機器型式コード＿ＳＴＢ
				if (subbean != null) {
					childMap.put("old_taknkiki_model_cd_stb", subbean.sendMessageString("変更前宅内機器型式コード＿ＳＴＢ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前宅内機器型式コード＿ＢＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更前宅内機器型式コード＿ＢＣＡＳ
				if (subbean != null) {
					childMap.put("old_taknkiki_model_cd_bcas", subbean.sendMessageString("変更前宅内機器型式コード＿ＢＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更前宅内機器型式コード＿ＣＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更前宅内機器型式コード＿ＣＣＡＳ
				if (subbean != null) {
					childMap.put("old_taknkiki_model_cd_ccas", subbean.sendMessageString("変更前宅内機器型式コード＿ＣＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更後料金コースコード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更後料金コースコード
				if (subbean != null)
				{
					childMap.put("new_pcrs_cd", subbean.sendMessageString("変更後料金コースコード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更後料金プランコード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更後料金プランコード
				if (subbean != null)
				{
					childMap.put("new_pplan_cd", subbean.sendMessageString("変更後料金プランコード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更後機器料金コースコード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更後機器料金コースコード
				if (subbean != null)
				{
					childMap.put("new_kiki_pcrs_cd", subbean.sendMessageString("変更後機器料金コースコード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更後機器料金プランコード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更後機器料金プランコード
				if (subbean != null)
				{
					childMap.put("new_kiki_pplan_cd", subbean.sendMessageString("変更後機器料金プランコード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更後ＨＤＤ容量コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更後ＨＤＤ容量コード
				if (subbean != null)
				{
					childMap.put("new_hdd_capa_cd", subbean.sendMessageString("変更後ＨＤＤ容量コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.変更後宅内機器型式コード → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.変更後宅内機器型式コード
				if (subbean != null)
				{
					childMap.put("new_taknkiki_model_cd", subbean.sendMessageString("変更後宅内機器型式コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.機器提供サービス契約番号＿ＳＴＢ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.機器提供サービス契約番号＿ＳＴＢ
				if (subbean != null)
				{
					childMap.put("kktk_svc_kei_no_stb", subbean.sendMessageString("機器提供サービス契約番号＿ＳＴＢ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.機器変更番号＿ＳＴＢ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.機器変更番号＿ＳＴＢ
				if (subbean != null) {
					childMap.put("kk_chg_no_stb", subbean.sendMessageString("機器変更番号＿ＳＴＢ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.機器提供サービス契約番号＿ＢＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.機器提供サービス契約番号＿ＢＣＡＳ
				if (subbean != null)
				{
					childMap.put("kktk_svc_kei_no_bcas", subbean.sendMessageString("機器提供サービス契約番号＿ＢＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.機器変更番号＿ＢＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.機器変更番号＿ＢＣＡＳ
				if (subbean != null) {
					childMap.put("kk_chg_no_bcas", subbean.sendMessageString("機器変更番号＿ＢＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.機器変更番号＿ＣＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.機器変更番号＿ＣＣＡＳ
				if (subbean != null) {
					childMap.put("kk_chg_no_ccas", subbean.sendMessageString("機器変更番号＿ＣＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.機器提供サービス契約番号＿ＣＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.機器提供サービス契約番号＿ＣＣＡＳ
				if (subbean != null)
				{
					childMap.put("kktk_svc_kei_no_ccas", subbean.sendMessageString("機器提供サービス契約番号＿ＣＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒 → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒
				if (subbean != null)
				{
					childMap.put("gene_add_dtm_pcrs", subbean.sendMessageString("世代登録年月日時分秒", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒＿ＳＴＢ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒＿ＳＴＢ
				if (subbean != null)
				{
					childMap.put("gene_add_dtm_stb", subbean.sendMessageString("世代登録年月日時分秒＿ＳＴＢ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒＿ＢＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒＿ＢＣＡＳ
				if (subbean != null)
				{
					childMap.put("gene_add_dtm_bcas", subbean.sendMessageString("世代登録年月日時分秒＿ＢＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒＿ＣＣＡＳ → ｅｏ光テレビＳＴＢ追加変更申込マップ.ＳＴＢ申込情報登録用リスト.世代登録年月日時分秒＿ＣＣＡＳ
				if (subbean != null)
				{
					childMap.put("gene_add_dtm_ccas", subbean.sendMessageString("世代登録年月日時分秒＿ＣＣＡＳ", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("cclist_stb_mskm_list", list);

		// キャンペーン文言一覧照会用のマッピングを追加
		String bspt_mskm_flg = bean[0].sendMessageString("ＢＳパススルー申込有無", X31CWebConst.DATABEAN_GET_VALUE);

		// ＢＳパススルー申込の場合かつ機能コードが登録の場合のみ、マッピングを行う
		if (BSPT_MSKM.equals(bspt_mskm_flg) && FUNC_CD_REG.equals(func_code))
		{
			// サービス契約番号 → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿サービス契約番号
			parentMap.put(KEY_CMP_SVC_KEI_NO, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
					CommonInfoCFConst.SVC_KEI_NO_23, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金コースコード → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿料金コースコード
			parentMap.put(KEY_CMP_PCRS_CD, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
					CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金プランコード → 割引サービス提供条件一覧照会マップ.ＫＥＹ＿料金プランコード
			parentMap.put(KEY_CMP_PPLAN_CD, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
					CommonInfoCFConst.PPLAN_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
			// 固定値 : BSパススルー → 割引サービスコード
			Map<String, String> wrsvAplyJknSbtCdMap = new HashMap<String, String>();
			wrsvAplyJknSbtCdMap.put(IN_PARAM_CMP_KEY_WRIB_SVC_CD, bsptWribSvcCd);
			List<Map<String, String>> wrsvAplyJknSbtCdList = new ArrayList<Map<String, String>>();
			wrsvAplyJknSbtCdList.add(wrsvAplyJknSbtCdMap);
			// 対象となるキャンペーンがＢＳパススルーだけを想定している為、ＢＳパススルーの割引サービス適用条件種別コードのみをリストに設定
			parentMap.put(KEY_CMP_WRSV_APLY_JKN_SBT_LIST, wrsvAplyJknSbtCdList);

			// 登録コードのセット
			parentMap.put(KEY_CMP_PROC_DIV, PROC_DIV_REG);
			// 料金グループコード → 割引サービス対象サービス一覧照会マップ.ＫＥＹ＿料金グループコード
			parentMap.put(KEY_CMP_PRC_GRP_CD, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
					CommonInfoCFConst.PRC_GRP_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
			// SYSID → 割引サービス契約登録マップ.ＫＥＹ＿SYSID
			parentMap.put(KEY_CMP_SYSID, bean[1].getDataBeanArray(JFUWebCommon.GEN_CUST_KEI_INFO).getDataBean(0).sendMessageString(
					CommonInfoCFConst.SYSID_22, X31CWebConst.DATABEAN_GET_VALUE));
			// 登録後の料金コースコード
			parentMap.put(KEY_CMP_CHGE_AF_PCRS_CD, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
					CommonInfoCFConst.PCRS_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
			// 登録後の料金プランコード
			parentMap.put(KEY_CMP_CHGE_AF_PPLAN_CD, bean[1].getDataBeanArray(JFUWebCommon.SVC_KEI_INFO).getDataBean(0).sendMessageString(
					CommonInfoCFConst.PPLAN_CD_23, X31CWebConst.DATABEAN_GET_VALUE));
			// 異動区分
			parentMap.put(KEY_CMP_IDO_DIV, JFUStrConst.CD00576_00018);
			// ＢＳパススルー申し込みフラグ
			parentMap.put(KEY_CMP_BSPT_MSKM_FLG, BSPT_MSKM);
		}

		// 交換宅配
		// 交換方法 → ｅｏ光テレビＳＴＢ追加変更申込マップ.交換方法
		parentMap.put("chg_way", bean[0].sendMessageString(FUW06802SFConst.CHG_WAY, X31CWebConst.DATABEAN_GET_VALUE));
		// 宅配交換希望日 → ｅｏ光テレビＳＴＢ追加変更申込マップ.宅配交換希望年月日
		parentMap.put("tk_chg_kibo_date", bean[0].sendMessageString(FUW06802SFConst.TK_CHG_KIBO_DATE, X31CWebConst.DATABEAN_GET_VALUE));
		if (!"2".equals(bean[0].sendMessageString(FUW06802SFConst.AD_FORM_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 連絡先電話番号 → 工事案件.他システム連携_工事連絡先電話番号
			parentMap.put("tsyrn_kj_rrks_tln", bean[0].sendMessageString(FUW06802SFConst.RRKS_TELNO, X31CWebConst.DATABEAN_GET_VALUE));
		}

		outputMap.put("FUSV013101CC", parentMap);

		return outputMap;
	}

	/**
	 * 進捗登録.進捗特記事項1を作成します。
	 * 
	 * <br>
	 * @param bean データBean配列
	 * @return 進捗特記事項1
	 */
	private String createPrgAddTkjkFst(X31SDataBeanAccess[] bean)
	{
		// 進捗特記事項1格納変数
		String prgTkjk1 = JFUStrConst.EMPTY;
		// BSPTフラグ
		String bsptFlg = bean[0].sendMessageString(FUW06802SFConst.BSPT_MSKM_FLG, X31CWebConst.DATABEAN_GET_VALUE);

		// 進捗特記事項1
		try
		{
			// BSPT申込判定
			if(BSPT_MSKM.equals(bsptFlg))
			{
				// BSPTの申し込みがある場合
				prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW06803, PRGADD_ID_0);
			}
			else
			{
				// 上記以外
				prgTkjk1 = JFUWebCommon.getPrgAddTkjkFst(JFUScreenConst.SCREEN_ID_FUW06803, PRGADD_ID_1);
			}

			// 文字列置換(契約中/契約中＋選択)
			prgTkjk1 = prgTkjk1.replace(REPLACE_STR_0, createStbMongon(bean, FUW06802SFConst.KEI_PCRS_CD_01));
			prgTkjk1 = prgTkjk1.replace(REPLACE_STR_1, createStbMongon(bean, FUW06802SFConst.PCRS_CD_01));

			if(prgTkjk1 == null || prgTkjk1.length() == 0)
			{
				// 値が設定されていない場合、ログに以下の文言を出す
				DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
			}
		}
		catch (Exception e)
		{
			// エラーの場合、ログに以下の文言を出す
			DEBUG_LOG.debug("※進捗特記事項1がXMLから正常に取得できませんでした。処理は続行します。");
		}

		return prgTkjk1;
	}

	/**
	 * 進捗特記事項1に設定する文言を作成します。
	 * 
	 * <br>
	 * @param bean データBean配列
	 * @param func_code 機能コード
	 * @return 文言
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private String createStbMongon(X31SDataBeanAccess[] bean, String func_code) throws Exception
	{
		// 文言格納変数
		StringBuffer stbMongon = new StringBuffer();
		// 定義取得
		Map<String, String> stbKikiNmMap = JFUWebCommon.getDispItemsAsMap(PATH_KIKI_NM, QUERY_ATTR_NAME);

		if(stbKikiNmMap == null || stbKikiNmMap.size() == 0)
		{
			// 定義が取得できていない場合、以降の処理を実行しない
			return JFUStrConst.EMPTY;
		}

		// 情報格納マップ
		HashMap kikiNmMap = new HashMap();
		HashMap kikiCntMap = new HashMap();

		// データBeanリスト格納用
		X31SDataBeanAccessArray allStbArray = bean[0].getDataBeanArray(FUW06802SFConst.CCLIST_STB_MSKM_LIST);

		if(allStbArray == null || allStbArray.getCount() == 0)
		{
			// データBeanリストが取得できていない場合、以降の処理を実行しない
			return JFUStrConst.EMPTY;
		}

		for (int i = 0; i < allStbArray.getCount(); i++)
		{
			X31SDataBeanAccess stbBean = allStbArray.getDataBean(i);

			// 契約中機器料金コースコード取得
			String kikiPcrsCd = JFUStrConst.EMPTY;
			// STB変更有無取得
			String chgStbUm = stbBean.sendMessageString(FUW06802SFConst.CHG_STB_05, X31CWebConst.DATABEAN_GET_VALUE);

			// 機器の料金コースコード取得
			if(FUW06802SFConst.KEI_PCRS_CD_01.equals(func_code))
			{
				// 登録前情報は契約機器の料金コースコードを条件に使用
				kikiPcrsCd = stbBean.sendMessageString(FUW06802SFConst.KEI_KIKI_PCRS_CD_05, X31CWebConst.DATABEAN_GET_VALUE);

				// 登録前情報設定処理で契約機器が取得できない場合、追加と見なし以降の処理を行わない
				if(kikiPcrsCd == null || kikiPcrsCd.length() == 0)
				{
					continue;
				}
			}
			else if(FUW06802SFConst.PCRS_CD_01.equals(func_code) && !CHG_STB_UM_0.equals(chgStbUm))
			{
				// 機器に変更がある場合の登録後情報は、選択機器の料金コースコードを条件に使用
				kikiPcrsCd = stbBean.sendMessageString(FUW06802SFConst.KIKI_PCRS_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else
			{
				// 機器に変更がない場合の登録後情報は、契約機器の料金コースコードを条件に使用
				kikiPcrsCd = stbBean.sendMessageString(FUW06802SFConst.KEI_KIKI_PCRS_CD_05, X31CWebConst.DATABEAN_GET_VALUE);
			}

			// 機器名
			String stbKikiNm = stbKikiNmMap.get(kikiPcrsCd);

			// 機器の料金コースコード、機器名のどちらがか取得できない場合、以降の処理をしない
			if(kikiPcrsCd == null || kikiPcrsCd.length() == 0 || stbKikiNm == null || stbKikiNm.length() == 0)
			{
				continue;
			}

			if(kikiNmMap.containsKey(kikiPcrsCd) && kikiCntMap.containsKey(kikiPcrsCd))
			{
				// マップにキー(機器の料金コースコード)があれば、カウントアップする
				int cnt = Integer.parseInt((String)kikiCntMap.get(kikiPcrsCd)) + 1;
				kikiCntMap.put(kikiPcrsCd, String.valueOf(cnt));
			}
			else
			{
				// マップにキー(機器の料金コースコード)が無ければ、新しく設定する
				kikiNmMap.put(kikiPcrsCd, stbKikiNm);
				kikiCntMap.put(kikiPcrsCd, String.valueOf(1));
			}
		}

		// 設定文字列を連結する
		if(kikiNmMap.size() == 0 && kikiCntMap.size() == 0)
		{
			// 0台の場合
			stbMongon.append(String.valueOf(0));
			stbMongon.append(DAI);
		}
		else if(kikiNmMap.size() > 0 && kikiCntMap.size() > 0)
		{
			// キー(料金コースコード)をソート(昇順)
			List keyList = new ArrayList();
			Iterator it = kikiNmMap.keySet().iterator();

			while(it.hasNext())
			{
				// マップからキーを取得
				String key = (String)it.next();
				keyList.add(key);
			}

			// キーリストをソート(昇順)
			Collections.sort(keyList);

			for (int i = 0; i < keyList.size(); i++)
			{
				// マップからキーを取得
				String key = (String)keyList.get(i);

				// 取得したキーで値を取得し、設定する文字列を連結する
				stbMongon.append((String)kikiNmMap.get(key));
				stbMongon.append(JFUStrConst.HALF_SPACE);
				stbMongon.append((String)kikiCntMap.get(key));
				stbMongon.append(DAI);
				stbMongon.append(JFUStrConst.HALF_SPACE);
			}
		}
		else
		{
			// 該当しない場合、空文字を設定する
			stbMongon.append(JFUStrConst.EMPTY);
		}

		// 最後のスペースを削除して値を返却する
		return stbMongon.toString().trim();
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビＳＴＢ追加変更申込
	 * @param outputMap アウトマップ
	 * @param func_code　機能コード
	 * @param bsptWribSvcCd BSパススルー割引サービスコード
	 * @return 結果マップ V-ONU無料フラグ
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV013103CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String bsptWribSvcCd) throws Exception
	{
		// 確認でない場合は実行しない
		if (!FUNC_CD_2.equals(func_code))
		{
			return null;
		}

		if (bean == null)
		{
			return null;
		}

		// STB追加フラグ
		boolean stbAddFlg = false;
		// STB交換フラグ
		boolean stbChgFlg = false;
		// V-ONU変更フラグ
		boolean vonuChgFlg = false;
		// 宅配交換フラグ
		boolean tkhiFlg = false;

		if(!STB_ADD_NS.equals(bean[0].sendMessageString(FUW06802SFConst.MSKM_STB_CNT, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// STB台数選択が「追加しない」以外の場合
			stbAddFlg = true;
		}

		X31SDataBeanAccessArray kikiChgList = bean[0].getDataBeanArray(FUW06802SFConst.KIKI_CNG_LIST);
		int kikiChgCnt = 0;
		// ループ：機器情報リスト(変更)件数分
		for (int i = 0; i < kikiChgList.getCount(); i++)
		{
			X31SDataBeanAccess kikiChgInfo = kikiChgList.getDataBean(i);

			String kikiSelectCd = kikiChgInfo.sendMessageString(FUW06802SFConst.SELECT_CD_02,  X31CWebConst.DATABEAN_GET_VALUE);

			if (!JFUStrConst.EMPTY.equals(kikiSelectCd) && !STB_NO_CHG.equals(kikiSelectCd))
			{
				kikiChgCnt++;
			}
		}

		if(kikiChgCnt > 0)
		{
			// STBが変更される場合
			stbChgFlg = true;
		}

		if(BS_PASS_AR.equals(bean[0].sendMessageString(FUW06802SFConst.BSPT_MSKM_FLG, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// ＢＳパススルー申込有の場合
			vonuChgFlg = true;
		}

		if(CHG_WAY_CD_TAKUHAI.equals(bean[0].sendMessageString(FUW06802SFConst.CHG_WAY, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 宅配交換の場合
			tkhiFlg = true;

			stbAddFlg = false;
			stbChgFlg = false;
			vonuChgFlg = false;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		ArrayList jknList = new ArrayList();
		HashMap jknMap = new HashMap();
		
//TODO: ANK-4307-00-00_【eo定期】プレミアムクラブリニューアル対応 一部廃止施策ありのため変更。マスタ設定により変更。 ---- start //
		if(stbAddFlg | stbChgFlg | vonuChgFlg)
		{
			// 工事が発生する場合
			// key_sysidを設定
			parentMap.put(JFUEoPremiumClubConst.KEY_SYSID, bean[0].sendMessageString(FUW06802SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));

			ArrayList kikiList = new ArrayList();
			if(stbAddFlg)
			{
				// STB追加の場合
				HashMap addKikiMap = new HashMap();
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿宅内機器種別コード 
				addKikiMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_SBT_CD, JFUStrConst.CD01262_A0);
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿設置撤去フラグ 
				addKikiMap.put(JFUEoPremiumClubConst.KEY_STC_TEKKYO_FLG, JFUStrConst.CD00772_1);
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿宅内機器異動コード
				addKikiMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_IDO_CD, JFUStrConst.CD00562_01);
				kikiList.add(addKikiMap);
			}
			if(stbChgFlg)
			{
				// STB変更の場合
				HashMap chgKikiMap = new HashMap();
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿宅内機器種別コード 
				chgKikiMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_SBT_CD, JFUStrConst.CD01262_A0);
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿設置撤去フラグ
				chgKikiMap.put(JFUEoPremiumClubConst.KEY_STC_TEKKYO_FLG, JFUStrConst.CD00772_1);
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿宅内機器異動コード
				chgKikiMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_IDO_CD, JFUStrConst.CD00562_02);
				kikiList.add(chgKikiMap);
			}
			if (vonuChgFlg && (JFUStrConst.EMPTY.equals(bsptWribSvcCd)))
			{
				// VONU変更の場合
				HashMap voneKikiMap = new HashMap();
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿宅内機器種別コード 
				voneKikiMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_SBT_CD, JFUStrConst.CD01262_E0);
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿設置撤去フラグ
				voneKikiMap.put(JFUEoPremiumClubConst.KEY_STC_TEKKYO_FLG, JFUStrConst.CD00772_1);
				// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿宅内機器異動コード
				voneKikiMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_IDO_CD, JFUStrConst.CD00562_02);
				kikiList.add(voneKikiMap);
			}
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト.ＫＥＹ＿ｅｏプレミアムクラブ施策申請条件種別コード
			jknMap.put(JFUEoPremiumClubConst.KEY_EOPRMCL_SSKSSJK_SBT_CD, JFUStrConst.CD01691_01);
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト.ＫＥＹ＿工事案件種別コード
			jknMap.put(JFUEoPremiumClubConst.KEY_KOJIAK_SBT_CD,  JFUStrConst.CD00577_013);
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト.ＫＥＹ＿宅内機器リスト
			jknMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_LIST, kikiList);

			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト追加
			jknList.add(jknMap);
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト設定
			parentMap.put(JFUEoPremiumClubConst.KEY_EOPRMCL_SNS_JKN_LST, jknList);
		}
		else if(tkhiFlg)
		{
			// 工事が発生しない、かつSTB交換(宅配)の場合
			// key_sysidを設定
			parentMap.put(JFUEoPremiumClubConst.KEY_SYSID, bean[0].sendMessageString(FUW06802SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト.ＫＥＹ＿ｅｏプレミアムクラブ施策申請条件種別コード
			jknMap.put(JFUEoPremiumClubConst.KEY_EOPRMCL_SSKSSJK_SBT_CD, JFUStrConst.CD01691_03);
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト.ＫＥＹ＿異動区分
			jknMap.put(JFUEoPremiumClubConst.KEY_IDO_DIV, JFUStrConst.CD00576_00028);
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト.ＫＥＹ＿異動予約詳細コード
			jknMap.put(JFUEoPremiumClubConst.KEY_IDO_RSV_DTL_CD, JFUStrConst.CD01167_029);

			//** IT2-2016-0000041対応 start **//
			ArrayList kikiList = new ArrayList();
			HashMap tkhiKikiMap = new HashMap();
			// ＫＥＹ＿宅内機器リスト.ＫＥＹ＿宅内機器種別コード 
			tkhiKikiMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_SBT_CD, JFUStrConst.CD01262_A0);
			kikiList.add(tkhiKikiMap);
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト.ＫＥＹ＿宅内機器リスト
			jknMap.put(JFUEoPremiumClubConst.KEY_TAKNKIKI_LIST, kikiList);
			//** IT2-2016-0000041対応 end **//

			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト追加
			jknList.add(jknMap);
			// ＫＥＹ＿ｅｏプレミアムクラブ申請条件リスト設定
			parentMap.put(JFUEoPremiumClubConst.KEY_EOPRMCL_SNS_JKN_LST, jknList);
		}
		else
		{
			parentMap.put(JFUEoPremiumClubConst.KEY_SYSID, new String());
		}
//TODO: ANK-4307-00-00_【eo定期】プレミアムクラブリニューアル対応 一部廃止施策ありのため変更。マスタ設定により変更。 ---- start //

		// ＫＥＹ＿サービス契約番号
		parentMap.put(JFUEoPremiumClubConst.KEY_SVC_KEI_NO, bean[0].sendMessageString(FUW06802SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿割引サービス一覧取得実行フラグ
		parentMap.put(JFUEoPremiumClubConst.KEY_WRIB_SHOKAI_FLG, JFUEoPremiumClubDsp.getWribShokaiFlg(JFUEoPremiumClubDsp.QUERY_PATH_WRIB_CHK_STVCHG));
		// ＫＥＹ＿オプションサービス契約取得実行フラグ
		parentMap.put(JFUEoPremiumClubConst.KEY_OPSVC_SHOKAI_FLG, JFUStrConst.EMPTY);

		// ＫＥＹ＿画面ID
		parentMap.put(JFUEoPremiumClubConst.KEY_SCREEN_ID, "FUW06803");

		outputMap.put(CC_TITLE_FUSV013103, parentMap);
		// 共通CCチェック用にマップを設定
		outputMap.put(CC_NAME_FUSV013103, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする
	 * @param bean　[0]：ｅｏ光テレビＳＴＢ追加変更申込
	 * @param outputMap アウトマップ
	 * @param func_code　機能コード
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV013104CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		// 登録でない場合は実行しない
		if (!FUNC_CD_1.equals(func_code))
		{
			return null;
		}

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		ArrayList list = new ArrayList();

		// SYSID → ｅｏ光テレビＳＴＢ追加変更申込マップ.SYSID
		parentMap.put(JFUEoPremiumClubConst.SYSID, bean[0].sendMessageString(FUW06802SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号 → ｅｏ光テレビＳＴＢ追加変更申込マップ.サービス契約番号
		parentMap.put(JFUEoPremiumClubConst.SVC_KEI_NO, bean[0].sendMessageString(FUW06802SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		X31SDataBeanAccessArray arraybean = bean[0].getDataBeanArray(FUW06802SFConst.TICKET_USE_SHIN_IRAI_LIST);

		int cnt = 0;
		if (arraybean != null && arraybean.getCount() > 0)
		{
// ANK-3099-00-00 AND START
			// チケット利用選択
			String ticUseSelect = bean[0].sendMessageString(FUW06802SFConst.TIC_USE_SELECT, X31CWebConst.DATABEAN_GET_VALUE);
			int sel = Integer.parseInt(ticUseSelect);
			
			// cnt=0はeoチケット申請無しなので削除
			arraybean.removeDataBean(cnt);
			sel--;
// ANK-3099-00-00 AND END
			while (cnt < arraybean.getCount())
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(cnt);

// ANK-3099-00-00 MOD START
//				// 利用選択
//				if (subbean == null || !subbean.sendMessageBoolean(FUW06802SFConst.USE_SELECT_15, X31CWebConst.DATABEAN_GET_VALUE))
				// 選ばれていないチケットは削除
				if (subbean == null || cnt != sel)
				{
					// 選択してないデータをリストから削除する
					arraybean.removeDataBean(cnt);
					sel--;
// ANK-3099-00-00 MOD END
					continue;
				}
				else
				{
					cnt++;
				}

				// 施策コード
				String sisakCd = subbean.sendMessageString(FUW06802SFConst.SISAK_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
				// キャンペーン登録契機コード
				String cmpAddOptntyCd = subbean.sendMessageString(FUW06802SFConst.CMP_ADD_OPTNTY_CD_15, 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(JFUEoPremiumClubConst.SISAK_CD, sisakcdL[idx]);
					// ｅｏ光テレビＳＴＢ追加変更申込み登録マップ.チケット利用申請依頼リスト.キャンペーン登録契機コード → チケット利用申請依頼リスト.キャンペーン登録契機コード
					childMap.put(JFUEoPremiumClubConst.CMP_ADD_OPTNTY_CD, cmpAddOptntyCdL[idx]);
					list.add(childMap);
				}
			}
		}
		parentMap.put(JFUEoPremiumClubConst.TICKET_USE_SHIN_IRAI_LIST, list);

		outputMap.put(CC_TITLE_FUSV013104, parentMap);

		// 共通CCチェック用にマップを設定
		outputMap.put(CC_NAME_FUSV013104, parentMap);

		return outputMap;
	}

	/**
	 * eoプレミアム施策一覧照会CCの下りマッピングをする
	 * @param bean　[0]：サービスフォームBean
	 * @param outputMap アウトマップ
	 * @param func_code　機能コード
	 * @param opeDate オンライン運用日付
	 * @return サービスBean配列
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public void getPremiumClubList(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code,
			String opeDate) throws Exception
	{

		// 確認でない場合は実行しない
		if (!FUNC_CD_2.equals(func_code))
		{
			return;
		}

		HashMap sif_result_map = null;

		if (outputMap.containsKey(CC_TITLE_FUSV013103))
		{
			sif_result_map = (HashMap)outputMap.get(CC_TITLE_FUSV013103);
		}

		// ■画面施策リスト表示パラメータ
		HashMap<String, Object> dsp_sisak_settei = new HashMap<String, Object>();

		// サービス契約番号
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_SVC_KEI_NO, bean[0].sendMessageString("サービス契約番号", X31CWebConst.DATABEAN_GET_VALUE));
		//  プロパティキー（定義体のフォームID）
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_PROP_KEY, "FUW06803");

		//  対象施策リスト（※設定無しの場合はマスタ取得内容となる）
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_TAISYO_SISAK_LIST, null);
		//  グループ施策リスト（チケット申請中チェック対象の施策コード）
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_GRP_SISAK_LIST, JFUEoPremiumClubDsp.getGroupSisakList(JFUEoPremiumClubDsp.QUERY_PATH_WRIB_CHK_STVCHG));

		//  オプションサービス判定用（おうちの機器補償）
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_OPSVCCD_MAP, null);

		// 施策除外リスト
		List<String> sisak_jgi_list = new ArrayList<String>();
		dsp_sisak_settei.put(JFUEoPremiumClubDsp.PARAM_SISAK_JGI_LIST, sisak_jgi_list);

		JFUEoPremiumClubDsp.getPremiumClubList(bean, dsp_sisak_settei, sif_result_map, opeDate);

	}

	/**
	 * 工事案件備考１を取得する
	 * @param bean データBean配列
	 * @return 工事案件備考１
	 */
	private String getKojiAkBiko1(X31SDataBeanAccess bean)
	{
		// 工事案件備考１を編集する
		StringBuffer kojiakBk1 = new StringBuffer(JFUStrConst.EMPTY);

		X31SDataBeanAccessArray arraybean = bean.getDataBeanArray(FUW06802SFConst.TICKET_USE_SHIN_IRAI_LIST);

		if (arraybean != null && arraybean.getCount() > 0)
		{
			for (int i = 0; i < arraybean.getCount(); i++)
			{
				X31SDataBeanAccess subbean = arraybean.getDataBean(i);
// ANK-3099-00-00 MOD START
//				// 利用選択
//				if (subbean != null && subbean.sendMessageBoolean(FUW06802SFConst.USE_SELECT_15, X31CWebConst.DATABEAN_GET_VALUE))
				String ticUseSelect = bean.sendMessageString(FUW06802SFConst.TIC_USE_SELECT, X31CWebConst.DATABEAN_GET_VALUE);
				// 選択されているチケット、かつ、eoチケット申請無し以外
				if (subbean != null && String.valueOf(i).equals(ticUseSelect) && 0 < i)
// ANK-3099-00-00 MOD END
				{
					kojiakBk1.append(JFUStrConst.HALF_SPACE).append(subbean.sendMessageString(FUW06802SFConst.KOJIAK_RRK_JIKO_HUKA_MNGN_15, X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
			if (kojiakBk1.toString().length() > 0)
			{
				return kojiakBk1.toString().substring(1);
			}
		}
		return JFUStrConst.EMPTY;
	}

	/**  2016/09/12 ANK-2985-00-00 add start */

	/**
	 * サービスIF結果データ移送(JFUTransferCC)の上りマッピング処理です。
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return 送信情報
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV013105CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		// 登録でない場合は実行しない
		if (!FUNC_CD_1.equals(func_code))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// データ移送数
		parentMap.put(KEY_KEY_CNT, DATA_TRANS_CNT);

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_FUSV013106);

		// ●申込番号
		// eo光テレビSTB追加変更申込CC(FUSV013101CC).申込番号を
		// 契約内容通知書登録CC(FUSV013106CC).申込番号に設定する。
		parentMap.put(TRANS_KEY_1, TRANS_KEY_1_VALUE);

		outputMap.put(CC_TITLE_FUSV013105, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピング項目設定(契約内容通知書登録CC)
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @param bl
	 * @return outputMap（上りマッピング）
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV013106CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, X31BWebBusinessLogic bl)
	{
		// 登録でない場合は実行しない
		if (!FUNC_CD_1.equals(func_code))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// 契約内容通知書オンラインフラグ
		parentMap.put(KNYTCS_KNYTCS_ON_FLG, KNYTCS_ON_FLG_ARI);
		// 異動区分
		parentMap.put(KNYTCS_IDO_DIV, JFUStrConst.CD00576_99998);
		// SYSID
		parentMap.put(KNYTCS_SYSID, bean[0].sendMessageString(FUW06802SFConst.SYSID, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号
		parentMap.put(KNYTCS_SVC_KEI_KAISEN_UCWK_NO, bean[0].sendMessageString(FUW06802SFConst.SVC_KEI_KAISEN_UCWK_NO,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 運用日
		parentMap.put(KNYTCS_UNYO_YMD, JFUWebCommon.getOpeDate(bl, null));
		// サービス契約番号(TV用)
		parentMap.put(KNYTCS_SVC_KEI_NO_TV, bean[0].sendMessageString(FUW06802SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_GET_VALUE));

		// 異動区分(TV用)
		if (CHG_WAY_CD_TAKUHAI.equals(bean[0].sendMessageString(FUW06802SFConst.CHG_WAY, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 宅配時
			parentMap.put(KNYTCS_IDO_DIV_TV, JFUStrConst.CD00576_00028);
		}
		else
		{
			// 宅配時以外
			parentMap.put(KNYTCS_IDO_DIV_TV, JFUStrConst.CD00576_00018);
		}

		outputMap.put(CC_TITLE_FUSV013106, parentMap);

		return outputMap;
	}
	/**  2016/09/12 ANK-2985-00-00 add end */
}